diff --git a/eclass/eapi8-dosym.eclass b/eclass/eapi8-dosym.eclass
index e139b74cfea01..866c98c78d919 100644
--- a/eclass/eapi8-dosym.eclass
+++ b/eclass/eapi8-dosym.eclass
@@ -31,7 +31,7 @@ esac
_dosym8_canonicalize() {
local path slash i prev out IFS=/
- read -r -d '' -a path < <(echo -n "$1")
+ read -r -d '' -a path < <(printf '%s\0' "$1")
[[ $1 == /* ]] && slash=/
while true; do
@@ -56,7 +56,7 @@ _dosym8_canonicalize() {
done
out="${slash}${path[*]}"
- echo "${out:-.}"
+ printf "%s\n" "${out:-.}"
}
# @FUNCTION: dosym8
diff --git a/eclass/tests/eapi8-dosym.sh b/eclass/tests/eapi8-dosym.sh
index cae66e3bb2eee..a0f8961d4d96a 100755
--- a/eclass/tests/eapi8-dosym.sh
+++ b/eclass/tests/eapi8-dosym.sh
@@ -54,6 +54,7 @@ teq foo _dosym8_canonicalize foo/.
teq ../foo _dosym8_canonicalize ../foo
teq ../baz _dosym8_canonicalize foo/bar/../../../baz
teq '*' _dosym8_canonicalize '*'
+teq '-e' _dosym8_canonicalize '-e'
for f in ref_dosym_r "dosym8 -r"; do
teq ../../bin/foo ${f} /bin/foo /usr/bin/foo
diff --git a/net-analyzer/sec/Manifest b/net-analyzer/sec/Manifest
index 3658065a2cdc2..8f748aa1a964f 100644
--- a/net-analyzer/sec/Manifest
+++ b/net-analyzer/sec/Manifest
@@ -1 +1,2 @@
DIST sec-2.9.1.tar.gz 153305 BLAKE2B 0bbc70f786badb24153f4f124aaedbf6f34970556630ee3e8763e7854dc1765d0eb8f7d10efce119ca936eade2af8064188f3372e63f7977240a0b10327269a3 SHA512 c6764cf660ad969d260e4993c38809580e448a9d941d1a763c1b70630c5d55a7f215feb6b0fa50cbf23d68fb442e34f0d270d03e1172850d63d64042a689ac90
+DIST sec-2.9.2.tar.gz 153482 BLAKE2B d2f099b034b2ab59b4abdea0d824fc63e2d340d56b4f43324e2e477e0f33b433b5f54e4172c873e1579b544504a2a5f1ba20a3c8468eab43e4587c9efc54446b SHA512 441c543f9abcfff46c5cd86c9be8fd5c57fef988519f2c9f431b715717e0500ce1b89365e16c0d3b6e76369cf5ee5f6d5318b32e4374c614ec0083833021f17c
diff --git a/net-analyzer/sec/sec-2.9.2.ebuild b/net-analyzer/sec/sec-2.9.2.ebuild
new file mode 100644
index 0000000000000..e6658bf788e6f
--- /dev/null
+++ b/net-analyzer/sec/sec-2.9.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Simple Event Correlator"
+HOMEPAGE="https://simple-evcorr.github.io/ https://github.com/simple-evcorr/sec"
+SRC_URI="https://github.com/simple-evcorr/sec/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux"
+
+RDEPEND="
+ >=dev-lang/perl-5.8.0
+ virtual/perl-JSON-PP
+"
+
+src_install() {
+ dobin sec
+
+ dodoc ChangeLog README
+ docinto contrib
+ dodoc contrib/{itostream.c,convert.pl,swatch2sec.pl}
+
+ newman sec.man sec.1
+
+ newinitd "${FILESDIR}"/sec.init.d sec
+ newconfd "${FILESDIR}"/sec.conf.d sec
+}
diff --git a/net-dns/nsd/Manifest b/net-dns/nsd/Manifest
index 19af23ce2df2f..eca0f072344b9 100644
--- a/net-dns/nsd/Manifest
+++ b/net-dns/nsd/Manifest
@@ -1 +1,2 @@
DIST nsd-4.6.1.tar.gz 1281583 BLAKE2B 5eff5560ce16451a57905bb9d979c81918b6b55f72e1f1b89ab8d2e479ac36bf4f95152c77b1f1b3ce0af90bde8f25d2cad7226450c5cbc879f112adea2b3a69 SHA512 cab557a20cf8564cbf6e38405ca28b00baa6e14105527c3b16f49f57fed5e39cdb2bcd62999bad4aff2c69e0967bdba66a1eaa7b73a0d4d99d97535cc5860bfe
+DIST nsd-4.7.0.tar.gz 1289477 BLAKE2B d3949c8b65376ea78c700efaeb988acbfac5a5ba338f9bf29035176a7da6730ee8b7a2b6bfc5573ad178db80166ca74d71d313bf3d405acc666bf87f17dac63b SHA512 387e66993517c015ea49fc7a985c1f746623ae30a82bd01f224efbdb7c58d1d2f3e5a5a3574203959047876c632ec464b6682d1644f0e0f157ec0e6fb3f0cdbb
diff --git a/net-dns/nsd/nsd-4.7.0.ebuild b/net-dns/nsd/nsd-4.7.0.ebuild
new file mode 100644
index 0000000000000..d9028ba457da6
--- /dev/null
+++ b/net-dns/nsd/nsd-4.7.0.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools systemd
+
+DESCRIPTION="An authoritative only, high performance, open source name server"
+HOMEPAGE="https://www.nlnetlabs.nl/projects/nsd"
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/NLnetLabs/nsd.git"
+else
+ # version voodoo needed only for non-release tarballs: 4.0.0_rc1 => 4.0.0rc1
+ MY_PV="${PV/_beta/b}"
+ MY_PV="${MY_PV/_rc/rc}"
+ MY_P="${PN}-${MY_PV}"
+
+ if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then
+ SRC_URI="https://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz"
+ S="${WORKDIR}"/${MY_P}
+
+ KEYWORDS="~amd64 ~x86"
+ fi
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="bind8-stats debug dnstap libevent minimal-responses mmap munin +nsec3 ratelimit root-server ssl systemd"
+
+RDEPEND="
+ acct-group/nsd
+ acct-user/nsd
+ dnstap? (
+ dev-libs/fstrm
+ dev-libs/protobuf-c
+ )
+ libevent? ( dev-libs/libevent )
+ munin? ( net-analyzer/munin )
+ ssl? ( dev-libs/openssl:0= )
+ systemd? ( sys-apps/systemd )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/flex
+ app-alternatives/yacc
+ systemd? ( virtual/pkgconfig )
+"
+
+PATCHES=(
+ # Fix the paths in the munin plugin to match our install
+ "${FILESDIR}"/nsd_munin_.patch
+)
+
+src_prepare() {
+ default
+
+ # Required to get correct pkg-config macros with USE="systemd"
+ # See bugs #663618 and #758050
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-ipv6
+ --enable-largefile
+ --enable-pie
+ --enable-relro-now
+ --enable-tcp-fastopen
+
+ --with-dbfile="${EPREFIX}"/var/db/nsd/nsd.db
+ --with-logfile="${EPREFIX}"/var/log/nsd.log
+ --with-pidfile="${EPREFIX}"/run/nsd/nsd.pid
+ --with-xfrdfile="${EPREFIX}"/var/db/nsd/xfrd.state
+ --with-xfrdir="${EPREFIX}"/var/db/nsd
+ --with-zonelistfile="${EPREFIX}"/var/db/nsd/zone.list
+ --with-zonesdir="${EPREFIX}"/var/lib/nsd
+
+ $(use_enable bind8-stats)
+ $(use_enable bind8-stats zone-stats)
+ $(use_enable debug checking)
+ $(use_enable dnstap)
+ $(use_enable minimal-responses)
+ $(use_enable mmap)
+ $(use_enable nsec3)
+ $(use_enable ratelimit)
+ $(use_enable root-server)
+ $(use_enable systemd)
+ $(use_with libevent)
+ $(use_with ssl)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS}
+
+ newinitd "${FILESDIR}"/nsd.initd-r1 nsd
+
+ # Install munin plugin and config
+ if use munin ; then
+ exeinto /usr/libexec/munin/plugins
+ doexe contrib/nsd_munin_
+ insinto /etc/munin/plugin-conf.d
+ newins "${FILESDIR}"/nsd.munin-conf nsd_munin
+ fi
+
+ systemd_dounit "${FILESDIR}"/nsd.service
+
+ # Remove the /run directory that usually resides on tmpfs and is
+ # being taken care of by the nsd init script anyway (checkpath)
+ rm -r "${ED}"/run || die "Failed to remove /run"
+
+ keepdir /var/db/${PN}
+}
+
+pkg_postinst() {
+ # database directory, writable by nsd for database updates and zone transfers
+ install -d -m 750 -o nsd -g nsd "${EROOT}"/var/db/nsd
+
+ # zones directory, writable by nsd for zone file updates (nsd-control write)
+ install -d -m 750 -o nsd -g nsd "${EROOT}"/var/lib/nsd
+}
diff --git a/net-dns/nsd/nsd-9999.ebuild b/net-dns/nsd/nsd-9999.ebuild
index 9a17b4f46b26e..d9028ba457da6 100644
--- a/net-dns/nsd/nsd-9999.ebuild
+++ b/net-dns/nsd/nsd-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ else
MY_PV="${MY_PV/_rc/rc}"
MY_P="${PN}-${MY_PV}"
- if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
+ if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then
SRC_URI="https://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
diff --git a/sys-block/ndctl/Manifest b/sys-block/ndctl/Manifest
index f6b9352e67739..34f13ca758fa8 100644
--- a/sys-block/ndctl/Manifest
+++ b/sys-block/ndctl/Manifest
@@ -1,4 +1,3 @@
DIST ndctl-71.1.tar.gz 330512 BLAKE2B 582f29fb649f33a48b5412bfefc15de2b1f765b27251d1b8a472d8c7705d671acbd6bf646f737baf8556d8fda39db68242f44e11225d7305e95f5d2ec5931f31 SHA512 92fb06ca64455775ce0b89ba0846f70235e02fe3502e2a8a55a858f76f87cb90ae98f5bf01620e5884f667ea78ee2bee2cd9e7a85ffa8f8d9c456e9282ca9ebc
-DIST ndctl-72.1.tar.gz 365324 BLAKE2B 2e061bd1357c0b422f728e8624106d93e9eed2f5c7795428b0c61d041ab45569aa8bb6eb52544360ad538be85f3b7f84f8c9ab1037a8ca5498c2e1a13fa22186 SHA512 7304e23121c99457fa6e22a399fb636f6a66d6d07b090463ec41e424687b06e7e8a1a18623ab9dd5783aaccfa09ff964e3477b63aaa4614ac60f6e6050452f12
-DIST ndctl-75.tar.gz 415393 BLAKE2B f9081b09c2f4ad8a6bc9c53e792b8a49992c7089af09e39917efe0fceea800d81665a31bf14c8e2f6f83c57d1dccebb4513b9bb556a3e81c19c75fbc67e1d7e3 SHA512 0af960e43a363711fbdb5152bb670022bd9b2f6a269c153dd88dca4ad2dcc215679c354ebcc758e9376867462f82c21aebe62bc62ca27333dedf3a818f34b272
DIST ndctl-76.1.tar.gz 419651 BLAKE2B 52fdbb382a32005873e3be46d3c9b21c80e9ad53b5852c32d73d0ee966c61890d598d2b8d03fd0aa090970e5746daf52e91e70b9a79b328f1a2137a37bfb61a1 SHA512 76d32599df029969734276f8972f3f4bf701e471117c8a48d1f96b62c87a59ac54d59104ee62d1cbbb518a06a779677ca856df32ce6218d758a8c73daa3e5b06
+DIST ndctl-77.tar.gz 421255 BLAKE2B fcc9ed092d67a8ef86b60a487db5caca51f3ead43216da8df63f083ad016bd34058f0957702055faf3da967e54e70228fdb54fcd0536dc120a46719d7a1dc994 SHA512 cd1e37d015f209df446441da162d41bbca1b740d799b383c1147d3a3b1acc4e6dc4bcc1fda0e868f305e8a1698c969426c08d8a6222d8a0c8f3c94963b0ae36e
diff --git a/sys-block/ndctl/files/ndctl-77-iniparser4.patch b/sys-block/ndctl/files/ndctl-77-iniparser4.patch
new file mode 100644
index 0000000000000..9df1782d51bdf
--- /dev/null
+++ b/sys-block/ndctl/files/ndctl-77-iniparser4.patch
@@ -0,0 +1,19 @@
+Adapt to dev-libs/iniparser being slotted in Gentoo.
+--- a/meson.build
++++ b/meson.build
+@@ -179,12 +179,12 @@ iniparser_headers = ['iniparser.h', 'dictionary.h']
+ message('Looking for iniparser include headers', iniparser_headers)
+
+ iniparserdir = include_directories(includedir / get_option('iniparserdir'), is_system:true)
+-iniparser = cc.find_library('iniparser', required : (get_option('iniparserdir') != '') ,
++iniparser = cc.find_library('iniparser4', required : (get_option('iniparserdir') != '') ,
+ has_headers :iniparser_headers ,header_include_directories : iniparserdir)
+
+ if not iniparser.found()
+- iniparserdir = include_directories(includedir / 'iniparser', is_system:true)
+- iniparser = cc.find_library('iniparser', required : true, has_headers : iniparser_headers,
++ iniparserdir = include_directories(includedir / 'iniparser4', is_system:true)
++ iniparser = cc.find_library('iniparser4', required : true, has_headers : iniparser_headers,
+ header_include_directories : iniparserdir)
+ endif
+ iniparser = declare_dependency(include_directories: iniparserdir, dependencies:iniparser)
diff --git a/sys-block/ndctl/metadata.xml b/sys-block/ndctl/metadata.xml
index 0c16d62874c00..003cade583fed 100644
--- a/sys-block/ndctl/metadata.xml
+++ b/sys-block/ndctl/metadata.xml
@@ -8,4 +8,7 @@
+
+ pmem/ndctl
+
diff --git a/sys-block/ndctl/ndctl-72.1.ebuild b/sys-block/ndctl/ndctl-72.1.ebuild
deleted file mode 100644
index 47d1a8e6a3bcd..0000000000000
--- a/sys-block/ndctl/ndctl-72.1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit udev autotools bash-completion-r1
-
-DESCRIPTION="Helper tools and libraries for managing non-volatile memory on Linux"
-HOMEPAGE="https://github.com/pmem/ndctl"
-SRC_URI="https://github.com/pmem/ndctl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2 LGPL-2.1 MIT CC0-1.0"
-SLOT="0/6"
-KEYWORDS="~amd64 ~x86"
-IUSE="systemd test"
-
-DEPEND="
- dev-libs/iniparser:0=
- dev-libs/json-c:=
- sys-apps/keyutils:=
- sys-apps/kmod:=
- sys-apps/util-linux:=
- virtual/libudev:=
- systemd? ( sys-apps/systemd:= )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- app-text/asciidoc
- app-text/xmlto
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-RESTRICT="!test? ( test )"
-
-# tests require root access
-RESTRICT+=" test"
-
-DOCS=(
- README.md
- CONTRIBUTING.md
-)
-
-PATCHES=(
- "${FILESDIR}/ndctl-71.1-bash-completion-configure.patch"
-)
-
-src_prepare() {
- default
- printf 'm4_define([GIT_VERSION], [%s])' "${PV}" > version.m4 || die
- sed -e '/git-version-gen/ d' -i Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- --with-bash-completion-dir="$(get_bashcompdir)" \
- --with-udevrulesdir=$(get_udevdir)/rules.d \
- $(use_with systemd) \
- --disable-asciidoctor
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
-
- bashcomp_alias ndctl daxctl
- bashcomp_alias ndctl cxl
-}
diff --git a/sys-block/ndctl/ndctl-75.ebuild b/sys-block/ndctl/ndctl-77.ebuild
similarity index 89%
rename from sys-block/ndctl/ndctl-75.ebuild
rename to sys-block/ndctl/ndctl-77.ebuild
index 6c45f09b498f3..ccdc44d26c19a 100644
--- a/sys-block/ndctl/ndctl-75.ebuild
+++ b/sys-block/ndctl/ndctl-77.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/pmem/ndctl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1 MIT CC0-1.0"
SLOT="0/6"
KEYWORDS="~amd64 ~x86"
-IUSE="doc systemd test"
+IUSE="doc libtracefs systemd test"
DEPEND="
dev-libs/iniparser:0=
@@ -21,6 +21,7 @@ DEPEND="
sys-apps/kmod:=
sys-apps/util-linux:=
virtual/libudev:=
+ libtracefs? ( dev-libs/libtracefs:= )
systemd? ( sys-apps/systemd:= )
"
RDEPEND="${DEPEND}"
@@ -43,9 +44,14 @@ DOCS=(
CONTRIBUTING.md
)
+PATCHES=(
+ "${FILESDIR}"/${PN}-77-iniparser4.patch
+)
+
src_configure() {
local -a emesonargs=(
$(meson_feature systemd)
+ $(meson_feature libtracefs)
$(meson_feature doc docs)
-Dasciidoctor=disabled
-Dbashcompletiondir="$(get_bashcompdir)"