summaryrefslogtreecommitdiff
path: root/sysutils
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/Makefile9
-rw-r--r--sysutils/bamf/Makefile4
-rw-r--r--sysutils/k9s/Makefile7
-rw-r--r--sysutils/k9s/distinfo10
-rw-r--r--sysutils/kassiber/Makefile18
-rw-r--r--sysutils/kassiber/distinfo3
-rw-r--r--sysutils/kassiber/pkg-descr5
-rw-r--r--sysutils/kopia/Makefile3
-rw-r--r--sysutils/kopia/distinfo10
-rw-r--r--sysutils/liburcu/Makefile2
-rw-r--r--sysutils/liburcu/distinfo6
-rw-r--r--sysutils/liburcu/pkg-plist1
-rw-r--r--sysutils/mise/Makefile2
-rw-r--r--sysutils/mise/distinfo6
-rw-r--r--sysutils/modules/Makefile26
-rw-r--r--sysutils/modules/distinfo6
-rw-r--r--sysutils/modules/pkg-plist1
-rw-r--r--sysutils/openvox-agent8/Makefile135
-rw-r--r--sysutils/openvox-agent8/distinfo23
-rw-r--r--sysutils/openvox-agent8/files/patch-lib_puppet_provider_service_daemontools.rb20
-rw-r--r--sysutils/openvox-agent8/files/patch-openvox.gemspec11
-rw-r--r--sysutils/openvox-agent8/files/pkg-message.in11
-rw-r--r--sysutils/openvox-agent8/files/puppet.in46
-rw-r--r--sysutils/openvox-agent8/pkg-descr5
-rw-r--r--sysutils/openvox-agent8/pkg-plist221
-rw-r--r--sysutils/openvox-server8/Makefile95
-rw-r--r--sysutils/openvox-server8/distinfo3
-rw-r--r--sysutils/openvox-server8/files/patch-ext__bin__puppetserver15
-rw-r--r--sysutils/openvox-server8/files/patch-ext__cli__foreground19
-rw-r--r--sysutils/openvox-server8/files/patch-ext__cli_defaults__cli-defaults.sh12
-rw-r--r--sysutils/openvox-server8/files/patch-ext__config__conf.d__global.conf9
-rw-r--r--sysutils/openvox-server8/files/patch-ext__config__conf.d__puppetserver.conf55
-rw-r--r--sysutils/openvox-server8/files/patch-ext__config__conf.d__webserver.conf9
-rw-r--r--sysutils/openvox-server8/files/patch-ext__config__logback.xml31
-rw-r--r--sysutils/openvox-server8/files/patch-ext__config__request-logging.xml15
-rw-r--r--sysutils/openvox-server8/files/patch-ext__ezbake-functions.sh11
-rw-r--r--sysutils/openvox-server8/files/pkg-message.in17
-rw-r--r--sysutils/openvox-server8/files/puppetserver.in95
-rw-r--r--sysutils/openvox-server8/pkg-descr11
-rw-r--r--sysutils/openvox-server8/pkg-plist29
-rw-r--r--sysutils/p5-OpenTelemetry-Exporter-OTLP/Makefile37
-rw-r--r--sysutils/p5-OpenTelemetry-Exporter-OTLP/distinfo3
-rw-r--r--sysutils/p5-OpenTelemetry-Exporter-OTLP/pkg-descr15
-rw-r--r--sysutils/p5-OpenTelemetry-Exporter-OTLP/pkg-plist28
-rw-r--r--sysutils/p5-OpenTelemetry-SDK/Makefile30
-rw-r--r--sysutils/p5-OpenTelemetry-SDK/distinfo3
-rw-r--r--sysutils/p5-OpenTelemetry-SDK/pkg-descr12
-rw-r--r--sysutils/p5-OpenTelemetry-SDK/pkg-plist51
-rw-r--r--sysutils/p5-OpenTelemetry/Makefile42
-rw-r--r--sysutils/p5-OpenTelemetry/distinfo3
-rw-r--r--sysutils/p5-OpenTelemetry/pkg-descr10
-rw-r--r--sysutils/p5-OpenTelemetry/pkg-plist129
-rw-r--r--sysutils/puppet8/Makefile3
-rw-r--r--sysutils/puppet8/files/patch-puppet.gemspec11
-rw-r--r--sysutils/puppetserver8/Makefile2
-rw-r--r--sysutils/py-ansible-core/Makefile2
-rw-r--r--sysutils/py-ansible-core/distinfo6
-rw-r--r--sysutils/py-ansible-core/files/patch-pyproject.toml8
-rw-r--r--sysutils/py-howdoi/Makefile4
-rw-r--r--sysutils/rubygem-chef-licensing/Makefile5
-rw-r--r--sysutils/rubygem-chef-licensing/distinfo6
-rw-r--r--sysutils/rubygem-chef-licensing/files/patch-gemspec10
-rw-r--r--sysutils/rubygem-chef/Makefile3
-rw-r--r--sysutils/rubygem-chef/files/patch-gemspec13
-rw-r--r--sysutils/rubygem-facter/Makefile2
-rw-r--r--sysutils/rubygem-openfact/Makefile30
-rw-r--r--sysutils/rubygem-openfact/distinfo3
-rw-r--r--sysutils/rubygem-openfact/pkg-descr5
-rw-r--r--sysutils/rubygem-openvoxserver-ca/Makefile23
-rw-r--r--sysutils/rubygem-openvoxserver-ca/distinfo3
-rw-r--r--sysutils/rubygem-openvoxserver-ca/files/patch-lib_puppetserver_ca_config_puppet.rb11
-rw-r--r--sysutils/rubygem-openvoxserver-ca/files/patch-lib_puppetserver_ca_utils_config.rb27
-rw-r--r--sysutils/rubygem-openvoxserver-ca/pkg-descr2
-rw-r--r--sysutils/rubygem-puppetserver-ca/Makefile2
-rw-r--r--sysutils/rubygem-vagrant_cloud-gitlab/Makefile24
-rw-r--r--sysutils/rubygem-vagrant_cloud-gitlab/distinfo3
-rw-r--r--sysutils/rubygem-vagrant_cloud-gitlab/pkg-descr3
-rw-r--r--sysutils/snmp_exporter/Makefile5
-rw-r--r--sysutils/snmp_exporter/files/generator.yml23
-rw-r--r--sysutils/snmp_exporter/files/pkg-message.in8
-rw-r--r--sysutils/snmp_exporter/pkg-plist1
-rw-r--r--sysutils/superfile/Makefile3
-rw-r--r--sysutils/superfile/distinfo10
-rw-r--r--sysutils/vagrant/Makefile7
-rw-r--r--sysutils/vagrant/distinfo6
-rw-r--r--sysutils/vagrant/files/patch-bin_vagrant11
-rw-r--r--sysutils/vagrant/files/patch-vagrant.gemspec23
-rw-r--r--sysutils/vagrant/pkg-plist15
88 files changed, 1573 insertions, 130 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 8c4dc7f4892e..71f54d6d986c 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -574,6 +574,7 @@
SUBDIR += k8temp
SUBDIR += k9s
SUBDIR += kapp
+ SUBDIR += kassiber
SUBDIR += kbackup
SUBDIR += kcron
SUBDIR += kdeadmin
@@ -799,6 +800,8 @@
SUBDIR += openseachest
SUBDIR += opentofu
SUBDIR += openupsd
+ SUBDIR += openvox-agent8
+ SUBDIR += openvox-server8
SUBDIR += osinfo-db-tools
SUBDIR += p5-App-Regather
SUBDIR += p5-App-RunCron
@@ -844,6 +847,9 @@
SUBDIR += p5-MogileFS-Server
SUBDIR += p5-MogileFS-Utils
SUBDIR += p5-Monitor-Simple
+ SUBDIR += p5-OpenTelemetry
+ SUBDIR += p5-OpenTelemetry-Exporter-OTLP
+ SUBDIR += p5-OpenTelemetry-SDK
SUBDIR += p5-POSIX-Run-Capture
SUBDIR += p5-Plugtools
SUBDIR += p5-Plugtools-Plugins-HomeOU
@@ -1198,6 +1204,8 @@
SUBDIR += rubygem-mothra
SUBDIR += rubygem-murder
SUBDIR += rubygem-ohai
+ SUBDIR += rubygem-openfact
+ SUBDIR += rubygem-openvoxserver-ca
SUBDIR += rubygem-parallel
SUBDIR += rubygem-puppet_forge
SUBDIR += rubygem-puppetfile-resolver
@@ -1225,6 +1233,7 @@
SUBDIR += rubygem-vagrant-bhyve
SUBDIR += rubygem-vagrant-mutate
SUBDIR += rubygem-vagrant_cloud
+ SUBDIR += rubygem-vagrant_cloud-gitlab
SUBDIR += rubygem-vmstat
SUBDIR += rubygem-win32-file
SUBDIR += rubygem-win32-file-security
diff --git a/sysutils/bamf/Makefile b/sysutils/bamf/Makefile
index 5c86cd9d22b0..76b9a9e0e1da 100644
--- a/sysutils/bamf/Makefile
+++ b/sysutils/bamf/Makefile
@@ -1,6 +1,6 @@
PORTNAME= bamf
PORTVERSION= 0.5.6
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= sysutils
MASTER_SITES= https://launchpad.net/${PORTNAME}/${PORTVERSION:R}/${PORTVERSION}/+download/
@@ -11,7 +11,7 @@ WWW= https://launchpad.net/bamf
LICENSE= LGPL3
LICENSE_FILE= ${WRKSRC}/COPYING.LGPL
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=4.4.2:devel/py-lxml@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml5>=4.4.2:devel/py-lxml5@${PY_FLAVOR}
LIB_DEPENDS= libgtop-2.0.so:devel/libgtop \
libstartup-notification-1.so:x11/startup-notification \
libharfbuzz.so:print/harfbuzz
diff --git a/sysutils/k9s/Makefile b/sysutils/k9s/Makefile
index 9f999dbd4be5..e0975f024e37 100644
--- a/sysutils/k9s/Makefile
+++ b/sysutils/k9s/Makefile
@@ -1,7 +1,6 @@
PORTNAME= k9s
DISTVERSIONPREFIX= v
-DISTVERSION= 0.50.7
-PORTREVISION= 1
+DISTVERSION= 0.50.9
CATEGORIES= sysutils
MAINTAINER= gogolok@gmail.com
@@ -11,11 +10,11 @@ WWW= https://github.com/derailed/k9s
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= go:1.24,modules
+USES= go:modules
GO_MODULE= github.com/derailed/k9s
GO_BUILDFLAGS= -ldflags="-X github.com/derailed/k9s/cmd.version=${DISTVERSIONFULL} \
-X github.com/derailed/k9s/cmd.date=$$(date +'%Y-%m-%dT%H:%M:%SZ') \
- -X github.com/derailed/k9s/cmd.commit=457e4b86db896d776e2be7401de88002a8b04932"
+ -X github.com/derailed/k9s/cmd.commit=ff62f621158b8d701279f9900437021bcfa369c2"
PLIST_FILES= bin/${PORTNAME}
diff --git a/sysutils/k9s/distinfo b/sysutils/k9s/distinfo
index 935b0dfb5fb6..5f45e85df4ca 100644
--- a/sysutils/k9s/distinfo
+++ b/sysutils/k9s/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1751856343
-SHA256 (go/sysutils_k9s/k9s-v0.50.7/v0.50.7.mod) = 9c688acf06f60da8ec8788bba945d4cf2714f74dc08448a661f903b30e4d9555
-SIZE (go/sysutils_k9s/k9s-v0.50.7/v0.50.7.mod) = 19091
-SHA256 (go/sysutils_k9s/k9s-v0.50.7/v0.50.7.zip) = 5f45a7c9ed930484862dcebe07f67e013078a33a30d23aa52a2f463e161bdb77
-SIZE (go/sysutils_k9s/k9s-v0.50.7/v0.50.7.zip) = 7507603
+TIMESTAMP = 1752732367
+SHA256 (go/sysutils_k9s/k9s-v0.50.9/v0.50.9.mod) = 3387550bafc1bf2d6b3b88be8d97651e3d19db55b79b0284483a36097e3c8159
+SIZE (go/sysutils_k9s/k9s-v0.50.9/v0.50.9.mod) = 19608
+SHA256 (go/sysutils_k9s/k9s-v0.50.9/v0.50.9.zip) = 0ce55f5bcbd27fc9cef54f665861886a7f57cf31038208a35ab855d32d807601
+SIZE (go/sysutils_k9s/k9s-v0.50.9/v0.50.9.zip) = 7511483
diff --git a/sysutils/kassiber/Makefile b/sysutils/kassiber/Makefile
new file mode 100644
index 000000000000..fb88788fcf60
--- /dev/null
+++ b/sysutils/kassiber/Makefile
@@ -0,0 +1,18 @@
+PORTNAME= kassiber
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.0.2
+CATEGORIES= sysutils
+
+MAINTAINER= fuz@FreeBSD.org
+COMMENT= Smuggle programs into jails
+
+LICENSE= BSD2CLAUSE
+
+USES= uidfix
+USE_GITHUB= yes
+GH_ACCOUNT= crest
+
+PLIST_FILES= bin/kassiber \
+ share/man/man1/kassiber.1.gz
+
+.include <bsd.port.mk>
diff --git a/sysutils/kassiber/distinfo b/sysutils/kassiber/distinfo
new file mode 100644
index 000000000000..666ac10c2681
--- /dev/null
+++ b/sysutils/kassiber/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752687787
+SHA256 (crest-kassiber-v0.0.2_GH0.tar.gz) = f8b990c797f9f7360187da0210ba1eadc0856f30e4c9ecb622861e57c2512735
+SIZE (crest-kassiber-v0.0.2_GH0.tar.gz) = 9799
diff --git a/sysutils/kassiber/pkg-descr b/sysutils/kassiber/pkg-descr
new file mode 100644
index 000000000000..d376051d0ba9
--- /dev/null
+++ b/sysutils/kassiber/pkg-descr
@@ -0,0 +1,5 @@
+Kassiber takes an executable file from the host and runs it in
+the given jail, taking care of any library dependencies. This
+allows you to execute commands in jails without transferring
+their executable files or required shared library dependencies
+into them.
diff --git a/sysutils/kopia/Makefile b/sysutils/kopia/Makefile
index 09252e4009c0..d385c6edf8ce 100644
--- a/sysutils/kopia/Makefile
+++ b/sysutils/kopia/Makefile
@@ -1,7 +1,6 @@
PORTNAME= kopia
DISTVERSIONPREFIX= v
-DISTVERSION= 0.20.1
-PORTREVISION= 2
+DISTVERSION= 0.21.0
CATEGORIES= sysutils
MAINTAINER= eduardo@FreeBSD.org
diff --git a/sysutils/kopia/distinfo b/sysutils/kopia/distinfo
index 6bb33e9b252e..6e590f0b52b8 100644
--- a/sysutils/kopia/distinfo
+++ b/sysutils/kopia/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1748261778
-SHA256 (go/sysutils_kopia/kopia-v0.20.1/v0.20.1.mod) = ba1a78d23432eec3951e1fa397c0e7678b63a88df0f4c94c12c373f963d81cad
-SIZE (go/sysutils_kopia/kopia-v0.20.1/v0.20.1.mod) = 7159
-SHA256 (go/sysutils_kopia/kopia-v0.20.1/v0.20.1.zip) = 020e2f87adcb99eaad4fc3895a08d2433ae4a242758c95cc28dd340b76ec4deb
-SIZE (go/sysutils_kopia/kopia-v0.20.1/v0.20.1.zip) = 2369873
+TIMESTAMP = 1753051106
+SHA256 (go/sysutils_kopia/kopia-v0.21.0/v0.21.0.mod) = 8f535c3b0b8b925ffdac12109309343ccc1440e7905cc19bd7a2da4b53f710ed
+SIZE (go/sysutils_kopia/kopia-v0.21.0/v0.21.0.mod) = 7157
+SHA256 (go/sysutils_kopia/kopia-v0.21.0/v0.21.0.zip) = a6cfe8da2e9ee07e03a8b7fb8c886800ed19958ac52e3448a629c10132aefc59
+SIZE (go/sysutils_kopia/kopia-v0.21.0/v0.21.0.zip) = 2378858
diff --git a/sysutils/liburcu/Makefile b/sysutils/liburcu/Makefile
index 16c2fe638123..e0a1a26ceb90 100644
--- a/sysutils/liburcu/Makefile
+++ b/sysutils/liburcu/Makefile
@@ -1,5 +1,5 @@
PORTNAME= liburcu
-DISTVERSION= 0.15.1
+DISTVERSION= 0.15.3
CATEGORIES= sysutils
MASTER_SITES= https://lttng.org/files/urcu/
DISTNAME= userspace-rcu-${DISTVERSION}
diff --git a/sysutils/liburcu/distinfo b/sysutils/liburcu/distinfo
index 40ba6d3e7c0d..f6e992fefaaf 100644
--- a/sysutils/liburcu/distinfo
+++ b/sysutils/liburcu/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744243785
-SHA256 (userspace-rcu-0.15.1.tar.bz2) = 98d66cc12f2c5881879b976f0c55d10d311401513be254e3bd28cf3811fb50c8
-SIZE (userspace-rcu-0.15.1.tar.bz2) = 682998
+TIMESTAMP = 1751907763
+SHA256 (userspace-rcu-0.15.3.tar.bz2) = 26687ec84e3e114759454c884a08abeaf79dec09b041895ddf4c45ec150acb6d
+SIZE (userspace-rcu-0.15.3.tar.bz2) = 684175
diff --git a/sysutils/liburcu/pkg-plist b/sysutils/liburcu/pkg-plist
index f41cdea3962e..191d9b8977bd 100644
--- a/sysutils/liburcu/pkg-plist
+++ b/sysutils/liburcu/pkg-plist
@@ -85,6 +85,7 @@ include/urcu/uatomic/riscv.h
include/urcu/uatomic/s390.h
include/urcu/uatomic/sparc64.h
include/urcu/uatomic/tile.h
+include/urcu/uatomic/uassert.h
include/urcu/uatomic/x86.h
include/urcu/uatomic_arch.h
include/urcu/urcu-bp.h
diff --git a/sysutils/mise/Makefile b/sysutils/mise/Makefile
index 94b3e65a2203..ec42a3e1f9cc 100644
--- a/sysutils/mise/Makefile
+++ b/sysutils/mise/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mise
DISTVERSIONPREFIX= v
-DISTVERSION= 2025.7.17
+DISTVERSION= 2025.7.20
CATEGORIES= sysutils
MAINTAINER= yuri@FreeBSD.org
diff --git a/sysutils/mise/distinfo b/sysutils/mise/distinfo
index a2e6648ae968..3b909f9efb4b 100644
--- a/sysutils/mise/distinfo
+++ b/sysutils/mise/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1752906864
+TIMESTAMP = 1753243791
SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
@@ -1403,5 +1403,5 @@ SHA256 (rust/crates/zstd-safe-7.2.4.crate) = 8f49c4d5f0abb602a93fb8736af2a4f4dd9
SIZE (rust/crates/zstd-safe-7.2.4.crate) = 29350
SHA256 (rust/crates/zstd-sys-2.0.15+zstd.1.5.7.crate) = eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237
SIZE (rust/crates/zstd-sys-2.0.15+zstd.1.5.7.crate) = 774847
-SHA256 (jdx-mise-v2025.7.17_GH0.tar.gz) = a9280eb979701be5f6e14a2b60db273d089a6c6d7e9cfc22040e3694dd226378
-SIZE (jdx-mise-v2025.7.17_GH0.tar.gz) = 4334551
+SHA256 (jdx-mise-v2025.7.20_GH0.tar.gz) = 6f02eb16e77b9ef6a4fd344f2911fc49643d5e51bb132407b2108e973e1f360a
+SIZE (jdx-mise-v2025.7.20_GH0.tar.gz) = 4345790
diff --git a/sysutils/modules/Makefile b/sysutils/modules/Makefile
index 9d65671ba161..20102ec7c461 100644
--- a/sysutils/modules/Makefile
+++ b/sysutils/modules/Makefile
@@ -1,7 +1,7 @@
PORTNAME= modules
-DISTVERSION= 5.4.0
+DISTVERSION= 5.5.0
CATEGORIES= sysutils tcl
-MASTER_SITES= https://github.com/cea-hpc/modules/releases/download/v${PORTVERSION}/
+MASTER_SITES= https://github.com/cea-hpc/modules/releases/download/v${DISTVERSION}/
MAINTAINER= laurent.chardon@gmail.com
COMMENT= Dynamic modification of a user environment
@@ -12,16 +12,21 @@ LICENSE_FILE= ${WRKSRC}/COPYING.GPLv2
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0:textproc/py-sphinx@${PY_FLAVOR} \
bash:shells/bash
+TEST_DEPENDS= runtest:misc/dejagnu
-USES= gmake python:env shebangfix tar:bzip2 tcl
-GNU_CONFIGURE= yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+USES= gmake python:env shebangfix tar:bzip2 tcl
+
+GNU_CONFIGURE= yes
GNU_CONFIGURE_PREFIX= ${PREFIX}/Modules
-CONFIGURE_SHELL= ${LOCALBASE}/bin/bash
-CONFIGURE_ARGS= --enable-versioning \
- --with-python="${PYTHON_CMD}"
+CONFIGURE_ARGS= --enable-versioning \
+ --with-python="${PYTHON_CMD}"
+
+TEST_TARGET= test
+
+PLIST_SUB= MODULES_VERSION=${DISTVERSION}
-PLIST_SUB= MODULES_VERSION=${PORTVERSION}
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${GNU_CONFIGURE_PREFIX}/${DISTVERSION}/lib/libtclenvmodules.so
post-stage:
${MKDIR} ${STAGEDIR}${PREFIX}/etc/profile.d
@@ -30,7 +35,4 @@ post-stage:
${RLN} ${STAGEDIR}${PREFIX}/Modules/${PORTVERSION}/init/profile.csh \
${STAGEDIR}${PREFIX}/etc/profile.d/module.csh
-post-install:
- @${STRIP_CMD} ${STAGEDIR}${GNU_CONFIGURE_PREFIX}/${PORTVERSION}/lib/libtclenvmodules.so
-
.include <bsd.port.mk>
diff --git a/sysutils/modules/distinfo b/sysutils/modules/distinfo
index 92afd411ed62..84bc1cb14787 100644
--- a/sysutils/modules/distinfo
+++ b/sysutils/modules/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1715939712
-SHA256 (modules-5.4.0.tar.bz2) = c494f70cb533b5f24ad69803aa053bb4a509bec4632d6a066e7ac041db461a72
-SIZE (modules-5.4.0.tar.bz2) = 1899923
+TIMESTAMP = 1752919709
+SHA256 (modules-5.5.0.tar.bz2) = cb6355b0c81566a4d3ecd06fb4ae6afc9665a087b1e9039c5b5ffbc46fa282e2
+SIZE (modules-5.5.0.tar.bz2) = 1971838
diff --git a/sysutils/modules/pkg-plist b/sysutils/modules/pkg-plist
index 8baf47d344ba..ad360a2e4989 100644
--- a/sysutils/modules/pkg-plist
+++ b/sysutils/modules/pkg-plist
@@ -17,6 +17,7 @@ Modules/%%MODULES_VERSION%%/init/lisp
Modules/%%MODULES_VERSION%%/init/perl.pm
Modules/%%MODULES_VERSION%%/init/profile.csh
Modules/%%MODULES_VERSION%%/init/profile.sh
+Modules/%%MODULES_VERSION%%/init/pwsh.ps1
Modules/%%MODULES_VERSION%%/init/python.py
Modules/%%MODULES_VERSION%%/init/r.R
Modules/%%MODULES_VERSION%%/init/ruby.rb
diff --git a/sysutils/openvox-agent8/Makefile b/sysutils/openvox-agent8/Makefile
new file mode 100644
index 000000000000..fb4b6ee64fbe
--- /dev/null
+++ b/sysutils/openvox-agent8/Makefile
@@ -0,0 +1,135 @@
+PORTNAME= openvox-agent
+PORTVERSION= 8.21.0
+PORTREVISION= 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://github.com/OpenVoxProject/openvox
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= rubygem-concurrent-ruby>1.0:devel/rubygem-concurrent-ruby \
+ rubygem-deep_merge>1.0:devel/rubygem-deep_merge \
+ rubygem-fast_gettext>=2.1:devel/rubygem-fast_gettext \
+ rubygem-getoptlong>=0.2.0:devel/rubygem-getoptlong \
+ rubygem-locale>=2.1:devel/rubygem-locale \
+ rubygem-multi_json>=1.13:devel/rubygem-multi_json \
+ rubygem-openfact>=5.0.0:sysutils/rubygem-openfact \
+ rubygem-puppet-resource_api>=1.5:devel/rubygem-puppet-resource_api \
+ rubygem-ruby-augeas>=0:textproc/rubygem-ruby-augeas \
+ rubygem-scanf>=1.0:devel/rubygem-scanf \
+ rubygem-semantic_puppet>=1.0:devel/rubygem-semantic_puppet
+
+USES= cpe ruby
+USE_GITHUB= yes
+GH_ACCOUNT= OpenVoxProject
+GH_PROJECT= openvox
+
+CONFLICTS_INSTALL= openvox-agent[0-9] 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}
+
+DATADIR= ${PREFIX}/share/puppet
+ETCDIR= ${PREFIX}/etc/puppet
+
+OPTIONS_DEFINE= DOCS EXAMPLES
+
+# Get versions from
+# https://github.com/OpenVoxProject/openvox-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.5.0 \
+ cron_core=1.3.0 \
+ host_core=1.3.0 \
+ mount_core=1.3.0 \
+ scheduled_task=3.2.0 \
+ selinux_core=1.4.0 \
+ sshkeys_core=2.5.0 \
+ yumrepo_core=2.1.0 \
+ zfs_core=1.5.0 \
+ zone_core=1.2.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|" \
+ -e "s|/opt/puppetlabs/puppet/modules|${ETCDIR}/vendor_modules|" \
+ -e "s|/opt/puppetlabs/puppet/vendor_modules|${ETCDIR}/vendor_modules|" \
+ ${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|" \
+ ${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}/puppet -type f | \
+ ${SED} 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST}
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/ruby/gems/${RUBY_VER}/specifications
+ ${INSTALL_DATA} ${WRKSRC}/openvox.gemspec ${STAGEDIR}${PREFIX}/lib/ruby/gems/${RUBY_VER}/specifications/openvox-${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 <bsd.port.mk>
diff --git a/sysutils/openvox-agent8/distinfo b/sysutils/openvox-agent8/distinfo
new file mode 100644
index 000000000000..c14e7dd08139
--- /dev/null
+++ b/sysutils/openvox-agent8/distinfo
@@ -0,0 +1,23 @@
+TIMESTAMP = 1752946246
+SHA256 (puppetlabs-augeas_core-1.5.0.tar.gz) = 470406981b7638869acb4ecc75e2fd079b5999b5aeeb8324b9b475fe07bca935
+SIZE (puppetlabs-augeas_core-1.5.0.tar.gz) = 26311
+SHA256 (puppetlabs-cron_core-1.3.0.tar.gz) = 2a7be4004acc3881357b2e11db1a8937f4d64d37d8ce38872cefe1c7c4a2a6ef
+SIZE (puppetlabs-cron_core-1.3.0.tar.gz) = 26051
+SHA256 (puppetlabs-host_core-1.3.0.tar.gz) = 3583352bf60cb9013907b880868c1eeee053d2dd647a4f9e388a34cba373622d
+SIZE (puppetlabs-host_core-1.3.0.tar.gz) = 15862
+SHA256 (puppetlabs-mount_core-1.3.0.tar.gz) = 5924b9e974f6fa592cea29cbe93a07b5d7e08bbf2e98145f7ae7157305946b4a
+SIZE (puppetlabs-mount_core-1.3.0.tar.gz) = 22751
+SHA256 (puppetlabs-scheduled_task-3.2.0.tar.gz) = 9f0ba59b55caadeb658ba2d5cc51f0a76136d4bb5fffe008bbd5c911b42ac43f
+SIZE (puppetlabs-scheduled_task-3.2.0.tar.gz) = 44882
+SHA256 (puppetlabs-selinux_core-1.4.0.tar.gz) = 140e41c1ab4c0523b46b0e89f3316945ae4b5328e661da87aebfc33628d92b57
+SIZE (puppetlabs-selinux_core-1.4.0.tar.gz) = 17751
+SHA256 (puppetlabs-sshkeys_core-2.5.0.tar.gz) = b67365307a2b21c1ba2ecf444c3e4895244559d8c5bd40cc2ead4d33fe27cd11
+SIZE (puppetlabs-sshkeys_core-2.5.0.tar.gz) = 20562
+SHA256 (puppetlabs-yumrepo_core-2.1.0.tar.gz) = 32e78df32121fa65312f0948f614dab8c7414ccfedbc5e2c70a8cf468fe89cbe
+SIZE (puppetlabs-yumrepo_core-2.1.0.tar.gz) = 22146
+SHA256 (puppetlabs-zfs_core-1.5.0.tar.gz) = 54ddfee4aeea028ed4269cd9ffd89f8491cb5720a67d5f34dcb9bd7e3a87b079
+SIZE (puppetlabs-zfs_core-1.5.0.tar.gz) = 20163
+SHA256 (puppetlabs-zone_core-1.2.0.tar.gz) = 7c722015b3d16b6a48bec1b6f79dd7369cfd0de70731f17b94c27553f7e08096
+SIZE (puppetlabs-zone_core-1.2.0.tar.gz) = 22000
+SHA256 (OpenVoxProject-openvox-8.21.0_GH0.tar.gz) = 454fd528f43fd236a75832e45007937b4103ce8e284e22becfc9dce5c6d11d8c
+SIZE (OpenVoxProject-openvox-8.21.0_GH0.tar.gz) = 3547619
diff --git a/sysutils/openvox-agent8/files/patch-lib_puppet_provider_service_daemontools.rb b/sysutils/openvox-agent8/files/patch-lib_puppet_provider_service_daemontools.rb
new file mode 100644
index 000000000000..ee90c96a89ab
--- /dev/null
+++ b/sysutils/openvox-agent8/files/patch-lib_puppet_provider_service_daemontools.rb
@@ -0,0 +1,20 @@
+--- lib/puppet/provider/service/daemontools.rb.orig 2024-02-22 01:02:28 UTC
++++ lib/puppet/provider/service/daemontools.rb
+@@ -41,7 +41,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
+@@ -88,7 +88,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/openvox-agent8/files/patch-openvox.gemspec b/sysutils/openvox-agent8/files/patch-openvox.gemspec
new file mode 100644
index 000000000000..c86da301d200
--- /dev/null
+++ b/sysutils/openvox-agent8/files/patch-openvox.gemspec
@@ -0,0 +1,11 @@
+--- openvox.gemspec.orig 2025-07-23 00:04:25 UTC
++++ openvox.gemspec
+@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
+ spec.add_runtime_dependency('benchmark', '>= 0.3', '< 0.5')
+ spec.add_runtime_dependency('concurrent-ruby', '~> 1.0')
+ spec.add_runtime_dependency('deep_merge', '~> 1.0')
+- spec.add_runtime_dependency('fast_gettext', '>= 2.1', '< 4')
++ spec.add_runtime_dependency('fast_gettext', '>= 2.1', '< 5')
+ spec.add_runtime_dependency('getoptlong', '~> 0.2.0')
+ spec.add_runtime_dependency('locale', '~> 2.1')
+ spec.add_runtime_dependency('multi_json', '~> 1.13')
diff --git a/sysutils/openvox-agent8/files/pkg-message.in b/sysutils/openvox-agent8/files/pkg-message.in
new file mode 100644
index 000000000000..caa220715594
--- /dev/null
+++ b/sysutils/openvox-agent8/files/pkg-message.in
@@ -0,0 +1,11 @@
+[
+{ type: install
+ message: <<EOM
+To enable the puppet agent, add the following to /etc/rc.conf:
+
+ puppet_enable="YES"
+
+The default PID directory is /var/run/puppet
+EOM
+}
+]
diff --git a/sysutils/openvox-agent8/files/puppet.in b/sysutils/openvox-agent8/files/puppet.in
new file mode 100644
index 000000000000..fbdfef003ed5
--- /dev/null
+++ b/sysutils/openvox-agent8/files/puppet.in
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+# PROVIDE: puppet
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable the puppet agent:
+#
+# puppet_enable="YES"
+
+. /etc/rc.subr
+
+name="puppet"
+rcvar=puppet_enable
+
+load_rc_config "$name"
+
+: ${puppet_enable="NO"}
+: ${puppet_rundir="/var/run/puppet"}
+
+command="%%PREFIX%%/bin/puppet"
+command_args="agent ${puppet_flags} --rundir=${puppet_rundir}"
+command_interpreter=%%RUBY%%
+unset puppet_flags
+
+pidfile="${puppet_rundir}/agent.pid"
+start_precmd="install -d -o puppet -g puppet ${pidfile%/*}"
+
+PATH="${PATH}:%%PREFIX%%/bin:%%PREFIX%%/sbin"
+
+# An UTF-8 locale is required
+: LC_ALL=${LC_ALL:=C.UTF-8}
+case $LC_ALL in
+ *.UTF-8)
+ ;;
+ *.*)
+ LC_ALL="${LC_ALL%.*}.UTF-8"
+ ;;
+ *)
+ LC_ALL=C.UTF-8
+ ;;
+esac
+export LC_ALL
+
+run_rc_command "$1"
diff --git a/sysutils/openvox-agent8/pkg-descr b/sysutils/openvox-agent8/pkg-descr
new file mode 100644
index 000000000000..2ee78c6e21be
--- /dev/null
+++ b/sysutils/openvox-agent8/pkg-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
+elements normally aggregated in different files, like users, cron jobs, and
+hosts, along with obviously discrete elements like packages, services, and
+files.
diff --git a/sysutils/openvox-agent8/pkg-plist b/sysutils/openvox-agent8/pkg-plist
new file mode 100644
index 000000000000..f8c590840af5
--- /dev/null
+++ b/sysutils/openvox-agent8/pkg-plist
@@ -0,0 +1,221 @@
+bin/puppet
+%%ETCDIR%%/puppet.conf-dist
+%%ETCDIR%%/vendor_modules/augeas_core/.rubocop.yml
+%%ETCDIR%%/vendor_modules/augeas_core/CHANGELOG.md
+%%ETCDIR%%/vendor_modules/augeas_core/CODEOWNERS
+%%ETCDIR%%/vendor_modules/augeas_core/LICENSE
+%%ETCDIR%%/vendor_modules/augeas_core/README.md
+%%ETCDIR%%/vendor_modules/augeas_core/README_ja_JP.md
+%%ETCDIR%%/vendor_modules/augeas_core/REFERENCE.md
+%%ETCDIR%%/vendor_modules/augeas_core/lib/puppet/feature/augeas.rb
+%%ETCDIR%%/vendor_modules/augeas_core/lib/puppet/provider/augeas/augeas.rb
+%%ETCDIR%%/vendor_modules/augeas_core/lib/puppet/type/augeas.rb
+%%ETCDIR%%/vendor_modules/augeas_core/lib/puppet_x/augeas/util/parser.rb
+%%ETCDIR%%/vendor_modules/augeas_core/locales/config.yaml
+%%ETCDIR%%/vendor_modules/augeas_core/locales/ja/puppetlabs-augeas_core.po
+%%ETCDIR%%/vendor_modules/augeas_core/locales/puppetlabs-augeas_core.pot
+%%ETCDIR%%/vendor_modules/augeas_core/metadata.json
+%%ETCDIR%%/vendor_modules/augeas_core/pdk.yaml
+%%ETCDIR%%/vendor_modules/cron_core/.rubocop.yml
+%%ETCDIR%%/vendor_modules/cron_core/CHANGELOG.md
+%%ETCDIR%%/vendor_modules/cron_core/CODEOWNERS
+%%ETCDIR%%/vendor_modules/cron_core/LICENSE
+%%ETCDIR%%/vendor_modules/cron_core/README.md
+%%ETCDIR%%/vendor_modules/cron_core/README_ja_JP.md
+%%ETCDIR%%/vendor_modules/cron_core/REFERENCE.md
+%%ETCDIR%%/vendor_modules/cron_core/data/common.yaml
+%%ETCDIR%%/vendor_modules/cron_core/hiera.yaml
+%%ETCDIR%%/vendor_modules/cron_core/lib/puppet/provider/cron/crontab.rb
+%%ETCDIR%%/vendor_modules/cron_core/lib/puppet/provider/cron/filetype.rb
+%%ETCDIR%%/vendor_modules/cron_core/lib/puppet/type/cron.rb
+%%ETCDIR%%/vendor_modules/cron_core/locales/config.yaml
+%%ETCDIR%%/vendor_modules/cron_core/locales/ja/puppetlabs-cron_core.po
+%%ETCDIR%%/vendor_modules/cron_core/locales/puppetlabs-cron_core.pot
+%%ETCDIR%%/vendor_modules/cron_core/metadata.json
+%%ETCDIR%%/vendor_modules/cron_core/pdk.yaml
+%%ETCDIR%%/vendor_modules/host_core/.rubocop.yml
+%%ETCDIR%%/vendor_modules/host_core/CHANGELOG.md
+%%ETCDIR%%/vendor_modules/host_core/CODEOWNERS
+%%ETCDIR%%/vendor_modules/host_core/LICENSE
+%%ETCDIR%%/vendor_modules/host_core/README.md
+%%ETCDIR%%/vendor_modules/host_core/README_ja_JP.md
+%%ETCDIR%%/vendor_modules/host_core/REFERENCE.md
+%%ETCDIR%%/vendor_modules/host_core/data/common.yaml
+%%ETCDIR%%/vendor_modules/host_core/hiera.yaml
+%%ETCDIR%%/vendor_modules/host_core/lib/puppet/provider/host/parsed.rb
+%%ETCDIR%%/vendor_modules/host_core/lib/puppet/type/host.rb
+%%ETCDIR%%/vendor_modules/host_core/locales/config.yaml
+%%ETCDIR%%/vendor_modules/host_core/locales/ja/puppetlabs-host_core.po
+%%ETCDIR%%/vendor_modules/host_core/locales/puppetlabs-host_core.pot
+%%ETCDIR%%/vendor_modules/host_core/metadata.json
+%%ETCDIR%%/vendor_modules/host_core/pdk.yaml
+%%ETCDIR%%/vendor_modules/mount_core/.rubocop.yml
+%%ETCDIR%%/vendor_modules/mount_core/CHANGELOG.md
+%%ETCDIR%%/vendor_modules/mount_core/CODEOWNERS
+%%ETCDIR%%/vendor_modules/mount_core/LICENSE
+%%ETCDIR%%/vendor_modules/mount_core/README.md
+%%ETCDIR%%/vendor_modules/mount_core/README_ja_JP.md
+%%ETCDIR%%/vendor_modules/mount_core/REFERENCE.md
+%%ETCDIR%%/vendor_modules/mount_core/data/common.yaml
+%%ETCDIR%%/vendor_modules/mount_core/hiera.yaml
+%%ETCDIR%%/vendor_modules/mount_core/lib/puppet/provider/mount.rb
+%%ETCDIR%%/vendor_modules/mount_core/lib/puppet/provider/mount/parsed.rb
+%%ETCDIR%%/vendor_modules/mount_core/lib/puppet/type/mount.rb
+%%ETCDIR%%/vendor_modules/mount_core/locales/config.yaml
+%%ETCDIR%%/vendor_modules/mount_core/locales/ja/puppetlabs-mount_core.po
+%%ETCDIR%%/vendor_modules/mount_core/locales/puppetlabs-mount_core.pot
+%%ETCDIR%%/vendor_modules/mount_core/metadata.json
+%%ETCDIR%%/vendor_modules/mount_core/pdk.yaml
+%%ETCDIR%%/vendor_modules/scheduled_task/.github/workflows/auto_release.yml
+%%ETCDIR%%/vendor_modules/scheduled_task/.github/workflows/labeller.yml
+%%ETCDIR%%/vendor_modules/scheduled_task/.github/workflows/mend.yml
+%%ETCDIR%%/vendor_modules/scheduled_task/.github/workflows/nightly.yml
+%%ETCDIR%%/vendor_modules/scheduled_task/.github/workflows/pr_test.yml
+%%ETCDIR%%/vendor_modules/scheduled_task/.github/workflows/release.yml
+%%ETCDIR%%/vendor_modules/scheduled_task/.github/workflows/spec.yml
+%%ETCDIR%%/vendor_modules/scheduled_task/.gitpod.Dockerfile
+%%ETCDIR%%/vendor_modules/scheduled_task/.gitpod.yml
+%%ETCDIR%%/vendor_modules/scheduled_task/.pmtignore
+%%ETCDIR%%/vendor_modules/scheduled_task/CHANGELOG.md
+%%ETCDIR%%/vendor_modules/scheduled_task/CODEOWNERS
+%%ETCDIR%%/vendor_modules/scheduled_task/CONTRIBUTING.md
+%%ETCDIR%%/vendor_modules/scheduled_task/HISTORY.md
+%%ETCDIR%%/vendor_modules/scheduled_task/LICENSE
+%%ETCDIR%%/vendor_modules/scheduled_task/NOTICE
+%%ETCDIR%%/vendor_modules/scheduled_task/README.md
+%%ETCDIR%%/vendor_modules/scheduled_task/REFERENCE.md
+%%ETCDIR%%/vendor_modules/scheduled_task/data/common.yaml
+%%ETCDIR%%/vendor_modules/scheduled_task/examples/create_task_v1.pp
+%%ETCDIR%%/vendor_modules/scheduled_task/examples/delete_task_v1.pp
+%%ETCDIR%%/vendor_modules/scheduled_task/hiera.yaml
+%%ETCDIR%%/vendor_modules/scheduled_task/lib/puppet/provider/scheduled_task/taskscheduler_api2.rb
+%%ETCDIR%%/vendor_modules/scheduled_task/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb
+%%ETCDIR%%/vendor_modules/scheduled_task/lib/puppet/type/scheduled_task.rb
+%%ETCDIR%%/vendor_modules/scheduled_task/lib/puppet_x/puppetlabs/scheduled_task/error.rb
+%%ETCDIR%%/vendor_modules/scheduled_task/lib/puppet_x/puppetlabs/scheduled_task/task.rb
+%%ETCDIR%%/vendor_modules/scheduled_task/lib/puppet_x/puppetlabs/scheduled_task/trigger.rb
+%%ETCDIR%%/vendor_modules/scheduled_task/metadata.json
+%%ETCDIR%%/vendor_modules/scheduled_task/pdk.yaml
+%%ETCDIR%%/vendor_modules/scheduled_task/provision.yaml
+%%ETCDIR%%/vendor_modules/scheduled_task/readmes/README_ja_JP.md
+%%ETCDIR%%/vendor_modules/selinux_core/.rubocop.yml
+%%ETCDIR%%/vendor_modules/selinux_core/CHANGELOG.md
+%%ETCDIR%%/vendor_modules/selinux_core/CODEOWNERS
+%%ETCDIR%%/vendor_modules/selinux_core/LICENSE
+%%ETCDIR%%/vendor_modules/selinux_core/README.md
+%%ETCDIR%%/vendor_modules/selinux_core/REFERENCE.md
+%%ETCDIR%%/vendor_modules/selinux_core/data/common.yaml
+%%ETCDIR%%/vendor_modules/selinux_core/hiera.yaml
+%%ETCDIR%%/vendor_modules/selinux_core/lib/puppet/provider/selboolean/getsetsebool.rb
+%%ETCDIR%%/vendor_modules/selinux_core/lib/puppet/provider/selmodule/semodule.rb
+%%ETCDIR%%/vendor_modules/selinux_core/lib/puppet/type/selboolean.rb
+%%ETCDIR%%/vendor_modules/selinux_core/lib/puppet/type/selmodule.rb
+%%ETCDIR%%/vendor_modules/selinux_core/locales/config.yaml
+%%ETCDIR%%/vendor_modules/selinux_core/locales/ja/puppetlabs-selinux_core.po
+%%ETCDIR%%/vendor_modules/selinux_core/locales/puppetlabs-selinux_core.pot
+%%ETCDIR%%/vendor_modules/selinux_core/metadata.json
+%%ETCDIR%%/vendor_modules/selinux_core/pdk.yaml
+%%ETCDIR%%/vendor_modules/selinux_core/readmes/README_ja_JP.md
+%%ETCDIR%%/vendor_modules/sshkeys_core/.rubocop.yml
+%%ETCDIR%%/vendor_modules/sshkeys_core/CHANGELOG.md
+%%ETCDIR%%/vendor_modules/sshkeys_core/CODEOWNERS
+%%ETCDIR%%/vendor_modules/sshkeys_core/LICENSE
+%%ETCDIR%%/vendor_modules/sshkeys_core/README.md
+%%ETCDIR%%/vendor_modules/sshkeys_core/README_ja_JP.md
+%%ETCDIR%%/vendor_modules/sshkeys_core/REFERENCE.md
+%%ETCDIR%%/vendor_modules/sshkeys_core/data/common.yaml
+%%ETCDIR%%/vendor_modules/sshkeys_core/hiera.yaml
+%%ETCDIR%%/vendor_modules/sshkeys_core/lib/puppet/provider/ssh_authorized_key/parsed.rb
+%%ETCDIR%%/vendor_modules/sshkeys_core/lib/puppet/provider/sshkey/parsed.rb
+%%ETCDIR%%/vendor_modules/sshkeys_core/lib/puppet/type/ssh_authorized_key.rb
+%%ETCDIR%%/vendor_modules/sshkeys_core/lib/puppet/type/sshkey.rb
+%%ETCDIR%%/vendor_modules/sshkeys_core/locales/config.yaml
+%%ETCDIR%%/vendor_modules/sshkeys_core/locales/ja/puppetlabs-sshkeys_core.po
+%%ETCDIR%%/vendor_modules/sshkeys_core/locales/puppetlabs-sshkeys_core.pot
+%%ETCDIR%%/vendor_modules/sshkeys_core/metadata.json
+%%ETCDIR%%/vendor_modules/sshkeys_core/pdk.yaml
+%%ETCDIR%%/vendor_modules/yumrepo_core/.rubocop.yml
+%%ETCDIR%%/vendor_modules/yumrepo_core/CHANGELOG.md
+%%ETCDIR%%/vendor_modules/yumrepo_core/CODEOWNERS
+%%ETCDIR%%/vendor_modules/yumrepo_core/LICENSE
+%%ETCDIR%%/vendor_modules/yumrepo_core/README.md
+%%ETCDIR%%/vendor_modules/yumrepo_core/REFERENCE.md
+%%ETCDIR%%/vendor_modules/yumrepo_core/data/common.yaml
+%%ETCDIR%%/vendor_modules/yumrepo_core/hiera.yaml
+%%ETCDIR%%/vendor_modules/yumrepo_core/lib/puppet/provider/yumrepo/inifile.rb
+%%ETCDIR%%/vendor_modules/yumrepo_core/lib/puppet/type/yumrepo.rb
+%%ETCDIR%%/vendor_modules/yumrepo_core/locales/config.yaml
+%%ETCDIR%%/vendor_modules/yumrepo_core/locales/ja/puppetlabs-yumrepo_core.po
+%%ETCDIR%%/vendor_modules/yumrepo_core/locales/puppetlabs-yumrepo_core.pot
+%%ETCDIR%%/vendor_modules/yumrepo_core/metadata.json
+%%ETCDIR%%/vendor_modules/yumrepo_core/pdk.yaml
+%%ETCDIR%%/vendor_modules/yumrepo_core/readmes/README_ja_JP.md
+%%ETCDIR%%/vendor_modules/zfs_core/.rubocop.yml
+%%ETCDIR%%/vendor_modules/zfs_core/CHANGELOG.md
+%%ETCDIR%%/vendor_modules/zfs_core/CODEOWNERS
+%%ETCDIR%%/vendor_modules/zfs_core/LICENSE
+%%ETCDIR%%/vendor_modules/zfs_core/README.md
+%%ETCDIR%%/vendor_modules/zfs_core/REFERENCE.md
+%%ETCDIR%%/vendor_modules/zfs_core/data/common.yaml
+%%ETCDIR%%/vendor_modules/zfs_core/hiera.yaml
+%%ETCDIR%%/vendor_modules/zfs_core/lib/puppet/provider/zfs/zfs.rb
+%%ETCDIR%%/vendor_modules/zfs_core/lib/puppet/provider/zpool/zpool.rb
+%%ETCDIR%%/vendor_modules/zfs_core/lib/puppet/type/zfs.rb
+%%ETCDIR%%/vendor_modules/zfs_core/lib/puppet/type/zpool.rb
+%%ETCDIR%%/vendor_modules/zfs_core/locales/config.yaml
+%%ETCDIR%%/vendor_modules/zfs_core/locales/ja/puppetlabs-zfs_core.po
+%%ETCDIR%%/vendor_modules/zfs_core/locales/puppetlabs-zfs_core.pot
+%%ETCDIR%%/vendor_modules/zfs_core/metadata.json
+%%ETCDIR%%/vendor_modules/zfs_core/pdk.yaml
+%%ETCDIR%%/vendor_modules/zfs_core/readmes/README_ja_JP.md
+%%ETCDIR%%/vendor_modules/zone_core/.rubocop.yml
+%%ETCDIR%%/vendor_modules/zone_core/CHANGELOG.md
+%%ETCDIR%%/vendor_modules/zone_core/CODEOWNERS
+%%ETCDIR%%/vendor_modules/zone_core/LICENSE
+%%ETCDIR%%/vendor_modules/zone_core/README.md
+%%ETCDIR%%/vendor_modules/zone_core/REFERENCE.md
+%%ETCDIR%%/vendor_modules/zone_core/data/common.yaml
+%%ETCDIR%%/vendor_modules/zone_core/hiera.yaml
+%%ETCDIR%%/vendor_modules/zone_core/lib/puppet/provider/zone/solaris.rb
+%%ETCDIR%%/vendor_modules/zone_core/lib/puppet/type/zone.rb
+%%ETCDIR%%/vendor_modules/zone_core/locales/config.yaml
+%%ETCDIR%%/vendor_modules/zone_core/locales/ja/puppetlabs-zone_core.po
+%%ETCDIR%%/vendor_modules/zone_core/locales/puppetlabs-zone_core.pot
+%%ETCDIR%%/vendor_modules/zone_core/metadata.json
+%%ETCDIR%%/vendor_modules/zone_core/pdk.yaml
+%%ETCDIR%%/vendor_modules/zone_core/readmes/README_ja_JP.md
+lib/ruby/gems/%%RUBY_VER%%/specifications/openvox-%%PORTVERSION%%.gemspec
+%%RUBY_SITELIBDIR%%/hiera/puppet_function.rb
+%%RUBY_SITELIBDIR%%/hiera/scope.rb
+%%RUBY_SITELIBDIR%%/hiera_puppet.rb
+%%RUBY_SITELIBDIR%%/puppet_pal.rb
+%%RUBY_SITELIBDIR%%/puppet_x.rb
+share/man/man5/puppet.conf.5.gz
+share/man/man8/puppet-agent.8.gz
+share/man/man8/puppet-apply.8.gz
+share/man/man8/puppet-catalog.8.gz
+share/man/man8/puppet-config.8.gz
+share/man/man8/puppet-describe.8.gz
+share/man/man8/puppet-device.8.gz
+share/man/man8/puppet-doc.8.gz
+share/man/man8/puppet-epp.8.gz
+share/man/man8/puppet-facts.8.gz
+share/man/man8/puppet-filebucket.8.gz
+share/man/man8/puppet-generate.8.gz
+share/man/man8/puppet-help.8.gz
+share/man/man8/puppet-lookup.8.gz
+share/man/man8/puppet-module.8.gz
+share/man/man8/puppet-node.8.gz
+share/man/man8/puppet-parser.8.gz
+share/man/man8/puppet-plugin.8.gz
+share/man/man8/puppet-report.8.gz
+share/man/man8/puppet-resource.8.gz
+share/man/man8/puppet-script.8.gz
+share/man/man8/puppet-ssl.8.gz
+share/man/man8/puppet.8.gz
+@dir(puppet,puppet,) %%ETCDIR%%/manifests
+@dir(puppet,puppet,) %%ETCDIR%%/modules
+@dir(puppet,puppet,) /var/puppet
+@dir(puppet,puppet,) /var/puppet/state
+@dir(puppet,puppet,) /var/log/puppet
+@dir /var/run/puppet
diff --git a/sysutils/openvox-server8/Makefile b/sysutils/openvox-server8/Makefile
new file mode 100644
index 000000000000..0a73a2834c9f
--- /dev/null
+++ b/sysutils/openvox-server8/Makefile
@@ -0,0 +1,95 @@
+PORTNAME= openvox-server
+PORTVERSION= 8.8.1
+CATEGORIES= sysutils java
+MASTER_SITES= https://artifacts.voxpupuli.org/${PORTNAME}/${PORTVERSION}/
+PKGNAMESUFFIX= 8
+
+MAINTAINER= puppet@FreeBSD.org
+COMMENT= Puppet Server running in the JVM
+WWW= https://docs.puppetlabs.com/puppetserver/latest/services_master_puppetserver.html
+
+LICENSE= APACHE20
+
+ONLY_FOR_ARCHS= aarch64 amd64
+ONLY_FOR_ARCHS_REASON=Bundled JNI only support some architectures
+
+RUN_DEPENDS= bash>=0:shells/bash \
+ openvox-agent8>=8.0:sysutils/openvox-agent8 \
+ rubygem-openvoxserver-ca>=1:sysutils/rubygem-openvoxserver-ca \
+ rubygem-semantic_puppet>=1:devel/rubygem-semantic_puppet \
+ sudo>=1:security/sudo
+
+USES= ruby java shebangfix
+JAVA_VERSION= 11+
+USE_RC_SUBR= puppetserver
+WRKSRC= ${WRKDIR}/puppetserver-${PORTVERSION}
+
+NO_ARCH= yes
+NO_BUILD= yes
+
+CONFLICTS_INSTALL= openvox-server[0-9] puppetserver[0-9]
+
+SHEBANG_FILES= ext/bin/puppetserver
+
+USERS= puppet
+GROUPS= puppet
+
+DATADIR= ${PREFIX}/share/puppetserver
+ETCDIR= ${PREFIX}/etc/puppetserver
+
+SUB_LIST= JAVA_HOME=${JAVA_HOME}
+SUB_FILES= pkg-message
+
+post-patch:
+.for file in ext/config/logback.xml ext/config/request-logging.xml \
+ ext/config/conf.d/global.conf ext/config/conf.d/puppetserver.conf \
+ ext/config/conf.d/web-routes.conf ext/config/conf.d/webserver.conf \
+ ext/config/conf.d/auth.conf ext/config/services.d/ca.cfg \
+ ext/system-config/services.d/bootstrap.cfg ext/bin/puppetserver \
+ ext/cli_defaults/cli-defaults.sh ext/cli/foreground
+ @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' \
+ -e 's|%%RUBY_SITELIBDIR%%|${RUBY_SITELIBDIR}|' \
+ -e 's|%%RUBY_VER%%|${RUBY_VER}|' \
+ -e 's|%%JAVA%%|${JAVA}|' \
+ -e 's|%%ETCDIR%%|${ETCDIR}|' \
+ -e 's|%%DATADIR%%|${DATADIR}|' \
+ ${WRKSRC}/${file}
+.endfor
+ @${REINPLACE_CMD} -e 's|#!/opt/puppetlabs/puppet/bin/ruby|#!${RUBY}|' \
+ ${WRKSRC}/ext/cli/ca \
+ ${WRKSRC}/ext/cli/dropsonde
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${DATADIR}/cli/apps
+ @${MKDIR} ${STAGEDIR}${ETCDIR}/conf.d
+ @${MKDIR} ${STAGEDIR}${ETCDIR}/services.d
+ @${MKDIR} ${STAGEDIR}${PREFIX}/etc/puppet/code
+ @${MKDIR} ${STAGEDIR}/var/log/puppetserver
+ @${MKDIR} ${STAGEDIR}/var/puppet/server
+ @${MKDIR} ${STAGEDIR}/var/puppet/server/data
+ @${MKDIR} ${STAGEDIR}/var/puppetserver
+ @${MKDIR} ${STAGEDIR}/var/run/puppetserver
+ ${INSTALL_DATA} ${WRKSRC}/puppet-server-release.jar ${STAGEDIR}${DATADIR}/puppet-server-release.jar
+ ${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/global.conf ${STAGEDIR}${ETCDIR}/conf.d/global.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/ext/config/logback.xml ${STAGEDIR}${ETCDIR}/logback.xml.sample
+ ${INSTALL_DATA} ${WRKSRC}/ext/config/request-logging.xml ${STAGEDIR}${ETCDIR}/request-logging.xml.sample
+ ${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/puppetserver.conf ${STAGEDIR}${ETCDIR}/conf.d/puppetserver.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/web-routes.conf ${STAGEDIR}${ETCDIR}/conf.d/web-routes.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/webserver.conf ${STAGEDIR}${ETCDIR}/conf.d/webserver.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/auth.conf ${STAGEDIR}${ETCDIR}/conf.d/auth.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/metrics.conf ${STAGEDIR}${ETCDIR}/conf.d/metrics.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/ext/config/services.d/ca.cfg ${STAGEDIR}${ETCDIR}/services.d/ca.cfg.sample
+ ${INSTALL_DATA} ${WRKSRC}/ext/system-config/services.d/bootstrap.cfg ${STAGEDIR}${ETCDIR}/services.d/bootstrap.cfg.sample
+ ${INSTALL_DATA} ${WRKSRC}/ext/bin/puppetserver ${STAGEDIR}${PREFIX}/bin/puppetserver
+ ${INSTALL_DATA} ${WRKSRC}/ext/ezbake-functions.sh ${STAGEDIR}${DATADIR}/ezbake-functions.sh
+ ${INSTALL_DATA} ${WRKSRC}/ext/cli/ca ${STAGEDIR}${DATADIR}/cli/apps/ca
+ ${INSTALL_DATA} ${WRKSRC}/ext/cli/foreground ${STAGEDIR}${DATADIR}/cli/apps/foreground
+ ${INSTALL_DATA} ${WRKSRC}/ext/cli/gem ${STAGEDIR}${DATADIR}/cli/apps/gem
+ ${INSTALL_DATA} ${WRKSRC}/ext/cli/irb ${STAGEDIR}${DATADIR}/cli/apps/irb
+ ${INSTALL_DATA} ${WRKSRC}/ext/cli/reload ${STAGEDIR}${DATADIR}/cli/apps/reload
+ ${INSTALL_DATA} ${WRKSRC}/ext/cli/ruby ${STAGEDIR}${DATADIR}/cli/apps/ruby
+ ${INSTALL_DATA} ${WRKSRC}/ext/cli/start ${STAGEDIR}${DATADIR}/cli/apps/start
+ ${INSTALL_DATA} ${WRKSRC}/ext/cli/stop ${STAGEDIR}${DATADIR}/cli/apps/stop
+ ${INSTALL_DATA} ${WRKSRC}/ext/cli_defaults/cli-defaults.sh ${STAGEDIR}${DATADIR}/cli/cli-defaults.sh
+
+.include <bsd.port.mk>
diff --git a/sysutils/openvox-server8/distinfo b/sysutils/openvox-server8/distinfo
new file mode 100644
index 000000000000..bd8ba86be44a
--- /dev/null
+++ b/sysutils/openvox-server8/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1748051578
+SHA256 (openvox-server-8.8.1.tar.gz) = de3314abf1aadea3d304e65992e586a6895ec9998dacf17ab099acbb0f1ca8e2
+SIZE (openvox-server-8.8.1.tar.gz) = 64708317
diff --git a/sysutils/openvox-server8/files/patch-ext__bin__puppetserver b/sysutils/openvox-server8/files/patch-ext__bin__puppetserver
new file mode 100644
index 000000000000..fb17e51c6fde
--- /dev/null
+++ b/sysutils/openvox-server8/files/patch-ext__bin__puppetserver
@@ -0,0 +1,15 @@
+--- ext/bin/puppetserver.orig 2018-10-03 16:18:58 UTC
++++ ext/bin/puppetserver
+@@ -15,6 +15,12 @@ elif [ `uname` == "OpenBSD" ] ; then
+ USER="_puppet"
+ INSTALL_DIR="/opt/puppetlabs/server/apps/puppetserver"
+ CONFIG="/etc/puppetlabs/puppetserver/conf.d"
++elif [ `uname` == "FreeBSD" ] ; then
++ JAVA_BIN="%%JAVA%%"
++ JAVA_ARGS="-Xms2g -Xmx2g"
++ USER="puppet"
++ INSTALL_DIR="%%DATADIR%%"
++ CONFIG="%%ETCDIR%%/conf.d"
+ else
+ echo "You seem to be missing some important configuration files; could not find /etc/default/puppetserver or /etc/sysconfig/puppetserver" >&2
+ exit 1
diff --git a/sysutils/openvox-server8/files/patch-ext__cli__foreground b/sysutils/openvox-server8/files/patch-ext__cli__foreground
new file mode 100644
index 000000000000..a4a4a5ad6649
--- /dev/null
+++ b/sysutils/openvox-server8/files/patch-ext__cli__foreground
@@ -0,0 +1,19 @@
+--- ext/cli/foreground.orig 2019-09-17 14:05:56 UTC
++++ ext/cli/foreground
+@@ -1,6 +1,6 @@
+ #!/usr/bin/env bash
+
+-restartfile="/opt/puppetlabs/server/data/puppetserver/restartcounter"
++restartfile="/var/puppet/server/data/puppetserver/restartcounter"
+ cli_defaults=${INSTALL_DIR}/cli/cli-defaults.sh
+
+ if [ ! -e "${INSTALL_DIR}/ezbake-functions.sh" ]; then
+@@ -30,7 +30,7 @@ fi
+ COMMAND="${JAVA_BIN} ${JAVA_ARGS} ${LOG_APPENDER} \
+ -cp "$CLASSPATH" \
+ clojure.main -m puppetlabs.trapperkeeper.main \
+- --config ${CONFIG} --bootstrap-config ${BOOTSTRAP_CONFIG} \
++ --config ${CONFIG} --bootstrap-config %%ETCDIR%%/services.d \
+ --restart-file "${restartfile}" \
+ ${TK_ARGS} \
+ ${@}"
diff --git a/sysutils/openvox-server8/files/patch-ext__cli_defaults__cli-defaults.sh b/sysutils/openvox-server8/files/patch-ext__cli_defaults__cli-defaults.sh
new file mode 100644
index 000000000000..85febc64943c
--- /dev/null
+++ b/sysutils/openvox-server8/files/patch-ext__cli_defaults__cli-defaults.sh
@@ -0,0 +1,12 @@
+--- ext/cli_defaults/cli-defaults.sh.orig 2019-09-17 14:05:56 UTC
++++ ext/cli_defaults/cli-defaults.sh
+@@ -1,7 +1,7 @@
+-INSTALL_DIR="/opt/puppetlabs/server/apps/puppetserver"
++INSTALL_DIR="%%DATADIR%%"
+
+ if [ -n "$JRUBY_JAR" ]; then
+ echo "Warning: the JRUBY_JAR setting is no longer needed and will be ignored." 1>&2
+ fi
+
+-CLASSPATH="${CLASSPATH}:/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.jar:/opt/puppetlabs/server/data/puppetserver/jars/*"
++CLASSPATH="${CLASSPATH}:/usr/local/lib/ruby/vendor_ruby/facter.jar:/opt/puppetlabs/server/data/puppetserver/jars/*"
diff --git a/sysutils/openvox-server8/files/patch-ext__config__conf.d__global.conf b/sysutils/openvox-server8/files/patch-ext__config__conf.d__global.conf
new file mode 100644
index 000000000000..5fc83d8e0ae8
--- /dev/null
+++ b/sysutils/openvox-server8/files/patch-ext__config__conf.d__global.conf
@@ -0,0 +1,9 @@
+--- ext/config/conf.d/global.conf.orig 2018-10-01 20:36:05 UTC
++++ ext/config/conf.d/global.conf
+@@ -1,5 +1,5 @@
+ global: {
+ # Path to logback logging configuration file; for more
+ # info, see http://logback.qos.ch/manual/configuration.html
+- logging-config: /etc/puppetlabs/puppetserver/logback.xml
++ logging-config: %%PREFIX%%/etc/puppetserver/logback.xml
+ }
diff --git a/sysutils/openvox-server8/files/patch-ext__config__conf.d__puppetserver.conf b/sysutils/openvox-server8/files/patch-ext__config__conf.d__puppetserver.conf
new file mode 100644
index 000000000000..335690c0d1cb
--- /dev/null
+++ b/sysutils/openvox-server8/files/patch-ext__config__conf.d__puppetserver.conf
@@ -0,0 +1,55 @@
+--- ext/config/conf.d/puppetserver.conf.orig 2021-03-12 18:01:54 UTC
++++ ext/config/conf.d/puppetserver.conf
+@@ -2,16 +2,20 @@
+ jruby-puppet: {
+ # Where the puppet-agent dependency places puppet, facter, etc...
+ # Puppet server expects to load Puppet from this location
+- ruby-load-path: [/opt/puppetlabs/puppet/lib/ruby/vendor_ruby]
++ ruby-load-path: [
++ %%PREFIX%%/share/puppetserver/lib,
++ %%RUBY_SITELIBDIR%%,
++ %%PREFIX%%/lib/ruby/vendor_ruby,
++ ]
+
+ # This setting determines where JRuby will install gems. It is used for loading gems,
+ # and also by the `puppetserver gem` command line tool.
+- gem-home: /opt/puppetlabs/server/data/puppetserver/jruby-gems
++ gem-home: /var/puppet/server/data/puppetserver/jruby-gems
+
+ # This setting defines the complete "GEM_PATH" for jruby. If set, it should include
+ # the gem-home directory as well as any other directories that gems can be loaded
+ # from (including the vendored gems directory for gems that ship with puppetserver)
+- gem-path: [${jruby-puppet.gem-home}, "/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems", "/opt/puppetlabs/puppet/lib/ruby/vendor_gems"]
++ gem-path: [${jruby-puppet.gem-home}, "/var/puppet/server/data/puppetserver/vendored-jruby-gems", "%%PREFIX%%/lib/ruby/gems/%%RUBY_VER%%"]
+
+ # PLEASE NOTE: Use caution when modifying the below settings. Modifying
+ # these settings will change the value of the corresponding Puppet settings
+@@ -26,23 +30,23 @@ jruby-puppet: {
+
+ # (optional) path to puppet conf dir; if not specified, will use
+ # /etc/puppetlabs/puppet
+- server-conf-dir: /etc/puppetlabs/puppet
++ server-conf-dir: %%PREFIX%%/etc/puppet
+
+ # (optional) path to puppet code dir; if not specified, will use
+ # /etc/puppetlabs/code
+- server-code-dir: /etc/puppetlabs/code
++ server-code-dir: %%PREFIX%%/etc/puppet/code
+
+ # (optional) path to puppet var dir; if not specified, will use
+ # /opt/puppetlabs/server/data/puppetserver
+- server-var-dir: /opt/puppetlabs/server/data/puppetserver
++ server-var-dir: /var/puppet/server/data/puppetserver
+
+ # (optional) path to puppet run dir; if not specified, will use
+ # /var/run/puppetlabs/puppetserver
+- server-run-dir: /var/run/puppetlabs/puppetserver
++ server-run-dir: /var/run/puppetserver
+
+ # (optional) path to puppet log dir; if not specified, will use
+ # /var/log/puppetlabs/puppetserver
+- server-log-dir: /var/log/puppetlabs/puppetserver
++ server-log-dir: /var/log/puppetserver
+
+ # (optional) maximum number of JRuby instances to allow
+ #max-active-instances: 1
diff --git a/sysutils/openvox-server8/files/patch-ext__config__conf.d__webserver.conf b/sysutils/openvox-server8/files/patch-ext__config__conf.d__webserver.conf
new file mode 100644
index 000000000000..21e4c5e6d868
--- /dev/null
+++ b/sysutils/openvox-server8/files/patch-ext__config__conf.d__webserver.conf
@@ -0,0 +1,9 @@
+--- ext/config/conf.d/webserver.conf.orig 2018-10-01 20:36:05 UTC
++++ ext/config/conf.d/webserver.conf
+@@ -1,5 +1,5 @@
+ webserver: {
+- access-log-config: /etc/puppetlabs/puppetserver/request-logging.xml
++ access-log-config: %%PREFIX%%/etc/puppetserver/request-logging.xml
+ client-auth: want
+ ssl-host: 0.0.0.0
+ ssl-port: 8140
diff --git a/sysutils/openvox-server8/files/patch-ext__config__logback.xml b/sysutils/openvox-server8/files/patch-ext__config__logback.xml
new file mode 100644
index 000000000000..22a49dbcde46
--- /dev/null
+++ b/sysutils/openvox-server8/files/patch-ext__config__logback.xml
@@ -0,0 +1,31 @@
+--- ext/config/logback.xml.orig 2023-10-19 16:09:06 UTC
++++ ext/config/logback.xml
+@@ -6,12 +6,11 @@
+ </appender>
+
+ <appender name="F1" class="ch.qos.logback.core.rolling.RollingFileAppender">
+- <!-- TODO: this path should not be hard-coded -->
+- <file>/var/log/puppetlabs/puppetserver/puppetserver.log</file>
++ <file>/var/log/puppetserver/puppetserver.log</file>
+ <append>true</append>
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+ <!-- rollover daily -->
+- <fileNamePattern>/var/log/puppetlabs/puppetserver/puppetserver-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
++ <fileNamePattern>/var/log/puppetserver/puppetserver-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
+ <!-- each file should be at most 200MB, keep 90 days worth of history, but at most 1GB total-->
+ <maxFileSize>200MB</maxFileSize>
+ <maxHistory>90</maxHistory>
+@@ -23,11 +22,11 @@
+ </appender>
+
+ <appender name="STATUS" class="ch.qos.logback.core.rolling.RollingFileAppender">
+- <file>/var/log/puppetlabs/puppetserver/puppetserver-status.log</file>
++ <file>/var/log/puppetserver/puppetserver-status.log</file>
+ <append>true</append>
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+ <!-- rollover daily -->
+- <fileNamePattern>/var/log/puppetlabs/puppetserver/puppetserver-status-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
++ <fileNamePattern>/var/log/puppetserver/puppetserver-status-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
+ <!-- each file should be at most 200MB, keep 90 days worth of history, but at most 1GB total-->
+ <maxFileSize>200MB</maxFileSize>
+ <maxHistory>90</maxHistory>
diff --git a/sysutils/openvox-server8/files/patch-ext__config__request-logging.xml b/sysutils/openvox-server8/files/patch-ext__config__request-logging.xml
new file mode 100644
index 000000000000..4358008fdb47
--- /dev/null
+++ b/sysutils/openvox-server8/files/patch-ext__config__request-logging.xml
@@ -0,0 +1,15 @@
+--- ext/config/request-logging.xml.orig 2018-09-18 17:16:33 UTC
++++ ext/config/request-logging.xml
+@@ -1,10 +1,10 @@
+ <configuration debug="false">
+ <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+- <file>/var/log/puppetlabs/puppetserver/puppetserver-access.log</file>
++ <file>/var/log/puppetserver/puppetserver-access.log</file>
+ <append>true</append>
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+ <!-- rollover daily -->
+- <fileNamePattern>/var/log/puppetlabs/puppetserver/puppetserver-access-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
++ <fileNamePattern>/var/log/puppetserver/puppetserver-access-%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
+ <!-- each file should be at most 200MB, keep 90 days worth of history, but at most 1GB total-->
+ <maxFileSize>200MB</maxFileSize>
+ <maxHistory>90</maxHistory>
diff --git a/sysutils/openvox-server8/files/patch-ext__ezbake-functions.sh b/sysutils/openvox-server8/files/patch-ext__ezbake-functions.sh
new file mode 100644
index 000000000000..bd4d0a1c26b7
--- /dev/null
+++ b/sysutils/openvox-server8/files/patch-ext__ezbake-functions.sh
@@ -0,0 +1,11 @@
+--- ext/ezbake-functions.sh.orig 2019-09-17 14:05:56 UTC
++++ ext/ezbake-functions.sh
+@@ -126,7 +126,7 @@ init_restart_file()
+ local group="${GROUP:-puppet}"
+
+ if [ ! -e "$restartfile" ]; then
+- /usr/bin/install --directory --owner=$user --group=$group --mode=755 "$restart_file_base_dir"
++ /usr/bin/install -d -o $user -g $group -m 755 "$restart_file_base_dir"
+ if [ $? -ne 0 ]; then
+ echo "Unable to create or set permissions for restart file at ${restart_file_base_dir}" 1>&2
+ return 1
diff --git a/sysutils/openvox-server8/files/pkg-message.in b/sysutils/openvox-server8/files/pkg-message.in
new file mode 100644
index 000000000000..0635f9786fce
--- /dev/null
+++ b/sysutils/openvox-server8/files/pkg-message.in
@@ -0,0 +1,17 @@
+[
+{ type: install
+ message: <<EOM
+Remember to run:
+
+sysrc puppetserver_enable=yes
+
+A note to users upgrading to 2.6 who have also modified bootstrap.cfg, please
+see the release notes for breaking changes in 2.5.
+
+https://docs.puppet.com/puppetserver/latest/release_notes.html#puppet-server-25
+
+The file bootstrap.cfg has been removed and ca configuration has been moved out
+to its own file in ca.cfg.
+EOM
+}
+]
diff --git a/sysutils/openvox-server8/files/puppetserver.in b/sysutils/openvox-server8/files/puppetserver.in
new file mode 100644
index 000000000000..65ab0c6714ac
--- /dev/null
+++ b/sysutils/openvox-server8/files/puppetserver.in
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+# PROVIDE: puppetserver
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Configuration settings for puppetserver in /etc/rc.conf:
+#
+# puppetserver_enable (bool):
+# Set to "NO" by default.
+# Set it to "YES" to enable puppetserver
+#
+# puppetserver_args (str):
+# Extra arguments passed to start command
+#
+# puppetserver_java_home (str):
+# Set to "%%JAVA_HOME%%" by default.
+# Set the Java virtual machine to run puppetserver
+#
+# puppetserver_java_opts (str):
+# Set to "" by default.
+# Java VM args to use.
+#
+# puppetserver_user (str):
+# Set to "puppet" by default.
+# User to run puppetserver as.
+#
+# puppetserver_group (str):
+# Set to "puppet" by default.
+# Group for data file ownership.
+#
+# puppetserver_log_file (str):
+# Set to "/var/log/puppetserver/puppetserver.log" by default.
+# Log file location.
+#
+
+. /etc/rc.subr
+
+name="puppetserver"
+rcvar=puppetserver_enable
+
+load_rc_config "${name}"
+
+: ${puppetserver_enable="NO"}
+: ${puppetserver_args="--config %%PREFIX%%/etc/puppetserver/conf.d -b %%PREFIX%%/etc/puppetserver/services.d"}
+: ${puppetserver_java_home="%%JAVA_HOME%%"}
+: ${puppetserver_java_opts=""}
+: ${puppetserver_user="puppet"}
+: ${puppetserver_group="puppet"}
+: ${puppetserver_log_file="/var/log/puppetserver/puppetserver.log"}
+
+pidfile="/var/run/puppetserver/puppetserver.pid"
+command="/usr/sbin/daemon"
+java_cmd="${puppetserver_java_home}/bin/java"
+procname="${java_cmd}"
+command_args="-f -p ${pidfile} ${java_cmd} -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -Dlogappender=F1 ${puppetserver_java_opts} -cp %%DATADIR%%/puppet-server-release.jar:%%PREFIX%%/lib/ruby/vendor_ruby/facter.jar clojure.main -m puppetlabs.trapperkeeper.main ${puppetserver_args}"
+
+
+required_files="${java_cmd}"
+
+start_precmd="puppetserver_prestart"
+
+# An UTF-8 locale is required
+: LC_ALL=${LC_ALL:=C.UTF-8}
+case $LC_ALL in
+ *.UTF-8)
+ ;;
+ *.*)
+ LC_ALL="${LC_ALL%.*}.UTF-8"
+ ;;
+ *)
+ LC_ALL=C.UTF-8
+ ;;
+esac
+export LC_ALL
+
+puppetserver_prestart() {
+ if [ ! -f "${puppetserver_log_file}" ]; then
+ touch "${puppetserver_log_file}"
+ chown "${puppetserver_user}:${puppetserver_group}" "${puppetserver_log_file}"
+ chmod 640 "${puppetserver_log_file}"
+ fi
+ if [ ! -d "/var/run/puppetserver" ]; then
+ install -d -o "${puppetserver_user}" -g "${puppetserver_group}" -m 750 "/var/run/puppetserver"
+ fi
+
+ chown -R "root:${puppetserver_group}" "%%PREFIX%%/etc/puppetserver/conf.d"
+ chmod 0750 "%%PREFIX%%/etc/puppetserver/conf.d"
+
+ chown "root:${puppetserver_group}" "%%PREFIX%%/etc/puppetserver/logback.xml"
+ chmod 0640 "%%PREFIX%%/etc/puppetserver/logback.xml"
+}
+
+run_rc_command "$1"
diff --git a/sysutils/openvox-server8/pkg-descr b/sysutils/openvox-server8/pkg-descr
new file mode 100644
index 000000000000..73a974443f9f
--- /dev/null
+++ b/sysutils/openvox-server8/pkg-descr
@@ -0,0 +1,11 @@
+Puppet master is a Ruby application that compiles configurations
+for any number of Puppet agent nodes, using Puppet code and various
+other data sources. (For more info, see Overview of Puppet's
+Architecture.)
+
+Puppet Server is an application that runs on the Java Virtual Machine
+(JVM) and provides the same services as the classic Puppet master
+application. It mostly does this by running the existing Puppet
+master code in several JRuby interpreters, but it replaces some
+parts of the classic application with new services written in
+Clojure.
diff --git a/sysutils/openvox-server8/pkg-plist b/sysutils/openvox-server8/pkg-plist
new file mode 100644
index 000000000000..329a3c5f8901
--- /dev/null
+++ b/sysutils/openvox-server8/pkg-plist
@@ -0,0 +1,29 @@
+@(,,750) bin/puppetserver
+@sample %%ETCDIR%%/logback.xml.sample
+@sample %%ETCDIR%%/request-logging.xml.sample
+@sample %%ETCDIR%%/conf.d/auth.conf.sample
+@sample %%ETCDIR%%/conf.d/global.conf.sample
+@sample %%ETCDIR%%/conf.d/metrics.conf.sample
+@sample %%ETCDIR%%/conf.d/puppetserver.conf.sample
+@sample %%ETCDIR%%/conf.d/web-routes.conf.sample
+@sample %%ETCDIR%%/conf.d/webserver.conf.sample
+@sample %%ETCDIR%%/services.d/bootstrap.cfg.sample
+@sample %%ETCDIR%%/services.d/ca.cfg.sample
+@dir(,puppet,750) etc/puppet/code
+%%DATADIR%%/puppet-server-release.jar
+@(,,755) %%DATADIR%%/cli/apps/ca
+@(,,755) %%DATADIR%%/cli/apps/foreground
+@(,,755) %%DATADIR%%/cli/apps/gem
+@(,,755) %%DATADIR%%/cli/apps/irb
+@(,,755) %%DATADIR%%/cli/apps/reload
+@(,,755) %%DATADIR%%/cli/apps/ruby
+@(,,755) %%DATADIR%%/cli/apps/start
+@(,,755) %%DATADIR%%/cli/apps/stop
+@(,,755) %%DATADIR%%/cli/cli-defaults.sh
+@(,,755) %%DATADIR%%/ezbake-functions.sh
+@dir(puppet,puppet,750) /var/log/puppetserver
+@dir(puppet,puppet,755) /var/puppet
+@dir(puppet,puppet,750) /var/puppet/server
+@dir(puppet,puppet,750) /var/puppet/server/data
+@dir(puppet,puppet,750) /var/puppetserver
+@dir(puppet,puppet,750) /var/run/puppetserver
diff --git a/sysutils/p5-OpenTelemetry-Exporter-OTLP/Makefile b/sysutils/p5-OpenTelemetry-Exporter-OTLP/Makefile
new file mode 100644
index 000000000000..9abcd5ed8e28
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry-Exporter-OTLP/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= OpenTelemetry-Exporter-OTLP
+PORTVERSION= 0.021
+CATEGORIES= sysutils perl5
+MASTER_SITES= CPAN
+MASTER_SITE_SUBDIR= CPAN:JJATRIA
+PKGNAMEPREFIX= p5-
+
+MAINTAINER= dvl@FreeBSD.org
+COMMENT= OpenTelemetry Protocol (OTLP) Exporter for Perl
+WWW= https://metacpan.org/dist/OpenTelemetry-Exporter-OTLP
+
+LICENSE= ART10
+
+USES= perl5
+USE_PERL5= configure
+
+NO_ARCH= yes
+
+BR_DEPENDS= p5-File-ShareDir-Install>=0.06:devel/p5-File-ShareDir-Install
+BUILD_DEPENDS= ${BR_DEPENDS} \
+ p5-ExtUtils-MakeMaker>0:devel/p5-ExtUtils-MakeMaker
+RUN_DEPENDS= ${BR_DEPENDS} \
+ p5-Feature-Compat-Try>0:devel/p5-Feature-Compat-Try \
+ p5-File-Share>0:devel/p5-File-Share \
+ p5-Future-AsyncAwait>=0.38:devel/p5-Future-AsyncAwait \
+ p5-HTTP-Tiny>0:www/p5-HTTP-Tiny \
+ p5-isa>0:devel/p5-isa \
+ p5-JSON-MaybeXS>0:converters/p5-JSON-MaybeXS \
+ p5-Metrics-Any>0:devel/p5-Metrics-Any \
+ p5-Object-Pad>=0.74:devel/p5-Object-Pad \
+ p5-OpenTelemetry>=0.030:sysutils/p5-OpenTelemetry \
+ p5-Path-Tiny>0:devel/p5-Path-Tiny \
+ p5-Syntax-Keyword-Dynamically>0:devel/p5-Syntax-Keyword-Dynamically \
+ p5-Syntax-Keyword-Match>0:devel/p5-Syntax-Keyword-Match \
+ p5-Time-Piece>0:devel/p5-Time-Piece
+
+.include <bsd.port.mk>
diff --git a/sysutils/p5-OpenTelemetry-Exporter-OTLP/distinfo b/sysutils/p5-OpenTelemetry-Exporter-OTLP/distinfo
new file mode 100644
index 000000000000..5e299438c7e8
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry-Exporter-OTLP/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752852946
+SHA256 (OpenTelemetry-Exporter-OTLP-0.021.tar.gz) = 64ccefd30020d9da0b7918898f894645f9a2416759e953aedfc843936541449f
+SIZE (OpenTelemetry-Exporter-OTLP-0.021.tar.gz) = 35852
diff --git a/sysutils/p5-OpenTelemetry-Exporter-OTLP/pkg-descr b/sysutils/p5-OpenTelemetry-Exporter-OTLP/pkg-descr
new file mode 100644
index 000000000000..a593679249f2
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry-Exporter-OTLP/pkg-descr
@@ -0,0 +1,15 @@
+The OpenTelemetry Protocol Exporter uses the OpenTelemetry Protocol to send
+the telemetry data to a collector. For ways to generate that telemetry data,
+you should look into the OpenTelemetry API distribution (if you are a library
+author) or the OpenTelemetry::SDK distribution (if you are an application
+author).
+
+The telemetry data provided by the API and SDK distributions needs to be sent
+and collected somewhere for processing. This distribution provides an OTLP
+exporter class that can be used to send telemetry data to a collector that
+supports that protocol.
+
+This distribution will be used by the OpenTelemetry::SDK distribution to send
+telemetry data (if configured to do so). If you are not writing an application
+that will send telemetry data to a collector, then you are unlikely to need
+distribution directly.
diff --git a/sysutils/p5-OpenTelemetry-Exporter-OTLP/pkg-plist b/sysutils/p5-OpenTelemetry-Exporter-OTLP/pkg-plist
new file mode 100644
index 000000000000..c16d6a9d1274
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry-Exporter-OTLP/pkg-plist
@@ -0,0 +1,28 @@
+%%SITE_PERL%%/OpenTelemetry/Exporter/OTLP.pm
+%%SITE_PERL%%/OpenTelemetry/Exporter/OTLP.pod
+%%SITE_PERL%%/OpenTelemetry/Exporter/OTLP/Encoder/JSON.pm
+%%SITE_PERL%%/OpenTelemetry/Exporter/OTLP/Encoder/JSON.pod
+%%SITE_PERL%%/OpenTelemetry/Exporter/OTLP/Encoder/Protobuf.pm
+%%SITE_PERL%%/OpenTelemetry/Exporter/OTLP/Encoder/Protobuf.pod
+%%SITE_PERL%%/OpenTelemetry/Exporter/OTLP/Logs.pm
+%%SITE_PERL%%/OpenTelemetry/Exporter/OTLP/Logs.pod
+%%SITE_PERL%%/OpenTelemetry/Exporter/OTLP/Traces.pm
+%%SITE_PERL%%/OpenTelemetry/Exporter/OTLP/Traces.pod
+%%SITE_PERL%%/OpenTelemetry/Proto.pm
+%%SITE_PERL%%/OpenTelemetry/Proto.pod
+%%SITE_PERL%%/auto/share/dist/OpenTelemetry-Exporter-OTLP/google/rpc/status.pb
+%%SITE_PERL%%/auto/share/dist/OpenTelemetry-Exporter-OTLP/opentelemetry/proto/collector/README.md
+%%SITE_PERL%%/auto/share/dist/OpenTelemetry-Exporter-OTLP/opentelemetry/proto/collector/logs/v1/logs_service.pb
+%%SITE_PERL%%/auto/share/dist/OpenTelemetry-Exporter-OTLP/opentelemetry/proto/collector/metrics/v1/metrics_service.pb
+%%SITE_PERL%%/auto/share/dist/OpenTelemetry-Exporter-OTLP/opentelemetry/proto/collector/trace/v1/trace_service.pb
+%%SITE_PERL%%/auto/share/dist/OpenTelemetry-Exporter-OTLP/opentelemetry/proto/common/v1/common.pb
+%%SITE_PERL%%/auto/share/dist/OpenTelemetry-Exporter-OTLP/opentelemetry/proto/logs/v1/logs.pb
+%%SITE_PERL%%/auto/share/dist/OpenTelemetry-Exporter-OTLP/opentelemetry/proto/metrics/v1/metrics.pb
+%%SITE_PERL%%/auto/share/dist/OpenTelemetry-Exporter-OTLP/opentelemetry/proto/resource/v1/resource.pb
+%%SITE_PERL%%/auto/share/dist/OpenTelemetry-Exporter-OTLP/opentelemetry/proto/trace/v1/trace.pb
+%%PERL5_MAN3%%/OpenTelemetry::Exporter::OTLP.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Exporter::OTLP::Encoder::JSON.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Exporter::OTLP::Encoder::Protobuf.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Exporter::OTLP::Logs.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Exporter::OTLP::Traces.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Proto.3.gz
diff --git a/sysutils/p5-OpenTelemetry-SDK/Makefile b/sysutils/p5-OpenTelemetry-SDK/Makefile
new file mode 100644
index 000000000000..c271648f242c
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry-SDK/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= OpenTelemetry-SDK
+PORTVERSION= 0.027
+CATEGORIES= sysutils perl5
+MASTER_SITES= CPAN
+MASTER_SITE_SUBDIR= CPAN:JJATRIA
+PKGNAMEPREFIX= p5-
+
+MAINTAINER= dvl@FreeBSD.org
+COMMENT= OpenTelemetry SDK for Perl
+WWW= https://metacpan.org/dist/OpenTelemetry-SDK/
+
+LICENSE= ART10
+
+USES= perl5
+USE_PERL5= modbuild
+
+BUILD_DEPENDS= p5-Module-Build-Tiny>0:devel/p5-Module-Build-Tiny
+RUN_DEPENDS= p5-Feature-Compat-Try>0:devel/p5-Feature-Compat-Try \
+ p5-Future-AsyncAwait>=0.38:devel/p5-Future-AsyncAwait \
+ p5-IO-Async>0:devel/p5-IO-Async \
+ p5-isa>0:devel/p5-isa \
+ p5-Metrics-Any>0:devel/p5-Metrics-Any \
+ p5-Mutex>0:devel/p5-Mutex \
+ p5-Object-Pad>=0.74:devel/p5-Object-Pad \
+ p5-OpenTelemetry-Exporter-OTLP>0:sysutils/p5-OpenTelemetry-Exporter-OTLP \
+ p5-OpenTelemetry>=0.030:sysutils/p5-OpenTelemetry
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/sysutils/p5-OpenTelemetry-SDK/distinfo b/sysutils/p5-OpenTelemetry-SDK/distinfo
new file mode 100644
index 000000000000..0ae7f98a4130
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry-SDK/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752852472
+SHA256 (OpenTelemetry-SDK-0.027.tar.gz) = 9e9f5e4a12732419dc6c13eb376e7cde7b1ec121905f69f5eb712e597cd4ad27
+SIZE (OpenTelemetry-SDK-0.027.tar.gz) = 56593
diff --git a/sysutils/p5-OpenTelemetry-SDK/pkg-descr b/sysutils/p5-OpenTelemetry-SDK/pkg-descr
new file mode 100644
index 000000000000..bcc86053794b
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry-SDK/pkg-descr
@@ -0,0 +1,12 @@
+This distribution provides the reference implementation of the OpenTelemetry
+Perl interfaces currently defined in the experimental OpenTelemetry
+distribution. That is, it includes the functionality needed to collect,
+analyze, and export telemetry data produced using the API.
+
+Generally, Perl applications should install this distribution (or other
+concrete implementation of the OpenTelemetry API). Using the SDK, an
+application can configure how it wants telemetry data to be handled, including
+which data should be persisted, how it should be formatted, and where it should
+be recorded or exported. However, libraries that produce telemetry data should
+generally depend only on OpenTelemetry, deferring the choice of concrete
+implementation to the application developer.
diff --git a/sysutils/p5-OpenTelemetry-SDK/pkg-plist b/sysutils/p5-OpenTelemetry-SDK/pkg-plist
new file mode 100644
index 000000000000..9d7649801ea6
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry-SDK/pkg-plist
@@ -0,0 +1,51 @@
+%%SITE_PERL%%/OpenTelemetry/SDK.pm
+%%SITE_PERL%%/OpenTelemetry/SDK.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Exporter/Console.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Exporter/Console.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/InstrumentationScope.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/InstrumentationScope.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Resource.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Resource.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler/AlwaysOff.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler/AlwaysOff.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler/AlwaysOn.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler/AlwaysOn.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler/ParentBased.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler/ParentBased.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler/Result.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler/Result.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler/TraceIDRatioBased.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Sampler/TraceIDRatioBased.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Span.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Span.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Span/Processor/Batch.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Span/Processor/Batch.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Span/Processor/Simple.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Span/Processor/Simple.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Span/Readable.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Span/Readable.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/SpanLimits.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/SpanLimits.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Tracer.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/Tracer.pod
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/TracerProvider.pm
+%%SITE_PERL%%/OpenTelemetry/SDK/Trace/TracerProvider.pod
+%%PERL5_MAN3%%/OpenTelemetry::SDK.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Exporter::Console.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::InstrumentationScope.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Resource.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::Sampler.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::Sampler::AlwaysOff.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::Sampler::AlwaysOn.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::Sampler::ParentBased.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::Sampler::Result.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::Sampler::TraceIDRatioBased.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::Span.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::Span::Processor::Batch.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::Span::Processor::Simple.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::Span::Readable.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::SpanLimits.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::Tracer.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::SDK::Trace::TracerProvider.3.gz
diff --git a/sysutils/p5-OpenTelemetry/Makefile b/sysutils/p5-OpenTelemetry/Makefile
new file mode 100644
index 000000000000..0d8b72557c9b
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry/Makefile
@@ -0,0 +1,42 @@
+PORTNAME= OpenTelemetry
+PORTVERSION= 0.030
+CATEGORIES= sysutils perl5
+MASTER_SITES= CPAN
+MASTER_SITE_SUBDIR= CPAN:JJATRIA
+PKGNAMEPREFIX= p5-
+
+MAINTAINER= dvl@FreeBSD.org
+COMMENT= Perl implementation of the OpenTelemetry standard
+WWW= https://metacpan.org/pod/OpenTelemetry
+
+LICENSE= ART10
+
+USES= perl5
+USE_PERL5= modbuild
+
+BUILD_DEPENDS= p5-Module-Build-Tiny>0:devel/p5-Module-Build-Tiny
+RUN_DEPENDS= p5-Bytes-Random-Secure>0:security/p5-Bytes-Random-Secure \
+ p5-Carp-Clan>0:devel/p5-Carp-Clan \
+ p5-Class-Method-Modifiers>0:devel/p5-Class-Method-Modifiers \
+ p5-Exporter-Tiny>=0.044:devel/p5-Exporter-Tiny \
+ p5-Feature-Compat-Defer>0:devel/p5-Feature-Compat-Defer \
+ p5-Feature-Compat-Try>0:devel/p5-Feature-Compat-Try \
+ p5-Future-AsyncAwait>0:devel/p5-Future-AsyncAwait \
+ p5-Future>=0.26:devel/p5-Future \
+ p5-isa>0:devel/p5-isa \
+ p5-List-UtilsBy>0:devel/p5-List-UtilsBy \
+ p5-Log-Any>0:devel/p5-Log-Any \
+ p5-Module-Pluggable>0:devel/p5-Module-Pluggable \
+ p5-Module-Runtime>0:devel/p5-Module-Runtime \
+ p5-Mutex>0:devel/p5-Mutex \
+ p5-Object-Pad>0:devel/p5-Object-Pad \
+ p5-Ref-Util>0:devel/p5-Ref-Util \
+ p5-Sentinel>0:devel/p5-Sentinel \
+ p5-Syntax-Keyword-Dynamically>0:devel/p5-Syntax-Keyword-Dynamically \
+ p5-URI>0:net/p5-URI \
+ p5-URL-Encode>0:www/p5-URL-Encode \
+ p5-X-Tiny>0:devel/p5-X-Tiny
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/sysutils/p5-OpenTelemetry/distinfo b/sysutils/p5-OpenTelemetry/distinfo
new file mode 100644
index 000000000000..480b02b047e7
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752847800
+SHA256 (OpenTelemetry-0.030.tar.gz) = c1061570a9474631a96c9f938bb43cd02adc9b0f33419cd91741a319cf832aa2
+SIZE (OpenTelemetry-0.030.tar.gz) = 102741
diff --git a/sysutils/p5-OpenTelemetry/pkg-descr b/sysutils/p5-OpenTelemetry/pkg-descr
new file mode 100644
index 000000000000..7d97e6e8c3d3
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry/pkg-descr
@@ -0,0 +1,10 @@
+The OpenTelemetry distribution is the Perl implementation of OpenTelemetry.
+This module provides an entrypoint and exposes exposes an interface to get
+and set components that need to be globally available.
+
+The OpenTelemetry standard keeps a strict separation between an API layer
+that implements an interface that is backend-agnostic, and an SDK layer
+that can be connected to the API to do the actual work.
+
+$logger_provider = OpenTelemetry->logger_provider;
+OpenTelemetry->logger_provider = $new_logger_provider;
diff --git a/sysutils/p5-OpenTelemetry/pkg-plist b/sysutils/p5-OpenTelemetry/pkg-plist
new file mode 100644
index 000000000000..106953013626
--- /dev/null
+++ b/sysutils/p5-OpenTelemetry/pkg-plist
@@ -0,0 +1,129 @@
+%%SITE_PERL%%/Log/Any/Adapter/OpenTelemetry.pm
+%%SITE_PERL%%/Log/Any/Adapter/OpenTelemetry.pod
+%%SITE_PERL%%/OpenTelemetry.pm
+%%SITE_PERL%%/OpenTelemetry.pod
+%%SITE_PERL%%/OpenTelemetry/Attributes.pm
+%%SITE_PERL%%/OpenTelemetry/Attributes.pod
+%%SITE_PERL%%/OpenTelemetry/Baggage.pm
+%%SITE_PERL%%/OpenTelemetry/Baggage.pod
+%%SITE_PERL%%/OpenTelemetry/Common.pm
+%%SITE_PERL%%/OpenTelemetry/Common.pod
+%%SITE_PERL%%/OpenTelemetry/Constants.pm
+%%SITE_PERL%%/OpenTelemetry/Constants.pod
+%%SITE_PERL%%/OpenTelemetry/Context.pm
+%%SITE_PERL%%/OpenTelemetry/Context.pod
+%%SITE_PERL%%/OpenTelemetry/Exporter.pm
+%%SITE_PERL%%/OpenTelemetry/Exporter.pod
+%%SITE_PERL%%/OpenTelemetry/Guides/Exporters.pod
+%%SITE_PERL%%/OpenTelemetry/Guides/Instrumentation.pod
+%%SITE_PERL%%/OpenTelemetry/Guides/Libraries.pod
+%%SITE_PERL%%/OpenTelemetry/Guides/Quickstart.pod
+%%SITE_PERL%%/OpenTelemetry/Instrumentation.pm
+%%SITE_PERL%%/OpenTelemetry/Instrumentation.pod
+%%SITE_PERL%%/OpenTelemetry/Instrumentation/DBI.pm
+%%SITE_PERL%%/OpenTelemetry/Instrumentation/DBI.pod
+%%SITE_PERL%%/OpenTelemetry/Instrumentation/HTTP/Tiny.pm
+%%SITE_PERL%%/OpenTelemetry/Instrumentation/HTTP/Tiny.pod
+%%SITE_PERL%%/OpenTelemetry/Instrumentation/LWP/UserAgent.pm
+%%SITE_PERL%%/OpenTelemetry/Instrumentation/LWP/UserAgent.pod
+%%SITE_PERL%%/OpenTelemetry/Instrumentation/namespace.pm
+%%SITE_PERL%%/OpenTelemetry/Instrumentation/namespace.pod
+%%SITE_PERL%%/OpenTelemetry/Integration.pm
+%%SITE_PERL%%/OpenTelemetry/Integration.pod
+%%SITE_PERL%%/OpenTelemetry/Logs/LogRecord/Processor.pm
+%%SITE_PERL%%/OpenTelemetry/Logs/LogRecord/Processor.pod
+%%SITE_PERL%%/OpenTelemetry/Logs/Logger.pm
+%%SITE_PERL%%/OpenTelemetry/Logs/Logger.pod
+%%SITE_PERL%%/OpenTelemetry/Logs/LoggerProvider.pm
+%%SITE_PERL%%/OpenTelemetry/Logs/LoggerProvider.pod
+%%SITE_PERL%%/OpenTelemetry/Processor.pm
+%%SITE_PERL%%/OpenTelemetry/Processor.pod
+%%SITE_PERL%%/OpenTelemetry/Propagator.pm
+%%SITE_PERL%%/OpenTelemetry/Propagator.pod
+%%SITE_PERL%%/OpenTelemetry/Propagator/Baggage.pm
+%%SITE_PERL%%/OpenTelemetry/Propagator/Baggage.pod
+%%SITE_PERL%%/OpenTelemetry/Propagator/Composite.pm
+%%SITE_PERL%%/OpenTelemetry/Propagator/Composite.pod
+%%SITE_PERL%%/OpenTelemetry/Propagator/None.pm
+%%SITE_PERL%%/OpenTelemetry/Propagator/None.pod
+%%SITE_PERL%%/OpenTelemetry/Propagator/TextMap.pm
+%%SITE_PERL%%/OpenTelemetry/Propagator/TextMap.pod
+%%SITE_PERL%%/OpenTelemetry/Propagator/TraceContext.pm
+%%SITE_PERL%%/OpenTelemetry/Propagator/TraceContext.pod
+%%SITE_PERL%%/OpenTelemetry/Propagator/TraceContext/TraceFlags.pm
+%%SITE_PERL%%/OpenTelemetry/Propagator/TraceContext/TraceFlags.pod
+%%SITE_PERL%%/OpenTelemetry/Propagator/TraceContext/TraceParent.pm
+%%SITE_PERL%%/OpenTelemetry/Propagator/TraceContext/TraceParent.pod
+%%SITE_PERL%%/OpenTelemetry/Propagator/TraceContext/TraceState.pm
+%%SITE_PERL%%/OpenTelemetry/Propagator/TraceContext/TraceState.pod
+%%SITE_PERL%%/OpenTelemetry/Trace.pm
+%%SITE_PERL%%/OpenTelemetry/Trace.pod
+%%SITE_PERL%%/OpenTelemetry/Trace/Event.pm
+%%SITE_PERL%%/OpenTelemetry/Trace/Event.pod
+%%SITE_PERL%%/OpenTelemetry/Trace/Link.pm
+%%SITE_PERL%%/OpenTelemetry/Trace/Link.pod
+%%SITE_PERL%%/OpenTelemetry/Trace/Span.pm
+%%SITE_PERL%%/OpenTelemetry/Trace/Span.pod
+%%SITE_PERL%%/OpenTelemetry/Trace/Span/Processor.pm
+%%SITE_PERL%%/OpenTelemetry/Trace/Span/Processor.pod
+%%SITE_PERL%%/OpenTelemetry/Trace/Span/Status.pm
+%%SITE_PERL%%/OpenTelemetry/Trace/Span/Status.pod
+%%SITE_PERL%%/OpenTelemetry/Trace/SpanContext.pm
+%%SITE_PERL%%/OpenTelemetry/Trace/SpanContext.pod
+%%SITE_PERL%%/OpenTelemetry/Trace/Tracer.pm
+%%SITE_PERL%%/OpenTelemetry/Trace/Tracer.pod
+%%SITE_PERL%%/OpenTelemetry/Trace/TracerProvider.pm
+%%SITE_PERL%%/OpenTelemetry/Trace/TracerProvider.pod
+%%SITE_PERL%%/OpenTelemetry/X.pm
+%%SITE_PERL%%/OpenTelemetry/X.pod
+%%SITE_PERL%%/OpenTelemetry/X/Invalid.pm
+%%SITE_PERL%%/OpenTelemetry/X/Invalid.pod
+%%SITE_PERL%%/OpenTelemetry/X/Parsing.pm
+%%SITE_PERL%%/OpenTelemetry/X/Parsing.pod
+%%SITE_PERL%%/OpenTelemetry/X/Unsupported.pm
+%%SITE_PERL%%/OpenTelemetry/X/Unsupported.pod
+%%SITE_PERL%%/Test2/Tools/OpenTelemetry.pm
+%%PERL5_MAN3%%/Log::Any::Adapter::OpenTelemetry.3.gz
+%%PERL5_MAN3%%/OpenTelemetry.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Attributes.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Baggage.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Common.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Constants.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Context.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Exporter.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Guides::Exporters.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Guides::Instrumentation.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Guides::Libraries.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Guides::Quickstart.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Instrumentation.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Instrumentation::DBI.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Instrumentation::HTTP::Tiny.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Instrumentation::LWP::UserAgent.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Instrumentation::namespace.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Integration.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Logs::LogRecord::Processor.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Logs::Logger.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Logs::LoggerProvider.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Processor.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Propagator.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Propagator::Baggage.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Propagator::Composite.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Propagator::None.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Propagator::TextMap.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Propagator::TraceContext.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Propagator::TraceContext::TraceFlags.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Propagator::TraceContext::TraceParent.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Propagator::TraceContext::TraceState.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Trace.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Trace::Event.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Trace::Link.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Trace::Span.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Trace::Span::Processor.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Trace::Span::Status.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Trace::SpanContext.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Trace::Tracer.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::Trace::TracerProvider.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::X.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::X::Invalid.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::X::Parsing.3.gz
+%%PERL5_MAN3%%/OpenTelemetry::X::Unsupported.3.gz
diff --git a/sysutils/puppet8/Makefile b/sysutils/puppet8/Makefile
index a0b787166857..d59aac4e0629 100644
--- a/sysutils/puppet8/Makefile
+++ b/sysutils/puppet8/Makefile
@@ -1,5 +1,6 @@
PORTNAME= puppet
PORTVERSION= 8.10.0
+PORTREVISION= 1
CATEGORIES= sysutils
MASTER_SITES= https://forge.puppet.com/v3/files/:forge
PKGNAMESUFFIX= 8
@@ -27,7 +28,7 @@ USES= cpe ruby
USE_GITHUB= yes
GH_ACCOUNT= puppetlabs
-CONFLICTS_INSTALL= puppet[0-9]
+CONFLICTS_INSTALL= openvox-agent[0-9] puppet[0-9]
PLIST_SUB= PORTVERSION="${PORTVERSION}"
NO_ARCH= yes
NO_BUILD= yes
diff --git a/sysutils/puppet8/files/patch-puppet.gemspec b/sysutils/puppet8/files/patch-puppet.gemspec
new file mode 100644
index 000000000000..555c880c809a
--- /dev/null
+++ b/sysutils/puppet8/files/patch-puppet.gemspec
@@ -0,0 +1,11 @@
+--- puppet.gemspec.orig 2025-07-23 00:05:26 UTC
++++ puppet.gemspec
+@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
+ spec.add_runtime_dependency('concurrent-ruby', '~> 1.0')
+ spec.add_runtime_dependency('deep_merge', '~> 1.0')
+ spec.add_runtime_dependency('facter', ['>= 4.3.0', '< 5'])
+- spec.add_runtime_dependency('fast_gettext', '>= 2.1', '< 4')
++ spec.add_runtime_dependency('fast_gettext', '>= 2.1', '< 5')
+ spec.add_runtime_dependency('getoptlong', '~> 0.2.0')
+ spec.add_runtime_dependency('locale', '~> 2.1')
+ spec.add_runtime_dependency('multi_json', '~> 1.13')
diff --git a/sysutils/puppetserver8/Makefile b/sysutils/puppetserver8/Makefile
index b4c30e7b82d6..e8c60e8f1426 100644
--- a/sysutils/puppetserver8/Makefile
+++ b/sysutils/puppetserver8/Makefile
@@ -26,7 +26,7 @@ USE_RC_SUBR= puppetserver
NO_ARCH= yes
NO_BUILD= yes
-CONFLICTS_INSTALL= puppetserver[0-9]
+CONFLICTS_INSTALL= openvox-server[0-9] puppetserver[0-9]
SHEBANG_FILES= ext/bin/puppetserver
diff --git a/sysutils/py-ansible-core/Makefile b/sysutils/py-ansible-core/Makefile
index 0887d9b13c8a..b9b3cd5e9649 100644
--- a/sysutils/py-ansible-core/Makefile
+++ b/sysutils/py-ansible-core/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ansible-core
-DISTVERSION= 2.18.6
+DISTVERSION= 2.18.7
CATEGORIES= sysutils python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/sysutils/py-ansible-core/distinfo b/sysutils/py-ansible-core/distinfo
index 963c3c0eb6c1..0ea53611cf0f 100644
--- a/sysutils/py-ansible-core/distinfo
+++ b/sysutils/py-ansible-core/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749221939
-SHA256 (ansible_core-2.18.6.tar.gz) = 25bb20ce1516a1b7307831b263cef684043b3720711466bd9d4164e5fd576557
-SIZE (ansible_core-2.18.6.tar.gz) = 3088072
+TIMESTAMP = 1753016015
+SHA256 (ansible_core-2.18.7.tar.gz) = 1a129bf9fcd5dca2b17e83ce77147ee2fbc3c51a4958970152897cc5b6d0aae7
+SIZE (ansible_core-2.18.7.tar.gz) = 3090256
diff --git a/sysutils/py-ansible-core/files/patch-pyproject.toml b/sysutils/py-ansible-core/files/patch-pyproject.toml
index 6d6635b3ccb6..4db56a4c7bc9 100644
--- a/sysutils/py-ansible-core/files/patch-pyproject.toml
+++ b/sysutils/py-ansible-core/files/patch-pyproject.toml
@@ -1,9 +1,9 @@
---- pyproject.toml.orig 2025-05-19 16:56:48 UTC
-+++ pyproject.toml
+--- pyproject.toml.orig 2025-07-15 10:46:32.000000000 -0700
++++ pyproject.toml 2025-07-20 05:54:59.527173000 -0700
@@ -1,5 +1,5 @@
[build-system]
--requires = ["setuptools >= 66.1.0, <= 80.7.1", "wheel == 0.45.1"] # lower bound to support controller Python versions, upper bound for latest version tested at release
-+requires = ["setuptools >= 63.1.0, <= 80.7.1", "wheel == 0.45.1"] # lower bound to support controller Python versions, upper bound for latest version tested at release
+-requires = ["setuptools >= 66.1.0, <= 80.9.0", "wheel == 0.45.1"] # lower bound to support controller Python versions, upper bound for latest version tested at release
++requires = ["setuptools >= 63.1.0, <= 80.9.0", "wheel == 0.45.1"] # lower bound to support controller Python versions, upper bound for latest version tested at release
build-backend = "setuptools.build_meta"
[project]
diff --git a/sysutils/py-howdoi/Makefile b/sysutils/py-howdoi/Makefile
index 3a5eb7f9272f..9ab0f9e8b9aa 100644
--- a/sysutils/py-howdoi/Makefile
+++ b/sysutils/py-howdoi/Makefile
@@ -1,6 +1,6 @@
PORTNAME= howdoi
PORTVERSION= 2.0.20
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= sysutils python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -17,7 +17,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}appdirs>0:devel/py-appdirs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}colorama>0:devel/py-colorama@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}cssselect>0:www/py-cssselect@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}keep>0:sysutils/py-keep@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lxml5>0:devel/py-lxml5@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pygments>0:textproc/py-pygments@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyquery>0:devel/py-pyquery@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
diff --git a/sysutils/rubygem-chef-licensing/Makefile b/sysutils/rubygem-chef-licensing/Makefile
index 0f382f302482..c19d80ad1468 100644
--- a/sysutils/rubygem-chef-licensing/Makefile
+++ b/sysutils/rubygem-chef-licensing/Makefile
@@ -1,5 +1,5 @@
PORTNAME= chef-licensing
-PORTVERSION= 1.0.0
+PORTVERSION= 1.1.0
CATEGORIES= sysutils rubygems
MASTER_SITES= RG
@@ -9,10 +9,11 @@ WWW= https://github.com/chef/chef-licensing
LICENSE= APACHE20
-RUN_DEPENDS= rubygem-activesupport70>=7.0<7.1:devel/rubygem-activesupport70 \
+RUN_DEPENDS= rubygem-activesupport72>=7.2.2.1<8:devel/rubygem-activesupport72 \
rubygem-chef-config>=15:sysutils/rubygem-chef-config \
rubygem-faraday>=1<3:www/rubygem-faraday \
rubygem-faraday-http-cache>=0:www/rubygem-faraday-http-cache \
+ rubygem-ostruct>=0.1.0<1:devel/rubygem-ostruct \
rubygem-tty-prompt>=0.23<1:devel/rubygem-tty-prompt \
rubygem-tty-spinner>=0.9.3<0.10:devel/rubygem-tty-spinner
diff --git a/sysutils/rubygem-chef-licensing/distinfo b/sysutils/rubygem-chef-licensing/distinfo
index 25947c1cf18a..547a2cf8c374 100644
--- a/sysutils/rubygem-chef-licensing/distinfo
+++ b/sysutils/rubygem-chef-licensing/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1721710306
-SHA256 (rubygem/chef-licensing-1.0.0.gem) = 87b1e10c4c0bada5bcfbb44ed48c4731dfda5b70f1e7e13f8155304ec599d462
-SIZE (rubygem/chef-licensing-1.0.0.gem) = 31232
+TIMESTAMP = 1752566746
+SHA256 (rubygem/chef-licensing-1.1.0.gem) = 14fe5cf31700d03dc6e91d7591f92f24c4b704f92060cbba80f3e838221a3d69
+SIZE (rubygem/chef-licensing-1.1.0.gem) = 31232
diff --git a/sysutils/rubygem-chef-licensing/files/patch-gemspec b/sysutils/rubygem-chef-licensing/files/patch-gemspec
new file mode 100644
index 000000000000..28014bc548a9
--- /dev/null
+++ b/sysutils/rubygem-chef-licensing/files/patch-gemspec
@@ -0,0 +1,10 @@
+--- chef-licensing.gemspec.orig 2025-07-15 09:54:51 UTC
++++ chef-licensing.gemspec
+@@ -28,6 +28,6 @@ Gem::Specification.new do |s|
+ s.add_runtime_dependency(%q<faraday-http-cache>.freeze, [">= 0".freeze])
+ s.add_runtime_dependency(%q<activesupport>.freeze, ["~> 7.2".freeze, ">= 7.2.2.1".freeze])
+ s.add_runtime_dependency(%q<tty-spinner>.freeze, ["~> 0.9.3".freeze])
+- s.add_runtime_dependency(%q<ostruct>.freeze, ["~> 0.1.0".freeze])
++ s.add_runtime_dependency(%q<ostruct>.freeze, ["~> 0.1".freeze])
+ end
+
diff --git a/sysutils/rubygem-chef/Makefile b/sysutils/rubygem-chef/Makefile
index a9cab75b91db..7c30613bce57 100644
--- a/sysutils/rubygem-chef/Makefile
+++ b/sysutils/rubygem-chef/Makefile
@@ -1,5 +1,6 @@
PORTNAME= chef
PORTVERSION= 18.7.10
+PORTREVISION= 1
CATEGORIES= sysutils
MASTER_SITES= RG
@@ -37,7 +38,7 @@ RUN_DEPENDS= rubygem-addressable>=0:www/rubygem-addressable \
rubygem-plist>=3.2<4:devel/rubygem-plist \
rubygem-proxifier2>=1.1<2:net/rubygem-proxifier2 \
rubygem-syslog-logger>=1.6<2:sysutils/rubygem-syslog-logger \
- rubygem-train-core>=3.10<3.12.13_99:net/rubygem-train-core \
+ rubygem-train-core>=3.10:net/rubygem-train-core \
rubygem-train-rest>=0.4.1:net/rubygem-train-rest \
rubygem-train-winrm>=0.2.17:net/rubygem-train-winrm \
rubygem-unf_ext>=0.0.8.2:textproc/rubygem-unf_ext \
diff --git a/sysutils/rubygem-chef/files/patch-gemspec b/sysutils/rubygem-chef/files/patch-gemspec
index d98b3cc91b90..0d24770be3f7 100644
--- a/sysutils/rubygem-chef/files/patch-gemspec
+++ b/sysutils/rubygem-chef/files/patch-gemspec
@@ -1,5 +1,16 @@
---- chef.gemspec.orig 2025-04-11 20:59:53 UTC
+--- chef.gemspec.orig 2025-07-23 04:51:07 UTC
+++ chef.gemspec
+@@ -24,8 +24,8 @@ Gem::Specification.new do |s|
+
+ s.add_runtime_dependency(%q<chef-config>.freeze, ["= 18.7.10".freeze])
+ s.add_runtime_dependency(%q<chef-utils>.freeze, ["= 18.7.10".freeze])
+- s.add_runtime_dependency(%q<train-core>.freeze, ["~> 3.10".freeze, "<= 3.12.13".freeze])
+- s.add_runtime_dependency(%q<train-winrm>.freeze, ["~> 0.2.17".freeze])
++ s.add_runtime_dependency(%q<train-core>.freeze, ["~> 3.10".freeze])
++ s.add_runtime_dependency(%q<train-winrm>.freeze, [">= 0.2.17".freeze])
+ s.add_runtime_dependency(%q<train-rest>.freeze, [">= 0.4.1".freeze])
+ s.add_runtime_dependency(%q<license-acceptance>.freeze, [">= 1.0.5".freeze, "< 3".freeze])
+ s.add_runtime_dependency(%q<mixlib-cli>.freeze, [">= 2.1.1".freeze, "< 3.0".freeze])
@@ -35,12 +35,12 @@ Gem::Specification.new do |s|
s.add_runtime_dependency(%q<mixlib-archive>.freeze, [">= 0.4".freeze, "< 2.0".freeze])
s.add_runtime_dependency(%q<ohai>.freeze, ["~> 18.0".freeze])
diff --git a/sysutils/rubygem-facter/Makefile b/sysutils/rubygem-facter/Makefile
index 0700e06c7748..e43601c63a7e 100644
--- a/sysutils/rubygem-facter/Makefile
+++ b/sysutils/rubygem-facter/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS+= rubygem-ruby-augeas>0:textproc/rubygem-ruby-augeas \
USES= cpe gem
CPE_VENDOR= puppet
-CONFLICTS_INSTALL= facter # bin/facter
+CONFLICTS_INSTALL= facter rubygem-openfact # bin/facter
NO_ARCH= yes
diff --git a/sysutils/rubygem-openfact/Makefile b/sysutils/rubygem-openfact/Makefile
new file mode 100644
index 000000000000..940300ebcb39
--- /dev/null
+++ b/sysutils/rubygem-openfact/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= openfact
+PORTVERSION= 5.1.0
+CATEGORIES= sysutils rubygems
+MASTER_SITES= RG
+
+MAINTAINER= puppet@FreeBSD.org
+COMMENT= Cross-platform Ruby library for retrieving facts from OS
+WWW= https://github.com/OpenVoxProject/openfact/
+
+LICENSE= APACHE20
+
+RUN_DEPENDS= rubygem-base64>0.1:converters/rubygem-base64 \
+ rubygem-hocon>=1.3<2:devel/rubygem-hocon \
+ rubygem-logger>=1.7:devel/rubygem-logger \
+ rubygem-thor>=1.0.1<2.0:devel/rubygem-thor
+# Soft dependencies that resolve more FreeBSD facts
+RUN_DEPENDS+= rubygem-ruby-augeas>0:textproc/rubygem-ruby-augeas \
+ rubygem-ffi>=1.0:devel/rubygem-ffi \
+ rubygem-rexml>0:textproc/rubygem-rexml \
+ rubygem-sys-filesystem>0:sysutils/rubygem-sys-filesystem
+
+USES= cpe gem
+
+CONFLICTS_INSTALL= facter rubygem-facter # bin/facter
+
+NO_ARCH= yes
+
+PLIST_FILES= bin/facter
+
+.include <bsd.port.mk>
diff --git a/sysutils/rubygem-openfact/distinfo b/sysutils/rubygem-openfact/distinfo
new file mode 100644
index 000000000000..77ddac06b9a8
--- /dev/null
+++ b/sysutils/rubygem-openfact/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752947918
+SHA256 (rubygem/openfact-5.1.0.gem) = 569b93bc6941f8efeef55c138577ae2e3ff4f6727657f9f48925c4a657d3f70c
+SIZE (rubygem/openfact-5.1.0.gem) = 172544
diff --git a/sysutils/rubygem-openfact/pkg-descr b/sysutils/rubygem-openfact/pkg-descr
new file mode 100644
index 000000000000..b612ced9d443
--- /dev/null
+++ b/sysutils/rubygem-openfact/pkg-descr
@@ -0,0 +1,5 @@
+A cross-platform Ruby library for retrieving facts from operating systems.
+Supports multiple resolution mechanisms, any of which can be restricted to
+working only on certain operating systems or environments. Facter is
+especially useful for retrieving things like operating system names, IP
+addresses, MAC addresses, and SSH keys.
diff --git a/sysutils/rubygem-openvoxserver-ca/Makefile b/sysutils/rubygem-openvoxserver-ca/Makefile
new file mode 100644
index 000000000000..3448c01cf2c3
--- /dev/null
+++ b/sysutils/rubygem-openvoxserver-ca/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= openvoxserver-ca
+PORTVERSION= 3.0.0
+CATEGORIES= sysutils rubygems
+MASTER_SITES= RG
+
+MAINTAINER= puppet@FreeBSD.org
+COMMENT= Ruby CLI tool to interact with the OpenVox Server Certificate Authority
+WWW= https://github.com/OpenVoxProject/openvoxserver-ca-cli/
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= rubygem-openfact>=5.0.0:sysutils/rubygem-openfact
+
+USES= gem
+
+CONFLICTS_INSTALL= rubygem-puppetserver-ca
+
+NO_ARCH= yes
+
+PLIST_FILES= bin/puppetserver-ca
+
+.include <bsd.port.mk>
diff --git a/sysutils/rubygem-openvoxserver-ca/distinfo b/sysutils/rubygem-openvoxserver-ca/distinfo
new file mode 100644
index 000000000000..461a7c0c7032
--- /dev/null
+++ b/sysutils/rubygem-openvoxserver-ca/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752683977
+SHA256 (rubygem/openvoxserver-ca-3.0.0.gem) = 5caf6c4e3cf3d8c166f5cb48f84f5a5e88c5fd6617808d0a984b6a5d7b75fe04
+SIZE (rubygem/openvoxserver-ca-3.0.0.gem) = 50176
diff --git a/sysutils/rubygem-openvoxserver-ca/files/patch-lib_puppetserver_ca_config_puppet.rb b/sysutils/rubygem-openvoxserver-ca/files/patch-lib_puppetserver_ca_config_puppet.rb
new file mode 100644
index 000000000000..50a34086c23e
--- /dev/null
+++ b/sysutils/rubygem-openvoxserver-ca/files/patch-lib_puppetserver_ca_config_puppet.rb
@@ -0,0 +1,11 @@
+--- lib/puppetserver/ca/config/puppet.rb.orig 2020-11-06 21:46:06 UTC
++++ lib/puppetserver/ca/config/puppet.rb
+@@ -97,7 +97,7 @@ module Puppetserver
+ # defaults below
+ base_defaults = [
+ [:confdir, user_specific_puppet_confdir],
+- [:ssldir,'$confdir/ssl'],
++ [:ssldir, '/var/puppet/ssl'],
+ [:certdir, '$ssldir/certs'],
+ [:certname, default_certname],
+ [:server, 'puppet'],
diff --git a/sysutils/rubygem-openvoxserver-ca/files/patch-lib_puppetserver_ca_utils_config.rb b/sysutils/rubygem-openvoxserver-ca/files/patch-lib_puppetserver_ca_utils_config.rb
new file mode 100644
index 000000000000..ead5c3d960d1
--- /dev/null
+++ b/sysutils/rubygem-openvoxserver-ca/files/patch-lib_puppetserver_ca_utils_config.rb
@@ -0,0 +1,27 @@
+--- lib/puppetserver/ca/utils/config.rb.orig 2020-11-28 01:14:43 UTC
++++ lib/puppetserver/ca/utils/config.rb
+@@ -23,7 +23,7 @@ module Puppetserver
+
+ def self.puppet_confdir
+ if running_as_root?
+- '/etc/puppetlabs/puppet'
++ '/usr/local/etc/puppet'
+ else
+ "#{ENV['HOME']}/.puppetlabs/etc/puppet"
+ end
+@@ -34,11 +34,13 @@ module Puppetserver
+ end
+
+ def self.default_ssldir(confdir = puppet_confdir)
+- File.join(confdir, 'ssl')
++ res = File.join(confdir, 'ssl')
++ res = '/var/puppet/ssl' unless File.directory?(res)
++ res
+ end
+
+ def self.old_default_cadir(confdir = puppet_confdir)
+- File.join(confdir, 'ssl', 'ca')
++ '/var/puppet/ssl/ca'
+ end
+
+ def self.new_default_cadir(confdir = puppet_confdir)
diff --git a/sysutils/rubygem-openvoxserver-ca/pkg-descr b/sysutils/rubygem-openvoxserver-ca/pkg-descr
new file mode 100644
index 000000000000..a1f75dd6e344
--- /dev/null
+++ b/sysutils/rubygem-openvoxserver-ca/pkg-descr
@@ -0,0 +1,2 @@
+This gem provides the functionality behind the OpenVox Server CA interactions.
+The actual CLI executable lives within the OpenVox Server project.
diff --git a/sysutils/rubygem-puppetserver-ca/Makefile b/sysutils/rubygem-puppetserver-ca/Makefile
index 3ffee98c0991..b6e9a152e261 100644
--- a/sysutils/rubygem-puppetserver-ca/Makefile
+++ b/sysutils/rubygem-puppetserver-ca/Makefile
@@ -12,6 +12,8 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
USES= gem
+CONFLICTS_INSTALL= rubygem-openvoxserver-ca
+
NO_ARCH= yes
PLIST_FILES= bin/puppetserver-ca
diff --git a/sysutils/rubygem-vagrant_cloud-gitlab/Makefile b/sysutils/rubygem-vagrant_cloud-gitlab/Makefile
new file mode 100644
index 000000000000..789603ed6364
--- /dev/null
+++ b/sysutils/rubygem-vagrant_cloud-gitlab/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= vagrant_cloud
+PORTVERSION= 3.1.3
+CATEGORIES= sysutils rubygems devel
+MASTER_SITES= RG
+PKGNAMESUFFIX= -gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Ruby library for the HashiCorp Vagrant Cloud API
+WWW= https://developer.hashicorp.com/vagrant/vagrant-cloud/api/v2 \
+ https://github.com/hashicorp/vagrant_cloud
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= rubygem-excon1-gitlab>=1.0<2:devel/rubygem-excon1-gitlab \
+ rubygem-log4r>=1.1<2:sysutils/rubygem-log4r \
+ rubygem-oauth2-gitlab>2.0<3:net/rubygem-oauth2-gitlab \
+ rubygem-rexml>=3.3<4:textproc/rubygem-rexml
+
+USES= gem
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/sysutils/rubygem-vagrant_cloud-gitlab/distinfo b/sysutils/rubygem-vagrant_cloud-gitlab/distinfo
new file mode 100644
index 000000000000..8be4fa07d3a1
--- /dev/null
+++ b/sysutils/rubygem-vagrant_cloud-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1744215569
+SHA256 (rubygem/vagrant_cloud-3.1.3.gem) = dbef5f0a9cf43299e74870658b1820f9c1f0fdc951d17e24f15f24a6b1b99525
+SIZE (rubygem/vagrant_cloud-3.1.3.gem) = 22528
diff --git a/sysutils/rubygem-vagrant_cloud-gitlab/pkg-descr b/sysutils/rubygem-vagrant_cloud-gitlab/pkg-descr
new file mode 100644
index 000000000000..c32ed86d0a51
--- /dev/null
+++ b/sysutils/rubygem-vagrant_cloud-gitlab/pkg-descr
@@ -0,0 +1,3 @@
+Ruby client for the Vagrant Cloud API.
+This client allows to create, modify and delete boxes, versions and
+providers. The main entry point is an object referencing your account.
diff --git a/sysutils/snmp_exporter/Makefile b/sysutils/snmp_exporter/Makefile
index 1cf9f92e4b37..a2b28e3c1696 100644
--- a/sysutils/snmp_exporter/Makefile
+++ b/sysutils/snmp_exporter/Makefile
@@ -1,7 +1,7 @@
PORTNAME= snmp_exporter
DISTVERSIONPREFIX=v
DISTVERSION= 0.29.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= sysutils
MAINTAINER= ivy@FreeBSD.org
@@ -21,6 +21,7 @@ GO_TARGET= . \
post-install:
${MKDIR} ${STAGEDIR}${PREFIX}/etc/snmp_exporter/
- ${INSTALL_DATA} ${FILESDIR}/generator.yml ${STAGEDIR}${PREFIX}/etc/snmp_exporter/generator.yml.sample
+ ${INSTALL_DATA} ${WRKSRC}/snmp.yml ${STAGEDIR}${PREFIX}/etc/snmp_exporter/snmp.yml.sample
+ ${INSTALL_DATA} ${WRKSRC}/generator/generator.yml ${STAGEDIR}${PREFIX}/etc/snmp_exporter/generator.yml.sample
.include <bsd.port.mk>
diff --git a/sysutils/snmp_exporter/files/generator.yml b/sysutils/snmp_exporter/files/generator.yml
deleted file mode 100644
index 16c1d71b020a..000000000000
--- a/sysutils/snmp_exporter/files/generator.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-modules:
- # Default IF-MIB interfaces table with ifIndex.
- if_mib:
- walk: [sysUpTime, interfaces, ifXTable]
- # Interfaces if ifAlias is unique.
- if_mib_ifalias:
- walk: [sysUpTime, interfaces, ifXTable]
- lookups:
- - old_index: ifIndex
- new_index: ifAlias
- # Interfaces if ifDescr is unique.
- if_mib_ifdescr:
- walk: [sysUpTime, interfaces, ifXTable]
- lookups:
- - old_index: ifIndex
- new_index: ifDescr
- # Interfaces if ifName is unique.
- if_mib_ifname:
- walk: [sysUpTime, interfaces, ifXTable]
- lookups:
- - old_index: ifIndex
- # Use OID to avoid conflict with Netscaler NS-ROOT-MIB.
- new_index: 1.3.6.1.2.1.31.1.1.1.1 # ifName
diff --git a/sysutils/snmp_exporter/files/pkg-message.in b/sysutils/snmp_exporter/files/pkg-message.in
index d03707eb6b6e..fd08244f655e 100644
--- a/sysutils/snmp_exporter/files/pkg-message.in
+++ b/sysutils/snmp_exporter/files/pkg-message.in
@@ -1,8 +1,12 @@
[
{ type: install
message: <<EOM
-To generate the snmp.yml configuration file for snmp_exporter,
-edit %%ETCDIR%%/generator.yml and add relevant MIBs, then run
+Upstream's default configuration file has been installed as
+%%ETCDIR%%/snmp.yml.
+This configuration is suitable for most situations.
+
+To generate a custom configuration, use the configuration generator:
+edit %%ETCDIR%%/generator.yml as required, then run
snmp_exporter_generator generate
diff --git a/sysutils/snmp_exporter/pkg-plist b/sysutils/snmp_exporter/pkg-plist
index d2d24fcfb01e..b3a851ad1356 100644
--- a/sysutils/snmp_exporter/pkg-plist
+++ b/sysutils/snmp_exporter/pkg-plist
@@ -1,3 +1,4 @@
bin/snmp_exporter
bin/snmp_exporter_generator
@sample %%ETCDIR%%/generator.yml.sample
+@sample %%ETCDIR%%/snmp.yml.sample
diff --git a/sysutils/superfile/Makefile b/sysutils/superfile/Makefile
index e885089fc907..243a5ff3220c 100644
--- a/sysutils/superfile/Makefile
+++ b/sysutils/superfile/Makefile
@@ -1,7 +1,6 @@
PORTNAME= superfile
DISTVERSIONPREFIX= v
-DISTVERSION= 1.3.1
-PORTREVISION= 2
+DISTVERSION= 1.3.2
PORTEPOCH= 1
CATEGORIES= sysutils
diff --git a/sysutils/superfile/distinfo b/sysutils/superfile/distinfo
index f69c17874cd1..8e816c0ae667 100644
--- a/sysutils/superfile/distinfo
+++ b/sysutils/superfile/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1748258601
-SHA256 (go/sysutils_superfile/superfile-v1.3.1/v1.3.1.mod) = aad4169bd2da04543c19449b63b8c5b0cfbc68a4af3b5a0ed757d6bc7d6c2d62
-SIZE (go/sysutils_superfile/superfile-v1.3.1/v1.3.1.mod) = 3200
-SHA256 (go/sysutils_superfile/superfile-v1.3.1/v1.3.1.zip) = bc540bb1036e175826670f675fd48c3db65261635e4f538aea538c0546797239
-SIZE (go/sysutils_superfile/superfile-v1.3.1/v1.3.1.zip) = 10766867
+TIMESTAMP = 1752691516
+SHA256 (go/sysutils_superfile/superfile-v1.3.2/v1.3.2.mod) = 75e1e0938ca31f51c80697126aa7daae2746bf67f2c8e6defcfe0610e0fc44cc
+SIZE (go/sysutils_superfile/superfile-v1.3.2/v1.3.2.mod) = 3109
+SHA256 (go/sysutils_superfile/superfile-v1.3.2/v1.3.2.zip) = de95f53461d478a6b48e3adc68be5adff56c97fbb0c446cb46eb88645424a938
+SIZE (go/sysutils_superfile/superfile-v1.3.2/v1.3.2.zip) = 16513048
diff --git a/sysutils/vagrant/Makefile b/sysutils/vagrant/Makefile
index 184a74d825e8..38521e3812cb 100644
--- a/sysutils/vagrant/Makefile
+++ b/sysutils/vagrant/Makefile
@@ -1,7 +1,6 @@
PORTNAME= vagrant
-PORTVERSION= 2.3.7
+PORTVERSION= 2.4.1
DISTVERSIONPREFIX= v
-PORTREVISION= 1
CATEGORIES= sysutils rubygems devel
MAINTAINER= joe@thrallingpenguin.com
@@ -80,10 +79,6 @@ REMOVE_TARGETS_EXT= gem_make.out mkmf.log
.include <bsd.port.pre.mk>
-.if ${RUBY_VER} >= 3.3
-BROKEN= ruby 3.3 and later is not supported
-.endif
-
post-patch:
@${REINPLACE_CMD} -e 's|@PREFIX@|${PREFIX}|g' \
${WRKSRC}/bin/vagrant \
diff --git a/sysutils/vagrant/distinfo b/sysutils/vagrant/distinfo
index a04471420252..7b9639b6ca5d 100644
--- a/sysutils/vagrant/distinfo
+++ b/sysutils/vagrant/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1693243733
-SHA256 (hashicorp-vagrant-v2.3.7_GH0.tar.gz) = fa8a96319aa7b9ff5f4a991b77cbf37f549549d84737624bcebefa8f2004bf45
-SIZE (hashicorp-vagrant-v2.3.7_GH0.tar.gz) = 3296042
+TIMESTAMP = 1752906954
+SHA256 (hashicorp-vagrant-v2.4.1_GH0.tar.gz) = 19cfa306e3ffae5ddbf30504f61a1a3124aa9a87721b130a14098d4ea1febf89
+SIZE (hashicorp-vagrant-v2.4.1_GH0.tar.gz) = 3342333
diff --git a/sysutils/vagrant/files/patch-bin_vagrant b/sysutils/vagrant/files/patch-bin_vagrant
index 83ac905135c8..7102a3a53c49 100644
--- a/sysutils/vagrant/files/patch-bin_vagrant
+++ b/sysutils/vagrant/files/patch-bin_vagrant
@@ -10,14 +10,3 @@
# Disable exception reporting by default if available
if Thread.respond_to?(:report_on_exception=)
Thread.report_on_exception = false
-@@ -16,7 +19,9 @@
-
- # These will be the options that are passed to initialize the Vagrant
- # environment.
--opts = {}
-+opts = {
-+ :ca_cert => '@PREFIX@/share/certs/ca-root-nss.crt'
-+}
-
- if idx = argv.index("--")
- argv_extra = argv.slice(idx+1, argv.length-2)
diff --git a/sysutils/vagrant/files/patch-vagrant.gemspec b/sysutils/vagrant/files/patch-vagrant.gemspec
index b662791a630b..531ad29f232a 100644
--- a/sysutils/vagrant/files/patch-vagrant.gemspec
+++ b/sysutils/vagrant/files/patch-vagrant.gemspec
@@ -1,20 +1,17 @@
---- vagrant.gemspec.orig 2023-06-15 20:40:35 UTC
+--- vagrant.gemspec.orig 2024-01-19 20:59:12 UTC
+++ vagrant.gemspec
-@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
+@@ -16,11 +16,11 @@ Gem::Specification.new do |s|
s.required_rubygems_version = ">= 1.3.6"
s.add_dependency "bcrypt_pbkdf", "~> 1.1"
- s.add_dependency "childprocess", "~> 4.1.0"
-+ s.add_dependency "childprocess", "~> 5.0.0"
- s.add_dependency "ed25519", "~> 1.3.0"
+- s.add_dependency "ed25519", "~> 1.3.0"
++ s.add_dependency "childprocess", ">= 4.1.0"
++ s.add_dependency "ed25519", ">= 1.3.0"
s.add_dependency "erubi"
s.add_dependency 'googleapis-common-protos-types', '~> 1.3'
-@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
- s.add_dependency "rexml", "~> 3.2"
- s.add_dependency "rgl", "~> 0.5.10"
- s.add_dependency "rubyzip", "~> 2.3.2"
-- s.add_dependency "vagrant_cloud", "~> 3.0.5"
-+ s.add_dependency "vagrant_cloud", "~> 3.1.1"
- s.add_dependency "wdm", "~> 0.1.1"
- s.add_dependency "winrm", ">= 2.3.6", "< 3.0"
- s.add_dependency "winrm-elevated", ">= 1.2.3", "< 2.0"
+- s.add_dependency "grpc", "~> 1.56.0"
++ s.add_dependency "grpc", ">= 1.56.0"
+ s.add_dependency "hashicorp-checkpoint", "~> 0.1.5"
+ s.add_dependency "i18n", "~> 1.12"
+ s.add_dependency "listen", "~> 3.7"
diff --git a/sysutils/vagrant/pkg-plist b/sysutils/vagrant/pkg-plist
index f444b811c074..c2600f43d113 100644
--- a/sysutils/vagrant/pkg-plist
+++ b/sysutils/vagrant/pkg-plist
@@ -1,5 +1,6 @@
bin/vagrant
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/CHANGELOG.md
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/.copywrite.hcl
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/LICENSE
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/README.md
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/RELEASE.md
@@ -18,9 +19,12 @@ bin/vagrant
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/contrib/zsh/generate_zsh_completion.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/keys/README.md
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/keys/vagrant
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/keys/vagrant.key.ed25519
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/keys/vagrant.key.rsa
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/keys/vagrant.pub
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/keys/vagrant.pub.ed25519
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/keys/vagrant.pub.rsa
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant.rb
-%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant_ssl.so
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/action.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/action/builder.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/action/builtin/box_add.rb
@@ -174,6 +178,7 @@ bin/vagrant
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/util/uploader.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/util/which.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/util/windows_path.rb
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/vagrant_ssl.so
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/vagrantfile.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/version.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/plugins/README.md
@@ -1045,6 +1050,9 @@ bin/vagrant
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/templates/guests/suse/network_dhcp.erb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/templates/guests/suse/network_static.erb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/templates/guests/suse/network_static6.erb
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/templates/license/license.html.tmpl
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/templates/license/license.rtf.tmpl
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/templates/license/license.tmpl
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/templates/locales/comm_winrm.yml
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/templates/locales/command_ps.yml
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/templates/locales/command_rdp.yml
@@ -1076,8 +1084,11 @@ bin/vagrant
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/host/remote.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/machine/remote.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/machine_index/remote.rb
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/patches/builder/mkmf.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/patches/fake_ftp.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/patches/log4r.rb
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/patches/net-ssh.rb
+%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/patches/rubygems.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/plugin/remote.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/plugin/remote/command.rb
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/lib/vagrant/plugin/remote/communicator.rb
@@ -1217,7 +1228,7 @@ bin/vagrant
%%GEM_BASE_DIR%%/vagrant-%%PORTVERSION%%/plugins/guests/alma/plugin.rb
%%GEMS_DIR%%/cache/vagrant-%%PORTVERSION%%.gem
%%GEMS_DIR%%/extensions/%%BUILD_TARGET%%/%%RUBY_VER%%/vagrant-%%PORTVERSION%%/gem.build_complete
-%%GEMS_DIR%%/extensions/%%BUILD_TARGET%%/%%RUBY_VER%%/vagrant-%%PORTVERSION%%/vagrant_ssl.so
+%%GEMS_DIR%%/extensions/%%BUILD_TARGET%%/%%RUBY_VER%%/vagrant-%%PORTVERSION%%/vagrant/vagrant_ssl.so
%%GEMS_DIR%%/specifications/vagrant-%%PORTVERSION%%.gemspec
%%DATADIR%%/embedded/rgloader/loader.rb
@dir %%GEMS_DIR%%/extensions