From 2fa1b38853fc3c9eba02f47bf2d7031bf93e6f34 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 11 Oct 2012 12:33:28 -0400 Subject: [PATCH] systemd: Properly handle device aliases used as dependencies http://lists.freedesktop.org/archives/systemd-devel/2012-October/006872.html --- pkgs/os-specific/linux/systemd/default.nix | 2 +- .../linux/systemd/fix-device-aliases.patch | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 pkgs/os-specific/linux/systemd/fix-device-aliases.patch diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 36d341af5e6..5abef22395e 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 ./ignore-duplicates.patch ]; + patches = [ ./reexec.patch ./ignore-duplicates.patch ./fix-device-aliases.patch ]; buildInputs = [ pkgconfig intltool gperf libcap dbus kmod xz pam acl diff --git a/pkgs/os-specific/linux/systemd/fix-device-aliases.patch b/pkgs/os-specific/linux/systemd/fix-device-aliases.patch new file mode 100644 index 00000000000..508fd0ec074 --- /dev/null +++ b/pkgs/os-specific/linux/systemd/fix-device-aliases.patch @@ -0,0 +1,14 @@ +diff --git a/src/core/device.c b/src/core/device.c +index 5307341..7bbe99a 100644 +--- a/src/core/device.c ++++ b/src/core/device.c +@@ -255,8 +255,7 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p + if (!is_path(alias)) + log_warning("SYSTEMD_ALIAS for %s is not a path, ignoring: %s", sysfs, alias); + else { +- if ((r = device_add_escaped_name(u, alias)) < 0) +- goto fail; ++ device_update_unit(m, dev, alias, false); + } + } +