From 92c6ff7a3c1554e93758f56cdae34cef0894755a Mon Sep 17 00:00:00 2001 From: Jakukyo Friel Date: Tue, 3 May 2016 22:18:30 +0800 Subject: [PATCH 1/2] Add `sudo` support for deb installer. --- lib/sprinkle/installers/deb.rb | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/sprinkle/installers/deb.rb b/lib/sprinkle/installers/deb.rb index e142c3d..6b25558 100644 --- a/lib/sprinkle/installers/deb.rb +++ b/lib/sprinkle/installers/deb.rb @@ -16,14 +16,25 @@ class Deb < PackageInstaller # install deb packages from an external URL # :call-seq: # deb(*package_urls) - auto_api :deb + api do + def deb(url, options = {}, &block) + install Deb.new(self, url, options, &block) + end + end + + attr_accessor :url #:nodoc: + + def initialize(parent, url, options = {}, &block) #:nodoc: + super parent, options, &block + @url = url + end protected def install_commands #:nodoc: [ - "wget -cq --directory-prefix=/tmp #{@packages.join(' ')}", - "dpkg -i #{@packages.collect{|p| "/tmp/#{package_name(p)}"}.join(" ")}" + "wget -cq --directory-prefix=/tmp #{@url}", + "#{sudo_cmd}dpkg -i /tmp/#{package_name(@url)}" ] end From 9208dbebff71503cbe87aa67d37fd51ace0f1feb Mon Sep 17 00:00:00 2001 From: Jakukyo Friel Date: Mon, 11 Jul 2016 18:00:13 +0800 Subject: [PATCH 2/2] deb: revert to `auto_api`. Now it should work with both `sudo` and multiple urls. --- lib/sprinkle/installers/deb.rb | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/lib/sprinkle/installers/deb.rb b/lib/sprinkle/installers/deb.rb index 6b25558..a6125a4 100644 --- a/lib/sprinkle/installers/deb.rb +++ b/lib/sprinkle/installers/deb.rb @@ -16,25 +16,14 @@ class Deb < PackageInstaller # install deb packages from an external URL # :call-seq: # deb(*package_urls) - api do - def deb(url, options = {}, &block) - install Deb.new(self, url, options, &block) - end - end - - attr_accessor :url #:nodoc: - - def initialize(parent, url, options = {}, &block) #:nodoc: - super parent, options, &block - @url = url - end + auto_api :deb protected def install_commands #:nodoc: [ - "wget -cq --directory-prefix=/tmp #{@url}", - "#{sudo_cmd}dpkg -i /tmp/#{package_name(@url)}" + "wget -cq --directory-prefix=/tmp #{@packages.join(' ')}", + "#{sudo_cmd}dpkg -i #{@packages.collect{|p| "/tmp/#{package_name(p)}"}.join(" ")}" ] end