1 |
aidecoe 12/11/01 09:54:08 |
2 |
|
3 |
Added: |
4 |
024-0001-Fallback-to-external-blkid-and-path_id.patch |
5 |
023-0003-Fallback-to-external-blkid-and-path_id.patch |
6 |
Log: |
7 |
Fixes bug #437700. Thanks to Alexander Tsoy <alexander@××××.me> for the |
8 |
report and the patch. |
9 |
|
10 |
Also bumped dhcp version dependency to >=4.2.4_p2-r1 wrt bug #437108. |
11 |
|
12 |
(Portage version: 2.1.11.31/cvs/Linux x86_64, signed Manifest commit with key E1DBFAB5) |
13 |
|
14 |
Revision Changes Path |
15 |
1.1 sys-kernel/dracut/files/024-0001-Fallback-to-external-blkid-and-path_id.patch |
16 |
|
17 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/024-0001-Fallback-to-external-blkid-and-path_id.patch?rev=1.1&view=markup |
18 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/024-0001-Fallback-to-external-blkid-and-path_id.patch?rev=1.1&content-type=text/plain |
19 |
|
20 |
Index: 024-0001-Fallback-to-external-blkid-and-path_id.patch |
21 |
=================================================================== |
22 |
From 226fb690900d869c0f8542ea5983c1c4ec3ac9db Mon Sep 17 00:00:00 2001 |
23 |
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@×××××××.name> |
24 |
Date: Thu, 1 Nov 2012 09:31:01 +0100 |
25 |
Subject: [PATCH] Fallback to external blkid and path_id in udev rules for |
26 |
<udev-176. |
27 |
|
28 |
Starting with commit 24a38bc1cbe461c344ce61c7e10b6d51d5689c93 dracut |
29 |
uses udev builtins but still depends on >=udev-166 in dracut.spec. This |
30 |
patch makes dracut work with older udev again. |
31 |
|
32 |
All credits go to Alexander Tsoy <alexander@××××.me>; see |
33 |
|
34 |
https://bugs.gentoo.org/show_bug.cgi?id=437700 |
35 |
--- |
36 |
modules.d/95udev-rules/59-persistent-storage.rules | 8 +++---- |
37 |
modules.d/95udev-rules/61-persistent-storage.rules | 2 +- |
38 |
modules.d/95udev-rules/module-setup.sh | 2 ++ |
39 |
modules.d/95udev-rules/udev-rules-prepare.sh | 25 ++++++++++++++++++++++ |
40 |
modules.d/99base/init.sh | 2 +- |
41 |
5 files changed, 33 insertions(+), 6 deletions(-) |
42 |
create mode 100644 modules.d/95udev-rules/udev-rules-prepare.sh |
43 |
|
44 |
diff --git a/modules.d/95udev-rules/59-persistent-storage.rules b/modules.d/95udev-rules/59-persistent-storage.rules |
45 |
index f2756ee..c221cda 100644 |
46 |
--- a/modules.d/95udev-rules/59-persistent-storage.rules |
47 |
+++ b/modules.d/95udev-rules/59-persistent-storage.rules |
48 |
@@ -3,8 +3,8 @@ ACTION!="add|change", GOTO="ps_end" |
49 |
# Also don't process disks that are slated to be a multipath device |
50 |
ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="ps_end" |
51 |
|
52 |
-KERNEL=="cciss[0-9]*", IMPORT{builtin}="blkid" |
53 |
-KERNEL=="nbd[0-9]*", IMPORT{builtin}="blkid" |
54 |
+KERNEL=="cciss[0-9]*", IMPORT BLKID |
55 |
+KERNEL=="nbd[0-9]*", IMPORT BLKID |
56 |
|
57 |
|
58 |
KERNEL!="md[0-9]*|md_d[0-9]*|md/*", KERNEL!="md*", GOTO="md_end" |
59 |
@@ -21,7 +21,7 @@ ATTR{md/array_state}=="|clear|inactive", GOTO="md_end" |
60 |
LABEL="md_ignore_state" |
61 |
|
62 |
IMPORT{program}="/sbin/mdadm --detail --export $tempnode" |
63 |
-IMPORT{builtin}="blkid" |
64 |
+IMPORT BLKID |
65 |
OPTIONS+="link_priority=100" |
66 |
OPTIONS+="watch" |
67 |
LABEL="md_end" |
68 |
@@ -34,7 +34,7 @@ ENV{DM_NAME}!="?*", GOTO="ps_end" |
69 |
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="ps_end" |
70 |
ENV{DM_UUID}=="CRYPT-TEMP-?*", GOTO="ps_end" |
71 |
ENV{DM_UUID}!="?*", ENV{DM_NAME}=="temporary-cryptsetup-?*", GOTO="ps_end" |
72 |
-IMPORT{builtin}="blkid" |
73 |
+IMPORT BLKID |
74 |
|
75 |
|
76 |
LABEL="ps_end" |
77 |
diff --git a/modules.d/95udev-rules/61-persistent-storage.rules b/modules.d/95udev-rules/61-persistent-storage.rules |
78 |
index 7dbd151..37148b0 100644 |
79 |
--- a/modules.d/95udev-rules/61-persistent-storage.rules |
80 |
+++ b/modules.d/95udev-rules/61-persistent-storage.rules |
81 |
@@ -12,7 +12,7 @@ GOTO="pss_end" |
82 |
|
83 |
LABEL="do_pss" |
84 |
# by-path (parent device path) |
85 |
-ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT{builtin}="path_id" |
86 |
+ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT PATH_ID |
87 |
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}" |
88 |
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n" |
89 |
|
90 |
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh |
91 |
index 533dfeb..54a192e 100755 |
92 |
--- a/modules.d/95udev-rules/module-setup.sh |
93 |
+++ b/modules.d/95udev-rules/module-setup.sh |
94 |
@@ -74,5 +74,7 @@ install() { |
95 |
inst_script "$moddir/load-modules.sh" /lib/udev/load-modules.sh |
96 |
|
97 |
inst_libdir_file "libnss_files*" |
98 |
+ |
99 |
+ inst_hook pre-udev 10 "$moddir/udev-rules-prepare.sh" |
100 |
} |
101 |
|
102 |
diff --git a/modules.d/95udev-rules/udev-rules-prepare.sh b/modules.d/95udev-rules/udev-rules-prepare.sh |
103 |
new file mode 100644 |
104 |
index 0000000..08263ea |
105 |
--- /dev/null |
106 |
+++ b/modules.d/95udev-rules/udev-rules-prepare.sh |
107 |
@@ -0,0 +1,25 @@ |
108 |
+#!/bin/sh |
109 |
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- |
110 |
+# ex: ts=8 sw=4 sts=4 et filetype=sh |
111 |
+ |
112 |
+for f in /etc/udev/rules.d/*-persistent-storage.rules; do |
113 |
+ [ -e "$f" ] || continue |
114 |
+ while read line; do |
115 |
+ if [ "${line%%IMPORT PATH_ID}" != "$line" ]; then |
116 |
+ if [ $UDEVVERSION -ge 174 ]; then |
117 |
+ printf '%sIMPORT{builtin}="path_id"\n' "${line%%IMPORT PATH_ID}" |
118 |
+ else |
119 |
+ printf '%sIMPORT{program}="path_id %%p"\n' "${line%%IMPORT PATH_ID}" |
120 |
+ fi |
121 |
+ elif [ "${line%%IMPORT BLKID}" != "$line" ]; then |
122 |
+ if [ $UDEVVERSION -ge 176 ]; then |
123 |
+ printf '%sIMPORT{builtin}="blkid"\n' "${line%%IMPORT BLKID}" |
124 |
+ else |
125 |
+ printf '%sIMPORT{program}="/sbin/blkid -o udev -p $tempnode"\n' "${line%%IMPORT BLKID}" |
126 |
+ fi |
127 |
+ else |
128 |
+ echo "$line" |
129 |
+ fi |
130 |
+ done < "${f}" > "${f}.new" |
131 |
+ mv "${f}.new" "$f" |
132 |
+done |
133 |
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh |
134 |
index 16c8958..0259053 100755 |
135 |
--- a/modules.d/99base/init.sh |
136 |
+++ b/modules.d/99base/init.sh |
137 |
@@ -83,7 +83,7 @@ trap "emergency_shell Signal caught!" 0 |
138 |
|
139 |
[ -d /run/initramfs ] || mkdir -p -m 0755 /run/initramfs |
140 |
|
141 |
-UDEVVERSION=$(udevadm --version) |
142 |
+export UDEVVERSION=$(udevadm --version) |
143 |
if [ $UDEVVERSION -gt 166 ]; then |
144 |
# newer versions of udev use /run/udev/rules.d |
145 |
export UDEVRULESD=/run/udev/rules.d |
146 |
-- |
147 |
1.7.12.4 |
148 |
|
149 |
|
150 |
|
151 |
|
152 |
1.1 sys-kernel/dracut/files/023-0003-Fallback-to-external-blkid-and-path_id.patch |
153 |
|
154 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/023-0003-Fallback-to-external-blkid-and-path_id.patch?rev=1.1&view=markup |
155 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-kernel/dracut/files/023-0003-Fallback-to-external-blkid-and-path_id.patch?rev=1.1&content-type=text/plain |
156 |
|
157 |
Index: 023-0003-Fallback-to-external-blkid-and-path_id.patch |
158 |
=================================================================== |
159 |
From e185a1b4fd7e931beb995b124fd3688031e50863 Mon Sep 17 00:00:00 2001 |
160 |
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@×××××××.name> |
161 |
Date: Thu, 1 Nov 2012 09:31:01 +0100 |
162 |
Subject: [PATCH 3/3] Fallback to external blkid and path_id in udev rules for |
163 |
<udev-176. |
164 |
|
165 |
Starting with commit 24a38bc1cbe461c344ce61c7e10b6d51d5689c93 dracut |
166 |
uses udev builtins but still depends on >=udev-166 in dracut.spec. This |
167 |
patch makes dracut work with older udev again. |
168 |
|
169 |
All credits go to Alexander Tsoy <alexander@××××.me>; see |
170 |
|
171 |
https://bugs.gentoo.org/show_bug.cgi?id=437700 |
172 |
--- |
173 |
modules.d/95udev-rules/59-persistent-storage.rules | 8 +++---- |
174 |
modules.d/95udev-rules/61-persistent-storage.rules | 2 +- |
175 |
modules.d/95udev-rules/module-setup.sh | 2 ++ |
176 |
modules.d/95udev-rules/udev-rules-prepare.sh | 25 ++++++++++++++++++++++ |
177 |
modules.d/99base/init.sh | 2 +- |
178 |
5 files changed, 33 insertions(+), 6 deletions(-) |
179 |
create mode 100644 modules.d/95udev-rules/udev-rules-prepare.sh |
180 |
|
181 |
diff --git a/modules.d/95udev-rules/59-persistent-storage.rules b/modules.d/95udev-rules/59-persistent-storage.rules |
182 |
index f2756ee..c221cda 100644 |
183 |
--- a/modules.d/95udev-rules/59-persistent-storage.rules |
184 |
+++ b/modules.d/95udev-rules/59-persistent-storage.rules |
185 |
@@ -3,8 +3,8 @@ ACTION!="add|change", GOTO="ps_end" |
186 |
# Also don't process disks that are slated to be a multipath device |
187 |
ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="ps_end" |
188 |
|
189 |
-KERNEL=="cciss[0-9]*", IMPORT{builtin}="blkid" |
190 |
-KERNEL=="nbd[0-9]*", IMPORT{builtin}="blkid" |
191 |
+KERNEL=="cciss[0-9]*", IMPORT BLKID |
192 |
+KERNEL=="nbd[0-9]*", IMPORT BLKID |
193 |
|
194 |
|
195 |
KERNEL!="md[0-9]*|md_d[0-9]*|md/*", KERNEL!="md*", GOTO="md_end" |
196 |
@@ -21,7 +21,7 @@ ATTR{md/array_state}=="|clear|inactive", GOTO="md_end" |
197 |
LABEL="md_ignore_state" |
198 |
|
199 |
IMPORT{program}="/sbin/mdadm --detail --export $tempnode" |
200 |
-IMPORT{builtin}="blkid" |
201 |
+IMPORT BLKID |
202 |
OPTIONS+="link_priority=100" |
203 |
OPTIONS+="watch" |
204 |
LABEL="md_end" |
205 |
@@ -34,7 +34,7 @@ ENV{DM_NAME}!="?*", GOTO="ps_end" |
206 |
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="ps_end" |
207 |
ENV{DM_UUID}=="CRYPT-TEMP-?*", GOTO="ps_end" |
208 |
ENV{DM_UUID}!="?*", ENV{DM_NAME}=="temporary-cryptsetup-?*", GOTO="ps_end" |
209 |
-IMPORT{builtin}="blkid" |
210 |
+IMPORT BLKID |
211 |
|
212 |
|
213 |
LABEL="ps_end" |
214 |
diff --git a/modules.d/95udev-rules/61-persistent-storage.rules b/modules.d/95udev-rules/61-persistent-storage.rules |
215 |
index 7dbd151..37148b0 100644 |
216 |
--- a/modules.d/95udev-rules/61-persistent-storage.rules |
217 |
+++ b/modules.d/95udev-rules/61-persistent-storage.rules |
218 |
@@ -12,7 +12,7 @@ GOTO="pss_end" |
219 |
|
220 |
LABEL="do_pss" |
221 |
# by-path (parent device path) |
222 |
-ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT{builtin}="path_id" |
223 |
+ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT PATH_ID |
224 |
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}" |
225 |
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n" |
226 |
|
227 |
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh |
228 |
index 2e3c955..a9a8655 100755 |
229 |
--- a/modules.d/95udev-rules/module-setup.sh |
230 |
+++ b/modules.d/95udev-rules/module-setup.sh |
231 |
@@ -55,5 +55,7 @@ install() { |
232 |
inst_script "$moddir/load-modules.sh" /lib/udev/load-modules.sh |
233 |
|
234 |
inst_libdir_file "libnss_files*" |
235 |
+ |
236 |
+ inst_hook pre-udev 10 "$moddir/udev-rules-prepare.sh" |
237 |
} |
238 |
|
239 |
diff --git a/modules.d/95udev-rules/udev-rules-prepare.sh b/modules.d/95udev-rules/udev-rules-prepare.sh |
240 |
new file mode 100644 |
241 |
index 0000000..08263ea |
242 |
--- /dev/null |
243 |
+++ b/modules.d/95udev-rules/udev-rules-prepare.sh |
244 |
@@ -0,0 +1,25 @@ |
245 |
+#!/bin/sh |
246 |
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- |
247 |
+# ex: ts=8 sw=4 sts=4 et filetype=sh |
248 |
+ |
249 |
+for f in /etc/udev/rules.d/*-persistent-storage.rules; do |
250 |
+ [ -e "$f" ] || continue |
251 |
+ while read line; do |
252 |
+ if [ "${line%%IMPORT PATH_ID}" != "$line" ]; then |
253 |
+ if [ $UDEVVERSION -ge 174 ]; then |
254 |
+ printf '%sIMPORT{builtin}="path_id"\n' "${line%%IMPORT PATH_ID}" |
255 |
+ else |
256 |
+ printf '%sIMPORT{program}="path_id %%p"\n' "${line%%IMPORT PATH_ID}" |
257 |
+ fi |
258 |
+ elif [ "${line%%IMPORT BLKID}" != "$line" ]; then |
259 |
+ if [ $UDEVVERSION -ge 176 ]; then |
260 |
+ printf '%sIMPORT{builtin}="blkid"\n' "${line%%IMPORT BLKID}" |
261 |
+ else |
262 |
+ printf '%sIMPORT{program}="/sbin/blkid -o udev -p $tempnode"\n' "${line%%IMPORT BLKID}" |
263 |
+ fi |
264 |
+ else |
265 |
+ echo "$line" |
266 |
+ fi |
267 |
+ done < "${f}" > "${f}.new" |
268 |
+ mv "${f}.new" "$f" |
269 |
+done |
270 |
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh |
271 |
index 16c8958..0259053 100755 |
272 |
--- a/modules.d/99base/init.sh |
273 |
+++ b/modules.d/99base/init.sh |
274 |
@@ -83,7 +83,7 @@ trap "emergency_shell Signal caught!" 0 |
275 |
|
276 |
[ -d /run/initramfs ] || mkdir -p -m 0755 /run/initramfs |
277 |
|
278 |
-UDEVVERSION=$(udevadm --version) |
279 |
+export UDEVVERSION=$(udevadm --version) |
280 |
if [ $UDEVVERSION -gt 166 ]; then |
281 |
# newer versions of udev use /run/udev/rules.d |
282 |
export UDEVRULESD=/run/udev/rules.d |
283 |
-- |
284 |
1.7.12.4 |