class Dr::DebPackage
Public Class Methods
new(name, repo)
click to toggle source
Calls superclass method
# File lib/dr/debpackage.rb, line 36 def initialize(name, repo) super name, repo end
setup(repo, deb_file, force=false)
click to toggle source
# File lib/dr/debpackage.rb, line 8 def self.setup(repo, deb_file, force=false) dpkg = ShellCmd.new "dpkg-deb --field #{deb_file} Source", :tag => "dpkg" src_name = dpkg.out.chomp if src_name == "" dpkg = ShellCmd.new "dpkg-deb --field #{deb_file} Package", :tag => "dpkg" src_name = dpkg.out.chomp end deb_file_name = File.basename(deb_file) log :info, "Adding the #{deb_file_name.style "subpkg-name"} package" dpkg = ShellCmd.new "dpkg-deb --field #{deb_file} Version", :tag => "dpkg" version = dpkg.out.chomp deb_dir = "#{repo.location}/packages/#{src_name}/builds/#{version}" if File.exists?("#{deb_dir}/#{deb_file_name}") && !force raise "This deb file is already in the repo" end log :info, "Adding a build to the #{src_name.style "pkg-name"} source package" FileUtils.mkdir_p deb_dir FileUtils.cp "#{deb_file}", "#{deb_dir}/" log :info, "Signing the deb file" repo.sign_deb "#{deb_dir}/#{deb_file_name}" end
Public Instance Methods
build(branch=nil, force=false)
click to toggle source
# File lib/dr/debpackage.rb, line 40 def build(branch=nil, force=false) log :warn, "The sources of the #{@name.style "pkg-name"} package are " + "not managed by #{"dr".bright}" raise UnableToBuild.new "Unable to build the package" end