summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider/package
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-12-19 22:42:39 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-12-19 22:42:39 +0000
commit36e8d65bbdf236203741d3a3b0d98a1eb51a75a9 (patch)
treef636bea92fe2fcc101b6541f1f84524c742a00ba /lib/puppet/provider/package
parent115ec095357171381e2af3aa5ebbd61164b40064 (diff)
downloadpuppet-36e8d65bbdf236203741d3a3b0d98a1eb51a75a9.tar.gz
puppet-36e8d65bbdf236203741d3a3b0d98a1eb51a75a9.tar.xz
puppet-36e8d65bbdf236203741d3a3b0d98a1eb51a75a9.zip
Fixing #372 and #374. All is not perfect, since OS X still cannot set UID, but it is much better. There is still plenty of bug-fixing to do on other platforms, I expect.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1954 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/provider/package')
-rwxr-xr-xlib/puppet/provider/package/apple.rb2
-rwxr-xr-xlib/puppet/provider/package/darwinport.rb1
-rwxr-xr-xlib/puppet/provider/package/gem.rb20
3 files changed, 12 insertions, 11 deletions
diff --git a/lib/puppet/provider/package/apple.rb b/lib/puppet/provider/package/apple.rb
index 4238447a3..7f1c93e5b 100755
--- a/lib/puppet/provider/package/apple.rb
+++ b/lib/puppet/provider/package/apple.rb
@@ -44,7 +44,7 @@ Puppet::Type.type(:package).provide :apple do
self.fail "Mac OS X packages must specify a package source"
end
- installer "-pkg #{source} -target /"
+ installer "-pkg", source, "-target", "/"
end
end
diff --git a/lib/puppet/provider/package/darwinport.rb b/lib/puppet/provider/package/darwinport.rb
index 43e9bce5b..729371db5 100755
--- a/lib/puppet/provider/package/darwinport.rb
+++ b/lib/puppet/provider/package/darwinport.rb
@@ -21,6 +21,7 @@ Puppet::Type.type(:package).provide :darwinport do
}
hash.delete :location
+ hash[:provider] = self.name
yield hash.dup
else
raise Puppet::DevError,
diff --git a/lib/puppet/provider/package/gem.rb b/lib/puppet/provider/package/gem.rb
index 0fb55c67c..24f997613 100755
--- a/lib/puppet/provider/package/gem.rb
+++ b/lib/puppet/provider/package/gem.rb
@@ -6,16 +6,16 @@ Puppet::Type.type(:package).provide :gem do
commands :gem => "gem"
def self.gemlist(hash)
- command = "#{command(:gem)} list "
+ command = [command(:gem), "list"]
if hash[:local]
- command += "--local "
+ command << "--local"
else
- command += "--remote "
+ command << "--remote"
end
if name = hash[:justme]
- command += name
+ command << name
end
begin
@@ -61,17 +61,17 @@ Puppet::Type.type(:package).provide :gem do
end
def install(useversion = true)
- command = "install "
+ command = ["install"]
if (! @model.should(:ensure).is_a? Symbol) and useversion
- command += "-v %s " % @model.should(:ensure)
+ command << "-v" << @model.should(:ensure)
end
if source = @model[:source]
- command += source
+ command << source
else
- command += @model[:name]
+ command << @model[:name]
end
- gem command
+ gem(*command)
end
def latest
@@ -86,7 +86,7 @@ Puppet::Type.type(:package).provide :gem do
end
def uninstall
- gem "uninstall -x -a #{@model[:name]}"
+ gem "uninstall", "-x", "-a", @model[:name]
end
def update