systemd: 254.6 -> 255.2

Removed patches:

- 0007-Fix-hwdb-paths.patch

The directory we want seems to already be included in the list. Is there
a reason why we want to restrict it further?

- 0010-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch

This patch has little to do with how the meson.build file looks now. The
new patch 0017 is the successor to this one.

- 0015-pkg-config-derive-prefix-from-prefix.patch

This is fixed upstream. We don't need this anymore.

nikstur 748378a3 329de0f5

+304 -317
+2 -2
nixos/modules/system/boot/luksroot.nix
··· 1076 boot.initrd.systemd = { 1077 contents."/etc/crypttab".source = stage1Crypttab; 1078 1079 - extraBin.systemd-cryptsetup = "${config.boot.initrd.systemd.package}/lib/systemd/systemd-cryptsetup"; 1080 1081 additionalUpstreamUnits = [ 1082 "cryptsetup-pre.target" ··· 1084 "remote-cryptsetup.target" 1085 ]; 1086 storePaths = [ 1087 - "${config.boot.initrd.systemd.package}/lib/systemd/systemd-cryptsetup" 1088 "${config.boot.initrd.systemd.package}/lib/systemd/system-generators/systemd-cryptsetup-generator" 1089 ]; 1090
··· 1076 boot.initrd.systemd = { 1077 contents."/etc/crypttab".source = stage1Crypttab; 1078 1079 + extraBin.systemd-cryptsetup = "${config.boot.initrd.systemd.package}/bin/systemd-cryptsetup"; 1080 1081 additionalUpstreamUnits = [ 1082 "cryptsetup-pre.target" ··· 1084 "remote-cryptsetup.target" 1085 ]; 1086 storePaths = [ 1087 + "${config.boot.initrd.systemd.package}/bin/systemd-cryptsetup" 1088 "${config.boot.initrd.systemd.package}/lib/systemd/system-generators/systemd-cryptsetup-generator" 1089 ]; 1090
+3
nixos/modules/system/boot/systemd/initrd.nix
··· 70 "systemd-tmpfiles-setup.service" 71 "timers.target" 72 "umount.target" 73 ] ++ cfg.additionalUpstreamUnits; 74 75 upstreamWants = [ ··· 424 425 storePaths = [ 426 # systemd tooling 427 "${cfg.package}/lib/systemd/systemd-fsck" 428 "${cfg.package}/lib/systemd/systemd-hibernate-resume" 429 "${cfg.package}/lib/systemd/systemd-journald" ··· 433 "${cfg.package}/lib/systemd/systemd-shutdown" 434 "${cfg.package}/lib/systemd/systemd-sulogin-shell" 435 "${cfg.package}/lib/systemd/systemd-sysctl" 436 437 # generators 438 "${cfg.package}/lib/systemd/system-generators/systemd-debug-generator"
··· 70 "systemd-tmpfiles-setup.service" 71 "timers.target" 72 "umount.target" 73 + "systemd-bsod.service" 74 ] ++ cfg.additionalUpstreamUnits; 75 76 upstreamWants = [ ··· 425 426 storePaths = [ 427 # systemd tooling 428 + "${cfg.package}/lib/systemd/systemd-executor" 429 "${cfg.package}/lib/systemd/systemd-fsck" 430 "${cfg.package}/lib/systemd/systemd-hibernate-resume" 431 "${cfg.package}/lib/systemd/systemd-journald" ··· 435 "${cfg.package}/lib/systemd/systemd-shutdown" 436 "${cfg.package}/lib/systemd/systemd-sulogin-shell" 437 "${cfg.package}/lib/systemd/systemd-sysctl" 438 + "${cfg.package}/lib/systemd/systemd-bsod" 439 440 # generators 441 "${cfg.package}/lib/systemd/system-generators/systemd-debug-generator"
+2 -2
pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch
··· 13 1 file changed, 4 deletions(-) 14 15 diff --git a/rules.d/99-systemd.rules.in b/rules.d/99-systemd.rules.in 16 - index c0defc31de..8f80235731 100644 17 --- a/rules.d/99-systemd.rules.in 18 +++ b/rules.d/99-systemd.rules.in 19 - @@ -20,10 +20,6 @@ SUBSYSTEM=="block", TAG+="systemd" 20 SUBSYSTEM=="block", ENV{DM_SUSPENDED}=="1", IMPORT{db}="SYSTEMD_READY", GOTO="systemd_end" 21 SUBSYSTEM=="block", ACTION=="add", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" 22
··· 13 1 file changed, 4 deletions(-) 14 15 diff --git a/rules.d/99-systemd.rules.in b/rules.d/99-systemd.rules.in 16 + index 0d68f31d36..6b52f7ed4b 100644 17 --- a/rules.d/99-systemd.rules.in 18 +++ b/rules.d/99-systemd.rules.in 19 + @@ -22,10 +22,6 @@ SUBSYSTEM=="block", TAG+="systemd" 20 SUBSYSTEM=="block", ENV{DM_SUSPENDED}=="1", IMPORT{db}="SYSTEMD_READY", GOTO="systemd_end" 21 SUBSYSTEM=="block", ACTION=="add", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" 22
+3 -3
pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch
··· 14 2 files changed, 6 insertions(+), 2 deletions(-) 15 16 diff --git a/src/shared/fstab-util.c b/src/shared/fstab-util.c 17 - index 4ffec25c75..b99031c54e 100644 18 --- a/src/shared/fstab-util.c 19 +++ b/src/shared/fstab-util.c 20 - @@ -43,6 +43,8 @@ bool fstab_is_extrinsic(const char *mount, const char *opts) { 21 /* Don't bother with the OS data itself */ 22 if (PATH_IN_SET(mount, 23 "/", ··· 27 "/etc")) 28 return true; 29 diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c 30 - index 1586c2e214..fcae95f824 100644 31 --- a/src/shutdown/umount.c 32 +++ b/src/shutdown/umount.c 33 @@ -170,8 +170,10 @@ int mount_points_list_get(const char *mountinfo, MountPoint **head) {
··· 14 2 files changed, 6 insertions(+), 2 deletions(-) 15 16 diff --git a/src/shared/fstab-util.c b/src/shared/fstab-util.c 17 + index 55e76b6e16..015a608035 100644 18 --- a/src/shared/fstab-util.c 19 +++ b/src/shared/fstab-util.c 20 + @@ -66,6 +66,8 @@ bool fstab_is_extrinsic(const char *mount, const char *opts) { 21 /* Don't bother with the OS data itself */ 22 if (PATH_IN_SET(mount, 23 "/", ··· 27 "/etc")) 28 return true; 29 diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c 30 + index 1a9b99d761..04ef9af1ea 100644 31 --- a/src/shutdown/umount.c 32 +++ b/src/shutdown/umount.c 33 @@ -170,8 +170,10 @@ int mount_points_list_get(const char *mountinfo, MountPoint **head) {
+3 -3
pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
··· 10 1 file changed, 2 insertions(+) 11 12 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 13 - index e170958fc5..898a674631 100644 14 --- a/src/nspawn/nspawn.c 15 +++ b/src/nspawn/nspawn.c 16 - @@ -5648,6 +5648,7 @@ static int run(int argc, char *argv[]) { 17 goto finish; 18 } 19 } else { ··· 21 _cleanup_free_ char *p = NULL; 22 23 if (arg_pivot_root_new) 24 - @@ -5662,6 +5663,7 @@ static int run(int argc, char *argv[]) { 25 "Directory %s doesn't look like it has an OS tree (/usr/ directory is missing). Refusing.", arg_directory); 26 goto finish; 27 }
··· 10 1 file changed, 2 insertions(+) 11 12 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 13 + index 38196ef3d6..57d1750b00 100644 14 --- a/src/nspawn/nspawn.c 15 +++ b/src/nspawn/nspawn.c 16 + @@ -5602,6 +5602,7 @@ static int run(int argc, char *argv[]) { 17 goto finish; 18 } 19 } else { ··· 21 _cleanup_free_ char *p = NULL; 22 23 if (arg_pivot_root_new) 24 + @@ -5618,6 +5619,7 @@ static int run(int argc, char *argv[]) { 25 "Directory %s doesn't look like it has an OS tree (/usr/ directory is missing). Refusing.", arg_directory); 26 goto finish; 27 }
+14 -13
pkgs/os-specific/linux/systemd/0004-Add-some-NixOS-specific-unit-directories.patch
··· 11 12 Original-Author: Eelco Dolstra <eelco.dolstra@logicblox.com> 13 --- 14 - src/basic/path-lookup.c | 17 ++--------------- 15 src/core/systemd.pc.in | 8 ++++---- 16 - 2 files changed, 6 insertions(+), 19 deletions(-) 17 18 diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c 19 - index 7d158a8295..f9bd62b631 100644 20 --- a/src/basic/path-lookup.c 21 +++ b/src/basic/path-lookup.c 22 @@ -92,11 +92,7 @@ int xdg_user_data_dir(char **ret, const char *suffix) { ··· 31 NULL 32 }; 33 34 - @@ -617,15 +613,13 @@ int lookup_paths_init( 35 persistent_config, 36 SYSTEM_CONFIG_UNIT_DIR, 37 "/etc/systemd/system", ··· 44 - "/usr/local/lib/systemd/system", 45 SYSTEM_DATA_UNIT_DIR, 46 - "/usr/lib/systemd/system", 47 - STRV_IFNOTNULL(flags & LOOKUP_PATHS_SPLIT_USR ? "/lib/systemd/system" : NULL), 48 STRV_IFNOTNULL(generator_late)); 49 break; 50 51 - @@ -641,14 +635,11 @@ int lookup_paths_init( 52 persistent_config, 53 USER_CONFIG_UNIT_DIR, 54 "/etc/systemd/user", ··· 64 STRV_IFNOTNULL(generator_late)); 65 break; 66 67 - @@ -808,7 +799,6 @@ char **generator_binary_paths(RuntimeScope scope) { 68 case RUNTIME_SCOPE_SYSTEM: 69 add = strv_new("/run/systemd/system-generators", 70 "/etc/systemd/system-generators", ··· 72 SYSTEM_GENERATOR_DIR); 73 break; 74 75 - @@ -816,7 +806,6 @@ char **generator_binary_paths(RuntimeScope scope) { 76 case RUNTIME_SCOPE_USER: 77 add = strv_new("/run/systemd/user-generators", 78 "/etc/systemd/user-generators", ··· 80 USER_GENERATOR_DIR); 81 break; 82 83 - @@ -855,14 +844,12 @@ char **env_generator_binary_paths(RuntimeScope runtime_scope) { 84 case RUNTIME_SCOPE_SYSTEM: 85 add = strv_new("/run/systemd/system-environment-generators", 86 "/etc/systemd/system-environment-generators", ··· 96 break; 97 98 diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in 99 - index 693433b34b..5932a21b5b 100644 100 --- a/src/core/systemd.pc.in 101 +++ b/src/core/systemd.pc.in 102 - @@ -38,10 +38,10 @@ systemdsystemconfdir=${systemd_system_conf_dir} 103 systemd_user_conf_dir=${sysconfdir}/systemd/user 104 systemduserconfdir=${systemd_user_conf_dir} 105 ··· 111 +systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/nix/var/nix/profiles/default/lib/systemd/user:/run/systemd/user:${systemduserunitdir} 112 systemduserunitpath=${systemd_user_unit_path} 113 114 - systemd_system_generator_dir=${root_prefix}/lib/systemd/system-generators 115 - @@ -50,10 +50,10 @@ systemdsystemgeneratordir=${systemd_system_generator_dir} 116 systemd_user_generator_dir=${prefix}/lib/systemd/user-generators 117 systemdusergeneratordir=${systemd_user_generator_dir} 118 ··· 124 +systemd_user_generator_path=/run/systemd/user-generators:/etc/systemd/user-generators:${systemd_user_generator_dir} 125 systemdusergeneratorpath=${systemd_user_generator_path} 126 127 - systemd_sleep_dir=${root_prefix}/lib/systemd/system-sleep
··· 11 12 Original-Author: Eelco Dolstra <eelco.dolstra@logicblox.com> 13 --- 14 + src/basic/path-lookup.c | 18 ++---------------- 15 src/core/systemd.pc.in | 8 ++++---- 16 + 2 files changed, 6 insertions(+), 20 deletions(-) 17 18 diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c 19 + index 4e3d59fc56..0d18b9a2d0 100644 20 --- a/src/basic/path-lookup.c 21 +++ b/src/basic/path-lookup.c 22 @@ -92,11 +92,7 @@ int xdg_user_data_dir(char **ret, const char *suffix) { ··· 31 NULL 32 }; 33 34 + @@ -613,16 +609,13 @@ int lookup_paths_init( 35 persistent_config, 36 SYSTEM_CONFIG_UNIT_DIR, 37 "/etc/systemd/system", ··· 44 - "/usr/local/lib/systemd/system", 45 SYSTEM_DATA_UNIT_DIR, 46 - "/usr/lib/systemd/system", 47 + - /* To be used ONLY for images which might be legacy split-usr */ 48 - STRV_IFNOTNULL(flags & LOOKUP_PATHS_SPLIT_USR ? "/lib/systemd/system" : NULL), 49 STRV_IFNOTNULL(generator_late)); 50 break; 51 52 + @@ -638,14 +631,11 @@ int lookup_paths_init( 53 persistent_config, 54 USER_CONFIG_UNIT_DIR, 55 "/etc/systemd/user", ··· 65 STRV_IFNOTNULL(generator_late)); 66 break; 67 68 + @@ -805,7 +795,6 @@ char **generator_binary_paths(RuntimeScope scope) { 69 case RUNTIME_SCOPE_SYSTEM: 70 add = strv_new("/run/systemd/system-generators", 71 "/etc/systemd/system-generators", ··· 73 SYSTEM_GENERATOR_DIR); 74 break; 75 76 + @@ -813,7 +802,6 @@ char **generator_binary_paths(RuntimeScope scope) { 77 case RUNTIME_SCOPE_USER: 78 add = strv_new("/run/systemd/user-generators", 79 "/etc/systemd/user-generators", ··· 81 USER_GENERATOR_DIR); 82 break; 83 84 + @@ -852,14 +840,12 @@ char **env_generator_binary_paths(RuntimeScope runtime_scope) { 85 case RUNTIME_SCOPE_SYSTEM: 86 add = strv_new("/run/systemd/system-environment-generators", 87 "/etc/systemd/system-environment-generators", ··· 97 break; 98 99 diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in 100 + index f3b85b0190..8ae544b495 100644 101 --- a/src/core/systemd.pc.in 102 +++ b/src/core/systemd.pc.in 103 + @@ -43,10 +43,10 @@ systemdsystemconfdir=${systemd_system_conf_dir} 104 systemd_user_conf_dir=${sysconfdir}/systemd/user 105 systemduserconfdir=${systemd_user_conf_dir} 106 ··· 112 +systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/nix/var/nix/profiles/default/lib/systemd/user:/run/systemd/user:${systemduserunitdir} 113 systemduserunitpath=${systemd_user_unit_path} 114 115 + systemd_system_generator_dir=${prefix}/lib/systemd/system-generators 116 + @@ -55,10 +55,10 @@ systemdsystemgeneratordir=${systemd_system_generator_dir} 117 systemd_user_generator_dir=${prefix}/lib/systemd/user-generators 118 systemdusergeneratordir=${systemd_user_generator_dir} 119 ··· 125 +systemd_user_generator_path=/run/systemd/user-generators:/etc/systemd/user-generators:${systemd_user_generator_dir} 126 systemdusergeneratorpath=${systemd_user_generator_path} 127 128 + systemd_sleep_dir=${prefix}/lib/systemd/system-sleep
+2 -2
pkgs/os-specific/linux/systemd/0005-Get-rid-of-a-useless-message-in-user-sessions.patch
··· 13 1 file changed, 2 insertions(+), 1 deletion(-) 14 15 diff --git a/src/core/manager.c b/src/core/manager.c 16 - index 22ec6e79b1..771e8e7f16 100644 17 --- a/src/core/manager.c 18 +++ b/src/core/manager.c 19 - @@ -1559,7 +1559,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) { 20 if (!unit_is_bound_by_inactive(u, &culprit)) 21 continue; 22
··· 13 1 file changed, 2 insertions(+), 1 deletion(-) 14 15 diff --git a/src/core/manager.c b/src/core/manager.c 16 + index e61ebee253..22cc5cc843 100644 17 --- a/src/core/manager.c 18 +++ b/src/core/manager.c 19 + @@ -1562,7 +1562,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) { 20 if (!unit_is_bound_by_inactive(u, &culprit)) 21 continue; 22
+6 -6
pkgs/os-specific/linux/systemd/0006-hostnamed-localed-timedated-disable-methods-that-cha.patch
··· 11 3 files changed, 25 insertions(+) 12 13 diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c 14 - index 9ef45f8e75..99b1ec2e36 100644 15 --- a/src/hostname/hostnamed.c 16 +++ b/src/hostname/hostnamed.c 17 @@ -1053,6 +1053,9 @@ static int method_set_static_hostname(sd_bus_message *m, void *userdata, sd_bus_ ··· 35 36 context_read_machine_info(c); 37 diff --git a/src/locale/localed.c b/src/locale/localed.c 38 - index f544a73580..ce00c262cc 100644 39 --- a/src/locale/localed.c 40 +++ b/src/locale/localed.c 41 @@ -229,6 +229,9 @@ static int method_set_locale(sd_bus_message *m, void *userdata, sd_bus_error *er ··· 69 70 r = x11_context_verify_and_warn(&in, LOG_ERR, error); 71 diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c 72 - index ad1d492d6b..331af34505 100644 73 --- a/src/timedate/timedated.c 74 +++ b/src/timedate/timedated.c 75 - @@ -665,6 +665,10 @@ static int method_set_timezone(sd_bus_message *m, void *userdata, sd_bus_error * 76 if (r < 0) 77 return r; 78 ··· 83 if (!timezone_is_valid(z, LOG_DEBUG)) 84 return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid or not installed time zone '%s'", z); 85 86 - @@ -743,6 +747,9 @@ static int method_set_local_rtc(sd_bus_message *m, void *userdata, sd_bus_error 87 if (r < 0) 88 return r; 89 ··· 93 if (lrtc == c->local_rtc && !fix_system) 94 return sd_bus_reply_method_return(m, NULL); 95 96 - @@ -923,6 +930,9 @@ static int method_set_ntp(sd_bus_message *m, void *userdata, sd_bus_error *error 97 if (r < 0) 98 return r; 99
··· 11 3 files changed, 25 insertions(+) 12 13 diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c 14 + index e1d53f2395..a224e6dadc 100644 15 --- a/src/hostname/hostnamed.c 16 +++ b/src/hostname/hostnamed.c 17 @@ -1053,6 +1053,9 @@ static int method_set_static_hostname(sd_bus_message *m, void *userdata, sd_bus_ ··· 35 36 context_read_machine_info(c); 37 diff --git a/src/locale/localed.c b/src/locale/localed.c 38 + index 5d96237fae..9af35cd29c 100644 39 --- a/src/locale/localed.c 40 +++ b/src/locale/localed.c 41 @@ -229,6 +229,9 @@ static int method_set_locale(sd_bus_message *m, void *userdata, sd_bus_error *er ··· 69 70 r = x11_context_verify_and_warn(&in, LOG_ERR, error); 71 diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c 72 + index c7be30f563..50f8aa8675 100644 73 --- a/src/timedate/timedated.c 74 +++ b/src/timedate/timedated.c 75 + @@ -659,6 +659,10 @@ static int method_set_timezone(sd_bus_message *m, void *userdata, sd_bus_error * 76 if (r < 0) 77 return r; 78 ··· 83 if (!timezone_is_valid(z, LOG_DEBUG)) 84 return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid or not installed time zone '%s'", z); 85 86 + @@ -737,6 +741,9 @@ static int method_set_local_rtc(sd_bus_message *m, void *userdata, sd_bus_error 87 if (r < 0) 88 return r; 89 ··· 93 if (lrtc == c->local_rtc && !fix_system) 94 return sd_bus_reply_method_return(m, NULL); 95 96 + @@ -917,6 +924,9 @@ static int method_set_ntp(sd_bus_message *m, void *userdata, sd_bus_error *error 97 if (r < 0) 98 return r; 99
-24
pkgs/os-specific/linux/systemd/0007-Fix-hwdb-paths.patch
··· 1 - From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 - From: Nikolay Amiantov <ab@fmap.me> 3 - Date: Thu, 7 Jul 2016 02:47:13 +0300 4 - Subject: [PATCH] Fix hwdb paths 5 - 6 - Patch by vcunat. 7 - --- 8 - src/libsystemd/sd-hwdb/hwdb-internal.h | 6 +----- 9 - 1 file changed, 1 insertion(+), 5 deletions(-) 10 - 11 - diff --git a/src/libsystemd/sd-hwdb/hwdb-internal.h b/src/libsystemd/sd-hwdb/hwdb-internal.h 12 - index 5302679a62..39e59a527f 100644 13 - --- a/src/libsystemd/sd-hwdb/hwdb-internal.h 14 - +++ b/src/libsystemd/sd-hwdb/hwdb-internal.h 15 - @@ -83,8 +83,4 @@ struct trie_value_entry2_f { 16 - } _packed_; 17 - 18 - #define hwdb_bin_paths \ 19 - - "/etc/systemd/hwdb/hwdb.bin\0" \ 20 - - "/etc/udev/hwdb.bin\0" \ 21 - - "/usr/lib/systemd/hwdb/hwdb.bin\0" \ 22 - - _CONF_PATHS_SPLIT_USR_NULSTR("systemd/hwdb/hwdb.bin") \ 23 - - UDEVLIBEXECDIR "/hwdb.bin\0" 24 - + "/etc/udev/hwdb.bin\0"
···
+13 -13
pkgs/os-specific/linux/systemd/0008-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
··· 35 <literal>Etc/UTC</literal>. The resulting link should lead to the 36 corresponding binary 37 diff --git a/src/basic/time-util.c b/src/basic/time-util.c 38 - index 1db630003a..31744c3e68 100644 39 --- a/src/basic/time-util.c 40 +++ b/src/basic/time-util.c 41 - @@ -1350,7 +1350,7 @@ static int get_timezones_from_zone1970_tab(char ***ret) { 42 43 assert(ret); 44 ··· 47 if (!f) 48 return -errno; 49 50 - @@ -1391,7 +1391,7 @@ static int get_timezones_from_tzdata_zi(char ***ret) { 51 52 assert(ret); 53 ··· 56 if (!f) 57 return -errno; 58 59 - @@ -1503,7 +1503,7 @@ int verify_timezone(const char *name, int log_level) { 60 if (p - name >= PATH_MAX) 61 return -ENAMETOOLONG; 62 ··· 65 66 fd = open(t, O_RDONLY|O_CLOEXEC); 67 if (fd < 0) 68 - @@ -1563,7 +1563,7 @@ int get_timezone(char **ret) { 69 if (r < 0) 70 return r; /* returns EINVAL if not a symlink */ 71 ··· 75 return -EINVAL; 76 77 diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c 78 - index 1956ab3b13..9ef356f8af 100644 79 --- a/src/firstboot/firstboot.c 80 +++ b/src/firstboot/firstboot.c 81 - @@ -630,7 +630,7 @@ static int process_timezone(int rfd) { 82 if (isempty(arg_timezone)) 83 return 0; 84 ··· 88 r = symlinkat_atomic_full(e, pfd, f, /* make_relative= */ false); 89 if (r < 0) 90 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 91 - index 898a674631..c41a416e04 100644 92 --- a/src/nspawn/nspawn.c 93 +++ b/src/nspawn/nspawn.c 94 - @@ -1924,8 +1924,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid 95 static const char *timezone_from_path(const char *path) { 96 return PATH_STARTSWITH_SET( 97 path, ··· 103 104 static bool etc_writable(void) { 105 diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c 106 - index 331af34505..722c4b5b4f 100644 107 --- a/src/timedate/timedated.c 108 +++ b/src/timedate/timedated.c 109 - @@ -282,7 +282,7 @@ static int context_read_data(Context *c) { 110 111 r = get_timezone(&t); 112 if (r == -EINVAL) ··· 115 else if (r < 0) 116 log_warning_errno(r, "Failed to get target of /etc/localtime: %m"); 117 118 - @@ -306,7 +306,7 @@ static int context_write_data_timezone(Context *c) { 119 120 if (isempty(c->zone) || streq(c->zone, "UTC")) { 121 ··· 124 125 if (unlink("/etc/localtime") < 0 && errno != ENOENT) 126 return -errno; 127 - @@ -314,9 +314,9 @@ static int context_write_data_timezone(Context *c) { 128 return 0; 129 } 130
··· 35 <literal>Etc/UTC</literal>. The resulting link should lead to the 36 corresponding binary 37 diff --git a/src/basic/time-util.c b/src/basic/time-util.c 38 + index f9014dc560..3ee0363369 100644 39 --- a/src/basic/time-util.c 40 +++ b/src/basic/time-util.c 41 + @@ -1412,7 +1412,7 @@ static int get_timezones_from_zone1970_tab(char ***ret) { 42 43 assert(ret); 44 ··· 47 if (!f) 48 return -errno; 49 50 + @@ -1453,7 +1453,7 @@ static int get_timezones_from_tzdata_zi(char ***ret) { 51 52 assert(ret); 53 ··· 56 if (!f) 57 return -errno; 58 59 + @@ -1565,7 +1565,7 @@ int verify_timezone(const char *name, int log_level) { 60 if (p - name >= PATH_MAX) 61 return -ENAMETOOLONG; 62 ··· 65 66 fd = open(t, O_RDONLY|O_CLOEXEC); 67 if (fd < 0) 68 + @@ -1625,7 +1625,7 @@ int get_timezone(char **ret) { 69 if (r < 0) 70 return r; /* returns EINVAL if not a symlink */ 71 ··· 75 return -EINVAL; 76 77 diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c 78 + index f77a5f6266..63bac85b29 100644 79 --- a/src/firstboot/firstboot.c 80 +++ b/src/firstboot/firstboot.c 81 + @@ -632,7 +632,7 @@ static int process_timezone(int rfd) { 82 if (isempty(arg_timezone)) 83 return 0; 84 ··· 88 r = symlinkat_atomic_full(e, pfd, f, /* make_relative= */ false); 89 if (r < 0) 90 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 91 + index e48ebe8342..41796f3358 100644 92 --- a/src/nspawn/nspawn.c 93 +++ b/src/nspawn/nspawn.c 94 + @@ -1845,8 +1845,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid 95 static const char *timezone_from_path(const char *path) { 96 return PATH_STARTSWITH_SET( 97 path, ··· 103 104 static bool etc_writable(void) { 105 diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c 106 + index 50f8aa8675..aff156ab42 100644 107 --- a/src/timedate/timedated.c 108 +++ b/src/timedate/timedated.c 109 + @@ -276,7 +276,7 @@ static int context_read_data(Context *c) { 110 111 r = get_timezone(&t); 112 if (r == -EINVAL) ··· 115 else if (r < 0) 116 log_warning_errno(r, "Failed to get target of /etc/localtime: %m"); 117 118 + @@ -300,7 +300,7 @@ static int context_write_data_timezone(Context *c) { 119 120 if (isempty(c->zone) || streq(c->zone, "UTC")) { 121 ··· 124 125 if (unlink("/etc/localtime") < 0 && errno != ENOENT) 126 return -errno; 127 + @@ -308,9 +308,9 @@ static int context_write_data_timezone(Context *c) { 128 return 0; 129 } 130
+1 -1
pkgs/os-specific/linux/systemd/0009-localectl-use-etc-X11-xkb-for-list-x11.patch pkgs/os-specific/linux/systemd/0008-localectl-use-etc-X11-xkb-for-list-x11.patch
··· 10 1 file changed, 1 insertion(+), 1 deletion(-) 11 12 diff --git a/src/locale/localectl.c b/src/locale/localectl.c 13 - index d8db9d9d22..4601bb5431 100644 14 --- a/src/locale/localectl.c 15 +++ b/src/locale/localectl.c 16 @@ -297,7 +297,7 @@ static int list_x11_keymaps(int argc, char **argv, void *userdata) {
··· 10 1 file changed, 1 insertion(+), 1 deletion(-) 11 12 diff --git a/src/locale/localectl.c b/src/locale/localectl.c 13 + index 32354027f1..1d231f1afc 100644 14 --- a/src/locale/localectl.c 15 +++ b/src/locale/localectl.c 16 @@ -297,7 +297,7 @@ static int list_x11_keymaps(int argc, char **argv, void *userdata) {
-23
pkgs/os-specific/linux/systemd/0010-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
··· 1 - From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 - From: Franz Pletz <fpletz@fnordicwalking.de> 3 - Date: Sun, 11 Feb 2018 04:37:44 +0100 4 - Subject: [PATCH] build: don't create statedir and don't touch prefixdir 5 - 6 - --- 7 - meson.build | 3 --- 8 - 1 file changed, 3 deletions(-) 9 - 10 - diff --git a/meson.build b/meson.build 11 - index 395eca1943..082cd748bb 100644 12 - --- a/meson.build 13 - +++ b/meson.build 14 - @@ -4707,9 +4707,6 @@ install_data('LICENSE.GPL2', 15 - install_subdir('LICENSES', 16 - install_dir : docdir) 17 - 18 - -meson.add_install_script('sh', '-c', mkdir_p.format(systemdstatedir)) 19 - -meson.add_install_script('sh', '-c', 'touch $DESTDIR@0@'.format(prefixdir)) 20 - - 21 - ############################################################ 22 - 23 - # Ensure that changes to the docs/ directory do not break the
···
+8 -8
pkgs/os-specific/linux/systemd/0011-add-rootprefix-to-lookup-dir-paths.patch pkgs/os-specific/linux/systemd/0009-add-rootprefix-to-lookup-dir-paths.patch
··· 12 1 file changed, 4 insertions(+), 2 deletions(-) 13 14 diff --git a/src/basic/constants.h b/src/basic/constants.h 15 - index 3f96786da9..6e8fb40c08 100644 16 --- a/src/basic/constants.h 17 +++ b/src/basic/constants.h 18 - @@ -74,13 +74,15 @@ 19 "/run/" n "\0" \ 20 "/usr/local/lib/" n "\0" \ 21 - "/usr/lib/" n "\0" \ 22 - - _CONF_PATHS_SPLIT_USR_NULSTR(n) 23 - + _CONF_PATHS_SPLIT_USR_NULSTR(n) \ 24 - + ROOTPREFIX "/lib/" n "\0" 25 26 #define CONF_PATHS_USR(n) \ 27 "/etc/" n, \ ··· 29 "/usr/local/lib/" n, \ 30 - "/usr/lib/" n 31 + "/usr/lib/" n, \ 32 - + ROOTPREFIX "/lib/" n 33 34 #define CONF_PATHS(n) \ 35 - CONF_PATHS_USR(n) \
··· 12 1 file changed, 4 insertions(+), 2 deletions(-) 13 14 diff --git a/src/basic/constants.h b/src/basic/constants.h 15 + index 6bb5f3c281..678d13737d 100644 16 --- a/src/basic/constants.h 17 +++ b/src/basic/constants.h 18 + @@ -65,13 +65,15 @@ 19 + "/etc/" n "\0" \ 20 "/run/" n "\0" \ 21 "/usr/local/lib/" n "\0" \ 22 + - "/usr/lib/" n "\0" 23 + + "/usr/lib/" n "\0" \ 24 + + PREFIX "/lib/" n "\0" 25 26 #define CONF_PATHS_USR(n) \ 27 "/etc/" n, \ ··· 29 "/usr/local/lib/" n, \ 30 - "/usr/lib/" n 31 + "/usr/lib/" n, \ 32 + + PREFIX "/lib/" n 33 34 #define CONF_PATHS(n) \ 35 + CONF_PATHS_USR(n)
+28
pkgs/os-specific/linux/systemd/0012-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
···
··· 1 + From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 + From: Florian Klink <flokli@flokli.de> 3 + Date: Sun, 8 Mar 2020 01:05:54 +0100 4 + Subject: [PATCH] path-util.h: add placeholder for DEFAULT_PATH_NORMAL 5 + 6 + This will be the $PATH used to lookup ExecStart= etc. options, which 7 + systemd itself uses extensively. 8 + --- 9 + src/basic/path-util.h | 6 +++--- 10 + 1 file changed, 3 insertions(+), 3 deletions(-) 11 + 12 + diff --git a/src/basic/path-util.h b/src/basic/path-util.h 13 + index 6d943e967f..d4380aa7e3 100644 14 + --- a/src/basic/path-util.h 15 + +++ b/src/basic/path-util.h 16 + @@ -25,9 +25,9 @@ 17 + # define PATH_SBIN_BIN_NULSTR(x) PATH_NORMAL_SBIN_BIN_NULSTR(x) 18 + #endif 19 + 20 + -#define DEFAULT_PATH PATH_SBIN_BIN("/usr/local/") ":" PATH_SBIN_BIN("/usr/") 21 + -#define DEFAULT_PATH_NULSTR PATH_SBIN_BIN_NULSTR("/usr/local/") PATH_SBIN_BIN_NULSTR("/usr/") 22 + -#define DEFAULT_PATH_COMPAT PATH_SPLIT_SBIN_BIN("/usr/local/") ":" PATH_SPLIT_SBIN_BIN("/usr/") ":" PATH_SPLIT_SBIN_BIN("/") 23 + +#define DEFAULT_PATH "@defaultPathNormal@" 24 + +#define DEFAULT_PATH_NULSTR "@defaultPathNormal@\0" 25 + +#define DEFAULT_PATH_COMPAT DEFAULT_PATH 26 + 27 + #ifndef DEFAULT_USER_PATH 28 + # define DEFAULT_USER_PATH DEFAULT_PATH
+2 -2
pkgs/os-specific/linux/systemd/0012-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch pkgs/os-specific/linux/systemd/0010-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
··· 10 1 file changed, 1 insertion(+) 11 12 diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c 13 - index 8395bb429d..14fbc85bb4 100644 14 --- a/src/shutdown/shutdown.c 15 +++ b/src/shutdown/shutdown.c 16 - @@ -334,6 +334,7 @@ static void init_watchdog(void) { 17 int main(int argc, char *argv[]) { 18 static const char* const dirs[] = { 19 SYSTEM_SHUTDOWN_PATH,
··· 10 1 file changed, 1 insertion(+) 11 12 diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c 13 + index b976b7d8cf..b1c02df6fd 100644 14 --- a/src/shutdown/shutdown.c 15 +++ b/src/shutdown/shutdown.c 16 + @@ -336,6 +336,7 @@ static void init_watchdog(void) { 17 int main(int argc, char *argv[]) { 18 static const char* const dirs[] = { 19 SYSTEM_SHUTDOWN_PATH,
+2 -2
pkgs/os-specific/linux/systemd/0013-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch pkgs/os-specific/linux/systemd/0011-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
··· 9 1 file changed, 1 insertion(+) 10 11 diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c 12 - index de1f6c7ec1..d0cdebd80a 100644 13 --- a/src/sleep/sleep.c 14 +++ b/src/sleep/sleep.c 15 - @@ -224,6 +224,7 @@ static int execute( 16 }; 17 static const char* const dirs[] = { 18 SYSTEM_SLEEP_PATH,
··· 9 1 file changed, 1 insertion(+) 10 11 diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c 12 + index 21af3e9e52..6d096e3c78 100644 13 --- a/src/sleep/sleep.c 14 +++ b/src/sleep/sleep.c 15 + @@ -215,6 +215,7 @@ static int execute( 16 }; 17 static const char* const dirs[] = { 18 SYSTEM_SLEEP_PATH,
-30
pkgs/os-specific/linux/systemd/0014-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
··· 1 - From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 - From: Florian Klink <flokli@flokli.de> 3 - Date: Sun, 8 Mar 2020 01:05:54 +0100 4 - Subject: [PATCH] path-util.h: add placeholder for DEFAULT_PATH_NORMAL 5 - 6 - This will be the $PATH used to lookup ExecStart= etc. options, which 7 - systemd itself uses extensively. 8 - --- 9 - src/basic/path-util.h | 6 +++--- 10 - 1 file changed, 3 insertions(+), 3 deletions(-) 11 - 12 - diff --git a/src/basic/path-util.h b/src/basic/path-util.h 13 - index 97175bee11..3839704901 100644 14 - --- a/src/basic/path-util.h 15 - +++ b/src/basic/path-util.h 16 - @@ -25,11 +25,11 @@ 17 - # define PATH_SBIN_BIN_NULSTR(x) PATH_NORMAL_SBIN_BIN_NULSTR(x) 18 - #endif 19 - 20 - -#define DEFAULT_PATH_NORMAL PATH_SBIN_BIN("/usr/local/") ":" PATH_SBIN_BIN("/usr/") 21 - -#define DEFAULT_PATH_NORMAL_NULSTR PATH_SBIN_BIN_NULSTR("/usr/local/") PATH_SBIN_BIN_NULSTR("/usr/") 22 - +#define DEFAULT_PATH_NORMAL "@defaultPathNormal@" 23 - +#define DEFAULT_PATH_NORMAL_NULSTR "@defaultPathNormal@\0" 24 - #define DEFAULT_PATH_SPLIT_USR DEFAULT_PATH_NORMAL ":" PATH_SBIN_BIN("/") 25 - #define DEFAULT_PATH_SPLIT_USR_NULSTR DEFAULT_PATH_NORMAL_NULSTR PATH_SBIN_BIN_NULSTR("/") 26 - -#define DEFAULT_PATH_COMPAT PATH_SPLIT_SBIN_BIN("/usr/local/") ":" PATH_SPLIT_SBIN_BIN("/usr/") ":" PATH_SPLIT_SBIN_BIN("/") 27 - +#define DEFAULT_PATH_COMPAT DEFAULT_PATH_NORMAL 28 - 29 - #if HAVE_SPLIT_USR 30 - # define DEFAULT_PATH DEFAULT_PATH_SPLIT_USR
···
-30
pkgs/os-specific/linux/systemd/0015-pkg-config-derive-prefix-from-prefix.patch
··· 1 - From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 - From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> 3 - Date: Sun, 6 Dec 2020 08:34:19 +0100 4 - Subject: [PATCH] pkg-config: derive prefix from --prefix 5 - 6 - Point prefix to the one configured, instead of `/usr` `systemd` has limited 7 - support for making the pkgconfig prefix overridable, and interpolates those 8 - values later down. 9 - 10 - So we only need to patch this one value to get the correct paths. 11 - See systemd/systemd@bc4e6e27922a2873985ab9367d79fb099f70b505 for details. 12 - 13 - Co-Authored-By: Florian Klink <flokli@flokli.de> 14 - --- 15 - src/core/systemd.pc.in | 2 +- 16 - 1 file changed, 1 insertion(+), 1 deletion(-) 17 - 18 - diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in 19 - index 5932a21b5b..20bf8e316d 100644 20 - --- a/src/core/systemd.pc.in 21 - +++ b/src/core/systemd.pc.in 22 - @@ -11,7 +11,7 @@ 23 - # considered deprecated (though there is no plan to remove them). New names 24 - # shall have underscores. 25 - 26 - -prefix=/usr 27 - +prefix={{PREFIX}} 28 - root_prefix={{ROOTPREFIX_NOSLASH}} 29 - rootprefix=${root_prefix} 30 - sysconf_dir={{SYSCONF_DIR}}
···
+2 -2
pkgs/os-specific/linux/systemd/0016-inherit-systemd-environment-when-calling-generators.patch pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch
··· 16 1 file changed, 8 insertions(+) 17 18 diff --git a/src/core/manager.c b/src/core/manager.c 19 - index 771e8e7f16..acf3ead8d7 100644 20 --- a/src/core/manager.c 21 +++ b/src/core/manager.c 22 - @@ -3899,9 +3899,17 @@ static int build_generator_environment(Manager *m, char ***ret) { 23 * adjust generated units to that. Let's pass down some bits of information that are easy for us to 24 * determine (but a bit harder for generator scripts to determine), as environment variables. */ 25
··· 16 1 file changed, 8 insertions(+) 17 18 diff --git a/src/core/manager.c b/src/core/manager.c 19 + index 22cc5cc843..5dc7d4504f 100644 20 --- a/src/core/manager.c 21 +++ b/src/core/manager.c 22 + @@ -3914,9 +3914,17 @@ static int build_generator_environment(Manager *m, char ***ret) { 23 * adjust generated units to that. Let's pass down some bits of information that are easy for us to 24 * determine (but a bit harder for generator scripts to determine), as environment variables. */ 25
+7 -8
pkgs/os-specific/linux/systemd/0017-core-don-t-taint-on-unmerged-usr.patch pkgs/os-specific/linux/systemd/0014-core-don-t-taint-on-unmerged-usr.patch
··· 13 14 See also: https://github.com/systemd/systemd/issues/24191 15 --- 16 - src/core/manager.c | 4 ---- 17 - 1 file changed, 4 deletions(-) 18 19 diff --git a/src/core/manager.c b/src/core/manager.c 20 - index acf3ead8d7..bdbab16829 100644 21 --- a/src/core/manager.c 22 +++ b/src/core/manager.c 23 - @@ -4754,10 +4754,6 @@ char* manager_taint_string(const Manager *m) { 24 - if (m->taint_usr) 25 - stage[n++] = "split-usr"; 26 27 - _cleanup_free_ char *usrbin = NULL; 28 - if (readlink_malloc("/bin", &usrbin) < 0 || !PATH_IN_SET(usrbin, "usr/bin", "/usr/bin")) 29 - stage[n++] = "unmerged-usr"; 30 - - 31 if (access("/proc/cgroups", F_OK) < 0) 32 stage[n++] = "cgroups-missing"; 33 -
··· 13 14 See also: https://github.com/systemd/systemd/issues/24191 15 --- 16 + src/core/manager.c | 3 --- 17 + 1 file changed, 3 deletions(-) 18 19 diff --git a/src/core/manager.c b/src/core/manager.c 20 + index 5dc7d4504f..6208c9aa31 100644 21 --- a/src/core/manager.c 22 +++ b/src/core/manager.c 23 + @@ -4800,9 +4800,6 @@ char* manager_taint_string(const Manager *m) { 24 + const char* stage[12] = {}; 25 + size_t n = 0; 26 27 - _cleanup_free_ char *usrbin = NULL; 28 - if (readlink_malloc("/bin", &usrbin) < 0 || !PATH_IN_SET(usrbin, "usr/bin", "/usr/bin")) 29 - stage[n++] = "unmerged-usr"; 30 + 31 if (access("/proc/cgroups", F_OK) < 0) 32 stage[n++] = "cgroups-missing";
+21
pkgs/os-specific/linux/systemd/0017-meson.build-do-not-create-systemdstatedir.patch
···
··· 1 + From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 + From: nikstur <nikstur@outlook.com> 3 + Date: Mon, 6 Nov 2023 22:51:38 +0100 4 + Subject: [PATCH] meson.build: do not create systemdstatedir 5 + 6 + --- 7 + meson.build | 1 - 8 + 1 file changed, 1 deletion(-) 9 + 10 + diff --git a/meson.build b/meson.build 11 + index 7419e2b0b0..c82a527976 100644 12 + --- a/meson.build 13 + +++ b/meson.build 14 + @@ -2497,7 +2497,6 @@ install_data('LICENSE.GPL2', 15 + install_subdir('LICENSES', 16 + install_dir : docdir) 17 + 18 + -install_emptydir(systemdstatedir) 19 + 20 + ############################################################ 21 +
+3 -3
pkgs/os-specific/linux/systemd/0018-tpm2_context_init-fix-driver-name-checking.patch pkgs/os-specific/linux/systemd/0015-tpm2_context_init-fix-driver-name-checking.patch
··· 27 1 file changed, 1 insertion(+), 1 deletion(-) 28 29 diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c 30 - index ae8a8bc073..c284b244f8 100644 31 --- a/src/shared/tpm2-util.c 32 +++ b/src/shared/tpm2-util.c 33 - @@ -582,7 +582,7 @@ int tpm2_context_new(const char *device, Tpm2Context **ret_context) { 34 fn = strjoina("libtss2-tcti-", driver, ".so.0"); 35 36 /* Better safe than sorry, let's refuse strings that cannot possibly be valid driver early, before going to disk. */ 37 - if (!filename_is_valid(fn)) 38 + if (!path_is_valid(fn)) 39 - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "TPM2 driver name '%s' not valid, refusing.", driver); 40 41 context->tcti_dl = dlopen(fn, RTLD_NOW);
··· 27 1 file changed, 1 insertion(+), 1 deletion(-) 28 29 diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c 30 + index 5e07b88a89..8dd7315009 100644 31 --- a/src/shared/tpm2-util.c 32 +++ b/src/shared/tpm2-util.c 33 + @@ -654,7 +654,7 @@ int tpm2_context_new(const char *device, Tpm2Context **ret_context) { 34 fn = strjoina("libtss2-tcti-", driver, ".so.0"); 35 36 /* Better safe than sorry, let's refuse strings that cannot possibly be valid driver early, before going to disk. */ 37 - if (!filename_is_valid(fn)) 38 + if (!path_is_valid(fn)) 39 + return log_debug_errno(SYNTHETIC_ERRNO(EINVAL), "TPM2 driver name '%s' not valid, refusing.", driver); 40 41 context->tcti_dl = dlopen(fn, RTLD_NOW);
+2 -2
pkgs/os-specific/linux/systemd/0019-systemctl-edit-suggest-systemdctl-edit-runtime-on-sy.patch pkgs/os-specific/linux/systemd/0016-systemctl-edit-suggest-systemdctl-edit-runtime-on-sy.patch
··· 30 1 file changed, 3 insertions(+) 31 32 diff --git a/src/systemctl/systemctl-edit.c b/src/systemctl/systemctl-edit.c 33 - index e3f25d52d5..81c9c6f6b7 100644 34 --- a/src/systemctl/systemctl-edit.c 35 +++ b/src/systemctl/systemctl-edit.c 36 - @@ -323,6 +323,9 @@ int verb_edit(int argc, char *argv[], void *userdata) { 37 sd_bus *bus; 38 int r; 39
··· 30 1 file changed, 3 insertions(+) 31 32 diff --git a/src/systemctl/systemctl-edit.c b/src/systemctl/systemctl-edit.c 33 + index 367afa20f7..5777154d01 100644 34 --- a/src/systemctl/systemctl-edit.c 35 +++ b/src/systemctl/systemctl-edit.c 36 + @@ -322,6 +322,9 @@ int verb_edit(int argc, char *argv[], void *userdata) { 37 sd_bus *bus; 38 int r; 39
pkgs/os-specific/linux/systemd/0020-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch pkgs/os-specific/linux/systemd/0018-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch
+176 -138
pkgs/os-specific/linux/systemd/default.nix
··· 65 , libmicrohttpd 66 , libfido2 67 , p11-kit 68 69 # the (optional) BPF feature requires bpftool, libbpf, clang and llvm-strip to be available during build time. 70 # Only libbpf should be a runtime dependency. ··· 99 , withHostnamed ? true 100 , withHwdb ? true 101 , withImportd ? !stdenv.hostPlatform.isMusl 102 , withKmod ? true 103 , withLibBPF ? lib.versionAtLeast buildPackages.llvmPackages.clang.version "10.0" 104 && (stdenv.hostPlatform.isAarch -> lib.versionAtLeast stdenv.hostPlatform.parsed.cpu.version "6") # assumes hard floats ··· 117 , withNss ? !stdenv.hostPlatform.isMusl 118 , withOomd ? true 119 , withPam ? true 120 - , withPasswordQuality ? false 121 , withPCRE2 ? true 122 , withPolkit ? true 123 , withPortabled ? !stdenv.hostPlatform.isMusl 124 , withRemote ? !stdenv.hostPlatform.isMusl 125 , withResolved ? true 126 , withShellCompletions ? true ··· 132 , withUkify ? false # adds python to closure which is too much by default 133 , withUserDb ? true 134 , withUtmp ? !stdenv.hostPlatform.isMusl 135 # tests assume too much system access for them to be feasible for us right now 136 , withTests ? false 137 # build only libudev and libsystemd ··· 154 assert withUkify -> (withEfi && withBootloader); 155 assert withRepart -> withCryptsetup; 156 assert withBootloader -> withEfi; 157 - # passwdqc is not packaged in nixpkgs yet, if you want to fix this, please submit a PR. 158 - assert !withPasswordQuality; 159 160 let 161 wantCurl = withRemote || withImportd; 162 wantGcrypt = withResolved || withImportd; 163 - version = "254.6"; 164 165 # Bump this variable on every (major) version change. See below (in the meson options list) for why. 166 # command: 167 # $ curl -s https://api.github.com/repos/systemd/systemd/releases/latest | \ 168 # jq '.created_at|strptime("%Y-%m-%dT%H:%M:%SZ")|mktime' 169 - releaseTimestamp = "1690536449"; 170 in 171 stdenv.mkDerivation (finalAttrs: { 172 inherit pname version; ··· 177 owner = "systemd"; 178 repo = "systemd-stable"; 179 rev = "v${version}"; 180 - hash = "sha256-Ku24ecDeQt0t7A8/adR3Jm47QZ19+wdMPyJRzCxU4uU="; 181 }; 182 183 # On major changes, or when otherwise required, you *must* reformat the patches, ··· 192 ./0004-Add-some-NixOS-specific-unit-directories.patch 193 ./0005-Get-rid-of-a-useless-message-in-user-sessions.patch 194 ./0006-hostnamed-localed-timedated-disable-methods-that-cha.patch 195 - ./0007-Fix-hwdb-paths.patch 196 - ./0008-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch 197 - ./0009-localectl-use-etc-X11-xkb-for-list-x11.patch 198 - ./0010-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch 199 - ./0011-add-rootprefix-to-lookup-dir-paths.patch 200 - ./0012-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch 201 - ./0013-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch 202 - ./0014-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch 203 - ./0015-pkg-config-derive-prefix-from-prefix.patch 204 - ./0016-inherit-systemd-environment-when-calling-generators.patch 205 - ./0017-core-don-t-taint-on-unmerged-usr.patch 206 - ./0018-tpm2_context_init-fix-driver-name-checking.patch 207 - ./0019-systemctl-edit-suggest-systemdctl-edit-runtime-on-sy.patch 208 ] ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isGnu) [ 209 - ./0020-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch 210 ] ++ lib.optional stdenv.hostPlatform.isMusl ( 211 let 212 oe-core = fetchzip { ··· 290 { name = "libbpf.so.1"; pkg = opt withLibBPF libbpf; } 291 { name = "libbpf.so.0"; pkg = null; } 292 293 - # We did never provide support for libxkbcommon & qrencode 294 { name = "libxkbcommon.so.0"; pkg = null; } 295 - { name = "libqrencode.so.4"; pkg = null; } 296 { name = "libqrencode.so.3"; pkg = null; } 297 298 - # We did not provide libpwquality before so it is safe to disable it for 299 - # now. 300 - { name = "libpwquality.so.1"; pkg = null; } 301 302 # Only include cryptsetup if it is enabled. We might not be able to 303 # provide it during "bootstrap" in e.g. the minimal systemd build as ··· 329 # Support for PKCS#11 in systemd-cryptsetup, systemd-cryptenroll and systemd-homed 330 { name = "libp11-kit.so.0"; pkg = opt (withHomed || withCryptsetup) p11-kit; } 331 332 - # Password quality support 333 - { name = "libpasswdqc.so.1"; pkg = opt withPasswordQuality null; } 334 ]; 335 336 patchDlOpen = dl: ··· 425 ++ lib.optional withApparmor libapparmor 426 ++ lib.optional withAudit audit 427 ++ lib.optional wantCurl (lib.getDev curl) 428 - ++ lib.optionals withCompression [ bzip2 lz4 xz zstd ] 429 ++ lib.optional withCoredump elfutils 430 ++ lib.optional withCryptsetup (lib.getDev cryptsetup.dev) 431 ++ lib.optional withKexectools kexec-tools 432 ++ lib.optional withKmod kmod 433 ++ lib.optional withLibidn2 libidn2 434 ++ lib.optional withLibseccomp libseccomp 435 - ++ lib.optional withNetworkd iptables 436 ++ lib.optional withPam pam 437 ++ lib.optional withPCRE2 pcre2 438 ++ lib.optional withSelinux libselinux ··· 442 ++ lib.optionals withLibBPF [ libbpf ] 443 ++ lib.optional withTpm2Tss tpm2-tss 444 ++ lib.optional withUkify (python3Packages.python.withPackages (ps: with ps; [ pefile ])) 445 ; 446 447 mesonBuildType = "release"; 448 449 mesonFlags = [ 450 - "-Dversion-tag=${version}" 451 # We bump this variable on every (major) version change to ensure 452 # that we have known-good value for a timestamp that is in the (not so distant) past. 453 # This serves as a lower bound for valid system timestamps during startup. Systemd will 454 # reset the system timestamp if this date is +- 15 years from the system time. 455 # See the systemd v250 release notes for further details: 456 # https://github.com/systemd/systemd/blob/60e930fc3e6eb8a36fbc184773119eb8d2f30364/NEWS#L258-L266 457 - "-Dtime-epoch=${releaseTimestamp}" 458 459 - "-Dmode=release" 460 - "-Ddbuspolicydir=${placeholder "out"}/share/dbus-1/system.d" 461 - "-Ddbussessionservicedir=${placeholder "out"}/share/dbus-1/services" 462 - "-Ddbussystemservicedir=${placeholder "out"}/share/dbus-1/system-services" 463 - "-Dpam=${lib.boolToString withPam}" 464 - "-Dpamconfdir=${placeholder "out"}/etc/pam.d" 465 - "-Drootprefix=${placeholder "out"}" 466 - "-Dpkgconfiglibdir=${placeholder "dev"}/lib/pkgconfig" 467 - "-Dpkgconfigdatadir=${placeholder "dev"}/share/pkgconfig" 468 - "-Dloadkeys-path=${kbd}/bin/loadkeys" 469 - "-Dsetfont-path=${kbd}/bin/setfont" 470 - "-Dtty-gid=3" # tty in NixOS has gid 3 471 - "-Ddebug-shell=${bashInteractive}/bin/bash" 472 - "-Dglib=${lib.boolToString withTests}" 473 - # while we do not run tests we should also not build them. Removes about 600 targets 474 - "-Dtests=false" 475 - "-Dacl=${lib.boolToString withAcl}" 476 - "-Danalyze=${lib.boolToString withAnalyze}" 477 - "-Daudit=${lib.boolToString withAudit}" 478 - "-Dgcrypt=${lib.boolToString wantGcrypt}" 479 - "-Dimportd=${lib.boolToString withImportd}" 480 - "-Dlz4=${lib.boolToString withCompression}" 481 - "-Dhomed=${lib.boolToString withHomed}" 482 - "-Dlogind=${lib.boolToString withLogind}" 483 - "-Dlocaled=${lib.boolToString withLocaled}" 484 - "-Dhostnamed=${lib.boolToString withHostnamed}" 485 - "-Dmachined=${lib.boolToString withMachined}" 486 - "-Dnetworkd=${lib.boolToString withNetworkd}" 487 - "-Doomd=${lib.boolToString withOomd}" 488 - "-Dpolkit=${lib.boolToString withPolkit}" 489 - "-Dlibcryptsetup=${lib.boolToString withCryptsetup}" 490 - "-Dportabled=${lib.boolToString withPortabled}" 491 - "-Dhwdb=${lib.boolToString withHwdb}" 492 - "-Dremote=${lib.boolToString withRemote}" 493 - "-Dtimedated=${lib.boolToString withTimedated}" 494 - "-Dtimesyncd=${lib.boolToString withTimesyncd}" 495 - "-Duserdb=${lib.boolToString withUserDb}" 496 - "-Dcoredump=${lib.boolToString withCoredump}" 497 - "-Dfirstboot=false" 498 - "-Dresolve=${lib.boolToString withResolved}" 499 - "-Dsplit-usr=false" 500 - "-Dlibcurl=${lib.boolToString wantCurl}" 501 - "-Dlibidn=false" 502 - "-Dlibidn2=${lib.boolToString withLibidn2}" 503 - "-Dfirstboot=${lib.boolToString withFirstboot}" 504 - "-Dsysusers=${lib.boolToString withSysusers}" 505 - "-Drepart=${lib.boolToString withRepart}" 506 - "-Dsysupdate=${lib.boolToString withSysupdate}" 507 - "-Dquotacheck=false" 508 - "-Dldconfig=false" 509 - "-Dsmack=true" 510 - "-Db_pie=true" 511 - "-Dinstall-sysconfdir=false" 512 - "-Dsbat-distro=nixos" 513 - "-Dsbat-distro-summary=NixOS" 514 - "-Dsbat-distro-url=https://nixos.org/" 515 - "-Dsbat-distro-pkgname=${pname}" 516 - "-Dsbat-distro-version=${version}" 517 - /* 518 - As of now, systemd doesn't allow runtime configuration of these values. So 519 - the settings in /etc/login.defs have no effect on it. Many people think this 520 - should be supported however, see 521 - - https://github.com/systemd/systemd/issues/3855 522 - - https://github.com/systemd/systemd/issues/4850 523 - - https://github.com/systemd/systemd/issues/9769 524 - - https://github.com/systemd/systemd/issues/9843 525 - - https://github.com/systemd/systemd/issues/10184 526 - */ 527 - "-Dsystem-uid-max=999" 528 - "-Dsystem-gid-max=999" 529 530 - "-Dsysvinit-path=" 531 - "-Dsysvrcnd-path=" 532 533 - "-Dsulogin-path=${util-linux.login}/bin/sulogin" 534 - "-Dnologin-path=${util-linux.login}/bin/nologin" 535 - "-Dmount-path=${lib.getOutput "mount" util-linux}/bin/mount" 536 - "-Dumount-path=${lib.getOutput "mount" util-linux}/bin/umount" 537 - "-Dcreate-log-dirs=false" 538 539 - # Use cgroupsv2. This is already the upstream default, but better be explicit. 540 - "-Ddefault-hierarchy=unified" 541 - # Upstream defaulted to disable manpages since they optimize for the much 542 - # more frequent development builds 543 - "-Dman=true" 544 545 - "-Defi=${lib.boolToString withEfi}" 546 - "-Dbootloader=${lib.boolToString withBootloader}" 547 548 - "-Dukify=${lib.boolToString withUkify}" 549 ] ++ lib.optionals (withShellCompletions == false) [ 550 - "-Dbashcompletiondir=no" 551 - "-Dzshcompletiondir=no" 552 - ] ++ lib.optionals (!withNss) [ 553 - "-Dnss-myhostname=false" 554 - "-Dnss-mymachines=false" 555 - "-Dnss-resolve=false" 556 - "-Dnss-systemd=false" 557 - ] ++ lib.optionals withLibBPF [ 558 - "-Dbpf-framework=true" 559 - ] ++ lib.optionals withTpm2Tss [ 560 - "-Dtpm2=true" 561 - ] ++ lib.optionals (!withUtmp) [ 562 - "-Dutmp=false" 563 ] ++ lib.optionals stdenv.hostPlatform.isMusl [ 564 - "-Dgshadow=false" 565 - "-Didn=false" 566 - ] ++ lib.optionals withKmod [ 567 - "-Dkmod=true" 568 - "-Dkmod-path=${kmod}/bin/kmod" 569 - ] ++ lib.optionals withLogTrace [ 570 - "-Dlog-trace=true" 571 ]; 572 preConfigure = 573 let ··· 744 745 # Wrap in the correct path for LUKS2 tokens. 746 postFixup = lib.optionalString withCryptsetup '' 747 - for f in lib/systemd/systemd-cryptsetup bin/systemd-cryptenroll; do 748 # This needs to be in LD_LIBRARY_PATH because rpath on a binary is not propagated to libraries using dlopen, in this case `libcryptsetup.so` 749 wrapProgram $out/$f --prefix LD_LIBRARY_PATH : ${placeholder "out"}/lib/cryptsetup 750 done ··· 754 # To cross compile a derivation that builds a UKI with ukify, we need to wrap 755 # ukify with the correct binutils. When wrapping, no splicing happens so we 756 # have to explicitly pull binutils from targetPackages. 757 - wrapProgram $out/lib/systemd/ukify --prefix PATH : ${lib.makeBinPath [ targetPackages.stdenv.cc.bintools ] }:${placeholder "out"}/lib/systemd 758 ''; 759 760 disallowedReferences = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform)
··· 65 , libmicrohttpd 66 , libfido2 67 , p11-kit 68 + , libpwquality 69 + , qrencode 70 71 # the (optional) BPF feature requires bpftool, libbpf, clang and llvm-strip to be available during build time. 72 # Only libbpf should be a runtime dependency. ··· 101 , withHostnamed ? true 102 , withHwdb ? true 103 , withImportd ? !stdenv.hostPlatform.isMusl 104 + , withIptables ? true 105 , withKmod ? true 106 , withLibBPF ? lib.versionAtLeast buildPackages.llvmPackages.clang.version "10.0" 107 && (stdenv.hostPlatform.isAarch -> lib.versionAtLeast stdenv.hostPlatform.parsed.cpu.version "6") # assumes hard floats ··· 120 , withNss ? !stdenv.hostPlatform.isMusl 121 , withOomd ? true 122 , withPam ? true 123 + , withPasswordQuality ? true 124 , withPCRE2 ? true 125 , withPolkit ? true 126 , withPortabled ? !stdenv.hostPlatform.isMusl 127 + , withQrencode ? true 128 , withRemote ? !stdenv.hostPlatform.isMusl 129 , withResolved ? true 130 , withShellCompletions ? true ··· 136 , withUkify ? false # adds python to closure which is too much by default 137 , withUserDb ? true 138 , withUtmp ? !stdenv.hostPlatform.isMusl 139 + , withVmspawn ? true 140 # tests assume too much system access for them to be feasible for us right now 141 , withTests ? false 142 # build only libudev and libsystemd ··· 159 assert withUkify -> (withEfi && withBootloader); 160 assert withRepart -> withCryptsetup; 161 assert withBootloader -> withEfi; 162 163 let 164 wantCurl = withRemote || withImportd; 165 wantGcrypt = withResolved || withImportd; 166 + version = "255.2"; 167 168 # Bump this variable on every (major) version change. See below (in the meson options list) for why. 169 # command: 170 # $ curl -s https://api.github.com/repos/systemd/systemd/releases/latest | \ 171 # jq '.created_at|strptime("%Y-%m-%dT%H:%M:%SZ")|mktime' 172 + releaseTimestamp = "1701895110"; 173 in 174 stdenv.mkDerivation (finalAttrs: { 175 inherit pname version; ··· 180 owner = "systemd"; 181 repo = "systemd-stable"; 182 rev = "v${version}"; 183 + hash = "sha256-8SfJY/pcH4yrDeJi0GfIUpetTbpMwyswvSu+RSfgqfY="; 184 }; 185 186 # On major changes, or when otherwise required, you *must* reformat the patches, ··· 195 ./0004-Add-some-NixOS-specific-unit-directories.patch 196 ./0005-Get-rid-of-a-useless-message-in-user-sessions.patch 197 ./0006-hostnamed-localed-timedated-disable-methods-that-cha.patch 198 + ./0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch 199 + ./0008-localectl-use-etc-X11-xkb-for-list-x11.patch 200 + ./0009-add-rootprefix-to-lookup-dir-paths.patch 201 + ./0010-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch 202 + ./0011-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch 203 + ./0012-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch 204 + ./0013-inherit-systemd-environment-when-calling-generators.patch 205 + ./0014-core-don-t-taint-on-unmerged-usr.patch 206 + ./0015-tpm2_context_init-fix-driver-name-checking.patch 207 + ./0016-systemctl-edit-suggest-systemdctl-edit-runtime-on-sy.patch 208 + ./0017-meson.build-do-not-create-systemdstatedir.patch 209 ] ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isGnu) [ 210 + ./0018-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch 211 ] ++ lib.optional stdenv.hostPlatform.isMusl ( 212 let 213 oe-core = fetchzip { ··· 291 { name = "libbpf.so.1"; pkg = opt withLibBPF libbpf; } 292 { name = "libbpf.so.0"; pkg = null; } 293 294 + # We did never provide support for libxkbcommon 295 { name = "libxkbcommon.so.0"; pkg = null; } 296 + 297 + # qrencode 298 + { name = "libqrencode.so.4"; pkg = opt withQrencode qrencode; } 299 { name = "libqrencode.so.3"; pkg = null; } 300 301 + # Password quality 302 + # We currently do not package passwdqc, only libpwquality. 303 + { name = "libpwquality.so.1"; pkg = opt withPasswordQuality libpwquality; } 304 + { name = "libpasswdqc.so.1"; pkg = null; } 305 306 # Only include cryptsetup if it is enabled. We might not be able to 307 # provide it during "bootstrap" in e.g. the minimal systemd build as ··· 333 # Support for PKCS#11 in systemd-cryptsetup, systemd-cryptenroll and systemd-homed 334 { name = "libp11-kit.so.0"; pkg = opt (withHomed || withCryptsetup) p11-kit; } 335 336 + { name = "libip4tc.so.2"; pkg = opt withIptables iptables; } 337 ]; 338 339 patchDlOpen = dl: ··· 428 ++ lib.optional withApparmor libapparmor 429 ++ lib.optional withAudit audit 430 ++ lib.optional wantCurl (lib.getDev curl) 431 + ++ lib.optionals withCompression [ zlib bzip2 lz4 xz zstd ] 432 ++ lib.optional withCoredump elfutils 433 ++ lib.optional withCryptsetup (lib.getDev cryptsetup.dev) 434 ++ lib.optional withKexectools kexec-tools 435 ++ lib.optional withKmod kmod 436 ++ lib.optional withLibidn2 libidn2 437 ++ lib.optional withLibseccomp libseccomp 438 + ++ lib.optional withIptables iptables 439 ++ lib.optional withPam pam 440 ++ lib.optional withPCRE2 pcre2 441 ++ lib.optional withSelinux libselinux ··· 445 ++ lib.optionals withLibBPF [ libbpf ] 446 ++ lib.optional withTpm2Tss tpm2-tss 447 ++ lib.optional withUkify (python3Packages.python.withPackages (ps: with ps; [ pefile ])) 448 + ++ lib.optionals withPasswordQuality [ libpwquality ] 449 + ++ lib.optionals withQrencode [ qrencode ] 450 ; 451 452 mesonBuildType = "release"; 453 454 mesonFlags = [ 455 + # Options 456 + 457 # We bump this variable on every (major) version change to ensure 458 # that we have known-good value for a timestamp that is in the (not so distant) past. 459 # This serves as a lower bound for valid system timestamps during startup. Systemd will 460 # reset the system timestamp if this date is +- 15 years from the system time. 461 # See the systemd v250 release notes for further details: 462 # https://github.com/systemd/systemd/blob/60e930fc3e6eb8a36fbc184773119eb8d2f30364/NEWS#L258-L266 463 + (lib.mesonOption "time-epoch" releaseTimestamp) 464 465 + (lib.mesonOption "version-tag" version) 466 + (lib.mesonOption "mode" "release") 467 + (lib.mesonOption "tty-gid" "3") # tty in NixOS has gid 3 468 + (lib.mesonOption "debug-shell" "${bashInteractive}/bin/bash") 469 + (lib.mesonOption "pamconfdir" "${placeholder "out"}/etc/pam.d") 470 + # Use cgroupsv2. This is already the upstream default, but better be explicit. 471 + (lib.mesonOption "default-hierarchy" "unified") 472 + (lib.mesonOption "kmod-path" "${kmod}/bin/kmod") 473 474 + # D-Bus 475 + (lib.mesonOption "dbuspolicydir" "${placeholder "out"}/share/dbus-1/system.d") 476 + (lib.mesonOption "dbussessionservicedir" "${placeholder "out"}/share/dbus-1/services") 477 + (lib.mesonOption "dbussystemservicedir" "${placeholder "out"}/share/dbus-1/system-services") 478 479 + # pkgconfig 480 + (lib.mesonOption "pkgconfiglibdir" "${placeholder "dev"}/lib/pkgconfig") 481 + (lib.mesonOption "pkgconfigdatadir" "${placeholder "dev"}/share/pkgconfig") 482 483 + # Keyboard 484 + (lib.mesonOption "loadkeys-path" "${kbd}/bin/loadkeys") 485 + (lib.mesonOption "setfont-path" "${kbd}/bin/setfont") 486 + 487 + # SBAT 488 + (lib.mesonOption "sbat-distro" "nixos") 489 + (lib.mesonOption "sbat-distro-summary" "NixOS") 490 + (lib.mesonOption "sbat-distro-url" "https://nixos.org/") 491 + (lib.mesonOption "sbat-distro-pkgname" pname) 492 + (lib.mesonOption "sbat-distro-version" version) 493 + 494 + # Users 495 + (lib.mesonOption "system-uid-max" "999") 496 + (lib.mesonOption "system-gid-max" "999") 497 + 498 + # SysVinit 499 + (lib.mesonOption "sysvinit-path" "") 500 + (lib.mesonOption "sysvrcnd-path" "") 501 + 502 + # Login 503 + (lib.mesonOption "sulogin-path" "${util-linux.login}/bin/sulogin") 504 + (lib.mesonOption "nologin-path" "${util-linux.login}/bin/nologin") 505 + 506 + # Mount 507 + (lib.mesonOption "mount-path" "${lib.getOutput "mount" util-linux}/bin/mount") 508 + (lib.mesonOption "umount-path" "${lib.getOutput "mount" util-linux}/bin/umount") 509 + 510 + 511 + # Features 512 + 513 + # Tests 514 + (lib.mesonBool "tests" withTests) 515 + (lib.mesonEnable "glib" withTests) 516 + (lib.mesonEnable "dbus" withTests) 517 + 518 + # Compression 519 + (lib.mesonEnable "bzip2" withCompression) 520 + (lib.mesonEnable "lz4" withCompression) 521 + (lib.mesonEnable "xz" withCompression) 522 + (lib.mesonEnable "zstd" withCompression) 523 + (lib.mesonEnable "zlib" withCompression) 524 + 525 + # NSS 526 + (lib.mesonEnable "nss-mymachines" withNss) 527 + (lib.mesonEnable "nss-resolve" withNss) 528 + (lib.mesonBool "nss-myhostname" withNss) 529 + (lib.mesonBool "nss-systemd" withNss) 530 + 531 + # Cryptsetup 532 + (lib.mesonEnable "libcryptsetup" withCryptsetup) 533 + (lib.mesonEnable "libcryptsetup-plugins" withCryptsetup) 534 + (lib.mesonEnable "p11kit" (withHomed || withCryptsetup)) 535 + 536 + # FIDO2 537 + (lib.mesonEnable "libfido2" withFido2) 538 + (lib.mesonEnable "openssl" withFido2) 539 + 540 + # Password Quality 541 + (lib.mesonEnable "pwquality" withPasswordQuality) 542 + (lib.mesonEnable "passwdqc" false) 543 + 544 + # Remote 545 + (lib.mesonEnable "remote" withRemote) 546 + (lib.mesonEnable "microhttpd" withRemote) 547 + 548 + (lib.mesonEnable "pam" withPam) 549 + (lib.mesonEnable "acl" withAcl) 550 + (lib.mesonEnable "audit" withAudit) 551 + (lib.mesonEnable "apparmor" withApparmor) 552 + (lib.mesonEnable "gcrypt" wantGcrypt) 553 + (lib.mesonEnable "importd" withImportd) 554 + (lib.mesonEnable "homed" withHomed) 555 + (lib.mesonEnable "polkit" withPolkit) 556 + (lib.mesonEnable "elfutils" withCoredump) 557 + (lib.mesonEnable "libcurl" wantCurl) 558 + (lib.mesonEnable "libidn" false) 559 + (lib.mesonEnable "libidn2" withLibidn2) 560 + (lib.mesonEnable "libiptc" withIptables) 561 + (lib.mesonEnable "repart" withRepart) 562 + (lib.mesonEnable "sysupdate" withSysupdate) 563 + (lib.mesonEnable "selinux" withSelinux) 564 + (lib.mesonEnable "tpm2" withTpm2Tss) 565 + (lib.mesonEnable "pcre2" withPCRE2) 566 + (lib.mesonEnable "bpf-framework" withLibBPF) 567 + (lib.mesonEnable "bootloader" withBootloader) 568 + (lib.mesonEnable "ukify" withUkify) 569 + (lib.mesonEnable "kmod" withKmod) 570 + (lib.mesonEnable "qrencode" withQrencode) 571 + (lib.mesonEnable "vmspawn" withVmspawn) 572 + (lib.mesonEnable "xenctrl" false) 573 + (lib.mesonEnable "gnutls" false) 574 + (lib.mesonEnable "xkbcommon" false) 575 + (lib.mesonEnable "man" true) 576 577 + (lib.mesonBool "analyze" withAnalyze) 578 + (lib.mesonBool "logind" withLogind) 579 + (lib.mesonBool "localed" withLocaled) 580 + (lib.mesonBool "hostnamed" withHostnamed) 581 + (lib.mesonBool "machined" withMachined) 582 + (lib.mesonBool "networkd" withNetworkd) 583 + (lib.mesonBool "oomd" withOomd) 584 + (lib.mesonBool "portabled" withPortabled) 585 + (lib.mesonBool "hwdb" withHwdb) 586 + (lib.mesonBool "timedated" withTimedated) 587 + (lib.mesonBool "timesyncd" withTimesyncd) 588 + (lib.mesonBool "userdb" withUserDb) 589 + (lib.mesonBool "coredump" withCoredump) 590 + (lib.mesonBool "firstboot" withFirstboot) 591 + (lib.mesonBool "resolve" withResolved) 592 + (lib.mesonBool "sysusers" withSysusers) 593 + (lib.mesonBool "efi" withEfi) 594 + (lib.mesonBool "utmp" withUtmp) 595 + (lib.mesonBool "log-trace" withLogTrace) 596 + (lib.mesonBool "quotacheck" false) 597 + (lib.mesonBool "ldconfig" false) 598 + (lib.mesonBool "install-sysconfdir" false) 599 + (lib.mesonBool "create-log-dirs" false) 600 + (lib.mesonBool "smack" true) 601 + (lib.mesonBool "b_pie" true) 602 603 ] ++ lib.optionals (withShellCompletions == false) [ 604 + (lib.mesonOption "bashcompletiondir" "no") 605 + (lib.mesonOption "zshcompletiondir" "no") 606 ] ++ lib.optionals stdenv.hostPlatform.isMusl [ 607 + (lib.mesonBool "gshadow" false) 608 + (lib.mesonBool "idn" false) 609 ]; 610 preConfigure = 611 let ··· 782 783 # Wrap in the correct path for LUKS2 tokens. 784 postFixup = lib.optionalString withCryptsetup '' 785 + for f in bin/systemd-cryptsetup bin/systemd-cryptenroll; do 786 # This needs to be in LD_LIBRARY_PATH because rpath on a binary is not propagated to libraries using dlopen, in this case `libcryptsetup.so` 787 wrapProgram $out/$f --prefix LD_LIBRARY_PATH : ${placeholder "out"}/lib/cryptsetup 788 done ··· 792 # To cross compile a derivation that builds a UKI with ukify, we need to wrap 793 # ukify with the correct binutils. When wrapping, no splicing happens so we 794 # have to explicitly pull binutils from targetPackages. 795 + wrapProgram $out/bin/ukify --prefix PATH : ${lib.makeBinPath [ targetPackages.stdenv.cc.bintools ] }:${placeholder "out"}/lib/systemd 796 ''; 797 798 disallowedReferences = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform)
+4
pkgs/top-level/all-packages.nix
··· 28721 withHomed = false; 28722 withHwdb = false; 28723 withImportd = false; 28724 withLibBPF = false; 28725 withLibidn2 = false; 28726 withLocaled = false; ··· 28744 withUserDb = false; 28745 withUkify = false; 28746 withBootloader = false; 28747 }; 28748 systemdLibs = systemdMinimal.override { 28749 pname = "systemd-minimal-libs";
··· 28721 withHomed = false; 28722 withHwdb = false; 28723 withImportd = false; 28724 + withIptables = false; 28725 withLibBPF = false; 28726 withLibidn2 = false; 28727 withLocaled = false; ··· 28745 withUserDb = false; 28746 withUkify = false; 28747 withBootloader = false; 28748 + withPasswordQuality = false; 28749 + withVmspawn = false; 28750 + withQrencode = false; 28751 }; 28752 systemdLibs = systemdMinimal.override { 28753 pname = "systemd-minimal-libs";