summaryrefslogtreecommitdiff
path: root/sys-apps
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-03 04:52:22 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-03 04:52:22 +0100
commitcde8c93952da8c35584929e3778914d821cd6800 (patch)
treef92c88974e6aed18720c1cd9b5675dce2d63d930 /sys-apps
parent1e9c38efad2f42ea208e40924d1e5936810ac7c0 (diff)
gentoo auto-resync : 03:08:2023 - 04:52:21
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/Manifest.gzbin49863 -> 49877 bytes
-rw-r--r--sys-apps/acl/Manifest2
-rw-r--r--sys-apps/acl/acl-2.3.1-r2.ebuild2
-rw-r--r--sys-apps/shadow/Manifest2
-rw-r--r--sys-apps/shadow/shadow-4.13-r4.ebuild2
-rw-r--r--sys-apps/systemd/Manifest2
-rw-r--r--sys-apps/systemd/files/systemd-254-varlink-allocate-heap.patch40
-rw-r--r--sys-apps/systemd/systemd-254-r1.ebuild527
8 files changed, 573 insertions, 4 deletions
diff --git a/sys-apps/Manifest.gz b/sys-apps/Manifest.gz
index 8d68a18db68b..d8f0e1e25927 100644
--- a/sys-apps/Manifest.gz
+++ b/sys-apps/Manifest.gz
Binary files differ
diff --git a/sys-apps/acl/Manifest b/sys-apps/acl/Manifest
index 71059f4ba93b..4a6444734ab2 100644
--- a/sys-apps/acl/Manifest
+++ b/sys-apps/acl/Manifest
@@ -1,6 +1,6 @@
AUX acl-2.3.1-musl-1.2.4-lfs64-fix.patch 1028 BLAKE2B 3ce13de7ee1f58b7fd1c39ca9b41132506f493e1c8b7e0b78ba312ced8f86b62146779e4cff4dcd53bbac613dd5311872cc38532f3ed30630ccbf3be44f45f88 SHA512 322a556e82be3e95dc9baf6964f2b80fd2f70f0d6f275221aa4ff9b8d8370b1a7b1517057a4c034ac5d9153c6bc83cd97f1a5fa3db1873537fbde78130eed1bf
DIST acl-2.3.1.tar.xz 355676 BLAKE2B 15e81e8159ddb21ef0c262bef3101c0b6fa546738a2ab74c01ccc21fd1c3dc8ab6aaf84a06dee6da22291f3ca4feeffa60c7d11bfac1ab770a6ec28e1f1655e0 SHA512 7d02f05d17305f8587ab485395b00c7fdb8e44c1906d0d04b70a43a3020803e8b2b8c707abb6147f794867dfa87bd51769c2d3e11a3db55ecbd2006a6e6231dc
EBUILD acl-2.3.1-r1.ebuild 1971 BLAKE2B cf1363a75104e369df946adaf99a9cb26ad9207418f90b283c5318b632b1ed47b7e47bf659500e25b3fb6b06f930b3fcaf5fca29c70d0da7680c7a925edd379f SHA512 065425580b662e56dac22d3bcde62e00bad9405646a993aecee3815c1062e114622433559f45b994aa757c1e72142c3fd512b8cde4b84e3b17ad210add00276f
-EBUILD acl-2.3.1-r2.ebuild 2039 BLAKE2B d15cc84b45f99a88610512a51fd765109779b62743bf95741fc68014f0edfa247e4cc5287c5b50c1151d4d292bdeee554755d3a9c234743eccae1701bde7cd24 SHA512 e2845ff2dc1ec98aa1790aa06d201bde3988068ad5511f67f1d461aeaa51f9c0a833e7ec474ce7d16ecbdf97948ec2b878b006c5b1435f3c6f3f4d1537827755
+EBUILD acl-2.3.1-r2.ebuild 2038 BLAKE2B 245949e8f2a30afec4eb0fe65fd585190c552d72a9116ef9b46c84b56f6dc2f6e775bb7314d01e8469f694357b8176eb1dfc10ec3a9c387fcacccbd92657b7a5 SHA512 562e6cb7887b9255f4794abcdc21fb65b3b5153d20897731754af8ceb27595f0c7e54b3c7347aeee20cdfa3f3b63ca6bdf62faa19756defc774b5f8e178143b3
EBUILD acl-2.3.1.ebuild 1411 BLAKE2B c872dcf27fccf0193428b73729982af5e2c4bfa4c27c846e283dd163e9b8da85cc20a6e7b93e2760ddb702a89326bea28699d98f4b57025f6055d740071c7d4b SHA512 bc6286a20b1adc7c7a48888639d074ffef069c38130621bb95ad6b04c3649dd855f56ccf40027b87ed758677fbd6d82b3781ee92e8886cb8612a70dadb32ad90
MISC metadata.xml 345 BLAKE2B b168c40ceb66cfacdb1fbe9b5031705f5c3249afeb872163663564dac2ea85e6fa857804831a80b4c44323223b417a24a156d27f8231396d5b090e44a0dc9288 SHA512 e0cbeec10fb47ace3d0fd3c1ba8a5a0bba02345a3e0df30aa82777507fb6ab75f2705b06e7635a00406d2b0839bc41d0a9fafcd8926844e1d9877b8cf2ed6f78
diff --git a/sys-apps/acl/acl-2.3.1-r2.ebuild b/sys-apps/acl/acl-2.3.1-r2.ebuild
index 0b93601194af..e94a237871d1 100644
--- a/sys-apps/acl/acl-2.3.1-r2.ebuild
+++ b/sys-apps/acl/acl-2.3.1-r2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="nls static-libs"
RDEPEND="
diff --git a/sys-apps/shadow/Manifest b/sys-apps/shadow/Manifest
index eef6bcdd9680..82a2d9419c41 100644
--- a/sys-apps/shadow/Manifest
+++ b/sys-apps/shadow/Manifest
@@ -10,5 +10,5 @@ AUX shadow-4.13-usermod-prefix-gid.patch 1206 BLAKE2B 8efa85ab6c4eee199b5cd21f70
DIST shadow-4.13.tar.xz 1762908 BLAKE2B 315ab8a7e598aeefb50c11293e20cfa0982c3c3ae21c35ae243d09a4facf97a13c1d672990876e74ef94f5284402acf14997663743e2aaefa6cfc4369b7d24dc SHA512 2949a728c3312bef13d23138d6b79caf402781b1cb179e33b5be546c1790971ec20778d0e9cd3dbe09691d928ffcbe88e60da42fab58c69a90d5ebe5e3e2ab8e
DIST shadow-4.13.tar.xz.asc 488 BLAKE2B de1f8285c5713a772343a2a7c638d1d13429dd4fa867d4f91d4922aa0d083b4a3110d38e8a8ab82137fdf4fecb12ba3677f3fb235401fc6438ae663fbd9bfbd2 SHA512 f8549c4e699c65721d53946d61b6127712572f7ad9ee13018ef3a25307002992aa727471c948d1bb22dcddf112715bed387d28f436123f30e153ae6bc0cd3648
EBUILD shadow-4.13-r3.ebuild 6691 BLAKE2B d0c7fc3f67abff01e1d4e837e48070f7e2ffb9d1c207ddfa0473fce913f5696dad249392a86d4c0e7f4d2d549544b2496707d5070138eee3a2921c102b385197 SHA512 933cf33c7134e40bd1d3f8802590605a2df5c0c6943358098b9e7cb62a97e7f89e4aa8a903a92c64182f92aca888dbbd2c326b8ea4eb5501f2805c36f70c74ef
-EBUILD shadow-4.13-r4.ebuild 6776 BLAKE2B 1944ec6a959d614adcdb41be0d650cf699568b1ddb00ac4a6c4d60903fc8bc78b9f88074661773d93ed60eb05ebb39389e483991873cb1a838051dfeb4c543d5 SHA512 72b8715d24bdfe65a3e5c1102d9eb5f9d305499ab54299b336848c55a07f78f3df71d68bedd260d229e18f23c0ceb7bc0bdceaa0578b65891675df4c13f87457
+EBUILD shadow-4.13-r4.ebuild 6775 BLAKE2B b3caeb552be66d4a807989edbdcc9814541f65c8cfd8581a9fcb6217630685f2d2520fc5148a4d4cf5b5b222fb515e8c07f3fc8a70096d4a990913df2c8c60e3 SHA512 4963b5c259f6b13a50b5e66f00ee9a516688e9be675673fa0f39e22ea6b9e94c483a00195505c76bf062fbe10801d989290c92f96a55b049b441cab89f59898d
MISC metadata.xml 606 BLAKE2B 2b14042f4702a908f8250c3fb6499ea33d8a8c44072707aa44881a36e3cc710256a821f8cd82c5214b32e9f5632745db4fdf00dd722f6fb7401e2f6b0bfbb4fd SHA512 694e039ae781982e8cbe6670b4e9c93b43455715ce4b9830a5fa61e6bf3eb91abcc284bf29c64fab055ba9754edaeab5d2da8140dbb2794fc1f534e2ccbb2b16
diff --git a/sys-apps/shadow/shadow-4.13-r4.ebuild b/sys-apps/shadow/shadow-4.13-r4.ebuild
index 0316a963203a..b137b06bc210 100644
--- a/sys-apps/shadow/shadow-4.13-r4.ebuild
+++ b/sys-apps/shadow/shadow-4.13-r4.ebuild
@@ -18,7 +18,7 @@ SRC_URI+=" verify-sig? ( https://github.com/shadow-maint/shadow/releases/downloa
LICENSE="BSD GPL-2"
# Subslot is for libsubid's SONAME.
SLOT="0/4"
-KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="acl audit bcrypt cracklib nls pam selinux skey split-usr su xattr"
# Taken from the man/Makefile.am file.
LANGS=( cs da de es fi fr hu id it ja ko pl pt_BR ru sv tr zh_CN zh_TW )
diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest
index 324bb598df3e..53ee78bd1a69 100644
--- a/sys-apps/systemd/Manifest
+++ b/sys-apps/systemd/Manifest
@@ -5,6 +5,7 @@ AUX nsswitch.conf 734 BLAKE2B 5f5a7821a84f6c8aa31fe9a68c29a1a0f24be578d427a623f1
AUX systemd-253-initrd-generators.patch 1486 BLAKE2B 85a7f714aa1743bd88e01b45624dc4104e4d762732745d9958019063f6ac91ffd89ae84e03f728e6040a58643f253a5ea7f77f44ef71620e686e23aed61876e4 SHA512 f8aab9f4bbf5a73c52144013fd7001dc78974211f11abb58a0f5eceff59b3ebf670409846fff854daec10219074602674176730f85583db0e81275289e89c66b
AUX systemd-253.5-services-stop.patch 1429 BLAKE2B 3e191d2f98173c4b75791b8ade557f250229021d50c84efb9010ed06bb9a4df6e0b084625d9c3c8dbb16b8378a7c62ddbb3be4cf17790169709c581c09802fea SHA512 74e3cab089d1d3ca1603b3180638dfe2a6a0dfc494b9b72920f1b0cbe659784582d9757ba1b3f75b0c6469ae88a782a26da89049b5571b0f1ec50e845092ab21
AUX systemd-254-dt_relr.patch 1054 BLAKE2B 7d457d6577a425ac07e6009d0ed5ed6e7c1c192175427c32dabfbb703f41c80f48a30524c0bfb5d555e5b848faea114a02e956d26854486fbd0b4e4d672a25c1 SHA512 c9b25a466278ff2be5812ae144670e06d9381610c1259814e5135a186e54c61d6db9142b7b5f301e3ad63cfdf119d7559e46c6a7d9e1317ff42ab457dbdd52c2
+AUX systemd-254-varlink-allocate-heap.patch 1589 BLAKE2B 49178b1290cc71803ee1ebd01ce41eb7c737e1886bfd1f902a21dc503d6182325965edc00c0b13d9b045359e867fad91b19489608b9f007f15ddb0ccd362c65b SHA512 895db3374b3db5e6aad37a73997280f3b07d8f096815fd5a1f91119c9898666605207d5b7037e22dafc9f0c8e1a20cf78e520bec969a238ab688dae9e6e33686
AUX systemd-user.pam 122 BLAKE2B cccc07cab47dfc0481438e503c34fa1a0b2c6b1f8ab282197719a523421d2a526f19230bb459e0347cbeb2046e35a407c78178a3fb5b79619e987cbc4ac7d5e4 SHA512 c5437677ff00fbb45798fe594e8d61b1c2bfc2d103105d7bd82e476240452477ac263700800f5d0ba91ddc895eb85f4517d5cb15c80611ec1680a686d47cd781
DIST systemd-254.tar.gz 14320490 BLAKE2B 4703ac102dd0003a2ef59dfd9b6fc6345b57cf1ff6397ebc71b3e9abb35ad5b891d114038a91eddba25b4ec81b8208a36691bc5490173b223ba35842cd1776d4 SHA512 84b4d16980fe2e64d5c3c95b9b4fbaad1076f368f493fdd745cbafbe7ce825293384f5fa0b6360ba8188da23c4575e87402fb666a3b71f84ff8b323aba0c07ff
DIST systemd-stable-253.3.tar.gz 11996044 BLAKE2B fdbac11914ea4a3718dd48c19f0dc34db798e68f36e2e858536e4ef50e376380a250ad59dbbd1ccec4ed73e59efd198dcc0aa85faafa9d6f85d4b2e1de67ccfa SHA512 2c686d83b8b09efa09e09c82feb965f3cfceb6338e42b57d4133dc9ffe52592c67bce9bc9e294c69bc831294e3cbdcc391aba778f10d7b408cef90a85c0ab8aa
@@ -18,6 +19,7 @@ EBUILD systemd-253.5-r1.ebuild 14719 BLAKE2B 6cd3532df5b775aa0f4a73029d0c31c74e6
EBUILD systemd-253.5.ebuild 14588 BLAKE2B ac789628c1caa53681c78be188c85a660fd61a416925cb0d2e5afc9972708efece0e65a52beae8870091cfca24751b741cabac2bb0934f16f90ea48e59eb67d1 SHA512 0877b4c30e086c98fdeae3a9beb56cc97aab0b5467882dcae748af1a639e551d2fa937f9acfe2f4bc16b663e45ef8efdb7e84cc358cc944fde0fd0334c8427af
EBUILD systemd-253.6.ebuild 14667 BLAKE2B 3b154c55c573e2306f871c362f3d7207fb9b7efee374f118cf4b94477a3e01060b473b293fe86d3ba0923fd9cd7d9e9f8b06490f59514002caadf1b203387e7d SHA512 3c39c8742b35540bb7d70e9277876c10e648e78d4e549cb65bb0a4b843aca3bbea91ee39e0698b294415e9e77dd6c7f350497fe5f841619e11cd2301950bafc0
EBUILD systemd-253.7.ebuild 14669 BLAKE2B 106db6ca3073de27cd0f7c72b30397da77cbd98dfe1d1357f67d39f61e722c47d7fd5b3b7378e329883e9894cfe90159f3db50400ca5d791b438907b00b797b3 SHA512 56e632a1f7d396607df97f3bfbde8e85ed4534b69b341e196356adf26f932f54db0bde0365ea5e4ef8c84e36662b61b7465ba4b3336c0eebbaa3932554c13eaa
+EBUILD systemd-254-r1.ebuild 14908 BLAKE2B d5ae4c40c0402684a62723c2e3bbda1d6643b9e4c90adff6b3c54d2dadc9f46fa866d4fd9ef9b930d6497b57e51e0a415142217946d0791ed8f1791707af521b SHA512 f3dd37bd29726fd6e94bdd72da068707449b0b6add099c1b085c626601355ed477a9439704f00270c8a8f4db5396769d58f90c4bada5fab6bded688c54205906
EBUILD systemd-254.ebuild 14852 BLAKE2B 7c5fc2e910b20f2efc7a54a0092667390e271aa45927ec10445235b442a652fdf916779ba218bf4a6bfb1d56bc81521b3e82cc2a5703768729060207eb6e40a8 SHA512 e679d5733b598fb195ea0dec3482536269c7abcaac8a7b1e08dc97a77f65d58c66c8709058fa41ebe97926ea0caa50bea216b05d72a134824713d68c8a7fc847
EBUILD systemd-9999.ebuild 13801 BLAKE2B a045523e6b34d3691051f0e571a48a6a775e4a220bf4162a799c28de7cac62b248e24a04160d68c2c0d7aceacd96195866b5239f03c111481ae467ee67423b87 SHA512 a38d5d95f5d32a30ca0967b3aa3ab98bf5987da7dd190ea4702500af19b38b71a2b243a6734db10f385c606709abc7cdf9cb92bc788d5dff7d4f7bacf7657f9f
MISC metadata.xml 2612 BLAKE2B 60495769a304d0623f73de8eb305770eb93706fdcbea158a2de2beb72e5d04495fc5ef45b4e55d3003a9a70bc3f60a7a5d6880aaac9512647132be69f96112ad SHA512 397f63a498b46647edfb665f92680197607de5edef42c3c17ab96abf94f117d82eda4863bf138329e25880609e8c631e9d154277e8a548eafbe87e8b83e47ccc
diff --git a/sys-apps/systemd/files/systemd-254-varlink-allocate-heap.patch b/sys-apps/systemd/files/systemd-254-varlink-allocate-heap.patch
new file mode 100644
index 000000000000..85f306a175f3
--- /dev/null
+++ b/sys-apps/systemd/files/systemd-254-varlink-allocate-heap.patch
@@ -0,0 +1,40 @@
+https://bugs.gentoo.org/911583
+https://github.com/systemd/systemd/issues/28635
+https://github.com/systemd/systemd/commit/b456f2266afd839f8817235475e57c38e9d76dc9
+
+From b456f2266afd839f8817235475e57c38e9d76dc9 Mon Sep 17 00:00:00 2001
+From: Frantisek Sumsal <frantisek@sumsal.cz>
+Date: Wed, 2 Aug 2023 14:55:50 +0200
+Subject: [PATCH] varlink: allocate the buffer for varlink FDs on the heap
+
+Since it's ~16K, which might cause issues in environments with limited
+stack space.
+
+Resolves: #28635
+--- a/src/shared/varlink.c
++++ b/src/shared/varlink.c
+@@ -633,7 +633,7 @@ static int varlink_write(Varlink *v) {
+ #define VARLINK_FDS_MAX (16U*1024U)
+
+ static int varlink_read(Varlink *v) {
+- CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(int) * VARLINK_FDS_MAX)) control;
++ _cleanup_free_ struct cmsghdr *cmsg_fds = NULL;
+ struct iovec iov;
+ struct msghdr mh;
+ size_t rs;
+@@ -690,9 +690,13 @@ static int varlink_read(Varlink *v) {
+ mh = (struct msghdr) {
+ .msg_iov = &iov,
+ .msg_iovlen = 1,
+- .msg_control = &control,
+- .msg_controllen = sizeof(control),
+ };
++
++ mh.msg_controllen = CMSG_SPACE(sizeof(int) * VARLINK_FDS_MAX);
++ mh.msg_control = cmsg_fds = malloc(mh.msg_controllen);
++ if (!cmsg_fds)
++ return -ENOMEM;
++
+ n = recvmsg_safe(v->fd, &mh, MSG_DONTWAIT|MSG_CMSG_CLOEXEC);
+ } else {
+ bool prefer_read = v->prefer_read_write;
diff --git a/sys-apps/systemd/systemd-254-r1.ebuild b/sys-apps/systemd/systemd-254-r1.ebuild
new file mode 100644
index 000000000000..3ea2cd6d62b0
--- /dev/null
+++ b/sys-apps/systemd/systemd-254-r1.ebuild
@@ -0,0 +1,527 @@
+# Copyright 2011-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..11} )
+
+# Avoid QA warnings
+TMPFILES_OPTIONAL=1
+UDEV_OPTIONAL=1
+
+QA_PKGCONFIG_VERSION=$(ver_cut 1)
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/systemd/systemd.git"
+ inherit git-r3
+else
+ if [[ ${PV} == *.* ]]; then
+ MY_PN=systemd-stable
+ else
+ MY_PN=systemd
+ fi
+ MY_PV=${PV/_/-}
+ MY_P=${MY_PN}-${MY_PV}
+ S=${WORKDIR}/${MY_P}
+ SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+inherit bash-completion-r1 linux-info meson-multilib pam python-single-r1
+inherit secureboot systemd toolchain-funcs udev usr-ldscript
+
+DESCRIPTION="System and service manager for Linux"
+HOMEPAGE="http://systemd.io/"
+
+LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0/2"
+IUSE="
+ acl apparmor audit boot cgroup-hybrid cryptsetup curl +dns-over-tls elfutils
+ fido2 +gcrypt gnutls homed http idn importd iptables +kmod
+ +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode
+ +resolvconf +seccomp selinux split-usr +sysv-utils test tpm vanilla xkb +zstd
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ dns-over-tls? ( || ( gnutls openssl ) )
+ fido2? ( cryptsetup openssl )
+ homed? ( cryptsetup pam openssl )
+ importd? ( curl lzma || ( gcrypt openssl ) )
+ pwquality? ( homed )
+"
+RESTRICT="!test? ( test )"
+
+MINKV="4.15"
+
+COMMON_DEPEND="
+ >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
+ sys-libs/libcap:0=[${MULTILIB_USEDEP}]
+ virtual/libcrypt:=[${MULTILIB_USEDEP}]
+ acl? ( sys-apps/acl:0= )
+ apparmor? ( sys-libs/libapparmor:0= )
+ audit? ( >=sys-process/audit-2:0= )
+ cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= )
+ curl? ( net-misc/curl:0= )
+ elfutils? ( >=dev-libs/elfutils-0.158:0= )
+ fido2? ( dev-libs/libfido2:0= )
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
+ gnutls? ( >=net-libs/gnutls-3.6.0:0= )
+ http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] )
+ idn? ( net-dns/libidn2:= )
+ importd? (
+ app-arch/bzip2:0=
+ sys-libs/zlib:0=
+ )
+ kmod? ( >=sys-apps/kmod-15:0= )
+ lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] )
+ iptables? ( net-firewall/iptables:0= )
+ openssl? ( >=dev-libs/openssl-1.1.0:0= )
+ pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] )
+ pkcs11? ( app-crypt/p11-kit:0= )
+ pcre? ( dev-libs/libpcre2 )
+ pwquality? ( dev-libs/libpwquality:0= )
+ qrcode? ( media-gfx/qrencode:0= )
+ seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
+ selinux? ( sys-libs/libselinux:0= )
+ tpm? ( app-crypt/tpm2-tss:0= )
+ xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= )
+ zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] )
+"
+
+# Newer linux-headers needed by ia64, bug #480218
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-${MINKV}
+"
+
+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
+ boot? (
+ ${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-util/meson-0.46
+ >=sys-apps/coreutils-8.16
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? (
+ app-text/tree
+ dev-lang/perl
+ sys-apps/dbus
+ )
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt:0
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep "
+ dev-python/jinja[\${PYTHON_USEDEP}]
+ dev-python/lxml[\${PYTHON_USEDEP}]
+ boot? (
+ dev-python/pyelftools[\${PYTHON_USEDEP}]
+ test? ( ${PEFILE_DEPEND} )
+ )
+ ")
+"
+
+QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
+QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != buildonly ]]; then
+ if use test && has pid-sandbox ${FEATURES}; then
+ ewarn "Tests are known to fail with PID sandboxing enabled."
+ ewarn "See https://bugs.gentoo.org/674458."
+ fi
+
+ local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS
+ ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE
+ ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS
+ ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS
+ ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH
+ ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED
+ ~!SYSFS_DEPRECATED_V2"
+
+ use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
+ use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER"
+
+ if kernel_is -ge 5 10 20; then
+ CONFIG_CHECK+=" ~KCMP"
+ else
+ CONFIG_CHECK+=" ~CHECKPOINT_RESTORE"
+ fi
+
+ if kernel_is -ge 4 18; then
+ CONFIG_CHECK+=" ~AUTOFS_FS"
+ else
+ CONFIG_CHECK+=" ~AUTOFS4_FS"
+ fi
+
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ if linux_chkconfig_present X86; then
+ CONFIG_CHECK+=" ~DMIID"
+ fi
+ fi
+
+ if kernel_is -lt ${MINKV//./ }; then
+ ewarn "Kernel version at least ${MINKV} required"
+ fi
+
+ check_extra_config
+ fi
+}
+
+pkg_setup() {
+ use boot && secureboot_pkg_setup
+}
+
+src_unpack() {
+ default
+ [[ ${PV} != 9999 ]] || git-r3_src_unpack
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/systemd-253-initrd-generators.patch"
+ "${FILESDIR}/systemd-254-dt_relr.patch"
+ "${FILESDIR}/systemd-254-varlink-allocate-heap.patch"
+ )
+
+ if ! use vanilla; then
+ PATCHES+=(
+ "${FILESDIR}/gentoo-generator-path-r2.patch"
+ "${FILESDIR}/gentoo-journald-audit-r1.patch"
+ )
+ fi
+
+ # Fails with split-usr.
+ sed -i -e '2i exit 77' test/test-rpm-macros.sh || die
+
+ default
+}
+
+src_configure() {
+ # Prevent conflicts with i686 cross toolchain, bug 559726
+ tc-export AR CC NM OBJCOPY RANLIB
+
+ python_setup
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --localstatedir="${EPREFIX}/var"
+ -Dsupport-url="https://gentoo.org/support/"
+ -Dpamlibdir="$(getpam_mod_dir)"
+ # avoid bash-completion dep
+ -Dbashcompletiondir="$(get_bashcompdir)"
+ $(meson_use split-usr)
+ $(meson_use split-usr split-bin)
+ -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
+ -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
+ # Disable compatibility with sysvinit
+ -Dsysvinit-path=
+ -Dsysvrcnd-path=
+ # Avoid infinite exec recursion, bug 642724
+ -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit"
+ # no deps
+ -Dima=true
+ -Ddefault-hierarchy=$(usex cgroup-hybrid hybrid unified)
+ # Optional components/dependencies
+ $(meson_native_use_bool acl)
+ $(meson_native_use_bool apparmor)
+ $(meson_native_use_bool audit)
+ $(meson_native_use_bool boot bootloader)
+ $(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 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 xkb xkbcommon)
+ -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
+ # Breaks screen, tmux, etc.
+ -Ddefault-kill-user-processes=false
+ -Dcreate-log-dirs=false
+
+ # multilib options
+ $(meson_native_true backlight)
+ $(meson_native_true binfmt)
+ $(meson_native_true coredump)
+ $(meson_native_true environment-d)
+ $(meson_native_true firstboot)
+ $(meson_native_true hibernate)
+ $(meson_native_true hostnamed)
+ $(meson_native_true ldconfig)
+ $(meson_native_true localed)
+ $(meson_native_true man)
+ $(meson_native_true networkd)
+ $(meson_native_true quotacheck)
+ $(meson_native_true randomseed)
+ $(meson_native_true rfkill)
+ $(meson_native_true sysusers)
+ $(meson_native_true timedated)
+ $(meson_native_true timesyncd)
+ $(meson_native_true tmpfiles)
+ $(meson_native_true vconsole)
+ )
+
+ meson_src_configure "${myconf[@]}"
+}
+
+multilib_src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
+ local -x COLUMNS=80
+ meson_src_test
+}
+
+multilib_src_install_all() {
+ local rootprefix=$(usex split-usr '' /usr)
+ local sbin=$(usex split-usr sbin bin)
+
+ # meson doesn't know about docdir
+ mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
+
+ einstalldocs
+ dodoc "${FILESDIR}"/nsswitch.conf
+
+ insinto /usr/lib/tmpfiles.d
+ doins "${FILESDIR}"/legacy.conf
+
+ if ! use resolvconf; then
+ rm -f "${ED}${rootprefix}/${sbin}"/resolvconf || die
+ fi
+
+ if ! use sysv-utils; then
+ rm "${ED}${rootprefix}/${sbin}"/{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 "${rootprefix}"/lib/systemd/{system-sleep,system-shutdown}
+ keepdir /usr/lib/{binfmt.d,modules-load.d}
+ keepdir /usr/lib/systemd/user-generators
+ keepdir /var/lib/systemd
+ keepdir /var/log/journal
+
+ if use pam; then
+ newpamd "${FILESDIR}"/systemd-user.pam systemd-user
+ fi
+
+ if use split-usr; then
+ # Avoid breaking boot/reboot
+ dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd
+ dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown
+ fi
+
+ gen_usr_ldscript -a systemd udev
+
+ if use boot; then
+ python_fix_shebang "${ED}"
+ secureboot_auto_sign
+ fi
+}
+
+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 split-usr; then
+ local dir
+ for dir in bin sbin lib usr/sbin; do
+ if [[ ! -L ${EROOT}/${dir} ]]; then
+ eerror "'${EROOT}/${dir}' is not a symbolic link."
+ FAIL=1
+ fi
+ done
+ if [[ ${FAIL} ]]; then
+ eerror "Migration to system layout with merged directories must be performed before"
+ eerror "installing ${CATEGORY}/${PN} with USE=\"-split-usr\" to avoid run-time breakage."
+ die "System layout with split directories still used"
+ fi
+ fi
+ 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 getty@.service remote-fs.target || FAIL=1
+ fi
+ elog "To enable a useful set of services, run the following:"
+ elog " systemctl preset-all --preset-mode=enable-only"
+ fi
+
+ if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then
+ rm "${EROOT}/var/lib/systemd/timesync"
+ fi
+
+ if [[ ${FAIL} ]]; then
+ eerror "One of the postinst commands failed. Please check the postinst output"
+ eerror "for errors. You may need to clean up your system and/or try installing"
+ eerror "systemd again."
+ eerror
+ fi
+}
+
+pkg_prerm() {
+ # If removing systemd completely, remove the catalog database.
+ if [[ ! ${REPLACED_BY_VERSION} ]]; then
+ rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
+ fi
+}