aboutsummaryrefslogtreecommitdiff
path: root/sysutils/puppet
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2007-05-27 11:31:25 +0000
committerMartin Wilke <miwi@FreeBSD.org>2007-05-27 11:31:25 +0000
commit6d8ee670f56e5597a8ce2a4e921feb4273add053 (patch)
tree099c61ea70f7b02cf96adae92e1c08358e7ca7e1 /sysutils/puppet
parent46cd2b95fc269f6430777a6302dec20ecbb1e196 (diff)
downloadports-6d8ee670f56e5597a8ce2a4e921feb4273add053.tar.gz
ports-6d8ee670f56e5597a8ce2a4e921feb4273add053.zip
Notes
Diffstat (limited to 'sysutils/puppet')
-rw-r--r--sysutils/puppet/Makefile5
-rw-r--r--sysutils/puppet/distinfo6
-rw-r--r--sysutils/puppet/files/patch-2385203
-rw-r--r--sysutils/puppet/files/patch-define_batch13
-rw-r--r--sysutils/puppet/files/patch-package-name-with-dash13
-rw-r--r--sysutils/puppet/files/puppetmasterd.in18
-rw-r--r--sysutils/puppet/pkg-plist6
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