lib/puppet/provider/package/blastwave.rb in puppet-0.25.5 vs lib/puppet/provider/package/blastwave.rb in puppet-2.6.0
- old
+ new
@@ -1,118 +1,112 @@
# Packaging using Blastwave's pkg-get program.
Puppet::Type.type(:package).provide :blastwave, :parent => :sun, :source => :sun do
- desc "Package management using Blastwave.org's ``pkg-get`` command on Solaris."
- pkgget = "pkg-get"
- if FileTest.executable?("/opt/csw/bin/pkg-get")
- pkgget = "/opt/csw/bin/pkg-get"
- end
+ desc "Package management using Blastwave.org's ``pkg-get`` command on Solaris."
+ pkgget = "pkg-get"
+ pkgget = "/opt/csw/bin/pkg-get" if FileTest.executable?("/opt/csw/bin/pkg-get")
- confine :operatingsystem => :solaris
+ confine :operatingsystem => :solaris
- commands :pkgget => pkgget
+ commands :pkgget => pkgget
- def pkgget_with_cat(*args)
- Puppet::Util::Execution::withenv(:PAGER => "/usr/bin/cat") { pkgget(*args) }
+ def pkgget_with_cat(*args)
+ Puppet::Util::Execution::withenv(:PAGER => "/usr/bin/cat") { pkgget(*args) }
+ end
+
+ def self.extended(mod)
+ unless command(:pkgget) != "pkg-get"
+ raise Puppet::Error,
+ "The pkg-get command is missing; blastwave packaging unavailable"
end
- def self.extended(mod)
- unless command(:pkgget) != "pkg-get"
- raise Puppet::Error,
- "The pkg-get command is missing; blastwave packaging unavailable"
- end
-
- unless FileTest.exists?("/var/pkg-get/admin")
- Puppet.notice "It is highly recommended you create '/var/pkg-get/admin'."
- Puppet.notice "See /var/pkg-get/admin-fullauto"
- end
+ unless FileTest.exists?("/var/pkg-get/admin")
+ Puppet.notice "It is highly recommended you create '/var/pkg-get/admin'."
+ Puppet.notice "See /var/pkg-get/admin-fullauto"
end
+ end
- def self.instances(hash = {})
- blastlist(hash).collect do |bhash|
- bhash.delete(:avail)
- new(bhash)
- end
+ def self.instances(hash = {})
+ blastlist(hash).collect do |bhash|
+ bhash.delete(:avail)
+ new(bhash)
end
+ end
- # Turn our blastwave listing into a bunch of hashes.
- def self.blastlist(hash)
- command = ["-c"]
+ # Turn our blastwave listing into a bunch of hashes.
+ def self.blastlist(hash)
+ command = ["-c"]
- if hash[:justme]
- command << hash[:justme]
- end
+ command << hash[:justme] if hash[:justme]
- output = Puppet::Util::Execution::withenv(:PAGER => "/usr/bin/cat") { pkgget command }
+ output = Puppet::Util::Execution::withenv(:PAGER => "/usr/bin/cat") { pkgget command }
- list = output.split("\n").collect do |line|
- next if line =~ /^#/
- next if line =~ /^WARNING/
- next if line =~ /localrev\s+remoterev/
+ list = output.split("\n").collect do |line|
+ next if line =~ /^#/
+ next if line =~ /^WARNING/
+ next if line =~ /localrev\s+remoterev/
- blastsplit(line)
- end.reject { |h| h.nil? }
+ blastsplit(line)
+ end.reject { |h| h.nil? }
- if hash[:justme]
- return list[0]
- else
- list.reject! { |h|
- h[:ensure] == :absent
- }
- return list
- end
-
+ if hash[:justme]
+ return list[0]
+ else
+ list.reject! { |h|
+ h[:ensure] == :absent
+ }
+ return list
end
- # Split the different lines into hashes.
- def self.blastsplit(line)
- if line =~ /\s*(\S+)\s+((\[Not installed\])|(\S+))\s+(\S+)/
- hash = {}
- hash[:name] = $1
- hash[:ensure] = if $2 == "[Not installed]"
- :absent
- else
- $2
- end
- hash[:avail] = $5
+ end
- if hash[:avail] == "SAME"
- hash[:avail] = hash[:ensure]
- end
+ # Split the different lines into hashes.
+ def self.blastsplit(line)
+ if line =~ /\s*(\S+)\s+((\[Not installed\])|(\S+))\s+(\S+)/
+ hash = {}
+ hash[:name] = $1
+ hash[:ensure] = if $2 == "[Not installed]"
+ :absent
+ else
+ $2
+ end
+ hash[:avail] = $5
- # Use the name method, so it works with subclasses.
- hash[:provider] = self.name
+ hash[:avail] = hash[:ensure] if hash[:avail] == "SAME"
- return hash
- else
- Puppet.warning "Cannot match %s" % line
- return nil
- end
- end
+ # Use the name method, so it works with subclasses.
+ hash[:provider] = self.name
- def install
- pkgget_with_cat "-f", :install, @resource[:name]
+ return hash
+ else
+ Puppet.warning "Cannot match #{line}"
+ return nil
end
+ end
- # Retrieve the version from the current package file.
- def latest
- hash = self.class.blastlist(:justme => @resource[:name])
- hash[:avail]
- end
+ def install
+ pkgget_with_cat "-f", :install, @resource[:name]
+ end
- def query
- if hash = self.class.blastlist(:justme => @resource[:name])
- hash
- else
- {:ensure => :absent}
- end
- end
+ # Retrieve the version from the current package file.
+ def latest
+ hash = self.class.blastlist(:justme => @resource[:name])
+ hash[:avail]
+ end
- # Remove the old package, and install the new one
- def update
- pkgget_with_cat "-f", :upgrade, @resource[:name]
+ def query
+ if hash = self.class.blastlist(:justme => @resource[:name])
+ hash
+ else
+ {:ensure => :absent}
end
+ end
- def uninstall
- pkgget_with_cat "-f", :remove, @resource[:name]
- end
+ # Remove the old package, and install the new one
+ def update
+ pkgget_with_cat "-f", :upgrade, @resource[:name]
+ end
+
+ def uninstall
+ pkgget_with_cat "-f", :remove, @resource[:name]
+ end
end