summaryrefslogtreecommitdiff
path: root/sys-apps/systemd
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/systemd')
-rw-r--r--sys-apps/systemd/Manifest17
-rw-r--r--sys-apps/systemd/files/247-cgroup-test.patch35
-rw-r--r--sys-apps/systemd/files/248-rfkill.patch35
-rw-r--r--sys-apps/systemd/files/gentoo-pam-r1.patch33
-rw-r--r--sys-apps/systemd/files/gentoo-systemctl-disable-sysv-sync.patch25
-rw-r--r--sys-apps/systemd/files/systemd-user.pam5
-rw-r--r--sys-apps/systemd/systemd-246-r2.ebuild532
-rw-r--r--sys-apps/systemd/systemd-246.6.ebuild537
-rw-r--r--sys-apps/systemd/systemd-247.2-r4.ebuild546
-rw-r--r--sys-apps/systemd/systemd-249_rc1.ebuild (renamed from sys-apps/systemd/systemd-248.ebuild)178
-rw-r--r--sys-apps/systemd/systemd-9999.ebuild33
11 files changed, 86 insertions, 1890 deletions
diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest
index c68a9748a681..8a1d7b667fd4 100644
--- a/sys-apps/systemd/Manifest
+++ b/sys-apps/systemd/Manifest
@@ -1,21 +1,12 @@
-AUX 247-cgroup-test.patch 1859 BLAKE2B e97d638c96e0f9c783736227031ac8774dfa5c2040bfb828abbbc14faa1edde312187ff2314d9f762081bc93dd5ecec077229e30aeb46ade43410c961feed965 SHA512 1c08ce1e7a8e56b68966666d8af5764f903e2d851a288e3e1bc78ad58f7223d7a52486ed4b1c1a4afef0ba24e4b90eecea56df9f2139c771a935e050bf436aff
-AUX 248-rfkill.patch 2060 BLAKE2B 498bbd4eb1a38e10583ac00f4474aa331cf7a6fb9a4b826b9c59d7e91e6b26e23eef41cc631c8534a8266b0de6e4cb15c1d92785a2f12ee9d37ed864b8d05215 SHA512 9988bc85ea0c4a49d59b4b669bb7c757cefe3cd0ed12bbc31238ad90c43f14494d6ccbf907a47d2aeeb08ae9c374dac64e5b602346aff7234b96c90f3758a83d
AUX gentoo-generator-path-r2.patch 994 BLAKE2B 2bfb42623221291030fa9f7310e9bf747351a26f6ffd842628298787b74d4ec562bacaa9fc5365f7e854f695dab5f74bc06883fefc1f210dce4fd415926817ac SHA512 98054222ea232e120625573b6a532c312eccc02fe657152610b7d056b964bb2165fffae9d17fd986cf547af885d44c26b117fe68df5b24e2607d37f3729d0ada
AUX gentoo-journald-audit.patch 1485 BLAKE2B 9cba28ce907330bbc1eafcf04a837987ed68272fcfa9cc34a309ff5d4cc2230f71a6f7fed42c79afb1c96605df141e8e40b2d8290d12ad3c18038269814f2df8 SHA512 d77d4dae9f8a7819c6d4855476f3163ee19f52b20f66a93e25818f0747404462c47e3cafbd82ba85ce1b3d2fdbabdd96a0398b71149b318c540d82403f8ad0ad
-AUX gentoo-pam-r1.patch 974 BLAKE2B 17a54f41fed72c8c319d287464c242c5a210bc5eb3f0805b8fe437fcda4146eabec210ca4721ff3695260d190f57e134997b52f82865a0dabe7977083f44af5d SHA512 caa17ccbd874d2760fbffb804ced108cc3bd15326d2b49ded034e3d2322aebf531f65f07930f58b7ae018dd3eefcfdf0643cae5cf992934dcbdb7cb577279b69
AUX gentoo-pam.patch 974 BLAKE2B 48e292bd37a32709e459c41b04fdf8dc0e51962cb72896b4bdcdf4a8a9dd87031abce6bec2a6ed1578520f61a014de2c0127a5f96e8feec11b120e7e91b09c89 SHA512 69e50d1cec1e2d927365a97aebffe1024f600a8e5779e214fdc6fa35499786382375edb645d4c8c7c1745b96cd1e5cf83b4b9fc4daffdc1977bf7c7a50891db0
AUX gentoo-systemctl-disable-sysv-sync-r1.patch 821 BLAKE2B f5ef796725e023bb1ed83b34a3e4d45bb008de9a134892a5321b37b56809c7a44530d18e33c7877177e8b64b2d89dfc2de844bed433db6d5e57831d20fbfb456 SHA512 8d697dbd305f6b95a4ddc47cf9d99a0e954f54e161bd59164917b62a78ff5c23fa2d5be2614569c0a2297595dae59e1ee71bb04da72cbe0c0807e1abd7da974d
-AUX gentoo-systemctl-disable-sysv-sync.patch 784 BLAKE2B b2a1a931e1fa0c41d5610dba624e3f168a7bd7a54f83eb2e208b9d596645819e4e4d977876d032c5b98d392c846736b7be3e758aa53cf7b724eeda8d02c19ce5 SHA512 043a7bba0fac81a4a5eb1217cdfdd90cbdc7b2f01327d96b6f2cc12f3e8be4976e55e40a1dfbcc94d8ec35230c7e02a10e85e593a6faa355e675e202073991b3
AUX nsswitch.conf 734 BLAKE2B 5f5a7821a84f6c8aa31fe9a68c29a1a0f24be578d427a623f14a9ef795e7da481f226efe5511d92932b5edf5638fa719808a0c3a0b8fd340799dd6bcb703a0a1 SHA512 dcbd51dacaaebdff32edb3840cc7b9b47b6521009b8786690e3673a2e78bc60bfd8e591b1048c5d452117c6659b9917ae2864462f5057cc39b704b0130522e60
-DIST systemd-246.tar.gz 9534036 BLAKE2B 71b72abcd4d066d35d45d9835d41bec8faa9a7eddc80b48fe7073223f07d32f78a8442c52dc0800940f9750d9c5502123a633738981d797cf610d85df2035bf0 SHA512 7103f7da53f7ced3b5543c238f23bd11c82af8e37166c1720a90576b6b431b4329320c78726166c65a9f5e101dd465c0a86dd13c586c4e55e608a6273d8f324f
-DIST systemd-248.tar.gz 10306883 BLAKE2B 3cb25d6101136a5f57e841d3f464f0d7649f6c1cb190b25e4dbf0a8f2be075d04a3cbe92e2fee5bb6a03b73bd8195d8c7b691661b39b7850547d512219cc40af SHA512 486f6ac6c2897a2aac97a59306091a03fd50768340407401e1f088ea5b21c67dae726bff4cbe53cec6b89a8f0ee72205b340165a4fe3a3c16cff6d176506c6e0
-DIST systemd-stable-246.6.tar.gz 9545237 BLAKE2B 5290736b30ca1a3188335a74d49b4f3e8b48007d9563efac1985ea6428a8b8fd6cad7ae87c35e13a32f851ebd27821829738274d35cfbff9340750bd3b086621 SHA512 1936b291d9831cf61f800fe718a4c2c2fe9b2a11fd817fe32bd48da2087a675dfc91013209a3478ea52e8ada593300ed906e248b8081dcf9141bf1cc17483ea9
-DIST systemd-stable-247.2.tar.gz 9890845 BLAKE2B 5363f429f4e629b9a05248b77f7c102da37e23c5678e14621ca67edeea59d7995064d037f04eb0ce57dd17a1b3a40a04e00619f77dbde82a61aabbc02f5bc412 SHA512 220739bedb7ccbb35d9d2ff441a52e0615fbe80da5141f7e0420d469f4d66d3604ea72ce70c3deaa2afa5a32b3c7eec4340738337c96891b471e23ed43cd6a82
+AUX systemd-user.pam 122 BLAKE2B cccc07cab47dfc0481438e503c34fa1a0b2c6b1f8ab282197719a523421d2a526f19230bb459e0347cbeb2046e35a407c78178a3fb5b79619e987cbc4ac7d5e4 SHA512 c5437677ff00fbb45798fe594e8d61b1c2bfc2d103105d7bd82e476240452477ac263700800f5d0ba91ddc895eb85f4517d5cb15c80611ec1680a686d47cd781
+DIST systemd-249-rc1.tar.gz 10562205 BLAKE2B c1bc18d3980efdf0bd8ce0ebf5cdeab392793bbe788bc858de47a66b0ef698c9aa94cefb1ac297f991a9ad5e3c2e267b531b48990d27c604adac0636d2722001 SHA512 dd75fd6a2f63ce296973c7052ebd199619c99805935e9e04a65b58b0de6053f51157233070f32a4731c43cb65e8d232051a0b5c26508256218ae63f11cd24f1b
DIST systemd-stable-248.3.tar.gz 10320940 BLAKE2B 725494e0197dd182de55e4967088f4b4b709e6b2242723368b6cd95606582e01a57322b1f18fa194149055140a90993696734ad3c004843bfaceb72cd04a3a84 SHA512 8e7ff0d5e63cc933e4dc23f7e0bef9707fde90396605eb8822d34de90d7abe8fd37e5739e33b657868218aa7281147cc944c096c007324c3e6fb54d833a83485
-EBUILD systemd-246-r2.ebuild 15296 BLAKE2B 91f3b46502254f87a3238c58b44e8d9b3452e785ac7c03e27aed967aa1c5722d667df46fdba74becd72a94b69dffa4c929e19e01733e17146897a611e8944cec SHA512 6942d33e12f48006c7d2b11c491d30b60f69fcf2f847fa3e02a4d58506f4b9f3e76ec80c8eabe6635bcc92df03bc3df192471ff9d74dcba9f5d35fc0a65abd20
-EBUILD systemd-246.6.ebuild 15393 BLAKE2B 9e107dc2e511b55e338faa6706e1e5959a598afd44886a51ed9ee0be001944a5541fafe02dd818fbce0b679ffa47af58d0d2444c9757eb9aa4ce835a3a649ebe SHA512 17d667ce4ea662d94206c3b04d206f0b0f14d94ae9c19d969c9b235f3f32dc63b10ba5116c3e96dc59b873c495c3a2c4039e0de3a2bc64c7375c088979e1c592
-EBUILD systemd-247.2-r4.ebuild 15762 BLAKE2B 41d0aed008171bc05738adab0028dacf4a45b43345b534043a949392611b080e572673fbda0a0d0326ded33e03f12873a675ddd0a3c687f7bbdf7f068bde8348 SHA512 e2ffeae0abb0cbc363134f4d0184bb73e96200172cb82858e4ab775fedb256f5e6ec1e848d82e6f82b90634efc9ff9d0bdcd94088951c8a6a329bd8dac561759
EBUILD systemd-248.3.ebuild 15159 BLAKE2B d19e7cfb3f0fd95e605fe6546c791ab5a55b904ce39a65e2bad7c8a42bfabd9a357a8a332d58ba83714734a6c8f948272e7ebaadbe018834d53ac2b85294ec9b SHA512 318d13251b4bf5546972dfa61bfa3b0e3aaf1183c558c0cc2cffb975bc9d06025dd48565fe30a162019d6ab3a8235d2148dc3cfecf12327026cfcd181d7f55b7
-EBUILD systemd-248.ebuild 15858 BLAKE2B 53e11d0215eabdea015fb2e652d9889d247caa2dae3ebc905f9b92769002a57a95106b986ac96fdb8078ce11d62df54884a1b7fea28804794485565fb237f623 SHA512 3130c20e6ce32ba1e132fa245d4880d391ffc46b9de6d9f968621fb992802180f910043eec79185f404930ca117d1eb821bdea83dffe16ec3d79e63fb0cb6352
-EBUILD systemd-9999.ebuild 15285 BLAKE2B df9eb3ecb869f0814369ca2c0258f7d454e2ca9a003dafb8f88163bb1702487081456e309803e065e5db5cb840114889095c4ead9305396e67bdc061469cb511 SHA512 87af259ea658e1082372bb38ad9af5ac52c58215530e3dff99159ea60ec9fd88dd5914a2bc9681ec3312000cbf9cc4577c8e9a306dae194e4e84ade6e6b2f09b
+EBUILD systemd-249_rc1.ebuild 14796 BLAKE2B 7633a5081102e9155d062a5678693cddfded6234abda07de294dae323b66c1852e881295fe5dd09df9ecf05235af358e469fa5fc04089e5f1b8bab75df6bf8c2 SHA512 53f1ac78b96f26b9ff255c92cd3a2de7a8384fc51db4aecdc26ad07178139f4b7fcb7cf9a3c617bf3f3e48117f369f4baf9185e07dc0871c5cd8c8a84d3bf6af
+EBUILD systemd-9999.ebuild 14795 BLAKE2B 96b02c4c1317770f573dbd8d2673a4312344cdcc52e67df235ab6c6eb6c0eacf3d5c3668fd876087ee8211df73bf79ee9e5a87aca4788584fbfe3f01e6664ca2 SHA512 81cd0aa4edd73463494422243e7006a38740e88f9adcf935715e548d1e19c1855b44d2611a724732ee853e5b53f038e60f072062265f501e8d61233efd920f30
MISC metadata.xml 2418 BLAKE2B bec7b05950f495cd678359bca70723286c33d4943407fee45e1214a53d9bfbbb25d3612a5b1bb51d885c38ea63719b3de2f0341d2b8aeb5d5919a29459cb89e4 SHA512 46979fbafe3561a722efefeb82e283e221cb930e56e9f43c25a47c299712dac21f6ef4c970afed86cb390e21dc8dd86b23eea310d5dd7e66a7a6fde250b929d7
diff --git a/sys-apps/systemd/files/247-cgroup-test.patch b/sys-apps/systemd/files/247-cgroup-test.patch
deleted file mode 100644
index bfa4422a6211..000000000000
--- a/sys-apps/systemd/files/247-cgroup-test.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ddfc6ad061ad47caeeff901d27cbc59af85e0db3 Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Tue, 9 Mar 2021 17:57:37 -0500
-Subject: [PATCH] cg_unified_cached: return ENOMEDIUM if we cannot find a known
- hierarchy
-
-When the test suite is being run in a foreign environment,
-/sys/fs/cgroup might not be set up in a way that we recognize.
-Returning ENOMEDIUM causes the tests to be skipped in this case.
-
-Bug: https://bugs.gentoo.org/771819
----
- src/basic/cgroup-util.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
-index 527043a2b39..0b252eb28fb 100644
---- a/src/basic/cgroup-util.c
-+++ b/src/basic/cgroup-util.c
-@@ -2052,8 +2052,14 @@ int cg_unified_cached(bool flush) {
- unified_cache = CGROUP_UNIFIED_SYSTEMD;
- unified_systemd_v232 = false;
- } else {
-- if (statfs("/sys/fs/cgroup/systemd/", &fs) < 0)
-+ if (statfs("/sys/fs/cgroup/systemd/", &fs) < 0) {
-+ if (errno == ENOENT) {
-+ /* Some other software may have set up /sys/fs/cgroup in a configuration we do not recognize. */
-+ log_debug_errno(errno, "Unsupported cgroupsv1 setup detected: name=systemd hierarchy not found.");
-+ return -ENOMEDIUM;
-+ }
- return log_debug_errno(errno, "statfs(\"/sys/fs/cgroup/systemd\" failed: %m");
-+ }
-
- if (F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) {
- log_debug("Found cgroup2 on /sys/fs/cgroup/systemd, unified hierarchy for systemd controller (v232 variant)");
diff --git a/sys-apps/systemd/files/248-rfkill.patch b/sys-apps/systemd/files/248-rfkill.patch
deleted file mode 100644
index 122508704355..000000000000
--- a/sys-apps/systemd/files/248-rfkill.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ab1aa6368a883bce88e3162fee2bea14aacedf23 Mon Sep 17 00:00:00 2001
-From: Luca Boccassi <luca.boccassi@microsoft.com>
-Date: Tue, 13 Apr 2021 13:17:53 +0100
-Subject: [PATCH] rfkill: add some casts to silence -Werror=sign-compare
-
----
- src/rfkill/rfkill.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/rfkill/rfkill.c b/src/rfkill/rfkill.c
-index e2d1a1be5fa..bff1a2886be 100644
---- a/src/rfkill/rfkill.c
-+++ b/src/rfkill/rfkill.c
-@@ -177,7 +177,7 @@ static int load_state(Context *c, const struct rfkill_event *event) {
- ssize_t l = write(c->rfkill_fd, &we, sizeof we);
- if (l < 0)
- return log_error_errno(errno, "Failed to restore rfkill state for %i: %m", event->idx);
-- if (l < RFKILL_EVENT_SIZE_V1)
-+ if ((size_t)l < RFKILL_EVENT_SIZE_V1) /* l cannot be < 0 here. Cast to fix -Werror=sign-compare */
- return log_error_errno(SYNTHETIC_ERRNO(EIO),
- "Couldn't write rfkill event structure, too short (wrote %zd of %zu bytes).",
- l, sizeof we);
-@@ -335,9 +335,9 @@ static int run(int argc, char *argv[]) {
- break;
- }
-
-- if (l < RFKILL_EVENT_SIZE_V1)
-- return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short read of struct rfkill_event: (%zd < %d)",
-- l, RFKILL_EVENT_SIZE_V1);
-+ if ((size_t)l < RFKILL_EVENT_SIZE_V1) /* l cannot be < 0 here. Cast to fix -Werror=sign-compare */
-+ return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short read of struct rfkill_event: (%zd < %zu)",
-+ l, (size_t) RFKILL_EVENT_SIZE_V1); /* Casting necessary to make compiling with different kernel versions happy */
- log_debug("Reading struct rfkill_event: got %zd bytes.", l);
-
- /* The event structure has more fields. We only care about the first few, so it's OK if we
diff --git a/sys-apps/systemd/files/gentoo-pam-r1.patch b/sys-apps/systemd/files/gentoo-pam-r1.patch
deleted file mode 100644
index 8816bae19e07..000000000000
--- a/sys-apps/systemd/files/gentoo-pam-r1.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e404e655eab9042bfc81ff5638dd54f4a5452ce0 Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Wed, 19 May 2021 15:34:41 -0400
-Subject: [PATCH] pam: include system-auth for systemd --user
-
----
- src/login/systemd-user.in | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/login/systemd-user.in b/src/login/systemd-user.in
-index 343aec4a01..a18d7d43cf 100644
---- a/src/login/systemd-user.in
-+++ b/src/login/systemd-user.in
-@@ -5,7 +5,7 @@
- {% if ENABLE_HOMED %}
- -account sufficient pam_systemd_home.so
- {% endif %}
--account sufficient pam_unix.so
-+account include system-auth
- account required pam_permit.so
-
- {% if HAVE_SELINUX %}
-@@ -13,6 +13,7 @@ session required pam_selinux.so close
- session required pam_selinux.so nottys open
- {% endif %}
- session required pam_loginuid.so
-+session include system-auth
- session optional pam_keyinit.so force revoke
- {% if ENABLE_HOMED %}
- -session optional pam_systemd_home.so
---
-2.31.1
-
diff --git a/sys-apps/systemd/files/gentoo-systemctl-disable-sysv-sync.patch b/sys-apps/systemd/files/gentoo-systemctl-disable-sysv-sync.patch
deleted file mode 100644
index d92d2d43a0c2..000000000000
--- a/sys-apps/systemd/files/gentoo-systemctl-disable-sysv-sync.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7ccd5724afc6fa83ec6cd93dbaf4faf3671c88fc Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Mon, 27 Apr 2020 10:22:03 -0400
-Subject: [PATCH] systemctl: disable synchronizaion of sysv init scripts
-
----
- src/systemctl/systemctl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
-index d319d5d375..bb8419800c 100644
---- a/src/systemctl/systemctl.c
-+++ b/src/systemctl/systemctl.c
-@@ -6622,7 +6622,7 @@ static int import_environment(int argc, char *argv[], void *userdata) {
- static int enable_sysv_units(const char *verb, char **args) {
- int r = 0;
-
--#if HAVE_SYSV_COMPAT
-+#if 0
- _cleanup_(lookup_paths_free) LookupPaths paths = {};
- unsigned f = 0;
-
---
-2.26.2
-
diff --git a/sys-apps/systemd/files/systemd-user.pam b/sys-apps/systemd/files/systemd-user.pam
new file mode 100644
index 000000000000..38ae3211f8d4
--- /dev/null
+++ b/sys-apps/systemd/files/systemd-user.pam
@@ -0,0 +1,5 @@
+account include system-auth
+
+session required pam_loginuid.so
+session include system-auth
+session optional pam_systemd.so
diff --git a/sys-apps/systemd/systemd-246-r2.ebuild b/sys-apps/systemd/systemd-246-r2.ebuild
deleted file mode 100644
index 1c2b227b30d1..000000000000
--- a/sys-apps/systemd/systemd-246-r2.ebuild
+++ /dev/null
@@ -1,532 +0,0 @@
-# Copyright 2011-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 ~mips ppc ppc64 sparc x86"
-fi
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev usr-ldscript
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="acl apparmor audit build cgroup-hybrid cryptsetup curl dns-over-tls elfutils +gcrypt gnuefi homed http +hwdb idn importd +kmod +lz4 lzma nat pam pcre pkcs11 policykit pwquality qrcode repart +resolvconf +seccomp selinux split-usr static-libs +sysv-utils test vanilla xkb +zstd"
-
-REQUIRED_USE="
- homed? ( cryptsetup )
- importd? ( curl gcrypt lzma )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="3.11"
-
-OPENSSL_DEP=">=dev-libs/openssl-1.1.0:0="
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${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= )
- dns-over-tls? ( >=net-libs/gnutls-3.6.0:0= )
- elfutils? ( >=dev-libs/elfutils-0.158:0= )
- gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
- homed? ( ${OPENSSL_DEP} )
- http? (
- >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)]
- >=net-libs/gnutls-3.1.4:0=
- )
- 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}] )
- nat? ( net-firewall/iptables: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= )
- repart? ( ${OPENSSL_DEP} )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( sys-libs/libselinux:0= )
- xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= )
- zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] )
-"
-
-# Newer linux-headers needed by ia64, bug #480218
-DEPEND="${COMMON_DEPEND}
- >=sys-kernel/linux-headers-${MINKV}
- gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
-"
-
-# baselayout-2.2 has /run
-RDEPEND="${COMMON_DEPEND}
- acct-group/adm
- acct-group/wheel
- acct-group/kmem
- acct-group/tty
- acct-group/utmp
- acct-group/audio
- acct-group/cdrom
- acct-group/dialout
- acct-group/disk
- acct-group/input
- acct-group/kvm
- acct-group/render
- acct-group/tape
- acct-group/video
- acct-group/systemd-journal
- acct-user/systemd-journal-remote
- acct-user/systemd-coredump
- acct-user/systemd-network
- acct-user/systemd-resolve
- acct-user/systemd-timesync
- >=sys-apps/baselayout-2.2
- selinux? ( sec-policy/selinux-base-policy[systemd] )
- sysv-utils? ( !sys-apps/sysvinit )
- !sysv-utils? ( sys-apps/sysvinit )
- resolvconf? ( !net-dns/openresolv )
- !build? ( || (
- sys-apps/util-linux[kill(-)]
- sys-process/procps[kill(+)]
- sys-apps/coreutils[kill(-)]
- ) )
- !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]
- hwdb? ( >=sys-apps/hwids-20150417[udev] )
- >=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
- >=dev-util/intltool-0.50
- >=sys-apps/coreutils-8.16
- sys-devel/m4
- virtual/pkgconfig
- test? ( sys-apps/dbus )
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt:0
- $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
-"
-
-python_check_deps() {
- has_version -b "dev-python/lxml[${PYTHON_USEDEP}]"
-}
-
-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="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS
- ~CHECKPOINT_RESTORE ~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"
- kernel_is -lt 3 7 && CONFIG_CHECK+=" ~HOTPLUG"
- kernel_is -lt 4 7 && CONFIG_CHECK+=" ~DEVPTS_MULTIPLE_INSTANCES"
- kernel_is -ge 4 10 && CONFIG_CHECK+=" ~CGROUP_BPF"
-
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- if linux_chkconfig_present X86; then
- CONFIG_CHECK+=" ~DMIID"
- fi
- fi
-
- if kernel_is -lt ${MINKV//./ }; then
- ewarn "Kernel version at least ${MINKV} required"
- fi
-
- check_extra_config
- fi
-}
-
-pkg_setup() {
- :
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- # Do NOT add patches here
- local PATCHES=()
-
- [[ -d "${WORKDIR}"/patches ]] && PATCHES+=( "${WORKDIR}"/patches )
-
- # Add local patches here
- PATCHES+=(
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-generator-path-r2.patch"
- "${FILESDIR}/gentoo-systemctl-disable-sysv-sync.patch"
- "${FILESDIR}/gentoo-journald-audit.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
-}
-
-meson_use() {
- usex "$1" true false
-}
-
-meson_multilib() {
- if multilib_is_native_abi; then
- echo true
- else
- echo false
- fi
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-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)"
- # make sure we get /bin:/sbin in PATH
- -Dsplit-usr=$(usex split-usr true false)
- -Dsplit-bin=true
- -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
- # Avoid infinite exec recursion, bug 642724
- -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit"
- # no deps
- -Dima=true
- -Ddefault-hierarchy=$(usex cgroup-hybrid hybrid unified)
- # Optional components/dependencies
- -Dacl=$(meson_multilib_native_use acl)
- -Dapparmor=$(meson_multilib_native_use apparmor)
- -Daudit=$(meson_multilib_native_use audit)
- -Dlibcryptsetup=$(meson_multilib_native_use cryptsetup)
- -Dlibcurl=$(meson_multilib_native_use curl)
- -Ddns-over-tls=$(meson_multilib_native_use dns-over-tls)
- -Delfutils=$(meson_multilib_native_use elfutils)
- -Dgcrypt=$(meson_use gcrypt)
- -Dgnu-efi=$(meson_multilib_native_use gnuefi)
- -Defi-includedir="${ESYSROOT}/usr/include/efi"
- -Defi-ld="$(tc-getLD)"
- -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
- -Dhomed=$(meson_multilib_native_use homed)
- -Dhwdb=$(meson_multilib_native_use hwdb)
- -Dmicrohttpd=$(meson_multilib_native_use http)
- -Didn=$(meson_multilib_native_use idn)
- -Dimportd=$(meson_multilib_native_use importd)
- -Dbzip2=$(meson_multilib_native_use importd)
- -Dzlib=$(meson_multilib_native_use importd)
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dlz4=$(meson_use lz4)
- -Dxz=$(meson_use lzma)
- -Dzstd=$(meson_use zstd)
- -Dlibiptc=$(meson_multilib_native_use nat)
- -Dpam=$(meson_use pam)
- -Dp11kit=$(meson_multilib_native_use pkcs11)
- -Dpcre2=$(meson_multilib_native_use pcre)
- -Dpolkit=$(meson_multilib_native_use policykit)
- -Dpwquality=$(meson_multilib_native_use pwquality)
- -Dqrencode=$(meson_multilib_native_use qrcode)
- -Drepart=$(meson_multilib_native_use repart)
- -Dseccomp=$(meson_multilib_native_use seccomp)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Ddbus=$(meson_multilib_native_use test)
- -Dxkbcommon=$(meson_multilib_native_use xkb)
- -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
- -Dbacklight=$(meson_multilib)
- -Dbinfmt=$(meson_multilib)
- -Dcoredump=$(meson_multilib)
- -Denvironment-d=$(meson_multilib)
- -Dfirstboot=$(meson_multilib)
- -Dhibernate=$(meson_multilib)
- -Dhostnamed=$(meson_multilib)
- -Dldconfig=$(meson_multilib)
- -Dlocaled=$(meson_multilib)
- -Dman=$(meson_multilib)
- -Dnetworkd=$(meson_multilib)
- -Dquotacheck=$(meson_multilib)
- -Drandomseed=$(meson_multilib)
- -Drfkill=$(meson_multilib)
- -Dsysusers=$(meson_multilib)
- -Dtimedated=$(meson_multilib)
- -Dtimesyncd=$(meson_multilib)
- -Dtmpfiles=$(meson_multilib)
- -Dvconsole=$(meson_multilib)
-
- # static-libs
- -Dstatic-libsystemd=$(usex static-libs true false)
- -Dstatic-libudev=$(usex static-libs true false)
- )
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_compile() {
- eninja
-}
-
-multilib_src_test() {
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- meson_src_test
-}
-
-multilib_src_install() {
- DESTDIR="${D}" eninja install
-}
-
-multilib_src_install_all() {
- local rootprefix=$(usex split-usr '' /usr)
-
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- if ! use resolvconf; then
- rm -f "${ED}${rootprefix}"/sbin/resolvconf || die
- fi
-
- rm "${ED}"/etc/init.d/README || die
- rm "${ED}${rootprefix}"/lib/systemd/system-generators/systemd-sysv-generator || die
-
- if ! use sysv-utils; then
- rm "${ED}${rootprefix}"/sbin/{halt,init,poweroff,reboot,runlevel,shutdown,telinit} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 || die
- fi
-
- if ! use resolvconf && ! use sysv-utils; then
- rmdir "${ED}${rootprefix}"/sbin || die
- fi
-
- # 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
-
- if use hwdb; then
- keepdir /etc/udev/hwdb.d
- fi
-
- keepdir "${rootprefix}"/lib/systemd/{system-sleep,system-shutdown}
- keepdir /usr/lib/{binfmt.d,modules-load.d}
- keepdir /usr/lib/systemd/user-generators
- keepdir /var/lib/systemd
- keepdir /var/log/journal
-
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
-
- if use hwdb; then
- rm -r "${ED}${rootprefix}"/lib/udev/hwdb.d || die
- fi
-
- if use split-usr; then
- # Avoid breaking boot/reboot
- dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd
- dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown
- fi
-
- gen_usr_ldscript -a systemd udev
-}
-
-migrate_locale() {
- local envd_locale_def="${EROOT}/etc/env.d/02locale"
- local envd_locale=( "${EROOT}"/etc/env.d/??locale )
- local locale_conf="${EROOT}/etc/locale.conf"
-
- if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then
- # If locale.conf does not exist...
- if [[ -e ${envd_locale} ]]; then
- # ...either copy env.d/??locale if there's one
- ebegin "Moving ${envd_locale} to ${locale_conf}"
- mv "${envd_locale}" "${locale_conf}"
- eend ${?} || FAIL=1
- else
- # ...or create a dummy default
- ebegin "Creating ${locale_conf}"
- cat > "${locale_conf}" <<-EOF
- # This file has been created by the sys-apps/systemd ebuild.
- # See locale.conf(5) and localectl(1).
-
- # LANG=${LANG}
- EOF
- eend ${?} || FAIL=1
- fi
- fi
-
- if [[ ! -L ${envd_locale} ]]; then
- # now, if env.d/??locale is not a symlink (to locale.conf)...
- if [[ -e ${envd_locale} ]]; then
- # ...warn the user that he has duplicate locale settings
- ewarn
- ewarn "To ensure consistent behavior, you should replace ${envd_locale}"
- ewarn "with a symlink to ${locale_conf}. Please migrate your settings"
- ewarn "and create the symlink with the following command:"
- ewarn "ln -s -n -f ../locale.conf ${envd_locale}"
- ewarn
- else
- # ...or just create the symlink if there's nothing here
- ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink"
- ln -n -s ../locale.conf "${envd_locale_def}"
- eend ${?} || FAIL=1
- fi
- fi
-}
-
-save_enabled_units() {
- ENABLED_UNITS=()
- type systemctl &>/dev/null || return
- for x; do
- if systemctl --quiet --root="${ROOT:-/}" is-enabled "${x}"; then
- ENABLED_UNITS+=( "${x}" )
- fi
- done
-}
-
-pkg_preinst() {
- save_enabled_units {machines,remote-{cryptsetup,fs}}.target getty@tty1.service
-
- if ! use split-usr; then
- local dir
- for dir in bin sbin lib; do
- if [[ ! ${EROOT}/${dir} -ef ${EROOT}/usr/${dir} ]]; then
- eerror "\"${EROOT}/${dir}\" and \"${EROOT}/usr/${dir}\" are not merged."
- eerror "One of them should be a symbolic link to the other one."
- FAIL=1
- fi
- done
- if [[ ${FAIL} ]]; then
- eerror "Migration to system layout with merged directories must be performed before"
- eerror "rebuilding ${CATEGORY}/${PN} with USE=\"-split-usr\" to avoid run-time breakage."
- die "System layout with split directories still used"
- fi
- fi
-}
-
-pkg_postinst() {
- systemd_update_catalog
-
- # Keep this here in case the database format changes so it gets updated
- # when required. Despite that this file is owned by sys-apps/hwids.
- if has_version "sys-apps/hwids[udev]"; then
- udevadm hwdb --update --root="${EROOT}"
- fi
-
- udev_reload || FAIL=1
-
- # Bug 465468, make sure locales are respect, and ensure consistency
- # between OpenRC & systemd
- migrate_locale
-
- systemd_reenable systemd-networkd.service systemd-resolved.service
-
- if [[ ${ENABLED_UNITS[@]} ]]; then
- systemctl --root="${ROOT:-/}" enable "${ENABLED_UNITS[@]}"
- fi
-
- 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager"
- systemctl daemon-reexec
- 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
-}
-
-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-246.6.ebuild b/sys-apps/systemd/systemd-246.6.ebuild
deleted file mode 100644
index b4a7a8ffedb1..000000000000
--- a/sys-apps/systemd/systemd-246.6.ebuild
+++ /dev/null
@@ -1,537 +0,0 @@
-# Copyright 2011-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 ~mips ppc ppc64 sparc x86"
-fi
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev usr-ldscript
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="acl apparmor audit build cgroup-hybrid cryptsetup curl dns-over-tls elfutils +gcrypt gnuefi homed http +hwdb idn importd +kmod +lz4 lzma nat pam pcre pkcs11 policykit pwquality qrcode repart +resolvconf +seccomp selinux split-usr static-libs +sysv-utils test vanilla xkb +zstd"
-
-REQUIRED_USE="
- homed? ( cryptsetup pam )
- importd? ( curl gcrypt lzma )
- pwquality? ( homed )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="3.11"
-
-OPENSSL_DEP=">=dev-libs/openssl-1.1.0:0="
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${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= )
- dns-over-tls? ( >=net-libs/gnutls-3.6.0:0= )
- elfutils? ( >=dev-libs/elfutils-0.158:0= )
- gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
- homed? ( ${OPENSSL_DEP} )
- http? (
- >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)]
- >=net-libs/gnutls-3.1.4:0=
- )
- 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}] )
- nat? ( net-firewall/iptables: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= )
- repart? ( ${OPENSSL_DEP} )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( sys-libs/libselinux:0= )
- xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= )
- zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] )
-"
-
-# Newer linux-headers needed by ia64, bug #480218
-DEPEND="${COMMON_DEPEND}
- >=sys-kernel/linux-headers-${MINKV}
- gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
-"
-
-# baselayout-2.2 has /run
-RDEPEND="${COMMON_DEPEND}
- acct-group/adm
- acct-group/wheel
- acct-group/kmem
- acct-group/tty
- acct-group/utmp
- acct-group/audio
- acct-group/cdrom
- acct-group/dialout
- acct-group/disk
- acct-group/input
- acct-group/kvm
- acct-group/render
- acct-group/tape
- acct-group/video
- acct-group/systemd-journal
- acct-user/systemd-journal-remote
- acct-user/systemd-coredump
- acct-user/systemd-network
- acct-user/systemd-resolve
- acct-user/systemd-timesync
- >=sys-apps/baselayout-2.2
- selinux? ( sec-policy/selinux-base-policy[systemd] )
- sysv-utils? (
- !sys-apps/openrc[sysv-utils(-)]
- !sys-apps/sysvinit
- )
- !sysv-utils? ( sys-apps/sysvinit )
- resolvconf? ( !net-dns/openresolv )
- !build? ( || (
- sys-apps/util-linux[kill(-)]
- sys-process/procps[kill(+)]
- sys-apps/coreutils[kill(-)]
- ) )
- !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]
- hwdb? ( >=sys-apps/hwids-20150417[udev] )
- >=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
- >=dev-util/intltool-0.50
- >=sys-apps/coreutils-8.16
- sys-devel/m4
- virtual/pkgconfig
- test? ( sys-apps/dbus )
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt:0
- $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
-"
-
-python_check_deps() {
- has_version -b "dev-python/lxml[${PYTHON_USEDEP}]"
-}
-
-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="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS
- ~CHECKPOINT_RESTORE ~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"
- kernel_is -lt 3 7 && CONFIG_CHECK+=" ~HOTPLUG"
- kernel_is -lt 4 7 && CONFIG_CHECK+=" ~DEVPTS_MULTIPLE_INSTANCES"
- kernel_is -ge 4 10 && CONFIG_CHECK+=" ~CGROUP_BPF"
-
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- if linux_chkconfig_present X86; then
- CONFIG_CHECK+=" ~DMIID"
- fi
- fi
-
- if kernel_is -lt ${MINKV//./ }; then
- ewarn "Kernel version at least ${MINKV} required"
- fi
-
- check_extra_config
- fi
-}
-
-pkg_setup() {
- :
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- # Do NOT add patches here
- local PATCHES=()
-
- [[ -d "${WORKDIR}"/patches ]] && PATCHES+=( "${WORKDIR}"/patches )
-
- # Add local patches here
- PATCHES+=(
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-generator-path-r2.patch"
- "${FILESDIR}/gentoo-systemctl-disable-sysv-sync.patch"
- "${FILESDIR}/gentoo-journald-audit.patch"
- "${FILESDIR}/gentoo-pam.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
-}
-
-meson_use() {
- usex "$1" true false
-}
-
-meson_multilib() {
- if multilib_is_native_abi; then
- echo true
- else
- echo false
- fi
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-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)"
- # make sure we get /bin:/sbin in PATH
- -Dsplit-usr=$(usex split-usr true false)
- -Dsplit-bin=true
- -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
- # Avoid infinite exec recursion, bug 642724
- -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit"
- # no deps
- -Dima=true
- -Ddefault-hierarchy=$(usex cgroup-hybrid hybrid unified)
- # Optional components/dependencies
- -Dacl=$(meson_multilib_native_use acl)
- -Dapparmor=$(meson_multilib_native_use apparmor)
- -Daudit=$(meson_multilib_native_use audit)
- -Dlibcryptsetup=$(meson_multilib_native_use cryptsetup)
- -Dlibcurl=$(meson_multilib_native_use curl)
- -Ddns-over-tls=$(meson_multilib_native_use dns-over-tls)
- -Delfutils=$(meson_multilib_native_use elfutils)
- -Dgcrypt=$(meson_use gcrypt)
- -Dgnu-efi=$(meson_multilib_native_use gnuefi)
- -Defi-includedir="${ESYSROOT}/usr/include/efi"
- -Defi-ld="$(tc-getLD)"
- -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
- -Dhomed=$(meson_multilib_native_use homed)
- -Dhwdb=$(meson_multilib_native_use hwdb)
- -Dmicrohttpd=$(meson_multilib_native_use http)
- -Didn=$(meson_multilib_native_use idn)
- -Dimportd=$(meson_multilib_native_use importd)
- -Dbzip2=$(meson_multilib_native_use importd)
- -Dzlib=$(meson_multilib_native_use importd)
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dlz4=$(meson_use lz4)
- -Dxz=$(meson_use lzma)
- -Dzstd=$(meson_use zstd)
- -Dlibiptc=$(meson_multilib_native_use nat)
- -Dpam=$(meson_use pam)
- -Dp11kit=$(meson_multilib_native_use pkcs11)
- -Dpcre2=$(meson_multilib_native_use pcre)
- -Dpolkit=$(meson_multilib_native_use policykit)
- -Dpwquality=$(meson_multilib_native_use pwquality)
- -Dqrencode=$(meson_multilib_native_use qrcode)
- -Drepart=$(meson_multilib_native_use repart)
- -Dseccomp=$(meson_multilib_native_use seccomp)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Ddbus=$(meson_multilib_native_use test)
- -Dxkbcommon=$(meson_multilib_native_use xkb)
- -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
- -Dbacklight=$(meson_multilib)
- -Dbinfmt=$(meson_multilib)
- -Dcoredump=$(meson_multilib)
- -Denvironment-d=$(meson_multilib)
- -Dfirstboot=$(meson_multilib)
- -Dhibernate=$(meson_multilib)
- -Dhostnamed=$(meson_multilib)
- -Dldconfig=$(meson_multilib)
- -Dlocaled=$(meson_multilib)
- -Dman=$(meson_multilib)
- -Dnetworkd=$(meson_multilib)
- -Dquotacheck=$(meson_multilib)
- -Drandomseed=$(meson_multilib)
- -Drfkill=$(meson_multilib)
- -Dsysusers=$(meson_multilib)
- -Dtimedated=$(meson_multilib)
- -Dtimesyncd=$(meson_multilib)
- -Dtmpfiles=$(meson_multilib)
- -Dvconsole=$(meson_multilib)
-
- # static-libs
- -Dstatic-libsystemd=$(usex static-libs true false)
- -Dstatic-libudev=$(usex static-libs true false)
- )
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_compile() {
- eninja
-}
-
-multilib_src_test() {
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- meson_src_test
-}
-
-multilib_src_install() {
- DESTDIR="${D}" eninja install
-}
-
-multilib_src_install_all() {
- local rootprefix=$(usex split-usr '' /usr)
-
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- if ! use resolvconf; then
- rm -f "${ED}${rootprefix}"/sbin/resolvconf || die
- fi
-
- rm "${ED}"/etc/init.d/README || die
- rm "${ED}${rootprefix}"/lib/systemd/system-generators/systemd-sysv-generator || die
-
- if ! use sysv-utils; then
- rm "${ED}${rootprefix}"/sbin/{halt,init,poweroff,reboot,runlevel,shutdown,telinit} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 || die
- fi
-
- if ! use resolvconf && ! use sysv-utils; then
- rmdir "${ED}${rootprefix}"/sbin || die
- fi
-
- # 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
-
- if use hwdb; then
- keepdir /etc/udev/hwdb.d
- fi
-
- keepdir "${rootprefix}"/lib/systemd/{system-sleep,system-shutdown}
- keepdir /usr/lib/{binfmt.d,modules-load.d}
- keepdir /usr/lib/systemd/user-generators
- keepdir /var/lib/systemd
- keepdir /var/log/journal
-
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
-
- if use hwdb; then
- rm -r "${ED}${rootprefix}"/lib/udev/hwdb.d || die
- fi
-
- if use split-usr; then
- # Avoid breaking boot/reboot
- dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd
- dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown
- fi
-
- gen_usr_ldscript -a systemd udev
-}
-
-migrate_locale() {
- local envd_locale_def="${EROOT}/etc/env.d/02locale"
- local envd_locale=( "${EROOT}"/etc/env.d/??locale )
- local locale_conf="${EROOT}/etc/locale.conf"
-
- if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then
- # If locale.conf does not exist...
- if [[ -e ${envd_locale} ]]; then
- # ...either copy env.d/??locale if there's one
- ebegin "Moving ${envd_locale} to ${locale_conf}"
- mv "${envd_locale}" "${locale_conf}"
- eend ${?} || FAIL=1
- else
- # ...or create a dummy default
- ebegin "Creating ${locale_conf}"
- cat > "${locale_conf}" <<-EOF
- # This file has been created by the sys-apps/systemd ebuild.
- # See locale.conf(5) and localectl(1).
-
- # LANG=${LANG}
- EOF
- eend ${?} || FAIL=1
- fi
- fi
-
- if [[ ! -L ${envd_locale} ]]; then
- # now, if env.d/??locale is not a symlink (to locale.conf)...
- if [[ -e ${envd_locale} ]]; then
- # ...warn the user that he has duplicate locale settings
- ewarn
- ewarn "To ensure consistent behavior, you should replace ${envd_locale}"
- ewarn "with a symlink to ${locale_conf}. Please migrate your settings"
- ewarn "and create the symlink with the following command:"
- ewarn "ln -s -n -f ../locale.conf ${envd_locale}"
- ewarn
- else
- # ...or just create the symlink if there's nothing here
- ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink"
- ln -n -s ../locale.conf "${envd_locale_def}"
- eend ${?} || FAIL=1
- fi
- fi
-}
-
-save_enabled_units() {
- ENABLED_UNITS=()
- type systemctl &>/dev/null || return
- for x; do
- if systemctl --quiet --root="${ROOT:-/}" is-enabled "${x}"; then
- ENABLED_UNITS+=( "${x}" )
- fi
- done
-}
-
-pkg_preinst() {
- save_enabled_units {machines,remote-{cryptsetup,fs}}.target getty@tty1.service
-
- if ! use split-usr; then
- local dir
- for dir in bin sbin lib; do
- if [[ ! ${EROOT}/${dir} -ef ${EROOT}/usr/${dir} ]]; then
- eerror "\"${EROOT}/${dir}\" and \"${EROOT}/usr/${dir}\" are not merged."
- eerror "One of them should be a symbolic link to the other one."
- FAIL=1
- fi
- done
- if [[ ${FAIL} ]]; then
- eerror "Migration to system layout with merged directories must be performed before"
- eerror "rebuilding ${CATEGORY}/${PN} with USE=\"-split-usr\" to avoid run-time breakage."
- die "System layout with split directories still used"
- fi
- fi
-}
-
-pkg_postinst() {
- systemd_update_catalog
-
- # Keep this here in case the database format changes so it gets updated
- # when required. Despite that this file is owned by sys-apps/hwids.
- if has_version "sys-apps/hwids[udev]"; then
- udevadm hwdb --update --root="${EROOT}"
- fi
-
- udev_reload || FAIL=1
-
- # Bug 465468, make sure locales are respect, and ensure consistency
- # between OpenRC & systemd
- migrate_locale
-
- systemd_reenable systemd-networkd.service systemd-resolved.service
-
- if [[ ${ENABLED_UNITS[@]} ]]; then
- systemctl --root="${ROOT:-/}" enable "${ENABLED_UNITS[@]}"
- fi
-
- 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager"
- systemctl daemon-reexec
- 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
-}
-
-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-247.2-r4.ebuild b/sys-apps/systemd/systemd-247.2-r4.ebuild
deleted file mode 100644
index 22888e851a55..000000000000
--- a/sys-apps/systemd/systemd-247.2-r4.ebuild
+++ /dev/null
@@ -1,546 +0,0 @@
-# Copyright 2011-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 ~mips ppc ppc64 ~riscv sparc x86"
-fi
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev usr-ldscript
-
-DESCRIPTION="System and service manager for Linux"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0/2"
-IUSE="acl apparmor audit build cgroup-hybrid cryptsetup curl dns-over-tls elfutils +gcrypt gnuefi homed http +hwdb idn importd +kmod +lz4 lzma nat pam pcre pkcs11 policykit pwquality qrcode repart +resolvconf +seccomp selinux split-usr static-libs +sysv-utils test vanilla xkb +zstd"
-
-REQUIRED_USE="
- homed? ( cryptsetup pam )
- importd? ( curl gcrypt lzma )
- pwquality? ( homed )
-"
-RESTRICT="!test? ( test )"
-
-MINKV="3.11"
-
-OPENSSL_DEP=">=dev-libs/openssl-1.1.0:0="
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${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= )
- dns-over-tls? ( >=net-libs/gnutls-3.6.0:0= )
- elfutils? ( >=dev-libs/elfutils-0.158:0= )
- gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
- homed? ( ${OPENSSL_DEP} )
- http? (
- >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)]
- >=net-libs/gnutls-3.1.4:0=
- )
- 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}] )
- nat? ( net-firewall/iptables: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= )
- repart? ( ${OPENSSL_DEP} )
- seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
- selinux? ( sys-libs/libselinux:0= )
- xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= )
- zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] )
-"
-
-# Newer linux-headers needed by ia64, bug #480218
-DEPEND="${COMMON_DEPEND}
- >=sys-kernel/linux-headers-${MINKV}
- gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
-"
-
-# baselayout-2.2 has /run
-RDEPEND="${COMMON_DEPEND}
- >=acct-group/adm-0-r1
- >=acct-group/wheel-0-r1
- >=acct-group/kmem-0-r1
- >=acct-group/tty-0-r1
- >=acct-group/utmp-0-r1
- >=acct-group/audio-0-r1
- >=acct-group/cdrom-0-r1
- >=acct-group/dialout-0-r1
- >=acct-group/disk-0-r1
- >=acct-group/input-0-r1
- >=acct-group/kvm-0-r1
- >=acct-group/lp-0-r1
- >=acct-group/render-0-r1
- >=acct-group/tape-0-r1
- acct-group/users
- >=acct-group/video-0-r1
- >=acct-group/systemd-journal-0-r1
- >=acct-user/root-0-r1
- acct-user/nobody
- >=acct-user/systemd-journal-remote-0-r1
- >=acct-user/systemd-coredump-0-r1
- >=acct-user/systemd-network-0-r1
- acct-user/systemd-oom
- >=acct-user/systemd-resolve-0-r1
- >=acct-user/systemd-timesync-0-r1
- >=sys-apps/baselayout-2.2
- selinux? ( sec-policy/selinux-base-policy[systemd] )
- sysv-utils? (
- !sys-apps/openrc[sysv-utils(-)]
- !sys-apps/sysvinit
- )
- !sysv-utils? ( sys-apps/sysvinit )
- resolvconf? ( !net-dns/openresolv )
- !build? ( || (
- sys-apps/util-linux[kill(-)]
- sys-process/procps[kill(+)]
- sys-apps/coreutils[kill(-)]
- ) )
- !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]
- hwdb? ( >=sys-apps/hwids-20150417[udev] )
- >=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
- >=dev-util/intltool-0.50
- >=sys-apps/coreutils-8.16
- sys-devel/m4
- virtual/pkgconfig
- test? ( sys-apps/dbus )
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt:0
- $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
-"
-
-python_check_deps() {
- has_version -b "dev-python/lxml[${PYTHON_USEDEP}]"
-}
-
-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="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS
- ~CHECKPOINT_RESTORE ~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"
- kernel_is -lt 3 7 && CONFIG_CHECK+=" ~HOTPLUG"
- kernel_is -lt 4 7 && CONFIG_CHECK+=" ~DEVPTS_MULTIPLE_INSTANCES"
- kernel_is -ge 4 10 && CONFIG_CHECK+=" ~CGROUP_BPF"
-
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- if linux_chkconfig_present X86; then
- CONFIG_CHECK+=" ~DMIID"
- fi
- fi
-
- if kernel_is -lt ${MINKV//./ }; then
- ewarn "Kernel version at least ${MINKV} required"
- fi
-
- check_extra_config
- fi
-}
-
-pkg_setup() {
- :
-}
-
-src_unpack() {
- default
- [[ ${PV} != 9999 ]] || git-r3_src_unpack
-}
-
-src_prepare() {
- # Do NOT add patches here
- local PATCHES=()
-
- [[ -d "${WORKDIR}"/patches ]] && PATCHES+=( "${WORKDIR}"/patches )
-
- # Add local patches here
- PATCHES+=(
- "${FILESDIR}"/247-cgroup-test.patch
- )
-
- if ! use vanilla; then
- PATCHES+=(
- "${FILESDIR}/gentoo-generator-path-r2.patch"
- "${FILESDIR}/gentoo-systemctl-disable-sysv-sync-r1.patch"
- "${FILESDIR}/gentoo-journald-audit.patch"
- "${FILESDIR}/gentoo-pam.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
-}
-
-meson_use() {
- usex "$1" true false
-}
-
-meson_multilib() {
- if multilib_is_native_abi; then
- echo true
- else
- echo false
- fi
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-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)"
- # make sure we get /bin:/sbin in PATH
- -Dsplit-usr=$(usex split-usr true false)
- -Dsplit-bin=true
- -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
- # Avoid infinite exec recursion, bug 642724
- -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit"
- # no deps
- -Dima=true
- -Ddefault-hierarchy=$(usex cgroup-hybrid hybrid unified)
- # Optional components/dependencies
- -Dacl=$(meson_multilib_native_use acl)
- -Dapparmor=$(meson_multilib_native_use apparmor)
- -Daudit=$(meson_multilib_native_use audit)
- -Dlibcryptsetup=$(meson_multilib_native_use cryptsetup)
- -Dlibcurl=$(meson_multilib_native_use curl)
- -Ddns-over-tls=$(meson_multilib_native_use dns-over-tls)
- -Delfutils=$(meson_multilib_native_use elfutils)
- -Dgcrypt=$(meson_use gcrypt)
- -Dgnu-efi=$(meson_multilib_native_use gnuefi)
- -Defi-includedir="${ESYSROOT}/usr/include/efi"
- -Defi-ld="$(tc-getLD)"
- -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
- -Dhomed=$(meson_multilib_native_use homed)
- -Dhwdb=$(meson_multilib_native_use hwdb)
- -Dmicrohttpd=$(meson_multilib_native_use http)
- -Didn=$(meson_multilib_native_use idn)
- -Dimportd=$(meson_multilib_native_use importd)
- -Dbzip2=$(meson_multilib_native_use importd)
- -Dzlib=$(meson_multilib_native_use importd)
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dlz4=$(meson_use lz4)
- -Dxz=$(meson_use lzma)
- -Dzstd=$(meson_use zstd)
- -Dlibiptc=$(meson_multilib_native_use nat)
- -Dpam=$(meson_use pam)
- -Dp11kit=$(meson_multilib_native_use pkcs11)
- -Dpcre2=$(meson_multilib_native_use pcre)
- -Dpolkit=$(meson_multilib_native_use policykit)
- -Dpwquality=$(meson_multilib_native_use pwquality)
- -Dqrencode=$(meson_multilib_native_use qrcode)
- -Drepart=$(meson_multilib_native_use repart)
- -Dseccomp=$(meson_multilib_native_use seccomp)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Ddbus=$(meson_multilib_native_use test)
- -Dxkbcommon=$(meson_multilib_native_use xkb)
- -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
- -Dbacklight=$(meson_multilib)
- -Dbinfmt=$(meson_multilib)
- -Dcoredump=$(meson_multilib)
- -Denvironment-d=$(meson_multilib)
- -Dfirstboot=$(meson_multilib)
- -Dhibernate=$(meson_multilib)
- -Dhostnamed=$(meson_multilib)
- -Dldconfig=$(meson_multilib)
- -Dlocaled=$(meson_multilib)
- -Dman=$(meson_multilib)
- -Dnetworkd=$(meson_multilib)
- -Dquotacheck=$(meson_multilib)
- -Drandomseed=$(meson_multilib)
- -Drfkill=$(meson_multilib)
- -Dsysusers=$(meson_multilib)
- -Dtimedated=$(meson_multilib)
- -Dtimesyncd=$(meson_multilib)
- -Dtmpfiles=$(meson_multilib)
- -Dvconsole=$(meson_multilib)
-
- # static-libs
- -Dstatic-libsystemd=$(usex static-libs true false)
- -Dstatic-libudev=$(usex static-libs true false)
- )
-
- meson_src_configure "${myconf[@]}"
-}
-
-multilib_src_compile() {
- eninja
-}
-
-multilib_src_test() {
- unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
- meson_src_test
-}
-
-multilib_src_install() {
- DESTDIR="${D}" eninja install
-}
-
-multilib_src_install_all() {
- local rootprefix=$(usex split-usr '' /usr)
-
- # meson doesn't know about docdir
- mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
-
- einstalldocs
- dodoc "${FILESDIR}"/nsswitch.conf
-
- if ! use resolvconf; then
- rm -f "${ED}${rootprefix}"/sbin/resolvconf || die
- fi
-
- rm "${ED}"/etc/init.d/README || die
- rm "${ED}${rootprefix}"/lib/systemd/system-generators/systemd-sysv-generator || die
-
- if ! use sysv-utils; then
- rm "${ED}${rootprefix}"/sbin/{halt,init,poweroff,reboot,runlevel,shutdown,telinit} || die
- rm "${ED}"/usr/share/man/man1/init.1 || die
- rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 || die
- fi
-
- if ! use resolvconf && ! use sysv-utils; then
- rmdir "${ED}${rootprefix}"/sbin || die
- fi
-
- # https://bugs.gentoo.org/761763
- rm -r "${ED}"/usr/lib/sysusers.d || die
-
- # Preserve empty dirs in /etc & /var, bug #437008
- keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d}
- keepdir /etc/kernel/install.d
- keepdir /etc/systemd/{network,system,user}
- keepdir /etc/udev/rules.d
-
- if use hwdb; then
- keepdir /etc/udev/hwdb.d
- fi
-
- keepdir "${rootprefix}"/lib/systemd/{system-sleep,system-shutdown}
- keepdir /usr/lib/{binfmt.d,modules-load.d}
- keepdir /usr/lib/systemd/user-generators
- keepdir /var/lib/systemd
- keepdir /var/log/journal
-
- # Symlink /etc/sysctl.conf for easy migration.
- dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
-
- if use hwdb; then
- rm -r "${ED}${rootprefix}"/lib/udev/hwdb.d || die
- fi
-
- if use split-usr; then
- # Avoid breaking boot/reboot
- dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd
- dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown
- fi
-
- gen_usr_ldscript -a systemd udev
-}
-
-migrate_locale() {
- local envd_locale_def="${EROOT}/etc/env.d/02locale"
- local envd_locale=( "${EROOT}"/etc/env.d/??locale )
- local locale_conf="${EROOT}/etc/locale.conf"
-
- if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then
- # If locale.conf does not exist...
- if [[ -e ${envd_locale} ]]; then
- # ...either copy env.d/??locale if there's one
- ebegin "Moving ${envd_locale} to ${locale_conf}"
- mv "${envd_locale}" "${locale_conf}"
- eend ${?} || FAIL=1
- else
- # ...or create a dummy default
- ebegin "Creating ${locale_conf}"
- cat > "${locale_conf}" <<-EOF
- # This file has been created by the sys-apps/systemd ebuild.
- # See locale.conf(5) and localectl(1).
-
- # LANG=${LANG}
- EOF
- eend ${?} || FAIL=1
- fi
- fi
-
- if [[ ! -L ${envd_locale} ]]; then
- # now, if env.d/??locale is not a symlink (to locale.conf)...
- if [[ -e ${envd_locale} ]]; then
- # ...warn the user that he has duplicate locale settings
- ewarn
- ewarn "To ensure consistent behavior, you should replace ${envd_locale}"
- ewarn "with a symlink to ${locale_conf}. Please migrate your settings"
- ewarn "and create the symlink with the following command:"
- ewarn "ln -s -n -f ../locale.conf ${envd_locale}"
- ewarn
- else
- # ...or just create the symlink if there's nothing here
- ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink"
- ln -n -s ../locale.conf "${envd_locale_def}"
- eend ${?} || FAIL=1
- fi
- fi
-}
-
-save_enabled_units() {
- ENABLED_UNITS=()
- type systemctl &>/dev/null || return
- for x; do
- if systemctl --quiet --root="${ROOT:-/}" is-enabled "${x}"; then
- ENABLED_UNITS+=( "${x}" )
- fi
- done
-}
-
-pkg_preinst() {
- save_enabled_units {machines,remote-{cryptsetup,fs}}.target getty@tty1.service
-
- if ! use split-usr; then
- local dir
- for dir in bin sbin lib; do
- if [[ ! ${EROOT}/${dir} -ef ${EROOT}/usr/${dir} ]]; then
- eerror "\"${EROOT}/${dir}\" and \"${EROOT}/usr/${dir}\" are not merged."
- eerror "One of them should be a symbolic link to the other one."
- FAIL=1
- fi
- done
- if [[ ${FAIL} ]]; then
- eerror "Migration to system layout with merged directories must be performed before"
- eerror "rebuilding ${CATEGORY}/${PN} with USE=\"-split-usr\" to avoid run-time breakage."
- die "System layout with split directories still used"
- fi
- fi
-}
-
-pkg_postinst() {
- systemd_update_catalog
-
- # Keep this here in case the database format changes so it gets updated
- # when required. Despite that this file is owned by sys-apps/hwids.
- if has_version "sys-apps/hwids[udev]"; then
- udevadm hwdb --update --root="${EROOT}"
- fi
-
- udev_reload || FAIL=1
-
- # Bug 465468, make sure locales are respect, and ensure consistency
- # between OpenRC & systemd
- migrate_locale
-
- systemd_reenable systemd-networkd.service systemd-resolved.service
-
- if [[ ${ENABLED_UNITS[@]} ]]; then
- systemctl --root="${ROOT:-/}" enable "${ENABLED_UNITS[@]}"
- fi
-
- 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 [[ -z ${ROOT} && -d /run/systemd/system ]]; then
- ebegin "Reexecuting system manager"
- systemctl daemon-reexec
- 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
-}
-
-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-248.ebuild b/sys-apps/systemd/systemd-249_rc1.ebuild
index 3f21eb068539..25cd67748f63 100644
--- a/sys-apps/systemd/systemd-248.ebuild
+++ b/sys-apps/systemd/systemd-249_rc1.ebuild
@@ -16,12 +16,12 @@ else
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 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
PYTHON_COMPAT=( python3_{7..9} )
-inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev usr-ldscript
+inherit bash-completion-r1 linux-info meson-multilib pam python-any-r1 systemd toolchain-funcs udev usr-ldscript
DESCRIPTION="System and service manager for Linux"
HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
@@ -132,7 +132,7 @@ RDEPEND="${COMMON_DEPEND}
# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
- hwdb? ( >=sys-apps/hwids-20150417[udev] )
+ hwdb? ( sys-apps/hwids[systemd(+),udev] )
>=sys-fs/udev-init-scripts-34
policykit? ( sys-auth/polkit )
!vanilla? ( sys-apps/gentoo-systemd-integration )"
@@ -150,10 +150,12 @@ BDEPEND="
app-text/docbook-xml-dtd:4.5
app-text/docbook-xsl-stylesheets
dev-libs/libxslt:0
+ $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
$(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
"
python_check_deps() {
+ has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" &&
has_version -b "dev-python/lxml[${PYTHON_USEDEP}]"
}
@@ -214,7 +216,6 @@ src_prepare() {
# Add local patches here
PATCHES+=(
- "${FILESDIR}/248-rfkill.patch"
)
if ! use vanilla; then
@@ -222,7 +223,6 @@ src_prepare() {
"${FILESDIR}/gentoo-generator-path-r2.patch"
"${FILESDIR}/gentoo-systemctl-disable-sysv-sync-r1.patch"
"${FILESDIR}/gentoo-journald-audit.patch"
- "${FILESDIR}/gentoo-pam.patch"
)
fi
@@ -238,26 +238,6 @@ src_configure() {
multilib-minimal_src_configure
}
-meson_use() {
- usex "$1" true false
-}
-
-meson_multilib() {
- if multilib_is_native_abi; then
- echo true
- else
- echo false
- fi
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
multilib_src_configure() {
local myconf=(
--localstatedir="${EPREFIX}/var"
@@ -266,7 +246,7 @@ multilib_src_configure() {
# avoid bash-completion dep
-Dbashcompletiondir="$(get_bashcompdir)"
# make sure we get /bin:/sbin in PATH
- -Dsplit-usr=$(usex split-usr true false)
+ $(meson_use split-usr)
-Dsplit-bin=true
-Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
-Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
@@ -276,89 +256,81 @@ multilib_src_configure() {
-Dima=true
-Ddefault-hierarchy=$(usex cgroup-hybrid hybrid unified)
# Optional components/dependencies
- -Dacl=$(meson_multilib_native_use acl)
- -Dapparmor=$(meson_multilib_native_use apparmor)
- -Daudit=$(meson_multilib_native_use audit)
- -Dlibcryptsetup=$(meson_multilib_native_use cryptsetup)
- -Dlibcurl=$(meson_multilib_native_use curl)
- -Ddns-over-tls=$(meson_multilib_native_use dns-over-tls)
- -Delfutils=$(meson_multilib_native_use elfutils)
- -Dgcrypt=$(meson_use gcrypt)
- -Dgnu-efi=$(meson_multilib_native_use gnuefi)
+ $(meson_native_use_bool acl)
+ $(meson_native_use_bool apparmor)
+ $(meson_native_use_bool audit)
+ $(meson_native_use_bool cryptsetup libcryptsetup)
+ $(meson_native_use_bool curl libcurl)
+ $(meson_native_use_bool dns-over-tls dns-over-tls)
+ $(meson_native_use_bool elfutils)
+ $(meson_use gcrypt)
+ $(meson_native_use_bool gnuefi gnu-efi)
-Defi-includedir="${ESYSROOT}/usr/include/efi"
-Defi-ld="$(tc-getLD)"
-Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
- -Dhomed=$(meson_multilib_native_use homed)
- -Dhwdb=$(meson_multilib_native_use hwdb)
- -Dmicrohttpd=$(meson_multilib_native_use http)
- -Didn=$(meson_multilib_native_use idn)
- -Dimportd=$(meson_multilib_native_use importd)
- -Dbzip2=$(meson_multilib_native_use importd)
- -Dzlib=$(meson_multilib_native_use importd)
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dlz4=$(meson_use lz4)
- -Dxz=$(meson_use lzma)
- -Dzstd=$(meson_use zstd)
- -Dlibiptc=$(meson_multilib_native_use nat)
- -Dpam=$(meson_use pam)
- -Dp11kit=$(meson_multilib_native_use pkcs11)
- -Dpcre2=$(meson_multilib_native_use pcre)
- -Dpolkit=$(meson_multilib_native_use policykit)
- -Dpwquality=$(meson_multilib_native_use pwquality)
- -Dqrencode=$(meson_multilib_native_use qrcode)
- -Drepart=$(meson_multilib_native_use repart)
- -Dseccomp=$(meson_multilib_native_use seccomp)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dtpm2=$(meson_multilib_native_use tpm)
- -Ddbus=$(meson_multilib_native_use test)
- -Dxkbcommon=$(meson_multilib_native_use xkb)
+ $(meson_native_use_bool homed)
+ $(meson_native_use_bool hwdb)
+ $(meson_native_use_bool http microhttpd)
+ $(meson_native_use_bool idn)
+ $(meson_native_use_bool importd)
+ $(meson_native_use_bool importd bzip2)
+ $(meson_native_use_bool importd zlib)
+ $(meson_native_use_bool kmod)
+ $(meson_use lz4)
+ $(meson_use lzma xz)
+ $(meson_use zstd)
+ $(meson_native_use_bool nat libiptc)
+ $(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 repart)
+ $(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
- -Dbacklight=$(meson_multilib)
- -Dbinfmt=$(meson_multilib)
- -Dcoredump=$(meson_multilib)
- -Denvironment-d=$(meson_multilib)
- -Dfirstboot=$(meson_multilib)
- -Dhibernate=$(meson_multilib)
- -Dhostnamed=$(meson_multilib)
- -Dldconfig=$(meson_multilib)
- -Dlocaled=$(meson_multilib)
- -Dman=$(meson_multilib)
- -Dnetworkd=$(meson_multilib)
- -Dquotacheck=$(meson_multilib)
- -Drandomseed=$(meson_multilib)
- -Drfkill=$(meson_multilib)
- -Dsysusers=$(meson_multilib)
- -Dtimedated=$(meson_multilib)
- -Dtimesyncd=$(meson_multilib)
- -Dtmpfiles=$(meson_multilib)
- -Dvconsole=$(meson_multilib)
+ $(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)
# static-libs
- -Dstatic-libsystemd=$(usex static-libs true false)
- -Dstatic-libudev=$(usex static-libs true false)
+ $(meson_use static-libs static-libsystemd)
+ $(meson_use static-libs static-libudev)
)
meson_src_configure "${myconf[@]}"
}
-multilib_src_compile() {
- eninja
-}
-
multilib_src_test() {
unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
meson_src_test
}
-multilib_src_install() {
- DESTDIR="${D}" eninja install
-}
-
multilib_src_install_all() {
local rootprefix=$(usex split-usr '' /usr)
@@ -407,6 +379,10 @@ multilib_src_install_all() {
# Symlink /etc/sysctl.conf for easy migration.
dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
+ if use pam; then
+ newpamd "${FILESDIR}"/systemd-user.pam systemd-user
+ fi
+
if use hwdb; then
rm -r "${ED}${rootprefix}"/lib/udev/hwdb.d || die
fi
@@ -464,19 +440,7 @@ migrate_locale() {
fi
}
-save_enabled_units() {
- ENABLED_UNITS=()
- type systemctl &>/dev/null || return
- for x; do
- if systemctl --quiet --root="${ROOT:-/}" is-enabled "${x}"; then
- ENABLED_UNITS+=( "${x}" )
- fi
- done
-}
-
pkg_preinst() {
- save_enabled_units {machines,remote-{cryptsetup,fs}}.target getty@tty1.service
-
if ! use split-usr; then
local dir
for dir in bin sbin lib; do
@@ -498,23 +462,17 @@ pkg_postinst() {
systemd_update_catalog
# Keep this here in case the database format changes so it gets updated
- # when required. Despite that this file is owned by sys-apps/hwids.
- if has_version "sys-apps/hwids[udev]"; then
- udevadm hwdb --update --root="${EROOT}"
+ # when required.
+ if use hwdb; then
+ systemd-hwdb --root="${ROOT}" update
fi
udev_reload || FAIL=1
- # Bug 465468, make sure locales are respect, and ensure consistency
+ # Bug 465468, make sure locales are respected, and ensure consistency
# between OpenRC & systemd
migrate_locale
- systemd_reenable systemd-networkd.service systemd-resolved.service
-
- if [[ ${ENABLED_UNITS[@]} ]]; then
- systemctl --root="${ROOT:-/}" enable "${ENABLED_UNITS[@]}"
- fi
-
if [[ -z ${REPLACING_VERSIONS} ]]; then
if type systemctl &>/dev/null; then
systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1
diff --git a/sys-apps/systemd/systemd-9999.ebuild b/sys-apps/systemd/systemd-9999.ebuild
index 6c3c1ef813c4..41b2a1b5b70e 100644
--- a/sys-apps/systemd/systemd-9999.ebuild
+++ b/sys-apps/systemd/systemd-9999.ebuild
@@ -132,7 +132,7 @@ RDEPEND="${COMMON_DEPEND}
# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
- hwdb? ( >=sys-apps/hwids-20150417[udev] )
+ hwdb? ( sys-apps/hwids[systemd(+),udev] )
>=sys-fs/udev-init-scripts-34
policykit? ( sys-auth/polkit )
!vanilla? ( sys-apps/gentoo-systemd-integration )"
@@ -223,7 +223,6 @@ src_prepare() {
"${FILESDIR}/gentoo-generator-path-r2.patch"
"${FILESDIR}/gentoo-systemctl-disable-sysv-sync-r1.patch"
"${FILESDIR}/gentoo-journald-audit.patch"
- "${FILESDIR}/gentoo-pam-r1.patch"
)
fi
@@ -380,6 +379,10 @@ multilib_src_install_all() {
# Symlink /etc/sysctl.conf for easy migration.
dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
+ if use pam; then
+ newpamd "${FILESDIR}"/systemd-user.pam systemd-user
+ fi
+
if use hwdb; then
rm -r "${ED}${rootprefix}"/lib/udev/hwdb.d || die
fi
@@ -437,19 +440,7 @@ migrate_locale() {
fi
}
-save_enabled_units() {
- ENABLED_UNITS=()
- type systemctl &>/dev/null || return
- for x; do
- if systemctl --quiet --root="${ROOT:-/}" is-enabled "${x}"; then
- ENABLED_UNITS+=( "${x}" )
- fi
- done
-}
-
pkg_preinst() {
- save_enabled_units {machines,remote-{cryptsetup,fs}}.target getty@tty1.service
-
if ! use split-usr; then
local dir
for dir in bin sbin lib; do
@@ -471,23 +462,17 @@ pkg_postinst() {
systemd_update_catalog
# Keep this here in case the database format changes so it gets updated
- # when required. Despite that this file is owned by sys-apps/hwids.
- if has_version "sys-apps/hwids[udev]"; then
- udevadm hwdb --update --root="${EROOT}"
+ # when required.
+ if use hwdb; then
+ systemd-hwdb --root="${ROOT}" update
fi
udev_reload || FAIL=1
- # Bug 465468, make sure locales are respect, and ensure consistency
+ # Bug 465468, make sure locales are respected, and ensure consistency
# between OpenRC & systemd
migrate_locale
- systemd_reenable systemd-networkd.service systemd-resolved.service
-
- if [[ ${ENABLED_UNITS[@]} ]]; then
- systemctl --root="${ROOT:-/}" enable "${ENABLED_UNITS[@]}"
- fi
-
if [[ -z ${REPLACING_VERSIONS} ]]; then
if type systemctl &>/dev/null; then
systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1