diff options
Diffstat (limited to 'sys-apps/systemd')
-rw-r--r-- | sys-apps/systemd/Manifest | 5 | ||||
-rw-r--r-- | sys-apps/systemd/files/252-rc1-cryptsetup.patch | 226 | ||||
-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 |