diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-09-13 10:47:58 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-09-13 10:47:58 +0200 |
commit | c19ce3a711fea24c173d615a4a7b162dbc86ce68 (patch) | |
tree | 7f3c511f3aaf6355056840f9f04f1a1f059f6559 /gnu/packages/patches | |
parent | dc2d59afa946eb7540ca6fb6233026780f99104e (diff) | |
download | guix-c19ce3a711fea24c173d615a4a7b162dbc86ce68.tar.gz |
gnu: eudev: Honor $EUDEV_RULES_DIRECTORY.
* gnu/packages/patches/eudev-rules-directory.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/linux.scm (eudev): Use it.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r-- | gnu/packages/patches/eudev-rules-directory.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/patches/eudev-rules-directory.patch b/gnu/packages/patches/eudev-rules-directory.patch new file mode 100644 index 0000000000..9173e22f76 --- /dev/null +++ b/gnu/packages/patches/eudev-rules-directory.patch @@ -0,0 +1,36 @@ +Add $EUDEV_RULES_DIRECTORY to the list of rules directories. + +The old udev 182 supported $UDEV_CONFIG_FILE, which in turn allowed +the search path to be customized, but eudev no longer has this, hence +this hack. + +--- eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:21:59.615980259 +0200 ++++ eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:24:13.839976335 +0200 +@@ -46,15 +46,11 @@ + }; + }; + +-static const char* const rules_dirs[] = { ++static const char* rules_dirs[] = { + UDEV_CONF_DIR "/rules.d", + UDEV_RULES_DIR, +- "/run/udev/rules.d", + UDEV_LIBEXEC_DIR "/rules.d", +-#ifdef HAVE_SPLIT_USR +- "/lib/udev/rules.d", +- "/usr/lib/udev/rules.d", +-#endif ++ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */ + NULL}; + + struct udev_rules { +@@ -1637,6 +1633,9 @@ + + udev_rules_check_timestamp(rules); + ++ /* Allow the user to specify an additional rules directory. */ ++ rules_dirs[3] = getenv("EUDEV_RULES_DIRECTORY"); ++ + r = conf_files_list_strv(&files, ".rules", NULL, rules_dirs); + if (r < 0) { + log_error("failed to enumerate rules files: %s", strerror(-r)); |