pkgsrc/sysutils/puppet/Makefile

120 lines
4 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.28 2016/09/08 15:19:18 joerg Exp $
DISTNAME= puppet-3.8.7
CATEGORIES= sysutils
#MASTER_SITES= http://puppetlabs.com/downloads/puppet/
MAINTAINER= tonnerre@NetBSD.org
HOMEPAGE= http://www.puppetlabs.com/
COMMENT= Configuration management framework written in Ruby
LICENSE= apache-2.0
DEPENDS+= ${RUBY_PKGPREFIX}-facter>=1.7.0<3:../../sysutils/ruby-facter
DEPENDS+= ${RUBY_PKGPREFIX}-hiera>=1.0.0<3:../../databases/ruby-hiera
Update puppet to version 0.24.4. Changes from verison 0.22.4 include: + Install as a Ruby gem. - Better caching of external lookups. - Many bug fixes. - External node commands can specify an environment and Puppet will now use it. - Always duplicating resource defaults in the parser, so that stacked metaparameter values do not result in all resources that receive a given default also getting those stacked values. - Puppet's parser no longer changes the order in which statements are evaluated, which means that case statements can now set variables that are used by other variables. - Clients should now fail to install files whose checksums do not match the checksum from the server. - Autoloading now searches the plugins directory in each module, in addition to the lib directory. - Virtual defined types are no longer evaluated. NOTE: This introduces a behaviour change, in that you previously could realize a resource within a virtual defined resource, and now you must realize the entire defined resource, rather than just the contained resource. - Added builtin support for Nagios types using Naginator to parse and generate the files. - Modifying the behaviour of the certdnsnames setting. It now defaults to an empty string, and will only be used if it is set to something else. - External node support now requires that you set the 'node_terminus' setting to 'exec'. - You now must specify an environment and you are required to specify the valid environments for your site. - The --use-nodes and --no-nodes options are now obsolete. Puppet automatically detects when nodes are defined, and if they are defined it will require that a node be found, else it will not look for a node nor will it fail if it fails to find one. - Added support for managing interfaces. - Puppet clients now have http proxy support. - Adding module autoloading. - Significantly reworked external node support, in a way that's NOT backward-compatible: Only ONE node source can be used -- you can use LDAP, code, or an external node program, but not more than one. LDAP node support has two changes: First, the "ldapattrs" attribute is now used for setting the attributes to retrieve from the server (in addition to required attriutes), and second, all retrieved attributes are set as variables in the top scope. This means you can set attributes on your LDAP nodes and they will automatically appear as variables in your configurations. External node support has been completely rewritten. These programs must now generate a YAML dump of a hash, with "classes" and "parameters" keys. The classes should be an array, and the parameters should be a hash. The external node program has no support for parent nodes -- the script must handle that on its own. - Replaced the obsolete RRD ruby library with the maintained RubyRRDtool library - Significantly reworking configuration parsing. Executables all now look for 'puppet.conf', although they will parse the old-style configuration files if they are present, although they throw a deprecation warning. Also, file parameters (owner, mode, group) are now set on the same line as the parameter, in brackets.
2008-04-04 17:20:48 +02:00
RUBY_VERSIONS_ACCEPTED= 21
RUBY_JSON_REQD= 0
OVERRIDE_GEMSPEC= json_pure:json>0
RUBYGEM_OPTIONS+= --format-executable
Update puppet to version 0.24.4. Changes from verison 0.22.4 include: + Install as a Ruby gem. - Better caching of external lookups. - Many bug fixes. - External node commands can specify an environment and Puppet will now use it. - Always duplicating resource defaults in the parser, so that stacked metaparameter values do not result in all resources that receive a given default also getting those stacked values. - Puppet's parser no longer changes the order in which statements are evaluated, which means that case statements can now set variables that are used by other variables. - Clients should now fail to install files whose checksums do not match the checksum from the server. - Autoloading now searches the plugins directory in each module, in addition to the lib directory. - Virtual defined types are no longer evaluated. NOTE: This introduces a behaviour change, in that you previously could realize a resource within a virtual defined resource, and now you must realize the entire defined resource, rather than just the contained resource. - Added builtin support for Nagios types using Naginator to parse and generate the files. - Modifying the behaviour of the certdnsnames setting. It now defaults to an empty string, and will only be used if it is set to something else. - External node support now requires that you set the 'node_terminus' setting to 'exec'. - You now must specify an environment and you are required to specify the valid environments for your site. - The --use-nodes and --no-nodes options are now obsolete. Puppet automatically detects when nodes are defined, and if they are defined it will require that a node be found, else it will not look for a node nor will it fail if it fails to find one. - Added support for managing interfaces. - Puppet clients now have http proxy support. - Adding module autoloading. - Significantly reworked external node support, in a way that's NOT backward-compatible: Only ONE node source can be used -- you can use LDAP, code, or an external node program, but not more than one. LDAP node support has two changes: First, the "ldapattrs" attribute is now used for setting the attributes to retrieve from the server (in addition to required attriutes), and second, all retrieved attributes are set as variables in the top scope. This means you can set attributes on your LDAP nodes and they will automatically appear as variables in your configurations. External node support has been completely rewritten. These programs must now generate a YAML dump of a hash, with "classes" and "parameters" keys. The classes should be an array, and the parameters should be a hash. The external node program has no support for parent nodes -- the script must handle that on its own. - Replaced the obsolete RRD ruby library with the maintained RubyRRDtool library - Significantly reworking configuration parsing. Executables all now look for 'puppet.conf', although they will parse the old-style configuration files if they are present, although they throw a deprecation warning. Also, file parameters (owner, mode, group) are now set on the same line as the parameter, in brackets.
2008-04-04 17:20:48 +02:00
PKG_SYSCONFSUBDIR= puppet
RCD_SCRIPTS= puppetd puppetmasterd
SUBST_CLASSES+= prefix
SUBST_STAGE.prefix= post-patch
SUBST_FILES.prefix= install.rb
SUBST_FILES.prefix+= lib/puppet/face/module/changes.rb
SUBST_FILES.prefix+= lib/puppet/face/module/install.rb
SUBST_FILES.prefix+= lib/puppet/face/module/list.rb
SUBST_FILES.prefix+= lib/puppet/face/module/uninstall.rb
SUBST_FILES.prefix+= lib/puppet/face/module/upgrade.rb
SUBST_FILES.prefix+= lib/puppet/parser/functions/extlookup.rb
SUBST_FILES.prefix+= lib/puppet/reference/configuration.rb
Update sysutils/puppet to 3.8.2. Puppet 3.8.1-3.8.2 - Bug fixes - Minor improvements - Improvements for future migration to 4.0 Puppet 3.8.0 - Back-end Support for Upgrade Previews - Logging as JSON - Bug fixes and improvements Release notes for 3.8.x: https://docs.puppetlabs.com/puppet/3.8/reference/release_notes.html Puppet 3.7.1-3.7.5 - Bug fixes - Security fix for the POODLE vulnerability in the WEBrick master process Puppet 3.7.0 - A nearly-final implementation of the Puppet 4 language - Preview support for a new, fast, natively compiled Facter - Lots of deprecations to prepare for Puppet 4.0 - Bug fixes and minor improvements Release notes for 3.7.x: https://docs.puppetlabs.com/puppet/3.7/reference/release_notes.html Puppet 3.6.1-3.6.2 - Security fixes for CVE-2014-3248 and CVE-2014-3250. - Bug fixes. Puppet 3.6.0 - Improvements to directory environments, and the deprecation of config file environments - Support for purging unmanaged ssh_authorized_key resources - Support for installing gems for a custom provider as part of a Puppet run - A configurable global logging level - A configurable hashing algorithm (for FIPS compliance and other purposes) - Improvements to the experimental future parser - Bug fixes and minor improvements Release notes for 3.6.x: https://docs.puppetlabs.com/puppet/3.6/reference/release_notes.html Puppet 3.5.1 - Bug fixes. Puppet 3.5.0 - A new way to set up environments, which replaces the popular "dynamic environments" pattern - A cleaner replacement for the classic import nodes/*.pp pattern - Scriptable configuration with a new puppet config set command - A new global $facts hash - Early support for hashes and arrays in fact values - Improvements to the future parser - Support for RHEL 7, Ruby 2.1, and Facter 2.0 - Bug fixes and minor improvements Release notes for 3.5.x: https://docs.puppetlabs.com/puppet/3.5/reference/release_notes.html Puppet 3.4.1-3.4.3 - Bug fixes. - Security fix for CVE-2013-4969. Puppet 3.4.0 - Fixes for some high-profile bugs, including the "anchor pattern" issue and broken RDoc on Ruby 1.9+ - New certificate autosigning behavior to help quickly and securely add new nodes in elastic environments - Windows improvements, especially for file resources - Trusted node data in the compiler - Bug fixes and minor improvements Puppet 3.3.1-3.3.2 - Bug fixes Puppet 3.3.0 - Configurable Resource Ordering - Data in Modules - YAML Over the Network is Now Deprecated - Regex Capture Variables from Node Definitions ($1, etc.) - Redirect Response Handling - Filebucket Improvements - Internal Format and API Improvements - Improvements to Resource Types - Bug fixes and minor improvements Puppet 3.2.1-3.2.4 - Bug fixes - Security fixes for CVE-2013-4761 and CVE-2013-4956 - Security fix for CVE-2013-3567 Puppet 3.2.0 - An optional, experimental "Future" parser - Ruby 2.0 support - OpenWRT OS support - External CA support - A new modulo (%) operator - New slow catalog profiling capabilities - Bug fixes and minor improvements Release notes for for 3.2.x-3.4.x: - https://docs.puppetlabs.com/puppet/3/reference/release_notes.html
2015-08-17 15:20:43 +02:00
SUBST_FILES.prefix+= lib/puppet/util/run_mode.rb
SUBST_FILES.prefix+= ext/solaris/smf/puppetd.xml
SUBST_FILES.prefix+= ext/solaris/smf/puppetmasterd.xml
SUBST_FILES.prefix+= man/man5/puppet.conf.5
SUBST_FILES.prefix+= man/man8/puppet-apply.8
SUBST_FILES.prefix+= man/man8/puppet-device.8
SUBST_FILES.prefix+= man/man8/puppet-doc.8
SUBST_FILES.prefix+= man/man8/puppet-module.8
SUBST_FILES.prefix+= man/man8/puppet-parser.8
SUBST_FILES.prefix+= spec/unit/util/run_mode_spec.rb
SUBST_FILES.prefix+= spec/unit/util/selinux_spec.rb
SUBST_FILES.prefix+= spec/unit/indirector/catalog/static_compiler_spec.rb
Update puppet to version 0.24.4. Changes from verison 0.22.4 include: + Install as a Ruby gem. - Better caching of external lookups. - Many bug fixes. - External node commands can specify an environment and Puppet will now use it. - Always duplicating resource defaults in the parser, so that stacked metaparameter values do not result in all resources that receive a given default also getting those stacked values. - Puppet's parser no longer changes the order in which statements are evaluated, which means that case statements can now set variables that are used by other variables. - Clients should now fail to install files whose checksums do not match the checksum from the server. - Autoloading now searches the plugins directory in each module, in addition to the lib directory. - Virtual defined types are no longer evaluated. NOTE: This introduces a behaviour change, in that you previously could realize a resource within a virtual defined resource, and now you must realize the entire defined resource, rather than just the contained resource. - Added builtin support for Nagios types using Naginator to parse and generate the files. - Modifying the behaviour of the certdnsnames setting. It now defaults to an empty string, and will only be used if it is set to something else. - External node support now requires that you set the 'node_terminus' setting to 'exec'. - You now must specify an environment and you are required to specify the valid environments for your site. - The --use-nodes and --no-nodes options are now obsolete. Puppet automatically detects when nodes are defined, and if they are defined it will require that a node be found, else it will not look for a node nor will it fail if it fails to find one. - Added support for managing interfaces. - Puppet clients now have http proxy support. - Adding module autoloading. - Significantly reworked external node support, in a way that's NOT backward-compatible: Only ONE node source can be used -- you can use LDAP, code, or an external node program, but not more than one. LDAP node support has two changes: First, the "ldapattrs" attribute is now used for setting the attributes to retrieve from the server (in addition to required attriutes), and second, all retrieved attributes are set as variables in the top scope. This means you can set attributes on your LDAP nodes and they will automatically appear as variables in your configurations. External node support has been completely rewritten. These programs must now generate a YAML dump of a hash, with "classes" and "parameters" keys. The classes should be an array, and the parameters should be a hash. The external node program has no support for parent nodes -- the script must handle that on its own. - Replaced the obsolete RRD ruby library with the maintained RubyRRDtool library - Significantly reworking configuration parsing. Executables all now look for 'puppet.conf', although they will parse the old-style configuration files if they are present, although they throw a deprecation warning. Also, file parameters (owner, mode, group) are now set on the same line as the parameter, in brackets.
2008-04-04 17:20:48 +02:00
SUBST_SED.prefix= -e "s|/etc/puppet|${PKG_SYSCONFDIR}|g"
SUBST_SED.prefix+= -e "s|/opt/csw/lib|${PREFIX}/lib|g"
SUBST_CLASSES+= sufx
SUBST_STAGE.sufx= pre-configure
SUBST_MESSAGE.sufx= Fixing command suffix
SUBST_FILES.sufx= lib/puppet/util/command_line.rb
SUBST_VARS.sufx= RUBY_SUFFIX
EGDIR= share/examples/${PKGBASE}
Update Puppet to version 0.24.7. Changes since 0.24.5: - Fixing puppetlast to make it work with 0.24.5 / 0.25. Made puppetlast work on 0.24.5 by using the YAML indirector. - Fixed bug #1448: Puppet CA incorrectly writes out all certs to inventory .txt on each certificate signing. - Improve performance of group lookups. - Allow specification of --bindir --sbindir --sitelibdir --mandir --destdir in installation (TODOFIXME: Make it available to pkgsrc). - Ensure that we consistently use either string #{} interpolation or String.% interpolation, not both, to avoid issues where a #{} interpolated value contains a % character. - Expose all puppet variables as instance member variables of the template wrapper. - Updated console colours. - A working script to create an OS X pkg out of the Puppet repository. - Removed confine warning. - Add proxy configuration capability to yum repo. - Replaced use of Facter for report titling with certname. - Added stored configuration clearing script to /ext. - Add the -P/--ping option to puppetrun. - Storeconfiguration fixed for Rails 2.1. - Fixed poor stored configuration performance. - Added HP-UX package provider. - Moved individual functions out of functions.rb into lib/puppet/parser/functions directory. New functions should be created in this directory. - Case insensitive match for error. - Removed storeconfig duplicate indexes. - Fixed leak in template. - Added spec Rake task. - Added simple rake task for running unit tests. - Added daemontools and runit providers for service type. - Changed permissions for man directory. - Fix exception for undefined hostname. - puppetmaster.freshness xmlrpc call returns incorrect type. - Adds HP-UX support for user type. - Updated Red Hat spec file. - Fixed debug messages in package type. - Changed password property of the user type. - Fixed debug messages in package type. - Adjusted hpuxuseradd user provider to confine to HP-UX and fixed HP-UX user provider path regression. - Puppet and Facter cannot both install the plist module into two different locations. - Puppet::Util::binary returns incorrect results. - createpackage.sh. - Fixed issues with file descriptors leaking into subprocesses. - ldap user and password are now used with the default connection. - File purging now fails if remote sources do not exist. - Errors in the Puppet RPM spec file. - puppetrun now working. - Added support for multiple template directories. - Added support for appended variables. - Fixed puppetca --clean --all. - Internally, Property#retrieve is no longer called when no 'should' value is available for a resource. - Defined, exported resources in the current compile now get expanded correctly. - Multiple metaparams all get added to resources. - Added ubuntu to defaultfor for Debian service provider. - Added ubuntu to defaultfor for apt provider. - added confines for the gentoo, freebsd and smf (solaris) service providers. - Added a number of confines to package providers. - ssh_authorized_keys provider does not crash anymore on SSH type 1 keys. - Raise "Filebucketed" messages to Notice priority. - You should now be able to create and find a user/group in one transaction. - Users and their groups should again add in one transaction. - Modified the behaviour of resource-level 'retrieve' -- it only calls 'retrieve' on each property if the resource exists. - Modified the group and zone resource types to no longer call 'currentpropvalues' as a means of setting all values to absent. There should be no behaviour change from this change. - Deploying file resources with ++ generates error. - Added support for running Puppet inside a Rack application (mod_rails) with Passenger and Apache. - Saving File#checksum to state.yaml broken. - Allow complex 'if' and variable expressions. - Add 'sles' to Puppet confines when 'suse' is used. - Specifying "fully qualified" package names in Gentoo. - Added RBAC roles to solaris user provider. - Updated puppet binary documentation. - The client environment will be substituted when looking up settings. - Changed node search to use certname rather than Facter hostname. - Environments no longer have to be listed out. - Multiline strings now correctly increment the line count. - Log messages are now tagged with the log level, making it easier to match messages in the 'tagmail' report. - Removed 'Adding aliases' info message. - pluginsync no longer fails poorly when no plugins exist. - Allow multiple overrides in one statement. - Added support for --detailed-exits to bin/puppet. - yum provider problems with RHEL 3. - Puppetd no longer stops with error after puppetmasterd is unavailable. - Collection attribute matching doesn't parse arrays. - With an inexistant (global) templatedir, modules can't access their templates. - Uninitialized constant Puppet::Type::User::ProviderUseradd. - puppetdoc -r providers now working again. - Updated OSX package cleanup. - Service puppet status does not work as non-root on redhat system. - Provider::Confine::Variable tests are broken. - Regression relating to facter fact naming from 0.24.5. - Enhance redhat puppetmaster init.d script to easy start puppetmaster as a mongrel cluster. - Configuration Reference still references 'section'. - Adding support to the user type for: profiles, auths, project, key/value pairs (extension to Solaris RBAC support added in 0.24.6). - Added multiline comment support. - Added support for @doc type and manifest documentation support - see: http://reductivelabs.com/trac/puppet/wiki/PuppetManifestDocumentation. - Added augeas type. - Removed conf/debian directory - Debian packaging information now maintained downstream. - Updated Red Hat spec file for 0.24.6. - Classes and nodes should set $name variable. - Type reference: tidy should specify manditory parameters. - All logs should now show up in the reports. - Added specific recurse values for tidy. - k5login fails to set mode when file is created. - Documentation should specify natural language regexs, not Regexp objects. - Spurious output in test run. - Added uninstall functionality to yum provider. - Added preseed to apt uninstall and purge. - Unsafe crontab handling in Solaris. - Include spec directory in packages. - Replaced SELInux calls to binaries with Ruby SELinux bindings. - Sync SELinux file attributes after file contents created/modified. - Add filesystem type check to test for per-file SELinux context support. - Fixes to confine system. - Moved RRD feature from util/metric.rb to feature/base.rb. - puppetca now can clean unsigned certs. - Added versionable feature to the RPM provider. - Add an optional argument to Puppet::Util.execute to determine whether stderr and stdout are combined in the output. - Mac OS X DirectoryService nameservice provider support for plist output and password hash file. - Fileserver test fails due to incorrect mocking. - Minor fix to emacs mode. - Trivial fix for gentoo service provider. - Solaris 10 zone provider doesn't properly handle unknown zone attributes in newer releases. - nagios_serviceescalation not allowing host_name more than one type. - nagios_servicedependency needs a unique host_name? - Removing all mention of EPM, RPM, or Sun packages. - Refactoring of SELinux functions to use native Ruby SELinux interface. - Removing the included testing gems; you must now install them yourself. - Refactoring the thread-safety in Puppet::Util. - Added Rake :ci namespace and CI tasks. - Slight denormalisation to store a host's environment as a first class. - Add inline_template function. - Splay now hopefully behaves "better" for small values. - MCX Type feature. - Add ZFS support. - Add support for branded zones. - Fixing the AST constant warnings, using a variable instead of a constant. - Allow rspec rake to run only some tests. - Using a mutex around the sending of the tagmails. - Add macauthorization type. - Deprecate the NetInfo nameservice provider. Use directoryservice instead. - All of the properties and now :ensure check replace? - Rteturning sync when it is already initialized. - Tidy now correctly ignores missing files and directories. - Use 'zfs get -H -o value' instead of parsing output for value. - Zfs should auto require the ancestor file systems. - nagios_serviceescalation not allowing host_name more than one type. - nagios_servicedependency needs a unique host_name? - Added VDev and MultiVDev properties to the ZPool type. NetBSD related changes: - Fix default NetBSD init script path to /etc/rc.d. - Use FreeBSD init service provider for NetBSD. - When enabling services on NetBSD, use servicename=YES rather than servicename_enable=YES. - Use OpenBSD package provider for NetBSD. Pkgsrc related changes: - Added unit tests to package. - Fixed confdir paths in default config file generation scripts and some other stuff. - Set MASTER_SITE. - Create puppet.conf rather than puppetmasterd.conf.
2009-02-09 00:01:56 +01:00
CONF_FILES= ${EGDIR}/puppet.conf ${PKG_SYSCONFDIR}/puppet.conf
Update puppet to version 0.24.4. Changes from verison 0.22.4 include: + Install as a Ruby gem. - Better caching of external lookups. - Many bug fixes. - External node commands can specify an environment and Puppet will now use it. - Always duplicating resource defaults in the parser, so that stacked metaparameter values do not result in all resources that receive a given default also getting those stacked values. - Puppet's parser no longer changes the order in which statements are evaluated, which means that case statements can now set variables that are used by other variables. - Clients should now fail to install files whose checksums do not match the checksum from the server. - Autoloading now searches the plugins directory in each module, in addition to the lib directory. - Virtual defined types are no longer evaluated. NOTE: This introduces a behaviour change, in that you previously could realize a resource within a virtual defined resource, and now you must realize the entire defined resource, rather than just the contained resource. - Added builtin support for Nagios types using Naginator to parse and generate the files. - Modifying the behaviour of the certdnsnames setting. It now defaults to an empty string, and will only be used if it is set to something else. - External node support now requires that you set the 'node_terminus' setting to 'exec'. - You now must specify an environment and you are required to specify the valid environments for your site. - The --use-nodes and --no-nodes options are now obsolete. Puppet automatically detects when nodes are defined, and if they are defined it will require that a node be found, else it will not look for a node nor will it fail if it fails to find one. - Added support for managing interfaces. - Puppet clients now have http proxy support. - Adding module autoloading. - Significantly reworked external node support, in a way that's NOT backward-compatible: Only ONE node source can be used -- you can use LDAP, code, or an external node program, but not more than one. LDAP node support has two changes: First, the "ldapattrs" attribute is now used for setting the attributes to retrieve from the server (in addition to required attriutes), and second, all retrieved attributes are set as variables in the top scope. This means you can set attributes on your LDAP nodes and they will automatically appear as variables in your configurations. External node support has been completely rewritten. These programs must now generate a YAML dump of a hash, with "classes" and "parameters" keys. The classes should be an array, and the parameters should be a hash. The external node program has no support for parent nodes -- the script must handle that on its own. - Replaced the obsolete RRD ruby library with the maintained RubyRRDtool library - Significantly reworking configuration parsing. Executables all now look for 'puppet.conf', although they will parse the old-style configuration files if they are present, although they throw a deprecation warning. Also, file parameters (owner, mode, group) are now set on the same line as the parameter, in brackets.
2008-04-04 17:20:48 +02:00
## Since these users are needed only for puppet server,
## puppet-server package should be created.
#SUBST_CLASSES+= user
#SUBST_STAGE.user= post-patch
#SUBST_FILES.user= lib/puppet/defaults.rb
#SUBST_SED.user= -e "s|@PUPPET_GROUP@|${PUPPET_GROUP}|g"
#SUBST_SED.user+= -e "s|@PUPPET_USER@|${PUPPET_USER}|g"
#
#PKG_GROUPS_VARS= PUPPET_GROUP
#PKG_USERS_VARS= PUPPET_USER
#
#PKG_GROUPS= ${PUPPET_GROUP}
#PKG_USERS= ${PUPPET_USER}:${PUPPET_GROUP}
#PKG_GECOS.${PUPPET_USER}= Puppet configuration management pseudo-user
PLIST_SUBST+= EGDIR=${EGDIR}
PLIST_VARS+= sunos
BUILD_DEFS+= VARBASE
2010-01-27 20:51:55 +01:00
INSTALLATION_DIRS+= ${EGDIR}
.include "../../mk/bsd.prefs.mk"
#PUPPET_GROUP?= puppet
#PUPPET_USER?= puppet
.if ${OPSYS} == "SunOS"
2010-01-27 20:51:55 +01:00
INSTALLATION_DIRS+= lib/svc/method ${EGDIR}/svc
CONF_DIRS+= ${VARBASE}/svc/manifest
CONF_FILES+= ${EGDIR}/svc/puppetd.xml ${VARBASE}/svc/manifest/puppetd.xml
CONF_FILES+= ${EGDIR}/svc/puppetmasterd.xml ${VARBASE}/svc/manifest/puppetmasterd.xml
PLIST.sunos= yes
.endif
Update puppet to version 0.24.4. Changes from verison 0.22.4 include: + Install as a Ruby gem. - Better caching of external lookups. - Many bug fixes. - External node commands can specify an environment and Puppet will now use it. - Always duplicating resource defaults in the parser, so that stacked metaparameter values do not result in all resources that receive a given default also getting those stacked values. - Puppet's parser no longer changes the order in which statements are evaluated, which means that case statements can now set variables that are used by other variables. - Clients should now fail to install files whose checksums do not match the checksum from the server. - Autoloading now searches the plugins directory in each module, in addition to the lib directory. - Virtual defined types are no longer evaluated. NOTE: This introduces a behaviour change, in that you previously could realize a resource within a virtual defined resource, and now you must realize the entire defined resource, rather than just the contained resource. - Added builtin support for Nagios types using Naginator to parse and generate the files. - Modifying the behaviour of the certdnsnames setting. It now defaults to an empty string, and will only be used if it is set to something else. - External node support now requires that you set the 'node_terminus' setting to 'exec'. - You now must specify an environment and you are required to specify the valid environments for your site. - The --use-nodes and --no-nodes options are now obsolete. Puppet automatically detects when nodes are defined, and if they are defined it will require that a node be found, else it will not look for a node nor will it fail if it fails to find one. - Added support for managing interfaces. - Puppet clients now have http proxy support. - Adding module autoloading. - Significantly reworked external node support, in a way that's NOT backward-compatible: Only ONE node source can be used -- you can use LDAP, code, or an external node program, but not more than one. LDAP node support has two changes: First, the "ldapattrs" attribute is now used for setting the attributes to retrieve from the server (in addition to required attriutes), and second, all retrieved attributes are set as variables in the top scope. This means you can set attributes on your LDAP nodes and they will automatically appear as variables in your configurations. External node support has been completely rewritten. These programs must now generate a YAML dump of a hash, with "classes" and "parameters" keys. The classes should be an array, and the parameters should be a hash. The external node program has no support for parent nodes -- the script must handle that on its own. - Replaced the obsolete RRD ruby library with the maintained RubyRRDtool library - Significantly reworking configuration parsing. Executables all now look for 'puppet.conf', although they will parse the old-style configuration files if they are present, although they throw a deprecation warning. Also, file parameters (owner, mode, group) are now set on the same line as the parameter, in brackets.
2008-04-04 17:20:48 +02:00
pre-build:
cd ${WRKSRC} && ${FIND} . -type f -exec ${CHMOD} g-w {} \;
cd ${WRKSRC} && \
${FIND} lib/puppet spec -type f -exec ${CHMOD} -x {} \;
cd ${WRKSRC} && ${RUBY} -Ilib bin/puppet agent \
Update puppet to version 0.24.4. Changes from verison 0.22.4 include: + Install as a Ruby gem. - Better caching of external lookups. - Many bug fixes. - External node commands can specify an environment and Puppet will now use it. - Always duplicating resource defaults in the parser, so that stacked metaparameter values do not result in all resources that receive a given default also getting those stacked values. - Puppet's parser no longer changes the order in which statements are evaluated, which means that case statements can now set variables that are used by other variables. - Clients should now fail to install files whose checksums do not match the checksum from the server. - Autoloading now searches the plugins directory in each module, in addition to the lib directory. - Virtual defined types are no longer evaluated. NOTE: This introduces a behaviour change, in that you previously could realize a resource within a virtual defined resource, and now you must realize the entire defined resource, rather than just the contained resource. - Added builtin support for Nagios types using Naginator to parse and generate the files. - Modifying the behaviour of the certdnsnames setting. It now defaults to an empty string, and will only be used if it is set to something else. - External node support now requires that you set the 'node_terminus' setting to 'exec'. - You now must specify an environment and you are required to specify the valid environments for your site. - The --use-nodes and --no-nodes options are now obsolete. Puppet automatically detects when nodes are defined, and if they are defined it will require that a node be found, else it will not look for a node nor will it fail if it fails to find one. - Added support for managing interfaces. - Puppet clients now have http proxy support. - Adding module autoloading. - Significantly reworked external node support, in a way that's NOT backward-compatible: Only ONE node source can be used -- you can use LDAP, code, or an external node program, but not more than one. LDAP node support has two changes: First, the "ldapattrs" attribute is now used for setting the attributes to retrieve from the server (in addition to required attriutes), and second, all retrieved attributes are set as variables in the top scope. This means you can set attributes on your LDAP nodes and they will automatically appear as variables in your configurations. External node support has been completely rewritten. These programs must now generate a YAML dump of a hash, with "classes" and "parameters" keys. The classes should be an array, and the parameters should be a hash. The external node program has no support for parent nodes -- the script must handle that on its own. - Replaced the obsolete RRD ruby library with the maintained RubyRRDtool library - Significantly reworking configuration parsing. Executables all now look for 'puppet.conf', although they will parse the old-style configuration files if they are present, although they throw a deprecation warning. Also, file parameters (owner, mode, group) are now set on the same line as the parameter, in brackets.
2008-04-04 17:20:48 +02:00
--confdir=${PKG_SYSCONFDIR:Q} --rundir=${VARBASE:Q}/run \
--genconfig | \
${SED} -e 's/genconfig = true/# genconfig = false/' \
Update Puppet to version 0.24.7. Changes since 0.24.5: - Fixing puppetlast to make it work with 0.24.5 / 0.25. Made puppetlast work on 0.24.5 by using the YAML indirector. - Fixed bug #1448: Puppet CA incorrectly writes out all certs to inventory .txt on each certificate signing. - Improve performance of group lookups. - Allow specification of --bindir --sbindir --sitelibdir --mandir --destdir in installation (TODOFIXME: Make it available to pkgsrc). - Ensure that we consistently use either string #{} interpolation or String.% interpolation, not both, to avoid issues where a #{} interpolated value contains a % character. - Expose all puppet variables as instance member variables of the template wrapper. - Updated console colours. - A working script to create an OS X pkg out of the Puppet repository. - Removed confine warning. - Add proxy configuration capability to yum repo. - Replaced use of Facter for report titling with certname. - Added stored configuration clearing script to /ext. - Add the -P/--ping option to puppetrun. - Storeconfiguration fixed for Rails 2.1. - Fixed poor stored configuration performance. - Added HP-UX package provider. - Moved individual functions out of functions.rb into lib/puppet/parser/functions directory. New functions should be created in this directory. - Case insensitive match for error. - Removed storeconfig duplicate indexes. - Fixed leak in template. - Added spec Rake task. - Added simple rake task for running unit tests. - Added daemontools and runit providers for service type. - Changed permissions for man directory. - Fix exception for undefined hostname. - puppetmaster.freshness xmlrpc call returns incorrect type. - Adds HP-UX support for user type. - Updated Red Hat spec file. - Fixed debug messages in package type. - Changed password property of the user type. - Fixed debug messages in package type. - Adjusted hpuxuseradd user provider to confine to HP-UX and fixed HP-UX user provider path regression. - Puppet and Facter cannot both install the plist module into two different locations. - Puppet::Util::binary returns incorrect results. - createpackage.sh. - Fixed issues with file descriptors leaking into subprocesses. - ldap user and password are now used with the default connection. - File purging now fails if remote sources do not exist. - Errors in the Puppet RPM spec file. - puppetrun now working. - Added support for multiple template directories. - Added support for appended variables. - Fixed puppetca --clean --all. - Internally, Property#retrieve is no longer called when no 'should' value is available for a resource. - Defined, exported resources in the current compile now get expanded correctly. - Multiple metaparams all get added to resources. - Added ubuntu to defaultfor for Debian service provider. - Added ubuntu to defaultfor for apt provider. - added confines for the gentoo, freebsd and smf (solaris) service providers. - Added a number of confines to package providers. - ssh_authorized_keys provider does not crash anymore on SSH type 1 keys. - Raise "Filebucketed" messages to Notice priority. - You should now be able to create and find a user/group in one transaction. - Users and their groups should again add in one transaction. - Modified the behaviour of resource-level 'retrieve' -- it only calls 'retrieve' on each property if the resource exists. - Modified the group and zone resource types to no longer call 'currentpropvalues' as a means of setting all values to absent. There should be no behaviour change from this change. - Deploying file resources with ++ generates error. - Added support for running Puppet inside a Rack application (mod_rails) with Passenger and Apache. - Saving File#checksum to state.yaml broken. - Allow complex 'if' and variable expressions. - Add 'sles' to Puppet confines when 'suse' is used. - Specifying "fully qualified" package names in Gentoo. - Added RBAC roles to solaris user provider. - Updated puppet binary documentation. - The client environment will be substituted when looking up settings. - Changed node search to use certname rather than Facter hostname. - Environments no longer have to be listed out. - Multiline strings now correctly increment the line count. - Log messages are now tagged with the log level, making it easier to match messages in the 'tagmail' report. - Removed 'Adding aliases' info message. - pluginsync no longer fails poorly when no plugins exist. - Allow multiple overrides in one statement. - Added support for --detailed-exits to bin/puppet. - yum provider problems with RHEL 3. - Puppetd no longer stops with error after puppetmasterd is unavailable. - Collection attribute matching doesn't parse arrays. - With an inexistant (global) templatedir, modules can't access their templates. - Uninitialized constant Puppet::Type::User::ProviderUseradd. - puppetdoc -r providers now working again. - Updated OSX package cleanup. - Service puppet status does not work as non-root on redhat system. - Provider::Confine::Variable tests are broken. - Regression relating to facter fact naming from 0.24.5. - Enhance redhat puppetmaster init.d script to easy start puppetmaster as a mongrel cluster. - Configuration Reference still references 'section'. - Adding support to the user type for: profiles, auths, project, key/value pairs (extension to Solaris RBAC support added in 0.24.6). - Added multiline comment support. - Added support for @doc type and manifest documentation support - see: http://reductivelabs.com/trac/puppet/wiki/PuppetManifestDocumentation. - Added augeas type. - Removed conf/debian directory - Debian packaging information now maintained downstream. - Updated Red Hat spec file for 0.24.6. - Classes and nodes should set $name variable. - Type reference: tidy should specify manditory parameters. - All logs should now show up in the reports. - Added specific recurse values for tidy. - k5login fails to set mode when file is created. - Documentation should specify natural language regexs, not Regexp objects. - Spurious output in test run. - Added uninstall functionality to yum provider. - Added preseed to apt uninstall and purge. - Unsafe crontab handling in Solaris. - Include spec directory in packages. - Replaced SELInux calls to binaries with Ruby SELinux bindings. - Sync SELinux file attributes after file contents created/modified. - Add filesystem type check to test for per-file SELinux context support. - Fixes to confine system. - Moved RRD feature from util/metric.rb to feature/base.rb. - puppetca now can clean unsigned certs. - Added versionable feature to the RPM provider. - Add an optional argument to Puppet::Util.execute to determine whether stderr and stdout are combined in the output. - Mac OS X DirectoryService nameservice provider support for plist output and password hash file. - Fileserver test fails due to incorrect mocking. - Minor fix to emacs mode. - Trivial fix for gentoo service provider. - Solaris 10 zone provider doesn't properly handle unknown zone attributes in newer releases. - nagios_serviceescalation not allowing host_name more than one type. - nagios_servicedependency needs a unique host_name? - Removing all mention of EPM, RPM, or Sun packages. - Refactoring of SELinux functions to use native Ruby SELinux interface. - Removing the included testing gems; you must now install them yourself. - Refactoring the thread-safety in Puppet::Util. - Added Rake :ci namespace and CI tasks. - Slight denormalisation to store a host's environment as a first class. - Add inline_template function. - Splay now hopefully behaves "better" for small values. - MCX Type feature. - Add ZFS support. - Add support for branded zones. - Fixing the AST constant warnings, using a variable instead of a constant. - Allow rspec rake to run only some tests. - Using a mutex around the sending of the tagmails. - Add macauthorization type. - Deprecate the NetInfo nameservice provider. Use directoryservice instead. - All of the properties and now :ensure check replace? - Rteturning sync when it is already initialized. - Tidy now correctly ignores missing files and directories. - Use 'zfs get -H -o value' instead of parsing output for value. - Zfs should auto require the ancestor file systems. - nagios_serviceescalation not allowing host_name more than one type. - nagios_servicedependency needs a unique host_name? - Added VDev and MultiVDev properties to the ZPool type. NetBSD related changes: - Fix default NetBSD init script path to /etc/rc.d. - Use FreeBSD init service provider for NetBSD. - When enabling services on NetBSD, use servicename=YES rather than servicename_enable=YES. - Use OpenBSD package provider for NetBSD. Pkgsrc related changes: - Added unit tests to package. - Fixed confdir paths in default config file generation scripts and some other stuff. - Set MASTER_SITE. - Create puppet.conf rather than puppetmasterd.conf.
2009-02-09 00:01:56 +01:00
> examples/puppet.conf
Update puppet to version 0.24.4. Changes from verison 0.22.4 include: + Install as a Ruby gem. - Better caching of external lookups. - Many bug fixes. - External node commands can specify an environment and Puppet will now use it. - Always duplicating resource defaults in the parser, so that stacked metaparameter values do not result in all resources that receive a given default also getting those stacked values. - Puppet's parser no longer changes the order in which statements are evaluated, which means that case statements can now set variables that are used by other variables. - Clients should now fail to install files whose checksums do not match the checksum from the server. - Autoloading now searches the plugins directory in each module, in addition to the lib directory. - Virtual defined types are no longer evaluated. NOTE: This introduces a behaviour change, in that you previously could realize a resource within a virtual defined resource, and now you must realize the entire defined resource, rather than just the contained resource. - Added builtin support for Nagios types using Naginator to parse and generate the files. - Modifying the behaviour of the certdnsnames setting. It now defaults to an empty string, and will only be used if it is set to something else. - External node support now requires that you set the 'node_terminus' setting to 'exec'. - You now must specify an environment and you are required to specify the valid environments for your site. - The --use-nodes and --no-nodes options are now obsolete. Puppet automatically detects when nodes are defined, and if they are defined it will require that a node be found, else it will not look for a node nor will it fail if it fails to find one. - Added support for managing interfaces. - Puppet clients now have http proxy support. - Adding module autoloading. - Significantly reworked external node support, in a way that's NOT backward-compatible: Only ONE node source can be used -- you can use LDAP, code, or an external node program, but not more than one. LDAP node support has two changes: First, the "ldapattrs" attribute is now used for setting the attributes to retrieve from the server (in addition to required attriutes), and second, all retrieved attributes are set as variables in the top scope. This means you can set attributes on your LDAP nodes and they will automatically appear as variables in your configurations. External node support has been completely rewritten. These programs must now generate a YAML dump of a hash, with "classes" and "parameters" keys. The classes should be an array, and the parameters should be a hash. The external node program has no support for parent nodes -- the script must handle that on its own. - Replaced the obsolete RRD ruby library with the maintained RubyRRDtool library - Significantly reworking configuration parsing. Executables all now look for 'puppet.conf', although they will parse the old-style configuration files if they are present, although they throw a deprecation warning. Also, file parameters (owner, mode, group) are now set on the same line as the parameter, in brackets.
2008-04-04 17:20:48 +02:00
post-install:
${INSTALL_DATA} ${WRKSRC}/examples/puppet.conf \
${DESTDIR}${PREFIX}/${EGDIR}
.if ${OPSYS} == "SunOS"
${INSTALL_DATA} ${WRKSRC}/ext/solaris/smf/puppetd.xml \
${DESTDIR}${PREFIX}/${EGDIR}/svc
${INSTALL_DATA} ${WRKSRC}/ext/solaris/smf/puppetmasterd.xml \
${DESTDIR}${PREFIX}/${EGDIR}/svc
${INSTALL_SCRIPT} ${WRKSRC}/ext/solaris/smf/svc-puppetd \
${DESTDIR}${PREFIX}/lib/svc/method
${INSTALL_SCRIPT} ${WRKSRC}/ext/solaris/smf/svc-puppetmasterd \
${DESTDIR}${PREFIX}/lib/svc/method
.endif
.include "../../lang/ruby/json.mk"
.include "../../lang/ruby/gem.mk"
.include "../../mk/bsd.pkg.mk"