class Packit::DpkgDeb

Public Instance Methods

package() click to toggle source
# File lib/packit/dpkg_deb.rb, line 7
def package
  build if @debconf.script
  prepare
  archive
end

Private Instance Methods

archive() click to toggle source
# File lib/packit/dpkg_deb.rb, line 41
def archive
  system("dpkg-deb --build #{@pkgdir}")
  #FileUtils.mv(
end
build() click to toggle source
# File lib/packit/dpkg_deb.rb, line 15
def build
  system(@debconf.script)
end
prepare() click to toggle source
# File lib/packit/dpkg_deb.rb, line 19
def prepare
  tmpdir = Dir.mktmpdir("dpkg-#{@debconf.name}")
  @pkgdir = File.join(tmpdir, "#{@debconf.name}_#{@debconf.version}")
  @prefix = @debconf.prefix || "/usr/local/#{@debconf.name}"
  @debconf.globs.each do |glob|
    Dir[glob].each do |entry|
      target = File.join(@pkgdir, @prefix, entry)
      if File.directory?(entry)
        FileUtils.mkdir_p(target)
      elsif File.file?(entry)
        FileUtils.mkdir_p(File.dirname(target))
        FileUtils.cp(entry, target)
      else
        fail "I can't handle #{entry} it is neither a file nore a directory"
      end
    end
  end
  @debdir = File.join(@pkgdir, 'DEBIAN')
  FileUtils.mkdir_p(@debdir)
  File.write(File.join(@debdir, 'control'), @control)
end