summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/systemd')
-rw-r--r--sys-apps/systemd/Manifest10
-rw-r--r--sys-apps/systemd/files/256-bpf-gcc.patch26
-rw-r--r--sys-apps/systemd/files/257-Revert-resolved-don-t-wait-for-TLS-close_notify-repl.patch146
-rw-r--r--sys-apps/systemd/files/257-ignore-sframe.patch26
-rw-r--r--sys-apps/systemd/systemd-256.10.ebuild573
-rw-r--r--sys-apps/systemd/systemd-256.12.ebuild572
-rw-r--r--sys-apps/systemd/systemd-256.13.ebuild572
-rw-r--r--sys-apps/systemd/systemd-256.16.ebuild572
-rw-r--r--sys-apps/systemd/systemd-256.17.ebuild572
-rw-r--r--sys-apps/systemd/systemd-257.3.ebuild570
-rw-r--r--sys-apps/systemd/systemd-257.5.ebuild571
-rw-r--r--sys-apps/systemd/systemd-257.6.ebuild571
-rw-r--r--sys-apps/systemd/systemd-257.7.ebuild572
-rw-r--r--sys-apps/systemd/systemd-257.8-r1.ebuild571
14 files changed, 0 insertions, 5924 deletions
diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest
index 7e275bcaa29e..56482468857c 100644
--- a/sys-apps/systemd/Manifest
+++ b/sys-apps/systemd/Manifest
@@ -1,12 +1,2 @@
-DIST systemd-256.10.tar.gz 15776970 BLAKE2B 84bdf681e3255c0f8071d8309abe1d12458fddd366b7aad0edea1bcf8074b48e3b594614f087407ab30c1dcd1cd69952f1c41b602927787fab5e5333bfe9f44b SHA512 4ae25a40a473984c4caefd63e69af12c8965184c1c55539086b04050a457bb0175f15adf87b3a86b476357ccb402abc72844033e40e2dc4f9abb6cc3bb65e22c
-DIST systemd-256.12.tar.gz 15865500 BLAKE2B e15fd622357c1af09b6b25230040721d73b11b62b466e95d4c8f905c648461b9341ef641caafeb9bfe63e3635f3f5f425fbff2f4208e07acffc87dbe6676293d SHA512 7c0f22e4eb562f028cbec8ddfcc7bbb7272c41b91b9578a61b95d895b746653d36a17b52b78e9297b9dd09049c72bfe6be073319a00629f263f2a9f9b1e5cba4
-DIST systemd-256.13.tar.gz 15867550 BLAKE2B 6cdd884d430c7f2c9c9250dd63885b233d64b87a3297f604881567042f45d51aea1ae341e4fd356997464e53b230b6fb6ec502b0e88f28d9d4296f4dfeef2a14 SHA512 e25b3e5bce42211918058320789ab154282ecb264803ddcb9e0fb3afbb53417eeea29dcd183b68dd758e39f28cab2e1ba3267766e589f5129e213e12f109017e
-DIST systemd-256.16.tar.gz 15874373 BLAKE2B 54baf19ecc710c264a6a0cbedfdccb1f1e422886586151292e5b9325aa79030659398fbaef370c59dda2dd0f3505f6ad8632961a2dc8e46d90172e5ee193d992 SHA512 0590b5a88cb110ce310752ac9ed9dd05e98ab8a8f9aca7ea423f5b417f73c7fea9227a9e989f725adc81fbb1e24f0cfeffa857fc8772453bbfe08be699c370b9
-DIST systemd-256.17.tar.gz 15965064 BLAKE2B 4a0cf0d2c6fa051c8396e470c2a97d099a6144af8d8e46e8404f52bbeef0d0d41aa1da28fe5e9ede1a8335a7bf310553814ee000b7a78295396bfde0c6251f1f SHA512 c0f5d82f1220c69e8dc136e796ed9594bd9357450320c077a4c36151585508dfef58e16452ee64af7c32b90861a22996e9d567d76d71c15ce2136f96194f2be2
-DIST systemd-257.3.tar.gz 16227011 BLAKE2B 06faa84890106c370c066bfcdf1075d8f1c77d4aa2d24997e5d1ee51b7169199413a08fc52f0935c9340d9adf6933d9c952ee51d6a71f73dcbafdbf972d15d59 SHA512 ef395998df4b24537147fa3b2e3ae2d100d3345f386fc39018bca0fe8092b7874bf9a6e6058a142342b3a0caebe1312ea9519bcbb4327a9d3649f593c49b3dab
-DIST systemd-257.5.tar.gz 16232112 BLAKE2B 142baef9b09217ea117ac09923604f7520a36d4c63cf04a78d1c4fbf7b057b977f5c77418168c0308a8dc6b48ccc6324438f30c87de8642e8e9cf12b47f90475 SHA512 9e5352c20c9edac53f302a534532035185139998628ed0a85411f440df47f1dd7cce6651aec787484809bb1aa2825008d062714c37936cbfd08451fbe29a998f
-DIST systemd-257.6.tar.gz 16321562 BLAKE2B cdd3bad6d2721bd7a7cc85bfd430db46ed44d6d9b1b6b3fc25ec9c23a431087ce8cb3d5d5e5d707c1338c1684ba968675ee91b52f64d2bb07c938b0d210a2bad SHA512 ceed65196d4235f53db00f5970eadff79149629d8c34f79593d0b326ece536ea0b4f97192458989b5fccbd9438bb2dbb0abda2a5e6c3449a709c9a0889e29d3d
-DIST systemd-257.7.tar.gz 16327096 BLAKE2B 59a28ce9b355b98f718f26489400640f3d732bbf73c00ea0571302dfc6dfb3585bf07ec56af06d74c5aa033b06a6220c3c839af6dba5ab7f8bde1aef4b58f0f6 SHA512 fdc7c0153432b261ad8018c869dc714ce1d6d2a8428bdec46f7c5f120b196d3a553a375ae433f0c166c57b6e8b3c56549f585349b7b6ff83c2a86a32982d8411
-DIST systemd-257.8.tar.gz 16385060 BLAKE2B c220bbb1ca3c6c411500bf3fd696e9a7f87de4061bb317f0f90a2719a48cbb2ae21a682e50fa16979c41560ee11f79698135fac4f494bf772c7b0a0bfcd0d8e7 SHA512 30331df5eb7a1556da8c017a0e6c07b8b99f0cb31da055c1b86c9b9e6fd7074f7c6746efa3e69711b73af48a15d61a84f35ad6e554d32a23441ba910398f7f65
DIST systemd-257.9.tar.gz 16401765 BLAKE2B c3ad528d37b89de8f82548807e950b59aab43f875a533ad983169eb539594e5e8230b6b562caee5297dcec4572e27df0e53ebee04f79e85f429f47862031592e SHA512 23b3d2764e0f990d8373068ccb41177793413bc193f7bd34e38b03d6fc3cd32d07c86e9dcbf07e32904075bb5eeca208f65beab04d628ac0e0b81ba87a975c1b
DIST systemd-258.tar.gz 16976853 BLAKE2B c63bc09bff11ba4cf6e87bef689250a6b354bf8f5bfb5af6d2a173fa1e1838aa457a8a7db66f7aad20dae25b7a0defddcb052d53f18a688a2dd6d5f323d4692a SHA512 c488354da1c170ad02e10926f561d1985c3c3393fec878562f295ef764fdf3a1b2877c3b2549253f19bf23e357be6e443a50b937f60f4677f286d3402d611b85
diff --git a/sys-apps/systemd/files/256-bpf-gcc.patch b/sys-apps/systemd/files/256-bpf-gcc.patch
deleted file mode 100644
index 0570695d397c..000000000000
--- a/sys-apps/systemd/files/256-bpf-gcc.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://github.com/systemd/systemd/commit/dde6f1d7456db7aa72d24b1d6956b419b6f9945c
-
-From dde6f1d7456db7aa72d24b1d6956b419b6f9945c Mon Sep 17 00:00:00 2001
-From: Sam James <[email protected]>
-Date: Sat, 24 Aug 2024 13:09:47 +0100
-Subject: [PATCH] meson: search for 'bpf-unknown-none' too
-
-We currently search for 'bpf-gcc' and 'bpf-none-gcc'. Gentoo's
-sys-devel/bpf-toolchain package uses 'bpf-unknown-none-gcc', as does Fedora's
-cross-binutils. Search for this name too.
----
- meson.build | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/meson.build b/meson.build
-index 5e0b666c64b17..fbc2bbdf2f22f 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1109,6 +1109,7 @@ else
- elif bpf_compiler == 'gcc'
- bpf_gcc = find_program('bpf-gcc',
- 'bpf-none-gcc',
-+ 'bpf-unknown-none-gcc',
- required : true,
- version : '>= 13.1.0')
- bpf_gcc_found = bpf_gcc.found()
diff --git a/sys-apps/systemd/files/257-Revert-resolved-don-t-wait-for-TLS-close_notify-repl.patch b/sys-apps/systemd/files/257-Revert-resolved-don-t-wait-for-TLS-close_notify-repl.patch
deleted file mode 100644
index f61e0e653ef8..000000000000
--- a/sys-apps/systemd/files/257-Revert-resolved-don-t-wait-for-TLS-close_notify-repl.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From 5917c6780f2c7852fdcf08ae48fb3966acb34428 Mon Sep 17 00:00:00 2001
-Message-ID: <5917c6780f2c7852fdcf08ae48fb3966acb34428.1754534163.git.sam@gentoo.org>
-From: Sam James <[email protected]>
-Date: Thu, 7 Aug 2025 03:35:47 +0100
-Subject: [PATCH] Revert "resolved: don't wait for TLS close_notify replies
- unnecessarily"
-
-Bug: https://github.com/systemd/systemd/issues/38509
-This reverts commit 12a455db368340733ac9a701d9a5864b612d3408.
---- a/src/resolve/resolved-dnstls-openssl.c
-+++ b/src/resolve/resolved-dnstls-openssl.c
-@@ -159,39 +159,42 @@ int dnstls_stream_on_io(DnsStream *stream, uint32_t revents) {
- }
-
- if (stream->dnstls_data.shutdown) {
-- /* NB: when a shutdown is initiated by us we'll wait until the close_notify TLS message is
-- * sent out, but we'll not wait for the reply to it, to minimize dependencies on slow
-- * servers */
--
- ERR_clear_error();
- r = SSL_shutdown(stream->dnstls_data.ssl);
-- if (r < 0) {
-+ if (r == 0) {
-+ stream->dnstls_events = 0;
-+
-+ r = dnstls_flush_write_buffer(stream);
-+ if (r < 0)
-+ return r;
-+
-+ return -EAGAIN;
-+ } else if (r < 0) {
- error = SSL_get_error(stream->dnstls_data.ssl, r);
-- if (error == SSL_ERROR_WANT_READ)
-- stream->dnstls_events = EPOLLIN;
-- else if (error == SSL_ERROR_WANT_WRITE)
-- stream->dnstls_events = EPOLLOUT;
-- else if (error == SSL_ERROR_SYSCALL) {
-- if (errno != 0)
-- log_debug_errno(errno, "Failed to invoke SSL_shutdown(), ignoring: %m");
-- else
-- log_debug("Failed to invoke SSL_shutdown(), ignoring (unknown system error).");
-+ if (IN_SET(error, SSL_ERROR_WANT_READ, SSL_ERROR_WANT_WRITE)) {
-+ stream->dnstls_events = error == SSL_ERROR_WANT_READ ? EPOLLIN : EPOLLOUT;
-+
-+ r = dnstls_flush_write_buffer(stream);
-+ if (r < 0)
-+ return r;
-+
-+ return -EAGAIN;
-+ } else if (error == SSL_ERROR_SYSCALL) {
-+ if (errno > 0)
-+ log_debug_errno(errno, "Failed to invoke SSL_shutdown, ignoring: %m");
- } else
-- log_debug("Failed to invoke SSL_shutdown(), ignoring: %s", DNSTLS_ERROR_STRING(error));
-- } else
-- stream->dnstls_events = 0;
-+ log_debug("Failed to invoke SSL_shutdown, ignoring: %s", DNSTLS_ERROR_STRING(error));
-+ }
-+
-+ stream->dnstls_events = 0;
-+ stream->dnstls_data.shutdown = false;
-
- r = dnstls_flush_write_buffer(stream);
- if (r < 0)
- return r;
-
-- /* All data written? Then we are done, release the stream */
--
-- stream->dnstls_data.shutdown = false;
- dns_stream_unref(stream);
--
- return DNSTLS_STREAM_CLOSED;
--
- } else if (stream->dnstls_data.handshake <= 0) {
- ERR_clear_error();
- stream->dnstls_data.handshake = SSL_do_handshake(stream->dnstls_data.ssl);
-@@ -238,35 +241,45 @@ int dnstls_stream_shutdown(DnsStream *stream, int error) {
- }
-
- if (error == ETIMEDOUT) {
-- /* Initiate a shutdown from our side, and remember so. Pin the stream until that's complete. */
-- if (!stream->dnstls_data.shutdown) {
-- stream->dnstls_data.shutdown = true;
-- dns_stream_ref(stream);
-- }
--
- ERR_clear_error();
- r = SSL_shutdown(stream->dnstls_data.ssl);
-- if (r < 0) {
-+ if (r == 0) {
-+ if (!stream->dnstls_data.shutdown) {
-+ stream->dnstls_data.shutdown = true;
-+ dns_stream_ref(stream);
-+ }
-+
-+ stream->dnstls_events = 0;
-+
-+ r = dnstls_flush_write_buffer(stream);
-+ if (r < 0)
-+ return r;
-+
-+ return -EAGAIN;
-+ } else if (r < 0) {
- ssl_error = SSL_get_error(stream->dnstls_data.ssl, r);
-- if (ssl_error == SSL_ERROR_WANT_READ)
-- stream->dnstls_events = EPOLLIN;
-- else if (ssl_error == SSL_ERROR_WANT_WRITE)
-- stream->dnstls_events = EPOLLOUT;
-- else if (ssl_error == SSL_ERROR_SYSCALL) {
-- if (errno != 0)
-- log_debug_errno(errno, "Failed to invoke SSL_shutdown(), ignoring: %m");
-- else
-- log_debug("Failed to invoke SSL_shutdown(), ignoring (unknown system error).");
-+ if (IN_SET(ssl_error, SSL_ERROR_WANT_READ, SSL_ERROR_WANT_WRITE)) {
-+ stream->dnstls_events = ssl_error == SSL_ERROR_WANT_READ ? EPOLLIN : EPOLLOUT;
-+ r = dnstls_flush_write_buffer(stream);
-+ if (r < 0 && r != -EAGAIN)
-+ return r;
-+
-+ if (!stream->dnstls_data.shutdown) {
-+ stream->dnstls_data.shutdown = true;
-+ dns_stream_ref(stream);
-+ }
-+ return -EAGAIN;
-+ } else if (ssl_error == SSL_ERROR_SYSCALL) {
-+ if (errno > 0)
-+ log_debug_errno(errno, "Failed to invoke SSL_shutdown, ignoring: %m");
- } else
-- log_debug("Failed to invoke SSL_shutdown(), ignoring: %s", DNSTLS_ERROR_STRING(error));
-- } else
-- stream->dnstls_events = 0;
-+ log_debug("Failed to invoke SSL_shutdown, ignoring: %s", DNSTLS_ERROR_STRING(ssl_error));
-+ }
-
-+ stream->dnstls_events = 0;
- r = dnstls_flush_write_buffer(stream);
- if (r < 0)
- return r;
--
-- /* dnstls_stream_on_io() will complete the shutdown for us */
- }
-
- return 0;
---
-2.50.1
-
diff --git a/sys-apps/systemd/files/257-ignore-sframe.patch b/sys-apps/systemd/files/257-ignore-sframe.patch
deleted file mode 100644
index 44314569eaa3..000000000000
--- a/sys-apps/systemd/files/257-ignore-sframe.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://github.com/systemd/systemd/commit/e65455feade65c798fd1742220768eba7f81755b
-
-From e65455feade65c798fd1742220768eba7f81755b Mon Sep 17 00:00:00 2001
-From: Sam James <[email protected]>
-Date: Wed, 16 Jul 2025 11:05:11 +0100
-Subject: [PATCH] elf2efi: ignore .sframe
-
-SFrames are a new format for stack unwinding information. Ignore it if
-preset as is done for .eh_frame.
----
- tools/elf2efi.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tools/elf2efi.py b/tools/elf2efi.py
-index d3ef5907b208f..b81423d06e7f0 100755
---- a/tools/elf2efi.py
-+++ b/tools/elf2efi.py
-@@ -214,6 +214,7 @@ def __init__(self):
- ".eh_frame_hdr",
- ".ARM.exidx",
- ".relro_padding",
-+ ".sframe",
- ]
-
- IGNORE_SECTION_TYPES = [
-
diff --git a/sys-apps/systemd/systemd-256.10.ebuild b/sys-apps/systemd/systemd-256.10.ebuild
deleted file mode 100644
index 6f80e189f9d0..000000000000
--- a/sys-apps/systemd/systemd-256.10.ebuild
+++ /dev/null
@@ -1,573 +0,0 @@
-# Copyright 2011-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{11..13} )
-
-# 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
- MY_PV=${PV/_/-}
- MY_P=${PN}-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
- fi
-fi
-
-inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1
-inherit secureboot systemd toolchain-funcs udev
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://systemd.io/"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="
- acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
- fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod
- +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
- +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- dns-over-tls? ( || ( gnutls openssl ) )
- fido2? ( cryptsetup openssl )
- homed? ( cryptsetup pam openssl )
- importd? ( curl lzma || ( gcrypt openssl ) )
- pwquality? ( homed )
- boot? ( kernel-install )
- ukify? ( boot )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="4.15"
-
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- apparmor? ( >=sys-libs/libapparmor-2.13:0= )
- audit? ( >=sys-process/audit-2:0= )
- bpf? ( >=dev-libs/libbpf-1.4.0:0= )
- cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
- curl? ( >=net-misc/curl-7.32.0: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.23.3:0= )
- pcre? ( dev-libs/libpcre2 )
- pwquality? ( >=dev-libs/libpwquality-1.4.1:0= )
- qrcode? ( >=media-gfx/qrencode-3:0= )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( >=sys-libs/libselinux-2.1.9: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}
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-# 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
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- 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-build/meson-0.46
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- bpf? (
- >=dev-util/bpftool-7.0.0
- sys-devel/bpf-toolchain
- )
- 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_DEPS}
- $(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_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-
-check_cgroup_layout() {
- # https://bugs.gentoo.org/935261
- [[ ${MERGE_TYPE} != buildonly ]] || return
- [[ -z ${ROOT} ]] || return
- [[ -e /sys/fs/cgroup/unified ]] || return
- grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return
-
- eerror "This system appears to be booted with the 'hybrid' cgroup layout."
- eerror "This layout obsolete and is disabled in systemd."
-
- if grep -qF 'systemd.unified_cgroup_hierarchy'; then
- eerror "Remove the systemd.unified_cgroup_hierarchy option"
- eerror "from the kernel command line and reboot."
- die "hybrid cgroup layout detected"
- fi
-}
-
-pkg_pretend() {
- if use split-usr; then
- eerror "Please complete the migration to merged-usr."
- eerror "https://wiki.gentoo.org/wiki/Merge-usr"
- die "systemd no longer supports split-usr"
- fi
-
- check_cgroup_layout
-
- if use cgroup-hybrid; then
- eerror "Disable the 'cgroup-hybrid' USE flag."
- eerror "Rebuild any initramfs images after rebuilding systemd."
- die "cgroup-hybrid is no longer supported"
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- local CONFIG_CHECK="~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 bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF"
- 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() {
- use boot && secureboot_pkg_setup
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/systemd-test-process-util.patch"
- "${FILESDIR}/256-bpf-gcc.patch"
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-journald-audit-r1.patch"
- )
- fi
-
- default
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
-
- python_setup
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myconf=(
- --localstatedir="${EPREFIX}/var"
- # default is developer, bug 918671
- -Dmode=release
- -Dsupport-url="https://gentoo.org/support/"
- -Dpamlibdir="$(getpam_mod_dir)"
- # avoid bash-completion dep
- -Dbashcompletiondir="$(get_bashcompdir)"
- -Dsplit-bin=false
- # Disable compatibility with sysvinit
- -Dsysvinit-path=
- -Dsysvrcnd-path=
- # no deps
- -Dima=true
- # Match /etc/shells, bug 919749
- -Ddebug-shell="${EPREFIX}/bin/sh"
- -Ddefault-user-shell="${EPREFIX}/bin/bash"
- # Optional components/dependencies
- $(meson_native_use_bool acl)
- $(meson_native_use_bool apparmor)
- $(meson_native_use_bool audit)
- $(meson_native_use_bool boot bootloader)
- $(meson_native_use_bool bpf bpf-framework)
- -Dbpf-compiler=gcc
- $(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 gnutls)
- $(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 kernel-install)
- $(meson_native_use_bool kmod)
- $(meson_use lz4)
- $(meson_use lzma xz)
- $(meson_use test tests)
- $(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 ukify)
- $(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)
- )
-
- case $(tc-arch) in
- amd64|arm|arm64|ppc|ppc64|s390|x86)
- # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE
- myconf+=( $(meson_native_enabled vmspawn) ) ;;
- *)
- myconf+=( -Dvmspawn=disabled ) ;;
- esac
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_test() {
- (
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- export COLUMNS=80
- addpredict /dev
- addpredict /proc
- addpredict /run
- addpredict /sys/fs/cgroup
- meson_src_test --timeout-multiplier=10
- ) || die
-}
-
-multilib_src_install_all() {
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- insinto /usr/lib/tmpfiles.d
- doins "${FILESDIR}"/legacy.conf
-
- if ! use resolvconf; then
- rm -f "${ED}"/usr/bin/resolvconf || die
- fi
-
- if ! use sysv-utils; then
- rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || 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 /usr/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
-
- if use pam; then
- if use selinux; then
- newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user
- else
- newpamd "${FILESDIR}"/systemd-user.pam systemd-user
- fi
- fi
-
- if use kernel-install; then
- # Dummy config, remove to make room for sys-kernel/installkernel
- rm "${ED}/usr/lib/kernel/install.conf" || die
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-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 [[ -e ${EROOT}/etc/sysctl.conf ]]; then
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
- fi
-
- if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
- ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
- ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
- 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 [email protected] 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager (systemd)"
- systemctl daemon-reexec
- eend $? || FAIL=1
-
- # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html
- ebegin "Signaling user managers to reexec"
- systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
- eend $?
- 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
-
- if use boot; then
- optfeature "installing kernels in systemd-boot's native layout and update loader entries" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "generating unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- 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
-}
diff --git a/sys-apps/systemd/systemd-256.12.ebuild b/sys-apps/systemd/systemd-256.12.ebuild
deleted file mode 100644
index 8876bce08253..000000000000
--- a/sys-apps/systemd/systemd-256.12.ebuild
+++ /dev/null
@@ -1,572 +0,0 @@
-# Copyright 2011-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{11..13} )
-
-# 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
- MY_PV=${PV/_/-}
- MY_P=${PN}-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- fi
-fi
-
-inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1
-inherit secureboot systemd toolchain-funcs udev
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://systemd.io/"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="
- acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
- fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod
- +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
- +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- dns-over-tls? ( || ( gnutls openssl ) )
- fido2? ( cryptsetup openssl )
- homed? ( cryptsetup pam openssl )
- importd? ( curl lzma || ( gcrypt openssl ) )
- pwquality? ( homed )
- boot? ( kernel-install )
- ukify? ( boot )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="4.15"
-
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- apparmor? ( >=sys-libs/libapparmor-2.13:0= )
- audit? ( >=sys-process/audit-2:0= )
- bpf? ( >=dev-libs/libbpf-1.4.0:0= )
- cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
- curl? ( >=net-misc/curl-7.32.0: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.23.3:0= )
- pcre? ( dev-libs/libpcre2 )
- pwquality? ( >=dev-libs/libpwquality-1.4.1:0= )
- qrcode? ( >=media-gfx/qrencode-3:0= )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( >=sys-libs/libselinux-2.1.9: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}
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-# 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
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- 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-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-build/meson-0.46
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- bpf? (
- >=dev-util/bpftool-7.0.0
- sys-devel/bpf-toolchain
- )
- 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_DEPS}
- $(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_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-
-check_cgroup_layout() {
- # https://bugs.gentoo.org/935261
- [[ ${MERGE_TYPE} != buildonly ]] || return
- [[ -z ${ROOT} ]] || return
- [[ -e /sys/fs/cgroup/unified ]] || return
- grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return
-
- eerror "This system appears to be booted with the 'hybrid' cgroup layout."
- eerror "This layout obsolete and is disabled in systemd."
-
- if grep -qF 'systemd.unified_cgroup_hierarchy'; then
- eerror "Remove the systemd.unified_cgroup_hierarchy option"
- eerror "from the kernel command line and reboot."
- die "hybrid cgroup layout detected"
- fi
-}
-
-pkg_pretend() {
- if use split-usr; then
- eerror "Please complete the migration to merged-usr."
- eerror "https://wiki.gentoo.org/wiki/Merge-usr"
- die "systemd no longer supports split-usr"
- fi
-
- check_cgroup_layout
-
- if use cgroup-hybrid; then
- eerror "Disable the 'cgroup-hybrid' USE flag."
- eerror "Rebuild any initramfs images after rebuilding systemd."
- die "cgroup-hybrid is no longer supported"
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- local CONFIG_CHECK="~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 bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF"
- 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() {
- use boot && secureboot_pkg_setup
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/systemd-test-process-util.patch"
- "${FILESDIR}/256-bpf-gcc.patch"
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-journald-audit-r1.patch"
- )
- fi
-
- default
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
-
- python_setup
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myconf=(
- --localstatedir="${EPREFIX}/var"
- # default is developer, bug 918671
- -Dmode=release
- -Dsupport-url="https://gentoo.org/support/"
- -Dpamlibdir="$(getpam_mod_dir)"
- # avoid bash-completion dep
- -Dbashcompletiondir="$(get_bashcompdir)"
- -Dsplit-bin=false
- # Disable compatibility with sysvinit
- -Dsysvinit-path=
- -Dsysvrcnd-path=
- # no deps
- -Dima=true
- # Match /etc/shells, bug 919749
- -Ddebug-shell="${EPREFIX}/bin/sh"
- -Ddefault-user-shell="${EPREFIX}/bin/bash"
- # Optional components/dependencies
- $(meson_native_use_feature acl)
- $(meson_native_use_feature apparmor)
- $(meson_native_use_feature audit)
- $(meson_native_use_feature boot bootloader)
- $(meson_native_use_feature bpf bpf-framework)
- -Dbpf-compiler=gcc
- $(meson_native_use_feature cryptsetup libcryptsetup)
- $(meson_native_use_feature curl libcurl)
- $(meson_native_use_bool dns-over-tls dns-over-tls)
- $(meson_native_use_feature elfutils)
- $(meson_native_use_feature fido2 libfido2)
- $(meson_feature gcrypt)
- $(meson_native_use_feature gnutls)
- $(meson_native_use_feature homed)
- $(meson_native_use_feature http microhttpd)
- $(meson_native_use_bool idn)
- $(meson_native_use_feature importd)
- $(meson_native_use_feature importd bzip2)
- $(meson_native_use_feature importd zlib)
- $(meson_native_use_bool kernel-install)
- $(meson_native_use_feature kmod)
- $(meson_feature lz4)
- $(meson_feature lzma xz)
- $(meson_use test tests)
- $(meson_feature zstd)
- $(meson_native_use_feature iptables libiptc)
- $(meson_native_use_feature openssl)
- $(meson_feature pam)
- $(meson_native_use_feature pkcs11 p11kit)
- $(meson_native_use_feature pcre pcre2)
- $(meson_native_use_feature policykit polkit)
- $(meson_native_use_feature pwquality)
- $(meson_native_use_feature qrcode qrencode)
- $(meson_native_use_feature seccomp)
- $(meson_native_use_feature selinux)
- $(meson_native_use_feature tpm tpm2)
- $(meson_native_use_feature test dbus)
- $(meson_native_use_feature ukify)
- $(meson_native_use_feature 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_enabled 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)
- )
-
- case $(tc-arch) in
- amd64|arm|arm64|ppc|ppc64|s390|x86)
- # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE
- myconf+=( $(meson_native_enabled vmspawn) ) ;;
- *)
- myconf+=( -Dvmspawn=disabled ) ;;
- esac
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_test() {
- (
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- export COLUMNS=80
- addpredict /dev
- addpredict /proc
- addpredict /run
- addpredict /sys/fs/cgroup
- meson_src_test --timeout-multiplier=10
- ) || die
-}
-
-multilib_src_install_all() {
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- insinto /usr/lib/tmpfiles.d
- doins "${FILESDIR}"/legacy.conf
-
- if ! use resolvconf; then
- rm -f "${ED}"/usr/bin/resolvconf || die
- fi
-
- if ! use sysv-utils; then
- rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || 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 /usr/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
-
- if use pam; then
- if use selinux; then
- newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user
- else
- newpamd "${FILESDIR}"/systemd-user.pam systemd-user
- fi
- fi
-
- if use kernel-install; then
- # Dummy config, remove to make room for sys-kernel/installkernel
- rm "${ED}/usr/lib/kernel/install.conf" || die
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-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 [[ -e ${EROOT}/etc/sysctl.conf ]]; then
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
- fi
-
- if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
- ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
- ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
- 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 [email protected] 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager (systemd)"
- systemctl daemon-reexec
- eend $? || FAIL=1
-
- # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html
- ebegin "Signaling user managers to reexec"
- systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
- eend $?
- 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
-
- if use boot; then
- optfeature "installing kernels in systemd-boot's native layout and update loader entries" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "generating unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- 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
-}
diff --git a/sys-apps/systemd/systemd-256.13.ebuild b/sys-apps/systemd/systemd-256.13.ebuild
deleted file mode 100644
index 285cb9facafe..000000000000
--- a/sys-apps/systemd/systemd-256.13.ebuild
+++ /dev/null
@@ -1,572 +0,0 @@
-# Copyright 2011-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{11..13} )
-
-# 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
- MY_PV=${PV/_/-}
- MY_P=${PN}-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
- fi
-fi
-
-inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1
-inherit secureboot systemd toolchain-funcs udev
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://systemd.io/"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="
- acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
- fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod
- +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
- +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- dns-over-tls? ( || ( gnutls openssl ) )
- fido2? ( cryptsetup openssl )
- homed? ( cryptsetup pam openssl )
- importd? ( curl lzma || ( gcrypt openssl ) )
- pwquality? ( homed )
- boot? ( kernel-install )
- ukify? ( boot )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="4.15"
-
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- apparmor? ( >=sys-libs/libapparmor-2.13:0= )
- audit? ( >=sys-process/audit-2:0= )
- bpf? ( >=dev-libs/libbpf-1.4.0:0= )
- cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
- curl? ( >=net-misc/curl-7.32.0: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.23.3:0= )
- pcre? ( dev-libs/libpcre2 )
- pwquality? ( >=dev-libs/libpwquality-1.4.1:0= )
- qrcode? ( >=media-gfx/qrencode-3:0= )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( >=sys-libs/libselinux-2.1.9: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}
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-# 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
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- 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-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-build/meson-0.46
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- bpf? (
- >=dev-util/bpftool-7.0.0
- sys-devel/bpf-toolchain
- )
- 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_DEPS}
- $(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_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-
-check_cgroup_layout() {
- # https://bugs.gentoo.org/935261
- [[ ${MERGE_TYPE} != buildonly ]] || return
- [[ -z ${ROOT} ]] || return
- [[ -e /sys/fs/cgroup/unified ]] || return
- grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return
-
- eerror "This system appears to be booted with the 'hybrid' cgroup layout."
- eerror "This layout obsolete and is disabled in systemd."
-
- if grep -qF 'systemd.unified_cgroup_hierarchy'; then
- eerror "Remove the systemd.unified_cgroup_hierarchy option"
- eerror "from the kernel command line and reboot."
- die "hybrid cgroup layout detected"
- fi
-}
-
-pkg_pretend() {
- if use split-usr; then
- eerror "Please complete the migration to merged-usr."
- eerror "https://wiki.gentoo.org/wiki/Merge-usr"
- die "systemd no longer supports split-usr"
- fi
-
- check_cgroup_layout
-
- if use cgroup-hybrid; then
- eerror "Disable the 'cgroup-hybrid' USE flag."
- eerror "Rebuild any initramfs images after rebuilding systemd."
- die "cgroup-hybrid is no longer supported"
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- local CONFIG_CHECK="~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 bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF"
- 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() {
- use boot && secureboot_pkg_setup
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/systemd-test-process-util.patch"
- "${FILESDIR}/256-bpf-gcc.patch"
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-journald-audit-r1.patch"
- )
- fi
-
- default
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
-
- python_setup
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myconf=(
- --localstatedir="${EPREFIX}/var"
- # default is developer, bug 918671
- -Dmode=release
- -Dsupport-url="https://gentoo.org/support/"
- -Dpamlibdir="$(getpam_mod_dir)"
- # avoid bash-completion dep
- -Dbashcompletiondir="$(get_bashcompdir)"
- -Dsplit-bin=false
- # Disable compatibility with sysvinit
- -Dsysvinit-path=
- -Dsysvrcnd-path=
- # no deps
- -Dima=true
- # Match /etc/shells, bug 919749
- -Ddebug-shell="${EPREFIX}/bin/sh"
- -Ddefault-user-shell="${EPREFIX}/bin/bash"
- # Optional components/dependencies
- $(meson_native_use_feature acl)
- $(meson_native_use_feature apparmor)
- $(meson_native_use_feature audit)
- $(meson_native_use_feature boot bootloader)
- $(meson_native_use_feature bpf bpf-framework)
- -Dbpf-compiler=gcc
- $(meson_native_use_feature cryptsetup libcryptsetup)
- $(meson_native_use_feature curl libcurl)
- $(meson_native_use_bool dns-over-tls dns-over-tls)
- $(meson_native_use_feature elfutils)
- $(meson_native_use_feature fido2 libfido2)
- $(meson_feature gcrypt)
- $(meson_native_use_feature gnutls)
- $(meson_native_use_feature homed)
- $(meson_native_use_feature http microhttpd)
- $(meson_native_use_bool idn)
- $(meson_native_use_feature importd)
- $(meson_native_use_feature importd bzip2)
- $(meson_native_use_feature importd zlib)
- $(meson_native_use_bool kernel-install)
- $(meson_native_use_feature kmod)
- $(meson_feature lz4)
- $(meson_feature lzma xz)
- $(meson_use test tests)
- $(meson_feature zstd)
- $(meson_native_use_feature iptables libiptc)
- $(meson_native_use_feature openssl)
- $(meson_feature pam)
- $(meson_native_use_feature pkcs11 p11kit)
- $(meson_native_use_feature pcre pcre2)
- $(meson_native_use_feature policykit polkit)
- $(meson_native_use_feature pwquality)
- $(meson_native_use_feature qrcode qrencode)
- $(meson_native_use_feature seccomp)
- $(meson_native_use_feature selinux)
- $(meson_native_use_feature tpm tpm2)
- $(meson_native_use_feature test dbus)
- $(meson_native_use_feature ukify)
- $(meson_native_use_feature 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_enabled 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)
- )
-
- case $(tc-arch) in
- amd64|arm|arm64|ppc|ppc64|s390|x86)
- # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE
- myconf+=( $(meson_native_enabled vmspawn) ) ;;
- *)
- myconf+=( -Dvmspawn=disabled ) ;;
- esac
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_test() {
- (
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- export COLUMNS=80
- addpredict /dev
- addpredict /proc
- addpredict /run
- addpredict /sys/fs/cgroup
- meson_src_test --timeout-multiplier=10
- ) || die
-}
-
-multilib_src_install_all() {
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- insinto /usr/lib/tmpfiles.d
- doins "${FILESDIR}"/legacy.conf
-
- if ! use resolvconf; then
- rm -f "${ED}"/usr/bin/resolvconf || die
- fi
-
- if ! use sysv-utils; then
- rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || 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 /usr/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
-
- if use pam; then
- if use selinux; then
- newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user
- else
- newpamd "${FILESDIR}"/systemd-user.pam systemd-user
- fi
- fi
-
- if use kernel-install; then
- # Dummy config, remove to make room for sys-kernel/installkernel
- rm "${ED}/usr/lib/kernel/install.conf" || die
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-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 [[ -e ${EROOT}/etc/sysctl.conf ]]; then
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
- fi
-
- if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
- ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
- ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
- 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 [email protected] 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager (systemd)"
- systemctl daemon-reexec
- eend $? || FAIL=1
-
- # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html
- ebegin "Signaling user managers to reexec"
- systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
- eend $?
- 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
-
- if use boot; then
- optfeature "installing kernels in systemd-boot's native layout and update loader entries" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "generating unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- 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
-}
diff --git a/sys-apps/systemd/systemd-256.16.ebuild b/sys-apps/systemd/systemd-256.16.ebuild
deleted file mode 100644
index 285cb9facafe..000000000000
--- a/sys-apps/systemd/systemd-256.16.ebuild
+++ /dev/null
@@ -1,572 +0,0 @@
-# Copyright 2011-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{11..13} )
-
-# 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
- MY_PV=${PV/_/-}
- MY_P=${PN}-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
- fi
-fi
-
-inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1
-inherit secureboot systemd toolchain-funcs udev
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://systemd.io/"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="
- acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
- fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod
- +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
- +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- dns-over-tls? ( || ( gnutls openssl ) )
- fido2? ( cryptsetup openssl )
- homed? ( cryptsetup pam openssl )
- importd? ( curl lzma || ( gcrypt openssl ) )
- pwquality? ( homed )
- boot? ( kernel-install )
- ukify? ( boot )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="4.15"
-
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- apparmor? ( >=sys-libs/libapparmor-2.13:0= )
- audit? ( >=sys-process/audit-2:0= )
- bpf? ( >=dev-libs/libbpf-1.4.0:0= )
- cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
- curl? ( >=net-misc/curl-7.32.0: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.23.3:0= )
- pcre? ( dev-libs/libpcre2 )
- pwquality? ( >=dev-libs/libpwquality-1.4.1:0= )
- qrcode? ( >=media-gfx/qrencode-3:0= )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( >=sys-libs/libselinux-2.1.9: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}
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-# 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
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- 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-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-build/meson-0.46
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- bpf? (
- >=dev-util/bpftool-7.0.0
- sys-devel/bpf-toolchain
- )
- 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_DEPS}
- $(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_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-
-check_cgroup_layout() {
- # https://bugs.gentoo.org/935261
- [[ ${MERGE_TYPE} != buildonly ]] || return
- [[ -z ${ROOT} ]] || return
- [[ -e /sys/fs/cgroup/unified ]] || return
- grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return
-
- eerror "This system appears to be booted with the 'hybrid' cgroup layout."
- eerror "This layout obsolete and is disabled in systemd."
-
- if grep -qF 'systemd.unified_cgroup_hierarchy'; then
- eerror "Remove the systemd.unified_cgroup_hierarchy option"
- eerror "from the kernel command line and reboot."
- die "hybrid cgroup layout detected"
- fi
-}
-
-pkg_pretend() {
- if use split-usr; then
- eerror "Please complete the migration to merged-usr."
- eerror "https://wiki.gentoo.org/wiki/Merge-usr"
- die "systemd no longer supports split-usr"
- fi
-
- check_cgroup_layout
-
- if use cgroup-hybrid; then
- eerror "Disable the 'cgroup-hybrid' USE flag."
- eerror "Rebuild any initramfs images after rebuilding systemd."
- die "cgroup-hybrid is no longer supported"
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- local CONFIG_CHECK="~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 bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF"
- 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() {
- use boot && secureboot_pkg_setup
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/systemd-test-process-util.patch"
- "${FILESDIR}/256-bpf-gcc.patch"
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-journald-audit-r1.patch"
- )
- fi
-
- default
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
-
- python_setup
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myconf=(
- --localstatedir="${EPREFIX}/var"
- # default is developer, bug 918671
- -Dmode=release
- -Dsupport-url="https://gentoo.org/support/"
- -Dpamlibdir="$(getpam_mod_dir)"
- # avoid bash-completion dep
- -Dbashcompletiondir="$(get_bashcompdir)"
- -Dsplit-bin=false
- # Disable compatibility with sysvinit
- -Dsysvinit-path=
- -Dsysvrcnd-path=
- # no deps
- -Dima=true
- # Match /etc/shells, bug 919749
- -Ddebug-shell="${EPREFIX}/bin/sh"
- -Ddefault-user-shell="${EPREFIX}/bin/bash"
- # Optional components/dependencies
- $(meson_native_use_feature acl)
- $(meson_native_use_feature apparmor)
- $(meson_native_use_feature audit)
- $(meson_native_use_feature boot bootloader)
- $(meson_native_use_feature bpf bpf-framework)
- -Dbpf-compiler=gcc
- $(meson_native_use_feature cryptsetup libcryptsetup)
- $(meson_native_use_feature curl libcurl)
- $(meson_native_use_bool dns-over-tls dns-over-tls)
- $(meson_native_use_feature elfutils)
- $(meson_native_use_feature fido2 libfido2)
- $(meson_feature gcrypt)
- $(meson_native_use_feature gnutls)
- $(meson_native_use_feature homed)
- $(meson_native_use_feature http microhttpd)
- $(meson_native_use_bool idn)
- $(meson_native_use_feature importd)
- $(meson_native_use_feature importd bzip2)
- $(meson_native_use_feature importd zlib)
- $(meson_native_use_bool kernel-install)
- $(meson_native_use_feature kmod)
- $(meson_feature lz4)
- $(meson_feature lzma xz)
- $(meson_use test tests)
- $(meson_feature zstd)
- $(meson_native_use_feature iptables libiptc)
- $(meson_native_use_feature openssl)
- $(meson_feature pam)
- $(meson_native_use_feature pkcs11 p11kit)
- $(meson_native_use_feature pcre pcre2)
- $(meson_native_use_feature policykit polkit)
- $(meson_native_use_feature pwquality)
- $(meson_native_use_feature qrcode qrencode)
- $(meson_native_use_feature seccomp)
- $(meson_native_use_feature selinux)
- $(meson_native_use_feature tpm tpm2)
- $(meson_native_use_feature test dbus)
- $(meson_native_use_feature ukify)
- $(meson_native_use_feature 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_enabled 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)
- )
-
- case $(tc-arch) in
- amd64|arm|arm64|ppc|ppc64|s390|x86)
- # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE
- myconf+=( $(meson_native_enabled vmspawn) ) ;;
- *)
- myconf+=( -Dvmspawn=disabled ) ;;
- esac
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_test() {
- (
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- export COLUMNS=80
- addpredict /dev
- addpredict /proc
- addpredict /run
- addpredict /sys/fs/cgroup
- meson_src_test --timeout-multiplier=10
- ) || die
-}
-
-multilib_src_install_all() {
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- insinto /usr/lib/tmpfiles.d
- doins "${FILESDIR}"/legacy.conf
-
- if ! use resolvconf; then
- rm -f "${ED}"/usr/bin/resolvconf || die
- fi
-
- if ! use sysv-utils; then
- rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || 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 /usr/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
-
- if use pam; then
- if use selinux; then
- newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user
- else
- newpamd "${FILESDIR}"/systemd-user.pam systemd-user
- fi
- fi
-
- if use kernel-install; then
- # Dummy config, remove to make room for sys-kernel/installkernel
- rm "${ED}/usr/lib/kernel/install.conf" || die
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-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 [[ -e ${EROOT}/etc/sysctl.conf ]]; then
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
- fi
-
- if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
- ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
- ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
- 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 [email protected] 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager (systemd)"
- systemctl daemon-reexec
- eend $? || FAIL=1
-
- # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html
- ebegin "Signaling user managers to reexec"
- systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
- eend $?
- 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
-
- if use boot; then
- optfeature "installing kernels in systemd-boot's native layout and update loader entries" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "generating unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- 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
-}
diff --git a/sys-apps/systemd/systemd-256.17.ebuild b/sys-apps/systemd/systemd-256.17.ebuild
deleted file mode 100644
index 8876bce08253..000000000000
--- a/sys-apps/systemd/systemd-256.17.ebuild
+++ /dev/null
@@ -1,572 +0,0 @@
-# Copyright 2011-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{11..13} )
-
-# 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
- MY_PV=${PV/_/-}
- MY_P=${PN}-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- fi
-fi
-
-inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1
-inherit secureboot systemd toolchain-funcs udev
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://systemd.io/"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="
- acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
- fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod
- +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
- +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- dns-over-tls? ( || ( gnutls openssl ) )
- fido2? ( cryptsetup openssl )
- homed? ( cryptsetup pam openssl )
- importd? ( curl lzma || ( gcrypt openssl ) )
- pwquality? ( homed )
- boot? ( kernel-install )
- ukify? ( boot )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="4.15"
-
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- apparmor? ( >=sys-libs/libapparmor-2.13:0= )
- audit? ( >=sys-process/audit-2:0= )
- bpf? ( >=dev-libs/libbpf-1.4.0:0= )
- cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
- curl? ( >=net-misc/curl-7.32.0: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.23.3:0= )
- pcre? ( dev-libs/libpcre2 )
- pwquality? ( >=dev-libs/libpwquality-1.4.1:0= )
- qrcode? ( >=media-gfx/qrencode-3:0= )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( >=sys-libs/libselinux-2.1.9: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}
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-# 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
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- 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-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-build/meson-0.46
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- bpf? (
- >=dev-util/bpftool-7.0.0
- sys-devel/bpf-toolchain
- )
- 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_DEPS}
- $(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_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-
-check_cgroup_layout() {
- # https://bugs.gentoo.org/935261
- [[ ${MERGE_TYPE} != buildonly ]] || return
- [[ -z ${ROOT} ]] || return
- [[ -e /sys/fs/cgroup/unified ]] || return
- grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return
-
- eerror "This system appears to be booted with the 'hybrid' cgroup layout."
- eerror "This layout obsolete and is disabled in systemd."
-
- if grep -qF 'systemd.unified_cgroup_hierarchy'; then
- eerror "Remove the systemd.unified_cgroup_hierarchy option"
- eerror "from the kernel command line and reboot."
- die "hybrid cgroup layout detected"
- fi
-}
-
-pkg_pretend() {
- if use split-usr; then
- eerror "Please complete the migration to merged-usr."
- eerror "https://wiki.gentoo.org/wiki/Merge-usr"
- die "systemd no longer supports split-usr"
- fi
-
- check_cgroup_layout
-
- if use cgroup-hybrid; then
- eerror "Disable the 'cgroup-hybrid' USE flag."
- eerror "Rebuild any initramfs images after rebuilding systemd."
- die "cgroup-hybrid is no longer supported"
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- local CONFIG_CHECK="~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 bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF"
- 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() {
- use boot && secureboot_pkg_setup
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/systemd-test-process-util.patch"
- "${FILESDIR}/256-bpf-gcc.patch"
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-journald-audit-r1.patch"
- )
- fi
-
- default
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
-
- python_setup
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myconf=(
- --localstatedir="${EPREFIX}/var"
- # default is developer, bug 918671
- -Dmode=release
- -Dsupport-url="https://gentoo.org/support/"
- -Dpamlibdir="$(getpam_mod_dir)"
- # avoid bash-completion dep
- -Dbashcompletiondir="$(get_bashcompdir)"
- -Dsplit-bin=false
- # Disable compatibility with sysvinit
- -Dsysvinit-path=
- -Dsysvrcnd-path=
- # no deps
- -Dima=true
- # Match /etc/shells, bug 919749
- -Ddebug-shell="${EPREFIX}/bin/sh"
- -Ddefault-user-shell="${EPREFIX}/bin/bash"
- # Optional components/dependencies
- $(meson_native_use_feature acl)
- $(meson_native_use_feature apparmor)
- $(meson_native_use_feature audit)
- $(meson_native_use_feature boot bootloader)
- $(meson_native_use_feature bpf bpf-framework)
- -Dbpf-compiler=gcc
- $(meson_native_use_feature cryptsetup libcryptsetup)
- $(meson_native_use_feature curl libcurl)
- $(meson_native_use_bool dns-over-tls dns-over-tls)
- $(meson_native_use_feature elfutils)
- $(meson_native_use_feature fido2 libfido2)
- $(meson_feature gcrypt)
- $(meson_native_use_feature gnutls)
- $(meson_native_use_feature homed)
- $(meson_native_use_feature http microhttpd)
- $(meson_native_use_bool idn)
- $(meson_native_use_feature importd)
- $(meson_native_use_feature importd bzip2)
- $(meson_native_use_feature importd zlib)
- $(meson_native_use_bool kernel-install)
- $(meson_native_use_feature kmod)
- $(meson_feature lz4)
- $(meson_feature lzma xz)
- $(meson_use test tests)
- $(meson_feature zstd)
- $(meson_native_use_feature iptables libiptc)
- $(meson_native_use_feature openssl)
- $(meson_feature pam)
- $(meson_native_use_feature pkcs11 p11kit)
- $(meson_native_use_feature pcre pcre2)
- $(meson_native_use_feature policykit polkit)
- $(meson_native_use_feature pwquality)
- $(meson_native_use_feature qrcode qrencode)
- $(meson_native_use_feature seccomp)
- $(meson_native_use_feature selinux)
- $(meson_native_use_feature tpm tpm2)
- $(meson_native_use_feature test dbus)
- $(meson_native_use_feature ukify)
- $(meson_native_use_feature 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_enabled 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)
- )
-
- case $(tc-arch) in
- amd64|arm|arm64|ppc|ppc64|s390|x86)
- # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE
- myconf+=( $(meson_native_enabled vmspawn) ) ;;
- *)
- myconf+=( -Dvmspawn=disabled ) ;;
- esac
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_test() {
- (
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- export COLUMNS=80
- addpredict /dev
- addpredict /proc
- addpredict /run
- addpredict /sys/fs/cgroup
- meson_src_test --timeout-multiplier=10
- ) || die
-}
-
-multilib_src_install_all() {
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- insinto /usr/lib/tmpfiles.d
- doins "${FILESDIR}"/legacy.conf
-
- if ! use resolvconf; then
- rm -f "${ED}"/usr/bin/resolvconf || die
- fi
-
- if ! use sysv-utils; then
- rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || 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 /usr/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
-
- if use pam; then
- if use selinux; then
- newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user
- else
- newpamd "${FILESDIR}"/systemd-user.pam systemd-user
- fi
- fi
-
- if use kernel-install; then
- # Dummy config, remove to make room for sys-kernel/installkernel
- rm "${ED}/usr/lib/kernel/install.conf" || die
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-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 [[ -e ${EROOT}/etc/sysctl.conf ]]; then
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
- fi
-
- if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
- ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
- ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
- 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 [email protected] 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager (systemd)"
- systemctl daemon-reexec
- eend $? || FAIL=1
-
- # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html
- ebegin "Signaling user managers to reexec"
- systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
- eend $?
- 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
-
- if use boot; then
- optfeature "installing kernels in systemd-boot's native layout and update loader entries" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "generating unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- 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
-}
diff --git a/sys-apps/systemd/systemd-257.3.ebuild b/sys-apps/systemd/systemd-257.3.ebuild
deleted file mode 100644
index bac856cb0aa6..000000000000
--- a/sys-apps/systemd/systemd-257.3.ebuild
+++ /dev/null
@@ -1,570 +0,0 @@
-# Copyright 2011-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{11..13} )
-
-# 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
- MY_PV=${PV/_/-}
- MY_P=${PN}-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- fi
-fi
-
-inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1
-inherit secureboot systemd toolchain-funcs udev
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://systemd.io/"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="
- acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
- fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod
- +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
- +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- dns-over-tls? ( || ( gnutls openssl ) )
- fido2? ( cryptsetup openssl )
- homed? ( cryptsetup pam openssl )
- importd? ( curl lzma || ( gcrypt openssl ) )
- pwquality? ( homed )
- boot? ( kernel-install )
- ukify? ( boot )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="4.15"
-
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- apparmor? ( >=sys-libs/libapparmor-2.13:0= )
- audit? ( >=sys-process/audit-2:0= )
- bpf? ( >=dev-libs/libbpf-1.4.0:0= )
- cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
- curl? ( >=net-misc/curl-7.32.0: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.23.3:0= )
- pcre? ( dev-libs/libpcre2 )
- pwquality? ( >=dev-libs/libpwquality-1.4.1:0= )
- qrcode? ( >=media-gfx/qrencode-3:0= )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( >=sys-libs/libselinux-2.1.9: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}
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-# 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
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- 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-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-build/meson-0.46
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- bpf? (
- >=dev-util/bpftool-7.0.0
- sys-devel/bpf-toolchain
- )
- 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_DEPS}
- $(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_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-
-check_cgroup_layout() {
- # https://bugs.gentoo.org/935261
- [[ ${MERGE_TYPE} != buildonly ]] || return
- [[ -z ${ROOT} ]] || return
- [[ -e /sys/fs/cgroup/unified ]] || return
- grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return
-
- eerror "This system appears to be booted with the 'hybrid' cgroup layout."
- eerror "This layout obsolete and is disabled in systemd."
-
- if grep -qF 'systemd.unified_cgroup_hierarchy'; then
- eerror "Remove the systemd.unified_cgroup_hierarchy option"
- eerror "from the kernel command line and reboot."
- die "hybrid cgroup layout detected"
- fi
-}
-
-pkg_pretend() {
- if use split-usr; then
- eerror "Please complete the migration to merged-usr."
- eerror "https://wiki.gentoo.org/wiki/Merge-usr"
- die "systemd no longer supports split-usr"
- fi
-
- check_cgroup_layout
-
- if use cgroup-hybrid; then
- eerror "Disable the 'cgroup-hybrid' USE flag."
- eerror "Rebuild any initramfs images after rebuilding systemd."
- die "cgroup-hybrid is no longer supported"
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- local CONFIG_CHECK="~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 bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF"
- 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() {
- use boot && secureboot_pkg_setup
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- local PATCHES=(
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-journald-audit-r1.patch"
- )
- fi
-
- default
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
-
- python_setup
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myconf=(
- --localstatedir="${EPREFIX}/var"
- # default is developer, bug 918671
- -Dmode=release
- -Dsupport-url="https://gentoo.org/support/"
- -Dpamlibdir="$(getpam_mod_dir)"
- # avoid bash-completion dep
- -Dbashcompletiondir="$(get_bashcompdir)"
- -Dsplit-bin=false
- # Disable compatibility with sysvinit
- -Dsysvinit-path=
- -Dsysvrcnd-path=
- # no deps
- -Dima=true
- # Match /etc/shells, bug 919749
- -Ddebug-shell="${EPREFIX}/bin/sh"
- -Ddefault-user-shell="${EPREFIX}/bin/bash"
- # Optional components/dependencies
- $(meson_native_use_feature acl)
- $(meson_native_use_feature apparmor)
- $(meson_native_use_feature audit)
- $(meson_native_use_feature boot bootloader)
- $(meson_native_use_feature bpf bpf-framework)
- -Dbpf-compiler=gcc
- $(meson_native_use_feature cryptsetup libcryptsetup)
- $(meson_native_use_feature curl libcurl)
- $(meson_native_use_bool dns-over-tls dns-over-tls)
- $(meson_native_use_feature elfutils)
- $(meson_native_use_feature fido2 libfido2)
- $(meson_feature gcrypt)
- $(meson_native_use_feature gnutls)
- $(meson_native_use_feature homed)
- $(meson_native_use_feature http microhttpd)
- $(meson_native_use_bool idn)
- $(meson_native_use_feature importd)
- $(meson_native_use_feature importd bzip2)
- $(meson_native_use_feature importd zlib)
- $(meson_native_use_bool kernel-install)
- $(meson_native_use_feature kmod)
- $(meson_feature lz4)
- $(meson_feature lzma xz)
- $(meson_use test tests)
- $(meson_feature zstd)
- $(meson_native_use_feature iptables libiptc)
- $(meson_native_use_feature openssl)
- $(meson_feature pam)
- $(meson_native_use_feature pkcs11 p11kit)
- $(meson_native_use_feature pcre pcre2)
- $(meson_native_use_feature policykit polkit)
- $(meson_native_use_feature pwquality)
- $(meson_native_use_feature qrcode qrencode)
- $(meson_native_use_feature seccomp)
- $(meson_native_use_feature selinux)
- $(meson_native_use_feature tpm tpm2)
- $(meson_native_use_feature test dbus)
- $(meson_native_use_feature ukify)
- $(meson_native_use_feature 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_enabled 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)
- )
-
- case $(tc-arch) in
- amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86)
- # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE
- myconf+=( $(meson_native_enabled vmspawn) ) ;;
- *)
- myconf+=( -Dvmspawn=disabled ) ;;
- esac
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_test() {
- (
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- export COLUMNS=80
- addpredict /dev
- addpredict /proc
- addpredict /run
- addpredict /sys/fs/cgroup
- meson_src_test --timeout-multiplier=10
- ) || die
-}
-
-multilib_src_install_all() {
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- insinto /usr/lib/tmpfiles.d
- doins "${FILESDIR}"/legacy.conf
-
- if ! use resolvconf; then
- rm -f "${ED}"/usr/bin/resolvconf || die
- fi
-
- if ! use sysv-utils; then
- rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || 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 /usr/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
-
- if use pam; then
- if use selinux; then
- newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user
- else
- newpamd "${FILESDIR}"/systemd-user.pam systemd-user
- fi
- fi
-
- if use kernel-install; then
- # Dummy config, remove to make room for sys-kernel/installkernel
- rm "${ED}/usr/lib/kernel/install.conf" || die
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-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 [[ -e ${EROOT}/etc/sysctl.conf ]]; then
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
- fi
-
- if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
- ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
- ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
- 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 [email protected] 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager (systemd)"
- systemctl daemon-reexec
- eend $? || FAIL=1
-
- # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html
- ebegin "Signaling user managers to reexec"
- systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
- eend $?
- 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
-
- if use boot; then
- optfeature "installing kernels in systemd-boot's native layout and update loader entries" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "generating unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- 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
-}
diff --git a/sys-apps/systemd/systemd-257.5.ebuild b/sys-apps/systemd/systemd-257.5.ebuild
deleted file mode 100644
index eb437812d93c..000000000000
--- a/sys-apps/systemd/systemd-257.5.ebuild
+++ /dev/null
@@ -1,571 +0,0 @@
-# Copyright 2011-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{11..13} )
-
-# 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
- MY_PV=${PV/_/-}
- MY_P=${PN}-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
- fi
-fi
-
-inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1
-inherit secureboot systemd toolchain-funcs udev
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://systemd.io/"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="
- acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
- fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod
- +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
- +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- dns-over-tls? ( || ( gnutls openssl ) )
- fido2? ( cryptsetup openssl )
- homed? ( cryptsetup pam openssl )
- importd? ( curl lzma || ( gcrypt openssl ) )
- pwquality? ( homed )
- boot? ( kernel-install )
- ukify? ( boot )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="4.15"
-
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- apparmor? ( >=sys-libs/libapparmor-2.13:0= )
- audit? ( >=sys-process/audit-2:0= )
- bpf? ( >=dev-libs/libbpf-1.4.0:0= )
- cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
- curl? ( >=net-misc/curl-7.32.0: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.23.3:0= )
- pcre? ( dev-libs/libpcre2 )
- pwquality? ( >=dev-libs/libpwquality-1.4.1:0= )
- qrcode? ( >=media-gfx/qrencode-3:0= )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( >=sys-libs/libselinux-2.1.9: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}
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-# 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
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- 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-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-build/meson-0.46
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- bpf? (
- >=dev-util/bpftool-7.0.0
- sys-devel/bpf-toolchain
- )
- 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_DEPS}
- $(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_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-
-check_cgroup_layout() {
- # https://bugs.gentoo.org/935261
- [[ ${MERGE_TYPE} != buildonly ]] || return
- [[ -z ${ROOT} ]] || return
- [[ -e /sys/fs/cgroup/unified ]] || return
- grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return
-
- eerror "This system appears to be booted with the 'hybrid' cgroup layout."
- eerror "This layout obsolete and is disabled in systemd."
-
- if grep -qF 'systemd.unified_cgroup_hierarchy'; then
- eerror "Remove the systemd.unified_cgroup_hierarchy option"
- eerror "from the kernel command line and reboot."
- die "hybrid cgroup layout detected"
- fi
-}
-
-pkg_pretend() {
- if use split-usr; then
- eerror "Please complete the migration to merged-usr."
- eerror "https://wiki.gentoo.org/wiki/Merge-usr"
- die "systemd no longer supports split-usr"
- fi
-
- check_cgroup_layout
-
- if use cgroup-hybrid; then
- eerror "Disable the 'cgroup-hybrid' USE flag."
- eerror "Rebuild any initramfs images after rebuilding systemd."
- die "cgroup-hybrid is no longer supported"
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- local CONFIG_CHECK="~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 bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF"
- 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() {
- use boot && secureboot_pkg_setup
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}"/systemd-257-cred-util-tpm2.patch
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-journald-audit-r1.patch"
- )
- fi
-
- default
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
-
- python_setup
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myconf=(
- --localstatedir="${EPREFIX}/var"
- # default is developer, bug 918671
- -Dmode=release
- -Dsupport-url="https://gentoo.org/support/"
- -Dpamlibdir="$(getpam_mod_dir)"
- # avoid bash-completion dep
- -Dbashcompletiondir="$(get_bashcompdir)"
- -Dsplit-bin=false
- # Disable compatibility with sysvinit
- -Dsysvinit-path=
- -Dsysvrcnd-path=
- # no deps
- -Dima=true
- # Match /etc/shells, bug 919749
- -Ddebug-shell="${EPREFIX}/bin/sh"
- -Ddefault-user-shell="${EPREFIX}/bin/bash"
- # Optional components/dependencies
- $(meson_native_use_feature acl)
- $(meson_native_use_feature apparmor)
- $(meson_native_use_feature audit)
- $(meson_native_use_feature boot bootloader)
- $(meson_native_use_feature bpf bpf-framework)
- -Dbpf-compiler=gcc
- $(meson_native_use_feature cryptsetup libcryptsetup)
- $(meson_native_use_feature curl libcurl)
- $(meson_native_use_bool dns-over-tls dns-over-tls)
- $(meson_native_use_feature elfutils)
- $(meson_native_use_feature fido2 libfido2)
- $(meson_feature gcrypt)
- $(meson_native_use_feature gnutls)
- $(meson_native_use_feature homed)
- $(meson_native_use_feature http microhttpd)
- $(meson_native_use_bool idn)
- $(meson_native_use_feature importd)
- $(meson_native_use_feature importd bzip2)
- $(meson_native_use_feature importd zlib)
- $(meson_native_use_bool kernel-install)
- $(meson_native_use_feature kmod)
- $(meson_feature lz4)
- $(meson_feature lzma xz)
- $(meson_use test tests)
- $(meson_feature zstd)
- $(meson_native_use_feature iptables libiptc)
- $(meson_native_use_feature openssl)
- $(meson_feature pam)
- $(meson_native_use_feature pkcs11 p11kit)
- $(meson_native_use_feature pcre pcre2)
- $(meson_native_use_feature policykit polkit)
- $(meson_native_use_feature pwquality)
- $(meson_native_use_feature qrcode qrencode)
- $(meson_native_use_feature seccomp)
- $(meson_native_use_feature selinux)
- $(meson_native_use_feature tpm tpm2)
- $(meson_native_use_feature test dbus)
- $(meson_native_use_feature ukify)
- $(meson_native_use_feature 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_enabled 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)
- )
-
- case $(tc-arch) in
- amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86)
- # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE
- myconf+=( $(meson_native_enabled vmspawn) ) ;;
- *)
- myconf+=( -Dvmspawn=disabled ) ;;
- esac
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_test() {
- (
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- export COLUMNS=80
- addpredict /dev
- addpredict /proc
- addpredict /run
- addpredict /sys/fs/cgroup
- meson_src_test --timeout-multiplier=10
- ) || die
-}
-
-multilib_src_install_all() {
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- insinto /usr/lib/tmpfiles.d
- doins "${FILESDIR}"/legacy.conf
-
- if ! use resolvconf; then
- rm -f "${ED}"/usr/bin/resolvconf || die
- fi
-
- if ! use sysv-utils; then
- rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || 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 /usr/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
-
- if use pam; then
- if use selinux; then
- newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user
- else
- newpamd "${FILESDIR}"/systemd-user.pam systemd-user
- fi
- fi
-
- if use kernel-install; then
- # Dummy config, remove to make room for sys-kernel/installkernel
- rm "${ED}/usr/lib/kernel/install.conf" || die
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-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 [[ -e ${EROOT}/etc/sysctl.conf ]]; then
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
- fi
-
- if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
- ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
- ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
- 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 [email protected] 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager (systemd)"
- systemctl daemon-reexec
- eend $? || FAIL=1
-
- # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html
- ebegin "Signaling user managers to reexec"
- systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
- eend $?
- 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
-
- if use boot; then
- optfeature "installing kernels in systemd-boot's native layout and update loader entries" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "generating unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- 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
-}
diff --git a/sys-apps/systemd/systemd-257.6.ebuild b/sys-apps/systemd/systemd-257.6.ebuild
deleted file mode 100644
index eb437812d93c..000000000000
--- a/sys-apps/systemd/systemd-257.6.ebuild
+++ /dev/null
@@ -1,571 +0,0 @@
-# Copyright 2011-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{11..13} )
-
-# 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
- MY_PV=${PV/_/-}
- MY_P=${PN}-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
- fi
-fi
-
-inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1
-inherit secureboot systemd toolchain-funcs udev
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://systemd.io/"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="
- acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
- fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod
- +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
- +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- dns-over-tls? ( || ( gnutls openssl ) )
- fido2? ( cryptsetup openssl )
- homed? ( cryptsetup pam openssl )
- importd? ( curl lzma || ( gcrypt openssl ) )
- pwquality? ( homed )
- boot? ( kernel-install )
- ukify? ( boot )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="4.15"
-
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- apparmor? ( >=sys-libs/libapparmor-2.13:0= )
- audit? ( >=sys-process/audit-2:0= )
- bpf? ( >=dev-libs/libbpf-1.4.0:0= )
- cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
- curl? ( >=net-misc/curl-7.32.0: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.23.3:0= )
- pcre? ( dev-libs/libpcre2 )
- pwquality? ( >=dev-libs/libpwquality-1.4.1:0= )
- qrcode? ( >=media-gfx/qrencode-3:0= )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( >=sys-libs/libselinux-2.1.9: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}
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-# 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
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- 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-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-build/meson-0.46
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- bpf? (
- >=dev-util/bpftool-7.0.0
- sys-devel/bpf-toolchain
- )
- 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_DEPS}
- $(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_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-
-check_cgroup_layout() {
- # https://bugs.gentoo.org/935261
- [[ ${MERGE_TYPE} != buildonly ]] || return
- [[ -z ${ROOT} ]] || return
- [[ -e /sys/fs/cgroup/unified ]] || return
- grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return
-
- eerror "This system appears to be booted with the 'hybrid' cgroup layout."
- eerror "This layout obsolete and is disabled in systemd."
-
- if grep -qF 'systemd.unified_cgroup_hierarchy'; then
- eerror "Remove the systemd.unified_cgroup_hierarchy option"
- eerror "from the kernel command line and reboot."
- die "hybrid cgroup layout detected"
- fi
-}
-
-pkg_pretend() {
- if use split-usr; then
- eerror "Please complete the migration to merged-usr."
- eerror "https://wiki.gentoo.org/wiki/Merge-usr"
- die "systemd no longer supports split-usr"
- fi
-
- check_cgroup_layout
-
- if use cgroup-hybrid; then
- eerror "Disable the 'cgroup-hybrid' USE flag."
- eerror "Rebuild any initramfs images after rebuilding systemd."
- die "cgroup-hybrid is no longer supported"
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- local CONFIG_CHECK="~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 bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF"
- 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() {
- use boot && secureboot_pkg_setup
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}"/systemd-257-cred-util-tpm2.patch
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-journald-audit-r1.patch"
- )
- fi
-
- default
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
-
- python_setup
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myconf=(
- --localstatedir="${EPREFIX}/var"
- # default is developer, bug 918671
- -Dmode=release
- -Dsupport-url="https://gentoo.org/support/"
- -Dpamlibdir="$(getpam_mod_dir)"
- # avoid bash-completion dep
- -Dbashcompletiondir="$(get_bashcompdir)"
- -Dsplit-bin=false
- # Disable compatibility with sysvinit
- -Dsysvinit-path=
- -Dsysvrcnd-path=
- # no deps
- -Dima=true
- # Match /etc/shells, bug 919749
- -Ddebug-shell="${EPREFIX}/bin/sh"
- -Ddefault-user-shell="${EPREFIX}/bin/bash"
- # Optional components/dependencies
- $(meson_native_use_feature acl)
- $(meson_native_use_feature apparmor)
- $(meson_native_use_feature audit)
- $(meson_native_use_feature boot bootloader)
- $(meson_native_use_feature bpf bpf-framework)
- -Dbpf-compiler=gcc
- $(meson_native_use_feature cryptsetup libcryptsetup)
- $(meson_native_use_feature curl libcurl)
- $(meson_native_use_bool dns-over-tls dns-over-tls)
- $(meson_native_use_feature elfutils)
- $(meson_native_use_feature fido2 libfido2)
- $(meson_feature gcrypt)
- $(meson_native_use_feature gnutls)
- $(meson_native_use_feature homed)
- $(meson_native_use_feature http microhttpd)
- $(meson_native_use_bool idn)
- $(meson_native_use_feature importd)
- $(meson_native_use_feature importd bzip2)
- $(meson_native_use_feature importd zlib)
- $(meson_native_use_bool kernel-install)
- $(meson_native_use_feature kmod)
- $(meson_feature lz4)
- $(meson_feature lzma xz)
- $(meson_use test tests)
- $(meson_feature zstd)
- $(meson_native_use_feature iptables libiptc)
- $(meson_native_use_feature openssl)
- $(meson_feature pam)
- $(meson_native_use_feature pkcs11 p11kit)
- $(meson_native_use_feature pcre pcre2)
- $(meson_native_use_feature policykit polkit)
- $(meson_native_use_feature pwquality)
- $(meson_native_use_feature qrcode qrencode)
- $(meson_native_use_feature seccomp)
- $(meson_native_use_feature selinux)
- $(meson_native_use_feature tpm tpm2)
- $(meson_native_use_feature test dbus)
- $(meson_native_use_feature ukify)
- $(meson_native_use_feature 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_enabled 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)
- )
-
- case $(tc-arch) in
- amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86)
- # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE
- myconf+=( $(meson_native_enabled vmspawn) ) ;;
- *)
- myconf+=( -Dvmspawn=disabled ) ;;
- esac
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_test() {
- (
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- export COLUMNS=80
- addpredict /dev
- addpredict /proc
- addpredict /run
- addpredict /sys/fs/cgroup
- meson_src_test --timeout-multiplier=10
- ) || die
-}
-
-multilib_src_install_all() {
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- insinto /usr/lib/tmpfiles.d
- doins "${FILESDIR}"/legacy.conf
-
- if ! use resolvconf; then
- rm -f "${ED}"/usr/bin/resolvconf || die
- fi
-
- if ! use sysv-utils; then
- rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || 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 /usr/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
-
- if use pam; then
- if use selinux; then
- newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user
- else
- newpamd "${FILESDIR}"/systemd-user.pam systemd-user
- fi
- fi
-
- if use kernel-install; then
- # Dummy config, remove to make room for sys-kernel/installkernel
- rm "${ED}/usr/lib/kernel/install.conf" || die
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-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 [[ -e ${EROOT}/etc/sysctl.conf ]]; then
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
- fi
-
- if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
- ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
- ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
- 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 [email protected] 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager (systemd)"
- systemctl daemon-reexec
- eend $? || FAIL=1
-
- # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html
- ebegin "Signaling user managers to reexec"
- systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
- eend $?
- 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
-
- if use boot; then
- optfeature "installing kernels in systemd-boot's native layout and update loader entries" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "generating unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- 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
-}
diff --git a/sys-apps/systemd/systemd-257.7.ebuild b/sys-apps/systemd/systemd-257.7.ebuild
deleted file mode 100644
index 78c4f9524378..000000000000
--- a/sys-apps/systemd/systemd-257.7.ebuild
+++ /dev/null
@@ -1,572 +0,0 @@
-# Copyright 2011-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{11..13} )
-
-# 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
- MY_PV=${PV/_/-}
- MY_P=${PN}-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- fi
-fi
-
-inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1
-inherit secureboot systemd toolchain-funcs udev
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://systemd.io/"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="
- acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
- fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod
- +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
- +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- dns-over-tls? ( || ( gnutls openssl ) )
- fido2? ( cryptsetup openssl )
- homed? ( cryptsetup pam openssl )
- importd? ( curl lzma || ( gcrypt openssl ) )
- pwquality? ( homed )
- boot? ( kernel-install )
- ukify? ( boot )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="4.15"
-
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- apparmor? ( >=sys-libs/libapparmor-2.13:0= )
- audit? ( >=sys-process/audit-2:0= )
- bpf? ( >=dev-libs/libbpf-1.4.0:0= )
- cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
- curl? ( >=net-misc/curl-7.32.0: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.23.3:0= )
- pcre? ( dev-libs/libpcre2 )
- pwquality? ( >=dev-libs/libpwquality-1.4.1:0= )
- qrcode? ( >=media-gfx/qrencode-3:0= )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( >=sys-libs/libselinux-2.1.9: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}
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-# 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
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- 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-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-build/meson-0.46
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- bpf? (
- >=dev-util/bpftool-7.0.0
- sys-devel/bpf-toolchain
- )
- 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_DEPS}
- $(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_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-
-check_cgroup_layout() {
- # https://bugs.gentoo.org/935261
- [[ ${MERGE_TYPE} != buildonly ]] || return
- [[ -z ${ROOT} ]] || return
- [[ -e /sys/fs/cgroup/unified ]] || return
- grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return
-
- eerror "This system appears to be booted with the 'hybrid' cgroup layout."
- eerror "This layout obsolete and is disabled in systemd."
-
- if grep -qF 'systemd.unified_cgroup_hierarchy'; then
- eerror "Remove the systemd.unified_cgroup_hierarchy option"
- eerror "from the kernel command line and reboot."
- die "hybrid cgroup layout detected"
- fi
-}
-
-pkg_pretend() {
- if use split-usr; then
- eerror "Please complete the migration to merged-usr."
- eerror "https://wiki.gentoo.org/wiki/Merge-usr"
- die "systemd no longer supports split-usr"
- fi
-
- check_cgroup_layout
-
- if use cgroup-hybrid; then
- eerror "Disable the 'cgroup-hybrid' USE flag."
- eerror "Rebuild any initramfs images after rebuilding systemd."
- die "cgroup-hybrid is no longer supported"
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- local CONFIG_CHECK="~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 bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF"
- 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() {
- use boot && secureboot_pkg_setup
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}"/systemd-257-cred-util-tpm2.patch
- "${FILESDIR}"/257-ignore-sframe.patch
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-journald-audit-r1.patch"
- )
- fi
-
- default
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
-
- python_setup
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myconf=(
- --localstatedir="${EPREFIX}/var"
- # default is developer, bug 918671
- -Dmode=release
- -Dsupport-url="https://gentoo.org/support/"
- -Dpamlibdir="$(getpam_mod_dir)"
- # avoid bash-completion dep
- -Dbashcompletiondir="$(get_bashcompdir)"
- -Dsplit-bin=false
- # Disable compatibility with sysvinit
- -Dsysvinit-path=
- -Dsysvrcnd-path=
- # no deps
- -Dima=true
- # Match /etc/shells, bug 919749
- -Ddebug-shell="${EPREFIX}/bin/sh"
- -Ddefault-user-shell="${EPREFIX}/bin/bash"
- # Optional components/dependencies
- $(meson_native_use_feature acl)
- $(meson_native_use_feature apparmor)
- $(meson_native_use_feature audit)
- $(meson_native_use_feature boot bootloader)
- $(meson_native_use_feature bpf bpf-framework)
- -Dbpf-compiler=gcc
- $(meson_native_use_feature cryptsetup libcryptsetup)
- $(meson_native_use_feature curl libcurl)
- $(meson_native_use_bool dns-over-tls dns-over-tls)
- $(meson_native_use_feature elfutils)
- $(meson_native_use_feature fido2 libfido2)
- $(meson_feature gcrypt)
- $(meson_native_use_feature gnutls)
- $(meson_native_use_feature homed)
- $(meson_native_use_feature http microhttpd)
- $(meson_native_use_bool idn)
- $(meson_native_use_feature importd)
- $(meson_native_use_feature importd bzip2)
- $(meson_native_use_feature importd zlib)
- $(meson_native_use_bool kernel-install)
- $(meson_native_use_feature kmod)
- $(meson_feature lz4)
- $(meson_feature lzma xz)
- $(meson_use test tests)
- $(meson_feature zstd)
- $(meson_native_use_feature iptables libiptc)
- $(meson_native_use_feature openssl)
- $(meson_feature pam)
- $(meson_native_use_feature pkcs11 p11kit)
- $(meson_native_use_feature pcre pcre2)
- $(meson_native_use_feature policykit polkit)
- $(meson_native_use_feature pwquality)
- $(meson_native_use_feature qrcode qrencode)
- $(meson_native_use_feature seccomp)
- $(meson_native_use_feature selinux)
- $(meson_native_use_feature tpm tpm2)
- $(meson_native_use_feature test dbus)
- $(meson_native_use_feature ukify)
- $(meson_native_use_feature 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_enabled 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)
- )
-
- case $(tc-arch) in
- amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86)
- # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE
- myconf+=( $(meson_native_enabled vmspawn) ) ;;
- *)
- myconf+=( -Dvmspawn=disabled ) ;;
- esac
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_test() {
- (
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- export COLUMNS=80
- addpredict /dev
- addpredict /proc
- addpredict /run
- addpredict /sys/fs/cgroup
- meson_src_test --timeout-multiplier=10
- ) || die
-}
-
-multilib_src_install_all() {
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- insinto /usr/lib/tmpfiles.d
- doins "${FILESDIR}"/legacy.conf
-
- if ! use resolvconf; then
- rm -f "${ED}"/usr/bin/resolvconf || die
- fi
-
- if ! use sysv-utils; then
- rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || 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 /usr/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
-
- if use pam; then
- if use selinux; then
- newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user
- else
- newpamd "${FILESDIR}"/systemd-user.pam systemd-user
- fi
- fi
-
- if use kernel-install; then
- # Dummy config, remove to make room for sys-kernel/installkernel
- rm "${ED}/usr/lib/kernel/install.conf" || die
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-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 [[ -e ${EROOT}/etc/sysctl.conf ]]; then
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
- fi
-
- if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
- ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
- ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
- 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 [email protected] 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager (systemd)"
- systemctl daemon-reexec
- eend $? || FAIL=1
-
- # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html
- ebegin "Signaling user managers to reexec"
- systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
- eend $?
- 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
-
- if use boot; then
- optfeature "installing kernels in systemd-boot's native layout and update loader entries" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "generating unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- 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
-}
diff --git a/sys-apps/systemd/systemd-257.8-r1.ebuild b/sys-apps/systemd/systemd-257.8-r1.ebuild
deleted file mode 100644
index 4fc16bd378a4..000000000000
--- a/sys-apps/systemd/systemd-257.8-r1.ebuild
+++ /dev/null
@@ -1,571 +0,0 @@
-# Copyright 2011-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{11..13} )
-
-# 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
- MY_PV=${PV/_/-}
- MY_P=${PN}-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- fi
-fi
-
-inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1
-inherit secureboot systemd toolchain-funcs udev
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://systemd.io/"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="
- acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
- fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod
- +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
- +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd
-"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- dns-over-tls? ( || ( gnutls openssl ) )
- fido2? ( cryptsetup openssl )
- homed? ( cryptsetup pam openssl )
- importd? ( curl lzma || ( gcrypt openssl ) )
- pwquality? ( homed )
- boot? ( kernel-install )
- ukify? ( boot )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="4.15"
-
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- apparmor? ( >=sys-libs/libapparmor-2.13:0= )
- audit? ( >=sys-process/audit-2:0= )
- bpf? ( >=dev-libs/libbpf-1.4.0:0= )
- cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
- curl? ( >=net-misc/curl-7.32.0: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.23.3:0= )
- pcre? ( dev-libs/libpcre2 )
- pwquality? ( >=dev-libs/libpwquality-1.4.1:0= )
- qrcode? ( >=media-gfx/qrencode-3:0= )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( >=sys-libs/libselinux-2.1.9: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}
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-# 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
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- 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-build/meson-0.46
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- bpf? (
- >=dev-util/bpftool-7.0.0
- sys-devel/bpf-toolchain
- )
- 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_DEPS}
- $(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_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-
-check_cgroup_layout() {
- # https://bugs.gentoo.org/935261
- [[ ${MERGE_TYPE} != buildonly ]] || return
- [[ -z ${ROOT} ]] || return
- [[ -e /sys/fs/cgroup/unified ]] || return
- grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return
-
- eerror "This system appears to be booted with the 'hybrid' cgroup layout."
- eerror "This layout obsolete and is disabled in systemd."
-
- if grep -qF 'systemd.unified_cgroup_hierarchy'; then
- eerror "Remove the systemd.unified_cgroup_hierarchy option"
- eerror "from the kernel command line and reboot."
- die "hybrid cgroup layout detected"
- fi
-}
-
-pkg_pretend() {
- if use split-usr; then
- eerror "Please complete the migration to merged-usr."
- eerror "https://wiki.gentoo.org/wiki/Merge-usr"
- die "systemd no longer supports split-usr"
- fi
-
- check_cgroup_layout
-
- if use cgroup-hybrid; then
- eerror "Disable the 'cgroup-hybrid' USE flag."
- eerror "Rebuild any initramfs images after rebuilding systemd."
- die "cgroup-hybrid is no longer supported"
- fi
-
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- local CONFIG_CHECK="~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 bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF"
- 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() {
- use boot && secureboot_pkg_setup
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}"/systemd-257-cred-util-tpm2.patch
- "${FILESDIR}"/257-Revert-resolved-don-t-wait-for-TLS-close_notify-repl.patch
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-journald-audit-r1.patch"
- )
- fi
-
- default
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
-
- python_setup
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myconf=(
- --localstatedir="${EPREFIX}/var"
- -Ddocdir="share/doc/${PF}"
- # default is developer, bug 918671
- -Dmode=release
- -Dsupport-url="https://gentoo.org/support/"
- -Dpamlibdir="$(getpam_mod_dir)"
- # avoid bash-completion dep
- -Dbashcompletiondir="$(get_bashcompdir)"
- -Dsplit-bin=false
- # Disable compatibility with sysvinit
- -Dsysvinit-path=
- -Dsysvrcnd-path=
- # no deps
- -Dima=true
- # Match /etc/shells, bug 919749
- -Ddebug-shell="${EPREFIX}/bin/sh"
- -Ddefault-user-shell="${EPREFIX}/bin/bash"
- # Optional components/dependencies
- $(meson_native_use_feature acl)
- $(meson_native_use_feature apparmor)
- $(meson_native_use_feature audit)
- $(meson_native_use_feature boot bootloader)
- $(meson_native_use_feature bpf bpf-framework)
- -Dbpf-compiler=gcc
- $(meson_native_use_feature cryptsetup libcryptsetup)
- $(meson_native_use_feature curl libcurl)
- $(meson_native_use_bool dns-over-tls dns-over-tls)
- $(meson_native_use_feature elfutils)
- $(meson_native_use_feature fido2 libfido2)
- $(meson_feature gcrypt)
- $(meson_native_use_feature gnutls)
- $(meson_native_use_feature homed)
- $(meson_native_use_feature http microhttpd)
- $(meson_native_use_bool idn)
- $(meson_native_use_feature importd)
- $(meson_native_use_feature importd bzip2)
- $(meson_native_use_feature importd zlib)
- $(meson_native_use_bool kernel-install)
- $(meson_native_use_feature kmod)
- $(meson_feature lz4)
- $(meson_feature lzma xz)
- $(meson_use test tests)
- $(meson_feature zstd)
- $(meson_native_use_feature iptables libiptc)
- $(meson_native_use_feature openssl)
- $(meson_feature pam)
- $(meson_native_use_feature pkcs11 p11kit)
- $(meson_native_use_feature pcre pcre2)
- $(meson_native_use_feature policykit polkit)
- $(meson_native_use_feature pwquality)
- $(meson_native_use_feature qrcode qrencode)
- $(meson_native_use_feature seccomp)
- $(meson_native_use_feature selinux)
- $(meson_native_use_feature tpm tpm2)
- $(meson_native_use_feature test dbus)
- $(meson_native_use_feature ukify)
- $(meson_native_use_feature 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_enabled 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)
- )
-
- case $(tc-arch) in
- amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86)
- # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE
- myconf+=( $(meson_native_enabled vmspawn) ) ;;
- *)
- myconf+=( -Dvmspawn=disabled ) ;;
- esac
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_test() {
- (
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- export COLUMNS=80
- addpredict /dev
- addpredict /proc
- addpredict /run
- addpredict /sys/fs/cgroup
- meson_src_test --timeout-multiplier=10
- ) || die
-}
-
-multilib_src_install_all() {
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- insinto /usr/lib/tmpfiles.d
- doins "${FILESDIR}"/legacy.conf
-
- if ! use resolvconf; then
- rm -f "${ED}"/usr/bin/resolvconf || die
- fi
-
- if ! use sysv-utils; then
- rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || 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 /usr/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
-
- if use pam; then
- if use selinux; then
- newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user
- else
- newpamd "${FILESDIR}"/systemd-user.pam systemd-user
- fi
- fi
-
- if use kernel-install; then
- # Dummy config, remove to make room for sys-kernel/installkernel
- rm "${ED}/usr/lib/kernel/install.conf" || die
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-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 [[ -e ${EROOT}/etc/sysctl.conf ]]; then
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
- fi
-
- if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
- ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
- ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
- 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 [email protected] 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager (systemd)"
- systemctl daemon-reexec
- eend $? || FAIL=1
-
- # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html
- ebegin "Signaling user managers to reexec"
- systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
- eend $?
- 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
-
- if use boot; then
- optfeature "installing kernels in systemd-boot's native layout and update loader entries" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "generating unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- 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
-}