summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider
diff options
context:
space:
mode:
authorMarkus Roberts <Markus@reality.com>2010-07-09 18:05:04 -0700
committerMarkus Roberts <Markus@reality.com>2010-07-09 18:05:04 -0700
commit9ee56f2e67be973da49b1d3f21de1bf87de35e6f (patch)
treeddab8c01509f47664c52c8a6b165bb5a974f138f /lib/puppet/provider
parent051bd98751d9d4bc97f93f66723d9b7a00c0cfb4 (diff)
Code smell: Inconsistent indentation and related formatting issues
* Replaced 163 occurances of defined\? +([@a-zA-Z_.0-9?=]+) with defined?(\1) This makes detecting subsequent patterns easier. 3 Examples: The code: if ! defined? @parse_config becomes: if ! defined?(@parse_config) The code: return @option_parser if defined? @option_parser becomes: return @option_parser if defined?(@option_parser) The code: if defined? @local and @local becomes: if defined?(@local) and @local * Eliminate trailing spaces. Replaced 428 occurances of ^(.*?) +$ with \1 1 file was skipped. test/ral/providers/host/parsed.rb because 0 * Replace leading tabs with an appropriate number of spaces. Replaced 306 occurances of ^(\t+)(.*) with Tabs are not consistently expanded in all environments. * Don't arbitrarily wrap on sprintf (%) operator. Replaced 143 occurances of (.*['"] *%) +(.*) with Splitting the line does nothing to aid clarity and hinders further refactorings. 3 Examples: The code: raise Puppet::Error, "Cannot create %s: basedir %s is a file" % [dir, File.join(path)] becomes: raise Puppet::Error, "Cannot create %s: basedir %s is a file" % [dir, File.join(path)] The code: Puppet.err "Will not start without authorization file %s" % Puppet[:authconfig] becomes: Puppet.err "Will not start without authorization file %s" % Puppet[:authconfig] The code: $stderr.puts "Could not find host for PID %s with status %s" % [pid, $?.exitstatus] becomes: $stderr.puts "Could not find host for PID %s with status %s" % [pid, $?.exitstatus] * Don't break short arrays/parameter list in two. Replaced 228 occurances of (.*) +(.*) with 3 Examples: The code: puts @format.wrap(type.provider(prov).doc, :indent => 4, :scrub => true) becomes: puts @format.wrap(type.provider(prov).doc, :indent => 4, :scrub => true) The code: assert(FileTest.exists?(daily), "Did not make daily graph for %s" % type) becomes: assert(FileTest.exists?(daily), "Did not make daily graph for %s" % type) The code: assert(prov.target_object(:first).read !~ /^notdisk/, "Did not remove thing from disk") becomes: assert(prov.target_object(:first).read !~ /^notdisk/, "Did not remove thing from disk") * If arguments must wrap, treat them all equally Replaced 510 occurances of lines ending in things like ...(foo, or ...(bar(1,3), with \1 \2 3 Examples: The code: midscope.to_hash(false), becomes: assert_equal( The code: botscope.to_hash(true), becomes: # bottomscope, then checking that we see the right stuff. The code: :path => link, becomes: * Replaced 4516 occurances of ^( *)(.*) with The present code base is supposed to use four-space indentation. In some places we failed to maintain that standard. These should be fixed regardless of the 2 vs. 4 space question. 15 Examples: The code: def run_comp(cmd) puts cmd results = [] old_sync = $stdout.sync $stdout.sync = true line = [] begin open("| #{cmd}", "r") do |f| until f.eof? do c = f.getc becomes: def run_comp(cmd) puts cmd results = [] old_sync = $stdout.sync $stdout.sync = true line = [] begin open("| #{cmd}", "r") do |f| until f.eof? do c = f.getc The code: s.gsub!(/.{4}/n, '\\\\u\&') } string.force_encoding(Encoding::UTF_8) string rescue Iconv::Failure => e raise GeneratorError, "Caught #{e.class}: #{e}" end else def utf8_to_pson(string) # :nodoc: string = string.gsub(/["\\\x0-\x1f]/) { MAP[$&] } string.gsub!(/( becomes: s.gsub!(/.{4}/n, '\\\\u\&') } string.force_encoding(Encoding::UTF_8) string rescue Iconv::Failure => e raise GeneratorError, "Caught #{e.class}: #{e}" end else def utf8_to_pson(string) # :nodoc: string = string.gsub(/["\\\x0-\x1f]/) { MAP[$&] } string.gsub!(/( The code: end } rvalues: rvalue | rvalues comma rvalue { if val[0].instance_of?(AST::ASTArray) result = val[0].push(val[2]) else result = ast AST::ASTArray, :children => [val[0],val[2]] end } becomes: end } rvalues: rvalue | rvalues comma rvalue { if val[0].instance_of?(AST::ASTArray) result = val[0].push(val[2]) else result = ast AST::ASTArray, :children => [val[0],val[2]] end } The code: #passwdproc = proc { @password } keytext = @key.export( OpenSSL::Cipher::DES.new(:EDE3, :CBC), @password ) File.open(@keyfile, "w", 0400) { |f| f << keytext } becomes: # passwdproc = proc { @password } keytext = @key.export( OpenSSL::Cipher::DES.new(:EDE3, :CBC), @password ) File.open(@keyfile, "w", 0400) { |f| f << keytext } The code: end def to_manifest "%s { '%s':\n%s\n}" % [self.type.to_s, self.name, @params.collect { |p, v| if v.is_a? Array " #{p} => [\'#{v.join("','")}\']" else " #{p} => \'#{v}\'" end }.join(",\n") becomes: end def to_manifest "%s { '%s':\n%s\n}" % [self.type.to_s, self.name, @params.collect { |p, v| if v.is_a? Array " #{p} => [\'#{v.join("','")}\']" else " #{p} => \'#{v}\'" end }.join(",\n") The code: via the augeas tool. Requires: - augeas to be installed (http://www.augeas.net) - ruby-augeas bindings Sample usage with a string:: augeas{\"test1\" : context => \"/files/etc/sysconfig/firstboot\", changes => \"set RUN_FIRSTBOOT YES\", becomes: via the augeas tool. Requires: - augeas to be installed (http://www.augeas.net) - ruby-augeas bindings Sample usage with a string:: augeas{\"test1\" : context => \"/files/etc/sysconfig/firstboot\", changes => \"set RUN_FIRSTBOOT YES\", The code: names.should_not be_include("root") end describe "when generating a purgeable resource" do it "should be included in the generated resources" do Puppet::Type.type(:host).stubs(:instances).returns [@purgeable_resource] @resources.generate.collect { |r| r.ref }.should include(@purgeable_resource.ref) end end describe "when the instance's do not have an ensure property" do becomes: names.should_not be_include("root") end describe "when generating a purgeable resource" do it "should be included in the generated resources" do Puppet::Type.type(:host).stubs(:instances).returns [@purgeable_resource] @resources.generate.collect { |r| r.ref }.should include(@purgeable_resource.ref) end end describe "when the instance's do not have an ensure property" do The code: describe "when the instance's do not have an ensure property" do it "should not be included in the generated resources" do @no_ensure_resource = Puppet::Type.type(:exec).new(:name => '/usr/bin/env echo') Puppet::Type.type(:host).stubs(:instances).returns [@no_ensure_resource] @resources.generate.collect { |r| r.ref }.should_not include(@no_ensure_resource.ref) end end describe "when the instance's ensure property does not accept absent" do it "should not be included in the generated resources" do @no_absent_resource = Puppet::Type.type(:service).new(:name => 'foobar') becomes: describe "when the instance's do not have an ensure property" do it "should not be included in the generated resources" do @no_ensure_resource = Puppet::Type.type(:exec).new(:name => '/usr/bin/env echo') Puppet::Type.type(:host).stubs(:instances).returns [@no_ensure_resource] @resources.generate.collect { |r| r.ref }.should_not include(@no_ensure_resource.ref) end end describe "when the instance's ensure property does not accept absent" do it "should not be included in the generated resources" do @no_absent_resource = Puppet::Type.type(:service).new(:name => 'foobar') The code: func = nil assert_nothing_raised do func = Puppet::Parser::AST::Function.new( :name => "template", :ftype => :rvalue, :arguments => AST::ASTArray.new( :children => [stringobj(template)] ) becomes: func = nil assert_nothing_raised do func = Puppet::Parser::AST::Function.new( :name => "template", :ftype => :rvalue, :arguments => AST::ASTArray.new( :children => [stringobj(template)] ) The code: assert( @store.allowed?("hostname.madstop.com", "192.168.1.50"), "hostname not allowed") assert( ! @store.allowed?("name.sub.madstop.com", "192.168.0.50"), "subname name allowed") becomes: assert( @store.allowed?("hostname.madstop.com", "192.168.1.50"), "hostname not allowed") assert( ! @store.allowed?("name.sub.madstop.com", "192.168.0.50"), "subname name allowed") The code: assert_nothing_raised { server = Puppet::Network::Handler.fileserver.new( :Local => true, :Config => false ) } becomes: assert_nothing_raised { server = Puppet::Network::Handler.fileserver.new( :Local => true, :Config => false ) } The code: 'yay', { :failonfail => false, :uid => @user.uid, :gid => @user.gid } ).returns('output') output = Puppet::Util::SUIDManager.run_and_capture 'yay', @user.uid, @user.gid becomes: 'yay', { :failonfail => false, :uid => @user.uid, :gid => @user.gid } ).returns('output') output = Puppet::Util::SUIDManager.run_and_capture 'yay', @user.uid, @user.gid The code: ).times(1) pkg.provider.expects( :aptget ).with( '-y', '-q', 'remove', 'faff' becomes: ).times(1) pkg.provider.expects( :aptget ).with( '-y', '-q', 'remove', 'faff' The code: johnny one two billy three four\n" # Just parse and generate, to make sure it's isomorphic. assert_nothing_raised do assert_equal(text, @parser.to_file(@parser.parse(text)), "parsing was not isomorphic") end end def test_valid_attrs becomes: johnny one two billy three four\n" # Just parse and generate, to make sure it's isomorphic. assert_nothing_raised do assert_equal(text, @parser.to_file(@parser.parse(text)), "parsing was not isomorphic") end end def test_valid_attrs The code: "testing", :onboolean => [true, "An on bool"], :string => ["a string", "A string arg"] ) result = [] should = [] assert_nothing_raised("Add args failed") do @config.addargs(result) end @config.each do |name, element| becomes: "testing", :onboolean => [true, "An on bool"], :string => ["a string", "A string arg"] ) result = [] should = [] assert_nothing_raised("Add args failed") do @config.addargs(result) end @config.each do |name, element|
Diffstat (limited to 'lib/puppet/provider')
-rw-r--r--lib/puppet/provider/augeas/augeas.rb22
-rwxr-xr-xlib/puppet/provider/cron/crontab.rb5
-rw-r--r--lib/puppet/provider/file/posix.rb4
-rw-r--r--lib/puppet/provider/file/win32.rb2
-rw-r--r--lib/puppet/provider/host/parsed.rb5
-rw-r--r--lib/puppet/provider/macauthorization/macauthorization.rb19
-rwxr-xr-xlib/puppet/provider/mailalias/aliases.rb15
-rw-r--r--lib/puppet/provider/mcx/mcxcontent.rb27
-rwxr-xr-xlib/puppet/provider/mount/parsed.rb8
-rw-r--r--lib/puppet/provider/nameservice.rb22
-rw-r--r--lib/puppet/provider/nameservice/directoryservice.rb84
-rw-r--r--lib/puppet/provider/package/aix.rb2
-rw-r--r--lib/puppet/provider/package/appdmg.rb14
-rwxr-xr-xlib/puppet/provider/package/apple.rb5
-rwxr-xr-xlib/puppet/provider/package/apt.rb2
-rw-r--r--lib/puppet/provider/package/aptrpm.rb12
-rwxr-xr-xlib/puppet/provider/package/dpkg.rb13
-rwxr-xr-xlib/puppet/provider/package/fink.rb2
-rwxr-xr-xlib/puppet/provider/package/freebsd.rb4
-rwxr-xr-xlib/puppet/provider/package/gem.rb6
-rw-r--r--lib/puppet/provider/package/hpux.rb4
-rw-r--r--lib/puppet/provider/package/nim.rb2
-rwxr-xr-xlib/puppet/provider/package/openbsd.rb12
-rw-r--r--lib/puppet/provider/package/pkg.rb14
-rw-r--r--lib/puppet/provider/package/pkgdmg.rb17
-rwxr-xr-xlib/puppet/provider/package/ports.rb6
-rw-r--r--lib/puppet/provider/package/portupgrade.rb474
-rwxr-xr-xlib/puppet/provider/package/rpm.rb12
-rwxr-xr-xlib/puppet/provider/package/sun.rb4
-rw-r--r--lib/puppet/provider/package/up2date.rb2
-rw-r--r--lib/puppet/provider/package/urpmi.rb12
-rwxr-xr-xlib/puppet/provider/package/yum.rb54
-rwxr-xr-xlib/puppet/provider/parsedfile.rb6
-rw-r--r--lib/puppet/provider/selboolean/getsetsebool.rb16
-rw-r--r--lib/puppet/provider/selmodule/semodule.rb18
-rwxr-xr-xlib/puppet/provider/service/base.rb13
-rw-r--r--lib/puppet/provider/service/daemontools.rb8
-rwxr-xr-xlib/puppet/provider/service/debian.rb4
-rw-r--r--lib/puppet/provider/service/freebsd.rb258
-rw-r--r--lib/puppet/provider/service/gentoo.rb6
-rwxr-xr-xlib/puppet/provider/service/init.rb5
-rw-r--r--lib/puppet/provider/service/launchd.rb50
-rwxr-xr-xlib/puppet/provider/service/redhat.rb6
-rw-r--r--lib/puppet/provider/service/runit.rb36
-rwxr-xr-xlib/puppet/provider/service/smf.rb5
-rwxr-xr-xlib/puppet/provider/service/src.rb8
-rw-r--r--lib/puppet/provider/ssh_authorized_key/parsed.rb5
-rwxr-xr-xlib/puppet/provider/sshkey/parsed.rb5
-rw-r--r--lib/puppet/provider/user/user_role_add.rb3
49 files changed, 678 insertions, 660 deletions
diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb
index 3a35c3241..163c864fa 100644
--- a/lib/puppet/provider/augeas/augeas.rb
+++ b/lib/puppet/provider/augeas/augeas.rb
@@ -31,17 +31,17 @@ Puppet::Type.type(:augeas).provide(:augeas) do
SAVE_OVERWRITE = "overwrite"
COMMANDS = {
- "set" => [ :path, :string ],
- "rm" => [ :path ],
- "clear" => [ :path ],
- "insert" => [ :string, :string, :path ],
- "get" => [ :path, :comparator, :string ],
- "match" => [ :path, :glob ],
- "size" => [:comparator, :int],
- "include" => [:string],
- "not_include" => [:string],
- "==" => [:glob],
- "!=" => [:glob]
+ "set" => [ :path, :string ],
+ "rm" => [ :path ],
+ "clear" => [ :path ],
+ "insert" => [ :string, :string, :path ],
+ "get" => [ :path, :comparator, :string ],
+ "match" => [ :path, :glob ],
+ "size" => [:comparator, :int],
+ "include" => [:string],
+ "not_include" => [:string],
+ "==" => [:glob],
+ "!=" => [:glob]
}
COMMANDS["ins"] = COMMANDS["insert"]
diff --git a/lib/puppet/provider/cron/crontab.rb b/lib/puppet/provider/cron/crontab.rb
index 6dee2e515..c7ccd190f 100755
--- a/lib/puppet/provider/cron/crontab.rb
+++ b/lib/puppet/provider/cron/crontab.rb
@@ -10,9 +10,12 @@ tab = case Facter.value(:operatingsystem)
end
-Puppet::Type.type(:cron).provide(:crontab,
+
+ Puppet::Type.type(:cron).provide(
+ :crontab,
:parent => Puppet::Provider::ParsedFile,
:default_target => ENV["USER"] || "root",
+
:filetype => tab
) do
commands :crontab => "crontab"
diff --git a/lib/puppet/provider/file/posix.rb b/lib/puppet/provider/file/posix.rb
index 43b745d37..63d80ead1 100644
--- a/lib/puppet/provider/file/posix.rb
+++ b/lib/puppet/provider/file/posix.rb
@@ -64,7 +64,7 @@ Puppet::Type.type(:file).provide :posix do
return false
end
end
-
+
def retrieve(resource)
unless stat = resource.stat(false)
return :absent
@@ -82,7 +82,7 @@ Puppet::Type.type(:file).provide :posix do
return currentvalue
end
-
+
def sync(path, links, should)
# Set our method appropriately, depending on links.
if links == :manage
diff --git a/lib/puppet/provider/file/win32.rb b/lib/puppet/provider/file/win32.rb
index 21cc2deff..da6db1e8c 100644
--- a/lib/puppet/provider/file/win32.rb
+++ b/lib/puppet/provider/file/win32.rb
@@ -6,7 +6,7 @@ Puppet::Type.type(:file).provide :microsoft_windows do
include Puppet::Util::Warnings
require 'sys/admin' if Puppet.features.microsoft_windows?
-
+
def id2name(id)
return id.to_s if id.is_a?(Symbol)
return nil if id > Puppet[:maximum_uid].to_i
diff --git a/lib/puppet/provider/host/parsed.rb b/lib/puppet/provider/host/parsed.rb
index d69dcbec4..f4282c5a6 100644
--- a/lib/puppet/provider/host/parsed.rb
+++ b/lib/puppet/provider/host/parsed.rb
@@ -7,9 +7,12 @@ else
hosts = "/etc/hosts"
end
-Puppet::Type.type(:host).provide(:parsed,
+
+ Puppet::Type.type(:host).provide(
+ :parsed,
:parent => Puppet::Provider::ParsedFile,
:default_target => hosts,
+
:filetype => :flat
) do
confine :exists => hosts
diff --git a/lib/puppet/provider/macauthorization/macauthorization.rb b/lib/puppet/provider/macauthorization/macauthorization.rb
index d1e2b229f..696b5bb82 100644
--- a/lib/puppet/provider/macauthorization/macauthorization.rb
+++ b/lib/puppet/provider/macauthorization/macauthorization.rb
@@ -37,10 +37,10 @@ Puppet::Type.type(:macauthorization).provide :macauthorization, :parent => Puppe
# This map exists due to the use of hyphens and reserved words in
# the authorization schema.
PuppetToNativeAttributeMap = { :allow_root => "allow-root",
- :authenticate_user => "authenticate-user",
- :auth_class => "class",
- :k_of_n => "k-of-n",
- :session_owner => "session-owner", }
+ :authenticate_user => "authenticate-user",
+ :auth_class => "class",
+ :k_of_n => "k-of-n",
+ :session_owner => "session-owner", }
class << self
attr_accessor :parsed_auth_db
@@ -196,8 +196,11 @@ Puppet::Type.type(:macauthorization).provide :macauthorization, :parent => Puppe
Plist::Emit.save_plist(values, tmp.path)
cmds = []
cmds << :security << "authorizationdb" << "write" << name
- output = execute(cmds, :combine => false,
- :stdinfile => tmp.path.to_s)
+
+ output = execute(
+ cmds, :combine => false,
+
+ :stdinfile => tmp.path.to_s)
rescue Errno::EACCES => e
raise Puppet::Error.new("Cannot save right to #{tmp.path}: #{e}")
ensure
@@ -285,8 +288,8 @@ Puppet::Type.type(:macauthorization).provide :macauthorization, :parent => Puppe
# case due to not being in the actual authorization db schema.
properties = [ :allow_root, :authenticate_user, :auth_class, :comment,
- :group, :k_of_n, :mechanisms, :rule, :session_owner,
- :shared, :timeout, :tries ]
+ :group, :k_of_n, :mechanisms, :rule, :session_owner,
+ :shared, :timeout, :tries ]
properties.each do |field|
define_method(field.to_s) do
diff --git a/lib/puppet/provider/mailalias/aliases.rb b/lib/puppet/provider/mailalias/aliases.rb
index f880ccea1..5b7f0e2ec 100755
--- a/lib/puppet/provider/mailalias/aliases.rb
+++ b/lib/puppet/provider/mailalias/aliases.rb
@@ -1,8 +1,11 @@
require 'puppet/provider/parsedfile'
-Puppet::Type.type(:mailalias).provide(:aliases,
+
+ Puppet::Type.type(:mailalias).provide(
+ :aliases,
:parent => Puppet::Provider::ParsedFile,
:default_target => "/etc/aliases",
+
:filetype => :flat
) do
text_line :comment, :match => /^#/
@@ -18,11 +21,11 @@ Puppet::Type.type(:mailalias).provide(:aliases,
end
def process(line)
- ret = {}
- records = line.split(':',2)
- ret[:name] = records[0].strip()
- ret[:recipient] = records[1].strip()
- ret
+ ret = {}
+ records = line.split(':',2)
+ ret[:name] = records[0].strip()
+ ret[:recipient] = records[1].strip()
+ ret
end
def to_line(record)
diff --git a/lib/puppet/provider/mcx/mcxcontent.rb b/lib/puppet/provider/mcx/mcxcontent.rb
index 002bb0dae..de60de15a 100644
--- a/lib/puppet/provider/mcx/mcxcontent.rb
+++ b/lib/puppet/provider/mcx/mcxcontent.rb
@@ -68,10 +68,13 @@ Puppet::Type.type(:mcx).provide :mcxcontent, :parent => Puppet::Provider do
Puppet.debug "/#{TypeMap[ds_type]}/#{ds_name} has no MCX data."
else
# This node has MCX data.
- rsrc = self.new(:name => "/#{TypeMap[ds_type]}/#{ds_name}",
- :ds_type => ds_type,
- :ds_name => ds_name,
- :content => content)
+
+ rsrc = self.new(
+ :name => "/#{TypeMap[ds_type]}/#{ds_name}",
+ :ds_type => ds_type,
+ :ds_name => ds_name,
+
+ :content => content)
mcx_list << rsrc
end
end
@@ -184,17 +187,23 @@ Puppet::Type.type(:mcx).provide :mcxcontent, :parent => Puppet::Provider do
def content
ds_parms = get_dsparams
- mcx = self.class.mcxexport(ds_parms[:ds_type],
- ds_parms[:ds_name])
+
+ mcx = self.class.mcxexport(
+ ds_parms[:ds_type],
+
+ ds_parms[:ds_name])
return mcx
end
def content=(value)
# dscl localhost -mcximport
ds_parms = get_dsparams
- mcx = mcximport(ds_parms[:ds_type],
- ds_parms[:ds_name],
- resource[:content])
+
+ mcx = mcximport(
+ ds_parms[:ds_type],
+ ds_parms[:ds_name],
+
+ resource[:content])
return mcx
end
diff --git a/lib/puppet/provider/mount/parsed.rb b/lib/puppet/provider/mount/parsed.rb
index b30de2bc7..1100ad62c 100755
--- a/lib/puppet/provider/mount/parsed.rb
+++ b/lib/puppet/provider/mount/parsed.rb
@@ -8,9 +8,12 @@ else
fstab = "/etc/fstab"
end
-Puppet::Type.type(:mount).provide(:parsed,
+
+ Puppet::Type.type(:mount).provide(
+ :parsed,
:parent => Puppet::Provider::ParsedFile,
:default_target => fstab,
+
:filetype => :flat
) do
include Puppet::Provider::Mount
@@ -21,8 +24,7 @@ Puppet::Type.type(:mount).provide(:parsed,
@platform = Facter["operatingsystem"].value
case @platform
when "Solaris"
- @fields = [:device, :blockdevice, :name, :fstype, :pass, :atboot,
- :options]
+ @fields = [:device, :blockdevice, :name, :fstype, :pass, :atboot, :options]
else
@fields = [:device, :name, :fstype, :options, :dump, :pass]
@fielddefaults = [ nil ] * 4 + [ "0", "2" ]
diff --git a/lib/puppet/provider/nameservice.rb b/lib/puppet/provider/nameservice.rb
index 57441ddf6..8a759e4f3 100644
--- a/lib/puppet/provider/nameservice.rb
+++ b/lib/puppet/provider/nameservice.rb
@@ -6,7 +6,7 @@ require 'puppet'
class Puppet::Provider::NameService < Puppet::Provider
class << self
def autogen_default(param)
- if defined? @autogen_defaults
+ if defined?(@autogen_defaults)
return @autogen_defaults[symbolize(param)]
else
return nil
@@ -36,7 +36,7 @@ class Puppet::Provider::NameService < Puppet::Provider
def option(name, option)
name = name.intern if name.is_a? String
- if defined? @options and @options.include? name and @options[name].include? option
+ if defined?(@options) and @options.include? name and @options[name].include? option
return @options[name][option]
else
return nil
@@ -45,8 +45,7 @@ class Puppet::Provider::NameService < Puppet::Provider
def options(name, hash)
unless resource_type.valid_parameter?(name)
- raise Puppet::DevError, "%s is not a valid attribute for %s" %
- [name, resource_type.name]
+ raise Puppet::DevError, "%s is not a valid attribute for %s" % [name, resource_type.name]
end
@options ||= {}
@options[name] ||= {}
@@ -93,7 +92,7 @@ class Puppet::Provider::NameService < Puppet::Provider
# This is annoying, but there really aren't that many options,
# and this *is* built into Ruby.
def section
- unless defined? @resource_type
+ unless defined?(@resource_type)
raise Puppet::DevError,
"Cannot determine Etc section without a resource type"
@@ -111,8 +110,7 @@ class Puppet::Provider::NameService < Puppet::Provider
if @checks.include? name
block = @checks[name][:block]
unless block.call(value)
- raise ArgumentError, "Invalid value %s: %s" %
- [value, @checks[name][:error]]
+ raise ArgumentError, "Invalid value %s: %s" % [value, @checks[name][:error]]
end
end
end
@@ -161,7 +159,7 @@ class Puppet::Provider::NameService < Puppet::Provider
end
# Make sure we don't use the same value multiple times
- if defined? @@prevauto
+ if defined?(@@prevauto)
@@prevauto += 1
else
Etc.send(group) { |obj|
@@ -179,7 +177,7 @@ class Puppet::Provider::NameService < Puppet::Provider
end
def create
- if exists?
+ if exists?
info "already exists"
# The object already exists
return nil
@@ -188,8 +186,7 @@ class Puppet::Provider::NameService < Puppet::Provider
begin
execute(self.addcmd)
rescue Puppet::ExecutionFailure => detail
- raise Puppet::Error, "Could not create %s %s: %s" %
- [@resource.class.name, @resource.name, detail]
+ raise Puppet::Error, "Could not create %s %s: %s" % [@resource.class.name, @resource.name, detail]
end
end
@@ -203,8 +200,7 @@ class Puppet::Provider::NameService < Puppet::Provider
begin
execute(self.deletecmd)
rescue Puppet::ExecutionFailure => detail
- raise Puppet::Error, "Could not delete %s %s: %s" %
- [@resource.class.name, @resource.name, detail]
+ raise Puppet::Error, "Could not delete %s %s: %s" % [@resource.class.name, @resource.name, detail]
end
end
diff --git a/lib/puppet/provider/nameservice/directoryservice.rb b/lib/puppet/provider/nameservice/directoryservice.rb
index b882e808a..1eb0aec6c 100644
--- a/lib/puppet/provider/nameservice/directoryservice.rb
+++ b/lib/puppet/provider/nameservice/directoryservice.rb
@@ -93,7 +93,7 @@ class DirectoryService < Puppet::Provider::NameService
# For example, if we're working with an user type, this will be /Users
# with a group type, this will be /Groups.
# @ds_path is an attribute of the class itself.
- if defined? @ds_path
+ if defined?(@ds_path)
return @ds_path
end
# JJM: "Users" or "Groups" etc ... (Based on the Puppet::Type)
@@ -104,7 +104,7 @@ class DirectoryService < Puppet::Provider::NameService
end
def self.get_macosx_version_major
- if defined? @macosx_version_major
+ if defined?(@macosx_version_major)
return @macosx_version_major
end
begin
@@ -115,7 +115,7 @@ class DirectoryService < Puppet::Provider::NameService
product_version_major = Facter.value(:macosx_productversion_major)
else
# TODO: remove this code chunk once we require Facter 1.5.5 or higher.
- Puppet.warning("DEPRECATION WARNING: Future versions of the directoryservice provider will require Facter 1.5.5 or newer.")
+ Puppet.warning("DEPRECATION WARNING: Future versions of the directoryservice provider will require Facter 1.5.5 or newer.")
product_version = Facter.value(:macosx_productversion)
if product_version.nil?
fail("Could not determine OS X version from Facter")
@@ -138,7 +138,7 @@ class DirectoryService < Puppet::Provider::NameService
begin
dscl_output = execute(get_exec_preamble("-list"))
rescue Puppet::ExecutionFailure => detail
- fail("Could not get %s list from DirectoryService" % [ @resource_type.name.to_s ])
+ fail("Could not get %s list from DirectoryService" % [ @resource_type.name.to_s ])
end
return dscl_output.split("\n")
end
@@ -155,12 +155,12 @@ class DirectoryService < Puppet::Provider::NameService
dscl_plist = {}
dscl_output.split("\n").inject([]) do |array, line|
- if line =~ /^\s+/ # it's a value
- array[-1] << line # add the value to the previous key
- else
- array << line
- end
- array
+ if line =~ /^\s+/ # it's a value
+ array[-1] << line # add the value to the previous key
+ else
+ array << line
+ end
+ array
end.compact
dscl_output.each do |line|
@@ -357,19 +357,19 @@ class DirectoryService < Puppet::Provider::NameService
end
def password=(passphrase)
- exec_arg_vector = self.class.get_exec_preamble("-read", @resource.name)
- exec_arg_vector << @@ns_to_ds_attribute_map[:guid]
- begin
- guid_output = execute(exec_arg_vector)
- guid_plist = Plist.parse_xml(guid_output)
- # Although GeneratedUID like all DirectoryService values can be multi-valued
- # according to the schema, in practice user accounts cannot have multiple UUIDs
- # otherwise Bad Things Happen, so we just deal with the first value.
- guid = guid_plist["dsAttrTypeStandard:#{@@ns_to_ds_attribute_map[:guid]}"][0]
- self.class.set_password(@resource.name, guid, passphrase)
- rescue Puppet::ExecutionFailure => detail
- fail("Could not set %s on %s[%s]: %s" % [param, @resource.class.name, @resource.name, detail])
- end
+ exec_arg_vector = self.class.get_exec_preamble("-read", @resource.name)
+ exec_arg_vector << @@ns_to_ds_attribute_map[:guid]
+ begin
+ guid_output = execute(exec_arg_vector)
+ guid_plist = Plist.parse_xml(guid_output)
+ # Although GeneratedUID like all DirectoryService values can be multi-valued
+ # according to the schema, in practice user accounts cannot have multiple UUIDs
+ # otherwise Bad Things Happen, so we just deal with the first value.
+ guid = guid_plist["dsAttrTypeStandard:#{@@ns_to_ds_attribute_map[:guid]}"][0]
+ self.class.set_password(@resource.name, guid, passphrase)
+ rescue Puppet::ExecutionFailure => detail
+ fail("Could not set %s on %s[%s]: %s" % [param, @resource.class.name, @resource.name, detail])
+ end
end
# NBK: we override @parent.set as we need to execute a series of commands
@@ -385,10 +385,10 @@ class DirectoryService < Puppet::Provider::NameService
# in the manifest.
if @resource[:auth_membership] and not current_members.nil?
remove_unwanted_members(current_members, value)
- end
+ end
- # if they're not a member, make them one.
- add_members(current_members, value)
+ # if they're not a member, make them one.
+ add_members(current_members, value)
else
exec_arg_vector = self.class.get_exec_preamble("-create", @resource[:name])
# JJM: The following line just maps the NS name to the DS name
@@ -424,14 +424,13 @@ class DirectoryService < Puppet::Provider::NameService
exec_arg_vector = self.class.get_exec_preamble("-create", @resource[:name])
exec_arg_vector << @@ns_to_ds_attribute_map[:guid] << guid
begin
- execute(exec_arg_vector)
+ execute(exec_arg_vector)
rescue Puppet::ExecutionFailure => detail
- fail("Could not set GeneratedUID for %s %s: %s" %
- [@resource.class.name, @resource.name, detail])
+ fail("Could not set GeneratedUID for %s %s: %s" % [@resource.class.name, @resource.name, detail])
end
if value = @resource.should(:password) and value != ""
- self.class.set_password(@resource[:name], guid, value)
+ self.class.set_password(@resource[:name], guid, value)
end
# Now we create all the standard properties
@@ -446,10 +445,9 @@ class DirectoryService < Puppet::Provider::NameService
next if property == :password # skip setting the password here
exec_arg_vector << value.to_s
begin
- execute(exec_arg_vector)
+ execute(exec_arg_vector)
rescue Puppet::ExecutionFailure => detail
- fail("Could not create %s %s: %s" %
- [@resource.class.name, @resource.name, detail])
+ fail("Could not create %s %s: %s" % [@resource.class.name, @resource.name, detail])
end
end
end
@@ -461,24 +459,24 @@ class DirectoryService < Puppet::Provider::NameService
if not new_members.include?(member)
cmd = [:dseditgroup, "-o", "edit", "-n", ".", "-d", member, @resource[:name]]
begin
- execute(cmd)
+ execute(cmd)
rescue Puppet::ExecutionFailure => detail
- fail("Could not remove %s from group: %s, %s" % [member, @resource.name, detail])
+ fail("Could not remove %s from group: %s, %s" % [member, @resource.name, detail])
end
- end
- end
+ end
+ end
end
def add_members(current_members, new_members)
new_members.each do |new_member|
- if current_members.nil? or not current_members.include?(new_member)
- cmd = [:dseditgroup, "-o", "edit", "-n", ".", "-a", new_member, @resource[:name]]
- begin
+ if current_members.nil? or not current_members.include?(new_member)
+ cmd = [:dseditgroup, "-o", "edit", "-n", ".", "-a", new_member, @resource[:name]]
+ begin
execute(cmd)
- rescue Puppet::ExecutionFailure => detail
+ rescue Puppet::ExecutionFailure => detail
fail("Could not add %s to group: %s, %s" % [new_member, @resource.name, detail])
- end
- end
+ end
+ end
end
end
diff --git a/lib/puppet/provider/package/aix.rb b/lib/puppet/provider/package/aix.rb
index 5cccdf376..385d33fac 100644
--- a/lib/puppet/provider/package/aix.rb
+++ b/lib/puppet/provider/package/aix.rb
@@ -43,7 +43,7 @@ Puppet::Type.type(:package).provide :aix, :parent => Puppet::Provider::Package d
previous = updates[current[:name]]
unless Puppet::Util::Package.versioncmp(previous[:version], current[:version]) == 1
- updates[ current[:name] ] = current
+ updates[ current[:name] ] = current
end
else
diff --git a/lib/puppet/provider/package/appdmg.rb b/lib/puppet/provider/package/appdmg.rb
index 352f8738f..a07b43f07 100644
--- a/lib/puppet/provider/package/appdmg.rb
+++ b/lib/puppet/provider/package/appdmg.rb
@@ -17,7 +17,7 @@ Puppet::Type.type(:package).provide(:appdmg, :parent => Puppet::Provider::Packag
desc "Package management which copies application bundles to a target."
confine :operatingsystem => :darwin
-
+
commands :hdiutil => "/usr/bin/hdiutil"
commands :curl => "/usr/bin/curl"
commands :ditto => "/usr/bin/ditto"
@@ -40,12 +40,12 @@ Puppet::Type.type(:package).provide(:appdmg, :parent => Puppet::Provider::Packag
end
def self.installapp(source, name, orig_source)
- appname = File.basename(source);
- ditto "--rsrc", source, "/Applications/#{appname}"
- File.open("/var/db/.puppet_appdmg_installed_#{name}", "w") do |t|
- t.print "name: '#{name}'\n"
- t.print "source: '#{orig_source}'\n"
- end
+ appname = File.basename(source);
+ ditto "--rsrc", source, "/Applications/#{appname}"
+ File.open("/var/db/.puppet_appdmg_installed_#{name}", "w") do |t|
+ t.print "name: '#{name}'\n"
+ t.print "source: '#{orig_source}'\n"
+ end
end
def self.installpkgdmg(source, name)
diff --git a/lib/puppet/provider/package/apple.rb b/lib/puppet/provider/package/apple.rb
index 063470fc4..9214d4eb5 100755
--- a/lib/puppet/provider/package/apple.rb
+++ b/lib/puppet/provider/package/apple.rb
@@ -13,9 +13,12 @@ Puppet::Type.type(:package).provide :apple, :parent => Puppet::Provider::Package
def self.instances
instance_by_name.collect do |name|
- self.new(
+
+ self.new(
+
:name => name,
:provider => :apple,
+
:ensure => :installed
)
end
diff --git a/lib/puppet/provider/package/apt.rb b/lib/puppet/provider/package/apt.rb
index c43bb4dfc..9ae2a861e 100755
--- a/lib/puppet/provider/package/apt.rb
+++ b/lib/puppet/provider/package/apt.rb
@@ -19,7 +19,7 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg, :source => :dpkg do
# install packages from remote sites.
def checkforcdrom
- unless defined? @@checkedforcdrom
+ unless defined?(@@checkedforcdrom)
if FileTest.exists? "/etc/apt/sources.list"
if File.read("/etc/apt/sources.list") =~ /^[^#]*cdrom:/
@@checkedforcdrom = true
diff --git a/lib/puppet/provider/package/aptrpm.rb b/lib/puppet/provider/package/aptrpm.rb
index 0471fb915..4b3841d88 100644
--- a/lib/puppet/provider/package/aptrpm.rb
+++ b/lib/puppet/provider/package/aptrpm.rb
@@ -12,12 +12,12 @@ Puppet::Type.type(:package).provide :aptrpm, :parent => :rpm, :source => :rpm do
if command('rpm')
confine :true => begin
- rpm('-ql', 'rpm')
- rescue Puppet::ExecutionFailure
- false
- else
- true
- end
+ rpm('-ql', 'rpm')
+ rescue Puppet::ExecutionFailure
+ false
+ else
+ true
+ end
end
# Install a package using 'apt-get'. This function needs to support
diff --git a/lib/puppet/provider/package/dpkg.rb b/lib/puppet/provider/package/dpkg.rb
index fda9e02fb..aaa277944 100755
--- a/lib/puppet/provider/package/dpkg.rb
+++ b/lib/puppet/provider/package/dpkg.rb
@@ -106,13 +106,15 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
# list out our specific package
begin
- output = dpkgquery("-W", "--showformat",
+
+ output = dpkgquery(
+ "-W", "--showformat",
+
'${Status} ${Package} ${Version}\\n', @resource[:name]
)
rescue Puppet::ExecutionFailure
# dpkg-query exits 1 if the package is not found.
- return {:ensure => :purged, :status => 'missing',
- :name => @resource[:name], :error => 'ok'}
+ return {:ensure => :purged, :status => 'missing', :name => @resource[:name], :error => 'ok'}
end
@@ -120,8 +122,7 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
if hash[:error] != "ok"
raise Puppet::Error.new(
- "Package %s, version %s is in error state: %s" %
- [hash[:name], hash[:ensure], hash[:error]]
+ "Package %s, version %s is in error state: %s" % [hash[:name], hash[:ensure], hash[:error]]
)
end
@@ -144,7 +145,7 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
tmpfile.flush
execute([:dpkg, "--set-selections"], :stdinfile => tmpfile.path.to_s)
}
- end
+ end
end
def unhold
diff --git a/lib/puppet/provider/package/fink.rb b/lib/puppet/provider/package/fink.rb
index 5d9e86313..d859c0e32 100755
--- a/lib/puppet/provider/package/fink.rb
+++ b/lib/puppet/provider/package/fink.rb
@@ -79,6 +79,6 @@ Puppet::Type.type(:package).provide :fink, :parent => :dpkg, :source => :dpkg do
def purge
aptget '-y', '-q', 'remove', '--purge', @resource[:name]
- end
+ end
end
diff --git a/lib/puppet/provider/package/freebsd.rb b/lib/puppet/provider/package/freebsd.rb
index f4ca35466..79316f80f 100755
--- a/lib/puppet/provider/package/freebsd.rb
+++ b/lib/puppet/provider/package/freebsd.rb
@@ -6,8 +6,8 @@ Puppet::Type.type(:package).provide :freebsd, :parent => :openbsd do
libraries."
commands :pkginfo => "/usr/sbin/pkg_info",
- :pkgadd => "/usr/sbin/pkg_add",
- :pkgdelete => "/usr/sbin/pkg_delete"
+ :pkgadd => "/usr/sbin/pkg_add",
+ :pkgdelete => "/usr/sbin/pkg_delete"
confine :operatingsystem => :freebsd
diff --git a/lib/puppet/provider/package/gem.rb b/lib/puppet/provider/package/gem.rb
index 56350fd36..9dca08d5c 100755
--- a/lib/puppet/provider/package/gem.rb
+++ b/lib/puppet/provider/package/gem.rb
@@ -4,9 +4,9 @@ require 'uri'
# Ruby gems support.
Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package do
desc "Ruby Gem support. If a URL is passed via ``source``, then that URL is used as the
- remote gem repository; if a source is present but is not a valid URL, it will be
- interpreted as the path to a local gem file. If source is not present at all,
- the gem will be installed from the default gem repositories."
+ remote gem repository; if a source is present but is not a valid URL, it will be
+ interpreted as the path to a local gem file. If source is not present at all,
+ the gem will be installed from the default gem repositories."
has_feature :versionable
diff --git a/lib/puppet/provider/package/hpux.rb b/lib/puppet/provider/package/hpux.rb
index 0c4fb36f0..76922dc09 100644
--- a/lib/puppet/provider/package/hpux.rb
+++ b/lib/puppet/provider/package/hpux.rb
@@ -7,8 +7,8 @@ Puppet::Type.type(:package).provide :hpux, :parent => Puppet::Provider::Package
desc "HP-UX's packaging system."
commands :swinstall => "/usr/sbin/swinstall",
- :swlist => "/usr/sbin/swlist",
- :swremove => "/usr/sbin/swremove"
+ :swlist => "/usr/sbin/swlist",
+ :swremove => "/usr/sbin/swremove"
confine :operatingsystem => "hp-ux"
diff --git a/lib/puppet/provider/package/nim.rb b/lib/puppet/provider/package/nim.rb
index 670136e6b..a798f338a 100644
--- a/lib/puppet/provider/package/nim.rb
+++ b/lib/puppet/provider/package/nim.rb
@@ -19,7 +19,7 @@ Puppet::Type.type(:package).provide :nim, :parent => :aix, :source => :aix do
def self.srclistcmd(source)
return [ command(:nimclient), "-o", "showres", "-a", "installp_flags=L", "-a", "resource=#{source}" ]
- end
+ end
def install(useversion = true)
unless source = @resource[:source]
diff --git a/lib/puppet/provider/package/openbsd.rb b/lib/puppet/provider/package/openbsd.rb
index 1c873fdad..254c9ab61 100755
--- a/lib/puppet/provider/package/openbsd.rb
+++ b/lib/puppet/provider/package/openbsd.rb
@@ -78,24 +78,24 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
end
def get_version
- begin
+ begin
execpipe([command(:pkginfo), " -I ", @resource[:name]]) do |process|
# our regex for matching pkg_info output
regex = /^(.*)-(\d[^-]*)[-]?(\D*)(.*)$/
fields = [ :name, :version, :flavor ]
master_version = 0
-
+
process.each do |line|
- if match = regex.match(line.split()[0])
+ if match = regex.match(line.split()[0])
# now we return the first version, unless ensure is latest
version = match.captures[1]
return version unless @resource[:ensure] == "latest"
-
+
master_version = version unless master_version > version
end
end
-
- return master_version unless master_version == 0
+
+ return master_version unless master_version == 0
raise Puppet::Error, "#{version} is not available for this package"
end
rescue Puppet::ExecutionFailure
diff --git a/lib/puppet/provider/package/pkg.rb b/lib/puppet/provider/package/pkg.rb
index 148ef0d62..7d21acb66 100644
--- a/lib/puppet/provider/package/pkg.rb
+++ b/lib/puppet/provider/package/pkg.rb
@@ -66,8 +66,7 @@ Puppet::Type.type(:package).provide :pkg, :parent => Puppet::Provider::Package d
when "installed"
version = v
else
- Puppet.warn "unknown package state for %s: %s" %
- [@resource[:name], v]
+ Puppet.warn "unknown package state for %s: %s" % [@resource[:name], v]
end
end
version
@@ -95,17 +94,14 @@ Puppet::Type.type(:package).provide :pkg, :parent => Puppet::Provider::Package d
rescue Puppet::ExecutionFailure
# pkg returns 1 if the package is not found.
return {:ensure => :absent, :status => 'missing',
- :name => @resource[:name], :error => 'ok'}
+ :name => @resource[:name], :error => 'ok'}
end
- hash = self.class.parse_line(output) ||
- {:ensure => :absent, :status => 'missing',
- :name => @resource[:name], :error => 'ok'}
+ hash = self.class.parse_line(output) ||
+ {:ensure => :absent, :status => 'missing', :name => @resource[:name], :error => 'ok'}
if hash[:error] != "ok"
- raise Puppet::Error.new(
- "Package %s, version %s is in error state: %s" %
- [hash[:name], hash[:version], hash[:error]])
+ raise Puppet::Error.new( "Package %s, version %s is in error state: %s" % [hash[:name], hash[:version], hash[:error]])
end
return hash
diff --git a/lib/puppet/provider/package/pkgdmg.rb b/lib/puppet/provider/package/pkgdmg.rb
index 25edc9109..4e9e50802 100644
--- a/lib/puppet/provider/package/pkgdmg.rb
+++ b/lib/puppet/provider/package/pkgdmg.rb
@@ -30,7 +30,7 @@ require 'facter/util/plist'
Puppet::Type.type(:package).provide :pkgdmg, :parent => Puppet::Provider::Package do
desc "Package management based on Apple's Installer.app and DiskUtility.app. This package works by checking the contents of a DMG image for Apple pkg or mpkg files. Any number of pkg or mpkg files may exist in the root directory of the DMG file system. Sub directories are not checked for packages. See `the wiki docs </trac/puppet/wiki/DmgPackages>` for more detail."
-
+
confine :operatingsystem => :darwin
defaultfor :operatingsystem => :darwin
commands :installer => "/usr/sbin/installer"
@@ -50,21 +50,24 @@ Puppet::Type.type(:package).provide :pkgdmg, :parent => Puppet::Provider::Packag
def self.instances
instance_by_name.collect do |name|
+
new(
+
:name => name,
:provider => :pkgdmg,
+
:ensure => :installed
)
end
end
def self.installpkg(source, name, orig_source)
- installer "-pkg", source, "-target", "/"
- # Non-zero exit status will throw an exception.
- File.open("/var/db/.puppet_pkgdmg_installed_#{name}", "w") do |t|
- t.print "name: '#{name}'\n"
- t.print "source: '#{orig_source}'\n"
- end
+ installer "-pkg", source, "-target", "/"
+ # Non-zero exit status will throw an exception.
+ File.open("/var/db/.puppet_pkgdmg_installed_#{name}", "w") do |t|
+ t.print "name: '#{name}'\n"
+ t.print "source: '#{orig_source}'\n"
+ end
end
def self.installpkgdmg(source, name)
diff --git a/lib/puppet/provider/package/ports.rb b/lib/puppet/provider/package/ports.rb
index 21696721e..16e065ef8 100755
--- a/lib/puppet/provider/package/ports.rb
+++ b/lib/puppet/provider/package/ports.rb
@@ -2,9 +2,9 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :fre
desc "Support for FreeBSD's ports. Again, this still mixes packages and ports."
commands :portupgrade => "/usr/local/sbin/portupgrade",
- :portversion => "/usr/local/sbin/portversion",
- :portuninstall => "/usr/local/sbin/pkg_deinstall",
- :portinfo => "/usr/sbin/pkg_info"
+ :portversion => "/usr/local/sbin/portversion",
+ :portuninstall => "/usr/local/sbin/pkg_deinstall",
+ :portinfo => "/usr/sbin/pkg_info"
defaultfor :operatingsystem => :freebsd
diff --git a/lib/puppet/provider/package/portupgrade.rb b/lib/puppet/provider/package/portupgrade.rb
index 531cab219..acdcab6f7 100644
--- a/lib/puppet/provider/package/portupgrade.rb
+++ b/lib/puppet/provider/package/portupgrade.rb
@@ -3,248 +3,248 @@
require 'puppet/provider/package'
Puppet::Type.type(:package).provide :portupgrade, :parent => Puppet::Provider::Package do
- include Puppet::Util::Execution
-
- desc "Support for FreeBSD's ports using the portupgrade ports management software.
- Use the port's full origin as the resource name. eg (ports-mgmt/portupgrade)
- for the portupgrade port."
-
- ## has_features is usually autodetected based on defs below.
- # has_features :installable, :uninstallable, :upgradeable
-
- commands :portupgrade => "/usr/local/sbin/portupgrade",
- :portinstall => "/usr/local/sbin/portinstall",
- :portversion => "/usr/local/sbin/portversion",
- :portuninstall => "/usr/local/sbin/pkg_deinstall",
- :portinfo => "/usr/sbin/pkg_info"
-
- ## Activate this only once approved by someone important.
- # defaultfor :operatingsystem => :freebsd
-
- # Remove unwanted environment variables.
- %w{INTERACTIVE UNAME}.each do |var|
- if ENV.include?(var)
- ENV.delete(var)
- end
- end
-
- ######## instances sub command (builds the installed packages list)
-
- def self.instances
- Puppet.debug "portupgrade.rb Building packages list from installed ports"
-
- # regex to match output from pkg_info
- regex = %r{^(\S+)-([^-\s]+):(\S+)$}
- # Corresponding field names
- fields = [:portname, :ensure, :portorigin]
- # define Temporary hash used, packages array of hashes
- hash = Hash.new
- packages = []
-
- # exec command
- cmdline = ["-aoQ"]
- begin
- output = portinfo(*cmdline)
- rescue Puppet::ExecutionFailure
- raise Puppet::Error.new(output)
- return nil
- end
-
- # split output and match it and populate temp hash
- output.split("\n").each { |data|
- # reset hash to nil for each line
- hash.clear
- if match = regex.match(data)
- # Output matched regex
- fields.zip(match.captures) { |field, value|
- hash[field] = value
- }
-
- # populate the actual :name field from the :portorigin
- # Set :provider to this object name
- hash[:name] = hash[:portorigin]
- hash[:provider] = self.name
-
- # Add to the full packages listing
- packages << new(hash)
-
- else
- # unrecognised output from pkg_info
- Puppet.debug "portupgrade.Instances() - unable to match output: %s" % data
- end
- }
-
- # return the packages array of hashes
- return packages
-
- end
-
- ######## Installation sub command
-
- def install
- Puppet.debug "portupgrade.install() - Installation call on %s" % @resource[:name]
- # -M: yes, we're a batch, so don't ask any questions
+ include Puppet::Util::Execution
+
+ desc "Support for FreeBSD's ports using the portupgrade ports management software.
+ Use the port's full origin as the resource name. eg (ports-mgmt/portupgrade)
+ for the portupgrade port."
+
+ ## has_features is usually autodetected based on defs below.
+ # has_features :installable, :uninstallable, :upgradeable
+
+ commands :portupgrade => "/usr/local/sbin/portupgrade",
+ :portinstall => "/usr/local/sbin/portinstall",
+ :portversion => "/usr/local/sbin/portversion",
+ :portuninstall => "/usr/local/sbin/pkg_deinstall",
+ :portinfo => "/usr/sbin/pkg_info"
+
+ ## Activate this only once approved by someone important.
+ # defaultfor :operatingsystem => :freebsd
+
+ # Remove unwanted environment variables.
+ %w{INTERACTIVE UNAME}.each do |var|
+ if ENV.include?(var)
+ ENV.delete(var)
+ end
+ end
+
+ ######## instances sub command (builds the installed packages list)
+
+ def self.instances
+ Puppet.debug "portupgrade.rb Building packages list from installed ports"
+
+ # regex to match output from pkg_info
+ regex = %r{^(\S+)-([^-\s]+):(\S+)$}
+ # Corresponding field names
+ fields = [:portname, :ensure, :portorigin]
+ # define Temporary hash used, packages array of hashes
+ hash = Hash.new
+ packages = []
+
+ # exec command
+ cmdline = ["-aoQ"]
+ begin
+ output = portinfo(*cmdline)
+ rescue Puppet::ExecutionFailure
+ raise Puppet::Error.new(output)
+ return nil
+ end
+
+ # split output and match it and populate temp hash
+ output.split("\n").each { |data|
+ # reset hash to nil for each line
+ hash.clear
+ if match = regex.match(data)
+ # Output matched regex
+ fields.zip(match.captures) { |field, value|
+ hash[field] = value
+ }
+
+ # populate the actual :name field from the :portorigin
+ # Set :provider to this object name
+ hash[:name] = hash[:portorigin]
+ hash[:provider] = self.name
+
+ # Add to the full packages listing
+ packages << new(hash)
+
+ else
+ # unrecognised output from pkg_info
+ Puppet.debug "portupgrade.Instances() - unable to match output: %s" % data
+ end
+ }
+
+ # return the packages array of hashes
+ return packages
+
+ end
+
+ ######## Installation sub command
+
+ def install
+ Puppet.debug "portupgrade.install() - Installation call on %s" % @resource[:name]
+ # -M: yes, we're a batch, so don't ask any questions
cmdline = ["-M BATCH=yes", @resource[:name]]
- # FIXME: it's possible that portinstall prompts for data so locks up.
- begin
- output = portinstall(*cmdline)
- rescue Puppet::ExecutionFailure
- raise Puppet::Error.new(output)
- end
-
- if output =~ /\*\* No such /
- raise Puppet::ExecutionFailure, "Could not find package %s" % @resource[:name]
- end
-
- # No return code required, so do nil to be clean
- return nil
- end
-
- ######## Latest subcommand (returns the latest version available, or current version if installed is latest)
-
- def latest
- Puppet.debug "portupgrade.latest() - Latest check called on %s" % @resource[:name]
- # search for latest version available, or return current version.
- # cmdline = "portversion -v <portorigin>", returns "<portname> <code> <stuff>"
- # or "** No matching package found: <portname>"
+ # FIXME: it's possible that portinstall prompts for data so locks up.
+ begin
+ output = portinstall(*cmdline)
+ rescue Puppet::ExecutionFailure
+ raise Puppet::Error.new(output)
+ end
+
+ if output =~ /\*\* No such /
+ raise Puppet::ExecutionFailure, "Could not find package %s" % @resource[:name]
+ end
+
+ # No return code required, so do nil to be clean
+ return nil
+ end
+
+ ######## Latest subcommand (returns the latest version available, or current version if installed is latest)
+
+ def latest
+ Puppet.debug "portupgrade.latest() - Latest check called on %s" % @resource[:name]
+ # search for latest version available, or return current version.
+ # cmdline = "portversion -v <portorigin>", returns "<portname> <code> <stuff>"
+ # or "** No matching package found: <portname>"
cmdline = ["-v", @resource[:name]]
- begin
- output = portversion(*cmdline)
- rescue Puppet::ExecutionFailure
- raise Puppet::Error.new(output)
- end
-
- # Check: output format.
- if output =~ /^\S+-([^-\s]+)\s+(\S)\s+(.*)/
- # $1 = installed version, $2 = comparison, $3 other data
- # latest installed
- installedversion = $1
- comparison = $2
- otherdata = $3
-
- # Only return a new version number when it's clear that there is a new version
- # all others return the current version so no unexpected 'upgrades' occur.
- case comparison
- when "=", ">"
- Puppet.debug "portupgrade.latest() - Installed package is latest (%s)" % installedversion
- return installedversion
- when "<"
- # "portpkg-1.7_5 < needs updating (port has 1.14)"
- # "portpkg-1.7_5 < needs updating (port has 1.14) (=> 'newport/pkg')
- if otherdata =~ /\(port has (\S+)\)/
- newversion = $1
- Puppet.debug "portupgrade.latest() - Installed version needs updating to (%s)" % newversion
- return newversion
- else
- Puppet.debug "portupgrade.latest() - Unable to determine new version from (%s)" % otherdata
- return installedversion
- end
- when "?", "!", "#"
- Puppet.debug "portupgrade.latest() - Comparison Error reported from portversion (%s)" % output
- return installedversion
- else
- Puppet.debug "portupgrade.latest() - Unknown code from portversion output (%s)" % output
- return installedversion
- end
-
- else
- # error: output not parsed correctly, error out with nil.
- # Seriously - this section should never be called in a perfect world.
- # as verification that the port is installed has already happened in query.
- if output =~ /^\*\* No matching package /
- raise Puppet::ExecutionFailure, "Could not find package %s" % @resource[:name]
- else
- # Any other error (dump output to log)
- raise Puppet::ExecutionFailure, "Unexpected output from portversion: %s" % output
- end
-
- # Just in case we still are running, return nil
- return nil
- end
-
- # At this point normal operation has finished and we shouldn't have been called.
- # Error out and let the admin deal with it.
- raise Puppet::Error, "portversion.latest() - fatal error with portversion: %s" % output
- return nil
-
- end
-
- ###### Query subcommand - return a hash of details if exists, or nil if it doesn't.
- # Used to make sure the package is installed
-
- def query
- Puppet.debug "portupgrade.query() - Called on %s" % @resource[:name]
-
- cmdline = ["-qO", @resource[:name]]
- begin
- output = portinfo(*cmdline)
- rescue Puppet::ExecutionFailure
- raise Puppet::Error.new(output)
- end
-
- # Check: if output isn't in the right format, return nil
- if output =~ /^(\S+)-([^-\s]+)/
- # Fill in the details
- hash = Hash.new
- hash[:portorigin] = self.name
- hash[:portname] = $1
- hash[:ensure] = $2
-
- # If more details are required, then we can do another pkg_info query here
- # and parse out that output and add to the hash
-
- # return the hash to the caller
- return hash
- else
- Puppet.debug "portupgrade.query() - package (%s) not installed" % @resource[:name]
- return nil
- end
-
- end # def query
-
- ####### Uninstall command
-
- def uninstall
- Puppet.debug "portupgrade.uninstall() - called on %s" % @resource[:name]
- # Get full package name from port origin to uninstall with
- cmdline = ["-qO", @resource[:name]]
- begin
- output = portinfo(*cmdline)
- rescue Puppet::ExecutionFailure
- raise Puppet::Error.new(output)
- end
-
- if output =~ /^(\S+)/
- # output matches, so uninstall it
+ begin
+ output = portversion(*cmdline)
+ rescue Puppet::ExecutionFailure
+ raise Puppet::Error.new(output)
+ end
+
+ # Check: output format.
+ if output =~ /^\S+-([^-\s]+)\s+(\S)\s+(.*)/
+ # $1 = installed version, $2 = comparison, $3 other data
+ # latest installed
+ installedversion = $1
+ comparison = $2
+ otherdata = $3
+
+ # Only return a new version number when it's clear that there is a new version
+ # all others return the current version so no unexpected 'upgrades' occur.
+ case comparison
+ when "=", ">"
+ Puppet.debug "portupgrade.latest() - Installed package is latest (%s)" % installedversion
+ return installedversion
+ when "<"
+ # "portpkg-1.7_5 < needs updating (port has 1.14)"
+ # "portpkg-1.7_5 < needs updating (port has 1.14) (=> 'newport/pkg')
+ if otherdata =~ /\(port has (\S+)\)/
+ newversion = $1
+ Puppet.debug "portupgrade.latest() - Installed version needs updating to (%s)" % newversion
+ return newversion
+ else
+ Puppet.debug "portupgrade.latest() - Unable to determine new version from (%s)" % otherdata
+ return installedversion
+ end
+ when "?", "!", "#"
+ Puppet.debug "portupgrade.latest() - Comparison Error reported from portversion (%s)" % output
+ return installedversion
+ else
+ Puppet.debug "portupgrade.latest() - Unknown code from portversion output (%s)" % output
+ return installedversion
+ end
+
+ else
+ # error: output not parsed correctly, error out with nil.
+ # Seriously - this section should never be called in a perfect world.
+ # as verification that the port is installed has already happened in query.
+ if output =~ /^\*\* No matching package /
+ raise Puppet::ExecutionFailure, "Could not find package %s" % @resource[:name]
+ else
+ # Any other error (dump output to log)
+ raise Puppet::ExecutionFailure, "Unexpected output from portversion: %s" % output
+ end
+
+ # Just in case we still are running, return nil
+ return nil
+ end
+
+ # At this point normal operation has finished and we shouldn't have been called.
+ # Error out and let the admin deal with it.
+ raise Puppet::Error, "portversion.latest() - fatal error with portversion: %s" % output
+ return nil
+
+ end
+
+ ###### Query subcommand - return a hash of details if exists, or nil if it doesn't.
+ # Used to make sure the package is installed
+
+ def query
+ Puppet.debug "portupgrade.query() - Called on %s" % @resource[:name]
+
+ cmdline = ["-qO", @resource[:name]]
+ begin
+ output = portinfo(*cmdline)
+ rescue Puppet::ExecutionFailure
+ raise Puppet::Error.new(output)
+ end
+
+ # Check: if output isn't in the right format, return nil
+ if output =~ /^(\S+)-([^-\s]+)/
+ # Fill in the details
+ hash = Hash.new
+ hash[:portorigin] = self.name
+ hash[:portname] = $1
+ hash[:ensure] = $2
+
+ # If more details are required, then we can do another pkg_info query here
+ # and parse out that output and add to the hash
+
+ # return the hash to the caller
+ return hash
+ else
+ Puppet.debug "portupgrade.query() - package (%s) not installed" % @resource[:name]
+ return nil
+ end
+
+ end # def query
+
+ ####### Uninstall command
+
+ def uninstall
+ Puppet.debug "portupgrade.uninstall() - called on %s" % @resource[:name]
+ # Get full package name from port origin to uninstall with
+ cmdline = ["-qO", @resource[:name]]
+ begin
+ output = portinfo(*cmdline)
+ rescue Puppet::ExecutionFailure
+ raise Puppet::Error.new(output)
+ end
+
+ if output =~ /^(\S+)/
+ # output matches, so uninstall it
portuninstall $1
- end
-
- end
-
- ######## Update/upgrade command
-
- def update
- Puppet.debug "portupgrade.update() - called on (%s)" % @resource[:name]
-
- cmdline = ["-qO", @resource[:name]]
- begin
- output = portinfo(*cmdline)
- rescue Puppet::ExecutionFailure
- raise Puppet::Error.new(output)
- end
-
- if output =~ /^(\S+)/
- # output matches, so upgrade the software
- cmdline = ["-M BATCH=yes", $1]
- begin
- output = portupgrade(*cmdline)
- rescue Puppet::ExecutionFailure
- raise Puppet::Error.new(output)
- end
- end
- end
+ end
+
+ end
+
+ ######## Update/upgrade command
+
+ def update
+ Puppet.debug "portupgrade.update() - called on (%s)" % @resource[:name]
+
+ cmdline = ["-qO", @resource[:name]]
+ begin
+ output = portinfo(*cmdline)
+ rescue Puppet::ExecutionFailure
+ raise Puppet::Error.new(output)
+ end
+
+ if output =~ /^(\S+)/
+ # output matches, so upgrade the software
+ cmdline = ["-M BATCH=yes", $1]
+ begin
+ output = portupgrade(*cmdline)
+ rescue Puppet::ExecutionFailure
+ raise Puppet::Error.new(output)
+ end
+ end
+ end
## EOF
end
diff --git a/lib/puppet/provider/package/rpm.rb b/lib/puppet/provider/package/rpm.rb
index a9da43fac..6d5adf2ef 100755
--- a/lib/puppet/provider/package/rpm.rb
+++ b/lib/puppet/provider/package/rpm.rb
@@ -14,12 +14,12 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
if command('rpm')
confine :true => begin
- rpm('--version')
- rescue Puppet::ExecutionFailure
- false
- else
- true
- end
+ rpm('--version')
+ rescue Puppet::ExecutionFailure
+ false
+ else
+ true
+ end
end
def self.instances
diff --git a/lib/puppet/provider/package/sun.rb b/lib/puppet/provider/package/sun.rb
index 4f8b311ab..f0a1c6ac5 100755
--- a/lib/puppet/provider/package/sun.rb
+++ b/lib/puppet/provider/package/sun.rb
@@ -6,8 +6,8 @@ Puppet::Type.type(:package).provide :sun, :parent => Puppet::Provider::Package d
desc "Sun's packaging system. Requires that you specify the source for
the packages you're managing."
commands :pkginfo => "/usr/bin/pkginfo",
- :pkgadd => "/usr/sbin/pkgadd",
- :pkgrm => "/usr/sbin/pkgrm"
+ :pkgadd => "/usr/sbin/pkgadd",
+ :pkgrm => "/usr/sbin/pkgrm"
confine :operatingsystem => :solaris
diff --git a/lib/puppet/provider/package/up2date.rb b/lib/puppet/provider/package/up2date.rb
index 284bbaf42..1de7c6ea5 100644
--- a/lib/puppet/provider/package/up2date.rb
+++ b/lib/puppet/provider/package/up2date.rb
@@ -5,7 +5,7 @@ Puppet::Type.type(:package).provide :up2date, :parent => :rpm, :source => :rpm d
commands :up2date => "/usr/sbin/up2date-nox"
defaultfor :operatingsystem => [:redhat, :oel, :ovm],
- :lsbdistrelease => ["2.1", "3", "4"]
+ :lsbdistrelease => ["2.1", "3", "4"]
confine :operatingsystem => [:redhat, :oel, :ovm]
diff --git a/lib/puppet/provider/package/urpmi.rb b/lib/puppet/provider/package/urpmi.rb
index a79e96227..05eed42d7 100644
--- a/lib/puppet/provider/package/urpmi.rb
+++ b/lib/puppet/provider/package/urpmi.rb
@@ -4,12 +4,12 @@ Puppet::Type.type(:package).provide :urpmi, :parent => :rpm, :source => :rpm do
if command('rpm')
confine :true => begin
- rpm('-ql', 'rpm')
- rescue Puppet::ExecutionFailure
- false
- else
- true
- end
+ rpm('-ql', 'rpm')
+ rescue Puppet::ExecutionFailure
+ false
+ else
+ true
+ end
end
defaultfor :operatingsystem => [:mandriva, :mandrake]
diff --git a/lib/puppet/provider/package/yum.rb b/lib/puppet/provider/package/yum.rb
index 6fdff6997..32ab2c124 100755
--- a/lib/puppet/provider/package/yum.rb
+++ b/lib/puppet/provider/package/yum.rb
@@ -11,12 +11,12 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm, :source => :rpm do
if command('rpm')
confine :true => begin
- rpm('--version')
- rescue Puppet::ExecutionFailure
- false
- else
- true
- end
+ rpm('--version')
+ rescue Puppet::ExecutionFailure
+ false
+ else
+ true
+ end
end
defaultfor :operatingsystem => [:fedora, :centos, :redhat]
@@ -28,26 +28,26 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm, :source => :rpm do
super
return unless packages.detect { |name, package| package.should(:ensure) == :latest }
- # collect our 'latest' info
- updates = {}
- python(YUMHELPER).each_line do |l|
- l.chomp!
- next if l.empty?
- if l[0,4] == "_pkg"
- hash = nevra_to_hash(l[5..-1])
- [hash[:name], "#{hash[:name]}.#{hash[:arch]}"].each do |n|
- updates[n] ||= []
- updates[n] << hash
- end
- end
- end
-
- # Add our 'latest' info to the providers.
- packages.each do |name, package|
- if info = updates[package[:name]]
- package.provider.latest_info = info[0]
- end
- end
+ # collect our 'latest' info
+ updates = {}
+ python(YUMHELPER).each_line do |l|
+ l.chomp!
+ next if l.empty?
+ if l[0,4] == "_pkg"
+ hash = nevra_to_hash(l[5..-1])
+ [hash[:name], "#{hash[:name]}.#{hash[:arch]}"].each do |n|
+ updates[n] ||= []
+ updates[n] << hash
+ end
+ end
+ end
+
+ # Add our 'latest' info to the providers.
+ packages.each do |name, package|
+ if info = updates[package[:name]]
+ package.provider.latest_info = info[0]
+ end
+ end
end
def install
@@ -104,5 +104,5 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm, :source => :rpm do
def purge
yum "-y", :erase, @resource[:name]
end
- end
+end
diff --git a/lib/puppet/provider/parsedfile.rb b/lib/puppet/provider/parsedfile.rb
index 40e172785..47e4fcd69 100755
--- a/lib/puppet/provider/parsedfile.rb
+++ b/lib/puppet/provider/parsedfile.rb
@@ -36,7 +36,7 @@ class Puppet::Provider::ParsedFile < Puppet::Provider
end
def self.filetype
- unless defined? @filetype
+ unless defined?(@filetype)
@filetype = Puppet::Util::FileType.filetype(:flat)
end
return @filetype
@@ -151,7 +151,7 @@ class Puppet::Provider::ParsedFile < Puppet::Provider
if @property_hash[attr] or self.class.valid_attr?(self.class.name, attr)
@property_hash[attr] || :absent
else
- if defined? @resource
+ if defined?(@resource)
@resource.should(attr)
else
nil
@@ -385,7 +385,7 @@ class Puppet::Provider::ParsedFile < Puppet::Provider
# Mark both the resource and provider target as modified.
def mark_target_modified
- if defined? @resource and restarget = @resource.should(:target) and restarget != @property_hash[:target]
+ if defined?(@resource) and restarget = @resource.should(:target) and restarget != @property_hash[:target]
self.class.modified(restarget)
end
if @property_hash[:target] != :absent and @property_hash[:target]
diff --git a/lib/puppet/provider/selboolean/getsetsebool.rb b/lib/puppet/provider/selboolean/getsetsebool.rb
index 4614c6c38..c993c3748 100644
--- a/lib/puppet/provider/selboolean/getsetsebool.rb
+++ b/lib/puppet/provider/selboolean/getsetsebool.rb
@@ -34,14 +34,14 @@ Puppet::Type.type(:selboolean).provide(:getsetsebool) do
# 'setsebool("...")' construct from working.
def execoutput (cmd)
- output = ''
- begin
- execpipe(cmd) do |out|
- output = out.readlines.join('').chomp!
+ output = ''
+ begin
+ execpipe(cmd) do |out|
+ output = out.readlines.join('').chomp!
+ end
+ rescue Puppet::ExecutionFailure
+ raise Puppet::ExecutionFailure, output.split("\n")[0]
end
- rescue Puppet::ExecutionFailure
- raise Puppet::ExecutionFailure, output.split("\n")[0]
- end
- return output
+ return output
end
end
diff --git a/lib/puppet/provider/selmodule/semodule.rb b/lib/puppet/provider/selmodule/semodule.rb
index 2b65c0d4a..c75acfa5e 100644
--- a/lib/puppet/provider/selmodule/semodule.rb
+++ b/lib/puppet/provider/selmodule/semodule.rb
@@ -25,7 +25,7 @@ Puppet::Type.type(:selmodule).provide(:semodule) do
execpipe("#{command(:semodule)} --list") do |out|
out.each do |line|
if line =~ /#{@resource[:name]}\b/
- return :true
+ return :true
end
end
end
@@ -57,15 +57,15 @@ Puppet::Type.type(:selmodule).provide(:semodule) do
# Helper functions
def execoutput (cmd)
- output = ''
- begin
- execpipe(cmd) do |out|
- output = out.readlines.join('').chomp!
+ output = ''
+ begin
+ execpipe(cmd) do |out|
+ output = out.readlines.join('').chomp!
+ end
+ rescue Puppet::ExecutionFailure
+ raise Puppet::ExecutionFailure, output.split("\n")[0]
end
- rescue Puppet::ExecutionFailure
- raise Puppet::ExecutionFailure, output.split("\n")[0]
- end
- return output
+ return output
end
def selmod_name_to_filename
diff --git a/lib/puppet/provider/service/base.rb b/lib/puppet/provider/service/base.rb
index 183bf33e3..aa11f26fc 100755
--- a/lib/puppet/provider/service/base.rb
+++ b/lib/puppet/provider/service/base.rb
@@ -49,7 +49,7 @@ Puppet::Type.type(:service).provide :base do
end
end
- # There is no default command, which causes other methods to be used
+ # There is no default command, which causes other methods to be used
def restartcmd
end
@@ -77,10 +77,10 @@ Puppet::Type.type(:service).provide :base do
end
end
- # There is no default command, which causes other methods to be used
+ # There is no default command, which causes other methods to be used
def statuscmd
end
-
+
# Run the 'start' parameter command, or the specified 'startcmd'.
def start
ucommand(:start)
@@ -114,14 +114,13 @@ Puppet::Type.type(:service).provide :base do
begin
output = kill pid
rescue Puppet::ExecutionFailure => detail
- @resource.fail "Could not kill %s, PID %s: %s" %
- [self.name, pid, output]
+ @resource.fail "Could not kill %s, PID %s: %s" % [self.name, pid, output]
end
return true
end
end
-
- # There is no default command, which causes other methods to be used
+
+ # There is no default command, which causes other methods to be used
def stopcmd
end
diff --git a/lib/puppet/provider/service/daemontools.rb b/lib/puppet/provider/service/daemontools.rb
index 3749f9c2c..cb3ac51a1 100644
--- a/lib/puppet/provider/service/daemontools.rb
+++ b/lib/puppet/provider/service/daemontools.rb
@@ -19,10 +19,10 @@ Puppet::Type.type(:service).provide :daemontools, :parent => :base do
or this can be overriden in the service resource parameters::
- service {
- \"myservice\":
- provider => \"daemontools\", path => \"/path/to/daemons\";
- }
+ service {
+ \"myservice\":
+ provider => \"daemontools\", path => \"/path/to/daemons\";
+ }
This provider supports out of the box:
diff --git a/lib/puppet/provider/service/debian.rb b/lib/puppet/provider/service/debian.rb
index 51fb7a22b..34e2cf8b1 100755
--- a/lib/puppet/provider/service/debian.rb
+++ b/lib/puppet/provider/service/debian.rb
@@ -13,7 +13,7 @@ Puppet::Type.type(:service).provide :debian, :parent => :init do
# http://projects.reductivelabs.com/issues/2538
# is resolved.
commands :invoke_rc => "/usr/sbin/invoke-rc.d"
-
+
defaultfor :operatingsystem => [:debian, :ubuntu]
def self.defpath
@@ -30,7 +30,7 @@ Puppet::Type.type(:service).provide :debian, :parent => :init do
# TODO: Replace system() call when Puppet::Util.execute gives us a way
# to determine exit status. http://projects.reductivelabs.com/issues/2538
system("/usr/sbin/invoke-rc.d", "--quiet", "--query", @resource[:name], "start")
-
+
# 104 is the exit status when you query start an enabled service.
# 106 is the exit status when the policy layer supplies a fallback action
# See x-man-page://invoke-rc.d
diff --git a/lib/puppet/provider/service/freebsd.rb b/lib/puppet/provider/service/freebsd.rb
index 27f3715ee..32f8abb7c 100644
--- a/lib/puppet/provider/service/freebsd.rb
+++ b/lib/puppet/provider/service/freebsd.rb
@@ -1,139 +1,139 @@
Puppet::Type.type(:service).provide :freebsd, :parent => :init do
- desc "Provider for FreeBSD. Makes use of rcvar argument of init scripts and parses/edits rc files."
-
- confine :operatingsystem => [:freebsd]
- defaultfor :operatingsystem => [:freebsd]
-
- @@rcconf = '/etc/rc.conf'
- @@rcconf_local = '/etc/rc.conf.local'
- @@rcconf_dir = '/etc/rc.conf.d'
-
- def self.defpath
- superclass.defpath
- end
-
- # Executing an init script with the 'rcvar' argument returns
- # the service name, rcvar name and whether it's enabled/disabled
- def rcvar
- rcvar = execute([self.initscript, :rcvar], :failonfail => true, :squelch => false)
- rcvar = rcvar.split("\n")
- return rcvar
- end
-
- # Extract service name
- def service_name
- name = self.rcvar[0]
- self.error("No service name found in rcvar") if name.nil?
- name = name.gsub!(/# (.*)/, '\1')
- self.error("Service name is empty") if name.nil?
- self.debug("Service name is #{name}")
- return name
- end
-
- # Extract rcvar name
- def rcvar_name
- name = self.rcvar[1]
- self.error("No rcvar name found in rcvar") if name.nil?
- name = name.gsub!(/(.*)_enable=(.*)/, '\1')
- self.error("rcvar name is empty") if name.nil?
- self.debug("rcvar name is #{name}")
- return name
- end
-
- # Extract rcvar value
- def rcvar_value
- value = self.rcvar[1]
- self.error("No rcvar value found in rcvar") if value.nil?
- value = value.gsub!(/(.*)_enable=\"?(.*)\"?/, '\2')
- self.error("rcvar value is empty") if value.nil?
- self.debug("rcvar value is #{value}")
- return value
- end
-
- # Edit rc files and set the service to yes/no
- def rc_edit(yesno)
- service = self.service_name
- rcvar = self.rcvar_name
- self.debug("Editing rc files: setting #{rcvar} to #{yesno} for #{service}")
- if not self.rc_replace(service, rcvar, yesno)
- self.rc_add(service, rcvar, yesno)
+ desc "Provider for FreeBSD. Makes use of rcvar argument of init scripts and parses/edits rc files."
+
+ confine :operatingsystem => [:freebsd]
+ defaultfor :operatingsystem => [:freebsd]
+
+ @@rcconf = '/etc/rc.conf'
+ @@rcconf_local = '/etc/rc.conf.local'
+ @@rcconf_dir = '/etc/rc.conf.d'
+
+ def self.defpath
+ superclass.defpath
+ end
+
+ # Executing an init script with the 'rcvar' argument returns
+ # the service name, rcvar name and whether it's enabled/disabled
+ def rcvar
+ rcvar = execute([self.initscript, :rcvar], :failonfail => true, :squelch => false)
+ rcvar = rcvar.split("\n")
+ return rcvar
+ end
+
+ # Extract service name
+ def service_name
+ name = self.rcvar[0]
+ self.error("No service name found in rcvar") if name.nil?
+ name = name.gsub!(/# (.*)/, '\1')
+ self.error("Service name is empty") if name.nil?
+ self.debug("Service name is #{name}")
+ return name
+ end
+
+ # Extract rcvar name
+ def rcvar_name
+ name = self.rcvar[1]
+ self.error("No rcvar name found in rcvar") if name.nil?
+ name = name.gsub!(/(.*)_enable=(.*)/, '\1')
+ self.error("rcvar name is empty") if name.nil?
+ self.debug("rcvar name is #{name}")
+ return name
+ end
+
+ # Extract rcvar value
+ def rcvar_value
+ value = self.rcvar[1]
+ self.error("No rcvar value found in rcvar") if value.nil?
+ value = value.gsub!(/(.*)_enable=\"?(.*)\"?/, '\2')
+ self.error("rcvar value is empty") if value.nil?
+ self.debug("rcvar value is #{value}")
+ return value
+ end
+
+ # Edit rc files and set the service to yes/no
+ def rc_edit(yesno)
+ service = self.service_name
+ rcvar = self.rcvar_name
+ self.debug("Editing rc files: setting #{rcvar} to #{yesno} for #{service}")
+ if not self.rc_replace(service, rcvar, yesno)
+ self.rc_add(service, rcvar, yesno)
+ end
end
- end
-
- # Try to find an existing setting in the rc files
- # and replace the value
- def rc_replace(service, rcvar, yesno)
- success = false
- # Replace in all files, not just in the first found with a match
- [@@rcconf, @@rcconf_local, @@rcconf_dir + "/#{service}"].each do |filename|
- if File.exists?(filename)
- s = File.read(filename)
- if s.gsub!(/(#{rcvar}_enable)=\"?(YES|NO)\"?/, "\\1=\"#{yesno}\"")
- File.open(filename, File::WRONLY) { |f| f << s }
- self.debug("Replaced in #{filename}")
- success = true
+
+ # Try to find an existing setting in the rc files
+ # and replace the value
+ def rc_replace(service, rcvar, yesno)
+ success = false
+ # Replace in all files, not just in the first found with a match
+ [@@rcconf, @@rcconf_local, @@rcconf_dir + "/#{service}"].each do |filename|
+ if File.exists?(filename)
+ s = File.read(filename)
+ if s.gsub!(/(#{rcvar}_enable)=\"?(YES|NO)\"?/, "\\1=\"#{yesno}\"")
+ File.open(filename, File::WRONLY) { |f| f << s }
+ self.debug("Replaced in #{filename}")
+ success = true
+ end
+ end
+ end
+ return success
+ end
+
+ # Add a new setting to the rc files
+ def rc_add(service, rcvar, yesno)
+ append = "\n\# Added by Puppet\n#{rcvar}_enable=\"#{yesno}\""
+ # First, try the one-file-per-service style
+ if File.exists?(@@rcconf_dir)
+ File.open(@@rcconf_dir + "/#{service}", File::WRONLY | File::APPEND | File::CREAT, 0644) {
+ |f| f << append
+ self.debug("Appended to #{f.path}")
+ }
+ else
+ # Else, check the local rc file first, but don't create it
+ if File.exists?(@@rcconf_local)
+ File.open(@@rcconf_local, File::WRONLY | File::APPEND) {
+ |f| f << append
+ self.debug("Appended to #{f.path}")
+ }
+ else
+ # At last use the standard rc.conf file
+ File.open(@@rcconf, File::WRONLY | File::APPEND | File::CREAT, 0644) {
+ |f| f << append
+ self.debug("Appended to #{f.path}")
+ }
+ end
+ end
+ end
+
+ def enabled?
+ if /YES$/ =~ self.rcvar_value then
+ self.debug("Is enabled")
+ return :true
end
- end
+ self.debug("Is disabled")
+ return :false
end
- return success
- end
-
- # Add a new setting to the rc files
- def rc_add(service, rcvar, yesno)
- append = "\n\# Added by Puppet\n#{rcvar}_enable=\"#{yesno}\""
- # First, try the one-file-per-service style
- if File.exists?(@@rcconf_dir)
- File.open(@@rcconf_dir + "/#{service}", File::WRONLY | File::APPEND | File::CREAT, 0644) {
- |f| f << append
- self.debug("Appended to #{f.path}")
- }
- else
- # Else, check the local rc file first, but don't create it
- if File.exists?(@@rcconf_local)
- File.open(@@rcconf_local, File::WRONLY | File::APPEND) {
- |f| f << append
- self.debug("Appended to #{f.path}")
- }
- else
- # At last use the standard rc.conf file
- File.open(@@rcconf, File::WRONLY | File::APPEND | File::CREAT, 0644) {
- |f| f << append
- self.debug("Appended to #{f.path}")
- }
- end
+
+ def enable
+ self.debug("Enabling")
+ self.rc_edit("YES")
+ end
+
+ def disable
+ self.debug("Disabling")
+ self.rc_edit("NO")
+ end
+
+ def startcmd
+ [self.initscript, :onestart]
+ end
+
+ def stopcmd
+ [self.initscript, :onestop]
end
- end
- def enabled?
- if /YES$/ =~ self.rcvar_value then
- self.debug("Is enabled")
- return :true
+ def statuscmd
+ [self.initscript, :onestatus]
end
- self.debug("Is disabled")
- return :false
- end
-
- def enable
- self.debug("Enabling")
- self.rc_edit("YES")
- end
-
- def disable
- self.debug("Disabling")
- self.rc_edit("NO")
- end
-
- def startcmd
- [self.initscript, :onestart]
- end
-
- def stopcmd
- [self.initscript, :onestop]
- end
-
- def statuscmd
- [self.initscript, :onestatus]
- end
end
diff --git a/lib/puppet/provider/service/gentoo.rb b/lib/puppet/provider/service/gentoo.rb
index ed643119d..0327eb297 100644
--- a/lib/puppet/provider/service/gentoo.rb
+++ b/lib/puppet/provider/service/gentoo.rb
@@ -21,8 +21,7 @@ Puppet::Type.type(:service).provide :gentoo, :parent => :init do
begin
output = update :del, @resource[:name], :default
rescue Puppet::ExecutionFailure
- raise Puppet::Error, "Could not disable %s: %s" %
- [self.name, output]
+ raise Puppet::Error, "Could not disable %s: %s" % [self.name, output]
end
end
@@ -49,8 +48,7 @@ Puppet::Type.type(:service).provide :gentoo, :parent => :init do
begin
output = update :add, @resource[:name], :default
rescue Puppet::ExecutionFailure
- raise Puppet::Error, "Could not enable %s: %s" %
- [self.name, output]
+ raise Puppet::Error, "Could not enable %s: %s" % [self.name, output]
end
end
end
diff --git a/lib/puppet/provider/service/init.rb b/lib/puppet/provider/service/init.rb
index 4c73845a3..5804732ed 100755
--- a/lib/puppet/provider/service/init.rb
+++ b/lib/puppet/provider/service/init.rb
@@ -49,7 +49,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
Dir.entries(path).each do |name|
fullpath = File.join(path, name)
next if name =~ /^\./
- next if exclude.include? name
+ next if exclude.include? name
next if not FileTest.executable?(fullpath)
instances << new(:name => name, :path => path, :hasstatus => true)
end
@@ -63,8 +63,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
when true, "true"; @parameters[:hasstatus] = true
when false, "false"; @parameters[:hasstatus] = false
else
- raise Puppet::Error, "Invalid 'hasstatus' value %s" %
- value.inspect
+ raise Puppet::Error, "Invalid 'hasstatus' value %s" % value.inspect
end
end
diff --git a/lib/puppet/provider/service/launchd.rb b/lib/puppet/provider/service/launchd.rb
index 770a7b154..c65e1cc1a 100644
--- a/lib/puppet/provider/service/launchd.rb
+++ b/lib/puppet/provider/service/launchd.rb
@@ -8,28 +8,28 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
other platforms.
See:
- * http://developer.apple.com/macosx/launchd.html
- * http://launchd.macosforge.org/
+ * http://developer.apple.com/macosx/launchd.html
+ * http://launchd.macosforge.org/
This provider reads plists out of the following directories:
- * /System/Library/LaunchDaemons
- * /System/Library/LaunchAgents
- * /Library/LaunchDaemons
- * /Library/LaunchAgents
+ * /System/Library/LaunchDaemons
+ * /System/Library/LaunchAgents
+ * /Library/LaunchDaemons
+ * /Library/LaunchAgents
and builds up a list of services based upon each plists \"Label\" entry.
This provider supports:
- * ensure => running/stopped,
- * enable => true/false
- * status
- * restart
+ * ensure => running/stopped,
+ * enable => true/false
+ * status
+ * restart
Here is how the Puppet states correspond to launchd states:
- * stopped => job unloaded
- * started => job loaded
- * enabled => 'Disable' removed from job plist file
- * disabled => 'Disable' added to job plist file
+ * stopped => job unloaded
+ * started => job loaded
+ * enabled => 'Disable' removed from job plist file
+ * disabled => 'Disable' added to job plist file
Note that this allows you to do something launchctl can't do, which is to
be in a state of \"stopped/enabled\ or \"running/disabled\".
@@ -45,9 +45,9 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
has_feature :enableable
Launchd_Paths = ["/Library/LaunchAgents",
- "/Library/LaunchDaemons",
- "/System/Library/LaunchAgents",
- "/System/Library/LaunchDaemons",]
+ "/Library/LaunchDaemons",
+ "/System/Library/LaunchAgents",
+ "/System/Library/LaunchDaemons",]
Launchd_Overrides = "/var/db/launchd.db/com.apple.launchd/overrides.plist"
@@ -89,10 +89,10 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
new(:name => job, :provider => :launchd, :path => jobs[job])
end
end
-
-
+
+
def self.get_macosx_version_major
- if defined? @macosx_version_major
+ if defined?(@macosx_version_major)
return @macosx_version_major
end
begin
@@ -103,7 +103,7 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
product_version_major = Facter.value(:macosx_productversion_major)
else
# TODO: remove this code chunk once we require Facter 1.5.5 or higher.
- Puppet.warning("DEPRECATION WARNING: Future versions of the launchd provider will require Facter 1.5.5 or newer.")
+ Puppet.warning("DEPRECATION WARNING: Future versions of the launchd provider will require Facter 1.5.5 or newer.")
product_version = Facter.value(:macosx_productversion)
if product_version.nil?
fail("Could not determine OS X version from Facter")
@@ -211,15 +211,15 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
def enabled?
job_plist_disabled = nil
overrides_disabled = nil
-
+
job_path, job_plist = plist_from_label(resource[:name])
if job_plist.has_key?("Disabled")
job_plist_disabled = job_plist["Disabled"]
end
-
+
if self.class.get_macosx_version_major == "10.6":
overrides = Plist::parse_xml(Launchd_Overrides)
-
+
unless overrides.nil?
if overrides.has_key?(resource[:name])
if overrides[resource[:name]].has_key?("Disabled")
@@ -228,7 +228,7 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
end
end
end
-
+
if overrides_disabled.nil?
if job_plist_disabled.nil? or job_plist_disabled == false
return :true
diff --git a/lib/puppet/provider/service/redhat.rb b/lib/puppet/provider/service/redhat.rb
index 27bdbb820..f3d5caee0 100755
--- a/lib/puppet/provider/service/redhat.rb
+++ b/lib/puppet/provider/service/redhat.rb
@@ -25,8 +25,7 @@ Puppet::Type.type(:service).provide :redhat, :parent => :init, :source => :init
begin
output = chkconfig(@resource[:name], :off)
rescue Puppet::ExecutionFailure
- raise Puppet::Error, "Could not disable %s: %s" %
- [self.name, output]
+ raise Puppet::Error, "Could not disable %s: %s" % [self.name, output]
end
end
@@ -52,8 +51,7 @@ Puppet::Type.type(:service).provide :redhat, :parent => :init, :source => :init
begin
output = chkconfig(@resource[:name], :on)
rescue Puppet::ExecutionFailure => detail
- raise Puppet::Error, "Could not enable %s: %s" %
- [self.name, detail]
+ raise Puppet::Error, "Could not enable %s: %s" % [self.name, detail]
end
end
diff --git a/lib/puppet/provider/service/runit.rb b/lib/puppet/provider/service/runit.rb
index b8b444e34..265111469 100644
--- a/lib/puppet/provider/service/runit.rb
+++ b/lib/puppet/provider/service/runit.rb
@@ -4,31 +4,31 @@
Puppet::Type.type(:service).provide :runit, :parent => :daemontools do
desc "Runit service management.
- This provider manages daemons running supervised by Runit.
- It tries to detect the service directory, with by order of preference:
+ This provider manages daemons running supervised by Runit.
+ It tries to detect the service directory, with by order of preference:
- * /service
- * /var/service
- * /etc/service
+ * /service
+ * /var/service
+ * /etc/service
- The daemon directory should be placed in a directory that can be
- by default in:
+ The daemon directory should be placed in a directory that can be
+ by default in:
- * /etc/sv
+ * /etc/sv
- or this can be overriden in the service resource parameters::
+ or this can be overriden in the service resource parameters::
- service {
- \"myservice\":
- provider => \"runit\", path => \"/path/to/daemons\";
- }
+ service {
+ \"myservice\":
+ provider => \"runit\", path => \"/path/to/daemons\";
+ }
- This provider supports out of the box:
+ This provider supports out of the box:
- * start/stop
- * enable/disable
- * restart
- * status
+ * start/stop
+ * enable/disable
+ * restart
+ * status
"
diff --git a/lib/puppet/provider/service/smf.rb b/lib/puppet/provider/service/smf.rb
index 957a1ae82..685889386 100755
--- a/lib/puppet/provider/service/smf.rb
+++ b/lib/puppet/provider/service/smf.rb
@@ -90,11 +90,10 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
return :maintenance
when "legacy_run"
raise Puppet::Error,
- "Cannot manage legacy services through SMF"
+ "Cannot manage legacy services through SMF"
else
raise Puppet::Error,
- "Unmanageable state '%s' on service %s" %
- [state, self.name]
+ "Unmanageable state '%s' on service %s" % [state, self.name]
end
end
diff --git a/lib/puppet/provider/service/src.rb b/lib/puppet/provider/service/src.rb
index eadce8e96..fe178ab4f 100755
--- a/lib/puppet/provider/service/src.rb
+++ b/lib/puppet/provider/service/src.rb
@@ -1,7 +1,7 @@
# AIX System Resource controller (SRC)
Puppet::Type.type(:service).provide :src, :parent => :base do
- desc "Support for AIX's System Resource controller.
+ desc "Support for AIX's System Resource controller.
Services are started/stopped based on the stopsrc and startsrc
commands, and some services can be refreshed with refresh command.
@@ -31,7 +31,7 @@ Puppet::Type.type(:service).provide :src, :parent => :base do
end
def restart
- begin
+ begin
execute([command(:lssrc), "-Ss", @resource[:name]]).each do |line|
args = line.split(":")
@@ -65,14 +65,14 @@ Puppet::Type.type(:service).provide :src, :parent => :base do
end
def status
- begin
+ begin
execute([command(:lssrc), "-s", @resource[:name]]).each do |line|
args = line.split
# This is the header line
next unless args[0] == @resource[:name]
- # PID is the 3rd field, but inoperative subsystems
+ # PID is the 3rd field, but inoperative subsystems
# skip this so split doesn't work right
state = case args[-1]
when "active" then :running
diff --git a/lib/puppet/provider/ssh_authorized_key/parsed.rb b/lib/puppet/provider/ssh_authorized_key/parsed.rb
index cc4e27954..a39f59c54 100644
--- a/lib/puppet/provider/ssh_authorized_key/parsed.rb
+++ b/lib/puppet/provider/ssh_authorized_key/parsed.rb
@@ -1,8 +1,11 @@
require 'puppet/provider/parsedfile'
-Puppet::Type.type(:ssh_authorized_key).provide(:parsed,
+
+ Puppet::Type.type(:ssh_authorized_key).provide(
+ :parsed,
:parent => Puppet::Provider::ParsedFile,
:filetype => :flat,
+
:default_target => ''
) do
desc "Parse and generate authorized_keys files for SSH."
diff --git a/lib/puppet/provider/sshkey/parsed.rb b/lib/puppet/provider/sshkey/parsed.rb
index e84e3e5c5..4fefc4067 100755
--- a/lib/puppet/provider/sshkey/parsed.rb
+++ b/lib/puppet/provider/sshkey/parsed.rb
@@ -7,9 +7,12 @@ else
known = "/etc/ssh/ssh_known_hosts"
end
-Puppet::Type.type(:sshkey).provide(:parsed,
+
+ Puppet::Type.type(:sshkey).provide(
+ :parsed,
:parent => Puppet::Provider::ParsedFile,
:default_target => known,
+
:filetype => :flat
) do
desc "Parse and generate host-wide known hosts files for SSH."
diff --git a/lib/puppet/provider/user/user_role_add.rb b/lib/puppet/provider/user/user_role_add.rb
index aa01f8e52..961cb5e73 100644
--- a/lib/puppet/provider/user/user_role_add.rb
+++ b/lib/puppet/provider/user/user_role_add.rb
@@ -67,8 +67,7 @@ Puppet::Type.type(:user).provide :user_role_add, :parent => :useradd, :source =>
begin
execute(cmd)
rescue Puppet::ExecutionFailure => detail
- raise Puppet::Error, "Could not %s %s %s: %s" %
- [msg, @resource.class.name, @resource.name, detail]
+ raise Puppet::Error, "Could not %s %s %s: %s" % [msg, @resource.class.name, @resource.name, detail]
end
end