1 |
zzam 11/04/30 12:29:14 |
2 |
|
3 |
Modified: ChangeLog udev-9999.ebuild |
4 |
Added: udev-168.ebuild |
5 |
Log: |
6 |
Version bumped. Unconditionally install to /lib/udev, also on multilib, Bug #364375. Remove automagic dependency to systemd, Bug #364065. |
7 |
|
8 |
(Portage version: 2.1.9.46/cvs/Linux x86_64) |
9 |
|
10 |
Revision Changes Path |
11 |
1.572 sys-fs/udev/ChangeLog |
12 |
|
13 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/ChangeLog?rev=1.572&view=markup |
14 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/ChangeLog?rev=1.572&content-type=text/plain |
15 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/ChangeLog?r1=1.571&r2=1.572 |
16 |
|
17 |
Index: ChangeLog |
18 |
=================================================================== |
19 |
RCS file: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v |
20 |
retrieving revision 1.571 |
21 |
retrieving revision 1.572 |
22 |
diff -u -r1.571 -r1.572 |
23 |
--- ChangeLog 15 Apr 2011 21:55:18 -0000 1.571 |
24 |
+++ ChangeLog 30 Apr 2011 12:29:14 -0000 1.572 |
25 |
@@ -1,6 +1,13 @@ |
26 |
# ChangeLog for sys-fs/udev |
27 |
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 |
28 |
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.571 2011/04/15 21:55:18 ulm Exp $ |
29 |
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.572 2011/04/30 12:29:14 zzam Exp $ |
30 |
+ |
31 |
+*udev-168 (30 Apr 2011) |
32 |
+ |
33 |
+ 30 Apr 2011; Matthias Schwarzott <zzam@g.o> +udev-168.ebuild, |
34 |
+ udev-9999.ebuild: |
35 |
+ Version bumped. Unconditionally install to /lib/udev, also on multilib, Bug |
36 |
+ #364375. Remove automagic dependency to systemd, Bug #364065. |
37 |
|
38 |
15 Apr 2011; Ulrich Mueller <ulm@g.o> udev-114.ebuild, |
39 |
udev-115-r1.ebuild, udev-119.ebuild, udev-124-r1.ebuild, udev-124-r2.ebuild, |
40 |
|
41 |
|
42 |
|
43 |
1.35 sys-fs/udev/udev-9999.ebuild |
44 |
|
45 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-9999.ebuild?rev=1.35&view=markup |
46 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-9999.ebuild?rev=1.35&content-type=text/plain |
47 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-9999.ebuild?r1=1.34&r2=1.35 |
48 |
|
49 |
Index: udev-9999.ebuild |
50 |
=================================================================== |
51 |
RCS file: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-9999.ebuild,v |
52 |
retrieving revision 1.34 |
53 |
retrieving revision 1.35 |
54 |
diff -u -r1.34 -r1.35 |
55 |
--- udev-9999.ebuild 15 Apr 2011 21:55:18 -0000 1.34 |
56 |
+++ udev-9999.ebuild 30 Apr 2011 12:29:14 -0000 1.35 |
57 |
@@ -1,6 +1,6 @@ |
58 |
# Copyright 1999-2011 Gentoo Foundation |
59 |
# Distributed under the terms of the GNU General Public License v2 |
60 |
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-9999.ebuild,v 1.34 2011/04/15 21:55:18 ulm Exp $ |
61 |
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-9999.ebuild,v 1.35 2011/04/30 12:29:14 zzam Exp $ |
62 |
|
63 |
EAPI="1" |
64 |
|
65 |
@@ -84,8 +84,6 @@ |
66 |
pkg_setup() { |
67 |
linux-info_pkg_setup |
68 |
|
69 |
- udev_libexec_dir="/$(get_libdir)/udev" |
70 |
- |
71 |
# udev requires signalfd introduced in kernel 2.6.25, |
72 |
# but a glibc compiled against >=linux-headers-2.6.27 uses the |
73 |
# new signalfd syscall introduced in kernel 2.6.27 without falling back |
74 |
@@ -129,10 +127,6 @@ |
75 |
fi |
76 |
} |
77 |
|
78 |
-sed_libexec_dir() { |
79 |
- sed -e "s#/lib/udev#${udev_libexec_dir}#" -i "$@" |
80 |
-} |
81 |
- |
82 |
src_unpack() { |
83 |
unpack ${A} |
84 |
if [[ ${PV} == "9999" ]] ; then |
85 |
@@ -174,21 +168,10 @@ |
86 |
fi |
87 |
fi |
88 |
|
89 |
- sed_libexec_dir \ |
90 |
- rules/rules.d/50-udev-default.rules \ |
91 |
- rules/rules.d/78-sound-card.rules \ |
92 |
- extras/rule_generator/write_*_rules \ |
93 |
- || die "sed failed" |
94 |
- |
95 |
if [[ ${PV} == 9999 ]]; then |
96 |
gtkdocize --copy || die "gtkdocize failed" |
97 |
+ eautoreconf |
98 |
fi |
99 |
- eautoreconf |
100 |
- |
101 |
- cd "${WORKDIR}/${scriptname}" |
102 |
- sed_libexec_dir \ |
103 |
- helpers/* \ |
104 |
- rc/*/* |
105 |
} |
106 |
|
107 |
src_compile() { |
108 |
@@ -200,12 +183,13 @@ |
109 |
--sbindir=/sbin \ |
110 |
--libdir=/usr/$(get_libdir) \ |
111 |
--with-rootlibdir=/$(get_libdir) \ |
112 |
- --libexecdir="${udev_libexec_dir}" \ |
113 |
+ --libexecdir=/lib/udev \ |
114 |
--enable-logging \ |
115 |
--enable-static \ |
116 |
$(use_with selinux) \ |
117 |
$(use_enable extras) \ |
118 |
- --disable-introspection |
119 |
+ --disable-introspection \ |
120 |
+ --without-systemdsystemunitdir |
121 |
# we don't have gobject-introspection in portage tree |
122 |
|
123 |
emake || die "compiling udev failed" |
124 |
@@ -220,13 +204,13 @@ |
125 |
into / |
126 |
emake DESTDIR="${D}" install || die "make install failed" |
127 |
|
128 |
- exeinto "${udev_libexec_dir}" |
129 |
- keepdir "${udev_libexec_dir}"/state |
130 |
- keepdir "${udev_libexec_dir}"/devices |
131 |
+ exeinto /lib/udev |
132 |
+ keepdir /lib/udev/state |
133 |
+ keepdir /lib/udev/devices |
134 |
|
135 |
# create symlinks for these utilities to /sbin |
136 |
# where multipath-tools expect them to be (Bug #168588) |
137 |
- dosym "..${udev_libexec_dir}/scsi_id" /sbin/scsi_id |
138 |
+ dosym "../lib/udev/scsi_id" /sbin/scsi_id |
139 |
|
140 |
# Add gentoo stuff to udev.conf |
141 |
echo "# If you need to change mount-options, do it in /etc/fstab" \ |
142 |
@@ -237,7 +221,7 @@ |
143 |
|
144 |
# Now installing rules |
145 |
cd "${S}"/rules |
146 |
- insinto "${udev_libexec_dir}"/rules.d/ |
147 |
+ insinto /lib/udev/rules.d/ |
148 |
|
149 |
# support older kernels |
150 |
doins misc/30-kernel-compat.rules |
151 |
|
152 |
|
153 |
|
154 |
1.1 sys-fs/udev/udev-168.ebuild |
155 |
|
156 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-168.ebuild?rev=1.1&view=markup |
157 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-168.ebuild?rev=1.1&content-type=text/plain |
158 |
|
159 |
Index: udev-168.ebuild |
160 |
=================================================================== |
161 |
# Copyright 1999-2011 Gentoo Foundation |
162 |
# Distributed under the terms of the GNU General Public License v2 |
163 |
# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-168.ebuild,v 1.1 2011/04/30 12:29:14 zzam Exp $ |
164 |
|
165 |
EAPI="1" |
166 |
|
167 |
inherit eutils flag-o-matic multilib toolchain-funcs linux-info autotools |
168 |
|
169 |
#PATCHSET=${P}-gentoo-patchset-v1 |
170 |
scriptversion=164-v2 |
171 |
scriptname=${PN}-gentoo-scripts-${scriptversion} |
172 |
|
173 |
if [[ ${PV} == "9999" ]]; then |
174 |
SRC_URI="mirror://gentoo/${scriptname}.tar.bz2" |
175 |
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/hotplug/udev.git" |
176 |
EGIT_BRANCH="master" |
177 |
inherit git autotools |
178 |
else |
179 |
# please update testsys-tarball whenever udev-xxx/test/sys/ is changed |
180 |
SRC_URI="mirror://kernel/linux/utils/kernel/hotplug/${P}.tar.bz2 |
181 |
test? ( mirror://gentoo/${PN}-151-testsys.tar.bz2 ) |
182 |
mirror://gentoo/${scriptname}.tar.bz2" |
183 |
[[ -n "${PATCHSET}" ]] && SRC_URI="${SRC_URI} mirror://gentoo/${PATCHSET}.tar.bz2" |
184 |
fi |
185 |
DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)" |
186 |
HOMEPAGE="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" |
187 |
|
188 |
LICENSE="GPL-2" |
189 |
SLOT="0" |
190 |
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" |
191 |
IUSE="selinux extras test" |
192 |
|
193 |
COMMON_DEPEND="selinux? ( sys-libs/libselinux ) |
194 |
extras? ( |
195 |
sys-apps/acl |
196 |
>=sys-apps/usbutils-0.82 |
197 |
virtual/libusb:0 |
198 |
sys-apps/pciutils |
199 |
dev-libs/glib:2 |
200 |
) |
201 |
>=sys-apps/util-linux-2.16 |
202 |
>=sys-libs/glibc-2.9" |
203 |
|
204 |
DEPEND="${COMMON_DEPEND} |
205 |
extras? ( |
206 |
dev-util/gperf |
207 |
dev-util/pkgconfig |
208 |
) |
209 |
virtual/os-headers |
210 |
!<sys-kernel/linux-headers-2.6.29 |
211 |
test? ( app-text/tree )" |
212 |
|
213 |
RDEPEND="${COMMON_DEPEND} |
214 |
!sys-apps/coldplug |
215 |
!<sys-fs/lvm2-2.02.45 |
216 |
!sys-fs/device-mapper |
217 |
>=sys-apps/baselayout-1.12.5" |
218 |
|
219 |
if [[ ${PV} == "9999" ]]; then |
220 |
# for documentation processing with xsltproc |
221 |
DEPEND="${DEPEND} |
222 |
app-text/docbook-xsl-stylesheets |
223 |
app-text/docbook-xml-dtd |
224 |
dev-util/gtk-doc" |
225 |
fi |
226 |
|
227 |
# required kernel options |
228 |
CONFIG_CHECK="~INOTIFY_USER ~SIGNALFD ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 |
229 |
~!IDE" |
230 |
|
231 |
udev_check_KV() { |
232 |
local ok=0 |
233 |
if [[ ${KV_MAJOR} == 2 && ${KV_MINOR} == 6 ]] |
234 |
then |
235 |
if kernel_is -ge 2 6 ${KV_PATCH_reliable} ; then |
236 |
ok=2 |
237 |
elif kernel_is -ge 2 6 ${KV_PATCH_min} ; then |
238 |
ok=1 |
239 |
fi |
240 |
fi |
241 |
return $ok |
242 |
} |
243 |
|
244 |
pkg_setup() { |
245 |
linux-info_pkg_setup |
246 |
|
247 |
# udev requires signalfd introduced in kernel 2.6.25, |
248 |
# but a glibc compiled against >=linux-headers-2.6.27 uses the |
249 |
# new signalfd syscall introduced in kernel 2.6.27 without falling back |
250 |
# to the old one. So we just depend on 2.6.27 here, see Bug #281312. |
251 |
KV_PATCH_min=25 |
252 |
KV_PATCH_reliable=31 |
253 |
KV_min=2.6.${KV_PATCH_min} |
254 |
KV_reliable=2.6.${KV_PATCH_reliable} |
255 |
|
256 |
# always print kernel version requirements |
257 |
ewarn |
258 |
ewarn "${P} does not support Linux kernel before version ${KV_min}!" |
259 |
if [[ ${KV_PATCH_min} != ${KV_PATCH_reliable} ]]; then |
260 |
ewarn "For a reliable udev, use at least kernel ${KV_reliable}" |
261 |
fi |
262 |
|
263 |
echo |
264 |
# We don't care about the secondary revision of the kernel. |
265 |
# 2.6.30.4 -> 2.6.30 is all we check |
266 |
udev_check_KV |
267 |
case "$?" in |
268 |
2) einfo "Your kernel version (${KV_FULL}) is new enough to run ${P} reliably." ;; |
269 |
1) ewarn "Your kernel version (${KV_FULL}) is new enough to run ${P}," |
270 |
ewarn "but it may be unreliable in some cases." |
271 |
ebeep ;; |
272 |
0) eerror "Your kernel version (${KV_FULL}) is too old to run ${P}" |
273 |
ebeep ;; |
274 |
esac |
275 |
echo |
276 |
|
277 |
KV_FULL_SRC=${KV_FULL} |
278 |
get_running_version |
279 |
udev_check_KV |
280 |
if [[ "$?" = "0" ]]; then |
281 |
eerror |
282 |
eerror "udev cannot be restarted after emerging," |
283 |
eerror "as your running kernel version (${KV_FULL}) is too old." |
284 |
eerror "You really need to use a newer kernel after a reboot!" |
285 |
NO_RESTART=1 |
286 |
ebeep |
287 |
fi |
288 |
} |
289 |
|
290 |
src_unpack() { |
291 |
unpack ${A} |
292 |
if [[ ${PV} == "9999" ]] ; then |
293 |
git_src_unpack |
294 |
else |
295 |
if use test; then |
296 |
mv "${WORKDIR}"/test/sys "${S}"/test/ |
297 |
fi |
298 |
fi |
299 |
|
300 |
#cd "${WORKDIR}/${scriptname}" |
301 |
|
302 |
cd "${S}" |
303 |
|
304 |
# patches go here... |
305 |
|
306 |
# backport some patches |
307 |
if [[ -n "${PATCHSET}" ]]; then |
308 |
EPATCH_SOURCE="${WORKDIR}/${PATCHSET}" EPATCH_SUFFIX="patch" \ |
309 |
EPATCH_FORCE="yes" epatch |
310 |
fi |
311 |
|
312 |
# change rules back to group uucp instead of dialout for now |
313 |
sed -e 's/GROUP="dialout"/GROUP="uucp"/' \ |
314 |
-i rules/{rules.d,arch}/*.rules \ |
315 |
|| die "failed to change group dialout to uucp" |
316 |
|
317 |
if [[ ${PV} != 9999 ]]; then |
318 |
# Make sure there is no sudden changes to upstream rules file |
319 |
# (more for my own needs than anything else ...) |
320 |
MD5=$(md5sum < "${S}/rules/rules.d/50-udev-default.rules") |
321 |
MD5=${MD5/ -/} |
322 |
if [[ ${MD5} != a9954d57e97aa0ad2e0ed53899d9559a ]] |
323 |
then |
324 |
echo |
325 |
eerror "50-udev-default.rules has been updated, please validate!" |
326 |
eerror "md5sum: ${MD5}" |
327 |
die "50-udev-default.rules has been updated, please validate!" |
328 |
fi |
329 |
fi |
330 |
|
331 |
if [[ ${PV} == 9999 ]]; then |
332 |
gtkdocize --copy || die "gtkdocize failed" |
333 |
eautoreconf |
334 |
fi |
335 |
} |
336 |
|
337 |
src_compile() { |
338 |
filter-flags -fprefetch-loop-arrays |
339 |
|
340 |
econf \ |
341 |
--prefix=/usr \ |
342 |
--sysconfdir=/etc \ |
343 |
--sbindir=/sbin \ |
344 |
--libdir=/usr/$(get_libdir) \ |
345 |
--with-rootlibdir=/$(get_libdir) \ |
346 |
--libexecdir=/lib/udev \ |
347 |
--enable-logging \ |
348 |
--enable-static \ |
349 |
$(use_with selinux) \ |
350 |
$(use_enable extras) \ |
351 |
--disable-introspection \ |
352 |
--without-systemdsystemunitdir |
353 |
# we don't have gobject-introspection in portage tree |
354 |
|
355 |
emake || die "compiling udev failed" |
356 |
} |
357 |
|
358 |
src_install() { |
359 |
emake -C "${WORKDIR}/${scriptname}" \ |
360 |
DESTDIR="${D}" LIBDIR="$(get_libdir)" \ |
361 |
KV_min="${KV_min}" KV_reliable="${KV_reliable}" \ |
362 |
install || die "make install failed" |
363 |
|
364 |
into / |
365 |
emake DESTDIR="${D}" install || die "make install failed" |
366 |
|
367 |
exeinto /lib/udev |
368 |
keepdir /lib/udev/state |
369 |
keepdir /lib/udev/devices |
370 |
|
371 |
# create symlinks for these utilities to /sbin |
372 |
# where multipath-tools expect them to be (Bug #168588) |
373 |
dosym "../lib/udev/scsi_id" /sbin/scsi_id |
374 |
|
375 |
# Add gentoo stuff to udev.conf |
376 |
echo "# If you need to change mount-options, do it in /etc/fstab" \ |
377 |
>> "${D}"/etc/udev/udev.conf |
378 |
|
379 |
# let the dir exist at least |
380 |
keepdir /etc/udev/rules.d |
381 |
|
382 |
# Now installing rules |
383 |
cd "${S}"/rules |
384 |
insinto /lib/udev/rules.d/ |
385 |
|
386 |
# support older kernels |
387 |
doins misc/30-kernel-compat.rules |
388 |
|
389 |
# Adding arch specific rules |
390 |
if [[ -f arch/40-${ARCH}.rules ]] |
391 |
then |
392 |
doins "arch/40-${ARCH}.rules" |
393 |
fi |
394 |
cd "${S}" |
395 |
|
396 |
insinto /etc/modprobe.d |
397 |
newins "${FILESDIR}"/blacklist-146 blacklist.conf |
398 |
newins "${FILESDIR}"/pnp-aliases pnp-aliases.conf |
399 |
|
400 |
# documentation |
401 |
dodoc ChangeLog README TODO || die "failed installing docs" |
402 |
|
403 |
# keep doc in just one directory, Bug #281137 |
404 |
rm -rf "${D}/usr/share/doc/${PN}" |
405 |
if use extras; then |
406 |
dodoc extras/keymap/README.keymap.txt || die "failed installing docs" |
407 |
fi |
408 |
} |
409 |
|
410 |
pkg_preinst() { |
411 |
# moving old files to support newer modprobe, 12 May 2009 |
412 |
local f dir=${ROOT}/etc/modprobe.d/ |
413 |
for f in pnp-aliases blacklist; do |
414 |
if [[ -f $dir/$f && ! -f $dir/$f.conf ]] |
415 |
then |
416 |
elog "Moving $dir/$f to $f.conf" |
417 |
mv -f "$dir/$f" "$dir/$f.conf" |
418 |
fi |
419 |
done |
420 |
|
421 |
if [[ -d ${ROOT}/lib/udev-state ]] |
422 |
then |
423 |
mv -f "${ROOT}"/lib/udev-state/* "${D}"/lib/udev/state/ |
424 |
rm -r "${ROOT}"/lib/udev-state |
425 |
fi |
426 |
|
427 |
if [[ -f ${ROOT}/etc/udev/udev.config && |
428 |
! -f ${ROOT}/etc/udev/udev.rules ]] |
429 |
then |
430 |
mv -f "${ROOT}"/etc/udev/udev.config "${ROOT}"/etc/udev/udev.rules |
431 |
fi |
432 |
|
433 |
# delete the old udev.hotplug symlink if it is present |
434 |
if [[ -h ${ROOT}/etc/hotplug.d/default/udev.hotplug ]] |
435 |
then |
436 |
rm -f "${ROOT}"/etc/hotplug.d/default/udev.hotplug |
437 |
fi |
438 |
|
439 |
# delete the old wait_for_sysfs.hotplug symlink if it is present |
440 |
if [[ -h ${ROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug ]] |
441 |
then |
442 |
rm -f "${ROOT}"/etc/hotplug.d/default/05-wait_for_sysfs.hotplug |
443 |
fi |
444 |
|
445 |
# delete the old wait_for_sysfs.hotplug symlink if it is present |
446 |
if [[ -h ${ROOT}/etc/hotplug.d/default/10-udev.hotplug ]] |
447 |
then |
448 |
rm -f "${ROOT}"/etc/hotplug.d/default/10-udev.hotplug |
449 |
fi |
450 |
|
451 |
has_version "=${CATEGORY}/${PN}-103-r3" |
452 |
previous_equal_to_103_r3=$? |
453 |
|
454 |
has_version "<${CATEGORY}/${PN}-104-r5" |
455 |
previous_less_than_104_r5=$? |
456 |
|
457 |
has_version "<${CATEGORY}/${PN}-106-r5" |
458 |
previous_less_than_106_r5=$? |
459 |
|
460 |
has_version "<${CATEGORY}/${PN}-113" |
461 |
previous_less_than_113=$? |
462 |
} |
463 |
|
464 |
# 19 Nov 2008 |
465 |
fix_old_persistent_net_rules() { |
466 |
local rules=${ROOT}/etc/udev/rules.d/70-persistent-net.rules |
467 |
[[ -f ${rules} ]] || return |
468 |
|
469 |
elog |
470 |
elog "Updating persistent-net rules file" |
471 |
|
472 |
# Change ATTRS to ATTR matches, Bug #246927 |
473 |
sed -i -e 's/ATTRS{/ATTR{/g' "${rules}" |
474 |
|
475 |
# Add KERNEL matches if missing, Bug #246849 |
476 |
sed -ri \ |
477 |
-e '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ |
478 |
"${rules}" |
479 |
} |
480 |
|
481 |
# See Bug #129204 for a discussion about restarting udevd |
482 |
restart_udevd() { |
483 |
if [[ ${NO_RESTART} = "1" ]]; then |
484 |
ewarn "Not restarting udevd, as your kernel is too old!" |
485 |
return |
486 |
fi |
487 |
|
488 |
# need to merge to our system |
489 |
[[ ${ROOT} = / ]] || return |
490 |
|
491 |
# check if root of init-process is identical to ours (not in chroot) |
492 |
[[ -r /proc/1/root && /proc/1/root/ -ef /proc/self/root/ ]] || return |
493 |
|
494 |
# abort if there is no udevd running |
495 |
[[ -n $(pidof udevd) ]] || return |
496 |
|
497 |
# abort if no /dev/.udev exists |
498 |
[[ -e /dev/.udev ]] || return |
499 |
|
500 |
elog |
501 |
elog "restarting udevd now." |
502 |
|
503 |
killall -15 udevd &>/dev/null |
504 |
sleep 1 |
505 |
killall -9 udevd &>/dev/null |
506 |
|
507 |
/sbin/udevd --daemon |
508 |
sleep 3 |
509 |
if [[ ! -n $(pidof udevd) ]]; then |
510 |
eerror "FATAL: udev died, please check your kernel is" |
511 |
eerror "new enough and configured correctly for ${P}." |
512 |
eerror |
513 |
eerror "Please have a look at this before rebooting." |
514 |
eerror "If in doubt, please downgrade udev back to your old version" |
515 |
ebeep |
516 |
fi |
517 |
} |
518 |
|
519 |
postinst_init_scripts() { |
520 |
# FIXME: we may need some code that detects if this is a system bootstrap |
521 |
# and auto-enables udev then |
522 |
# |
523 |
# FIXME: inconsistent handling of init-scripts here |
524 |
# * udev is added to sysinit in openrc-ebuild |
525 |
# * we add udev-postmount to default in here |
526 |
# |
527 |
|
528 |
# migration to >=openrc-0.4 |
529 |
if [[ -e "${ROOT}"/etc/runlevels/sysinit && ! -e "${ROOT}"/etc/runlevels/sysinit/udev ]] |
530 |
then |
531 |
ewarn |
532 |
ewarn "You need to add the udev init script to the runlevel sysinit," |
533 |
ewarn "else your system will not be able to boot" |
534 |
ewarn "after updating to >=openrc-0.4.0" |
535 |
ewarn "Run this to enable udev for >=openrc-0.4.0:" |
536 |
ewarn "\trc-update add udev sysinit" |
537 |
ewarn |
538 |
fi |
539 |
|
540 |
# add udev-postmount to default runlevel instead of that ugly injecting |
541 |
# like a hotplug event, 2009/10/15 |
542 |
|
543 |
# already enabled? |
544 |
[[ -e "${ROOT}"/etc/runlevels/default/udev-postmount ]] && return |
545 |
|
546 |
local enable_postmount=0 |
547 |
[[ -e "${ROOT}"/etc/runlevels/sysinit/udev ]] && enable_postmount=1 |
548 |
[[ "${ROOT}" = "/" && -d /dev/.udev/ ]] && enable_postmount=1 |
549 |
|
550 |
if [[ ${enable_postmount} = 1 ]] |
551 |
then |
552 |
local initd=udev-postmount |
553 |
|
554 |
if [[ -e ${ROOT}/etc/init.d/${initd} ]] && \ |
555 |
[[ ! -e ${ROOT}/etc/runlevels/default/${initd} ]] |
556 |
then |
557 |
ln -snf /etc/init.d/${initd} "${ROOT}"/etc/runlevels/default/${initd} |
558 |
elog "Auto-adding '${initd}' service to your default runlevel" |
559 |
fi |
560 |
else |
561 |
elog "You should add the udev-postmount service to default runlevel." |
562 |
elog "Run this to add it:" |
563 |
elog "\trc-update add udev-postmount default" |
564 |
fi |
565 |
} |
566 |
|
567 |
pkg_postinst() { |
568 |
fix_old_persistent_net_rules |
569 |
|
570 |
# "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766 |
571 |
# So try to remove it here (will only work if empty). |
572 |
rmdir "${ROOT}"/dev/loop 2>/dev/null |
573 |
if [[ -d "${ROOT}"/dev/loop ]]; then |
574 |
ewarn "Please make sure your remove /dev/loop," |
575 |
ewarn "else losetup may be confused when looking for unused devices." |
576 |
fi |
577 |
|
578 |
restart_udevd |
579 |
|
580 |
postinst_init_scripts |
581 |
|
582 |
# people want reminders, I'll give them reminders. Odds are they will |
583 |
# just ignore them anyway... |
584 |
|
585 |
# delete 40-scsi-hotplug.rules, it is integrated in 50-udev.rules, 19 Jan 2007 |
586 |
if [[ $previous_equal_to_103_r3 = 0 ]] && |
587 |
[[ -e ${ROOT}/etc/udev/rules.d/40-scsi-hotplug.rules ]] |
588 |
then |
589 |
ewarn "Deleting stray 40-scsi-hotplug.rules" |
590 |
ewarn "installed by sys-fs/udev-103-r3" |
591 |
rm -f "${ROOT}"/etc/udev/rules.d/40-scsi-hotplug.rules |
592 |
fi |
593 |
|
594 |
# Removing some device-nodes we thought we need some time ago, 25 Jan 2007 |
595 |
if [[ -d ${ROOT}/lib/udev/devices ]] |
596 |
then |
597 |
rm -f "${ROOT}"/lib/udev/devices/{null,zero,console,urandom} |
598 |
fi |
599 |
|
600 |
# Removing some old file, 29 Jan 2007 |
601 |
if [[ $previous_less_than_104_r5 = 0 ]] |
602 |
then |
603 |
rm -f "${ROOT}"/etc/dev.d/net/hotplug.dev |
604 |
rmdir --ignore-fail-on-non-empty "${ROOT}"/etc/dev.d/net 2>/dev/null |
605 |
fi |
606 |
|
607 |
# 19 Mar 2007 |
608 |
if [[ $previous_less_than_106_r5 = 0 ]] && |
609 |
[[ -e ${ROOT}/etc/udev/rules.d/95-net.rules ]] |
610 |
then |
611 |
rm -f "${ROOT}"/etc/udev/rules.d/95-net.rules |
612 |
fi |
613 |
|
614 |
# Try to remove /etc/dev.d as that is obsolete, 23 Apr 2007 |
615 |
if [[ -d ${ROOT}/etc/dev.d ]] |
616 |
then |
617 |
rmdir --ignore-fail-on-non-empty "${ROOT}"/etc/dev.d/default "${ROOT}"/etc/dev.d 2>/dev/null |
618 |
if [[ -d ${ROOT}/etc/dev.d ]] |
619 |
then |
620 |
ewarn "You still have the directory /etc/dev.d on your system." |
621 |
ewarn "This is no longer used by udev and can be removed." |
622 |
fi |
623 |
fi |
624 |
|
625 |
# 64-device-mapper.rules now gets installed by sys-fs/device-mapper |
626 |
# remove it if user don't has sys-fs/device-mapper installed, 27 Jun 2007 |
627 |
if [[ $previous_less_than_113 = 0 ]] && |
628 |
[[ -f ${ROOT}/etc/udev/rules.d/64-device-mapper.rules ]] && |
629 |
! has_version sys-fs/device-mapper |
630 |
then |
631 |
rm -f "${ROOT}"/etc/udev/rules.d/64-device-mapper.rules |
632 |
einfo "Removed unneeded file 64-device-mapper.rules" |
633 |
fi |
634 |
|
635 |
# requested in bug #275974, added 2009/09/05 |
636 |
ewarn |
637 |
ewarn "If after the udev update removable devices or CD/DVD drives" |
638 |
ewarn "stop working, try re-emerging HAL before filling a bug report" |
639 |
|
640 |
# requested in Bug #225033: |
641 |
elog |
642 |
elog "persistent-net does assigning fixed names to network devices." |
643 |
elog "If you have problems with the persistent-net rules," |
644 |
elog "just delete the rules file" |
645 |
elog "\trm ${ROOT}etc/udev/rules.d/70-persistent-net.rules" |
646 |
elog "and then reboot." |
647 |
elog |
648 |
elog "This may however number your devices in a different way than they are now." |
649 |
|
650 |
ewarn |
651 |
ewarn "If you build an initramfs including udev, then please" |
652 |
ewarn "make sure that the /sbin/udevadm binary gets included," |
653 |
ewarn "and your scripts changed to use it,as it replaces the" |
654 |
ewarn "old helper apps udevinfo, udevtrigger, ..." |
655 |
|
656 |
ewarn |
657 |
ewarn "mount options for directory /dev are no longer" |
658 |
ewarn "set in /etc/udev/udev.conf, but in /etc/fstab" |
659 |
ewarn "as for other directories." |
660 |
|
661 |
ewarn |
662 |
ewarn "If you use /dev/md/*, /dev/loop/* or /dev/rd/*," |
663 |
ewarn "then please migrate over to using the device names" |
664 |
ewarn "/dev/md*, /dev/loop* and /dev/ram*." |
665 |
ewarn "The devfs-compat rules have been removed." |
666 |
ewarn "For reference see Bug #269359." |
667 |
|
668 |
ewarn |
669 |
ewarn "Rules for /dev/hd* devices have been removed" |
670 |
ewarn "Please migrate to libata." |
671 |
|
672 |
elog |
673 |
elog "For more information on udev on Gentoo, writing udev rules, and" |
674 |
elog " fixing known issues visit:" |
675 |
elog " http://www.gentoo.org/doc/en/udev-guide.xml" |
676 |
} |