summaryrefslogtreecommitdiff
path: root/sys-apps/systemd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-16 01:51:50 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-16 01:51:50 +0100
commit6144cd2e90f8e3623912112050c8d2025de44f0a (patch)
treebf6abe7c75cda0f602c2d522c905278a620a5cbf /sys-apps/systemd
parentca144cbf71b2faf598564847378fa40a0090d67c (diff)
gentoo auto-resync : 16:10:2022 - 01:51:50
Diffstat (limited to 'sys-apps/systemd')
-rw-r--r--sys-apps/systemd/Manifest5
-rw-r--r--sys-apps/systemd/files/252-rc1-cryptsetup.patch226
-rw-r--r--sys-apps/systemd/systemd-252_rc1.ebuild (renamed from sys-apps/systemd/systemd-251.3.ebuild)22
3 files changed, 238 insertions, 15 deletions
diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest
index 44bcfa8d6e08..a74f9dfc58ff 100644
--- a/sys-apps/systemd/Manifest
+++ b/sys-apps/systemd/Manifest
@@ -1,18 +1,19 @@
AUX 251-glibc-2.36.patch 4101 BLAKE2B 79b05ed39a2c840358b2030fd5bba61a3c0786e376f7fc4dee133aa7539a55008ac57a58d5c11ef9e2a2f047b359b6ab2841ea0adc5977da066e5b6c2ae26cc2 SHA512 0c4a05129a3ce22432db6e189e87db71c73be517b7e4a10e2218a0b24f0fd5d8dff331249574e6e0e1958476db95315054320837b784ae6351473f5eecc20800
AUX 251-gpt-auto-no-cryptsetup.patch 958 BLAKE2B 7067224e613433fcb139c38597552e080e07d33b207965a9c9a2b3d4e353c43dae38e6800d6ce28cadcba5f914b1b49e80fa48929df2c4bb96248bfeb6bf6aa5 SHA512 6a78bbdde3aae9a2ad4c4f824eb5281ca9ab24770516ad7c9a9e3daf7f39475bf9b4dd868c857a9833dd408db801393f949b8fae1700b2ad04ea822dc84e3429
AUX 251-revert-fortify-source-3-fix.patch 2059 BLAKE2B 5b34062821f2097fc622ffc66d83029267173b2b4131b29d9339644577b7e80c513c83f62d07ba3e030c2a861efe7d399bd871cc35803b39940f7ec0e7bacfec SHA512 14c5ac8d0343a4cb50de6c56124e515b159cf5f9bf358404ba41ec7a9c439206673e0d44888164ff3872236c7b8c74f5ea9544ea7a981a3b5930585dabcd4782
+AUX 252-rc1-cryptsetup.patch 10252 BLAKE2B 5a028463c40699a088859e6834d22a951357c93813f3045747679237420c165698cf7115fb8ddbf2adcad876439a2bd74a82f803cc875a00d6807afad2a6cad9 SHA512 d02d00491001a505f44015af5d5a8596acfdb34688415c7e72b7b5cb0083a3890a99ac89458c58a32164ce248b87af9c6395dd4ea1386b13433fc2b508db2b48
AUX gentoo-generator-path-r2.patch 994 BLAKE2B 2bfb42623221291030fa9f7310e9bf747351a26f6ffd842628298787b74d4ec562bacaa9fc5365f7e854f695dab5f74bc06883fefc1f210dce4fd415926817ac SHA512 98054222ea232e120625573b6a532c312eccc02fe657152610b7d056b964bb2165fffae9d17fd986cf547af885d44c26b117fe68df5b24e2607d37f3729d0ada
AUX gentoo-journald-audit.patch 1485 BLAKE2B 9cba28ce907330bbc1eafcf04a837987ed68272fcfa9cc34a309ff5d4cc2230f71a6f7fed42c79afb1c96605df141e8e40b2d8290d12ad3c18038269814f2df8 SHA512 d77d4dae9f8a7819c6d4855476f3163ee19f52b20f66a93e25818f0747404462c47e3cafbd82ba85ce1b3d2fdbabdd96a0398b71149b318c540d82403f8ad0ad
AUX gentoo-systemctl-disable-sysv-sync-r1.patch 821 BLAKE2B f5ef796725e023bb1ed83b34a3e4d45bb008de9a134892a5321b37b56809c7a44530d18e33c7877177e8b64b2d89dfc2de844bed433db6d5e57831d20fbfb456 SHA512 8d697dbd305f6b95a4ddc47cf9d99a0e954f54e161bd59164917b62a78ff5c23fa2d5be2614569c0a2297595dae59e1ee71bb04da72cbe0c0807e1abd7da974d
AUX nsswitch.conf 734 BLAKE2B 5f5a7821a84f6c8aa31fe9a68c29a1a0f24be578d427a623f14a9ef795e7da481f226efe5511d92932b5edf5638fa719808a0c3a0b8fd340799dd6bcb703a0a1 SHA512 dcbd51dacaaebdff32edb3840cc7b9b47b6521009b8786690e3673a2e78bc60bfd8e591b1048c5d452117c6659b9917ae2864462f5057cc39b704b0130522e60
AUX systemd-user.pam 122 BLAKE2B cccc07cab47dfc0481438e503c34fa1a0b2c6b1f8ab282197719a523421d2a526f19230bb459e0347cbeb2046e35a407c78178a3fb5b79619e987cbc4ac7d5e4 SHA512 c5437677ff00fbb45798fe594e8d61b1c2bfc2d103105d7bd82e476240452477ac263700800f5d0ba91ddc895eb85f4517d5cb15c80611ec1680a686d47cd781
-DIST systemd-stable-251.3.tar.gz 11435458 BLAKE2B 544238536848ab390b2476d5ad95d33998674be50020b8db0627bb9d0c86be6576c404ce786b01ceec86f1c75b174c6fc2d7e0d7fbab802a78f48c9d0915c2b8 SHA512 fb5b8dc1742562ef95469e90d406cfb6dfcb337860ad1208b460414b88ff0565071bde797d195faa62761206abc881829de6b1009e5d727cad2dfe0764310d5f
+DIST systemd-252-rc1.tar.gz 11718698 BLAKE2B 599c5c125c0fb0477ea71195491962db230cbaa2c610afbb14a475263f356f160a77ba7321f425cb6db837649ccbce971f80daaf5524ace03362777a71e7a9b5 SHA512 e249eb39da41aca1bc371c9e2b61f135227b0653e4e175c4c6453b0ca4e1cd50894c005d4ef267b5122af4f339cd9b5a4b90a98c4f84f998f96a7ca1ed637d28
DIST systemd-stable-251.4.tar.gz 11440203 BLAKE2B 58a0ee4adcc9d35b15b9cc98b3da81d1103b61a6c0bee722468a5113cd7d6de1d40c46ef964ba9ecc4746e81b516ae4b2f1d046874d62db066735c652592612e SHA512 7bbfadd80b88a4c3510a5e4e3572e4eab71dafbf6289da038e552988e09ee8da16da3c9bb8a4fbbde6c6236e0e3c352b0a33f9ee0b84f10241f3499383387738
DIST systemd-stable-251.5.tar.gz 11444428 BLAKE2B 96df35dae789b11ead1960e1139046972a29c41f74ca800e0fafd84e6a8c238f8d4a30e2991ee94e07e866bc0c3137774ee116f276ac1203cca85254ccf91913 SHA512 2c645a694d45a2670920115529c5f34001153dafe26e5c4e65f8d1a37922a351569d056fc002f1af72dfc173988f93e11893460f64b497e3d5fc339083dcb2fa
DIST systemd-stable-251.6.tar.gz 11448383 BLAKE2B 987ea88ea23662fd4119e3c796cc2e5f428fcce6cf0b033a5f8da7974c0026d41851f517e489354bbc22973b33c3932ac7280c56527f03a1fcbce3092148b638 SHA512 2da41ac7e939a893ada3ce682a6fe7dd326e8e0132221589da3d2b1d994e1a879118e0c6025f03351dac6567d754223a5f5401d64a5ca9256ab95512800370f8
-EBUILD systemd-251.3.ebuild 15507 BLAKE2B a5b9463fe2f440b01ab987b134fb147f88a811393e8122f2e404ca8163c7805cf42844292da3dbed72140e188958ccd67f11fc000c94b2e76aea0054a7a0606e SHA512 d1cd4e249b30fe9f975c4a70d7efd08b718dab197d84de621ab2e407299de764a1b47dc7d5df60028e3a2a5feedc9824b5d295a71c5583c369cc8283565de281
EBUILD systemd-251.4.ebuild 15500 BLAKE2B c8ea106e1dbbf830fba008ed6f70486e36a62947cf390f436b2c45856a8f3fc74d819f67983dde5fa49b854cf91e3c76e4ccb7d99af9c9753cc7a0183d8bb0d3 SHA512 f97e89cbc1fad054b265878f0f55b7bbfccdecc1f907743d4373cb7a9783805ea1e5536ad5fe759da4e3b6954146c9b456ce4147fa86f41c61187b11333ee8ec
EBUILD systemd-251.5.ebuild 15508 BLAKE2B dd89dde571cfd27fad856e2802c8b837d96b567f07fcae62af911f9dc6ebf6752ef7a287a7f1d695695a8f84cd43638a156101fcd53488fd25bdf43d65cb8560 SHA512 1c4b6a2dd35171dea0363d1331bfa67967fdb9bc8025cf4b3fea7b20af60748373473a3efed0710a8c86762ba53fb3bdcd0df62bb1e70a55a43a1ab722171ecd
EBUILD systemd-251.6.ebuild 15557 BLAKE2B 124b3527e460ec93d8a1f5a5fea3f435aa8db9a6b25b729ef46480b451a89aa77800d7a6062b7ba94d817152951f6f22c58d68708e2fd0fafbf73841b23bb9a0 SHA512 09f4318b267ef45fcd92d4ce3f25d5c6e665f0d1662cb339796c60e38c48ab780977d93f816f80c8e7512f6cb2c9802e68914375b351a08d14d96d2ff30365e5
+EBUILD systemd-252_rc1.ebuild 15414 BLAKE2B c6b3bc91da656036ec15f274551c377f94eb95110d9fc7d8f94601e1f0c4cf48fa030fc62a0d3bb5242d3061d132c30ca70f4a6be1526212f9190169de92896b SHA512 286665b61d82ee988be640b10103f2f05bba2c0c8efabc9cd8cbd2271e27e4e24b1cbca7f3273632bf269488b0a4743082097e4cb2dfab0cc12c32d0e3a6958d
EBUILD systemd-9999.ebuild 15372 BLAKE2B f480ab02dd6910b271805ef126bfefd478b9c94487dd4d2134edebd5a15e780ecb9104ae16a0f50dd921f642cb78389ffb486cc9ea76ea3d4db863a0db12d63f SHA512 ee3c87a63e7295e02679364f7337985eaf073026e57672b6352bb65979224791e491222b4309ca66ecc4df6c1b312acb4b706419299800fa8c94e179c235f5c6
MISC metadata.xml 2545 BLAKE2B fc424b7f9e471860cba69b6f11ea2094c70f125cd55c42ea77e4549a399680c4444119c79424c266828a284b0214001421f760477b1341844dddd2d474d70c33 SHA512 f0b8c4614e3c88d123916bb3399d6025ab30ff839849b136a29e1960bf0c50699b3f09b5307f40b77cc8c5566c20b11de2364a08311adceb15507df3e4bb0565
diff --git a/sys-apps/systemd/files/252-rc1-cryptsetup.patch b/sys-apps/systemd/files/252-rc1-cryptsetup.patch
new file mode 100644
index 000000000000..54b4ce1ea0aa
--- /dev/null
+++ b/sys-apps/systemd/files/252-rc1-cryptsetup.patch
@@ -0,0 +1,226 @@
+From bbf73b00697e77ca35ae60109418da77f257be52 Mon Sep 17 00:00:00 2001
+From: Daan De Meyer <daan.j.demeyer@gmail.com>
+Date: Tue, 11 Oct 2022 20:35:34 +0200
+Subject: [PATCH 1/2] cryptsetup-util: Always define dlopen_cryptsetup()
+
+---
+ src/shared/cryptsetup-util.c | 118 ++++++++++++++++++-----------------
+ src/shared/cryptsetup-util.h | 4 +-
+ 2 files changed, 63 insertions(+), 59 deletions(-)
+
+diff --git a/src/shared/cryptsetup-util.c b/src/shared/cryptsetup-util.c
+index da6dcb2f093a..401e7a3f9c7d 100644
+--- a/src/shared/cryptsetup-util.c
++++ b/src/shared/cryptsetup-util.c
+@@ -50,63 +50,6 @@ int (*sym_crypt_token_max)(const char *type);
+ crypt_token_info (*sym_crypt_token_status)(struct crypt_device *cd, int token, const char **type);
+ int (*sym_crypt_volume_key_get)(struct crypt_device *cd, int keyslot, char *volume_key, size_t *volume_key_size, const char *passphrase, size_t passphrase_size);
+
+-int dlopen_cryptsetup(void) {
+- int r;
+-
+- r = dlopen_many_sym_or_warn(
+- &cryptsetup_dl, "libcryptsetup.so.12", LOG_DEBUG,
+- DLSYM_ARG(crypt_activate_by_passphrase),
+-#if HAVE_CRYPT_ACTIVATE_BY_SIGNED_KEY
+- DLSYM_ARG(crypt_activate_by_signed_key),
+-#endif
+- DLSYM_ARG(crypt_activate_by_volume_key),
+- DLSYM_ARG(crypt_deactivate_by_name),
+- DLSYM_ARG(crypt_format),
+- DLSYM_ARG(crypt_free),
+- DLSYM_ARG(crypt_get_cipher),
+- DLSYM_ARG(crypt_get_cipher_mode),
+- DLSYM_ARG(crypt_get_data_offset),
+- DLSYM_ARG(crypt_get_device_name),
+- DLSYM_ARG(crypt_get_dir),
+- DLSYM_ARG(crypt_get_type),
+- DLSYM_ARG(crypt_get_uuid),
+- DLSYM_ARG(crypt_get_verity_info),
+- DLSYM_ARG(crypt_get_volume_key_size),
+- DLSYM_ARG(crypt_init),
+- DLSYM_ARG(crypt_init_by_name),
+- DLSYM_ARG(crypt_keyslot_add_by_volume_key),
+- DLSYM_ARG(crypt_keyslot_destroy),
+- DLSYM_ARG(crypt_keyslot_max),
+- DLSYM_ARG(crypt_load),
+- DLSYM_ARG(crypt_resize),
+- DLSYM_ARG(crypt_resume_by_passphrase),
+- DLSYM_ARG(crypt_set_data_device),
+- DLSYM_ARG(crypt_set_debug_level),
+- DLSYM_ARG(crypt_set_log_callback),
+-#if HAVE_CRYPT_SET_METADATA_SIZE
+- DLSYM_ARG(crypt_set_metadata_size),
+-#endif
+- DLSYM_ARG(crypt_set_pbkdf_type),
+- DLSYM_ARG(crypt_suspend),
+- DLSYM_ARG(crypt_token_json_get),
+- DLSYM_ARG(crypt_token_json_set),
+-#if HAVE_CRYPT_TOKEN_MAX
+- DLSYM_ARG(crypt_token_max),
+-#endif
+- DLSYM_ARG(crypt_token_status),
+- DLSYM_ARG(crypt_volume_key_get));
+- if (r <= 0)
+- return r;
+-
+- /* Redirect the default logging calls of libcryptsetup to our own logging infra. (Note that
+- * libcryptsetup also maintains per-"struct crypt_device" log functions, which we'll also set
+- * whenever allocating a "struct crypt_device" context. Why set both? To be defensive: maybe some
+- * other code loaded into this process also changes the global log functions of libcryptsetup, who
+- * knows? And if so, we still want our own objects to log via our own infra, at the very least.) */
+- cryptsetup_enable_logging(NULL);
+- return 1;
+-}
+-
+ static void cryptsetup_log_glue(int level, const char *msg, void *usrptr) {
+
+ switch (level) {
+@@ -246,6 +189,67 @@ int cryptsetup_add_token_json(struct crypt_device *cd, JsonVariant *v) {
+ }
+ #endif
+
++int dlopen_cryptsetup(void) {
++#if HAVE_LIBCRYPTSETUP
++ int r;
++
++ r = dlopen_many_sym_or_warn(
++ &cryptsetup_dl, "libcryptsetup.so.12", LOG_DEBUG,
++ DLSYM_ARG(crypt_activate_by_passphrase),
++#if HAVE_CRYPT_ACTIVATE_BY_SIGNED_KEY
++ DLSYM_ARG(crypt_activate_by_signed_key),
++#endif
++ DLSYM_ARG(crypt_activate_by_volume_key),
++ DLSYM_ARG(crypt_deactivate_by_name),
++ DLSYM_ARG(crypt_format),
++ DLSYM_ARG(crypt_free),
++ DLSYM_ARG(crypt_get_cipher),
++ DLSYM_ARG(crypt_get_cipher_mode),
++ DLSYM_ARG(crypt_get_data_offset),
++ DLSYM_ARG(crypt_get_device_name),
++ DLSYM_ARG(crypt_get_dir),
++ DLSYM_ARG(crypt_get_type),
++ DLSYM_ARG(crypt_get_uuid),
++ DLSYM_ARG(crypt_get_verity_info),
++ DLSYM_ARG(crypt_get_volume_key_size),
++ DLSYM_ARG(crypt_init),
++ DLSYM_ARG(crypt_init_by_name),
++ DLSYM_ARG(crypt_keyslot_add_by_volume_key),
++ DLSYM_ARG(crypt_keyslot_destroy),
++ DLSYM_ARG(crypt_keyslot_max),
++ DLSYM_ARG(crypt_load),
++ DLSYM_ARG(crypt_resize),
++ DLSYM_ARG(crypt_resume_by_passphrase),
++ DLSYM_ARG(crypt_set_data_device),
++ DLSYM_ARG(crypt_set_debug_level),
++ DLSYM_ARG(crypt_set_log_callback),
++#if HAVE_CRYPT_SET_METADATA_SIZE
++ DLSYM_ARG(crypt_set_metadata_size),
++#endif
++ DLSYM_ARG(crypt_set_pbkdf_type),
++ DLSYM_ARG(crypt_suspend),
++ DLSYM_ARG(crypt_token_json_get),
++ DLSYM_ARG(crypt_token_json_set),
++#if HAVE_CRYPT_TOKEN_MAX
++ DLSYM_ARG(crypt_token_max),
++#endif
++ DLSYM_ARG(crypt_token_status),
++ DLSYM_ARG(crypt_volume_key_get));
++ if (r <= 0)
++ return r;
++
++ /* Redirect the default logging calls of libcryptsetup to our own logging infra. (Note that
++ * libcryptsetup also maintains per-"struct crypt_device" log functions, which we'll also set
++ * whenever allocating a "struct crypt_device" context. Why set both? To be defensive: maybe some
++ * other code loaded into this process also changes the global log functions of libcryptsetup, who
++ * knows? And if so, we still want our own objects to log via our own infra, at the very least.) */
++ cryptsetup_enable_logging(NULL);
++ return 1;
++#else
++ return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "cryptsetup support is not compiled in.");
++#endif
++}
++
+ int cryptsetup_get_keyslot_from_token(JsonVariant *v) {
+ int keyslot, r;
+ JsonVariant *w;
+diff --git a/src/shared/cryptsetup-util.h b/src/shared/cryptsetup-util.h
+index b1ce07ec8a50..b390dc9a5cbb 100644
+--- a/src/shared/cryptsetup-util.h
++++ b/src/shared/cryptsetup-util.h
+@@ -65,8 +65,6 @@ static inline int crypt_token_max(_unused_ const char *type) {
+ extern crypt_token_info (*sym_crypt_token_status)(struct crypt_device *cd, int token, const char **type);
+ extern int (*sym_crypt_volume_key_get)(struct crypt_device *cd, int keyslot, char *volume_key, size_t *volume_key_size, const char *passphrase, size_t passphrase_size);
+
+-int dlopen_cryptsetup(void);
+-
+ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct crypt_device *, crypt_free, NULL);
+ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct crypt_device *, sym_crypt_free, NULL);
+
+@@ -91,6 +89,8 @@ static inline void sym_crypt_freep(struct crypt_device** cd) {}
+
+ #endif
+
++int dlopen_cryptsetup(void);
++
+ int cryptsetup_get_keyslot_from_token(JsonVariant *v);
+
+ static inline const char *mangle_none(const char *s) {
+
+From 86bebe385f6e35ecec708e44dae2b896f5bfa770 Mon Sep 17 00:00:00 2001
+From: Daan De Meyer <daan.j.demeyer@gmail.com>
+Date: Tue, 11 Oct 2022 20:36:03 +0200
+Subject: [PATCH 2/2] repart: Always define VerityMode from/to string functions
+
+---
+ src/partition/repart.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/partition/repart.c b/src/partition/repart.c
+index a0f7d4164500..dd544d6415a9 100644
+--- a/src/partition/repart.c
++++ b/src/partition/repart.c
+@@ -255,12 +255,11 @@ static const char *verity_mode_table[_VERITY_MODE_MAX] = {
+
+ #if HAVE_LIBCRYPTSETUP
+ DEFINE_PRIVATE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(encrypt_mode, EncryptMode, ENCRYPT_KEY_FILE);
+-DEFINE_PRIVATE_STRING_TABLE_LOOKUP(verity_mode, VerityMode);
+ #else
+ DEFINE_PRIVATE_STRING_TABLE_LOOKUP_FROM_STRING_WITH_BOOLEAN(encrypt_mode, EncryptMode, ENCRYPT_KEY_FILE);
+-DEFINE_PRIVATE_STRING_TABLE_LOOKUP_FROM_STRING(verity_mode, VerityMode);
+ #endif
+
++DEFINE_PRIVATE_STRING_TABLE_LOOKUP(verity_mode, VerityMode);
+
+ static uint64_t round_down_size(uint64_t v, uint64_t p) {
+ return (v / p) * p;
+From 748367c72368031ca0ef32fadd394c4bcacc126a Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Wed, 12 Oct 2022 21:47:29 +0200
+Subject: [PATCH] gpt-auto: allow using without cryptsetup
+
+Fixes #24978
+---
+ src/gpt-auto-generator/gpt-auto-generator.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
+index 31377d877d5c..5584eb22af1a 100644
+--- a/src/gpt-auto-generator/gpt-auto-generator.c
++++ b/src/gpt-auto-generator/gpt-auto-generator.c
+@@ -571,11 +571,15 @@ static int add_root_rw(DissectedPartition *p) {
+
+ #if ENABLE_EFI
+ static int add_root_cryptsetup(void) {
++#if HAVE_LIBCRYPTSETUP
+
+ /* If a device /dev/gpt-auto-root-luks appears, then make it pull in systemd-cryptsetup-root.service, which
+ * sets it up, and causes /dev/gpt-auto-root to appear which is all we are looking for. */
+
+ return add_cryptsetup("root", "/dev/gpt-auto-root-luks", true, false, NULL);
++#else
++ return 0;
++#endif
+ }
+ #endif
+
diff --git a/sys-apps/systemd/systemd-251.3.ebuild b/sys-apps/systemd/systemd-252_rc1.ebuild
index 30f67264f25b..6d2654a50d90 100644
--- a/sys-apps/systemd/systemd-251.3.ebuild
+++ b/sys-apps/systemd/systemd-252_rc1.ebuild
@@ -23,7 +23,7 @@ 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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
inherit bash-completion-r1 flag-o-matic linux-info meson-multilib pam python-any-r1 systemd toolchain-funcs udev usr-ldscript
@@ -168,8 +168,8 @@ BDEPEND="
"
python_check_deps() {
- has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/lxml[${PYTHON_USEDEP}]"
+ python_has_version "dev-python/jinja[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/lxml[${PYTHON_USEDEP}]"
}
QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
@@ -235,11 +235,7 @@ src_unpack() {
src_prepare() {
local PATCHES=(
- # Breaks Clang. Revert the commit for now and force off F_S=3.
- # bug #841770.
- "${FILESDIR}/251-revert-fortify-source-3-fix.patch"
- # bug #863218
- "${FILESDIR}/251-glibc-2.36.patch"
+ "${FILESDIR}/252-rc1-cryptsetup.patch"
)
if ! use vanilla; then
@@ -287,9 +283,8 @@ multilib_src_configure() {
-Dpamlibdir="$(getpam_mod_dir)"
# avoid bash-completion dep
-Dbashcompletiondir="$(get_bashcompdir)"
- # make sure we get /bin:/sbin in PATH
$(meson_use split-usr)
- -Dsplit-bin=true
+ $(meson_use split-usr split-bin)
-Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
-Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
# Avoid infinite exec recursion, bug 642724
@@ -371,6 +366,7 @@ multilib_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
@@ -379,19 +375,19 @@ multilib_src_install_all() {
dodoc "${FILESDIR}"/nsswitch.conf
if ! use resolvconf; then
- rm -f "${ED}${rootprefix}"/sbin/resolvconf || die
+ 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}${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
+ if ! use resolvconf && ! use sysv-utils && use split-usr; then
rmdir "${ED}${rootprefix}"/sbin || die
fi