me
/
guix
Archived
1
0
Fork 0
This repository has been archived on 2024-08-07. You can view files and clone it, but cannot push or open issues/pull-requests.
guix/gnu/packages/patches/eudev-rules-directory.patch

38 lines
1.2 KiB
Diff

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.
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
@@ -48,16 +48,11 @@ struct uid_gid {
};
};
-static const char* const rules_dirs[] = {
+static const char* rules_dirs[] = {
UDEV_CONF_DIR "/rules.d",
UDEV_RULES_DIR,
- UDEV_ROOT_RUN "/udev/rules.d",
UDEV_LIBEXEC_DIR "/rules.d",
-#ifdef HAVE_SPLIT_USR
- "/lib/udev/rules.d",
- "/usr/lib/udev/rules.d",
-#endif
- "/usr/local/lib/udev/rules.d",
+ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */
NULL};
struct udev_rules {
@@ -1718,6 +1713,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) {
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_errno(r, "failed to enumerate rules files: %m");