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 f8f3fc1ad62c..745e7181543d 100644 --- a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch +++ b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch @@ -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 e4fccaa3a7..05e6be8874 100644 +index 6e615d280a..e16cb17c7f 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -6208,6 +6208,7 @@ static int run(int argc, char *argv[]) { +@@ -6223,6 +6223,7 @@ static int run(int argc, char *argv[]) { goto finish; } } else { @@ -21,7 +21,7 @@ index e4fccaa3a7..05e6be8874 100644 _cleanup_free_ char *p = NULL; if (arg_pivot_root_new) -@@ -6227,6 +6228,7 @@ static int run(int argc, char *argv[]) { +@@ -6242,6 +6243,7 @@ static int run(int argc, char *argv[]) { log_error_errno(r, "Unable to determine if %s looks like it has an OS tree (i.e. whether /usr/ exists): %m", arg_directory); goto finish; } diff --git a/pkgs/os-specific/linux/systemd/0005-Get-rid-of-a-useless-message-in-user-sessions.patch b/pkgs/os-specific/linux/systemd/0005-Get-rid-of-a-useless-message-in-user-sessions.patch index 8b8000c29d1e..bee57fa30b55 100644 --- a/pkgs/os-specific/linux/systemd/0005-Get-rid-of-a-useless-message-in-user-sessions.patch +++ b/pkgs/os-specific/linux/systemd/0005-Get-rid-of-a-useless-message-in-user-sessions.patch @@ -13,7 +13,7 @@ in containers. 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/manager.c b/src/core/manager.c -index 7938c989af..c1ae20dfc0 100644 +index a5a51023c5..22cc7bd789 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -1578,7 +1578,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) { diff --git a/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch b/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch index 6bb741e08c0e..2ad26b56efee 100644 --- a/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch +++ b/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch @@ -35,7 +35,7 @@ index 3a13e04a27..4fd58068a1 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 8c776960e1..2e0563bd00 100644 +index 5dd00af952..e682337ef0 100644 --- a/src/basic/time-util.c +++ b/src/basic/time-util.c @@ -1443,7 +1443,7 @@ static int get_timezones_from_zone1970_tab(char ***ret) { @@ -75,10 +75,10 @@ index 8c776960e1..2e0563bd00 100644 return -EINVAL; if (!timezone_is_valid(e, LOG_DEBUG)) diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c -index 55bd273f21..d00aa16592 100644 +index 38e3adaed6..953ad05fb5 100644 --- a/src/firstboot/firstboot.c +++ b/src/firstboot/firstboot.c -@@ -571,7 +571,7 @@ static int prompt_timezone(int rfd, sd_varlink **mute_console_link) { +@@ -576,7 +576,7 @@ static int prompt_timezone(int rfd, sd_varlink **mute_console_link) { static int process_timezone(int rfd, sd_varlink **mute_console_link) { _cleanup_close_ int pfd = -EBADF; @@ -87,7 +87,7 @@ index 55bd273f21..d00aa16592 100644 const char *e; int r; -@@ -617,12 +617,9 @@ static int process_timezone(int rfd, sd_varlink **mute_console_link) { +@@ -622,12 +622,9 @@ static int process_timezone(int rfd, sd_varlink **mute_console_link) { if (isempty(arg_timezone)) return 0; @@ -103,10 +103,10 @@ index 55bd273f21..d00aa16592 100644 return log_error_errno(r, "Failed to create /etc/localtime symlink: %m"); diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index 05e6be8874..6dc00ff416 100644 +index e16cb17c7f..ff15d9d7f2 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -1808,8 +1808,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid +@@ -1820,8 +1820,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid static const char *timezone_from_path(const char *path) { return PATH_STARTSWITH_SET( path, diff --git a/pkgs/os-specific/linux/systemd/0010-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch b/pkgs/os-specific/linux/systemd/0010-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch index 76ed16737834..37b56151b0b2 100644 --- a/pkgs/os-specific/linux/systemd/0010-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch +++ b/pkgs/os-specific/linux/systemd/0010-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch @@ -10,7 +10,7 @@ This is needed for NixOS to use such scripts as systemd directory is immutable. 1 file changed, 1 insertion(+) diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c -index 25882970ef..599dd0a63f 100644 +index ff68f9e272..53f2ba1eee 100644 --- a/src/shutdown/shutdown.c +++ b/src/shutdown/shutdown.c @@ -329,6 +329,7 @@ static void notify_supervisor(void) { diff --git a/pkgs/os-specific/linux/systemd/0011-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch b/pkgs/os-specific/linux/systemd/0011-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch index 7e7587a897d8..e39b77a9f86c 100644 --- a/pkgs/os-specific/linux/systemd/0011-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch +++ b/pkgs/os-specific/linux/systemd/0011-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch @@ -9,7 +9,7 @@ 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 4fa6f16fcd..012cf16f90 100644 +index 0d128053ba..4deec9f72d 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c @@ -248,6 +248,7 @@ static int execute( diff --git a/pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch b/pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch index f1b17f5b76f7..5f2663d71425 100644 --- a/pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch +++ b/pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch @@ -16,10 +16,10 @@ executables that are being called from managers. 1 file changed, 8 insertions(+) diff --git a/src/core/manager.c b/src/core/manager.c -index c1ae20dfc0..c120e555a2 100644 +index 22cc7bd789..0a56da1307 100644 --- a/src/core/manager.c +++ b/src/core/manager.c -@@ -3994,9 +3994,17 @@ static int build_generator_environment(Manager *m, char ***ret) { +@@ -3996,9 +3996,17 @@ static int build_generator_environment(Manager *m, char ***ret) { * adjust generated units to that. Let's pass down some bits of information that are easy for us to * determine (but a bit harder for generator scripts to determine), as environment variables. */ diff --git a/pkgs/os-specific/linux/systemd/0015-tpm2_context_init-fix-driver-name-checking.patch b/pkgs/os-specific/linux/systemd/0015-tpm2_context_init-fix-driver-name-checking.patch index b8ab9c30c9b5..91c6ba58515e 100644 --- a/pkgs/os-specific/linux/systemd/0015-tpm2_context_init-fix-driver-name-checking.patch +++ b/pkgs/os-specific/linux/systemd/0015-tpm2_context_init-fix-driver-name-checking.patch @@ -27,7 +27,7 @@ filename_is_valid with path_is_valid. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c -index e089cfbc5e..35e135945b 100644 +index cf11b50695..7c5daffc23 100644 --- a/src/shared/tpm2-util.c +++ b/src/shared/tpm2-util.c @@ -741,7 +741,7 @@ int tpm2_context_new(const char *device, Tpm2Context **ret_context) { diff --git a/pkgs/os-specific/linux/systemd/0017-meson.build-do-not-create-systemdstatedir.patch b/pkgs/os-specific/linux/systemd/0017-meson.build-do-not-create-systemdstatedir.patch index 2bd396c210af..7d9d626bef09 100644 --- a/pkgs/os-specific/linux/systemd/0017-meson.build-do-not-create-systemdstatedir.patch +++ b/pkgs/os-specific/linux/systemd/0017-meson.build-do-not-create-systemdstatedir.patch @@ -8,10 +8,10 @@ Subject: [PATCH] meson.build: do not create systemdstatedir 1 file changed, 1 deletion(-) diff --git a/meson.build b/meson.build -index 4746146a98..c13b72af56 100644 +index 8289d8f28a..d3cf28c631 100644 --- a/meson.build +++ b/meson.build -@@ -2859,7 +2859,6 @@ install_data('LICENSE.GPL2', +@@ -2858,7 +2858,6 @@ install_data('LICENSE.GPL2', install_subdir('LICENSES', install_dir : docdir) diff --git a/pkgs/os-specific/linux/systemd/0018-meson-Don-t-link-ssh-dropins.patch b/pkgs/os-specific/linux/systemd/0018-meson-Don-t-link-ssh-dropins.patch index 2e6f9677fa4a..00fe9ff8def3 100644 --- a/pkgs/os-specific/linux/systemd/0018-meson-Don-t-link-ssh-dropins.patch +++ b/pkgs/os-specific/linux/systemd/0018-meson-Don-t-link-ssh-dropins.patch @@ -8,7 +8,7 @@ Subject: [PATCH] meson: Don't link ssh dropins 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build -index c13b72af56..32f6e791e7 100644 +index d3cf28c631..54e17a9e2d 100644 --- a/meson.build +++ b/meson.build @@ -214,13 +214,13 @@ sshconfdir = get_option('sshconfdir') diff --git a/pkgs/os-specific/linux/systemd/0019-install-unit_file_exists_full-follow-symlinks.patch b/pkgs/os-specific/linux/systemd/0019-install-unit_file_exists_full-follow-symlinks.patch deleted file mode 100644 index b28703c2a3c5..000000000000 --- a/pkgs/os-specific/linux/systemd/0019-install-unit_file_exists_full-follow-symlinks.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Marie Ramlow -Date: Fri, 10 Jan 2025 15:51:33 +0100 -Subject: [PATCH] install: unit_file_exists_full: follow symlinks - ---- - src/shared/install.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/shared/install.c b/src/shared/install.c -index a22c6df2f7..7e900c8bcd 100644 ---- a/src/shared/install.c -+++ b/src/shared/install.c -@@ -3227,7 +3227,7 @@ int unit_file_exists_full(RuntimeScope scope, const LookupPaths *lp, const char - &c, - lp, - name, -- /* flags= */ 0, -+ /* flags= */ SEARCH_FOLLOW_CONFIG_SYMLINKS, - ret_path ? &info : NULL, - /* changes= */ NULL, - /* n_changes= */ NULL); diff --git a/pkgs/os-specific/linux/systemd/0020-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch b/pkgs/os-specific/linux/systemd/0019-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch similarity index 100% rename from pkgs/os-specific/linux/systemd/0020-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch rename to pkgs/os-specific/linux/systemd/0019-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 77d8b4666219..080377fab8a8 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -206,13 +206,13 @@ let in stdenv.mkDerivation (finalAttrs: { inherit pname; - version = "259"; + version = "259.2"; src = fetchFromGitHub { owner = "systemd"; repo = "systemd"; rev = "v${finalAttrs.version}"; - hash = "sha256-lJUX1sWRouhEEPZoA9UjjOy5IUZYGGV8pltAU0E4Dsg="; + hash = "sha256-nyqmKZ7j6zA/heODen0j0xH8FiTSGT+E4rfaUoqPbjU="; }; # On major changes, or when otherwise required, you *must* : @@ -246,11 +246,9 @@ stdenv.mkDerivation (finalAttrs: { # if the install prefix is not /usr, but that does not work for us # because we include the config snippet manually ./0018-meson-Don-t-link-ssh-dropins.patch - - ./0019-install-unit_file_exists_full-follow-symlinks.patch ] ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isGnu) [ - ./0020-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch + ./0019-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch ]; postPatch = '' @@ -507,7 +505,6 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonEnable "libcurl" wantCurl) (lib.mesonEnable "libidn" false) (lib.mesonEnable "libidn2" withLibidn2) - (lib.mesonEnable "libiptc" false) (lib.mesonEnable "repart" withRepart) (lib.mesonEnable "sysupdate" withSysupdate) (lib.mesonEnable "sysupdated" withSysupdate)