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 | |
parent | dc2d59afa946eb7540ca6fb6233026780f99104e (diff) | |
download | guix-c19ce3a711fea24c173d615a4a7b162dbc86ce68.tar 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')
-rw-r--r-- | gnu/packages/linux.scm | 3 | ||||
-rw-r--r-- | gnu/packages/patches/eudev-rules-directory.patch | 36 |
2 files changed, 38 insertions, 1 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8550dc0d33..ff6de2b077 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1377,7 +1377,8 @@ time.") version ".tar.gz")) (sha256 (base32 - "1w6f8h7fhjz3prs630f8gawv7jx74zi600z0pm997kkp24pyj5wg")))) + "1w6f8h7fhjz3prs630f8gawv7jx74zi600z0pm997kkp24pyj5wg")) + (patches (list (search-patch "eudev-rules-directory.patch"))))) (arguments (substitute-keyword-arguments (package-arguments udev) ((#:configure-flags flags) 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)); |