summaryrefslogtreecommitdiff
path: root/sysutils
diff options
context:
space:
mode:
authortonnerre <tonnerre>2008-03-13 14:17:05 +0000
committertonnerre <tonnerre>2008-03-13 14:17:05 +0000
commit76c70da63cad2bb12d6765d4b551f5878e6e9385 (patch)
tree2c6913a3572d0b037ef719fab63842ac211224e5 /sysutils
parentb25218c57fb480eecebe3a4b6a4778c1c896a735 (diff)
downloadpkgsrc-76c70da63cad2bb12d6765d4b551f5878e6e9385.tar.gz
Add Puppet version 0.22.4
Approved-by: jlam, gdt
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/puppet/DESCR5
-rw-r--r--sysutils/puppet/Makefile66
-rw-r--r--sysutils/puppet/PLIST340
-rw-r--r--sysutils/puppet/distinfo8
-rw-r--r--sysutils/puppet/files/puppetd.sh36
-rw-r--r--sysutils/puppet/files/puppetmasterd.sh51
-rw-r--r--sysutils/puppet/patches/patch-aa16
-rw-r--r--sysutils/puppet/patches/patch-ab27
-rw-r--r--sysutils/puppet/patches/patch-ac16
9 files changed, 565 insertions, 0 deletions
diff --git a/sysutils/puppet/DESCR b/sysutils/puppet/DESCR
new file mode 100644
index 00000000000..d760661e74e
--- /dev/null
+++ b/sysutils/puppet/DESCR
@@ -0,0 +1,5 @@
+Puppet lets you centrally manage every important aspect of your system using
+a cross-platform specification language that manages all the separate
+element normally aggregated in different files, like users, cron jobs, and
+hosts, along with obviouslly discrete elements like packages, services, and
+files.
diff --git a/sysutils/puppet/Makefile b/sysutils/puppet/Makefile
new file mode 100644
index 00000000000..61debd0481e
--- /dev/null
+++ b/sysutils/puppet/Makefile
@@ -0,0 +1,66 @@
+# $NetBSD: Makefile,v 1.1.1.1 2008/03/13 14:17:05 tonnerre Exp $
+#
+
+DISTNAME= puppet-0.22.4
+CATEGORIES= sysutils
+MASTER_SITES= http://www.reductivelabs.com/downloads/puppet/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= tonnerre@NetBSD.org
+HOMEPAGE= http://www.reductivelabs.com/projects/puppet/
+COMMENT= Configuration management framework written in Ruby
+
+NO_BUILD= yes
+DOCS= CHANGELOG TODO README LICENSE COPYING
+PUPPET_DOCSDIR= ${PREFIX}/share/doc/puppet
+PUPPET_EXAMPLESDIR= ${PREFIX}/share/examples/puppet
+EXAMPLEROOT_DIRS= bin etc etc/init.d etc/puppet
+EXAMPLEROOT_FILES= bin/sleeper etc/init.d/sleeper \
+ etc/puppet/puppetd.conf etc/puppet/fileserver.conf \
+ etc/puppet/puppetmasterd.conf etc/puppet/namespaceauth.conf \
+ etc/puppet/tagmail.conf etc/otherfile etc/configfile \
+ etc/debian-passwd etc/debian-syslog.conf
+RCD_SCRIPTS= puppetd puppetmasterd
+
+PLIST_SUBST+= DOCSDIR="${PUPPET_DOCSDIR:S,${PREFIX}/,,}"
+PLIST_SUBST+= EXAMPLESDIR="${PUPPET_EXAMPLESDIR:S,${PREFIX}/,,}"
+
+.include "../../lang/ruby/buildlink3.mk"
+
+DEPENDS+= ${RUBY_PKGPREFIX}-facter-[0-9]*:../../sysutils/ruby-facter
+
+post-patch:
+ ${RM} ${WRKSRC}/bin/*.orig || ${TRUE}
+ ${SED} -e "s@/etc/puppet@${PREFIX}/etc/puppet@" \
+ ${WRKSRC}/lib/puppet/configuration.rb > \
+ ${WRKSRC}/lib/puppet/configuration.rb.new
+ ${MV} ${WRKSRC}/lib/puppet/configuration.rb.new \
+ ${WRKSRC}/lib/puppet/configuration.rb
+
+do-install:
+ cd ${WRKSRC} && ${SETENV} DSTDIR=${DESTDIR}/${PREFIX} \
+ ${RUBY} ${WRKSRC}/install.rb --full
+ ${INSTALL_DATA_DIR} ${PUPPET_DOCSDIR}
+.for file in ${DOCS}
+ ${INSTALL_DATA} ${WRKSRC}/${file} ${PUPPET_DOCSDIR}
+.endfor
+ ${INSTALL_DATA_DIR} ${PUPPET_EXAMPLESDIR}
+ ${INSTALL_DATA_DIR} ${PUPPET_EXAMPLESDIR}/code
+ ${INSTALL_DATA} ${WRKSRC}/examples/code/* ${PUPPET_EXAMPLESDIR}/code
+.for dir in ${EXAMPLEROOT_DIRS}
+ ${INSTALL_DATA_DIR} ${PUPPET_EXAMPLESDIR}/root/${dir}
+.endfor
+.for file in ${EXAMPLEROOT_FILES}
+ ${INSTALL_DATA} ${WRKSRC}/examples/root/${file} \
+ ${PUPPET_EXAMPLESDIR}/root/${file}
+.endfor
+ ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${PUPPET_EXAMPLESDIR}
+
+post-install:
+ ${RUBY} ${PREFIX}/bin/puppetmasterd \
+ --confdir=${PREFIX}/etc/puppet --rundir=/var/run \
+ --genconfig | \
+ ${SED} -e 's/genconfig = true/# genconfig = false/' \
+ > ${PUPPET_EXAMPLESDIR}/puppetmasterd.conf.sample
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/puppet/PLIST b/sysutils/puppet/PLIST
new file mode 100644
index 00000000000..c69ef4b57d6
--- /dev/null
+++ b/sysutils/puppet/PLIST
@@ -0,0 +1,340 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2008/03/13 14:17:05 tonnerre Exp $
+bin/puppet
+bin/puppetca
+bin/puppetd
+bin/puppetdoc
+bin/puppetmasterd
+bin/puppetrun
+${RUBY_SITELIBDIR}/puppet.rb
+${RUBY_SITELIBDIR}/puppet/propertychange.rb
+${RUBY_SITELIBDIR}/puppet/transportable.rb
+${RUBY_SITELIBDIR}/puppet/provider.rb
+${RUBY_SITELIBDIR}/puppet/configuration.rb
+${RUBY_SITELIBDIR}/puppet/modules.rb
+${RUBY_SITELIBDIR}/puppet/error.rb
+${RUBY_SITELIBDIR}/puppet/parameter.rb
+${RUBY_SITELIBDIR}/puppet/daemon.rb
+${RUBY_SITELIBDIR}/puppet/transaction.rb
+${RUBY_SITELIBDIR}/puppet/rails.rb
+${RUBY_SITELIBDIR}/puppet/pgraph.rb
+${RUBY_SITELIBDIR}/puppet/dsl.rb
+${RUBY_SITELIBDIR}/puppet/relationship.rb
+${RUBY_SITELIBDIR}/puppet/event.rb
+${RUBY_SITELIBDIR}/puppet/sslcertificates.rb
+${RUBY_SITELIBDIR}/puppet/type.rb
+${RUBY_SITELIBDIR}/puppet/util.rb
+${RUBY_SITELIBDIR}/puppet/element.rb
+${RUBY_SITELIBDIR}/puppet/type/parsedtype.rb
+${RUBY_SITELIBDIR}/puppet/type/cron.rb
+${RUBY_SITELIBDIR}/puppet/type/sshkey.rb
+${RUBY_SITELIBDIR}/puppet/type/property.rb
+${RUBY_SITELIBDIR}/puppet/type/resources.rb
+${RUBY_SITELIBDIR}/puppet/type/component.rb
+${RUBY_SITELIBDIR}/puppet/type/pfilebucket.rb
+${RUBY_SITELIBDIR}/puppet/type/group.rb
+${RUBY_SITELIBDIR}/puppet/type/notify.rb
+${RUBY_SITELIBDIR}/puppet/type/zone.rb
+${RUBY_SITELIBDIR}/puppet/type/tidy.rb
+${RUBY_SITELIBDIR}/puppet/type/exec.rb
+${RUBY_SITELIBDIR}/puppet/type/mount.rb
+${RUBY_SITELIBDIR}/puppet/type/yumrepo.rb
+${RUBY_SITELIBDIR}/puppet/type/service.rb
+${RUBY_SITELIBDIR}/puppet/type/user.rb
+${RUBY_SITELIBDIR}/puppet/type/host.rb
+${RUBY_SITELIBDIR}/puppet/type/schedule.rb
+${RUBY_SITELIBDIR}/puppet/type/package.rb
+${RUBY_SITELIBDIR}/puppet/type/port.rb
+${RUBY_SITELIBDIR}/puppet/type/pfile.rb
+${RUBY_SITELIBDIR}/puppet/type/pfile/target.rb
+${RUBY_SITELIBDIR}/puppet/type/pfile/group.rb
+${RUBY_SITELIBDIR}/puppet/type/pfile/content.rb
+${RUBY_SITELIBDIR}/puppet/type/pfile/checksum.rb
+${RUBY_SITELIBDIR}/puppet/type/pfile/mode.rb
+${RUBY_SITELIBDIR}/puppet/type/pfile/source.rb
+${RUBY_SITELIBDIR}/puppet/type/pfile/type.rb
+${RUBY_SITELIBDIR}/puppet/type/pfile/ensure.rb
+${RUBY_SITELIBDIR}/puppet/type/pfile/owner.rb
+${RUBY_SITELIBDIR}/puppet/util/warnings.rb
+${RUBY_SITELIBDIR}/puppet/util/execution.rb
+${RUBY_SITELIBDIR}/puppet/util/graph.rb
+${RUBY_SITELIBDIR}/puppet/util/autoload.rb
+${RUBY_SITELIBDIR}/puppet/util/docs.rb
+${RUBY_SITELIBDIR}/puppet/util/config.rb
+${RUBY_SITELIBDIR}/puppet/util/loadedfile.rb
+${RUBY_SITELIBDIR}/puppet/util/pidlock.rb
+${RUBY_SITELIBDIR}/puppet/util/inifile.rb
+${RUBY_SITELIBDIR}/puppet/util/posix.rb
+${RUBY_SITELIBDIR}/puppet/util/filetype.rb
+${RUBY_SITELIBDIR}/puppet/util/log.rb
+${RUBY_SITELIBDIR}/puppet/util/methodhelper.rb
+${RUBY_SITELIBDIR}/puppet/util/logging.rb
+${RUBY_SITELIBDIR}/puppet/util/storage.rb
+${RUBY_SITELIBDIR}/puppet/util/fileparsing.rb
+${RUBY_SITELIBDIR}/puppet/util/subclass_loader.rb
+${RUBY_SITELIBDIR}/puppet/util/variables.rb
+${RUBY_SITELIBDIR}/puppet/util/metaid.rb
+${RUBY_SITELIBDIR}/puppet/util/package.rb
+${RUBY_SITELIBDIR}/puppet/util/classgen.rb
+${RUBY_SITELIBDIR}/puppet/util/plist.rb
+${RUBY_SITELIBDIR}/puppet/util/feature.rb
+${RUBY_SITELIBDIR}/puppet/util/errors.rb
+${RUBY_SITELIBDIR}/puppet/util/metric.rb
+${RUBY_SITELIBDIR}/puppet/util/provider_features.rb
+${RUBY_SITELIBDIR}/puppet/util/suidmanager.rb
+${RUBY_SITELIBDIR}/puppet/util/plist/parser.rb
+${RUBY_SITELIBDIR}/puppet/util/plist/generator.rb
+${RUBY_SITELIBDIR}/puppet/util/rails/collection_merger.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr.rb
+${RUBY_SITELIBDIR}/puppet/external/lock.rb
+${RUBY_SITELIBDIR}/puppet/external/event-loop.rb
+${RUBY_SITELIBDIR}/puppet/external/base64.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/rdot.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/graph.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/common.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/edge.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/undirected_graph.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/labels.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/comparability.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/graph_api.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/strong_components.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/dot.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/digraph_distance.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/search.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/base.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/digraph.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/maximum_flow.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/biconnected.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/adjacency_graph.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/import.rb
+${RUBY_SITELIBDIR}/puppet/external/gratr/chinese_postman.rb
+${RUBY_SITELIBDIR}/puppet/external/event-loop/better-definers.rb
+${RUBY_SITELIBDIR}/puppet/external/event-loop/event-loop.rb
+${RUBY_SITELIBDIR}/puppet/external/event-loop/signal-system.rb
+${RUBY_SITELIBDIR}/puppet/metatype/providers.rb
+${RUBY_SITELIBDIR}/puppet/metatype/evaluation.rb
+${RUBY_SITELIBDIR}/puppet/metatype/manager.rb
+${RUBY_SITELIBDIR}/puppet/metatype/tags.rb
+${RUBY_SITELIBDIR}/puppet/metatype/attributes.rb
+${RUBY_SITELIBDIR}/puppet/metatype/closure.rb
+${RUBY_SITELIBDIR}/puppet/metatype/schedules.rb
+${RUBY_SITELIBDIR}/puppet/metatype/instances.rb
+${RUBY_SITELIBDIR}/puppet/metatype/metaparams.rb
+${RUBY_SITELIBDIR}/puppet/metatype/container.rb
+${RUBY_SITELIBDIR}/puppet/metatype/relationships.rb
+${RUBY_SITELIBDIR}/puppet/reports/tagmail.rb
+${RUBY_SITELIBDIR}/puppet/reports/rrdgraph.rb
+${RUBY_SITELIBDIR}/puppet/reports/log.rb
+${RUBY_SITELIBDIR}/puppet/reports/store.rb
+${RUBY_SITELIBDIR}/puppet/rails/source_file.rb
+${RUBY_SITELIBDIR}/puppet/rails/resource.rb
+${RUBY_SITELIBDIR}/puppet/rails/fact_name.rb
+${RUBY_SITELIBDIR}/puppet/rails/fact_value.rb
+${RUBY_SITELIBDIR}/puppet/rails/param_name.rb
+${RUBY_SITELIBDIR}/puppet/rails/host.rb
+${RUBY_SITELIBDIR}/puppet/rails/param_value.rb
+${RUBY_SITELIBDIR}/puppet/rails/puppet_class.rb
+${RUBY_SITELIBDIR}/puppet/rails/external/tagging/tag.rb
+${RUBY_SITELIBDIR}/puppet/rails/external/tagging/tagging.rb
+${RUBY_SITELIBDIR}/puppet/rails/external/tagging/acts_as_taggable.rb
+${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/base.rb
+${RUBY_SITELIBDIR}/puppet/feature/rails.rb
+${RUBY_SITELIBDIR}/puppet/network/authconfig.rb
+${RUBY_SITELIBDIR}/puppet/network/client_request.rb
+${RUBY_SITELIBDIR}/puppet/network/authorization.rb
+${RUBY_SITELIBDIR}/puppet/network/server.rb
+${RUBY_SITELIBDIR}/puppet/network/rights.rb
+${RUBY_SITELIBDIR}/puppet/network/handler.rb
+${RUBY_SITELIBDIR}/puppet/network/client.rb
+${RUBY_SITELIBDIR}/puppet/network/authstore.rb
+${RUBY_SITELIBDIR}/puppet/network/client/ca.rb
+${RUBY_SITELIBDIR}/puppet/network/client/resource.rb
+${RUBY_SITELIBDIR}/puppet/network/client/report.rb
+${RUBY_SITELIBDIR}/puppet/network/client/logger.rb
+${RUBY_SITELIBDIR}/puppet/network/client/file.rb
+${RUBY_SITELIBDIR}/puppet/network/client/master.rb
+${RUBY_SITELIBDIR}/puppet/network/client/runner.rb
+${RUBY_SITELIBDIR}/puppet/network/client/dipper.rb
+${RUBY_SITELIBDIR}/puppet/network/client/status.rb
+${RUBY_SITELIBDIR}/puppet/network/client/proxy.rb
+${RUBY_SITELIBDIR}/puppet/network/handler/fileserver.rb
+${RUBY_SITELIBDIR}/puppet/network/handler/ca.rb
+${RUBY_SITELIBDIR}/puppet/network/handler/resource.rb
+${RUBY_SITELIBDIR}/puppet/network/handler/report.rb
+${RUBY_SITELIBDIR}/puppet/network/handler/logger.rb
+${RUBY_SITELIBDIR}/puppet/network/handler/master.rb
+${RUBY_SITELIBDIR}/puppet/network/handler/filebucket.rb
+${RUBY_SITELIBDIR}/puppet/network/handler/runner.rb
+${RUBY_SITELIBDIR}/puppet/network/handler/status.rb
+${RUBY_SITELIBDIR}/puppet/network/server/mongrel.rb
+${RUBY_SITELIBDIR}/puppet/network/server/webrick.rb
+${RUBY_SITELIBDIR}/puppet/network/xmlrpc/processor.rb
+${RUBY_SITELIBDIR}/puppet/network/xmlrpc/server.rb
+${RUBY_SITELIBDIR}/puppet/network/xmlrpc/webrick_servlet.rb
+${RUBY_SITELIBDIR}/puppet/network/xmlrpc/client.rb
+${RUBY_SITELIBDIR}/puppet/sslcertificates/ca.rb
+${RUBY_SITELIBDIR}/puppet/sslcertificates/inventory.rb
+${RUBY_SITELIBDIR}/puppet/sslcertificates/certificate.rb
+${RUBY_SITELIBDIR}/puppet/sslcertificates/support.rb
+${RUBY_SITELIBDIR}/puppet/parser/parser.rb
+${RUBY_SITELIBDIR}/puppet/parser/functions.rb
+${RUBY_SITELIBDIR}/puppet/parser/collector.rb
+${RUBY_SITELIBDIR}/puppet/parser/resource.rb
+${RUBY_SITELIBDIR}/puppet/parser/scope.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast.rb
+${RUBY_SITELIBDIR}/puppet/parser/lexer.rb
+${RUBY_SITELIBDIR}/puppet/parser/interpreter.rb
+${RUBY_SITELIBDIR}/puppet/parser/templatewrapper.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/resourceref.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/resourceparam.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/hostclass.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/leaf.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/astarray.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/component.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/resourceoverride.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/function.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/else.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/vardef.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/selector.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/caseopt.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/collection.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/casestatement.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/node.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/ifstatement.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/resourcedefaults.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/tag.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/collexpr.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/branch.rb
+${RUBY_SITELIBDIR}/puppet/parser/ast/resourcedef.rb
+${RUBY_SITELIBDIR}/puppet/parser/resource/param.rb
+${RUBY_SITELIBDIR}/puppet/parser/resource/reference.rb
+${RUBY_SITELIBDIR}/puppet/transaction/report.rb
+${RUBY_SITELIBDIR}/puppet/provider/nameservice.rb
+${RUBY_SITELIBDIR}/puppet/provider/mount.rb
+${RUBY_SITELIBDIR}/puppet/provider/parsedfile.rb
+${RUBY_SITELIBDIR}/puppet/provider/cron/crontab.rb
+${RUBY_SITELIBDIR}/puppet/provider/host/parsed.rb
+${RUBY_SITELIBDIR}/puppet/provider/host/netinfo.rb
+${RUBY_SITELIBDIR}/puppet/provider/port/parsed.rb
+${RUBY_SITELIBDIR}/puppet/provider/user/pw.rb
+${RUBY_SITELIBDIR}/puppet/provider/user/useradd.rb
+${RUBY_SITELIBDIR}/puppet/provider/user/netinfo.rb
+${RUBY_SITELIBDIR}/puppet/provider/zone/solaris.rb
+${RUBY_SITELIBDIR}/puppet/provider/group/pw.rb
+${RUBY_SITELIBDIR}/puppet/provider/group/netinfo.rb
+${RUBY_SITELIBDIR}/puppet/provider/group/groupadd.rb
+${RUBY_SITELIBDIR}/puppet/provider/mount/parsed.rb
+${RUBY_SITELIBDIR}/puppet/provider/mount/netinfo.rb
+${RUBY_SITELIBDIR}/puppet/provider/service/debian.rb
+${RUBY_SITELIBDIR}/puppet/provider/service/redhat.rb
+${RUBY_SITELIBDIR}/puppet/provider/service/smf.rb
+${RUBY_SITELIBDIR}/puppet/provider/service/gentoo.rb
+${RUBY_SITELIBDIR}/puppet/provider/service/base.rb
+${RUBY_SITELIBDIR}/puppet/provider/service/init.rb
+${RUBY_SITELIBDIR}/puppet/provider/nameservice/pw.rb
+${RUBY_SITELIBDIR}/puppet/provider/nameservice/objectadd.rb
+${RUBY_SITELIBDIR}/puppet/provider/nameservice/netinfo.rb
+${RUBY_SITELIBDIR}/puppet/provider/sshkey/parsed.rb
+${RUBY_SITELIBDIR}/puppet/provider/package/up2date.rb
+${RUBY_SITELIBDIR}/puppet/provider/package/portage.rb
+${RUBY_SITELIBDIR}/puppet/provider/package/dpkg.rb
+${RUBY_SITELIBDIR}/puppet/provider/package/pkgdmg.rb
+${RUBY_SITELIBDIR}/puppet/provider/package/freebsd.rb
+${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
+${RUBY_SITELIBDIR}/puppet/provider/package/rpm.rb
+${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
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider/cron
+@dirrm ${RUBY_SITELIBDIR}/puppet/network/xmlrpc
+@dirrm ${RUBY_SITELIBDIR}/puppet/network/server
+@dirrm ${RUBY_SITELIBDIR}/puppet/network/handler
+@dirrm ${RUBY_SITELIBDIR}/puppet/network/client
+@dirrm ${RUBY_SITELIBDIR}/puppet/network
+@dirrm ${RUBY_SITELIBDIR}/puppet/util/rails
+@dirrm ${RUBY_SITELIBDIR}/puppet/util/plist
+@dirrm ${RUBY_SITELIBDIR}/puppet/util
+@dirrm ${RUBY_SITELIBDIR}/puppet/type/pfile
+@dirrm ${RUBY_SITELIBDIR}/puppet/type
+@dirrm ${RUBY_SITELIBDIR}/puppet/transaction
+@dirrm ${RUBY_SITELIBDIR}/puppet/sslcertificates
+@dirrm ${RUBY_SITELIBDIR}/puppet/reports
+@dirrm ${RUBY_SITELIBDIR}/puppet/rails/external/tagging
+@dirrm ${RUBY_SITELIBDIR}/puppet/rails/external
+@dirrm ${RUBY_SITELIBDIR}/puppet/rails/database
+@dirrm ${RUBY_SITELIBDIR}/puppet/rails
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider/zone
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider/user
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider/sshkey
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider/service
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider/port
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider/package
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider/nameservice
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider/mount
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider/host
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider/group
+@dirrm ${RUBY_SITELIBDIR}/puppet/provider
+@dirrm ${RUBY_SITELIBDIR}/puppet/parser/resource
+@dirrm ${RUBY_SITELIBDIR}/puppet/parser/ast
+@dirrm ${RUBY_SITELIBDIR}/puppet/parser
+@dirrm ${RUBY_SITELIBDIR}/puppet/metatype
+@dirrm ${RUBY_SITELIBDIR}/puppet/feature
+@dirrm ${RUBY_SITELIBDIR}/puppet/external/gratr
+@dirrm ${RUBY_SITELIBDIR}/puppet/external/event-loop
+@dirrm ${RUBY_SITELIBDIR}/puppet/external
+@dirrm ${RUBY_SITELIBDIR}/puppet
+${DOCSDIR}/CHANGELOG
+${DOCSDIR}/TODO
+${DOCSDIR}/README
+${DOCSDIR}/LICENSE
+${DOCSDIR}/COPYING
+@dirrm ${DOCSDIR}
+${EXAMPLESDIR}/root/bin/sleeper
+${EXAMPLESDIR}/root/etc/init.d/sleeper
+${EXAMPLESDIR}/root/etc/puppet/puppetd.conf
+${EXAMPLESDIR}/root/etc/puppet/fileserver.conf
+${EXAMPLESDIR}/root/etc/puppet/puppetmasterd.conf
+${EXAMPLESDIR}/root/etc/puppet/namespaceauth.conf
+${EXAMPLESDIR}/root/etc/puppet/tagmail.conf
+${EXAMPLESDIR}/root/etc/otherfile
+${EXAMPLESDIR}/root/etc/configfile
+${EXAMPLESDIR}/root/etc/debian-passwd
+${EXAMPLESDIR}/root/etc/debian-syslog.conf
+${EXAMPLESDIR}/code/allatonce
+${EXAMPLESDIR}/code/head
+${EXAMPLESDIR}/code/selectors
+${EXAMPLESDIR}/code/execs
+${EXAMPLESDIR}/code/nodes
+${EXAMPLESDIR}/code/mac_automount.pp
+${EXAMPLESDIR}/code/filerecursion
+${EXAMPLESDIR}/code/components
+${EXAMPLESDIR}/code/file.bl
+${EXAMPLESDIR}/code/groups
+${EXAMPLESDIR}/code/functions
+${EXAMPLESDIR}/code/fileparsing
+${EXAMPLESDIR}/code/svncommit
+${EXAMPLESDIR}/code/filedefaults
+${EXAMPLESDIR}/code/simpletests
+${EXAMPLESDIR}/code/assignments
+${EXAMPLESDIR}/code/relationships
+${EXAMPLESDIR}/code/importing
+${EXAMPLESDIR}/code/one
+${EXAMPLESDIR}/puppetmasterd.conf.sample
+@dirrm ${EXAMPLESDIR}/root/bin
+@dirrm ${EXAMPLESDIR}/root/etc/init.d
+@dirrm ${EXAMPLESDIR}/root/etc/puppet
+@dirrm ${EXAMPLESDIR}/root/etc
+@dirrm ${EXAMPLESDIR}/root
+@dirrm ${EXAMPLESDIR}/code
+@dirrm ${EXAMPLESDIR}
diff --git a/sysutils/puppet/distinfo b/sysutils/puppet/distinfo
new file mode 100644
index 00000000000..19406dbfe8e
--- /dev/null
+++ b/sysutils/puppet/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.1.1.1 2008/03/13 14:17:05 tonnerre Exp $
+
+SHA1 (puppet-0.22.4.tgz) = afc6e64dcbfab251dd433c6e0de5015cbe0a37ec
+RMD160 (puppet-0.22.4.tgz) = c836292dc112e52d32bfdcd68d74799135e9c2e9
+Size (puppet-0.22.4.tgz) = 642077 bytes
+SHA1 (patch-aa) = 73c2ffa5890f6d0d473ec0585b34d42965361b39
+SHA1 (patch-ab) = f14b5f3d595fa5f9d1e115f85d9dd030a711d7bc
+SHA1 (patch-ac) = 1b36104cf7cf92c3b44be49d76de8ebb83b6ee17
diff --git a/sysutils/puppet/files/puppetd.sh b/sysutils/puppet/files/puppetd.sh
new file mode 100644
index 00000000000..aba642e6ffb
--- /dev/null
+++ b/sysutils/puppet/files/puppetd.sh
@@ -0,0 +1,36 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: puppetd.sh,v 1.1.1.1 2008/03/13 14:17:05 tonnerre Exp $
+#
+# PROVIDE: puppetd
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+
+# Add the following lines to /etc/rc.conf to enable puppetd:
+#
+# puppetd="YES"
+# puppetd_confdir="@PREFIX@/etc/puppet"
+# puppetd_pid="/var/run/${name}.pid"
+# puppetd_flags="--confdir $puppetd_confdir --rundir /var/run"
+
+if [ -f /etc/rc.subr ]; then
+ . /etc/rc.subr
+fi
+
+name="puppetd"
+rcvar=$name
+command="@PREFIX@/bin/${name}"
+command_interpreter="@PREFIX@/bin/ruby18"
+: ${puppetd_confdir="@PREFIX@/etc/puppet"}
+: ${puppetd_pid="/var/run/${name}.pid"}
+: ${puppetd_flags="--confdir $puppetd_confdir --rundir /var/run"}
+
+pidfile="$puppetd_pid"
+
+if [ -f /etc/rc.subr -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
+ load_rc_config $name
+elif [ -f /etc/rc.conf ]; then
+ . /etc/rc.conf
+fi
+
+run_rc_command "$1"
diff --git a/sysutils/puppet/files/puppetmasterd.sh b/sysutils/puppet/files/puppetmasterd.sh
new file mode 100644
index 00000000000..38f096e5f72
--- /dev/null
+++ b/sysutils/puppet/files/puppetmasterd.sh
@@ -0,0 +1,51 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: puppetmasterd.sh,v 1.1.1.1 2008/03/13 14:17:05 tonnerre Exp $
+#
+# PROVIDE: puppetmasterd
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+
+# Add the following lines to /etc/rc.conf to enable puppetmasterd:
+#
+# puppetmasterd="YES"
+# puppetmasterd_confdir: Set to @PREFIX@/etc/puppet by default
+# puppetmasterd_flags: Set to --confdir $puppetmasterd_confdir --rundir /var/run" by default
+#
+
+if [ -f /etc/rc.subr ]; then
+ $_rc_subr_loaded . /etc/rc.subr
+fi
+
+name="puppetmasterd"
+rcvar=$name
+command="@PREFIX@/bin/${name}"
+command_interpreter="@PREFIX@/bin/ruby18"
+start_precmd="puppetmasterd_checkconfig"
+restart_precmd="puppetmasterd_checkconfig"
+: ${puppetmasterd_confdir="@PREFIX@/etc/puppet"}
+: ${puppetmasterd_pid="/var/run/${name}.pid"}
+: ${puppetmasterd_flags="--confdir $puppetmasterd_confdir --rundir /var/run"}
+
+pidfile="$puppetmasterd_pid"
+
+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
+}
+
+if [ -f /etc/rc.subr -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
+ load_rc_config "$name"
+elif [ -f /etc/rc.conf ]; then
+ . /etc/rc.conf
+fi
+
+run_rc_command "$1"
diff --git a/sysutils/puppet/patches/patch-aa b/sysutils/puppet/patches/patch-aa
new file mode 100644
index 00000000000..70916a2051c
--- /dev/null
+++ b/sysutils/puppet/patches/patch-aa
@@ -0,0 +1,16 @@
+$NetBSD: patch-aa,v 1.1.1.1 2008/03/13 14:17:05 tonnerre Exp $
+
+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/patches/patch-ab b/sysutils/puppet/patches/patch-ab
new file mode 100644
index 00000000000..bdcf43e4531
--- /dev/null
+++ b/sysutils/puppet/patches/patch-ab
@@ -0,0 +1,27 @@
+$NetBSD: patch-ab,v 1.1.1.1 2008/03/13 14:17:05 tonnerre Exp $
+
+Support both /etc/rc.d/daemon and /etc/rc.d/daemon.sh
+http://reductivelabs.com/trac/puppet/ticket/572
+
+--- lib/puppet/provider/service/init.rb.orig Mon Apr 2 17:52:00 2007
++++ lib/puppet/provider/service/init.rb Mon Apr 2 18:01:50 2007
+@@ -114,6 +114,19 @@
+ # if we've gotten this far, we found a valid script
+ return fqname
+ }
++ @model[:path].each { |path|
++ fqname_sh = File.join(path,"#{name}.sh")
++ begin
++ stat = File.stat(fqname_sh)
++ rescue
++ # should probably rescue specific errors...
++ self.debug("Could not find %s.sh in %s" % [name,path])
++ next
++ end
++
++ # if we've gotten this far, we found a valid script
++ return fqname_sh
++ }
+ raise Puppet::Error, "Could not find init script for '%s'" % name
+ end
+
diff --git a/sysutils/puppet/patches/patch-ac b/sysutils/puppet/patches/patch-ac
new file mode 100644
index 00000000000..352b36cdf6d
--- /dev/null
+++ b/sysutils/puppet/patches/patch-ac
@@ -0,0 +1,16 @@
+$NetBSD: patch-ac,v 1.1.1.1 2008/03/13 14:17:05 tonnerre Exp $
+
+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