summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lathrop <paul@tertiusfamily.net>2008-03-25 09:49:36 -0700
committerPaul Lathrop <paul@tertiusfamily.net>2008-03-25 09:49:36 -0700
commite67e6b1f80c7e0d84bf1c77d179de28496d7a96c (patch)
tree6e8bd689e792785629c22cd5a6dfc96a016588bd
parent077312af8670cb035506aa4eefe3d7a677dac029 (diff)
parent55a9009cbffcfc4fe5f81c24192a3b44cd95dc47 (diff)
downloadpuppet-e67e6b1f80c7e0d84bf1c77d179de28496d7a96c.tar.gz
puppet-e67e6b1f80c7e0d84bf1c77d179de28496d7a96c.tar.xz
puppet-e67e6b1f80c7e0d84bf1c77d179de28496d7a96c.zip
Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
-rw-r--r--CHANGELOG5
-rwxr-xr-xlib/puppet/provider/package/openbsd.rb10
2 files changed, 14 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 387ae04e7..eb223d145 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+ Pass source to pkg_add via the PKG_PATH environment variable if
+ it ends in a '/' indicating it is a directory. Allows pkg_add
+ to resolve dependancies, and make it possible to specify packages
+ without version numbers.
+
Fixing #571 -- provider suitability is now checked at resource
evaluation time, rather than resource instantiation time. This
means that you don't catch your "errors" as early, but it also
diff --git a/lib/puppet/provider/package/openbsd.rb b/lib/puppet/provider/package/openbsd.rb
index 6c2e0895b..af590eb4d 100755
--- a/lib/puppet/provider/package/openbsd.rb
+++ b/lib/puppet/provider/package/openbsd.rb
@@ -2,6 +2,7 @@ require 'puppet/provider/package'
# Packaging on OpenBSD. Doesn't work anywhere else that I know of.
Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Package do
+ include Puppet::Util::Execution
desc "OpenBSD's form of ``pkg_add`` support."
commands :pkginfo => "pkg_info", :pkgadd => "pkg_add", :pkgdelete => "pkg_delete"
@@ -58,7 +59,14 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
"You must specify a package source for BSD packages"
end
- pkgadd @resource[:source]
+ if @resource[:source] =~ /\/$/
+ withenv :PKG_PATH => @resource[:source] do
+ pkgadd @resource[:name]
+ end
+ else
+ pkgadd @resource[:source]
+ end
+
end
def query