diff options
Diffstat (limited to 'lib/puppet/provider/package/freebsd.rb')
-rwxr-xr-x | lib/puppet/provider/package/freebsd.rb | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/lib/puppet/provider/package/freebsd.rb b/lib/puppet/provider/package/freebsd.rb index 95d15c735..2f012a4ed 100755 --- a/lib/puppet/provider/package/freebsd.rb +++ b/lib/puppet/provider/package/freebsd.rb @@ -1,50 +1,50 @@ Puppet::Type.type(:package).provide :freebsd, :parent => :openbsd do - desc "The specific form of package management on FreeBSD. This is an - extremely quirky packaging system, in that it freely mixes between - ports and packages. Apparently all of the tools are written in Ruby, - so there are plans to rewrite this support to directly use those - libraries." + desc "The specific form of package management on FreeBSD. This is an + extremely quirky packaging system, in that it freely mixes between + ports and packages. Apparently all of the tools are written in Ruby, + so there are plans to rewrite this support to directly use those + libraries." - commands :pkginfo => "/usr/sbin/pkg_info", - :pkgadd => "/usr/sbin/pkg_add", - :pkgdelete => "/usr/sbin/pkg_delete" + commands :pkginfo => "/usr/sbin/pkg_info", + :pkgadd => "/usr/sbin/pkg_add", + :pkgdelete => "/usr/sbin/pkg_delete" - confine :operatingsystem => :freebsd + confine :operatingsystem => :freebsd - def self.listcmd - command(:pkginfo) - end + def self.listcmd + command(:pkginfo) + end - def install - should = @resource.should(:ensure) - - if @resource[:source] =~ /\/$/ - if @resource[:source] =~ /^(ftp|https?):/ - withenv :PACKAGESITE => @resource[:source] do - pkgadd "-r", @resource[:name] - end - else - withenv :PKG_PATH => @resource[:source] do - pkgadd @resource[:name] - end - end - else - Puppet.warning "source is defined but does not have trailing slash, ignoring #{@resource[:source]}" if @resource[:source] - pkgadd "-r", @resource[:name] - end - end + def install + should = @resource.should(:ensure) - def query - self.class.instances.each do |provider| - if provider.name == @resource.name - return provider.properties - end + if @resource[:source] =~ /\/$/ + if @resource[:source] =~ /^(ftp|https?):/ + withenv :PACKAGESITE => @resource[:source] do + pkgadd "-r", @resource[:name] end - nil + else + withenv :PKG_PATH => @resource[:source] do + pkgadd @resource[:name] + end + end + else + Puppet.warning "source is defined but does not have trailing slash, ignoring #{@resource[:source]}" if @resource[:source] + pkgadd "-r", @resource[:name] end + end - def uninstall - pkgdelete "#{@resource[:name]}-#{@resource.should(:ensure)}" + def query + self.class.instances.each do |provider| + if provider.name == @resource.name + return provider.properties + end end + nil + end + + def uninstall + pkgdelete "#{@resource[:name]}-#{@resource.should(:ensure)}" + end end |