summaryrefslogtreecommitdiff
path: root/sys-apps
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/Manifest.gzbin49310 -> 49313 bytes
-rw-r--r--sys-apps/ipmitool/Manifest8
-rw-r--r--sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd23
-rw-r--r--sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd27
-rw-r--r--sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd28
-rw-r--r--sys-apps/ipmitool/files/log_bmc-1.8.18.initd25
-rw-r--r--sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild203
-rw-r--r--sys-apps/iproute2/Manifest4
-rw-r--r--sys-apps/iproute2/iproute2-6.0.0.ebuild2
-rw-r--r--sys-apps/iproute2/iproute2-6.1.0.ebuild215
-rw-r--r--sys-apps/systemd-utils/Manifest4
-rw-r--r--sys-apps/systemd-utils/systemd-utils-251.8-r1.ebuild2
-rw-r--r--sys-apps/systemd-utils/systemd-utils-251.9.ebuild524
-rw-r--r--sys-apps/systemd/Manifest2
-rw-r--r--sys-apps/systemd/systemd-251.9.ebuild521
15 files changed, 1270 insertions, 318 deletions
diff --git a/sys-apps/Manifest.gz b/sys-apps/Manifest.gz
index fd5f94dc4234..2cb1b0381d17 100644
--- a/sys-apps/Manifest.gz
+++ b/sys-apps/Manifest.gz
Binary files differ
diff --git a/sys-apps/ipmitool/Manifest b/sys-apps/ipmitool/Manifest
index b2afdda5c635..cc25134c66cd 100644
--- a/sys-apps/ipmitool/Manifest
+++ b/sys-apps/ipmitool/Manifest
@@ -1,22 +1,14 @@
-AUX exchange-bmc-os-info-1.8.18.initd 512 BLAKE2B 43307b959b3a2df518bc667e696f9e8a3dc113a572beb813c3c560f6c19db813195f26f22638261cf40f7f94599a62497e47edb30f24b9f7d6192be973d80795 SHA512 d9a9a2a984e5289e74af63660ef82b7f45e4cb60f4fefe4e1e3a1b9bac9ddc3adfcb177899b3cb1521f91b461cb807ab9edcbf4def96060287f50c9435ab1d29
AUX exchange-bmc-os-info.initd 512 BLAKE2B 43307b959b3a2df518bc667e696f9e8a3dc113a572beb813c3c560f6c19db813195f26f22638261cf40f7f94599a62497e47edb30f24b9f7d6192be973d80795 SHA512 d9a9a2a984e5289e74af63660ef82b7f45e4cb60f4fefe4e1e3a1b9bac9ddc3adfcb177899b3cb1521f91b461cb807ab9edcbf4def96060287f50c9435ab1d29
AUX ipmievd.confd 677 BLAKE2B 7656944c3a9e1f8c9ce2a5923da7dda420386020c14449fb182ce9247122564cf6e5179e97bf5396e81e3c5ded8a6791b2e5804327697149e6be097f82e105d6 SHA512 0e494de95d7a193293005b3d93e0ea0c7ada44e54f48259b197e1eb9846f78d986cefba59ebd70484c26e4ac5d3ae38abfc5a6cd1f74785cb3806c0ba35ee572
AUX ipmievd.initd 898 BLAKE2B f768c90e913d0036113f39716a04b5c28052cb1be78b27221549f871b392df26e989edea20ff8eeffba38150d2b5687ca189d0e471b43e85ae2e4af3a7abb72c SHA512 2f46f3ad1f3d224a3f12fe1feaf7a2cee84dab6f93f788f4e9e82baf42ccbd3e22aa2b51c76646e1bd2a812bf8c673c780a48dfd2c5ec116f9fda944cb1d48cb
AUX ipmievd.service 158 BLAKE2B 5d02e8647670086bd46160417de32cd199ba1fe731386fce04c2b56183fe6d7885b59199f30a7bfdfc764d7eb021d82554154766fbd23407af950d4e274033ab SHA512 8e1c3ee301bc002d9fe8146d224b9e4d4d054503c118e713c48763eb6352b6e6efe947380d1ab9fa0205ef556683e29ead321360f00bf8e093eb2b48eaa5dfb9
-AUX ipmitool-1.8.18-ipmievd.confd 677 BLAKE2B 7656944c3a9e1f8c9ce2a5923da7dda420386020c14449fb182ce9247122564cf6e5179e97bf5396e81e3c5ded8a6791b2e5804327697149e6be097f82e105d6 SHA512 0e494de95d7a193293005b3d93e0ea0c7ada44e54f48259b197e1eb9846f78d986cefba59ebd70484c26e4ac5d3ae38abfc5a6cd1f74785cb3806c0ba35ee572
-AUX ipmitool-1.8.18-ipmievd.initd 898 BLAKE2B f768c90e913d0036113f39716a04b5c28052cb1be78b27221549f871b392df26e989edea20ff8eeffba38150d2b5687ca189d0e471b43e85ae2e4af3a7abb72c SHA512 2f46f3ad1f3d224a3f12fe1feaf7a2cee84dab6f93f788f4e9e82baf42ccbd3e22aa2b51c76646e1bd2a812bf8c673c780a48dfd2c5ec116f9fda944cb1d48cb
AUX ipmitool-1.8.19-CVE-2011-4339.patch 922 BLAKE2B 7b6d03a674a891c672402faf664de5411320f40375ab49403fd7f5de12f19190aeb51f029856329dc1c998100a0e17f5c33a8a69f76ce4e9fd145c42ee952f98 SHA512 e3709eff2f822194b302a2642b9fc21c8a570d2180118b65a686850fdd8286128306b81b455987e133147094f5acf9dc367d38714d77f4ee79d4b39d9537b095
AUX ipmitool-1.8.19-fix-buffer-overflow.patch 1063 BLAKE2B 3e7f010c830a5a0b98c1412a060e213c489c838f49d7fc0518e95f6ac00f2a86e8e2214219ad6d63d6981d553b76d7d288c96a652ad7e4998d138c87951aacf0 SHA512 1630246f4718203b43ecfbdf0cfd21ea81f4e91a50f96942e08e21f732e637f93453e361e9869b482f7336a72ffe879befb114a201b7c3fbeb9d4a86e8ecd3bd
AUX ipmitool-1.8.19-manpage-longlines.patch 2564 BLAKE2B 61960109491d051f60b5708a5e04849e43e89c61a7c01c2752b10a8fc06468af0f77e5333e1c469526503a5791a24888198b53c466c12d4327d6b1518e258a17 SHA512 13a78926d96999d4e05c83aae74ede176dc806865c0a7ee5e888b3c93728ebf96214d98beb23b2f53b60441d88774b06ced205ba2f5e4198271ffb30f4470a73
AUX ipmitool-1.8.19-missing-func-decl.patch 896 BLAKE2B 49b8e6c0029498bd510e94eb061f04a00b5d5f733ccda654c4a74bfb972e0205af587b75931286bd84397829cb7428dab54d6fda1a4b7ca5ee6dfa43ab89f0bb SHA512 ef08e6b4b9d42eafd6535ac1089a862ca774581c9242be7c7710bcb55c6a810c002d63ac1ba11f896a47a01bc162b4d917656d5d9671dca4d71578f245948e79
AUX ipmitool-1.8.19-nvidia-iana.patch 1243 BLAKE2B 9e97ece902caa6f222fd23d5f1be751c888b77afc1ebd347edb143eedbe3792b317407d7caf94a4eb86ce0149c4ffa62be5f337dacf8a4a142e626d23e369711 SHA512 7ea4c4b1636ac69f5e801873b48c4c8b7c311f55d1adbb7bd08f34d88aaa17e5e13ac84d5a69e7660b2cd0dd737fcb8685fe2253c51b2fca4b432fa374a3dfb2
-AUX log_bmc-1.8.18.initd 570 BLAKE2B 7b21b7888f386953c001a635fa4d1fd3b79a1eb9920fc6cefe6770231d67989d47f172e783416d12feb399e882e2fe74b26fdef162fafb85cd686ec83d414d01 SHA512 2d5b62ee5f694629e8f5c4c2d1fcdf7a3d42078f488e43cd1b34193619918ea7429da2bcb236b9216cfabaf94d8c5224b99194023a8db626884c4c766f15136a
AUX log_bmc.initd 570 BLAKE2B 7b21b7888f386953c001a635fa4d1fd3b79a1eb9920fc6cefe6770231d67989d47f172e783416d12feb399e882e2fe74b26fdef162fafb85cd686ec83d414d01 SHA512 2d5b62ee5f694629e8f5c4c2d1fcdf7a3d42078f488e43cd1b34193619918ea7429da2bcb236b9216cfabaf94d8c5224b99194023a8db626884c4c766f15136a
DIST enterprise-numbers-1.8.19.xz 1500100 BLAKE2B 15c21792bf46220c5908ecf4f0ddafe2fdf13a1799c054a0cb0cb647e7f489768855c4c25fba8a4408505ff0cf02d1a43408d5c4de557b1b30fe8abb477a7926 SHA512 e88cb459a9c8a3172770bcfefbec0a7ad7d65395063c8c0173fce776ea0beb7ad9f3610e636dfbd71d0af8c952c2b9bc6c25c815daa4ab281bed983cbe2ebcc4
-DIST enterprise-numbers.2020-10-21.xz 1426932 BLAKE2B bfe39ceea321ba47cd40eafa67862eb4dfd6dc29b192afb20ad0c908cd93a16b4103c5de64d042df012417c8cadc03000f2b2a00779bcc582a430603cad5f3cf SHA512 4a854a56e8ed51997c320cbfba041d43cb98b14743ef80b67e701942068d3729604abaedb617655a83ca21a7e20ea5a622ede4de317ca492cefd46da784d28f3
-DIST ipmitool-1.8.18_p20201004.tar.gz 638493 BLAKE2B 52f4ec8c82336b88640d1b91fc17af8f2fe0948a5c48c16067867dcad0852168d48bb21fdd99bde7ed957b66df888fd369c909079d1f81c861acd8c7f8dfa6f2 SHA512 8d72eef3584f4d2c86bfe43f70b5d687f3b7bbdf75b8979f7132c5c98b01baae22c336e540c197652187749fc9bb221a92e546b56e5cf2eb5650fad5094e9433
DIST ipmitool-1.8.19.tar.gz 641383 BLAKE2B e1db12bb7301cb4b551f87fbfcd405b3597a1f32c45447b2b239d9d43a2cdbe213ee5408291d50801035cc80e28078fb3a778ab28335665bc3316798c13ea1fc SHA512 2d91706e9feba4b2ce4808eca087b81b842c4292a5840830001919c06ec8babd8f8761b74bb9dcf8fbc7765f028a5b1a192a3c1b643f2adaa157fed6fb0d1ee3
-DIST ipmitool_1.8.18-9.debian-ported-gentoo.tar.xz 3208 BLAKE2B b37a127eff361039b3b810e19dd97f0c395462b658803f56f10f2dd1abbbe92743dc409ce6b83560db15621b7fa7a3c0f989100077893993df18108a082e49d2 SHA512 0f7646a2307ac98425e99dece9d3e3b23026136a97524151efdecc910fb537af41a91702782989046e44163da98610fa05792878473e228b45c16351f6015a45
-EBUILD ipmitool-1.8.18_p20201004-r3.ebuild 6249 BLAKE2B 3d5060e5488181de705843c4845ac1c1ff50fb9f2096ab2876b111db2312079cb6111682f34faaa9edb3b2e30fb86db1a2d7359c47f7289d70b2087a3827526d SHA512 ebfc290090a08042a469ed30705c0f16f9b6e6ab15d8a0bf18f244037017b76a0d3299a15eb9ea22abf116d31b1bb74f6ec441b2199ea2fd7ee2694bd3ff3037
EBUILD ipmitool-1.8.19.ebuild 4140 BLAKE2B 9ddc9f6cfc487b552726871ce05e292bcef31a5fae19cc61a84bc0590fec16fdbac3ee3a16d90e2b688686b23ffbebc351a20a95345a1819ac2b525c5a6142cf SHA512 feffa88f5a1d2438a6226f230efe64b8a0c02ef17c1aee614cc4111df09bf0c1340deeb9e49c7e5f83c52c0d6e2f7cb4e48b5c2d5ec539cd85b377e9186e35a5
MISC metadata.xml 693 BLAKE2B 7a0cab3772eb4ebc0529b22ab7fa21eae882da4b652fe67c3abfc8e25b1f5a6d14a52089ec676a17a0a925436675ec80409cde8d2554c4f6dce50c4afc736b14 SHA512 8a2ace6c302db4437e6903899edf87aa005f47c5e84969e4d846f67e97a027bda05fced0ca2b1a8a09f12ed5be3ce9bdabfc1b75643c2a9435ba706a452eb055
diff --git a/sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd b/sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd
deleted file mode 100644
index 9c63983f21f3..000000000000
--- a/sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-# /etc/init.d/exchange-bmc-os-info
-
-name="exchange-bmc-os-info"
-description="Exchange Information between BMC and OS"
-command=/usr/libexec/exchange-bmc-os-info
-command_args=""
-: "${DEVICENUM:=0}" # which BMC
-required_files=/dev/ipmi${DEVICENUM}
-
-depend() {
- use hostname modules
- keyword -docker -lxc -prefix -systemd-nspawn
-}
-
-start() {
- "${command}" start
-}
-stop() {
- "${command}" stop
-}
diff --git a/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd b/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd
deleted file mode 100644
index b860c23c7f89..000000000000
--- a/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-# /etc/conf.d/ipmievd
-
-# Interfaces:
-# open Linux OpenIPMI Interface
-# imb Intel IMB Interface
-# bmc IPMI v2.0 BMC interface
-# lan IPMI v1.5 LAN Interface
-# lanplus IPMI v2.0 RMCP+ LAN Interface
-
-INTERFACE="open"
-
-# Commands:
-# open Use OpenIPMI for asyncronous notification of events
-# sel Poll SEL for notification of events
-#
-# 'pidfile=...' will be appended!
-COMMAND="open daemon"
-
-# Options.
-
-OPTIONS=""
-
-# Device number:
-# Used to target a specific BMC on a multi-node, multi-BMC system via the open interface
-DEVICENUM=0
diff --git a/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd b/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd
deleted file mode 100644
index e8ef2c39d454..000000000000
--- a/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-# /etc/init.d/ipmievd
-
-depend() {
- use logger modules
- keyword -docker -lxc -prefix -systemd-nspawn
-}
-
-# TODO: ipmievd has a mode where it could be used to monitor multiple BMCs via
-# DEVICENUM or remote systems, and it would be valid to run multiple instances.
-# That is not supported by this init script at this time.
-
-description="IPMI event daemon for sending events to syslog LOCAL4"
-
-: "${DEVICENUM:=0}"
-: "${INTERFACE:=open}"
-: "${COMMAND:=open daemon}"
-: "${OPTIONS:=}"
-
-daemon=ipmievd
-
-pidfile=/run/${daemon}.pid${DEVICENUM} # see manpage re suffix
-command=/usr/sbin/${daemon}
-cachefile=/run/${daemon}.${DEVICENUM}.sdr-cache
-command_args="-d ${DEVICENUM} -S ${cachefile} -I ${INTERFACE} ${OPTIONS} ${COMMAND} pidfile=${pidfile}"
-required_files=/dev/ipmi$DEVICENUM
diff --git a/sys-apps/ipmitool/files/log_bmc-1.8.18.initd b/sys-apps/ipmitool/files/log_bmc-1.8.18.initd
deleted file mode 100644
index 4064edf3b84d..000000000000
--- a/sys-apps/ipmitool/files/log_bmc-1.8.18.initd
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-name="log_bmc"
-description="Add SEL entries to indicate OS Boot status"
-command=/usr/libexec/log_bmc.sh
-command_args=""
-: "${DEVICENUM:=0}" # which BMC
-required_files=/dev/ipmi${DEVICENUM}
-
-depend() {
- use modules
- after ipmievd # to capture our own log event
- keyword -docker -lxc -prefix -systemd-nspawn
-}
-
-start() {
- # TODO: should this keep start so it only fires once per boot?
- "${command}" os_boot
-}
-
-stop() {
- "${command}" os_shutdown
-}
diff --git a/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild b/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild
deleted file mode 100644
index f551622bcac4..000000000000
--- a/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic systemd
-
-DESCRIPTION="Utility for controlling IPMI enabled devices"
-HOMEPAGE="http://ipmitool.sf.net/"
-DEBIAN_PR="9.debian"
-DEBIAN_PV="${PV/_p*}"
-DEBIAN_P="${PN}_${DEBIAN_PV}"
-DEBIAN_PF="${DEBIAN_P}-${DEBIAN_PR}"
-COMMIT_ID=7fd7c0f2ba39e223868a8d83d81d4074f057d6fc
-if [[ -n "${COMMIT_ID}" ]]; then
- S="${WORKDIR}/${PN}-${COMMIT_ID}"
- SRC_URI="https://github.com/ipmitool/ipmitool/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
-else
- SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-fi
-# https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
-# is not available with version numbers or dates!
-SRC_URI+="
- https://dev.gentoo.org/~robbat2/distfiles/ipmitool_1.8.18-9.debian-ported-gentoo.tar.xz
- https://dev.gentoo.org/~robbat2/distfiles/enterprise-numbers.2020-10-21.xz
- "
- #http://http.debian.net/debian/pool/main/i/${PN}/${DEBIAN_PF}.tar.xz
- # https://launchpad.net/ubuntu/+archive/primary/+files/${DEBIAN_PF}.tar.xz
-#IUSE="freeipmi openipmi status"
-IUSE="openbmc openipmi static"
-SLOT="0"
-KEYWORDS="amd64 arm64 hppa ~ia64 ppc ppc64 x86"
-LICENSE="BSD"
-
-RDEPEND="
- dev-libs/openssl:0=
- openbmc? ( sys-apps/systemd:0= )
- sys-libs/readline:0="
-DEPEND="${RDEPEND}
- >=sys-devel/autoconf-2.69-r5
- openipmi? ( sys-libs/openipmi )
- virtual/os-headers"
- #freeipmi? ( sys-libs/freeipmi )
-# ipmitool CAN build against || ( sys-libs/openipmi sys-libs/freeipmi )
-# but it doesn't actually need either.
-
-PATCHES=(
- #"${FILESDIR}"/${P}-openssl-1.1.patch
-)
-
-# I hope all of this will get MUCH cleaner if upstream will just make a new
-# release! - robbat2 2020/10/21
-src_prepare() {
- default
- if [ -d "${S}"/debian ] ; then
- mv "${S}"/debian{,.package}
- ln -s "${WORKDIR}"/debian "${S}"
- eautoreconf
- # Upstream commit includes SOME of the debian changes, but not all of them
- sed -i \
- -e '/^#/d' \
- -e '/0120-openssl1.1.patch/d' \
- debian/patches/series
- for p in $(cat debian/patches/series) ; do
- echo ${p}
- if ! nonfatal eapply -p1 debian/patches/${p} ; then
- echo "failed ${p}"
- fail=1
- fi
- done
- [[ $fail -eq 1 ]] && die "fail"
- fi
- pd="${WORKDIR}"/ipmitool_1.8.18-9.debian-ported-gentoo/
- PATCHES=(
- #"${pd}"/0000.0120-openssl1.1.patch
- "${pd}"/0001.0100-fix_buf_overflow.patch
- "${pd}"/0002.0500-fix_CVE-2011-4339.patch
- "${pd}"/0003.0600-manpage_longlines.patch
- #"${pd}"/0004.0110-getpass-prototype.patch
- #"${pd}"/0005.0115-typo.patch
- "${pd}"/0006.0125-nvidia-iana.patch
- "${pd}"/0007.0615-manpage_typo.patch
- #"${pd}"/0008.0130-Correct_lanplus_segment_violation.patch
- "${pd}"/0009.0005-gcc10.patch
- #"${pd}"/0010.0010-utf8.patch
- )
- for p in "${PATCHES[@]}" ; do
- eapply -p1 ${p} || die "failed ${p}"
- done
-
- # Gentoo chooses to install ipmitool in /usr/sbin
- # Where RedHat chooses /usr/bin
- sed -i -e \
- 's,/usr/bin/ipmitool,/usr/sbin/ipmitool,g' \
- "${S}"/contrib/* \
- || die "sed bindir failed"
-
- # Consistent RUNSTATEDIR
- sed -i -e \
- 's,/var/run,/run,g' \
- "${S}/doc/ipmievd.8.in" \
- "${S}"/contrib/* \
- "${S}"/lib/helper.c \
- "${S}"/src/ipmievd.c \
- || die "sed /var/run failed"
-
- eautoreconf
-
- # If this file is not present, then ipmitool will try to download it during make install!
- cp -al \
- "${WORKDIR}/enterprise-numbers.2020-10-21" \
- "${S}"/enterprise-numbers \
- || die "Could not place IANA enterprise-numbers"
-}
-
-src_configure() {
- # - LIPMI and BMC are the Solaris libs
- # - OpenIPMI is unconditionally enabled in the configure as there is compat
- # code that is used if the library itself is not available
- # FreeIPMI does build now, but is disabled until the other arches keyword it
- # `use_enable freeipmi intf-free` \
- # --enable-ipmievd is now unconditional
-
- # for pidfiles, runstatedir not respected in all parts of code
- append-cppflags -D_PATH_VARRUN=/run/
-
- # WGET & CURL are set to avoid network interaction, we manually inject the
- # IANA enterprise-numbers file instead.
- #
- # DEFAULT_INTF=open # default to OpenIPMI, do not take external input
- WGET=/bin/true \
- CURL=/bin/true \
- DEFAULT_INTF=open \
- econf \
- $(use_enable static) \
- --enable-ipmishell \
- --enable-intf-lan \
- --enable-intf-usb \
- $(use_enable openbmc intf-dbus) \
- --enable-intf-lanplus \
- --enable-intf-open \
- --enable-intf-serial \
- --disable-intf-bmc \
- --disable-intf-dummy \
- --disable-intf-free \
- --disable-intf-imb \
- --disable-intf-lipmi \
- --disable-internal-md5 \
- --with-kerneldir=/usr \
- --bindir=/usr/sbin \
- --runstatedir=/run \
- CFLAGS="${CFLAGS}"
-
- # Fix linux/ipmi.h to compile properly. This is a hack since it doesn't
- # include the below file to define some things.
- echo "#include <asm/byteorder.h>" >>config.h
-
-}
-
-src_install() {
- emake DESTDIR="${D}" PACKAGE="${PF}" install
- rm -f "${D}"/usr/share/doc/${PF}/COPYING
- into /usr
-
- newinitd "${FILESDIR}"/${PN}-1.8.18-ipmievd.initd ipmievd
- newconfd "${FILESDIR}"/${PN}-1.8.18-ipmievd.confd ipmievd
- # From debian, less configurable than OpenRC
- systemd_dounit "${FILESDIR}"/ipmievd.service
-
- # Everything past this point is installing contrib/
- dosbin contrib/bmclanconf
-
- exeinto /usr/libexec
- doexe contrib/log_bmc.sh
- newinitd "${FILESDIR}/log_bmc-1.8.18.initd" log_bmc
-
- # contrib/exchange-bmc-os-info.init.redhat
- # contrib/exchange-bmc-os-info.service.redhat
- # contrib/exchange-bmc-os-info.sysconf
- exeinto /usr/libexec
- newexe contrib/exchange-bmc-os-info.init.redhat exchange-bmc-os-info
- insinto /etc/sysconfig
- newins contrib/exchange-bmc-os-info.sysconf exchange-bmc-os-info
- systemd_newunit contrib/exchange-bmc-os-info.service.redhat exchange-bmc-os-info.service
- newinitd "${FILESDIR}/exchange-bmc-os-info-1.8.18.initd" exchange-bmc-os-info
-
- # contrib/bmc-snmp-proxy
- # contrib/bmc-snmp-proxy.service
- # contrib/bmc-snmp-proxy.sysconf
- exeinto /usr/libexec
- doexe contrib/bmc-snmp-proxy
- insinto /etc/sysconfig
- newins contrib/bmc-snmp-proxy.sysconf bmc-snmp-proxy
- systemd_dounit contrib/bmc-snmp-proxy.service
- # TODO: initd for bmc-snmp-proxy
-
- insinto /usr/share/${PN}
- doins contrib/oem_ibm_sel_map
-
- docinto contrib
- cd "${S}"/contrib
- dodoc collect_data.sh create_rrds.sh create_webpage_compact.sh create_webpage.sh README
-}
diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest
index 6b58b9259a73..4953c1278d0c 100644
--- a/sys-apps/iproute2/Manifest
+++ b/sys-apps/iproute2/Manifest
@@ -9,9 +9,11 @@ DIST iproute2-5.15.0.tar.xz 858068 BLAKE2B bca20ac53e1b2b3ae06186f655ad5073a0e69
DIST iproute2-5.18.0.tar.xz 880456 BLAKE2B 21b15d84b07199d4ddd12cbf14d94806a073f4eda659958a8459ef2ca8becbef8638dac2550cc53893cd147888b6a3b738256dac074307b37ebec8dbb460e600 SHA512 7b43c89741a8ffe8fd529ac4ee19c8eab7dce2f064de494c160c75456ffb960fb5f1e78c868ab98360dafde28d5e2c4d58177135b6d380e80e06eba9e3eaf068
DIST iproute2-5.19.0.tar.xz 892696 BLAKE2B ee287065d7c33c0fa97f0fc130bb3a4a3ad5ac9417ad74ce8489e64ec146ff97749d79bb6563043c8835eab91a51631576441d450693cb50808ad0d37b2ea648 SHA512 eb0fffb153f7cecc89b5573b7fc211d67fb1c06789fd3b0aec75ba5032521d53c51ccc52db7367e41397993df50244af84763b0b1d5a76d9dfccf013c010131b
DIST iproute2-6.0.0.tar.xz 900312 BLAKE2B 1cfb9b5a7892dec2b35e0eadbd957083e95fdc5077a1aa193329801ff25f9ed90a1fc4152756547be1fab8fe18d9a399001a4c3a61e951f64946156af6a90bae SHA512 be30362b0df6906aa786f935d5f555b8b86c747fe05314066f4180ab2f7c952ae227b7cf04c15e75d8f99ca17bafb7c8dc0fb1c18f3a9e3222d98716bb449f7a
+DIST iproute2-6.1.0.tar.xz 905512 BLAKE2B 38249703e0a9ba74405aebdb97560b286deefa959a9c3f0e0893962b6966f5da2da46199dda6a0f9584bb473f8ba529440643d97f66e9b7619df029e3091d163 SHA512 4e4d3b5e1e1a5444f42671c1e6caee072e80063e34e37386695f76f85a1ab662f4513050814006e5154426cbaadfba1d86b0be14e65978d5e670a16446047b28
EBUILD iproute2-5.15.0.ebuild 4994 BLAKE2B bc73ac11db47b0d52926149af6546fe81fd94354ca48aad8f452c5fedeebc1629d847ba653175bdb18172a3d74c9e8c6026ffd8f3436130985929e38f4e0dec6 SHA512 5737c4bd54bc283c1c50c9b2f5e7c87f8b40d2665e15d72a05893d890427d1c389d2f6c857bd8ca0db2d38996dadea810b5a11f061e95830347ff7f864bd7f7e
EBUILD iproute2-5.18.0-r1.ebuild 5803 BLAKE2B 5be3d8f2c91cb5d1e8d6b13d9a736e75d6066922caacaae94881b37e4cb963ed14eb185a68e745e484ec29fbd66c33a0deeccee75065af8fa292bfea945406fd SHA512 e42d7f42d7cab34838b1cc3984083d143ccf2d02743ed0ad14e091ae0fd4a3c4d8c82113cd813a1e517c527dac7915c5908e2503ddf8fedb2f46eb65675bb266
EBUILD iproute2-5.19.0-r3.ebuild 6020 BLAKE2B 86761a5001746be00a658445202a5135a448f46b22f7e07ede80be9c870779da16f8677e4c2544bf100e3dd4ff5d7c4fe2714866f8367469cb26aa965d58c4b0 SHA512 2910286974fb7a5630c824b934efb41045fbe361ebd366d0e143a09c648ab332ccb9314e0174409b65f7fbb66a3f7912841f87c875a34858aa8c22bb2f0f2d74
-EBUILD iproute2-6.0.0.ebuild 5951 BLAKE2B 88d5f8622e202a4fab367d17ad8dd92b1fe5c28acdc525398856f99a943f1058066cc4a61b094a6b997683f4306ec81b34a9c5b8281e4c195e3aa3f50d148ddc SHA512 5734f8baa085cbac1f5793bb8f70d12890dddf8e66748c9fdab68dabd08c21123311d88d49a8dcaf3a0f53147c097483134124124687b337a4a89a1922832014
+EBUILD iproute2-6.0.0.ebuild 5943 BLAKE2B d85a48405ed9359c187e770afdd7583f54c3905ee5b58488a604369957333a79c9d0f3c3964436116e5799ad9d8e7ade1ad51c02d89cb10983b9d5f11d015297 SHA512 6df97340ce887a0f9a1319c5a4458872cf8157c3131cb8dd27027fd18867571a6b80267974c1c0009996e4fd8fa6431434d5ae61ab2fc0b0c988ba3668c7f84e
+EBUILD iproute2-6.1.0.ebuild 5951 BLAKE2B 88d5f8622e202a4fab367d17ad8dd92b1fe5c28acdc525398856f99a943f1058066cc4a61b094a6b997683f4306ec81b34a9c5b8281e4c195e3aa3f50d148ddc SHA512 5734f8baa085cbac1f5793bb8f70d12890dddf8e66748c9fdab68dabd08c21123311d88d49a8dcaf3a0f53147c097483134124124687b337a4a89a1922832014
EBUILD iproute2-9999.ebuild 5951 BLAKE2B 88d5f8622e202a4fab367d17ad8dd92b1fe5c28acdc525398856f99a943f1058066cc4a61b094a6b997683f4306ec81b34a9c5b8281e4c195e3aa3f50d148ddc SHA512 5734f8baa085cbac1f5793bb8f70d12890dddf8e66748c9fdab68dabd08c21123311d88d49a8dcaf3a0f53147c097483134124124687b337a4a89a1922832014
MISC metadata.xml 973 BLAKE2B e505f65ebcc30561fe249ede546cbad6289a0be929be6105379c25674e1dbade56fc62fa75839b0485099f13bc175daa55ad8b86f0a346e52907cfa00c4bb3f1 SHA512 a7e201275dd562c097d66083225e74221f81d89a7efac98b7c05cc7c508100a94b9e928854796cfbfbfeb679acfe34fb79026f7d04df8e07f57132ffc64be525
diff --git a/sys-apps/iproute2/iproute2-6.0.0.ebuild b/sys-apps/iproute2/iproute2-6.0.0.ebuild
index 46297152d6c6..b1a064050fbb 100644
--- a/sys-apps/iproute2/iproute2-6.0.0.ebuild
+++ b/sys-apps/iproute2/iproute2-6.0.0.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
DESCRIPTION="kernel routing and traffic control utilities"
diff --git a/sys-apps/iproute2/iproute2-6.1.0.ebuild b/sys-apps/iproute2/iproute2-6.1.0.ebuild
new file mode 100644
index 000000000000..46297152d6c6
--- /dev/null
+++ b/sys-apps/iproute2/iproute2-6.1.0.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo toolchain-funcs
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
+ inherit git-r3
+else
+ SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+DESCRIPTION="kernel routing and traffic control utilities"
+HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="atm berkdb bpf caps elf +iptables libbsd minimal nfs selinux split-usr"
+
+# We could make libmnl optional, but it's tiny, so eh
+RDEPEND="
+ !net-misc/arpd
+ !minimal? ( net-libs/libmnl:= )
+ atm? ( net-dialup/linux-atm )
+ berkdb? ( sys-libs/db:= )
+ bpf? ( dev-libs/libbpf:= )
+ caps? ( sys-libs/libcap )
+ elf? ( virtual/libelf:= )
+ iptables? ( >=net-firewall/iptables-1.4.20:= )
+ libbsd? ( dev-libs/libbsd )
+ nfs? ( net-libs/libtirpc:= )
+ selinux? ( sys-libs/libselinux )
+"
+# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876)
+DEPEND="
+ ${RDEPEND}
+ >=sys-kernel/linux-headers-3.16
+"
+BDEPEND="
+ app-arch/xz-utils
+ >=sys-devel/bison-2.4
+ sys-devel/flex
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1.0-mtu.patch # bug #291907
+ "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug #643722
+ #"${FILESDIR}"/${PN}-5.1.0-portability.patch
+ "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch
+ "${FILESDIR}"/${PN}-default-color-auto.patch
+)
+
+src_prepare() {
+ default
+
+ # Fix version if necessary
+ local versionfile="include/version.h"
+ if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then
+ einfo "Fixing version string"
+ sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \
+ -i ${versionfile} || die
+ fi
+
+ # echo -n is not POSIX compliant
+ sed 's@echo -n@printf@' -i configure || die
+
+ sed -i \
+ -e '/^CC :\?=/d' \
+ -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
+ -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \
+ -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
+ -e "/^DBM_INCLUDE/s:=.*:=${T}:" \
+ Makefile || die
+
+ # Build against system headers
+ rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc
+ sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
+
+ if use minimal ; then
+ sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die
+ fi
+}
+
+src_configure() {
+ tc-export AR CC PKG_CONFIG
+
+ # This sure is ugly. Should probably move into toolchain-funcs at some point.
+ local setns
+ pushd "${T}" >/dev/null || die
+ printf '#include <sched.h>\nint main(){return setns(0, 0);}\n' > test.c || die
+ if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then
+ setns=y
+ else
+ setns=n
+ fi
+
+ echo 'int main(){return 0;}' > test.c || die
+ if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then
+ sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die
+ fi
+ popd >/dev/null || die
+
+ # run "configure" script first which will create "config.mk"...
+ # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242)
+ edo ./configure --libbpf_force $(usex bpf on off)
+
+ # Remove the definitions made by configure and allow them to be overridden
+ # by USE flags below.
+ # We have to do the cheesy only-sed-if-disabled because otherwise
+ # the *_FLAGS etc stuff found by configure will be used but result
+ # in a broken build.
+ if ! use berkdb ; then
+ sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die
+ fi
+
+ if ! use caps ; then
+ sed -i -e '/HAVE_CAP/d' config.mk || die
+ fi
+
+ if use minimal ; then
+ sed -i -e '/HAVE_MNL/d' config.mk || die
+ fi
+
+ if ! use elf ; then
+ sed -i -e '/HAVE_ELF/d' config.mk || die
+ fi
+
+ if ! use nfs ; then
+ sed -i -e '/HAVE_RPC/d' config.mk || die
+ fi
+
+ if ! use selinux ; then
+ sed -i -e '/HAVE_SELINUX/d' config.mk || die
+ fi
+
+ if ! use libbsd ; then
+ sed -i -e '/HAVE_LIBBSD/d' config.mk || die
+ fi
+
+ # ...Now switch on/off requested features via USE flags
+ # this is only useful if the test did not set other things, per bug #643722
+ # Keep in sync with ifs above, or refactor to be unified.
+ cat <<-EOF >> config.mk
+ TC_CONFIG_ATM := $(usex atm y n)
+ TC_CONFIG_XT := $(usex iptables y n)
+ TC_CONFIG_NO_XT := $(usex iptables n y)
+ # We've locked in recent enough kernel headers, bug #549948
+ TC_CONFIG_IPSET := y
+ HAVE_BERKELEY_DB := $(usex berkdb y n)
+ HAVE_CAP := $(usex caps y n)
+ HAVE_MNL := $(usex minimal n y)
+ HAVE_ELF := $(usex elf y n)
+ HAVE_RPC := $(usex nfs y n)
+ HAVE_SELINUX := $(usex selinux y n)
+ IP_CONFIG_SETNS := ${setns}
+ # Use correct iptables dir, bug #144265, bug #293709
+ IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
+ HAVE_LIBBSD := $(usex libbsd y n)
+ EOF
+}
+
+src_compile() {
+ emake V=1 NETNS_RUN_DIR=/run/netns
+}
+
+src_install() {
+ if use minimal ; then
+ into /
+ dosbin tc/tc
+ dobin ip/ip
+ return 0
+ fi
+
+ emake \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}"/$(get_libdir) \
+ SBINDIR="${EPREFIX}"/sbin \
+ CONFDIR="${EPREFIX}"/etc/iproute2 \
+ DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ ARPDDIR="${EPREFIX}"/var/lib/arpd \
+ install
+
+ dodir /bin
+ mv "${ED}"/{s,}bin/ip || die # bug #330115
+
+ dolib.a lib/libnetlink.a
+ insinto /usr/include
+ doins include/libnetlink.h
+
+ # Collides with net-analyzer/ifstat
+ # https://bugs.gentoo.org/868321
+ mv "${ED}"/sbin/ifstat{,-iproute2} || die
+
+ if use split-usr ; then
+ # Can remove compatibility symlink in a year: 2023-05-28.
+ # bug #547264
+ mv "${ED}"/sbin/ss "${ED}"/bin/ss || die
+ dosym -r /bin/ss /sbin/ss
+ fi
+
+ if use berkdb ; then
+ keepdir /var/lib/arpd
+ # bug #47482, arpd doesn't need to be in /sbin
+ dodir /usr/bin
+ mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
+ elif [[ -d "${ED}"/var/lib/arpd ]]; then
+ rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die
+ fi
+}
diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest
index 40f781b56075..28442bcc884c 100644
--- a/sys-apps/systemd-utils/Manifest
+++ b/sys-apps/systemd-utils/Manifest
@@ -8,6 +8,8 @@ AUX systemd-tmpfiles-setup-dev 342 BLAKE2B 95956e57d4f2aa10a09f23c08045ceed6fac3
DIST systemd-musl-patches-251.2.tar.gz 28512 BLAKE2B 4ac6a5220dab8409962a3954af2fb2484af718d0f282129957236ce241fbe8538a90d507a96c7c3d86f4f408ab784a6888b37486405d3276e7734a1bd5aa9680 SHA512 6e56b62234ac54929faea5a7cad699d0b932f869b48e3ba4e1f349a88653b7c787efec24a09b00290c3dc566614e3c1dc2f3c04f04e943f513108a91eca1be82
DIST systemd-stable-251.7.tar.gz 11448429 BLAKE2B 959ac7944d778c8e6d7a3c67ea6adc89e5e7ac1cc3b163e2af2a582211b91316da5ffba37b854978b7b2a5b3f9aae3651701a23e4391da6676e078747df1a37b SHA512 a4c06b2d25c47af58abb1e1dc85737b2fb0eb394f09d2bb7c6b7b716cb4b1383a145885bbc8e5ffcdc26611fd44d362fba2152c4dd0ead6a03a93965b82bb9a4
DIST systemd-stable-251.8.tar.gz 11457551 BLAKE2B d4ca799a5b22164362fa8948bbec95215d6ebc04380f13f755916c4bfd4e1cc43a82177c21d2c56aa9d8440b44872b773f21682fc127c7f6d2b3542661c27d80 SHA512 c337fad3cf2beef11401850ddd6418efef035d4ec6405049084302738042f77ac1f8bfd7eb3611668a13038878389c9617e63278ec0b37782b3e0242e69c4843
+DIST systemd-stable-251.9.tar.gz 11461131 BLAKE2B ba8fa2d70cc992ded3d1aa354e36d9815c6ae87a6f438f8879771e9e5ae9f7d10591956cf8c617ba0c5c13fdc229bc23a7ea173aa9849bfdf6476cc0721d62be SHA512 27df2076445a826911274101286a3555528ebd0894a5c32f2dea71a075b5fcde3931f4d04f5726c5b39d482357939d2fbd2b52ac9a894b6853f48833984f4c17
EBUILD systemd-utils-251.7.ebuild 12136 BLAKE2B 2f408ed102c3665bfa2f29272dc95a138f7ac34d8f28be72c6fbafea60da14ebb0a2331adb0a1405fe4792582800dfb80c5e296a4894e0a141a17d1503084e04 SHA512 148ab4d8aa2d22fc1e16ce46d09a3f00cc88a3db245fee4fda57634e20cf3bcd4d97167fcef6f2381171ccb0be8de70580c06495ee95df2ff6c746fb08ba1e94
-EBUILD systemd-utils-251.8-r1.ebuild 11953 BLAKE2B cc7ce6e609681fac0f98b660e800ed61c28c4a48733d223eb075a511aa2f744d8586f614b06e659ec40adf89746752866eab75cefdfcbd7fc199b518666342fc SHA512 122873d91963ee551a3e83342d1ac2976c26e2e251820810b95f08403f97265b05cebedf417cf9c9df0e8762e11736a66e0bdf72b941c824ace8d5d56c3ba9a6
+EBUILD systemd-utils-251.8-r1.ebuild 11946 BLAKE2B 9c1d6cd8394a63cfd56bb2f12c9f3db971d023939281cef9af458e3ea98122f82d447699a0ca4b535bd75ebc5b29e461dfa266bd25f05cd10fea06e306db1317 SHA512 ddf219d94c48781c00639abc73ace2177bdff9ec4d32ffa3926fb5d4b4ed23d0a2d2beebadd9eba0e5a9da067eb40e3ec637ebb277b67670a52034e9e9b5449f
+EBUILD systemd-utils-251.9.ebuild 11954 BLAKE2B 81aa07ef9fadf86b368d447f4f71e03f9aa481e9b5a8ef11458a39ad558338742b7350c6eacbe4521b02352192dd351ba7b44cd6192939cb834439fce59143eb SHA512 7e9f86f068521089966b7b91f11e2028cd107d0349b7f579839bd6be7abe920f7cbb00ef55bd97a67d5c7b676e5cbc39200fdd860ec34d654b33e75ca8f6c404
MISC metadata.xml 713 BLAKE2B 1dcb5d9949600c9a8c8ac0c005ffa03b2ca91293a932fa96092a24c094e9fb29f2cf063af041432c12daec4aa4e60d11ea77ed0a423e188095f995c68e75b91a SHA512 46d167a6d898abfc56130e373d232c18fb3ef8865755379fa7678c049515458e7354b7a8cab3bf3faa7326932cccceb0b0745b4695ab9bea492bc2344abf9da4
diff --git a/sys-apps/systemd-utils/systemd-utils-251.8-r1.ebuild b/sys-apps/systemd-utils/systemd-utils-251.8-r1.ebuild
index f7886685a5bd..108c86967156 100644
--- a/sys-apps/systemd-utils/systemd-utils-251.8-r1.ebuild
+++ b/sys-apps/systemd-utils/systemd-utils-251.8-r1.ebuild
@@ -26,7 +26,7 @@ SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.t
LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+acl boot +kmod selinux split-usr sysusers +tmpfiles test +udev"
REQUIRED_USE="|| ( boot tmpfiles sysusers udev )"
RESTRICT="!test? ( test )"
diff --git a/sys-apps/systemd-utils/systemd-utils-251.9.ebuild b/sys-apps/systemd-utils/systemd-utils-251.9.ebuild
new file mode 100644
index 000000000000..e3565a14d72b
--- /dev/null
+++ b/sys-apps/systemd-utils/systemd-utils-251.9.ebuild
@@ -0,0 +1,524 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..11} )
+
+QA_PKGCONFIG_VERSION=$(ver_cut 1)
+
+inherit bash-completion-r1 flag-o-matic meson-multilib python-any-r1 toolchain-funcs udev usr-ldscript
+
+DESCRIPTION="Utilities split out from systemd for OpenRC users"
+HOMEPAGE="https://systemd.io/"
+
+if [[ ${PV} == *.* ]]; then
+ MY_P="systemd-stable-${PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+else
+ MY_P="systemd-${PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+fi
+
+MUSL_PATCHSET="systemd-musl-patches-251.2"
+SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )"
+
+LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+acl boot +kmod selinux split-usr sysusers +tmpfiles test +udev"
+REQUIRED_USE="|| ( boot tmpfiles sysusers udev )"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ elibc_musl? ( >=sys-libs/musl-1.2.3 )
+ selinux? ( sys-libs/libselinux:0= )
+ tmpfiles? (
+ acl? ( sys-apps/acl:0= )
+ )
+ udev? (
+ >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
+ sys-libs/libcap:0=[${MULTILIB_USEDEP}]
+ virtual/libcrypt:=[${MULTILIB_USEDEP}]
+ acl? ( sys-apps/acl:0= )
+ kmod? ( >=sys-apps/kmod-15:0= )
+ )
+ !udev? (
+ >=sys-apps/util-linux-2.30:0=
+ sys-libs/libcap:0=
+ virtual/libcrypt:=
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-3.11
+ boot? ( >=sys-boot/gnu-efi-3.0.2 )
+"
+RDEPEND="${COMMON_DEPEND}
+ boot? ( !<sys-boot/systemd-boot-250 )
+ tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 )
+ udev? (
+ acct-group/audio
+ acct-group/cdrom
+ acct-group/dialout
+ acct-group/disk
+ acct-group/input
+ acct-group/kmem
+ acct-group/kvm
+ acct-group/lp
+ acct-group/render
+ acct-group/sgx
+ acct-group/tape
+ acct-group/tty
+ acct-group/video
+ !sys-apps/gentoo-systemd-integration
+ !sys-apps/hwids[udev]
+ !<sys-fs/udev-250
+ !sys-fs/eudev
+ )
+ !sys-apps/systemd
+"
+PDEPEND="
+ udev? ( >=sys-fs/udev-init-scripts-34 )
+"
+BDEPEND="
+ $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ dev-util/gperf
+ >=sys-apps/coreutils-8.16
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+TMPFILES_OPTIONAL=1
+UDEV_OPTIONAL=1
+
+python_check_deps() {
+ python_has_version "dev-python/jinja[${PYTHON_USEDEP}]"
+}
+
+QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
+QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/251-gpt-auto-no-cryptsetup.patch"
+ )
+
+ if use elibc_musl; then
+ PATCHES+=( "${WORKDIR}/${MUSL_PATCHSET}" )
+ # Applied upstream in 251.3
+ rm "${WORKDIR}/${MUSL_PATCHSET}/0001-Add-sys-file.h-for-LOCK_.patch" || die
+ fi
+ default
+
+ # Remove install_rpath; we link statically
+ local rpath_pattern="install_rpath : rootlibexecdir,"
+ grep -q -e "${rpath_pattern}" meson.build || die
+ sed -i -e "/${rpath_pattern}/d" meson.build || die
+}
+
+src_configure() {
+ # Broken with FORTIFY_SOURCE=3: bug #841770.
+ #
+ # Our toolchain sets F_S=2 by default w/ >= -O2, so we need
+ # to unset F_S first, then explicitly set 2, to negate any default
+ # and anything set by the user if they're choosing 3 (or if they've
+ # modified GCC to set 3).
+ #
+ if is-flagq '-O[23]' || is-flagq '-Ofast' ; then
+ # We can't unconditionally do this b/c we fortify needs
+ # some level of optimisation.
+ filter-flags -D_FORTIFY_SOURCE=3
+ append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_use split-usr)
+ $(meson_use split-usr split-bin)
+ -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
+ -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
+ -Dsysvinit-path=
+ $(meson_native_use_bool boot efi)
+ $(meson_native_use_bool boot gnu-efi)
+ $(meson_native_use_bool boot kernel-install)
+ $(meson_native_use_bool selinux)
+ $(meson_native_use_bool sysusers)
+ $(meson_use test tests)
+ $(meson_native_use_bool tmpfiles)
+ $(meson_use udev hwdb)
+
+ -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Link staticly with libsystemd-shared
+ -Dlink-boot-shared=false
+ -Dlink-udev-shared=false
+
+ # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" target
+ -Dstandalone-binaries=true
+
+ # Disable all optional features
+ -Dadm-group=false
+ -Danalyze=false
+ -Dapparmor=false
+ -Daudit=false
+ -Dbacklight=false
+ -Dbinfmt=false
+ -Dbpf-framework=false
+ -Dbzip2=false
+ -Dcoredump=false
+ -Ddbus=false
+ -Delfutils=false
+ -Denvironment-d=false
+ -Dfdisk=false
+ -Dgcrypt=false
+ -Dglib=false
+ -Dgshadow=false
+ -Dgnutls=false
+ -Dhibernate=false
+ -Dhostnamed=false
+ -Didn=false
+ -Dima=false
+ -Dinitrd=false
+ -Dfirstboot=false
+ -Dldconfig=false
+ -Dlibcryptsetup=false
+ -Dlibcurl=false
+ -Dlibfido2=false
+ -Dlibidn=false
+ -Dlibidn2=false
+ -Dlibiptc=false
+ -Dlocaled=false
+ -Dlogind=false
+ -Dlz4=false
+ -Dmachined=false
+ -Dmicrohttpd=false
+ -Dnetworkd=false
+ -Dnscd=false
+ -Dnss-myhostname=false
+ -Dnss-resolve=false
+ -Dnss-systemd=false
+ -Doomd=false
+ -Dopenssl=false
+ -Dp11kit=false
+ -Dpam=false
+ -Dpcre2=false
+ -Dpolkit=false
+ -Dportabled=false
+ -Dpstore=false
+ -Dpwquality=false
+ -Drandomseed=false
+ -Dresolve=false
+ -Drfkill=false
+ -Dseccomp=false
+ -Dsmack=false
+ -Dsysext=false
+ -Dtimedated=false
+ -Dtimesyncd=false
+ -Dtpm=false
+ -Dqrencode=false
+ -Dquotacheck=false
+ -Duserdb=false
+ -Dutmp=false
+ -Dvconsole=false
+ -Dwheel-group=false
+ -Dxdg-autostart=false
+ -Dxkbcommon=false
+ -Dxz=false
+ -Dzlib=false
+ -Dzstd=false
+ )
+
+ if use tmpfiles || use udev; then
+ emesonargs+=( $(meson_native_use_bool acl) )
+ else
+ emesonargs+=( -Dacl=false )
+ fi
+
+ if use udev; then
+ emesonargs+=( $(meson_native_use_bool kmod) )
+ else
+ emesonargs+=( -Dkmod=false )
+ fi
+
+ if use elibc_musl; then
+ # Avoid redefinition of struct ethhdr.
+ append-cppflags -D__UAPI_DEF_ETHHDR=0
+ fi
+
+ if multilib_is_native_abi || use udev; then
+ meson_src_configure
+ fi
+}
+
+efi_arch() {
+ case "$(tc-arch)" in
+ amd64) echo x64 ;;
+ arm) echo arm ;;
+ arm64) echo aa64 ;;
+ x86) echo x86 ;;
+ esac
+}
+
+multilib_src_compile() {
+ local targets=()
+ if multilib_is_native_abi; then
+ if use boot; then
+ targets+=(
+ bootctl
+ kernel-install
+ man/bootctl.1
+ man/kernel-install.8
+ src/boot/efi/linux$(efi_arch).{efi,elf}.stub
+ src/boot/efi/systemd-boot$(efi_arch).efi
+ )
+ fi
+ if use sysusers; then
+ targets+=(
+ systemd-sysusers.standalone
+ man/sysusers.d.5
+ man/systemd-sysusers.8
+ )
+ if use test; then
+ targets+=(
+ systemd-runtest.env
+ )
+ fi
+ fi
+ if use tmpfiles; then
+ targets+=(
+ systemd-tmpfiles.standalone
+ man/tmpfiles.d.5
+ man/systemd-tmpfiles.8
+ )
+ if use test; then
+ targets+=( test-tmpfiles )
+ fi
+ fi
+ if use udev; then
+ targets+=(
+ udevadm
+ systemd-hwdb
+ src/udev/ata_id
+ src/udev/cdrom_id
+ src/udev/fido_id
+ src/udev/mtd_probe
+ src/udev/scsi_id
+ src/udev/udev.pc
+ src/udev/v4l_id
+ man/udev.conf.5
+ man/systemd.link.5
+ man/hwdb.7
+ man/udev.7
+ man/systemd-hwdb.8
+ man/systemd-udevd.service.8
+ man/udevadm.8
+ hwdb.d/60-autosuspend-chromiumos.hwdb
+ rules.d/50-udev-default.rules
+ rules.d/64-btrfs.rules
+ )
+ if use test; then
+ targets+=(
+ # Used by udev-test.pl
+ systemd-detect-virt
+ test/sys
+ test-udev
+
+ test-fido-id-desc
+ test-udev-builtin
+ test-udev-event
+ test-udev-netlink
+ test-udev-node
+ test-udev-util
+ )
+ fi
+ fi
+ fi
+ if use udev; then
+ targets+=(
+ udev:shared_library
+ src/libudev/libudev.pc
+ )
+ if use test; then
+ targets+=(
+ test-libudev
+ test-libudev-sym
+ test-udev-device-thread
+ )
+ fi
+ fi
+ if multilib_is_native_abi || use udev; then
+ meson_src_compile "${targets[@]}"
+ fi
+}
+
+multilib_src_test() {
+ local tests=()
+ if multilib_is_native_abi; then
+ if use sysusers; then
+ tests+=(
+ test-sysusers.standalone
+ )
+ fi
+ if use tmpfiles; then
+ tests+=(
+ test-systemd-tmpfiles.standalone
+ test-tmpfiles
+ )
+ fi
+ if use udev; then
+ tests+=(
+ rule-syntax-check
+ test-fido-id-desc
+ test-udev-builtin
+ test-udev-event
+ test-udev-netlink
+ test-udev-node
+ test-udev-util
+ )
+ if [[ -w /dev ]]; then
+ tests+=( udev-test )
+ else
+ ewarn "Skipping udev-test (needs write access to /dev)"
+ fi
+ fi
+ fi
+ if use udev; then
+ tests+=(
+ test-libudev
+ test-libudev-sym
+ test-udev-device-thread
+ )
+ fi
+ if [[ ${#tests[@]} -ne 0 ]]; then
+ meson_src_test "${tests[@]}"
+ fi
+}
+
+src_install() {
+ local rootprefix="$(usex split-usr '' /usr)"
+ meson-multilib_src_install
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ if use boot; then
+ into /usr
+ dobin bootctl kernel-install
+ doman man/{bootctl.1,kernel-install.8}
+ insinto usr/lib/systemd/boot/efi
+ doins src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi}
+ fi
+ if use sysusers; then
+ into "${rootprefix:-/}"
+ newbin systemd-sysusers{.standalone,}
+ doman man/{systemd-sysusers.8,sysusers.d.5}
+ fi
+ if use tmpfiles; then
+ into "${rootprefix:-/}"
+ newbin systemd-tmpfiles{.standalone,}
+ doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
+ fi
+ if use udev; then
+ into "${rootprefix:-/}"
+ dobin udevadm systemd-hwdb
+ dosym ../../bin/udevadm "${rootprefix}"/lib/systemd/systemd-udevd
+
+ exeinto "${rootprefix}"/lib/udev
+ doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
+
+ insinto "${rootprefix}"/lib/udev/rules.d
+ doins rules.d/*.rules
+
+ insinto "${rootprefix}"/lib/udev/hwdb.d
+ doins hwdb.d/*.hwdb
+
+ insinto /usr/share/pkgconfig
+ doins src/udev/udev.pc
+
+ doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8}
+ newman man/systemd-udevd.service.8 systemd-udevd.8
+ fi
+ fi
+ if use udev; then
+ meson_install --no-rebuild --tags libudev
+ gen_usr_ldscript -a udev
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ doins src/libudev/libudev.pc
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ if use boot; then
+ into /usr
+ exeinto usr/lib/kernel/install.d
+ doexe src/kernel-install/*.install
+ dobashcomp shell-completion/bash/bootctl
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/{_bootctl,_kernel-install}
+ fi
+ if use tmpfiles; then
+ doinitd "${FILESDIR}"/systemd-tmpfiles-setup
+ doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
+ exeinto /etc/cron.daily
+ doexe "${FILESDIR}"/systemd-tmpfiles-clean
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/_systemd-tmpfiles
+ fi
+ if use udev; then
+ doheader src/libudev/libudev.h
+
+ insinto /etc/udev
+ doins src/udev/udev.conf
+ keepdir /etc/udev/{hwdb.d,rules.d}
+
+ insinto "${rootprefix}"/lib/systemd/network
+ doins network/99-default.link
+
+ # Remove to avoid conflict with elogind
+ # https://bugs.gentoo.org/856433
+ rm rules.d/70-power-switch.rules || die
+ insinto "${rootprefix}"/lib/udev/rules.d
+ doins rules.d/*.rules
+ doins "${FILESDIR}"/40-gentoo.rules
+
+ insinto "${rootprefix}"/lib/udev/hwdb.d
+ doins hwdb.d/*.hwdb
+
+ dobashcomp shell-completion/bash/udevadm
+
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/_udevadm
+ fi
+}
+
+add_service() {
+ local initd=$1
+ local runlevel=$2
+
+ ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
+ mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
+ ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
+ eend $?
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ add_service systemd-tmpfiles-setup-dev sysinit
+ add_service systemd-tmpfiles-setup boot
+ fi
+ if use udev; then
+ ebegin "Updating hwdb"
+ systemd-hwdb --root="${ROOT}" update
+ eend $?
+ udev_reload
+ fi
+}
diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest
index 03d0362545c4..f54714c1ff4e 100644
--- a/sys-apps/systemd/Manifest
+++ b/sys-apps/systemd/Manifest
@@ -7,8 +7,10 @@ AUX gentoo-systemctl-disable-sysv-sync-r1.patch 821 BLAKE2B f5ef796725e023bb1ed8
AUX nsswitch.conf 734 BLAKE2B 5f5a7821a84f6c8aa31fe9a68c29a1a0f24be578d427a623f14a9ef795e7da481f226efe5511d92932b5edf5638fa719808a0c3a0b8fd340799dd6bcb703a0a1 SHA512 dcbd51dacaaebdff32edb3840cc7b9b47b6521009b8786690e3673a2e78bc60bfd8e591b1048c5d452117c6659b9917ae2864462f5057cc39b704b0130522e60
AUX systemd-user.pam 122 BLAKE2B cccc07cab47dfc0481438e503c34fa1a0b2c6b1f8ab282197719a523421d2a526f19230bb459e0347cbeb2046e35a407c78178a3fb5b79619e987cbc4ac7d5e4 SHA512 c5437677ff00fbb45798fe594e8d61b1c2bfc2d103105d7bd82e476240452477ac263700800f5d0ba91ddc895eb85f4517d5cb15c80611ec1680a686d47cd781
DIST systemd-stable-251.8.tar.gz 11457551 BLAKE2B d4ca799a5b22164362fa8948bbec95215d6ebc04380f13f755916c4bfd4e1cc43a82177c21d2c56aa9d8440b44872b773f21682fc127c7f6d2b3542661c27d80 SHA512 c337fad3cf2beef11401850ddd6418efef035d4ec6405049084302738042f77ac1f8bfd7eb3611668a13038878389c9617e63278ec0b37782b3e0242e69c4843
+DIST systemd-stable-251.9.tar.gz 11461131 BLAKE2B ba8fa2d70cc992ded3d1aa354e36d9815c6ae87a6f438f8879771e9e5ae9f7d10591956cf8c617ba0c5c13fdc229bc23a7ea173aa9849bfdf6476cc0721d62be SHA512 27df2076445a826911274101286a3555528ebd0894a5c32f2dea71a075b5fcde3931f4d04f5726c5b39d482357939d2fbd2b52ac9a894b6853f48833984f4c17
DIST systemd-stable-252.3.tar.gz 11750469 BLAKE2B 855ca884d8e843605f8b467e8453ccdadf0c17e45f4511f2ba25decd5a46429ca5d765346bd5a2ec345cb62d425c8961306cc91f179566f2ff64d043ada3fdfb SHA512 fd7594f0cb232996fda33f14a09565b4c315db8969579512f39a3f96734fc0841a1c6a83c3668103b70d108f73ffc11e7465bf5867d1ff313d0e428d4a6e2134
EBUILD systemd-251.8.ebuild 15112 BLAKE2B 635842b3738399e3396f468f264464b3429b0893c5e20d56738c616423b6c5d3e958738a6b6ae27c99753983e06f6e13156cb80b7152ba3756760bd4aa4c5bc2 SHA512 41608cc213cc0f2ffb781274c45750389c2f034ce1c83f714b157904d4630638bd804ab302abe9266e48d5145b4895c8c385f6ec706ed0b23a1c3136ec2bb9c5
+EBUILD systemd-251.9.ebuild 15120 BLAKE2B a404f680f9b7eff301418a907f68a7f22d0034577bbf05b809253fa61a442ada0fcd448d5ecb94c2da55a7e9d7b18d85919786ef04536ebc028cd9e0eb6b641a SHA512 c68a4dbaa013ff91196115cbb668e9cd4079ed029ee002511f7da04154ea930a56aa7bc280f144b4b601e9f9dd75588b5c9c63cd76d6a875e7ba5debd99aefb6
EBUILD systemd-252.3.ebuild 15071 BLAKE2B 44c5a6bc034d0ae2c155ebdf2bf0b9d9ebe8f18d9d622a4e674a0b5c0c6151a2652d81b5edc17c00910f1e74dbf598f8691854f617c314311d01f90d46644abb SHA512 a072edd9753935be12099565db628e79fde0ed6a33830ce4e31e4ba7e827f824368e1dc50a90895e9a6d436fa72910a54f3b8787c3bee2d7e8a42092f7132bac
EBUILD systemd-9999.ebuild 15071 BLAKE2B 44c5a6bc034d0ae2c155ebdf2bf0b9d9ebe8f18d9d622a4e674a0b5c0c6151a2652d81b5edc17c00910f1e74dbf598f8691854f617c314311d01f90d46644abb SHA512 a072edd9753935be12099565db628e79fde0ed6a33830ce4e31e4ba7e827f824368e1dc50a90895e9a6d436fa72910a54f3b8787c3bee2d7e8a42092f7132bac
MISC metadata.xml 2545 BLAKE2B fc424b7f9e471860cba69b6f11ea2094c70f125cd55c42ea77e4549a399680c4444119c79424c266828a284b0214001421f760477b1341844dddd2d474d70c33 SHA512 f0b8c4614e3c88d123916bb3399d6025ab30ff839849b136a29e1960bf0c50699b3f09b5307f40b77cc8c5566c20b11de2364a08311adceb15507df3e4bb0565
diff --git a/sys-apps/systemd/systemd-251.9.ebuild b/sys-apps/systemd/systemd-251.9.ebuild
new file mode 100644
index 000000000000..f529ba8b84df
--- /dev/null
+++ b/sys-apps/systemd/systemd-251.9.ebuild
@@ -0,0 +1,521 @@
+# Copyright 2011-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{8..11} )
+
+# Avoid QA warnings
+TMPFILES_OPTIONAL=1
+UDEV_OPTIONAL=1
+
+QA_PKGCONFIG_VERSION=$(ver_cut 1)
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/systemd/systemd.git"
+ inherit git-r3
+else
+ if [[ ${PV} == *.* ]]; then
+ MY_PN=systemd-stable
+ else
+ MY_PN=systemd
+ fi
+ MY_PV=${PV/_/-}
+ MY_P=${MY_PN}-${MY_PV}
+ S=${WORKDIR}/${MY_P}
+ SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+inherit bash-completion-r1 flag-o-matic linux-info meson-multilib pam
+inherit python-any-r1 systemd toolchain-funcs udev usr-ldscript
+
+DESCRIPTION="System and service manager for Linux"
+HOMEPAGE="http://systemd.io/"
+
+LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0/2"
+IUSE="
+ acl apparmor audit cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
+ fido2 +gcrypt gnuefi gnutls homed http idn importd iptables +kmod
+ +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
+ +resolvconf +seccomp selinux split-usr +sysv-utils test tpm vanilla xkb +zstd
+"
+REQUIRED_USE="
+ dns-over-tls? ( || ( gnutls openssl ) )
+ homed? ( cryptsetup pam openssl )
+ importd? ( curl lzma || ( gcrypt openssl ) )
+ pwquality? ( homed )
+"
+RESTRICT="!test? ( test )"
+
+MINKV="4.15"
+
+COMMON_DEPEND="
+ >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
+ sys-libs/libcap:0=[${MULTILIB_USEDEP}]
+ virtual/libcrypt:=[${MULTILIB_USEDEP}]
+ acl? ( sys-apps/acl:0= )
+ apparmor? ( sys-libs/libapparmor:0= )
+ audit? ( >=sys-process/audit-2:0= )
+ cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
+ curl? ( net-misc/curl:0= )
+ elfutils? ( >=dev-libs/elfutils-0.158:0= )
+ fido2? ( dev-libs/libfido2:0= )
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
+ gnutls? ( >=net-libs/gnutls-3.6.0:0= )
+ http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] )
+ idn? ( net-dns/libidn2:= )
+ importd? (
+ app-arch/bzip2:0=
+ sys-libs/zlib:0=
+ )
+ kmod? ( >=sys-apps/kmod-15:0= )
+ lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] )
+ iptables? ( net-firewall/iptables:0= )
+ openssl? ( >=dev-libs/openssl-1.1.0:0= )
+ pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] )
+ pkcs11? ( app-crypt/p11-kit:0= )
+ pcre? ( dev-libs/libpcre2 )
+ pwquality? ( dev-libs/libpwquality:0= )
+ qrcode? ( media-gfx/qrencode:0= )
+ seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
+ selinux? ( sys-libs/libselinux:0= )
+ tpm? ( app-crypt/tpm2-tss:0= )
+ xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= )
+ zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] )
+"
+
+# Newer linux-headers needed by ia64, bug #480218
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-${MINKV}
+ gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
+"
+
+# baselayout-2.2 has /run
+RDEPEND="${COMMON_DEPEND}
+ >=acct-group/adm-0-r1
+ >=acct-group/wheel-0-r1
+ >=acct-group/kmem-0-r1
+ >=acct-group/tty-0-r1
+ >=acct-group/utmp-0-r1
+ >=acct-group/audio-0-r1
+ >=acct-group/cdrom-0-r1
+ >=acct-group/dialout-0-r1
+ >=acct-group/disk-0-r1
+ >=acct-group/input-0-r1
+ >=acct-group/kvm-0-r1
+ >=acct-group/lp-0-r1
+ >=acct-group/render-0-r1
+ acct-group/sgx
+ >=acct-group/tape-0-r1
+ acct-group/users
+ >=acct-group/video-0-r1
+ >=acct-group/systemd-journal-0-r1
+ >=acct-user/root-0-r1
+ acct-user/nobody
+ >=acct-user/systemd-journal-remote-0-r1
+ >=acct-user/systemd-coredump-0-r1
+ >=acct-user/systemd-network-0-r1
+ acct-user/systemd-oom
+ >=acct-user/systemd-resolve-0-r1
+ >=acct-user/systemd-timesync-0-r1
+ >=sys-apps/baselayout-2.2
+ selinux? (
+ sec-policy/selinux-base-policy[systemd]
+ sec-policy/selinux-ntp
+ )
+ sysv-utils? (
+ !sys-apps/openrc[sysv-utils(-)]
+ !sys-apps/sysvinit
+ )
+ !sysv-utils? ( sys-apps/sysvinit )
+ resolvconf? ( !net-dns/openresolv )
+ !sys-apps/hwids[udev]
+ !sys-auth/nss-myhostname
+ !sys-fs/eudev
+ !sys-fs/udev
+"
+
+# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
+PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
+ >=sys-fs/udev-init-scripts-34
+ policykit? ( sys-auth/polkit )
+ !vanilla? ( sys-apps/gentoo-systemd-integration )"
+
+BDEPEND="
+ app-arch/xz-utils:0
+ dev-util/gperf
+ >=dev-util/meson-0.46
+ >=sys-apps/coreutils-8.16
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? (
+ app-text/tree
+ dev-lang/perl
+ sys-apps/dbus
+ )
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt:0
+ $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
+"
+
+python_check_deps() {
+ python_has_version "dev-python/jinja[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/lxml[${PYTHON_USEDEP}]"
+}
+
+QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
+QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != buildonly ]]; then
+ if use test && has pid-sandbox ${FEATURES}; then
+ ewarn "Tests are known to fail with PID sandboxing enabled."
+ ewarn "See https://bugs.gentoo.org/674458."
+ fi
+
+ local CONFIG_CHECK=" ~BINFMT_MISC ~BLK_DEV_BSG ~CGROUPS
+ ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE
+ ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS
+ ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS
+ ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH
+ ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED
+ ~!SYSFS_DEPRECATED_V2"
+
+ use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
+ use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER"
+
+ if kernel_is -ge 5 10 20; then
+ CONFIG_CHECK+=" ~KCMP"
+ else
+ CONFIG_CHECK+=" ~CHECKPOINT_RESTORE"
+ fi
+
+ if kernel_is -ge 4 18; then
+ CONFIG_CHECK+=" ~AUTOFS_FS"
+ else
+ CONFIG_CHECK+=" ~AUTOFS4_FS"
+ fi
+
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ if linux_chkconfig_present X86; then
+ CONFIG_CHECK+=" ~DMIID"
+ fi
+ fi
+
+ if kernel_is -lt ${MINKV//./ }; then
+ ewarn "Kernel version at least ${MINKV} required"
+ fi
+
+ check_extra_config
+ fi
+}
+
+pkg_setup() {
+ :
+}
+
+src_unpack() {
+ default
+ [[ ${PV} != 9999 ]] || git-r3_src_unpack
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/251-gpt-auto-no-cryptsetup.patch"
+ )
+
+ if ! use vanilla; then
+ PATCHES+=(
+ "${FILESDIR}/gentoo-generator-path-r2.patch"
+ "${FILESDIR}/gentoo-systemctl-disable-sysv-sync-r1.patch"
+ "${FILESDIR}/gentoo-journald-audit.patch"
+ )
+ fi
+
+ # Fails with split-usr.
+ sed -i -e '2i exit 77' test/test-rpm-macros.sh || die
+
+ default
+}
+
+src_configure() {
+ # Prevent conflicts with i686 cross toolchain, bug 559726
+ tc-export AR CC NM OBJCOPY RANLIB
+
+ # Broken with FORTIFY_SOURCE=3: bug #841770.
+ #
+ # Our toolchain sets F_S=2 by default w/ >= -O2, so we need
+ # to unset F_S first, then explicitly set 2, to negate any default
+ # and anything set by the user if they're choosing 3 (or if they've
+ # modified GCC to set 3).
+ #
+ if is-flagq '-O[23]' || is-flagq '-Ofast' ; then
+ # We can't unconditionally do this b/c we fortify needs
+ # some level of optimisation.
+ filter-flags -D_FORTIFY_SOURCE=3
+ append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
+ fi
+
+ python_setup
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --localstatedir="${EPREFIX}/var"
+ -Dsupport-url="https://gentoo.org/support/"
+ -Dpamlibdir="$(getpam_mod_dir)"
+ # avoid bash-completion dep
+ -Dbashcompletiondir="$(get_bashcompdir)"
+ $(meson_use split-usr)
+ $(meson_use split-usr split-bin)
+ -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
+ -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
+ # Avoid infinite exec recursion, bug 642724
+ -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit"
+ # no deps
+ -Dima=true
+ -Ddefault-hierarchy=$(usex cgroup-hybrid hybrid unified)
+ # Optional components/dependencies
+ $(meson_native_use_bool acl)
+ $(meson_native_use_bool apparmor)
+ $(meson_native_use_bool audit)
+ $(meson_native_use_bool cryptsetup libcryptsetup)
+ $(meson_native_use_bool curl libcurl)
+ $(meson_native_use_bool dns-over-tls dns-over-tls)
+ $(meson_native_use_bool elfutils)
+ $(meson_native_use_bool fido2 libfido2)
+ $(meson_use gcrypt)
+ $(meson_native_use_bool gnuefi gnu-efi)
+ $(meson_native_use_bool gnutls)
+ -Defi-includedir="${ESYSROOT}/usr/include/efi"
+ -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
+ $(meson_native_use_bool homed)
+ $(meson_native_use_bool http microhttpd)
+ $(meson_native_use_bool idn)
+ $(meson_native_use_bool importd)
+ $(meson_native_use_bool importd bzip2)
+ $(meson_native_use_bool importd zlib)
+ $(meson_native_use_bool kmod)
+ $(meson_use lz4)
+ $(meson_use lzma xz)
+ $(meson_use zstd)
+ $(meson_native_use_bool iptables libiptc)
+ $(meson_native_use_bool openssl)
+ $(meson_use pam)
+ $(meson_native_use_bool pkcs11 p11kit)
+ $(meson_native_use_bool pcre pcre2)
+ $(meson_native_use_bool policykit polkit)
+ $(meson_native_use_bool pwquality)
+ $(meson_native_use_bool qrcode qrencode)
+ $(meson_native_use_bool seccomp)
+ $(meson_native_use_bool selinux)
+ $(meson_native_use_bool tpm tpm2)
+ $(meson_native_use_bool test dbus)
+ $(meson_native_use_bool xkb xkbcommon)
+ -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
+ # Breaks screen, tmux, etc.
+ -Ddefault-kill-user-processes=false
+ -Dcreate-log-dirs=false
+
+ # multilib options
+ $(meson_native_true backlight)
+ $(meson_native_true binfmt)
+ $(meson_native_true coredump)
+ $(meson_native_true environment-d)
+ $(meson_native_true firstboot)
+ $(meson_native_true hibernate)
+ $(meson_native_true hostnamed)
+ $(meson_native_true ldconfig)
+ $(meson_native_true localed)
+ $(meson_native_true man)
+ $(meson_native_true networkd)
+ $(meson_native_true quotacheck)
+ $(meson_native_true randomseed)
+ $(meson_native_true rfkill)
+ $(meson_native_true sysusers)
+ $(meson_native_true timedated)
+ $(meson_native_true timesyncd)
+ $(meson_native_true tmpfiles)
+ $(meson_native_true vconsole)
+ )
+
+ meson_src_configure "${myconf[@]}"
+}
+
+multilib_src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
+ meson_src_test
+}
+
+multilib_src_install_all() {
+ local rootprefix=$(usex split-usr '' /usr)
+ local sbin=$(usex split-usr sbin bin)
+
+ # meson doesn't know about docdir
+ mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
+
+ einstalldocs
+ dodoc "${FILESDIR}"/nsswitch.conf
+
+ if ! use resolvconf; then
+ rm -f "${ED}${rootprefix}/${sbin}"/resolvconf || die
+ fi
+
+ rm "${ED}"/etc/init.d/README || die
+ rm "${ED}${rootprefix}"/lib/systemd/system-generators/systemd-sysv-generator || die
+
+ if ! use sysv-utils; then
+ rm "${ED}${rootprefix}/${sbin}"/{halt,init,poweroff,reboot,runlevel,shutdown,telinit} || die
+ rm "${ED}"/usr/share/man/man1/init.1 || die
+ rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 || die
+ fi
+
+ if ! use resolvconf && ! use sysv-utils && use split-usr; then
+ rmdir "${ED}${rootprefix}"/sbin || die
+ fi
+
+ # https://bugs.gentoo.org/761763
+ rm -r "${ED}"/usr/lib/sysusers.d || die
+
+ # Preserve empty dirs in /etc & /var, bug #437008
+ keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d}
+ keepdir /etc/kernel/install.d
+ keepdir /etc/systemd/{network,system,user}
+ keepdir /etc/udev/rules.d
+
+ keepdir /etc/udev/hwdb.d
+
+ keepdir "${rootprefix}"/lib/systemd/{system-sleep,system-shutdown}
+ keepdir /usr/lib/{binfmt.d,modules-load.d}
+ keepdir /usr/lib/systemd/user-generators
+ keepdir /var/lib/systemd
+ keepdir /var/log/journal
+
+ # Symlink /etc/sysctl.conf for easy migration.
+ dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
+
+ if use pam; then
+ newpamd "${FILESDIR}"/systemd-user.pam systemd-user
+ fi
+
+ if use split-usr; then
+ # Avoid breaking boot/reboot
+ dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd
+ dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown
+ fi
+
+ gen_usr_ldscript -a systemd udev
+}
+
+migrate_locale() {
+ local envd_locale_def="${EROOT}/etc/env.d/02locale"
+ local envd_locale=( "${EROOT}"/etc/env.d/??locale )
+ local locale_conf="${EROOT}/etc/locale.conf"
+
+ if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then
+ # If locale.conf does not exist...
+ if [[ -e ${envd_locale} ]]; then
+ # ...either copy env.d/??locale if there's one
+ ebegin "Moving ${envd_locale} to ${locale_conf}"
+ mv "${envd_locale}" "${locale_conf}"
+ eend ${?} || FAIL=1
+ else
+ # ...or create a dummy default
+ ebegin "Creating ${locale_conf}"
+ cat > "${locale_conf}" <<-EOF
+ # This file has been created by the sys-apps/systemd ebuild.
+ # See locale.conf(5) and localectl(1).
+
+ # LANG=${LANG}
+ EOF
+ eend ${?} || FAIL=1
+ fi
+ fi
+
+ if [[ ! -L ${envd_locale} ]]; then
+ # now, if env.d/??locale is not a symlink (to locale.conf)...
+ if [[ -e ${envd_locale} ]]; then
+ # ...warn the user that he has duplicate locale settings
+ ewarn
+ ewarn "To ensure consistent behavior, you should replace ${envd_locale}"
+ ewarn "with a symlink to ${locale_conf}. Please migrate your settings"
+ ewarn "and create the symlink with the following command:"
+ ewarn "ln -s -n -f ../locale.conf ${envd_locale}"
+ ewarn
+ else
+ # ...or just create the symlink if there's nothing here
+ ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink"
+ ln -n -s ../locale.conf "${envd_locale_def}"
+ eend ${?} || FAIL=1
+ fi
+ fi
+}
+
+pkg_preinst() {
+ if ! use split-usr; then
+ local dir
+ for dir in bin sbin lib usr/sbin; do
+ if [[ ! -L ${EROOT}/${dir} ]]; then
+ eerror "'${EROOT}/${dir}' is not a symbolic link."
+ FAIL=1
+ fi
+ done
+ if [[ ${FAIL} ]]; then
+ eerror "Migration to system layout with merged directories must be performed before"
+ eerror "installing ${CATEGORY}/${PN} with USE=\"-split-usr\" to avoid run-time breakage."
+ die "System layout with split directories still used"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ systemd_update_catalog
+
+ # Keep this here in case the database format changes so it gets updated
+ # when required.
+ systemd-hwdb --root="${ROOT}" update
+
+ udev_reload || FAIL=1
+
+ # Bug 465468, make sure locales are respected, and ensure consistency
+ # between OpenRC & systemd
+ migrate_locale
+
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if type systemctl &>/dev/null; then
+ systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1
+ fi
+ elog "To enable a useful set of services, run the following:"
+ elog " systemctl preset-all --preset-mode=enable-only"
+ fi
+
+ if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then
+ rm "${EROOT}/var/lib/systemd/timesync"
+ fi
+
+ if [[ ${FAIL} ]]; then
+ eerror "One of the postinst commands failed. Please check the postinst output"
+ eerror "for errors. You may need to clean up your system and/or try installing"
+ eerror "systemd again."
+ eerror
+ fi
+}
+
+pkg_prerm() {
+ # If removing systemd completely, remove the catalog database.
+ if [[ ! ${REPLACED_BY_VERSION} ]]; then
+ rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
+ fi
+}