From nobody Sat Apr 29 01:36:27 2023 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q7XBM2Rx3z48G2J; Sat, 29 Apr 2023 01:36:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q7XBM2853z42Px; Sat, 29 Apr 2023 01:36:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682732187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ULA4tl7keJ2FrDuhFfbwohenCUZtUX2sOnezfljcR/0=; b=xoMff35YqwL9EqEdO2ae299xzMxC3J+u/aVgpdW3hUC8/dGXSmY8H3T16dy/daLLDmHySu cV2PNV0EyW9jdv8msNXdMkrgPuueSHQV/9j0keQQ5AEoT00HWvDjJQ8fXPCcLgu2kd7XWF e03dd34r1m4+isyzxEyTfGIdqCa2hViW/jH58pmPcJKc2Rxvb4DtULA7Fp3xbfqCV2lFfu kFHkHfc1Rbby8TeofelEhS8bgH1ufhVQyESt/HD4JJuQ9hdGqx8tEfJputwyldCtRW4+Y7 Nhb8hZSTCur//fECFgiP+YKs1SHqReTRb6GIxGoqc3vTHfeElxBr5xp8MLd/8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682732187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ULA4tl7keJ2FrDuhFfbwohenCUZtUX2sOnezfljcR/0=; b=j8sZvL7GXQYj4P37RQOmL/v287zjqBfhkUorGBmFv6+/U37TXZ5EV6iYyl6sScStNJ3fYa rNbQCE3r341zYm9OwN0NWlmXz7/kbwTC9KZv1Wfl3N50RGCjm2LIFxK/0G9ZCi5lWdlnOu IUfqKRY2r/waLfAdjMK6hbeLiJCnFf6vkN5u/ZfZskvxEpb0V2JurMXPdY+CJM3SO970u2 nLyHwbF8upfqUcXQzjlo8PVzE20KdjavcDdBoLQnckfbVhp23zNlPI4nlTfwzsFbydaLlB rHVElzdvzkAxbMrnx3mk3X/NME5d3IEJi2Pq3mbBNq7Er3nMUbPj4Vkx2yKDog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682732187; a=rsa-sha256; cv=none; b=T2OYLxIxAXCM7aRS3NgFSVz4KBRu//WbqF/OSr3ydWaAiQWYQ4C+tWpRdODIsijDz9zPkK T1GOucPv7hr1V+zvS8TmXN8K6L7LBmKeYgV2KTzIiN7U11cz+wPwLpONjOTlkircBJbkgF 3lbeDz1kZ1cdSMO8CjretfdvdYMqlCIVx1agkNg9XC4QzIs9VFeYmwWu5dhY9k6cSWULAd UKsHCAUnnWn94LyZgL1bJzMQ119NwgGg428OJPqtj81qYdLOmOJ2ahSaUgeinH9Umnmps3 PBoS3WjhJ6s95lfWGg0JewvuWqgH17vw7vKmLww6yFDMmzOcvFI21suA6Nh6QA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Q7XBM1CsTzNGf; Sat, 29 Apr 2023 01:36:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33T1aRuX069469; Sat, 29 Apr 2023 01:36:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33T1aRUw069468; Sat, 29 Apr 2023 01:36:27 GMT (envelope-from git) Date: Sat, 29 Apr 2023 01:36:27 GMT Message-Id: <202304290136.33T1aRUw069468@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: =?utf-8?Q?Romain=20Tarti=C3=A8re?= Subject: git: 53c3c6d2e159 - main - sysutils/puppet8: New port List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: romain X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 53c3c6d2e159f6d66141f2babe888993e747a86e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by romain: URL: https://cgit.FreeBSD.org/ports/commit/?id=53c3c6d2e159f6d66141f2babe888993e747a86e commit 53c3c6d2e159f6d66141f2babe888993e747a86e Author: Romain Tartière AuthorDate: 2023-04-28 20:59:56 +0000 Commit: Romain Tartière CommitDate: 2023-04-29 01:36:08 +0000 sysutils/puppet8: New port Puppet lets you centrally manage every important aspect of your system using a cross-platform specification language that manages all the separate elements normally aggregated in different files, like users, cron jobs, and hosts, along with obviously discrete elements like packages, services, and files. --- sysutils/Makefile | 1 + sysutils/puppet6/Makefile | 2 +- sysutils/puppet7/Makefile | 2 +- sysutils/puppet8/Makefile | 131 ++++++++++ sysutils/puppet8/distinfo | 23 ++ ...atch-lib_puppet_provider_service_daemontools.rb | 20 ++ .../puppet8/files/patch-lib_puppet_settings.rb | 10 + .../files/patch-lib_puppet_thread__local.rb | 7 + sysutils/puppet8/files/pkg-message.in | 11 + sysutils/puppet8/files/puppet.in | 46 ++++ sysutils/puppet8/pkg-descr | 5 + sysutils/puppet8/pkg-plist | 266 +++++++++++++++++++++ 12 files changed, 522 insertions(+), 2 deletions(-) diff --git a/sysutils/Makefile b/sysutils/Makefile index 7a01d0002b2c..b083a01344eb 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -1058,6 +1058,7 @@ SUBDIR += puppet-mode.el SUBDIR += puppet6 SUBDIR += puppet7 + SUBDIR += puppet8 SUBDIR += puppetserver6 SUBDIR += puppetserver7 SUBDIR += pv diff --git a/sysutils/puppet6/Makefile b/sysutils/puppet6/Makefile index 15a0a0db16e3..c16cebbed1f2 100644 --- a/sysutils/puppet6/Makefile +++ b/sysutils/puppet6/Makefile @@ -34,7 +34,7 @@ USES= cpe ruby USE_GITHUB= yes GH_ACCOUNT= puppetlabs -CONFLICTS_INSTALL= puppet7 +CONFLICTS_INSTALL= puppet[0-9] PLIST_SUB= PORTVERSION="${PORTVERSION}" NO_ARCH= yes NO_BUILD= yes diff --git a/sysutils/puppet7/Makefile b/sysutils/puppet7/Makefile index dd3fc4a0684f..fe3577ced63e 100644 --- a/sysutils/puppet7/Makefile +++ b/sysutils/puppet7/Makefile @@ -26,7 +26,7 @@ USES= cpe ruby USE_GITHUB= yes GH_ACCOUNT= puppetlabs -CONFLICTS_INSTALL= puppet6 +CONFLICTS_INSTALL= puppet[0-9] PLIST_SUB= PORTVERSION="${PORTVERSION}" NO_ARCH= yes NO_BUILD= yes diff --git a/sysutils/puppet8/Makefile b/sysutils/puppet8/Makefile new file mode 100644 index 000000000000..7dac8ea98b93 --- /dev/null +++ b/sysutils/puppet8/Makefile @@ -0,0 +1,131 @@ +PORTNAME= puppet +PORTVERSION= 8.0.1 +CATEGORIES= sysutils +MASTER_SITES= https://forge.puppet.com/v3/files/:forge +PKGNAMESUFFIX= 8 + +MAINTAINER= puppet@FreeBSD.org +COMMENT= Configuration management framework written in Ruby +WWW= https://puppet.com/docs/puppet/latest/puppet_index.html + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BROKEN_RUBY27= yes +BROKEN_RUBY30= yes + +RUN_DEPENDS= rubygem-concurrent-ruby11>1.0:devel/rubygem-concurrent-ruby11 \ + rubygem-deep_merge>1.0:devel/rubygem-deep_merge \ + rubygem-facter>=4.0:sysutils/rubygem-facter \ + rubygem-fast_gettext>=2.1:devel/rubygem-fast_gettext \ + rubygem-locale>=2.1:devel/rubygem-locale \ + rubygem-multi_json>=1.10:devel/rubygem-multi_json \ + rubygem-puppet-resource_api>=1.5:devel/rubygem-puppet-resource_api \ + rubygem-ruby-augeas>=0:textproc/rubygem-ruby-augeas \ + rubygem-scanf>=1:devel/rubygem-scanf \ + rubygem-semantic_puppet>=1:devel/rubygem-semantic_puppet + +USES= cpe ruby +USE_GITHUB= yes +GH_ACCOUNT= puppetlabs + +CONFLICTS_INSTALL= puppet[0-9] +PLIST_SUB= PORTVERSION="${PORTVERSION}" +NO_ARCH= yes +NO_BUILD= yes +USE_RC_SUBR= puppet +PORTDOCS= LICENSE README.md +PORTEXAMPLES= * +USERS= puppet +GROUPS= puppet +SUB_FILES+= pkg-message +SUB_LIST= RUBY=${RUBY} + +OPTIONS_DEFINE= DOCS EXAMPLES + +# Get versions from +# https://github.com/puppetlabs/puppet-agent/tree/main/configs/components +# for f in configs/components/module-puppetlabs-*.json; do echo ${${f#*/module-puppetlabs-}%.json}=${${$(jq .ref $f)#*/v}%\"}; done +FORGE_MODULES= augeas_core=1.3.0 \ + cron_core=1.2.0 \ + host_core=1.2.0 \ + mount_core=1.2.0 \ + scheduled_task=3.1.1 \ + selinux_core=1.3.0 \ + sshkeys_core=2.4.0 \ + yumrepo_core=1.2.0 \ + zfs_core=1.4.0 \ + zone_core=1.1.0 + +.for module in ${FORGE_MODULES} +DISTFILES+= puppetlabs-${module:C/=.*//}-${module:C/.*=//}.tar.gz:forge +.endfor + +post-patch: + @${REINPLACE_CMD} -e "s|/etc/puppetlabs/puppet|${ETCDIR}|" \ + ${WRKSRC}/install.rb \ + ${WRKSRC}/lib/puppet/reference/configuration.rb \ + ${WRKSRC}/lib/puppet/util/run_mode.rb + @${REINPLACE_CMD} -e "s|/etc/puppetlabs/code|${ETCDIR}|" \ + ${WRKSRC}/install.rb \ + ${WRKSRC}/lib/puppet/reference/configuration.rb \ + ${WRKSRC}/lib/puppet/util/run_mode.rb + @${REINPLACE_CMD} -e "s|/opt/puppetlabs/puppet/cache|/var/puppet|" \ + ${WRKSRC}/install.rb \ + ${WRKSRC}/lib/puppet/reference/configuration.rb \ + ${WRKSRC}/lib/puppet/util/run_mode.rb + @${REINPLACE_CMD} -e "s|/var/run/puppetlabs|/var/run/puppet|" \ + ${WRKSRC}/install.rb \ + ${WRKSRC}/lib/puppet/util/run_mode.rb + @${REINPLACE_CMD} -e "s|/var/log/puppetlabs/puppet|/var/log/puppet|" \ + ${WRKSRC}/install.rb \ + ${WRKSRC}/lib/puppet/util/run_mode.rb + @${REINPLACE_CMD} -e "s|/opt/puppetlabs/puppet/public|/var/puppet/state|" \ + ${WRKSRC}/install.rb \ + ${WRKSRC}/lib/puppet/util/run_mode.rb + @${REINPLACE_CMD} -e "s|/opt/puppetlabs/puppet/modules|${ETCDIR}/modules|" \ + -e "s|/etc/puppetlabs/puppetserver/ca|/var/puppetserver/ca|" \ + -e "s|/opt/puppetlabs/puppet/vendor_modules|${ETCDIR}/vendor_modules|" \ + ${WRKSRC}/lib/puppet/defaults.rb + @${REINPLACE_CMD} -e "s|/opt/puppetlabs/puppet/bin/gem|${LOCALBASE}/bin/gem|" \ + ${WRKSRC}/lib/puppet/provider/package/puppet_gem.rb + @${REINPLACE_CMD} -e "s|\$$confdir/ssl|/var/puppet/ssl|" \ + ${WRKSRC}/lib/puppet/defaults.rb + @${REINPLACE_CMD} -e "s|\.\./\.\./\.\./locales|../locales|" \ + ${WRKSRC}/lib/puppet/gettext/config.rb + +do-install: + @cd ${WRKSRC} && ${SETENV} PREFIX=${PREFIX} LC_ALL=C.UTF-8 ${RUBY} ${WRKSRC}/install.rb --no-configs --destdir=${STAGEDIR} \ + --localedir=${RUBY_SITELIBDIR}/puppet/locales --publicdir=/var/puppet/state/ + +post-install: + ${MKDIR} ${STAGEDIR}${ETCDIR}/manifests + ${MKDIR} ${STAGEDIR}${ETCDIR}/modules + ${MKDIR} ${STAGEDIR}${ETCDIR}/vendor_modules +.for module in ${FORGE_MODULES} + (cd ${WRKDIR}/puppetlabs-${module:C/=.*//}-${module:C/.*=//} && ${COPYTREE_SHARE} . ${STAGEDIR}${ETCDIR}/vendor_modules/${module:C/=.*//}) +.endfor + ${MKDIR} ${STAGEDIR}/var/puppet + ${SETENV} LC_ALL=C.UTF-8 ${RUBY} -I ${STAGEDIR}/${RUBY_SITELIBDIR} ${STAGEDIR}${PREFIX}/bin/puppet agent --genconfig \ + --confdir=${ETCDIR} \ + --rundir=/var/run/puppet \ + --vardir=/var/puppet \ + --logdir=/var/log/puppet \ + --codedir=${ETCDIR} \ + > ${STAGEDIR}${ETCDIR}/puppet.conf-dist + @${ECHO} ${STAGEDIR}${RUBY_SITELIBDIR}/puppet.rb | \ + ${SED} 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST} + @${FIND} ${STAGEDIR}${RUBY_SITELIBDIR}/${PORTNAME} -type f | \ + ${SED} 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST} + ${MKDIR} ${STAGEDIR}${PREFIX}/lib/ruby/gems/${RUBY_VER}/specifications + ${INSTALL_DATA} ${WRKSRC}/.gemspec ${STAGEDIR}${PREFIX}/lib/ruby/gems/${RUBY_VER}/specifications/${PORTNAME}-${PORTVERSION}.gemspec + +post-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR} + +post-install-EXAMPLES-on: + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} + +.include diff --git a/sysutils/puppet8/distinfo b/sysutils/puppet8/distinfo new file mode 100644 index 000000000000..a731999bd878 --- /dev/null +++ b/sysutils/puppet8/distinfo @@ -0,0 +1,23 @@ +TIMESTAMP = 1682716159 +SHA256 (puppetlabs-augeas_core-1.3.0.tar.gz) = be41ae163f5dc94021ce03c2a0032a23275b4378af3c917befc12af14a4b3b69 +SIZE (puppetlabs-augeas_core-1.3.0.tar.gz) = 25837 +SHA256 (puppetlabs-cron_core-1.2.0.tar.gz) = e74247784d8cf6b27811b98f3ad782952d0005e4e012abb367d3492c51f264a2 +SIZE (puppetlabs-cron_core-1.2.0.tar.gz) = 24594 +SHA256 (puppetlabs-host_core-1.2.0.tar.gz) = a45d7fed47ae1c707fabaec9a1d6da4d8e2fd23bcfb998e6406b4c8e2eed056e +SIZE (puppetlabs-host_core-1.2.0.tar.gz) = 14471 +SHA256 (puppetlabs-mount_core-1.2.0.tar.gz) = ed437a07e9457fac21e1c87e53b44b7cf4f98c4d5e509dd5ffdea6c5dd96c6ee +SIZE (puppetlabs-mount_core-1.2.0.tar.gz) = 21556 +SHA256 (puppetlabs-scheduled_task-3.1.1.tar.gz) = d1993b1b41b63f224594ad6fe84c92449fbf2a96afee6f8cd604562c57e76e05 +SIZE (puppetlabs-scheduled_task-3.1.1.tar.gz) = 45065 +SHA256 (puppetlabs-selinux_core-1.3.0.tar.gz) = 593ad4cc9d311528b6be0fdaa6ce08bf46acb21ff0d035ef3c6f2e548c43433d +SIZE (puppetlabs-selinux_core-1.3.0.tar.gz) = 16456 +SHA256 (puppetlabs-sshkeys_core-2.4.0.tar.gz) = 033eb694359974ce1d9154526f42a01c2bc64abbcd4f587a5f25dff03135171b +SIZE (puppetlabs-sshkeys_core-2.4.0.tar.gz) = 20091 +SHA256 (puppetlabs-yumrepo_core-1.2.0.tar.gz) = 6fd02331be8267165e75c4eb00030a88be4401fe8d4eeea45365cc270140f44a +SIZE (puppetlabs-yumrepo_core-1.2.0.tar.gz) = 19704 +SHA256 (puppetlabs-zfs_core-1.4.0.tar.gz) = fcdf3440d5cf5e76a2ae452fc8eb6b8a589721e7c5a8832c2984e60f1962d5fa +SIZE (puppetlabs-zfs_core-1.4.0.tar.gz) = 18834 +SHA256 (puppetlabs-zone_core-1.1.0.tar.gz) = 9d8241938e56145ce15827415e5c6b74002407b4548c12b5ef165423adfc725b +SIZE (puppetlabs-zone_core-1.1.0.tar.gz) = 20637 +SHA256 (puppetlabs-puppet-8.0.1_GH0.tar.gz) = 3cd03a87274bdd80b466dbd33c0a45e435dc4d02a84106d13fae0c246c73adb1 +SIZE (puppetlabs-puppet-8.0.1_GH0.tar.gz) = 3317153 diff --git a/sysutils/puppet8/files/patch-lib_puppet_provider_service_daemontools.rb b/sysutils/puppet8/files/patch-lib_puppet_provider_service_daemontools.rb new file mode 100644 index 000000000000..208574482d50 --- /dev/null +++ b/sysutils/puppet8/files/patch-lib_puppet_provider_service_daemontools.rb @@ -0,0 +1,20 @@ +--- lib/puppet/provider/service/daemontools.rb.orig 2023-03-27 22:00:42 UTC ++++ lib/puppet/provider/service/daemontools.rb +@@ -39,7 +39,7 @@ Puppet::Type.type(:service).provide :daemontools, :par + + EOT + +- commands :svc => "/usr/bin/svc", :svstat => "/usr/bin/svstat" ++ commands :svc => "%%PREFIX%%/bin/svc", :svstat => "%%PREFIX%%/bin/svstat" + + class << self + attr_writer :defpath +@@ -86,7 +86,7 @@ Puppet::Type.type(:service).provide :daemontools, :par + # find the service dir on this node + def servicedir + unless @servicedir +- ["/service", "/etc/service","/var/lib/svscan"].each do |path| ++ ["/var/service", "/etc/service","/var/lib/svscan"].each do |path| + if Puppet::FileSystem.exist?(path) + @servicedir = path + break diff --git a/sysutils/puppet8/files/patch-lib_puppet_settings.rb b/sysutils/puppet8/files/patch-lib_puppet_settings.rb new file mode 100644 index 000000000000..333f545c291f --- /dev/null +++ b/sysutils/puppet8/files/patch-lib_puppet_settings.rb @@ -0,0 +1,10 @@ +--- lib/puppet/settings.rb.orig 2023-04-08 20:42:13 UTC ++++ lib/puppet/settings.rb +@@ -4,6 +4,7 @@ require_relative '../puppet/util/watched_file' + require_relative '../puppet/util/command_line/puppet_option_parser' + require 'forwardable' + require 'fileutils' ++gem 'concurrent-ruby', '< 1.2.0' + require 'concurrent' + + # The class for handling configuration files. diff --git a/sysutils/puppet8/files/patch-lib_puppet_thread__local.rb b/sysutils/puppet8/files/patch-lib_puppet_thread__local.rb new file mode 100644 index 000000000000..8a2598647e42 --- /dev/null +++ b/sysutils/puppet8/files/patch-lib_puppet_thread__local.rb @@ -0,0 +1,7 @@ +--- lib/puppet/thread_local.rb.orig 2023-04-08 20:42:06 UTC ++++ lib/puppet/thread_local.rb +@@ -1,3 +1,4 @@ ++gem 'concurrent-ruby', '< 1.2.0' + require 'concurrent' + + # We want to use the pure Ruby implementation even on JRuby. If we use the Java diff --git a/sysutils/puppet8/files/pkg-message.in b/sysutils/puppet8/files/pkg-message.in new file mode 100644 index 000000000000..caa220715594 --- /dev/null +++ b/sysutils/puppet8/files/pkg-message.in @@ -0,0 +1,11 @@ +[ +{ type: install + message: <