aboutsummaryrefslogtreecommitdiff
path: root/sysutils
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2023-05-27 23:18:34 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2023-05-27 23:43:37 +0000
commit32fb0f8e1c155e0e3694afeda3593574d69badd8 (patch)
tree475e2573796814837f5415c6efddbd0d86927a46 /sysutils
parent543034970ecd92199743ab6f0ac37438f6dcc894 (diff)
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/rubygem-chef17/Makefile66
-rw-r--r--sysutils/rubygem-chef17/distinfo3
-rw-r--r--sysutils/rubygem-chef17/files/chef_client.in54
-rw-r--r--sysutils/rubygem-chef17/pkg-descr9
-rw-r--r--sysutils/rubygem-chef17/pkg-plist1
6 files changed, 134 insertions, 0 deletions
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