diff --git a/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch b/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch index 1f75fc63ffe7..b3b241b570a0 100644 --- a/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch +++ b/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch @@ -1,4 +1,4 @@ -From 46c8ccfeb61253cd3dff5f34013670c7e3366ef5 Mon Sep 17 00:00:00 2001 +From dd2ec741aaa7c587eb7719bbf4b305fe28168b77 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 8 Jan 2013 15:46:30 +0100 Subject: [PATCH 01/18] Start device units for uninitialised encrypted devices @@ -13,7 +13,7 @@ unit. (However, this ignores the fsck unit, so it's not perfect...) 1 file changed, 4 deletions(-) diff --git a/rules.d/99-systemd.rules.in b/rules.d/99-systemd.rules.in -index 1c60eec587..b2486da130 100644 +index d2f595d18e..941a7c1ba3 100644 --- a/rules.d/99-systemd.rules.in +++ b/rules.d/99-systemd.rules.in @@ -17,10 +17,6 @@ SUBSYSTEM=="ubi", TAG+="systemd" @@ -28,5 +28,5 @@ index 1c60eec587..b2486da130 100644 SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}!="crypto_LUKS", SYMLINK+="gpt-auto-root" SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}=="crypto_LUKS", SYMLINK+="gpt-auto-root-luks" -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch b/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch index 7c025cbb7d79..1f3a1b646841 100644 --- a/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch +++ b/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch @@ -1,4 +1,4 @@ -From 139c420de62e078182eaf48b541c4b912d445fd9 Mon Sep 17 00:00:00 2001 +From ab3dab997695db5346f8efbf8566ac96612f0c6e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 12 Apr 2013 13:16:57 +0200 Subject: [PATCH 02/18] Don't try to unmount /nix or /nix/store @@ -12,7 +12,7 @@ https://github.com/NixOS/nixos/issues/126 2 files changed, 4 insertions(+) diff --git a/src/shared/fstab-util.c b/src/shared/fstab-util.c -index 806dda8475..0220741c91 100644 +index 292b97cd69..791b8e6b7e 100644 --- a/src/shared/fstab-util.c +++ b/src/shared/fstab-util.c @@ -40,6 +40,8 @@ bool fstab_is_extrinsic(const char *mount, const char *opts) { @@ -25,10 +25,10 @@ index 806dda8475..0220741c91 100644 "/etc")) return true; diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c -index 8a5e80eeaa..fab35ed6f3 100644 +index 3a72a13e1a..541320dc9d 100644 --- a/src/shutdown/umount.c +++ b/src/shutdown/umount.c -@@ -414,6 +414,8 @@ static int delete_dm(dev_t devnum) { +@@ -500,6 +500,8 @@ static int delete_md(MountPoint *m) { static bool nonunmountable_path(const char *path) { return path_equal(path, "/") @@ -38,5 +38,5 @@ index 8a5e80eeaa..fab35ed6f3 100644 || path_equal(path, "/usr") #endif -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch index 1f0b8aaf38b3..56f52b9971e3 100644 --- a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch +++ b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch @@ -1,4 +1,4 @@ -From a889dbe796cd72425f38dec3d2aaab44a914ac60 Mon Sep 17 00:00:00 2001 +From 3581f8f30270e6340c671a640fe551e954715f8e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 16 Apr 2014 10:59:28 +0200 Subject: [PATCH 03/18] Fix NixOS containers @@ -10,10 +10,10 @@ container, so checking early whether it exists will fail. 1 file changed, 2 insertions(+) diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index 43712565c2..07f294c78a 100644 +index 0842731c18..f790853104 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -5122,6 +5122,7 @@ static int run(int argc, char *argv[]) { +@@ -5319,6 +5319,7 @@ static int run(int argc, char *argv[]) { goto finish; } } else { @@ -21,7 +21,7 @@ index 43712565c2..07f294c78a 100644 const char *p, *q; if (arg_pivot_root_new) -@@ -5136,6 +5137,7 @@ static int run(int argc, char *argv[]) { +@@ -5333,6 +5334,7 @@ static int run(int argc, char *argv[]) { r = -EINVAL; goto finish; } @@ -30,5 +30,5 @@ index 43712565c2..07f294c78a 100644 } else { -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch b/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch index f9e7bc9d8766..4d3729556d6c 100644 --- a/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch +++ b/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch @@ -1,4 +1,4 @@ -From 5098b1aad07356e04fcd12f2c77ea4fd17460411 Mon Sep 17 00:00:00 2001 +From 12b63d8c1d2ca85d9bb7ea07e8eb5e623e1b58e9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 1 May 2014 14:10:10 +0200 Subject: [PATCH 04/18] Look for fsck in the right place @@ -8,10 +8,10 @@ Subject: [PATCH 04/18] Look for fsck in the right place 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c -index 80f7107b9d..74e48a385f 100644 +index 04752fe9dc..ad0ccf91c0 100644 --- a/src/fsck/fsck.c +++ b/src/fsck/fsck.c -@@ -370,7 +370,7 @@ static int run(int argc, char *argv[]) { +@@ -369,7 +369,7 @@ static int run(int argc, char *argv[]) { } else dash_c[0] = 0; @@ -21,5 +21,5 @@ index 80f7107b9d..74e48a385f 100644 cmdline[i++] = "-T"; -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch b/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch index 91d6fbf41d62..476ebe06e70f 100644 --- a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch +++ b/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch @@ -1,4 +1,4 @@ -From b46f1b20e990f01af4bdf3dd6fef45f5b4a5993e Mon Sep 17 00:00:00 2001 +From 6ede8baac88aba769030f5bc5f5b2070098c7428 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 19 Dec 2014 14:46:17 +0100 Subject: [PATCH 05/18] Add some NixOS-specific unit directories @@ -15,7 +15,7 @@ Also, remove /usr and /lib as these don't exist on NixOS. 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c -index 52968dee34..bba2eb09b8 100644 +index 96b82170d0..b9fbed5c61 100644 --- a/src/basic/path-lookup.c +++ b/src/basic/path-lookup.c @@ -94,17 +94,14 @@ int xdg_user_data_dir(char **ret, const char *suffix) { @@ -102,7 +102,7 @@ index 52968dee34..bba2eb09b8 100644 if (!add) diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in -index 8424837824..b1c541bc52 100644 +index f2c045511d..ccb382e421 100644 --- a/src/core/systemd.pc.in +++ b/src/core/systemd.pc.in @@ -38,10 +38,11 @@ systemdsystemconfdir=${systemd_system_conf_dir} @@ -120,5 +120,5 @@ index 8424837824..b1c541bc52 100644 systemd_system_generator_dir=${root_prefix}/lib/systemd/system-generators -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch b/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch index 8021472ea339..99e68c37c20a 100644 --- a/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch +++ b/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch @@ -1,4 +1,4 @@ -From 4c9f9d192182f1051dba1c547e182e7c8f549b0f Mon Sep 17 00:00:00 2001 +From 3aeb3a10c4a7ad387b004bf41efbd171913bcca9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 11 May 2015 15:39:38 +0200 Subject: [PATCH 06/18] Get rid of a useless message in user sessions @@ -13,10 +13,10 @@ in containers. 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/unit.c b/src/core/unit.c -index 1bda568560..5b44970763 100644 +index 45a417a090..8af3cb08d6 100644 --- a/src/core/unit.c +++ b/src/core/unit.c -@@ -2150,7 +2150,8 @@ static void unit_check_binds_to(Unit *u) { +@@ -2163,7 +2163,8 @@ static void unit_check_binds_to(Unit *u) { } assert(other); @@ -27,5 +27,5 @@ index 1bda568560..5b44970763 100644 /* A unit we need to run is gone. Sniff. Let's stop this. */ r = manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, NULL, &error, NULL); -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch b/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch index 6c24821c2a0d..aeb734f94df0 100644 --- a/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch +++ b/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch @@ -1,4 +1,4 @@ -From 539f3af04963a6826d2b2d0ba2095af99a7a6294 Mon Sep 17 00:00:00 2001 +From a1454e8edb7a1a87093808dc7db540232147df3d Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 6 Dec 2015 14:26:36 +0100 Subject: [PATCH 07/18] hostnamed, localed, timedated: disable methods that @@ -11,10 +11,10 @@ Subject: [PATCH 07/18] hostnamed, localed, timedated: disable methods that 3 files changed, 25 insertions(+) diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c -index 7f6607a527..b5a9388916 100644 +index a1794bdab1..77134731e1 100644 --- a/src/hostname/hostnamed.c +++ b/src/hostname/hostnamed.c -@@ -626,6 +626,9 @@ static int method_set_static_hostname(sd_bus_message *m, void *userdata, sd_bus_ +@@ -643,6 +643,9 @@ static int method_set_static_hostname(sd_bus_message *m, void *userdata, sd_bus_ if (r < 0) return r; @@ -24,7 +24,7 @@ index 7f6607a527..b5a9388916 100644 name = empty_to_null(name); context_read_etc_hostname(c); -@@ -685,6 +688,9 @@ static int set_machine_info(Context *c, sd_bus_message *m, int prop, sd_bus_mess +@@ -702,6 +705,9 @@ static int set_machine_info(Context *c, sd_bus_message *m, int prop, sd_bus_mess if (r < 0) return r; @@ -35,7 +35,7 @@ index 7f6607a527..b5a9388916 100644 context_read_machine_info(c); diff --git a/src/locale/localed.c b/src/locale/localed.c -index 715ce5cac7..014f7dcf6c 100644 +index 736dacdee9..53e0ee935e 100644 --- a/src/locale/localed.c +++ b/src/locale/localed.c @@ -317,6 +317,9 @@ static int method_set_locale(sd_bus_message *m, void *userdata, sd_bus_error *er @@ -69,7 +69,7 @@ index 715ce5cac7..014f7dcf6c 100644 model = empty_to_null(model); variant = empty_to_null(variant); diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c -index c467b85477..3e78b2f575 100644 +index 8bfcfd5cdc..a0ee03f134 100644 --- a/src/timedate/timedated.c +++ b/src/timedate/timedated.c @@ -646,6 +646,10 @@ static int method_set_timezone(sd_bus_message *m, void *userdata, sd_bus_error * @@ -93,7 +93,7 @@ index c467b85477..3e78b2f575 100644 if (lrtc == c->local_rtc) return sd_bus_reply_method_return(m, NULL); -@@ -917,6 +924,9 @@ static int method_set_ntp(sd_bus_message *m, void *userdata, sd_bus_error *error +@@ -905,6 +912,9 @@ static int method_set_ntp(sd_bus_message *m, void *userdata, sd_bus_error *error if (r < 0) return r; @@ -104,5 +104,5 @@ index c467b85477..3e78b2f575 100644 if (r < 0) return r; -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch b/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch index 7b17c3bcb2ba..0da52477bb30 100644 --- a/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch +++ b/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch @@ -1,4 +1,4 @@ -From 5c2a1a6d33f7cdbcb8ddcc70b91ba4c7f3c383b3 Mon Sep 17 00:00:00 2001 +From 27680c555713e36d16198fc5f60b0f85e0777d30 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Thu, 7 Jul 2016 02:47:13 +0300 Subject: [PATCH 08/18] Fix hwdb paths @@ -9,7 +9,7 @@ Patch by vcunat. 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/libsystemd/sd-hwdb/sd-hwdb.c b/src/libsystemd/sd-hwdb/sd-hwdb.c -index b3febdbb31..eba00a5bc7 100644 +index cb3c77ce96..7b8c80071f 100644 --- a/src/libsystemd/sd-hwdb/sd-hwdb.c +++ b/src/libsystemd/sd-hwdb/sd-hwdb.c @@ -297,13 +297,8 @@ static int trie_search_f(sd_hwdb *hwdb, const char *search) { @@ -28,5 +28,5 @@ index b3febdbb31..eba00a5bc7 100644 _public_ int sd_hwdb_new(sd_hwdb **ret) { _cleanup_(sd_hwdb_unrefp) sd_hwdb *hwdb = NULL; -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch b/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch index e0fab399febf..2b05cea435c8 100644 --- a/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch +++ b/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch @@ -1,4 +1,4 @@ -From a8ccba372d865429b578e72fd104a693b96101b3 Mon Sep 17 00:00:00 2001 +From b423ce2560bd380abd80796a890454d95cd8926c Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 11 Oct 2016 13:12:08 +0300 Subject: [PATCH 09/18] Change /usr/share/zoneinfo to /etc/zoneinfo @@ -13,7 +13,7 @@ NixOS uses this path. 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/man/localtime.xml b/man/localtime.xml -index 0f1652ee2e..71c4f95c2e 100644 +index 73c1b8e5a3..4ab4276283 100644 --- a/man/localtime.xml +++ b/man/localtime.xml @@ -20,7 +20,7 @@ @@ -35,10 +35,10 @@ index 0f1652ee2e..71c4f95c2e 100644 Etc/UTC. The resulting link should lead to the corresponding binary diff --git a/src/basic/time-util.c b/src/basic/time-util.c -index 15cc1b8851..d0abde5933 100644 +index 5318d6378d..04069dc27b 100644 --- a/src/basic/time-util.c +++ b/src/basic/time-util.c -@@ -1259,7 +1259,7 @@ int get_timezones(char ***ret) { +@@ -1277,7 +1277,7 @@ int get_timezones(char ***ret) { n_allocated = 2; n_zones = 1; @@ -47,7 +47,7 @@ index 15cc1b8851..d0abde5933 100644 if (f) { for (;;) { _cleanup_free_ char *line = NULL; -@@ -1354,7 +1354,7 @@ bool timezone_is_valid(const char *name, int log_level) { +@@ -1372,7 +1372,7 @@ bool timezone_is_valid(const char *name, int log_level) { if (p - name >= PATH_MAX) return false; @@ -56,7 +56,7 @@ index 15cc1b8851..d0abde5933 100644 fd = open(t, O_RDONLY|O_CLOEXEC); if (fd < 0) { -@@ -1452,7 +1452,7 @@ int get_timezone(char **ret) { +@@ -1470,7 +1470,7 @@ int get_timezone(char **ret) { if (r < 0) return r; /* returns EINVAL if not a symlink */ @@ -66,10 +66,10 @@ index 15cc1b8851..d0abde5933 100644 return -EINVAL; diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c -index c9fc8dd5cd..44fc04dc88 100644 +index 742b43f9fc..f2cb121816 100644 --- a/src/firstboot/firstboot.c +++ b/src/firstboot/firstboot.c -@@ -460,7 +460,7 @@ static int process_timezone(void) { +@@ -459,7 +459,7 @@ static int process_timezone(void) { if (isempty(arg_timezone)) return 0; @@ -79,10 +79,10 @@ index c9fc8dd5cd..44fc04dc88 100644 (void) mkdir_parents(etc_localtime, 0755); if (symlink(e, etc_localtime) < 0) diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index 07f294c78a..cf86d1f494 100644 +index f790853104..74b51f4d28 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -1699,8 +1699,8 @@ static int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t u +@@ -1810,8 +1810,8 @@ static int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t u static const char *timezone_from_path(const char *path) { return PATH_STARTSWITH_SET( path, @@ -94,7 +94,7 @@ index 07f294c78a..cf86d1f494 100644 static bool etc_writable(void) { diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c -index 3e78b2f575..de5477a08f 100644 +index a0ee03f134..9ecacad25e 100644 --- a/src/timedate/timedated.c +++ b/src/timedate/timedated.c @@ -269,7 +269,7 @@ static int context_read_data(Context *c) { @@ -128,5 +128,5 @@ index 3e78b2f575..de5477a08f 100644 return -ENOMEM; -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch b/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch index 44ed04d9e7ea..1d17bc4cf777 100644 --- a/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch +++ b/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch @@ -1,4 +1,4 @@ -From 84a2d35d4e75295edf7e190a94dfaf65db4973b6 Mon Sep 17 00:00:00 2001 +From aff592e0bf9a911e7f44ce07b66517c38456b627 Mon Sep 17 00:00:00 2001 From: Imuli Date: Wed, 19 Oct 2016 08:46:47 -0400 Subject: [PATCH 10/18] localectl: use /etc/X11/xkb for list-x11-* @@ -10,7 +10,7 @@ NixOS has an option to link the xkb data files to /etc/X11, but not to 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locale/localectl.c b/src/locale/localectl.c -index e0664de826..c521f33a2a 100644 +index 7d2e887660..91c5139eed 100644 --- a/src/locale/localectl.c +++ b/src/locale/localectl.c @@ -277,7 +277,7 @@ static int list_x11_keymaps(int argc, char **argv, void *userdata) { @@ -23,5 +23,5 @@ index e0664de826..c521f33a2a 100644 return log_error_errno(errno, "Failed to open keyboard mapping list. %m"); -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch b/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch index e5d4f1701ba5..8c185c52a271 100644 --- a/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch +++ b/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch @@ -1,4 +1,4 @@ -From 81ee9b5cd46f78de139c39e2a18f39e658c60169 Mon Sep 17 00:00:00 2001 +From d410a7a6d1bb0fe730c3ef690676232bfaa49f85 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 11 Feb 2018 04:37:44 +0100 Subject: [PATCH 11/18] build: don't create statedir and don't touch prefixdir @@ -8,10 +8,10 @@ Subject: [PATCH 11/18] build: don't create statedir and don't touch prefixdir 1 file changed, 3 deletions(-) diff --git a/meson.build b/meson.build -index ba9e7afe53..2ef9d4d770 100644 +index f406d595e6..f05f579816 100644 --- a/meson.build +++ b/meson.build -@@ -3371,9 +3371,6 @@ install_data('LICENSE.GPL2', +@@ -3517,9 +3517,6 @@ install_data('LICENSE.GPL2', 'src/libsystemd/sd-bus/GVARIANT-SERIALIZATION', install_dir : docdir) @@ -22,5 +22,5 @@ index ba9e7afe53..2ef9d4d770 100644 check_help = find_program('tools/check-help.sh') -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0012-Install-default-configuration-into-out-share-factory.patch b/pkgs/os-specific/linux/systemd/0012-Install-default-configuration-into-out-share-factory.patch deleted file mode 100644 index a2d08753d4df..000000000000 --- a/pkgs/os-specific/linux/systemd/0012-Install-default-configuration-into-out-share-factory.patch +++ /dev/null @@ -1,326 +0,0 @@ -From 7dbe84b7c43669dccd90db8ac33c38a70e6b6914 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= -Date: Mon, 26 Feb 2018 14:25:57 +0000 -Subject: [PATCH 12/18] Install default configuration into $out/share/factory - -By default systemd should read all its configuration from /etc. Therefor -we rely on -Dsysconfdir=/etc in meson as default value. Unfortunately -this would also lead to installation of systemd's own configuration -files to `/etc` whereas we are limited to /nix/store. To counter that -this commit introduces two new configuration variables `factoryconfdir` -and `factorypkgconfdir` to install systemd's own configuration into nix -store again, while having executables looking up files in /etc. ---- - hwdb.d/meson.build | 2 +- - meson.build | 11 +++++++---- - network/meson.build | 2 +- - src/core/meson.build | 10 +++++----- - src/coredump/meson.build | 2 +- - src/home/meson.build | 2 +- - src/journal-remote/meson.build | 4 ++-- - src/journal/meson.build | 2 +- - src/kernel-install/meson.build | 2 +- - src/login/meson.build | 2 +- - src/network/meson.build | 2 +- - src/pstore/meson.build | 2 +- - src/resolve/meson.build | 2 +- - src/timesync/meson.build | 2 +- - src/udev/meson.build | 4 ++-- - sysctl.d/meson.build | 2 +- - tmpfiles.d/meson.build | 2 +- - units/meson.build | 2 +- - 18 files changed, 30 insertions(+), 27 deletions(-) - -diff --git a/hwdb.d/meson.build b/hwdb.d/meson.build -index 5c77387a26..6404bc01ba 100644 ---- a/hwdb.d/meson.build -+++ b/hwdb.d/meson.build -@@ -43,7 +43,7 @@ if conf.get('ENABLE_HWDB') == 1 - install_dir : udevhwdbdir) - - meson.add_install_script('sh', '-c', -- mkdir_p.format(join_paths(sysconfdir, 'udev/hwdb.d'))) -+ mkdir_p.format(join_paths(factoryconfdir, 'udev/hwdb.d'))) - - meson.add_install_script('sh', '-c', - 'test -n "$DESTDIR" || @0@/systemd-hwdb update' -diff --git a/meson.build b/meson.build -index 2ef9d4d770..ae7acbd769 100644 ---- a/meson.build -+++ b/meson.build -@@ -163,6 +163,9 @@ udevhwdbdir = join_paths(udevlibexecdir, 'hwdb.d') - catalogdir = join_paths(prefixdir, 'lib/systemd/catalog') - kernelinstalldir = join_paths(prefixdir, 'lib/kernel/install.d') - factorydir = join_paths(datadir, 'factory') -+factoryconfdir = join_paths(datadir, 'factory/etc') -+factorypkgconfdir = join_paths(datadir, 'factory/etc/systemd') -+factoryxinitrcdir = join_paths(datadir, 'factory/etc/X11/xinit/xinitrc.d') - bootlibdir = join_paths(prefixdir, 'lib/systemd/boot/efi') - testsdir = join_paths(prefixdir, 'lib/systemd/tests') - systemdstatedir = join_paths(localstatedir, 'lib/systemd') -@@ -2653,7 +2656,7 @@ if conf.get('ENABLE_BINFMT') == 1 - meson.add_install_script('sh', '-c', - mkdir_p.format(binfmtdir)) - meson.add_install_script('sh', '-c', -- mkdir_p.format(join_paths(sysconfdir, 'binfmt.d'))) -+ mkdir_p.format(join_paths(factoryconfdir, 'binfmt.d'))) - endif - - if conf.get('ENABLE_REPART') == 1 -@@ -2769,7 +2772,7 @@ executable( - install_dir : rootlibexecdir) - - install_data('src/sleep/sleep.conf', -- install_dir : pkgsysconfdir) -+ install_dir : factorypkgconfdir) - - public_programs += executable( - 'systemd-sysctl', -@@ -3103,7 +3106,7 @@ if conf.get('HAVE_KMOD') == 1 - meson.add_install_script('sh', '-c', - mkdir_p.format(modulesloaddir)) - meson.add_install_script('sh', '-c', -- mkdir_p.format(join_paths(sysconfdir, 'modules-load.d'))) -+ mkdir_p.format(join_paths(factoryconfdir, 'modules-load.d'))) - endif - - public_programs += executable( -@@ -3354,7 +3357,7 @@ install_subdir('factory/etc', - install_dir : factorydir) - - install_data('xorg/50-systemd-user.sh', -- install_dir : xinitrcdir) -+ install_dir : factoryxinitrcdir) - install_data('modprobe.d/systemd.conf', - install_dir : modprobedir) - install_data('LICENSE.GPL2', -diff --git a/network/meson.build b/network/meson.build -index 99a650eac3..8105a4e48d 100644 ---- a/network/meson.build -+++ b/network/meson.build -@@ -11,7 +11,7 @@ if conf.get('ENABLE_NETWORKD') == 1 - install_dir : networkdir) - - meson.add_install_script('sh', '-c', -- mkdir_p.format(join_paths(sysconfdir, 'systemd/network'))) -+ mkdir_p.format(join_paths(factoryconfdir, 'systemd/network'))) - endif - - install_data('99-default.link', -diff --git a/src/core/meson.build b/src/core/meson.build -index fa95108523..60ee0e31c1 100644 ---- a/src/core/meson.build -+++ b/src/core/meson.build -@@ -183,8 +183,8 @@ libcore = static_library( - systemd_sources = files('main.c') - - in_files = [['macros.systemd', rpmmacrosdir], -- ['system.conf', pkgsysconfdir], -- ['user.conf', pkgsysconfdir], -+ ['system.conf', factorypkgconfdir], -+ ['user.conf', factorypkgconfdir], - ['systemd.pc', pkgconfigdatadir], - ['triggers.systemd', '']] - -@@ -216,6 +216,6 @@ meson.add_install_script('sh', '-c', mkdir_p.format(systemsleepdir)) - meson.add_install_script('sh', '-c', mkdir_p.format(systemgeneratordir)) - meson.add_install_script('sh', '-c', mkdir_p.format(usergeneratordir)) - --meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'system'))) --meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'user'))) --meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(sysconfdir, 'xdg/systemd'))) -+meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(factorypkgconfdir, 'system'))) -+meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(factorypkgconfdir, 'user'))) -+meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(factorypkgconfdir, 'xdg/systemd'))) -diff --git a/src/coredump/meson.build b/src/coredump/meson.build -index 7fa5942697..34c865dfa0 100644 ---- a/src/coredump/meson.build -+++ b/src/coredump/meson.build -@@ -15,7 +15,7 @@ coredumpctl_sources = files('coredumpctl.c') - - if conf.get('ENABLE_COREDUMP') == 1 - install_data('coredump.conf', -- install_dir : pkgsysconfdir) -+ install_dir : factorypkgconfdir) - endif - - tests += [ -diff --git a/src/home/meson.build b/src/home/meson.build -index 797f3a3c6d..232904ab42 100644 ---- a/src/home/meson.build -+++ b/src/home/meson.build -@@ -98,5 +98,5 @@ if conf.get('ENABLE_HOMED') == 1 - install_dir : polkitpolicydir) - - install_data('homed.conf', -- install_dir : pkgsysconfdir) -+ install_dir : factoryconfdir) - endif -diff --git a/src/journal-remote/meson.build b/src/journal-remote/meson.build -index 87b8ba6495..daff8ec967 100644 ---- a/src/journal-remote/meson.build -+++ b/src/journal-remote/meson.build -@@ -49,7 +49,7 @@ if conf.get('ENABLE_REMOTE') ==1 and conf.get('HAVE_LIBCURL') == 1 - output : 'journal-upload.conf', - configuration : substs) - install_data(journal_upload_conf, -- install_dir : pkgsysconfdir) -+ install_dir : factorypkgconfdir) - endif - - if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1 -@@ -58,7 +58,7 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1 - output : 'journal-remote.conf', - configuration : substs) - install_data(journal_remote_conf, -- install_dir : pkgsysconfdir) -+ install_dir : factorypkgconfdir) - - install_data('browse.html', - install_dir : join_paths(pkgdatadir, 'gatewayd')) -diff --git a/src/journal/meson.build b/src/journal/meson.build -index 5796f77cac..75d975c260 100644 ---- a/src/journal/meson.build -+++ b/src/journal/meson.build -@@ -109,7 +109,7 @@ if conf.get('HAVE_QRENCODE') == 1 - endif - - install_data('journald.conf', -- install_dir : pkgsysconfdir) -+ install_dir : factorypkgconfdir) - - if get_option('create-log-dirs') - meson.add_install_script( -diff --git a/src/kernel-install/meson.build b/src/kernel-install/meson.build -index 9ae342dfba..65df666337 100644 ---- a/src/kernel-install/meson.build -+++ b/src/kernel-install/meson.build -@@ -14,5 +14,5 @@ if want_kernel_install - install_dir : kernelinstalldir) - - meson.add_install_script('sh', '-c', -- mkdir_p.format(join_paths(sysconfdir, 'kernel/install.d'))) -+ mkdir_p.format(join_paths(factoryconfdir, 'kernel/install.d'))) - endif -diff --git a/src/login/meson.build b/src/login/meson.build -index 0a7d3d5440..ff90149c1c 100644 ---- a/src/login/meson.build -+++ b/src/login/meson.build -@@ -75,7 +75,7 @@ if conf.get('ENABLE_LOGIND') == 1 - output : 'logind.conf', - configuration : substs) - install_data(logind_conf, -- install_dir : pkgsysconfdir) -+ install_dir : factorypkgconfdir) - - install_data('org.freedesktop.login1.conf', - install_dir : dbuspolicydir) -diff --git a/src/network/meson.build b/src/network/meson.build -index b3a88d9910..be56d1e9d7 100644 ---- a/src/network/meson.build -+++ b/src/network/meson.build -@@ -229,7 +229,7 @@ if conf.get('ENABLE_NETWORKD') == 1 - endif - - install_data('networkd.conf', -- install_dir : pkgsysconfdir) -+ install_dir : factorypkgconfdir) - - fuzzers += [ - [['src/network/fuzz-netdev-parser.c', -diff --git a/src/pstore/meson.build b/src/pstore/meson.build -index adbac24b54..e9dc88dfa2 100644 ---- a/src/pstore/meson.build -+++ b/src/pstore/meson.build -@@ -6,5 +6,5 @@ systemd_pstore_sources = files(''' - - if conf.get('ENABLE_PSTORE') == 1 - install_data('pstore.conf', -- install_dir : pkgsysconfdir) -+ install_dir : factorypkgconfdir) - endif -diff --git a/src/resolve/meson.build b/src/resolve/meson.build -index 92b67b6333..ac5b9a0b0a 100644 ---- a/src/resolve/meson.build -+++ b/src/resolve/meson.build -@@ -168,7 +168,7 @@ if conf.get('ENABLE_RESOLVE') == 1 - output : 'resolved.conf', - configuration : substs) - install_data(resolved_conf, -- install_dir : pkgsysconfdir) -+ install_dir : factorypkgconfdir) - - install_data('resolv.conf', - install_dir : rootlibexecdir) -diff --git a/src/timesync/meson.build b/src/timesync/meson.build -index e5c118c8db..19235df9ca 100644 ---- a/src/timesync/meson.build -+++ b/src/timesync/meson.build -@@ -27,7 +27,7 @@ if conf.get('ENABLE_TIMESYNCD') == 1 - output : 'timesyncd.conf', - configuration : substs) - install_data(timesyncd_conf, -- install_dir : pkgsysconfdir) -+ install_dir : factorypkgconfdir) - install_data('org.freedesktop.timesync1.conf', - install_dir : dbuspolicydir) - install_data('org.freedesktop.timesync1.service', -diff --git a/src/udev/meson.build b/src/udev/meson.build -index aa23b07090..ad004d803a 100644 ---- a/src/udev/meson.build -+++ b/src/udev/meson.build -@@ -186,7 +186,7 @@ foreach prog : [['ata_id/ata_id.c'], - endforeach - - install_data('udev.conf', -- install_dir : join_paths(sysconfdir, 'udev')) -+ install_dir : join_paths(factoryconfdir, 'udev')) - - configure_file( - input : 'udev.pc.in', -@@ -195,7 +195,7 @@ configure_file( - install_dir : pkgconfigdatadir == 'no' ? '' : pkgconfigdatadir) - - meson.add_install_script('sh', '-c', -- mkdir_p.format(join_paths(sysconfdir, 'udev/rules.d'))) -+ mkdir_p.format(join_paths(factoryconfdir, 'udev/rules.d'))) - - fuzzers += [ - [['src/udev/net/fuzz-link-parser.c', -diff --git a/sysctl.d/meson.build b/sysctl.d/meson.build -index 3f072e3db7..bd9f843eba 100644 ---- a/sysctl.d/meson.build -+++ b/sysctl.d/meson.build -@@ -27,4 +27,4 @@ foreach file : in_files - endforeach - - meson.add_install_script('sh', '-c', -- mkdir_p.format(join_paths(sysconfdir, 'sysctl.d'))) -+ mkdir_p.format(join_paths(factoryconfdir, 'sysctl.d'))) -diff --git a/tmpfiles.d/meson.build b/tmpfiles.d/meson.build -index 0a9582d8b9..3c56ca7d83 100644 ---- a/tmpfiles.d/meson.build -+++ b/tmpfiles.d/meson.build -@@ -58,5 +58,5 @@ endforeach - if enable_tmpfiles - meson.add_install_script( - 'sh', '-c', -- mkdir_p.format(join_paths(sysconfdir, 'tmpfiles.d'))) -+ mkdir_p.format(join_paths(factoryconfdir, 'tmpfiles.d'))) - endif -diff --git a/units/meson.build b/units/meson.build -index 275daad3f4..491abd8eef 100644 ---- a/units/meson.build -+++ b/units/meson.build -@@ -324,7 +324,7 @@ install_data('user-.slice.d/10-defaults.conf', - - meson.add_install_script(meson_make_symlink, - join_paths(pkgsysconfdir, 'user'), -- join_paths(sysconfdir, 'xdg/systemd/user')) -+ join_paths(factorypkgconfdir, 'xdg/systemd/user')) - meson.add_install_script(meson_make_symlink, - join_paths(dbussystemservicedir, 'org.freedesktop.systemd1.service'), - join_paths(dbussessionservicedir, 'org.freedesktop.systemd1.service')) --- -2.28.0 - diff --git a/pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch b/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch similarity index 88% rename from pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch rename to pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch index 8df92b3e14f9..00d085d8a70a 100644 --- a/pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch +++ b/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch @@ -1,7 +1,7 @@ -From 4cbc82570aa8671d260c37df58688cc07106e4b6 Mon Sep 17 00:00:00 2001 +From a569dc0bdb43edb79e338c897f06de2dfa81cfc7 Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Fri, 2 Nov 2018 21:15:42 +0100 -Subject: [PATCH 13/18] inherit systemd environment when calling generators. +Subject: [PATCH 12/18] inherit systemd environment when calling generators. Systemd generators need access to the environment configured in stage-2-init.sh since it schedules fsck and mkfs executions based on @@ -16,10 +16,10 @@ executables that are being called from managers. 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/core/manager.c b/src/core/manager.c -index 6b7908fc6c..dff265c76f 100644 +index 1f1450b97c..26b9e41d78 100644 --- a/src/core/manager.c +++ b/src/core/manager.c -@@ -4098,9 +4098,14 @@ static int manager_run_generators(Manager *m) { +@@ -4111,9 +4111,14 @@ static int manager_run_generators(Manager *m) { argv[4] = NULL; RUN_WITH_UMASK(0022) @@ -38,5 +38,5 @@ index 6b7908fc6c..dff265c76f 100644 finish: -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0014-add-rootprefix-to-lookup-dir-paths.patch b/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch similarity index 88% rename from pkgs/os-specific/linux/systemd/0014-add-rootprefix-to-lookup-dir-paths.patch rename to pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch index bb7a9f9474f1..51fc4cc30d76 100644 --- a/pkgs/os-specific/linux/systemd/0014-add-rootprefix-to-lookup-dir-paths.patch +++ b/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch @@ -1,7 +1,7 @@ -From 1f39dba787e07d0a6944416ec172ee5d7cc86acd Mon Sep 17 00:00:00 2001 +From d36d688e32b8f2368499af091c67a7825fadf5ad Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Thu, 9 May 2019 11:15:22 +0200 -Subject: [PATCH 14/18] add rootprefix to lookup dir paths +Subject: [PATCH 13/18] add rootprefix to lookup dir paths systemd does not longer use the UDEVLIBEXEC directory as root for discovery default udev rules. By adding `$out/lib` to the lookup paths @@ -12,7 +12,7 @@ files that I might have missed. 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/basic/def.h b/src/basic/def.h -index 970654a1ad..bb261040f8 100644 +index 2e60abb4f1..732ec51d36 100644 --- a/src/basic/def.h +++ b/src/basic/def.h @@ -39,13 +39,15 @@ @@ -34,5 +34,5 @@ index 970654a1ad..bb261040f8 100644 #define CONF_PATHS(n) \ CONF_PATHS_USR(n) \ -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0015-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch b/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch similarity index 85% rename from pkgs/os-specific/linux/systemd/0015-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch rename to pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch index 86ab43c19085..57499d1feec7 100644 --- a/pkgs/os-specific/linux/systemd/0015-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch +++ b/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch @@ -1,7 +1,7 @@ -From f7c462d37063b0077345395f54377c39d1ef0590 Mon Sep 17 00:00:00 2001 +From c02b7eb62e46145ec5b544ebd9338c29b9b8f32c Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Thu, 25 Jul 2019 20:45:55 +0300 -Subject: [PATCH 15/18] systemd-shutdown: execute scripts in +Subject: [PATCH 14/18] systemd-shutdown: execute scripts in /etc/systemd/system-shutdown This is needed for NixOS to use such scripts as systemd directory is immutable. @@ -10,7 +10,7 @@ This is needed for NixOS to use such scripts as systemd directory is immutable. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c -index 06c9710c6e..dadcc3117d 100644 +index 0d07865542..26d974ef73 100644 --- a/src/shutdown/shutdown.c +++ b/src/shutdown/shutdown.c @@ -312,7 +312,7 @@ int main(int argc, char *argv[]) { @@ -23,5 +23,5 @@ index 06c9710c6e..dadcc3117d 100644 /* The log target defaults to console, but the original systemd process will pass its log target in through a * command line argument, which will override this default. Also, ensure we'll never log to the journal or -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0016-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch b/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch similarity index 70% rename from pkgs/os-specific/linux/systemd/0016-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch rename to pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch index 8d20b3723af0..fa72b66911a3 100644 --- a/pkgs/os-specific/linux/systemd/0016-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch +++ b/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch @@ -1,7 +1,7 @@ -From ff7cfe2d112eb166cd1937c3cc8c25491e508313 Mon Sep 17 00:00:00 2001 +From f01b73709d68d4581ad561fbb20c59f895132a99 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Thu, 25 Jul 2019 20:46:58 +0300 -Subject: [PATCH 16/18] systemd-sleep: execute scripts in +Subject: [PATCH 15/18] systemd-sleep: execute scripts in /etc/systemd/system-sleep This is needed for NixOS to use such scripts as systemd directory is immutable. @@ -10,10 +10,10 @@ This is needed for NixOS to use such scripts as systemd directory is immutable. 1 file changed, 1 insertion(+) diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c -index 600e9c23c0..66ef1a99e1 100644 +index 39ab554290..880ac7ccb0 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c -@@ -182,6 +182,7 @@ static int execute(char **modes, char **states) { +@@ -178,6 +178,7 @@ static int execute(char **modes, char **states) { }; static const char* const dirs[] = { SYSTEM_SLEEP_PATH, @@ -22,5 +22,5 @@ index 600e9c23c0..66ef1a99e1 100644 }; -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0017-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch b/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch similarity index 83% rename from pkgs/os-specific/linux/systemd/0017-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch rename to pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch index 6dc33fd0341a..887864baec3f 100644 --- a/pkgs/os-specific/linux/systemd/0017-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch +++ b/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch @@ -1,7 +1,7 @@ -From 600ac2dd3fc15c5717fcdf8f37899fdabf97268c Mon Sep 17 00:00:00 2001 +From 3db343c08a09a0009da049f37e3f981519eac62f Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sat, 7 Mar 2020 22:40:27 +0100 -Subject: [PATCH 17/18] kmod-static-nodes.service: Update ConditionFileNotEmpty +Subject: [PATCH 16/18] kmod-static-nodes.service: Update ConditionFileNotEmpty On NixOS, kernel modules of the currently booted systems are located at /run/booted-system/kernel-modules/lib/modules/%v/, not /lib/modules/%v/. @@ -10,7 +10,7 @@ On NixOS, kernel modules of the currently booted systems are located at 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/units/kmod-static-nodes.service.in b/units/kmod-static-nodes.service.in -index 0971edf9ec..87105a87b9 100644 +index f4170d6a99..9a6a591bea 100644 --- a/units/kmod-static-nodes.service.in +++ b/units/kmod-static-nodes.service.in @@ -12,7 +12,7 @@ Description=Create list of static device nodes for the current kernel @@ -23,5 +23,5 @@ index 0971edf9ec..87105a87b9 100644 [Service] Type=oneshot -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0018-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch b/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch similarity index 87% rename from pkgs/os-specific/linux/systemd/0018-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch rename to pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch index bf011f701ec6..ad92291c258d 100644 --- a/pkgs/os-specific/linux/systemd/0018-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch +++ b/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch @@ -1,7 +1,7 @@ -From 42419ff4dc7a36607189f8d3765aa836d5c5eaf9 Mon Sep 17 00:00:00 2001 +From 6f0e9a60dcd2160bcab01366bd521630f6f5dc76 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 8 Mar 2020 01:05:54 +0100 -Subject: [PATCH 18/18] path-util.h: add placeholder for DEFAULT_PATH_NORMAL +Subject: [PATCH 17/18] path-util.h: add placeholder for DEFAULT_PATH_NORMAL This will be the $PATH used to lookup ExecStart= etc. options, which systemd itself uses extensively. @@ -10,7 +10,7 @@ systemd itself uses extensively. 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/basic/path-util.h b/src/basic/path-util.h -index 30031fca8e..d97145539a 100644 +index d613709f0b..5cced4c115 100644 --- a/src/basic/path-util.h +++ b/src/basic/path-util.h @@ -24,11 +24,11 @@ @@ -29,5 +29,5 @@ index 30031fca8e..d97145539a 100644 #if HAVE_SPLIT_USR # define DEFAULT_PATH DEFAULT_PATH_SPLIT_USR -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/0019-logind-seat-debus-show-CanMultiSession-again.patch b/pkgs/os-specific/linux/systemd/0018-logind-seat-debus-show-CanMultiSession-again.patch similarity index 82% rename from pkgs/os-specific/linux/systemd/0019-logind-seat-debus-show-CanMultiSession-again.patch rename to pkgs/os-specific/linux/systemd/0018-logind-seat-debus-show-CanMultiSession-again.patch index 4f8cc0822d36..52a749a16b64 100644 --- a/pkgs/os-specific/linux/systemd/0019-logind-seat-debus-show-CanMultiSession-again.patch +++ b/pkgs/os-specific/linux/systemd/0018-logind-seat-debus-show-CanMultiSession-again.patch @@ -1,7 +1,7 @@ -From 3999d8949ddaf9296928f603661abcea13576d83 Mon Sep 17 00:00:00 2001 +From 120b53a3279ba098ee8e5a346b39cb2b7ef4a106 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 26 Oct 2020 21:21:38 +0100 -Subject: [PATCH 19/19] logind-seat-debus: show CanMultiSession again +Subject: [PATCH 18/18] logind-seat-debus: show CanMultiSession again Fixes the "switch user" function in Plasma < 5.20. --- @@ -9,10 +9,10 @@ Fixes the "switch user" function in Plasma < 5.20. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c -index a91765205c..742aeb1064 100644 +index a60ed2d3c2..69b6271075 100644 --- a/src/login/logind-seat-dbus.c +++ b/src/login/logind-seat-dbus.c -@@ -451,7 +451,7 @@ static const sd_bus_vtable seat_vtable[] = { +@@ -450,7 +450,7 @@ static const sd_bus_vtable seat_vtable[] = { SD_BUS_PROPERTY("Id", "s", NULL, offsetof(Seat, id), SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_PROPERTY("ActiveSession", "(so)", property_get_active_session, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), @@ -22,5 +22,5 @@ index a91765205c..742aeb1064 100644 SD_BUS_PROPERTY("CanGraphical", "b", property_get_can_graphical, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), SD_BUS_PROPERTY("Sessions", "a(so)", property_get_sessions, 0, 0), -- -2.28.0 +2.29.2 diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index f7a51ff9a036..52a227e2af2e 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -1,6 +1,7 @@ { stdenv , lib , fetchFromGitHub +, fetchpatch , buildPackages , ninja , meson @@ -71,6 +72,7 @@ , withMachined ? true , withNetworkd ? true , withNss ? true +, withOomd ? false , withPCRE2 ? true , withPolkit ? true , withPortabled ? false @@ -80,8 +82,8 @@ , withTimedated ? true , withTimesyncd ? true , withUserDb ? true -, p11-kit , libfido2 +, p11-kit # name argument , pname ? "systemd" @@ -109,7 +111,7 @@ assert withCryptsetup -> let wantCurl = withRemote || withImportd; - version = "246.6"; + version = "247"; in stdenv.mkDerivation { inherit version pname; @@ -118,14 +120,15 @@ stdenv.mkDerivation { # This has proven to be less error-prone than the previous systemd fork. src = fetchFromGitHub { owner = "systemd"; - repo = "systemd-stable"; + repo = "systemd"; rev = "v${version}"; - sha256 = "1yhj2jlighqqpw1xk9q52f3pncjn47ipi224k35d6syb94q2b988"; + sha256 = "1nwsr6p65zy5jpabvjbszq5g556l1npaf2xsik4p4pvjjwnn1nx6"; }; # If these need to be regenerated, `git am path/to/00*.patch` them into a # systemd worktree, rebase to the more recent systemd version, and export the # patches again via `git format-patch v${version}`. + # Use `find . -name "*.patch" | sort` to get an up-to-date listing of all patches patches = [ ./0001-Start-device-units-for-uninitialised-encrypted-devic.patch ./0002-Don-t-try-to-unmount-nix-or-nix-store.patch @@ -138,14 +141,13 @@ stdenv.mkDerivation { ./0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch ./0010-localectl-use-etc-X11-xkb-for-list-x11.patch ./0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch - ./0012-Install-default-configuration-into-out-share-factory.patch - ./0013-inherit-systemd-environment-when-calling-generators.patch - ./0014-add-rootprefix-to-lookup-dir-paths.patch - ./0015-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch - ./0016-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch - ./0017-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch - ./0018-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch - ./0019-logind-seat-debus-show-CanMultiSession-again.patch + ./0012-inherit-systemd-environment-when-calling-generators.patch + ./0013-add-rootprefix-to-lookup-dir-paths.patch + ./0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch + ./0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch + ./0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch + ./0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch + ./0018-logind-seat-debus-show-CanMultiSession-again.patch ]; postPatch = '' @@ -239,6 +241,7 @@ stdenv.mkDerivation { "-Dhostnamed=${lib.boolToString withHostnamed}" "-Dmachined=${lib.boolToString withMachined}" "-Dnetworkd=${lib.boolToString withNetworkd}" + "-Doomd=${lib.boolToString withOomd}" "-Dpolkit=${lib.boolToString withPolkit}" "-Dcryptsetup=${lib.boolToString withCryptsetup}" "-Dportabled=${lib.boolToString withPortabled}" @@ -259,6 +262,7 @@ stdenv.mkDerivation { "-Dldconfig=false" "-Dsmack=true" "-Db_pie=true" + "-Dinstall-sysconfdir=false" /* As of now, systemd doesn't allow runtime configuration of these values. So the settings in /etc/login.defs have no effect on it. Many people think this @@ -338,7 +342,7 @@ stdenv.mkDerivation { --replace /bin/plymouth /run/current-system/sw/bin/plymouth # To avoid dependency done - for dir in tools src/resolve test src/test; do + for dir in tools src/resolve test src/test src/shared; do patchShebangs $dir done diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a1be2f4623cc..7ceda951ef97 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19094,6 +19094,7 @@ in withMachined = false; withNetworkd = false; withNss = false; + withOomd = false; withPCRE2 = false; withPolkit = false; withRemote = false;