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-3.1.5/src/udev/udev-rules.c 2015-10-13 06:22:14.000000000 +0800 +++ eudev-3.1.5/src/udev/udev-rules.c 2015-10-16 20:45:38.491934336 +0800 @@ -47,15 +47,11 @@ }; }; -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 + NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */ NULL}; struct udev_rules { @@ -1704,6 +1700,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_errno(r, "failed to enumerate rules files: %m"); /log/tests/discovery.scm'>logtreecommitdiff
path: root/tests/discovery.scm
AgeCommit message (Expand)Author
2017-07-03discovery: Recurse into directories pointed to by a symlink....Reported by Christopher Baines <mail@cbaines.net> and Alex Kost <alezost@gmail.com> at <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00290.html>. * guix/discovery.scm (scheme-files): When ENTRY is a symlink that doesn't end in '.scm', call 'stat' and recurse if it points to a directory. * tests/discovery.scm ("scheme-modules recurses in symlinks to directories"): New test. Ludovic Courtès
2017-06-18discovery: 'scheme-files' returns '() for a non-accessible directory....Fixes a regression introduced in d27cc3bfaafe6b5b0831e88afb1c46311d382a0b. Reported by Ricardo Wurmus <rekado@elephly.net>. * guix/discovery.scm (scheme-files): Catch 'scandir*' system errors. Return '() and optionally raise a warning upon 'system-error'. * tests/discovery.scm ("scheme-modules, non-existent directory"): New test. Ludovic Courtès
2017-05-03Add (guix discovery)....* guix/discovery.scm, tests/discovery.scm: New files. * gnu/packages.scm (scheme-files, file-name->module-name) (scheme-modules, all-package-modules): Remove. (fold-packages): Rewrite in terms of 'fold-module-public-variables'. * gnu/tests.scm: Use (guix discovery). * Makefile.am (MODULES): Add guix/discovery.scm. (SCM_TESTS): Add tests/discovery.scm. Ludovic Courtès