summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Schwarzott <zzam@gentoo.org>2007-08-05 16:05:20 +0000
committerMatthias Schwarzott <zzam@gentoo.org>2007-08-05 16:05:20 +0000
commit3cb312e020353494e2c8ad2976b22e65a982f025 (patch)
tree7e7bf18d831709b6d25e21309c74e045bf0a0fd8 /sys-fs/udev
parentwhitespace (diff)
downloadhistorical-3cb312e020353494e2c8ad2976b22e65a982f025.tar.gz
historical-3cb312e020353494e2c8ad2976b22e65a982f025.tar.bz2
historical-3cb312e020353494e2c8ad2976b22e65a982f025.zip
Version bumped. This contains updated rules and a slightly improved modprobe-wrapper. Now one can match on SYMLINK. persistent-net is improved to not match on dynamic mac addresses, supports s390 now.
Package-Manager: portage-2.1.3.3
Diffstat (limited to 'sys-fs/udev')
-rw-r--r--sys-fs/udev/ChangeLog10
-rw-r--r--sys-fs/udev/Manifest26
-rw-r--r--sys-fs/udev/files/digest-udev-1143
-rwxr-xr-xsys-fs/udev/files/modprobe-114.sh93
-rw-r--r--sys-fs/udev/udev-114.ebuild302
5 files changed, 426 insertions, 8 deletions
diff --git a/sys-fs/udev/ChangeLog b/sys-fs/udev/ChangeLog
index cfec9fb10051..c8ceff6d65e0 100644
--- a/sys-fs/udev/ChangeLog
+++ b/sys-fs/udev/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-fs/udev
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.323 2007/07/29 14:04:02 josejx Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.324 2007/08/05 16:05:19 zzam Exp $
+
+*udev-114 (05 Aug 2007)
+
+ 05 Aug 2007; Matthias Schwarzott <zzam@gentoo.org> +files/modprobe-114.sh,
+ +udev-114.ebuild:
+ Version bumped. This contains updated rules and a slightly improved
+ modprobe-wrapper. Now one can match on SYMLINK. persistent-net is improved
+ to not match on dynamic mac addresses, supports s390 now.
29 Jul 2007; Joseph Jezak <josejx@gentoo.org> udev-104-r13.ebuild:
Marked ppc/ppc64 stable for bug #186508.
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index dc5a8979a6ed..2cd6953c9f9b 100644
--- a/sys-fs/udev/Manifest
+++ b/sys-fs/udev/Manifest
@@ -37,6 +37,10 @@ AUX modprobe-113-r2.sh 2039 RMD160 a23853d00b0acf23fae51e88cd57621df1c1d133 SHA1
MD5 a3dd3c47ace9465c5f2c867321deff07 files/modprobe-113-r2.sh 2039
RMD160 a23853d00b0acf23fae51e88cd57621df1c1d133 files/modprobe-113-r2.sh 2039
SHA256 a79547c236627536d8d5b5daea65b30c2cf293018b04401dfa60e661deedfbc5 files/modprobe-113-r2.sh 2039
+AUX modprobe-114.sh 2106 RMD160 7b40f1d0c7e41aa51100c99d1b4accafe9309f00 SHA1 d8d3a6b047a416bf4a80a9dde6eddbcc1e7abb1b SHA256 acfff1be773352f71b7e68ec12aafa113150f76ecb1daa03088842d449df9d6b
+MD5 32d4717332e9dceb7001fbe1cb1d727c files/modprobe-114.sh 2106
+RMD160 7b40f1d0c7e41aa51100c99d1b4accafe9309f00 files/modprobe-114.sh 2106
+SHA256 acfff1be773352f71b7e68ec12aafa113150f76ecb1daa03088842d449df9d6b files/modprobe-114.sh 2106
AUX move_tmp_persistent_rules-112-r1.sh 646 RMD160 462b7836fc1492491e8e67de9301acb05cef847e SHA1 32b1cf96cfa55193c7b7e82640296fc11e7e8031 SHA256 d5dcbb9a13223633e9c4ac8b4eb26ddb38b55af7ea0eec9e512eb47475a07400
MD5 7bf11e11519117f743483c73e0767750 files/move_tmp_persistent_rules-112-r1.sh 646
RMD160 462b7836fc1492491e8e67de9301acb05cef847e files/move_tmp_persistent_rules-112-r1.sh 646
@@ -153,6 +157,7 @@ DIST udev-104.tar.bz2 187574 RMD160 269aeb9a0b2043d18c274fde749d2e0d30398b73 SHA
DIST udev-111.tar.bz2 190020 RMD160 bb3f1c2b1e24092b42507b663eceffe17f8a4a06 SHA1 910e8f31835528ec45cd59ba4a00f88c7f93670e SHA256 ec47cc46b15838321c31589d7bdbdcf553c0ea4f406edc6f239cb20a3732c233
DIST udev-112.tar.bz2 194203 RMD160 1c50bcefc04ea08eb4df5eb0b2a12de2d8ff0228 SHA1 f55270798370eb7f432c8ec0c83627ae57cc6274 SHA256 823fabbef5add28a454f3ab67cd3bcf06a41f45b976590f2fe7ea84d22b5186e
DIST udev-113.tar.bz2 195555 RMD160 02175d9714027716b7a97f49e61625979fd0c43c SHA1 55bea7ec61026b2ecc9d2013da0ef4eed76de948 SHA256 38da4049b76b58ddbc6ead6fa84cb241d94cc38ad4ee7aefd99ae2c57a73a2d4
+DIST udev-114.tar.bz2 198912 RMD160 7f4e4af4a14e62a5260a484f54e2298643081301 SHA1 9e9fed1d6b061a53c6c523798fae8baef893a521 SHA256 d844924f2aa36fffaec1d1a30c0cd1e304224d751c619dce226cce632ad77017
EBUILD udev-104-r12.ebuild 9539 RMD160 3ea7426633221cc11168e6f67872318e55b6295e SHA1 6eace4303ec38f8d7d0887925dcaab5b1161fa96 SHA256 0cf0d7a65976ebaaa287ac3eb39b32ff91f553de5af91ad01dc5a170c97bfbe5
MD5 aa5803220fb1e030e862367e978100bd udev-104-r12.ebuild 9539
RMD160 3ea7426633221cc11168e6f67872318e55b6295e udev-104-r12.ebuild 9539
@@ -193,10 +198,14 @@ EBUILD udev-113.ebuild 8996 RMD160 fa4abc2291b5944bf318a1c3b56e882a4b41ba63 SHA1
MD5 5e44719b30fc7810407546fd9c6cddb3 udev-113.ebuild 8996
RMD160 fa4abc2291b5944bf318a1c3b56e882a4b41ba63 udev-113.ebuild 8996
SHA256 7e50c34420cf8740805d58e12e00caba5ae7aa59e3faa84f356e867f0a28c384 udev-113.ebuild 8996
-MISC ChangeLog 64993 RMD160 e23f4294dbc525f755c255e55bf4bedc449c5f5b SHA1 ad837a0c2c76d5e6d5ab6f5259b6a8d657841c3b SHA256 20b8e29feebccac99e58ba2c1c5a260728087c0ef49e9a4aa6a89e0f62d0b1fc
-MD5 6f4406845d5ffe4fd2e738287d294418 ChangeLog 64993
-RMD160 e23f4294dbc525f755c255e55bf4bedc449c5f5b ChangeLog 64993
-SHA256 20b8e29feebccac99e58ba2c1c5a260728087c0ef49e9a4aa6a89e0f62d0b1fc ChangeLog 64993
+EBUILD udev-114.ebuild 8788 RMD160 f27ef6e63027e823ba87755bdc322e757998f473 SHA1 6e810ea63dba0becd28e97b550de425b83e71178 SHA256 1b53f7cfb65fdc521a42ae65641d087556e336cefe2c1ab9f0e21a1806ded1e1
+MD5 7efe679353de0c8bfa20bc056964c637 udev-114.ebuild 8788
+RMD160 f27ef6e63027e823ba87755bdc322e757998f473 udev-114.ebuild 8788
+SHA256 1b53f7cfb65fdc521a42ae65641d087556e336cefe2c1ab9f0e21a1806ded1e1 udev-114.ebuild 8788
+MISC ChangeLog 65321 RMD160 dcff55aeb96662bd106dcc7dac84280628c2a01a SHA1 ff08a90f6e075d46347069cf658a67c1675c81bd SHA256 60af7eeef426f58a63c2699629408e6da2fd7188306da6ef6418c8dcd8cca9db
+MD5 613d703bf0437f596d3d3bfd9948bb7b ChangeLog 65321
+RMD160 dcff55aeb96662bd106dcc7dac84280628c2a01a ChangeLog 65321
+SHA256 60af7eeef426f58a63c2699629408e6da2fd7188306da6ef6418c8dcd8cca9db ChangeLog 65321
MISC metadata.xml 447 RMD160 d1ba09bd6a434b25c718673de9258cc544e090be SHA1 70c43d2863c09958849bfce8c5bb97d406a0662b SHA256 a9881de1424ac71191111bd30c7c1253589673b0cdce13c352204f1499e9d884
MD5 f74bee0505505c00e76da6313db29e49 metadata.xml 447
RMD160 d1ba09bd6a434b25c718673de9258cc544e090be metadata.xml 447
@@ -231,10 +240,13 @@ SHA256 64c3a37d941e4b18999d5848050520182dc7d2096da5fd08b8d3c40928445154 files/di
MD5 06ae5eaf2ef4822f6277a5c4e2361438 files/digest-udev-113-r2 229
RMD160 44acd6ea09ff5ec7f54376dd33c1db09e18a1fb1 files/digest-udev-113-r2 229
SHA256 64c3a37d941e4b18999d5848050520182dc7d2096da5fd08b8d3c40928445154 files/digest-udev-113-r2 229
+MD5 e8bb3b1276a248cbe4bfebec59d41584 files/digest-udev-114 229
+RMD160 f4cdbb1e119921ebb092fa96743ea5baafcd77e3 files/digest-udev-114 229
+SHA256 87ae0d9625cd5aa79055a1b31b05460582cf8fb012cee8a070e3adbe9e8ae717 files/digest-udev-114 229
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.5 (GNU/Linux)
-iD8DBQFGrJ5acsIHjyDViGQRAvrGAKDlXHHqTuuwC4g0G+WRT2aYWVYLXwCg1gh3
-SN0QU+MloKASMVdINeBTFls=
-=qiwB
+iD8DBQFGtfVIt2vP6XvVdOcRAiVHAKCVwA0+2hs6yb6/ZWpsYG+W7pjrbwCgnn7r
+B5TuGIDO1zhEXNcMF3VB/J4=
+=99SW
-----END PGP SIGNATURE-----
diff --git a/sys-fs/udev/files/digest-udev-114 b/sys-fs/udev/files/digest-udev-114
new file mode 100644
index 000000000000..54e2cbf1a8e7
--- /dev/null
+++ b/sys-fs/udev/files/digest-udev-114
@@ -0,0 +1,3 @@
+MD5 c597b3544e650560479edd13b5a5dc8a udev-114.tar.bz2 198912
+RMD160 7f4e4af4a14e62a5260a484f54e2298643081301 udev-114.tar.bz2 198912
+SHA256 d844924f2aa36fffaec1d1a30c0cd1e304224d751c619dce226cce632ad77017 udev-114.tar.bz2 198912
diff --git a/sys-fs/udev/files/modprobe-114.sh b/sys-fs/udev/files/modprobe-114.sh
new file mode 100755
index 000000000000..8e5d062dde56
--- /dev/null
+++ b/sys-fs/udev/files/modprobe-114.sh
@@ -0,0 +1,93 @@
+#!/bin/sh
+
+# Do not continue for non-modular kernel - Bug #168322
+[ ! -f /proc/modules ] && exit 0
+
+if [ -e /dev/.udev_populate ]; then
+ # Enable verbose while called from udev-addon-start
+ . /dev/.udev_populate
+
+ if [ -c "${CONSOLE}" ]; then
+ # redirect stdin/out/err
+ exec <${CONSOLE} >${CONSOLE} 2>/${CONSOLE}
+ fi
+fi
+
+# set default if not present in udev.conf
+implicitly_blacklist_modules_autoload="yes"
+MODPROBE=/sbin/modprobe
+
+. /etc/init.d/functions.sh
+[ -e /etc/udev/udev.conf ] && . /etc/udev/udev.conf
+
+
+# Create a lock file for the current module.
+lock_modprobe() {
+ [ -e /dev/.udev/ ] || return 0
+
+ MODPROBE_LOCK="/dev/.udev/.lock-modprobe-${MODNAME}"
+
+ retry=20
+ while ! mkdir "$MODPROBE_LOCK" 2> /dev/null; do
+ if [ $retry -eq 0 ]; then
+ ewarn "Could not lock modprobe ${MODNAME}!"
+ return 1
+ fi
+ sleep 1
+ retry=$(($retry - 1))
+ done
+ return 0
+}
+
+unlock_modprobe() {
+ [ "$MODPROBE_LOCK" ] || return 0
+ rmdir "$MODPROBE_LOCK" || true
+}
+
+cleanup_exit() {
+ unlock_modprobe
+ exit "$@"
+}
+
+# Get normalized names only with _
+MODLIST=$("${MODPROBE}" -q -i --show-depends "${@}" 2>/dev/null \
+ | sed -e "s#^insmod /lib.*/\(.*\)\.ko.*#\1#g" -e 's|-|_|g')
+
+# exit if you have no modules to load
+[ -z "${MODLIST}" ] && exit 0
+for m in ${MODLIST}; do
+ MODNAME=$m
+done
+
+
+lock_modprobe
+
+if [ -d /sys/module/"${MODNAME}" ]; then
+ # already loaded
+ cleanup_exit 0
+fi
+
+# build regex to match module name written with either - or _
+MOD_REGEX="$(echo "${MODNAME}"|sed -e 's#_#[-_]#g')"
+
+# check for blacklisting
+if [ -f /etc/modprobe.conf ]; then
+ if grep -q '^blacklist.*[[:space:]]'"${MOD_REGEX}"'\([[:space:]]\|$\)' /etc/modprobe.conf; then
+ # module blacklisted
+ cleanup_exit 0
+ fi
+fi
+
+if [ "$implicitly_blacklist_modules_autoload" = "yes" -a -f "${MODULES_AUTOLOAD_FILE}" ]; then
+ if grep -q "^${MOD_REGEX}"'\([[:space:]]\|$\)' "${MODULES_AUTOLOAD_FILE}"; then
+ # module implictly blacklisted
+ # as present in modules.autoload, Bug 184833
+ cleanup_exit 0
+ fi
+fi
+
+# now do real loading
+einfo " udev loading module ${MODNAME}"
+"${MODPROBE}" -q "${@}" >/dev/null 2>/dev/null
+unlock_modprobe
+
diff --git a/sys-fs/udev/udev-114.ebuild b/sys-fs/udev/udev-114.ebuild
new file mode 100644
index 000000000000..1ecc1633eef4
--- /dev/null
+++ b/sys-fs/udev/udev-114.ebuild
@@ -0,0 +1,302 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-114.ebuild,v 1.1 2007/08/05 16:05:19 zzam Exp $
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
+HOMEPAGE="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
+SRC_URI="mirror://kernel/linux/utils/kernel/hotplug/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="selinux"
+
+DEPEND="selinux? ( sys-libs/libselinux )"
+RDEPEND="!sys-apps/coldplug"
+RDEPEND="${DEPEND} ${RDEPEND}
+ >=sys-apps/baselayout-1.12.5"
+# We need the lib/rcscripts/addon support
+PROVIDE="virtual/dev-manager"
+
+pkg_setup() {
+ udev_helper_dir="/$(get_libdir)/udev"
+
+ myconf=
+ extras="extras/ata_id \
+ extras/cdrom_id \
+ extras/edd_id \
+ extras/firmware \
+ extras/floppy \
+ extras/path_id \
+ extras/scsi_id \
+ extras/usb_id \
+ extras/volume_id \
+ extras/rule_generator \
+ extras/root_link"
+
+ use selinux && myconf="${myconf} USE_SELINUX=true"
+}
+
+sed_helper_dir() {
+ sed -e "s#/lib/udev#${udev_helper_dir}#" -i "$@"
+}
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+
+ # patches go here...
+ EPATCH_OPTS="-p1" epatch ${FILESDIR}/${PN}-110-root-link-1.diff
+
+ # We already have that rule in 50-udev.rules
+ sed -i extras/cdrom_id/Makefile -e '/60-cdrom_id.rules/d'
+
+ # No need to clutter the logs ...
+ sed -ie '/^DEBUG/ c\DEBUG = false' Makefile
+ # Do not use optimization flags from the package
+ sed -ie 's|$(OPTIMIZATION)||g' Makefile
+
+ # Make sure there is no sudden changes to udev.rules.gentoo
+ # (more for my own needs than anything else ...)
+ MD5=`md5sum < "${S}/etc/udev/gentoo/50-udev.rules"`
+ MD5=${MD5/ -/}
+ if [ "${MD5}" != "3ee76822195ebc9c6f89228d29fcb019" ]
+ then
+ echo
+ eerror "gentoo/udev.rules has been updated, please validate!"
+ die "gentoo/udev.rules has been updated, please validate!"
+ fi
+
+ sed_helper_dir \
+ etc/udev/gentoo/50-udev.rules \
+ extras/rule_generator/write_*_rules \
+ udev_rules_parse.c \
+ udev_rules.c
+
+ # Use correct multilib dir
+ sed -i extras/volume_id/lib/Makefile \
+ -e "/ =/s-/lib-/$(get_libdir)-"
+}
+
+src_compile() {
+ filter-flags -fprefetch-loop-arrays
+
+ # Not everyone has full $CHOST-{ld,ar,etc...} yet
+ local mycross=""
+ type -p ${CHOST}-ar && mycross=${CHOST}-
+
+ emake \
+ EXTRAS="${extras}" \
+ libudevdir=${udev_helper_dir} \
+ CROSS_COMPILE=${mycross} \
+ OPTFLAGS="" \
+ ${myconf} || die
+}
+
+src_install() {
+ into /
+ emake \
+ DESTDIR="${D}" \
+ libudevdir=${udev_helper_dir} \
+ EXTRAS="${extras}" \
+ ${myconf} \
+ install || die
+
+ # make install does not install this
+ dosbin udevstart || die "Required binary not installed properly"
+ doman udevstart.8
+
+ exeinto "${udev_helper_dir}"
+ newexe "${FILESDIR}"/net-104-r10.sh net.sh || die "Required binary not installed properly"
+ newexe "${FILESDIR}"/modprobe-114.sh modprobe.sh || die "Required binary not installed properly"
+ newexe "${FILESDIR}"/move_tmp_persistent_rules-112-r1.sh move_tmp_persistent_rules.sh \
+ || die "Required binary not installed properly"
+
+ keepdir "${udev_helper_dir}"/state
+ keepdir "${udev_helper_dir}"/devices
+
+ # create symlinks for these utilities to /sbin
+ # where multipath-tools expect them to be (Bug #168588)
+ dosym "..${udev_helper_dir}/vol_id" /sbin/vol_id
+ dosym "..${udev_helper_dir}/scsi_id" /sbin/scsi_id
+
+ # vol_id library (needed by mount and HAL)
+ into /
+ dolib extras/volume_id/lib/*.so*
+ into /usr
+ dolib extras/volume_id/lib/*.a
+
+ # handle static linking bug #4411
+ rm -f "${D}/usr/$(get_libdir)/libvolume_id.so"
+ gen_usr_ldscript libvolume_id.so
+
+ # Our udev config file
+ insinto /etc/udev
+ newins ${FILESDIR}/udev.conf.post_113 udev.conf
+
+ # Our rules files
+ insinto /etc/udev/rules.d/
+ doins etc/udev/gentoo/??-*.rules
+ # Use upstream's persistent rules for devices
+ doins etc/udev/rules.d/60-*.rules
+
+ # our udev hooks into the rc system
+ insinto /$(get_libdir)/rcscripts/addons
+ newins "${FILESDIR}"/udev-start-113-r2.sh udev-start.sh
+ newins "${FILESDIR}"/udev-stop-111-r2.sh udev-stop.sh
+
+ # The udev-post init-script
+ newinitd "${FILESDIR}"/udev-postmount-initd-111-r2 udev-postmount
+
+ insinto /etc/modprobe.d
+ newins ${FILESDIR}/blacklist-110 blacklist
+ doins ${FILESDIR}/pnp-aliases
+
+ # convert /lib/udev to real used dir
+ sed_helper_dir \
+ "${D}/$(get_libdir)"/rcscripts/addons/*.sh \
+ "${D}"/etc/init.d/udev* \
+ "${D}"/etc/modprobe.d/*
+
+ if use s390; then
+ # s390 does not has persistent mac addresses
+ # and we only have persistence rules for mac.
+ # For now just remove the rules file.
+ rm ${D}/etc/udev/rules.d/75-persistent-net-generator.rules
+ fi
+
+ # documentation
+ dodoc ChangeLog FAQ README TODO RELEASE-NOTES
+ dodoc docs/{overview,udev_vs_devfs}
+ dodoc docs/writing_udev_rules/*
+
+ newdoc extras/volume_id/README README_volume_id
+
+}
+
+pkg_preinst() {
+ if [[ -d "${ROOT}"/lib/udev-state ]] ; then
+ mv -f "${ROOT}"/lib/udev-state/* "${D}"/lib/udev/state/
+ rm -r "${ROOT}"/lib/udev-state
+ fi
+
+ if [ -f "${ROOT}/etc/udev/udev.config" -a \
+ ! -f "${ROOT}/etc/udev/udev.rules" ]
+ then
+ mv -f "${ROOT}"/etc/udev/udev.config "${ROOT}"/etc/udev/udev.rules
+ fi
+
+ # delete the old udev.hotplug symlink if it is present
+ if [ -h "${ROOT}/etc/hotplug.d/default/udev.hotplug" ]
+ then
+ rm -f "${ROOT}"/etc/hotplug.d/default/udev.hotplug
+ fi
+
+ # delete the old wait_for_sysfs.hotplug symlink if it is present
+ if [ -h "${ROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug" ]
+ then
+ rm -f "${ROOT}"/etc/hotplug.d/default/05-wait_for_sysfs.hotplug
+ fi
+
+ # delete the old wait_for_sysfs.hotplug symlink if it is present
+ if [ -h "${ROOT}/etc/hotplug.d/default/10-udev.hotplug" ]
+ then
+ rm -f "${ROOT}"/etc/hotplug.d/default/10-udev.hotplug
+ fi
+
+ # is there a stale coldplug initscript? (CONFIG_PROTECT leaves it behind)
+ coldplug_stale=""
+ if [ -f "${ROOT}/etc/init.d/coldplug" ]
+ then
+ coldplug_stale="1"
+ fi
+
+ if has_version "<sys-fs/udev-113" &&
+ [[ -f "${ROOT}"/etc/udev/rules.d/64-device-mapper.rules ]] &&
+ has_version sys-fs/device-mapper
+ then
+ # change mtime to definitely keep the file
+ touch "${ROOT}"/etc/udev/rules.d/64-device-mapper.rules
+ fi
+}
+
+pkg_postinst() {
+ # people want reminders, I'll give them reminders. Odds are they will
+ # just ignore them anyway...
+
+ if [[ ${coldplug_stale} == "1" ]] ; then
+ ewarn "A stale coldplug init script found. You should run:"
+ ewarn
+ ewarn " rc-update del coldplug"
+ ewarn " rm -f /etc/init.d/coldplug"
+ ewarn
+ ewarn "udev now provides its own coldplug functionality."
+ fi
+
+ # delete 40-scsi-hotplug.rules - all integrated in 50-udev.rules
+ if has_version "=sys-fs/udev-103-r3"; then
+ if [[ -e "${ROOT}/etc/udev/rules.d/40-scsi-hotplug.rules" ]]
+ then
+ ewarn "Deleting stray 40-scsi-hotplug.rules"
+ ewarn "installed by sys-fs/udev-103-r3"
+ rm -f "${ROOT}"/etc/udev/rules.d/40-scsi-hotplug.rules
+ fi
+ fi
+
+ # Removing some device-nodes we thought we need some time ago
+ if [[ -d "${ROOT}"/lib/udev/devices ]]; then
+ rm -f "${ROOT}"/lib/udev/devices/{null,zero,console,urandom}
+ fi
+
+ # Removing some old file
+ if has_version "<sys-fs/udev-104-r5"; then
+ rm -f "${ROOT}"/etc/dev.d/net/hotplug.dev
+ rmdir --ignore-fail-on-non-empty "${ROOT}"/etc/dev.d/net
+ fi
+
+ if has_version "<sys-fs/udev-106-r5"; then
+ if [[ -e "${ROOT}"/etc/udev/rules.d/95-net.rules ]]; then
+ rm -f "${ROOT}"/etc/udev/rules.d/95-net.rules
+ fi
+ fi
+
+ # Try to remove /etc/dev.d as that is obsolete
+ if [[ -d "${ROOT}"/etc/dev.d ]]; then
+ rmdir --ignore-fail-on-non-empty "${ROOT}"/etc/dev.d/default "${ROOT}"/etc/dev.d
+ if [[ -d "${ROOT}"/etc/dev.d ]]; then
+ ewarn "You still have the directory /etc/dev.d on your system."
+ ewarn "This is no longer used by udev and can be removed."
+ fi
+ fi
+
+ # 64-device-mapper.rules now gets installed by sys-fs/device-mapper
+ # remove it if user don't has sys-fs/device-mapper installed
+ if has_version "<sys-fs/udev-113" &&
+ [[ -f "${ROOT}"/etc/udev/rules.d/64-device-mapper.rules ]] &&
+ ! has_version sys-fs/device-mapper
+ then
+ rm -f "${ROOT}"/etc/udev/rules.d/64-device-mapper.rules
+ einfo "Removed unneeded file 64-device-mapper.rules"
+ fi
+
+ if [[ "${ROOT}" == "/" ]] ; then
+ # check if root of init-process is identical to ours
+ if [ -r /proc/1/root -a /proc/1/root/ -ef /proc/self/root/ ]; then
+ einfo "restarting udevd now."
+ if [[ -n $(pidof udevd) ]] ; then
+ killall -15 udevd &>/dev/null
+ sleep 1
+ killall -9 udevd &>/dev/null
+ fi
+ /sbin/udevd --daemon
+ fi
+ fi
+
+ einfo
+ einfo "For more information on udev on Gentoo, writing udev rules, and"
+ einfo " fixing known issues visit:"
+ einfo " http://www.gentoo.org/doc/en/udev-guide.xml"
+}