git: 32fb0f8e1c15 - main - sysutils/rubygem-chef17: Add rubygem-chef17 17.10.68

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sat, 27 May 2023 23:51:04 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=32fb0f8e1c155e0e3694afeda3593574d69badd8

commit 32fb0f8e1c155e0e3694afeda3593574d69badd8
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-05-27 23:18:34 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-05-27 23:43:37 +0000

    sysutils/rubygem-chef17: Add rubygem-chef17 17.10.68
    
    - Add PORTSCOUT
---
 sysutils/Makefile                            |  1 +
 sysutils/rubygem-chef17/Makefile             | 66 ++++++++++++++++++++++++++++
 sysutils/rubygem-chef17/distinfo             |  3 ++
 sysutils/rubygem-chef17/files/chef_client.in | 54 +++++++++++++++++++++++
 sysutils/rubygem-chef17/pkg-descr            |  9 ++++
 sysutils/rubygem-chef17/pkg-plist            |  1 +
 6 files changed, 134 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index 18261fa24c55..8b5bac8e2287 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1234,6 +1234,7 @@
     SUBDIR += rubygem-chef-vault
     SUBDIR += rubygem-chef-zero
     SUBDIR += rubygem-chef16
+    SUBDIR += rubygem-chef17
     SUBDIR += rubygem-choria-mcorpc-support
     SUBDIR += rubygem-facter
     SUBDIR += rubygem-fluent-mixin-plaintextformatter
diff --git a/sysutils/rubygem-chef17/Makefile b/sysutils/rubygem-chef17/Makefile
new file mode 100644
index 000000000000..bd5f04ba3348
--- /dev/null
+++ b/sysutils/rubygem-chef17/Makefile
@@ -0,0 +1,66 @@
+PORTNAME=	chef
+PORTVERSION=	17.10.68
+CATEGORIES=	sysutils
+MASTER_SITES=	RG
+PKGNAMESUFFIX=	17
+
+MAINTAINER=	ruby@FreeBSD.org
+COMMENT=	Systems integration framework. Client part
+WWW=		https://www.chef.io/
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	rubygem-addressable>=0:www/rubygem-addressable \
+		rubygem-aws-sdk-s3>=1.91<2:devel/rubygem-aws-sdk-s3 \
+		rubygem-aws-sdk-secretsmanager>=1.46<2:devel/rubygem-aws-sdk-secretsmanager \
+		rubygem-chef-config17>=${PORTVERSION}<${PORTVERSION}_99:sysutils/rubygem-chef-config17 \
+		rubygem-chef-utils17>=${PORTVERSION}<${PORTVERSION}_99:sysutils/rubygem-chef-utils17 \
+		rubygem-chef-vault>=0:sysutils/rubygem-chef-vault \
+		rubygem-chef-zero>=14.0.11:sysutils/rubygem-chef-zero \
+		rubygem-corefoundation>=0.3.4:devel/rubygem-corefoundation \
+		rubygem-diff-lcs>=1.2.4<1.6.0:textproc/rubygem-diff-lcs \
+		rubygem-erubis>=2.7<3:www/rubygem-erubis \
+		rubygem-ffi>=1.9.25:devel/rubygem-ffi \
+		rubygem-ffi-libarchive>=1.0.3<2:devel/rubygem-ffi-libarchive \
+		rubygem-ffi-yajl>=2.2<3:devel/rubygem-ffi-yajl \
+		rubygem-iniparse>=1.4<2:devel/rubygem-iniparse \
+		rubygem-inspec-core>=4.23:devel/rubygem-inspec-core \
+		rubygem-license-acceptance>=1.0.5<3:sysutils/rubygem-license-acceptance \
+		rubygem-mixlib-archive>=0.4<2.0:devel/rubygem-mixlib-archive \
+		rubygem-mixlib-authentication>=2.1<4:devel/rubygem-mixlib-authentication \
+		rubygem-mixlib-cli>=2.1.1<3.0:devel/rubygem-mixlib-cli \
+		rubygem-mixlib-log>=2.0.3<4.0:devel/rubygem-mixlib-log \
+		rubygem-mixlib-shellout>=3.1.1<4.0:devel/rubygem-mixlib-shellout \
+		rubygem-net-sftp>=2.1.2<5.0:security/rubygem-net-sftp \
+		rubygem-ohai17>=17.0<18:sysutils/rubygem-ohai17 \
+		rubygem-plist>=3.2<4:devel/rubygem-plist \
+		rubygem-proxifier>=1.0<2:net/rubygem-proxifier \
+		rubygem-syslog-logger>=1.6<2:sysutils/rubygem-syslog-logger \
+		rubygem-train-core>=3.10<4:net/rubygem-train-core \
+		rubygem-train-winrm>=0.2.5:net/rubygem-train-winrm \
+		rubygem-uuidtools>=2.1.5<3.0:devel/rubygem-uuidtools \
+		rubygem-vault>=0.16<1:security/rubygem-vault
+
+USES=		cpe gem shebangfix
+
+NO_ARCH=	yes
+
+SUB_LIST=	RUBY=${RUBY}
+USE_RC_SUBR=	chef_client
+
+PORTSCOUT=	limit:^17\.
+
+SHEBANG_FILES=	spec/functional/assets/chefinittest \
+		spec/functional/assets/testchefsubsys
+SHEBANG_LANG=	ksh
+
+post-patch:
+	@${REINPLACE_CMD} -e '1d' ${WRKSRC}/spec/data/apt/chef-integration-test*/debian/rules
+
+post-install:
+#	${INSTALL_MAN} ${WRKSRC}/distro/common/man/man1/*.1 ${STAGEDIR}${PREFIX}/man/man1/
+#	${INSTALL_MAN} ${WRKSRC}/distro/common/man/man8/*.8 ${STAGEDIR}${PREFIX}/man/man8/
+	${MKDIR} ${STAGEDIR}/var/chef
+
+.include <bsd.port.mk>
diff --git a/sysutils/rubygem-chef17/distinfo b/sysutils/rubygem-chef17/distinfo
new file mode 100644
index 000000000000..2ed091ea899c
--- /dev/null
+++ b/sysutils/rubygem-chef17/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1685211569
+SHA256 (rubygem/chef-17.10.68.gem) = 20e076a93c78b6f1be759c087e0179a0c7ec65a375624a00d221f2128c8ff143
+SIZE (rubygem/chef-17.10.68.gem) = 1700352
diff --git a/sysutils/rubygem-chef17/files/chef_client.in b/sysutils/rubygem-chef17/files/chef_client.in
new file mode 100644
index 000000000000..9c2f52e6142c
--- /dev/null
+++ b/sysutils/rubygem-chef17/files/chef_client.in
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# PROVIDE: chef_client
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+# Add the following line to /etc/rc.conf to enable chef-client
+#
+#  chef_client_enable="YES"
+
+. /etc/rc.subr
+
+name="chef_client"
+rcvar=chef_client_enable
+
+# Read configuration and set defaults
+load_rc_config $name
+: ${chef_client_enable="NO"}
+: ${chef_client_configfile="%%PREFIX%%/etc/chef/client.rb"}
+: ${chef_client_interval="600"}
+: ${chef_client_splay="0"}
+: ${chef_client_logfile="/var/log/chef-client.log"}
+: ${chef_client_loglevel="info"}
+
+if [ -f "$chef_client_configfile" ]
+	then
+		pidfile=`awk '/^[ \t]*pid_file[ \t]+/ { print $2 }' ${chef_client_configfile}`
+		: ${chef_client_pidfile=$pidfile}
+	else
+		: ${chef_client_pidfile="/var/run/chef-client.pid"}
+fi
+
+if [ -n "$chef_client_nodename" ]
+	then
+		nodename="-N ${chef_client_nodename}"
+	else
+		nodename=""
+fi
+
+if [ -n "$chef_client_server" ]
+	then
+		server="-N ${chef_client_server}"
+	else
+		server=""
+fi
+
+command="%%PREFIX%%/bin/chef-client"
+command_interpreter="%%RUBY%%"
+pidfile=${chef_client_pidfile}
+chef_client_flags="-c ${chef_client_configfile} ${nodename}${server}-d -i ${chef_client_interval} -s ${chef_client_splay} -L ${chef_client_logfile} -l ${chef_client_loglevel} -P ${chef_client_pidfile}"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/sysutils/rubygem-chef17/pkg-descr b/sysutils/rubygem-chef17/pkg-descr
new file mode 100644
index 000000000000..7015d3a8bb3d
--- /dev/null
+++ b/sysutils/rubygem-chef17/pkg-descr
@@ -0,0 +1,9 @@
+Chef is a systems integration framework, built to bring the benefits of
+configuration management to your entire infrastructure. With Chef, you can:
+
+* Manage your servers by writing code, not by running commands.
+* Integrate tightly with your applications, databases, LDAP directories, and
+  more.
+* Easily configure applications that require knowledge about your entire
+  infrastructure ("What systems are running my application?" "What is the
+  current master database server?")
diff --git a/sysutils/rubygem-chef17/pkg-plist b/sysutils/rubygem-chef17/pkg-plist
new file mode 100644
index 000000000000..0f465e956272
--- /dev/null
+++ b/sysutils/rubygem-chef17/pkg-plist
@@ -0,0 +1 @@
+@dir /var/chef