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