summaryrefslogtreecommitdiff
blob: 55b369981810e7f08ed1cca523acbede46a0b798 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
From ed2f8d6145ef12084af882575091a7d44a3e47c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 6 Jan 2013 13:35:01 +0100
Subject: [PATCH 1/4] dracut-functions.sh: support for alternative udev dirs -
 udevaltdirs

It is required for Gentoo which moves udev from / to /usr and supports
both /lib/udev and /usr/lib/udev for compatibility with other packages.

Credits go to Alexander Tsoy <alexander@tsoy.me>.

Conflicts:
	dracut-functions.sh
---
 dracut-functions.sh | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/dracut-functions.sh b/dracut-functions.sh
index 1bcc3b4..72afce2 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -943,6 +943,16 @@ inst_rules() {
     inst_dir "$_target"
     for _rule in "$@"; do
         if [ "${_rule#/}" = "$_rule" ]; then
+            for r in ${udevaltdirs}; do
+                [[ "$r" = "${udevdir}" ]] && continue
+                if [[ -e $r/rules.d/$_rule ]]; then
+                    _found="$r/rules.d/$_rule"
+                    inst_rule_programs "$_found"
+                    inst_rule_group_owner "$_found"
+                    inst_rule_initqueue "$_found"
+                    inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}"
+                fi
+            done
             for r in ${udevdir}/rules.d ${hostonly:+/etc/udev/rules.d}; do
                 if [[ -e $r/$_rule ]]; then
                     _found="$r/$_rule"
-- 
2.1.3