lib/sprinkle/installers/apt.rb in sprinkle-0.1.4 vs lib/sprinkle/installers/apt.rb in sprinkle-0.1.5
- old
+ new
@@ -1,19 +1,24 @@
module Sprinkle
module Installers
class Apt < Installer
attr_accessor :packages
- def initialize(parent, packages, &block)
+ def initialize(parent, *packages, &block)
super parent, &block
- packages = [packages] unless packages.is_a? Array
+ packages.flatten!
+
+ options = { :dependencies_only => false }
+ options.update(packages.pop) if packages.last.is_a?(Hash)
+
+ @command = options[:dependencies_only] ? 'build-dep' : 'install'
@packages = packages
end
protected
def install_commands
- "DEBCONF_TERSE='yes' DEBIAN_PRIORITY='critical' DEBIAN_FRONTEND=noninteractive apt-get -qyu install #{@packages.join(' ')}"
+ "DEBCONF_TERSE='yes' DEBIAN_PRIORITY='critical' DEBIAN_FRONTEND=noninteractive apt-get -qyu #{@command} #{@packages.join(' ')}"
end
end
end
end