Gentoo Archives: gentoo-commits

From: "Amadeusz Zolnowski (aidecoe)" <aidecoe@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-kernel/dracut/files: 024-0001-Fallback-to-external-blkid-and-path_id.patch 023-0003-Fallback-to-external-blkid-and-path_id.patch
Date: Thu, 01 Nov 2012 09:54:26
Message-Id: 20121101095408.B88C921600@flycatcher.gentoo.org
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