commit:     d665f6f8e7a49e1c6abf581ab7cb1a82c649b094
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  7 21:21:35 2026 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Feb  7 21:23:06 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d665f6f8

sys-apps/systemd-utils: add 259.1

Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 sys-apps/systemd-utils/Manifest                   |   1 +
 sys-apps/systemd-utils/systemd-utils-259.1.ebuild | 405 ++++++++++++++++++++++
 2 files changed, 406 insertions(+)

diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest
index 8ca26fd7f6cd..3a942843bab1 100644
--- a/sys-apps/systemd-utils/Manifest
+++ b/sys-apps/systemd-utils/Manifest
@@ -1,4 +1,5 @@
 DIST systemd-256.17.tar.gz 15965064 BLAKE2B 
4a0cf0d2c6fa051c8396e470c2a97d099a6144af8d8e46e8404f52bbeef0d0d41aa1da28fe5e9ede1a8335a7bf310553814ee000b7a78295396bfde0c6251f1f
 SHA512 
c0f5d82f1220c69e8dc136e796ed9594bd9357450320c077a4c36151585508dfef58e16452ee64af7c32b90861a22996e9d567d76d71c15ce2136f96194f2be2
+DIST systemd-259.1.tar.gz 17274033 BLAKE2B 
08d3b640e699ecaae9f2e2471db4547870786a5b5e2953671a0a9460b13a4d942c605942f95c144e68a04ffd6be1a72d8a084fe1f59c4d49c0ac3dc1eda55533
 SHA512 
7cbeca5dad6413a876809200583854ddc706b7a69deff958eb1ca1afb726cf4dec014006c10d1945c450b754811d4b95a80fe1778cb3136997f6d11b11c0560e
 DIST systemd-259.tar.gz 17250241 BLAKE2B 
59ba6edea59338fc30d4cf72b197e8eda2ccd4fc7d53f016c0b9bd4422433839696fe553b58dcf1f31345ec92080a426a04a2878fd97cb17b3b1e3f92f08e135
 SHA512 
ef46b13661df43e3cfbeee1bc22f0b1eb902e8ebe39c19868c465efd08b35a199c2a2cd9d8021a6bc4d692fa0c6e0eab3f13eecd6ce24dde81d3945464a25b50
 DIST systemd-musl-patches-254.3-r1.tar.gz 29971 BLAKE2B 
2568c0ce93c410177d775fedb7a67b9498d66f39bfaca220237b3b55cd42c94569d7e3bfde11a9b1faa5eac1804eb75bfdee0ee465c2faac3b8213026b97daec
 SHA512 
817c94765a70eaaa5d23454e03887e149db4612f01c29690baa0c75d61b4b328b742e5d02e8cc63c531eadcd72ae37c0a407aad37c22f1d399dbba81a6bed79d
 DIST systemd-musl-patches-255.14.tar.gz 31519 BLAKE2B 
1ada38b3536370f3f20f94abb122b6dc72e2dac6d34baad49ae0c154810197dab6d225457f81c2b78c58cf7fe14070da9ca1902bec6d8f892d55394af67155b5
 SHA512 
ff9cb11f687e7895b93b55933c330f69067546d48cc0f23a029990e095245c78e046023636f82d11fec1b03a5349d4d747c9625fd34ef7f9445a54a44b25cccb

diff --git a/sys-apps/systemd-utils/systemd-utils-259.1.ebuild 
b/sys-apps/systemd-utils/systemd-utils-259.1.ebuild
new file mode 100644
index 000000000000..19082759aa5f
--- /dev/null
+++ b/sys-apps/systemd-utils/systemd-utils-259.1.ebuild
@@ -0,0 +1,405 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{11..14} )
+QA_PKGCONFIG_VERSION=$(ver_cut 1)
+
+# Avoid QA warnings about these eclasses
+TMPFILES_OPTIONAL=1
+UDEV_OPTIONAL=1
+
+inherit linux-info meson-multilib
+inherit python-single-r1 secureboot shell-completion udev
+
+DESCRIPTION="Utilities split out from systemd for OpenRC users"
+HOMEPAGE="https://systemd.io/";
+
+MY_P="systemd-${PV}"
+SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> 
${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test 
+udev ukify"
+REQUIRED_USE="
+       || ( kernel-install tmpfiles sysusers udev )
+       boot? ( kernel-install )
+       ukify? ( boot )
+       ${PYTHON_REQUIRED_USE}
+"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+       virtual/libcrypt:=
+       selinux? ( sys-libs/libselinux:0= )
+       tmpfiles? (
+               acl? ( sys-apps/acl:0= )
+       )
+       udev? (
+               >=sys-apps/util-linux-2.30:0=
+               acl? ( sys-apps/acl:0= )
+               kmod? ( >=sys-apps/kmod-15:0= )
+       )
+"
+DEPEND="${COMMON_DEPEND}
+       >=sys-kernel/linux-headers-3.11
+"
+
+PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
+
+RDEPEND="${COMMON_DEPEND}
+       boot? ( !<sys-boot/systemd-boot-250 )
+       ukify? (
+               ${PYTHON_DEPS}
+               $(python_gen_cond_dep "${PEFILE_DEPEND}")
+       )
+       tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 )
+       udev? (
+               acct-group/audio
+               acct-group/cdrom
+               acct-group/dialout
+               acct-group/disk
+               acct-group/floppy
+               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/usb
+               acct-group/video
+               !sys-apps/gentoo-systemd-integration
+               !<sys-fs/udev-250
+               !sys-fs/eudev
+       )
+       !sys-apps/systemd
+"
+PDEPEND="
+       udev? ( >=sys-fs/udev-init-scripts-34 )
+"
+BDEPEND="
+       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
+       dev-util/patchelf
+       >=sys-apps/coreutils-8.16
+       sys-devel/gettext
+       virtual/pkgconfig
+       $(python_gen_cond_dep "
+               dev-python/jinja2[\${PYTHON_USEDEP}]
+               dev-python/lxml[\${PYTHON_USEDEP}]
+               boot? (
+                       >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}]
+                       test? ( ${PEFILE_DEPEND} )
+               )
+       ")
+"
+
+QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
+QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
+
+CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED
+       ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
+
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then
+               linux-info_pkg_setup
+       fi
+       use boot && secureboot_pkg_setup
+}
+
+src_configure() {
+       python_setup
+       meson-multilib_src_configure
+}
+
+multilib_src_configure() {
+       local emesonargs=(
+               --auto-features=disabled
+               --localstatedir="${EPREFIX}/var"
+               -Ddocdir="share/doc/${PF}"
+
+               # default is developer, bug 918671
+               -Dmode=release
+               -Dlibc=$(usex elibc_musl musl glibc)
+               -Dsysvinit-path=
+
+               $(meson_native_use_feature boot bootloader)
+               $(meson_native_use_bool kernel-install)
+               $(meson_native_enabled man)
+               $(meson_native_use_feature selinux)
+               $(meson_use split-usr split-bin)
+               $(meson_native_use_bool sysusers)
+               $(meson_use test tests)
+               $(meson_native_use_bool tmpfiles)
+               $(meson_native_use_feature udev blkid)
+               $(meson_native_use_feature udev libmount)
+               $(meson_use udev hwdb)
+               $(meson_native_use_feature ukify)
+
+               -Dadm-group=false
+               -Danalyze=false
+               -Dbacklight=false
+               -Dbinfmt=false
+               -Dcreate-log-dirs=false
+               -Dcoredump=false
+               -Ddns-over-tls=false
+               -Denvironment-d=false
+               -Dhibernate=false
+               -Dhostnamed=false
+               -Didn=false
+               -Dima=false
+               -Dinitrd=false
+               -Dipe=false
+               -Dfirstboot=false
+               -Dldconfig=false
+               -Dlocaled=false
+               -Dlogind=false
+               -Dmachined=false
+               -Dmountfsd=false
+               -Dnetworkd=false
+               -Dnsresourced=false
+               -Dnss-myhostname=false
+               -Dnss-systemd=false
+               -Doomd=false
+               -Dportabled=false
+               -Dpstore=false
+               -Dquotacheck=false
+               -Drandomseed=false
+               -Dresolve=false
+               -Drfkill=false
+               -Dsmack=false
+               -Dstoragetm=false
+               -Dsysext=false
+               -Dtimedated=false
+               -Dtimesyncd=false
+               -Dtpm=false
+               -Durlify=false
+               -Duserdb=false
+               -Dutmp=false
+               -Dvconsole=false
+               -Dwheel-group=false
+               -Dxdg-autostart=false
+               -Dxenctrl=false
+
+               -Dbashcompletiondir=no
+               -Drpmmacrosdir=no
+               -Dshellprofiledir=no
+               -Dsshconfdir=no
+               -Dsshdconfdir=no
+               -Dsshdprivsepdir=no
+               -Dzshcompletiondir=no
+       )
+
+       if use tmpfiles || use udev; then
+               emesonargs+=( $(meson_native_use_feature acl) )
+       fi
+
+       if use udev; then
+               emesonargs+=( $(meson_native_use_feature kmod) )
+       fi
+
+       meson_src_configure
+}
+
+multilib_src_compile() {
+       if multilib_is_native_abi; then
+               meson_src_compile
+       elif use udev; then
+               local targets=( libudev src/libudev/libudev.pc )
+               if use test; then
+                       targets+=( test-libudev test-libudev-sym 
test-udev-device-thread )
+               fi
+               meson_src_compile "${targets[@]}"
+       fi
+}
+
+multilib_src_test() {
+       local tests=()
+       if use udev; then
+               tests+=( --suite libudev )
+       fi
+       if multilib_is_native_abi; then
+               if use boot; then
+                       tests+=( --suite boot )
+               fi
+               if use kernel-install; then
+                       tests+=( --suite kernel-install )
+               fi
+               if use sysusers; then
+                       tests+=( --suite sysusers )
+               fi
+               if use tmpfiles; then
+                       tests+=( --suite tmpfiles )
+               fi
+               if use udev; then
+                       tests+=( --suite udev )
+               fi
+       fi
+       if [[ ${#tests[@]} -ne 0 ]]; then
+               meson_src_test --no-rebuild "${tests[@]}"
+       fi
+}
+
+installx() {
+       local dir f
+       for f in "$@"; do
+               dir="${f%/*}"
+               dir="/${dir#/}"
+               dodir "${dir}"
+               mv -v "${ed}"/${f#/} "${ED}${dir}/" || die
+       done
+}
+
+multilib_src_install() {
+       local d="${WORKDIR}/install"
+       local ed="${d}${EPREFIX}"
+
+       if use udev; then
+               meson_install --no-rebuild --tags libudev
+               insinto "/usr/$(get_libdir)/pkgconfig"
+               doins src/libudev/libudev.pc
+       fi
+
+       multilib_is_native_abi || return
+
+       meson_install --no-rebuild --destdir "${d}"
+
+       installx "usr/$(get_libdir)/systemd/libsystemd-shared-${PV%%.*}.so"
+       installx usr/share/locale
+       installx usr/lib/sysctl.d
+
+       if use boot; then
+               installx usr/bin/bootctl
+               installx usr/share/man/man1/bootctl.1
+               installx usr/lib/systemd/boot
+       fi
+
+       if use kernel-install; then
+               installx usr/bin/kernel-install
+               installx usr/share/man/man8/kernel-install.8
+               installx usr/lib/kernel
+       fi
+
+       if use sysusers; then
+               installx usr/bin/systemd-sysusers
+               installx 
usr/share/man/{man5/sysusers.d.5,man8/systemd-sysusers.8}
+       fi
+
+       if use tmpfiles; then
+               installx usr/bin/systemd-tmpfiles
+               installx 
usr/lib/tmpfiles.d/{etc,home,static-nodes-permissions,var}.conf
+               installx 
usr/share/man/{man5/tmpfiles.d.5,man8/systemd-tmpfiles.8}
+       fi
+
+       if use udev; then
+               installx etc/udev
+               installx usr/bin/systemd-hwdb
+               installx usr/bin/udevadm
+               if use split-usr; then
+                       # elogind installs udev rules that hard-code 
/bin/udevadm
+                       dosym ../usr/bin/udevadm /bin/udevadm
+               fi
+               installx usr/lib/systemd/systemd-sysctl
+               installx usr/lib/systemd/systemd-udevd
+               installx usr/lib/systemd/network/99-default.link
+               installx usr/lib/udev
+               installx usr/share/pkgconfig/udev.pc
+               installx 
usr/share/man/man5/{iocost.conf.5,systemd.link.5,udev.conf.5}
+               installx usr/share/man/man7/{hwdb.7,udev.7}
+               installx usr/share/man/man8/{systemd-hwdb.8,udevadm.8}
+               mv -v "${ed}"/usr/share/man/man8/systemd-udevd.service.8 \
+                       "${ED}"/usr/share/man/man8/systemd-udevd.8 || die
+               installx usr/share/man/man3/libudev.3 
"usr/share/man/man3/udev_*"
+       fi
+
+       if use ukify; then
+               installx usr/bin/ukify usr/lib/systemd/ukify
+               installx usr/share/man/man1/ukify.1
+       fi
+}
+
+multilib_src_install_all() {
+       einstalldocs
+
+       if use boot; then
+               dobashcomp shell-completion/bash/bootctl
+               dozshcomp shell-completion/zsh/_bootctl
+       fi
+
+       if use kernel-install; then
+               dobashcomp shell-completion/bash/kernel-install
+               dozshcomp shell-completion/zsh/_kernel-install
+
+               # Dummy config, remove to make room for sys-kernel/installkernel
+               rm "${ED}/usr/lib/kernel/install.conf" || die
+       fi
+
+       if use tmpfiles; then
+               #dobashcomp shell-completion/zsh/systemd-tmpfiles
+               dozshcomp shell-completion/zsh/_systemd-tmpfiles
+               insinto /usr/lib/tmpfiles.d
+               doins "${FILESDIR}"/{legacy,tmp}.conf
+               doinitd "${FILESDIR}"/systemd-tmpfiles-setup
+               doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
+               exeinto /etc/cron.daily
+               doexe "${FILESDIR}"/systemd-tmpfiles-clean
+       fi
+
+       if use udev; then
+               doheader src/libudev/libudev.h
+               dobashcomp shell-completion/bash/udevadm
+               dozshcomp shell-completion/zsh/_udevadm
+               # Avoid udev_dorules to avoid picking up stale udevdir from 
pkg-config
+               insinto /usr/lib/udev/rules.d
+               doins "${FILESDIR}"/40-gentoo.rules
+       fi
+
+       use ukify && python_fix_shebang "${ED}"
+       use boot && secureboot_auto_sign
+}
+
+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_preinst() {
+       # Migrate /lib/{systemd,udev} to /usr/lib
+       if use split-usr; then
+               local d
+               for d in systemd udev; do
+                       dosym ../usr/lib/${d} /lib/${d}
+                       if [[ -e ${EROOT}/lib/${d} && ! -L ${EROOT}/lib/${d} 
]]; then
+                               einfo "Copying files from '${EROOT}/lib/${d}' 
to '${EROOT}/usr/lib/${d}'"
+                               cp -rpPT "${EROOT}/lib/${d}" 
"${EROOT}/usr/lib/${d}" || die
+                               einfo "Removing '${EROOT}/lib/${d}'"
+                               rm -r "${EROOT}/lib/${d}" || die
+                       fi
+               done
+       fi
+}
+
+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
+}

Reply via email to