From a4cd5afd0318ca8f9c653472b6ada664994da3cb Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 5 Oct 2012 16:58:36 -0400 Subject: [PATCH] Fix "Failed to add path to set" error during nixos-rebuild --- pkgs/os-specific/linux/systemd/default.nix | 2 +- .../linux/systemd/ignore-duplicates.patch | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 pkgs/os-specific/linux/systemd/ignore-duplicates.patch diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 9d67c5e2f72..36d341af5e6 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 00000000000..764eead54ea --- /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;