about summary refs log tree commit diff
path: root/pkgs/os-specific/linux/systemd
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-10-05 16:58:36 -0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-10-05 16:58:36 -0400
commita4cd5afd0318ca8f9c653472b6ada664994da3cb (patch)
tree05184d89f79d9daa66ac5fff9f7d4614b23debf9 /pkgs/os-specific/linux/systemd
parent29aa7abe870519b3ef12568c296dd035195328ec (diff)
downloadnixlib-a4cd5afd0318ca8f9c653472b6ada664994da3cb.tar
nixlib-a4cd5afd0318ca8f9c653472b6ada664994da3cb.tar.gz
nixlib-a4cd5afd0318ca8f9c653472b6ada664994da3cb.tar.bz2
nixlib-a4cd5afd0318ca8f9c653472b6ada664994da3cb.tar.lz
nixlib-a4cd5afd0318ca8f9c653472b6ada664994da3cb.tar.xz
nixlib-a4cd5afd0318ca8f9c653472b6ada664994da3cb.tar.zst
nixlib-a4cd5afd0318ca8f9c653472b6ada664994da3cb.zip
Fix "Failed to add path to set" error during nixos-rebuild
Diffstat (limited to 'pkgs/os-specific/linux/systemd')
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix2
-rw-r--r--pkgs/os-specific/linux/systemd/ignore-duplicates.patch20
2 files changed, 21 insertions, 1 deletions
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 9d67c5e2f729..36d341af5e65 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0cgnnl6kqaz3als5y9g8jvsvbs4c8ccp0vl4s1g8rwk69w2cwxd2";
   };
 
-  patches = [ ./reexec.patch ];
+  patches = [ ./reexec.patch ./ignore-duplicates.patch ];
 
   buildInputs =
     [ pkgconfig intltool gperf libcap dbus kmod xz pam acl
diff --git a/pkgs/os-specific/linux/systemd/ignore-duplicates.patch b/pkgs/os-specific/linux/systemd/ignore-duplicates.patch
new file mode 100644
index 000000000000..764eead54eac
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/ignore-duplicates.patch
@@ -0,0 +1,20 @@
+Ignore duplicate paths in "systemctl start".
+
+diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
+index a4290c4..d3ac3ad 100644
+--- a/src/systemctl/systemctl.c
++++ b/src/systemctl/systemctl.c
+@@ -1596,8 +1596,11 @@ static int start_unit_one(
+ 
+                 r = set_put(s, p);
+                 if (r < 0) {
+-                        log_error("Failed to add path to set.");
+-                        return r;
++                        free(p);
++                        if (r != -EEXIST) {
++                                log_error("Failed to add path %s to set.", p);
++                                return r;
++                        }
+                 }
+ 
+                 p = NULL;