diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-04-20 01:02:29 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-04-20 01:02:29 +0000 |
commit | 3f9e918ee20ae9f7002dab983eab16a1461decfd (patch) | |
tree | 793e451e353aa6567eabf2569e5ae81dfa65e2ff /lib | |
parent | c83bc9189ab8b5e9cb754d7228d8178cede0a37c (diff) | |
download | puppet-3f9e918ee20ae9f7002dab983eab16a1461decfd.tar.gz puppet-3f9e918ee20ae9f7002dab983eab16a1461decfd.tar.xz puppet-3f9e918ee20ae9f7002dab983eab16a1461decfd.zip |
Adding freebsd ports support
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1121 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/type.rb | 4 | ||||
-rw-r--r-- | lib/puppet/type/package.rb | 10 | ||||
-rwxr-xr-x | lib/puppet/type/package/openbsd.rb | 8 |
3 files changed, 16 insertions, 6 deletions
diff --git a/lib/puppet/type.rb b/lib/puppet/type.rb index afea4dfa6..612c3d13f 100644 --- a/lib/puppet/type.rb +++ b/lib/puppet/type.rb @@ -1702,8 +1702,8 @@ class Type < Puppet::Element # the other states matter. changes = [] if @states.include?(:ensure) and ! @states[:ensure].insync? - self.info "ensuring %s from %s" % - [@states[:ensure].should, @states[:ensure].is] + #self.info "ensuring %s from %s" % + # [@states[:ensure].should, @states[:ensure].is] changes = [Puppet::StateChange.new(@states[:ensure])] # Else, if the 'ensure' state is correctly absent, then do # nothing diff --git a/lib/puppet/type/package.rb b/lib/puppet/type/package.rb index 95bc17f35..ddf4f617d 100644 --- a/lib/puppet/type/package.rb +++ b/lib/puppet/type/package.rb @@ -104,9 +104,6 @@ module Puppet # Alias the 'present' value. aliasvalue(:installed, :present) - #newvalue(:installed) do - # self.set(:present) - #end newvalue(:latest) do unless @parent.respond_to?(:latest) @@ -144,6 +141,11 @@ module Puppet return true end when :latest + # Short-circuit packages that are not present + if @is == :absent + return false + end + unless @parent.respond_to?(:latest) self.fail( "Package type %s does not support specifying 'latest'" % @@ -396,7 +398,7 @@ module Puppet when "centos": @default = :rpm when "fedora": @default = :yum when "redhat": @default = :rpm - when "freebsd": @default = :freebsd + when "freebsd": @default = :ports when "openbsd": @default = :openbsd when "darwin": @default = :apple else diff --git a/lib/puppet/type/package/openbsd.rb b/lib/puppet/type/package/openbsd.rb index 56db2d0a3..dc88980bf 100755 --- a/lib/puppet/type/package/openbsd.rb +++ b/lib/puppet/type/package/openbsd.rb @@ -46,6 +46,7 @@ module Puppet def list packages = [] + debug "Executing %s" % listcmd().inspect # list out all of the packages open("| #{listcmd()}") { |process| # our regex for matching dpkg output @@ -72,6 +73,13 @@ module Puppet } } + # Mark any packages we didn't find as absent + Puppet.type(:package).each do |pkg| + unless packages.include? pkg + pkg.is = [:ensure, :absent] + end + end + return packages end |