diff options
author | Martin Wilke <miwi@FreeBSD.org> | 2007-05-27 11:31:25 +0000 |
---|---|---|
committer | Martin Wilke <miwi@FreeBSD.org> | 2007-05-27 11:31:25 +0000 |
commit | 6d8ee670f56e5597a8ce2a4e921feb4273add053 (patch) | |
tree | 099c61ea70f7b02cf96adae92e1c08358e7ca7e1 /sysutils/puppet | |
parent | 46cd2b95fc269f6430777a6302dec20ecbb1e196 (diff) | |
download | ports-6d8ee670f56e5597a8ce2a4e921feb4273add053.tar.gz ports-6d8ee670f56e5597a8ce2a4e921feb4273add053.zip |
Notes
Diffstat (limited to 'sysutils/puppet')
-rw-r--r-- | sysutils/puppet/Makefile | 5 | ||||
-rw-r--r-- | sysutils/puppet/distinfo | 6 | ||||
-rw-r--r-- | sysutils/puppet/files/patch-2385 | 203 | ||||
-rw-r--r-- | sysutils/puppet/files/patch-define_batch | 13 | ||||
-rw-r--r-- | sysutils/puppet/files/patch-package-name-with-dash | 13 | ||||
-rw-r--r-- | sysutils/puppet/files/puppetmasterd.in | 18 | ||||
-rw-r--r-- | sysutils/puppet/pkg-plist | 6 |
7 files changed, 55 insertions, 209 deletions
diff --git a/sysutils/puppet/Makefile b/sysutils/puppet/Makefile index e3b1b1c0f8cd..40640d2fd66d 100644 --- a/sysutils/puppet/Makefile +++ b/sysutils/puppet/Makefile @@ -6,7 +6,7 @@ # PORTNAME= puppet -PORTVERSION= 0.22.3 +PORTVERSION= 0.22.4 CATEGORIES= sysutils MASTER_SITES= http://www.reductivelabs.com/downloads/puppet/ EXTRACT_SUFX= .tgz @@ -25,6 +25,9 @@ DOCS= CHANGELOG TODO README LICENSE COPYING .include <bsd.port.pre.mk> +post-patch: + ${RM} ${WRKSRC}/bin/*.orig || true + do-install: cd ${WRKSRC} && \ ${SETENV} DSTDIR=${DSTDIR}/${PREFIX} \ diff --git a/sysutils/puppet/distinfo b/sysutils/puppet/distinfo index e6c5a7906520..17430843c4e3 100644 --- a/sysutils/puppet/distinfo +++ b/sysutils/puppet/distinfo @@ -1,3 +1,3 @@ -MD5 (puppet-0.22.3.tgz) = da40886077c500c0bac980e7b755b836 -SHA256 (puppet-0.22.3.tgz) = 39ecaca8466f5402e84cb2ce392def6d5d903fa33201de0d2e4816288d860e8a -SIZE (puppet-0.22.3.tgz) = 629126 +MD5 (puppet-0.22.4.tgz) = 9bb853104f2616c7f2c8fa4e2f39b537 +SHA256 (puppet-0.22.4.tgz) = 7b26b50711c89ca1e1c12967a363c6f0bc6c04ddcd741358f74c107d04352042 +SIZE (puppet-0.22.4.tgz) = 642077 diff --git a/sysutils/puppet/files/patch-2385 b/sysutils/puppet/files/patch-2385 deleted file mode 100644 index 7d33b2c1704a..000000000000 --- a/sysutils/puppet/files/patch-2385 +++ /dev/null @@ -1,203 +0,0 @@ -http://reductivelabs.com/trac/puppet/changeset/2385 -http://reductivelabs.com/trac/puppet/ticket/565 -Index: test/util/utiltest.rb -=================================================================== ---- test/util/utiltest.rb (revision 2377) -+++ test/util/utiltest.rb (revision 2385) -@@ -277,11 +277,15 @@ - # Now try it with a single quote - assert_nothing_raised do - output = Puppet::Util.execute([command, "yay'test", "funtest"]) -- # output = Puppet::Util.execute(command) -- - end - assert_equal("yay'test\nfuntest\n", output) - -+ # Now make sure we can squelch output (#565) -+ assert_nothing_raised do -+ output = Puppet::Util.execute([command, "yay'test", "funtest"], :squelch => true) -+ end -+ assert_equal(nil, output) -+ - # Now test that we correctly fail if the command returns non-zero - assert_raise(Puppet::ExecutionFailure) do - out = Puppet::Util.execute(["touch", "/no/such/file/could/exist"]) -@@ -289,7 +293,7 @@ - - # And that we can tell it not to fail - assert_nothing_raised() do -- out = Puppet::Util.execute(["touch", "/no/such/file/could/exist"], false) -+ out = Puppet::Util.execute(["touch", "/no/such/file/could/exist"], :failonfail => false) - end - - if Process.uid == 0 -@@ -298,7 +302,7 @@ - group = nonrootgroup - file = tempfile() - assert_nothing_raised do -- Puppet::Util.execute(["touch", file], true, user.name, group.name) -+ Puppet::Util.execute(["touch", file], :uid => user.name, :gid => group.name) - end - assert(FileTest.exists?(file), "file was not created") - assert_equal(user.uid, File.stat(file).uid, "uid was not set correctly") -@@ -308,6 +312,24 @@ - # assert_equal(group.gid, File.stat(file).gid, - # "gid was not set correctly") - end -+ -+ # (#565) Test the case of patricide. -+ patricidecommand = tempfile() -+ File.open(patricidecommand, "w") { |f| -+ f.puts %{#!/bin/bash\n/bin/bash -c 'kill -TERM \$PPID' &;\n while [ 1 ]; do echo -n ''; done;\n} -+ } -+ File.chmod(0755, patricidecommand) -+ assert_nothing_raised do -+ output = Puppet::Util.execute([patricidecommand], :squelch => true) -+ end -+ assert_equal(nil, output) -+ # See what happens if we try and read the pipe to the command... -+ assert_raise(Puppet::ExecutionFailure) do -+ output = Puppet::Util.execute([patricidecommand]) -+ end -+ assert_nothing_raised do -+ output = Puppet::Util.execute([patricidecommand], :failonfail => false) -+ end - end - - # Check whether execute() accepts strings in addition to arrays. -Index: lib/puppet/util.rb -=================================================================== ---- lib/puppet/util.rb (revision 2377) -+++ lib/puppet/util.rb (revision 2385) -@@ -267,7 +267,8 @@ - end - - # Execute the desired command, and return the status and output. -- def execute(command, failonfail = true, uid = nil, gid = nil) -+ # def execute(command, failonfail = true, uid = nil, gid = nil) -+ def execute(command, arguments = {:failonfail => true}) - if command.is_a?(Array) - command = command.flatten.collect { |i| i.to_s } - str = command.join(" ") -@@ -284,30 +285,35 @@ - Puppet.debug "Executing '%s'" % str - end - -- if uid -- uid = Puppet::Util::SUIDManager.convert_xid(:uid, uid) -+ if arguments[:uid] -+ arguments[:uid] = Puppet::Util::SUIDManager.convert_xid(:uid, arguments[:uid]) - end -- if gid -- gid = Puppet::Util::SUIDManager.convert_xid(:gid, gid) -+ if arguments[:gid] -+ arguments[:gid] = Puppet::Util::SUIDManager.convert_xid(:gid, arguments[:gid]) - end - - @@os ||= Facter.value(:operatingsystem) - output = nil -- IO.popen("-") do |f| -- if f -- output = f.read -+ child_pid, child_status = nil -+ # The idea here is to avoid IO#read whenever possible. -+ if arguments[:squelch] -+ child_pid = Kernel.fork -+ if child_pid -+ # Parent process executes this -+ child_status = Process.waitpid2(child_pid)[1] - else -+ # Child process executes this - begin - $stdin.reopen("/dev/null") -- $stderr.close -- $stderr = $stdout.dup -- if gid -- Process.egid = gid -- Process.gid = gid unless @@os == "Darwin" -+ $stdout.reopen("/dev/null") -+ $stderr.reopen("/dev/null") -+ if arguments[:gid] -+ Process.egid = arguments[:gid] -+ Process.gid = arguments[:gid] unless @@os == "Darwin" - end -- if uid -- Process.euid = uid -- Process.uid = uid unless @@os == "Darwin" -+ if arguments[:uid] -+ Process.euid = arguments[:uid] -+ Process.uid = arguments[:uid] unless @@os == "Darwin" - end - if command.is_a?(Array) - Kernel.exec(*command) -@@ -317,13 +323,44 @@ - rescue => detail - puts detail.to_s - exit!(1) -- end -- end -- end -+ end # begin; rescue -+ end # if child_pid; else -+ else -+ IO.popen("-") do |f| -+ if f -+ # Parent process executes this -+ output = f.read -+ else -+ # Parent process executes this -+ begin -+ $stdin.reopen("/dev/null") -+ $stderr.close -+ $stderr = $stdout.dup -+ if arguments[:gid] -+ Process.egid = arguments[:gid] -+ Process.gid = arguments[:gid] unless @@os == "Darwin" -+ end -+ if arguments[:uid] -+ Process.euid = arguments[:uid] -+ Process.uid = arguments[:uid] unless @@os == "Darwin" -+ end -+ if command.is_a?(Array) -+ Kernel.exec(*command) -+ else -+ Kernel.exec(command) -+ end -+ rescue => detail -+ puts detail.to_s -+ exit!(1) -+ end # begin; rescue -+ end # if f; else -+ end # IO.popen do |f| -+ child_status = $? -+ end # if arguments[:squelch]; else - -- if failonfail -- unless $? == 0 -- raise ExecutionFailure, "Execution of '%s' returned %s: %s" % [str, $?.exitstatus, output] -+ if arguments[:failonfail] -+ unless child_status == 0 -+ raise ExecutionFailure, "Execution of '%s' returned %s: %s" % [str, child_status.inspect, output] - end - end - -Index: lib/puppet/provider/service/base.rb -=================================================================== ---- lib/puppet/provider/service/base.rb (revision 2377) -+++ lib/puppet/provider/service/base.rb (revision 2385) -@@ -114,12 +114,12 @@ - # A simple wrapper so execution failures are a bit more informative. - def texecute(type, command, fof = true) - begin -- output = execute(command, fof) -+ # #565: Services generally produce no output, so squelch them. -+ execute(command, :failonfail => fof, :squelch => true) - rescue Puppet::ExecutionFailure => detail - @model.fail "Could not %s %s: %s" % [type, @model.ref, detail] - end -- -- return output -+ return nil - end - - # Use either a specified command or the default for our provider. diff --git a/sysutils/puppet/files/patch-define_batch b/sysutils/puppet/files/patch-define_batch new file mode 100644 index 000000000000..e97ffddaa161 --- /dev/null +++ b/sysutils/puppet/files/patch-define_batch @@ -0,0 +1,13 @@ +always define PATCH. without it, puppetd hangs when upgrading INTERACTIVE port. +http://reductivelabs.com/trac/puppet/ticket/624 +--- lib/puppet/provider/package/ports.rb.orig Tue May 8 14:55:34 2007 ++++ lib/puppet/provider/package/ports.rb Tue May 8 14:55:57 2007 +@@ -19,7 +19,7 @@ + # -p: create a package + # -N: install if the package is missing, otherwise upgrade + # -P: prefer binary packages +- cmd = %w{-p -N -P} << @model[:name] ++ cmd = %w{-p -N -P -M BATCH=yes} << @model[:name] + + output = portupgrade(*cmd) + if output =~ /\*\* No such / diff --git a/sysutils/puppet/files/patch-package-name-with-dash b/sysutils/puppet/files/patch-package-name-with-dash new file mode 100644 index 000000000000..93b60bc6dfa0 --- /dev/null +++ b/sysutils/puppet/files/patch-package-name-with-dash @@ -0,0 +1,13 @@ +support package that contains '-' in its name, like syslog-ng +http://reductivelabs.com/trac/puppet/ticket/628 +--- lib/puppet/provider/package/ports.rb.orig Wed May 9 17:12:39 2007 ++++ lib/puppet/provider/package/ports.rb Wed May 9 17:13:57 2007 +@@ -47,7 +47,7 @@ + match = $2 + info = $3 + +- unless pkgstuff =~ /^(\w+)-([0-9].+)$/ ++ unless pkgstuff =~ /^(\S+)-([^-\s]+)$/ + raise Puppet::PackageError, + "Could not match package info '%s'" % pkgstuff + end diff --git a/sysutils/puppet/files/puppetmasterd.in b/sysutils/puppet/files/puppetmasterd.in index bb8e7370c28f..cdb817faf448 100644 --- a/sysutils/puppet/files/puppetmasterd.in +++ b/sysutils/puppet/files/puppetmasterd.in @@ -8,6 +8,9 @@ # Add the following lines to /etc/rc.conf to enable puppetmasterd: # # puppetmasterd_enable="YES" +# puppetmasterd_confdir: Set to %%PREFIX%%/etc/puppet by default +# puppetmasterd_flags: Set to --confdir $puppetmasterd_confdir --rundir /var/run" by default +# . %%RC_SUBR%% @@ -16,6 +19,21 @@ rcvar=`set_rcvar` command="%%PREFIX%%/bin/${name}" command_interpreter="%%PREFIX%%/bin/ruby18" +start_precmd="puppetmasterd_checkconfig" +restart_precmd="puppetmasterd_checkconfig" + +puppetmasterd_checkconfig() { + echo -n "Performing sanity check of ${name} configuration: " + ${command} --parseonly ${puppetmasterd_flags} >/dev/null 2>&1 + rv=$? + if [ $rv != 0 ]; then + echo "FAILED, ${name} exited with status ${rv}" + ${command} --parseonly ${puppetmasterd_flags} + return 1 + else + echo "OK" + fi +} load_rc_config "$name" : ${puppetmasterd_enable="NO"} diff --git a/sysutils/puppet/pkg-plist b/sysutils/puppet/pkg-plist index eec32447eede..f2dd8c608fe1 100644 --- a/sysutils/puppet/pkg-plist +++ b/sysutils/puppet/pkg-plist @@ -139,9 +139,8 @@ bin/puppetmasterd %%RUBY_SITELIBDIR%%/puppet/rails/external/tagging/init.rb %%RUBY_SITELIBDIR%%/puppet/rails/database/schema.rb %%RUBY_SITELIBDIR%%/puppet/rails/database/001_add_indexes.rb -%%RUBY_SITELIBDIR%%/puppet/feature/ldap.rb +%%RUBY_SITELIBDIR%%/puppet/feature/base.rb %%RUBY_SITELIBDIR%%/puppet/feature/rails.rb -%%RUBY_SITELIBDIR%%/puppet/feature/usage.rb %%RUBY_SITELIBDIR%%/puppet/network/authconfig.rb %%RUBY_SITELIBDIR%%/puppet/network/client_request.rb %%RUBY_SITELIBDIR%%/puppet/network/authorization.rb @@ -246,6 +245,7 @@ bin/puppetmasterd %%RUBY_SITELIBDIR%%/puppet/provider/package/sunfreeware.rb %%RUBY_SITELIBDIR%%/puppet/provider/package/ports.rb %%RUBY_SITELIBDIR%%/puppet/provider/package/apt.rb +%%RUBY_SITELIBDIR%%/puppet/provider/package/aptrpm.rb %%RUBY_SITELIBDIR%%/puppet/provider/package/apple.rb %%RUBY_SITELIBDIR%%/puppet/provider/package/gem.rb %%RUBY_SITELIBDIR%%/puppet/provider/package/aptitude.rb @@ -253,6 +253,7 @@ bin/puppetmasterd %%RUBY_SITELIBDIR%%/puppet/provider/package/darwinport.rb %%RUBY_SITELIBDIR%%/puppet/provider/package/sun.rb %%RUBY_SITELIBDIR%%/puppet/provider/package/yum.rb +%%RUBY_SITELIBDIR%%/puppet/provider/package/rug.rb %%RUBY_SITELIBDIR%%/puppet/provider/package/openbsd.rb %%RUBY_SITELIBDIR%%/puppet/provider/package/blastwave.rb @dirrmtry %%RUBY_SITELIBDIR%%/puppet/provider/cron @@ -315,6 +316,7 @@ bin/puppetmasterd %%PORTDOCS%%%%EXAMPLESDIR%%/code/selectors %%PORTDOCS%%%%EXAMPLESDIR%%/code/execs %%PORTDOCS%%%%EXAMPLESDIR%%/code/nodes +%%PORTDOCS%%%%EXAMPLESDIR%%/code/mac_automount.pp %%PORTDOCS%%%%EXAMPLESDIR%%/code/filerecursion %%PORTDOCS%%%%EXAMPLESDIR%%/code/components %%PORTDOCS%%%%EXAMPLESDIR%%/code/file.bl |