diff options
author | 2007-08-05 16:05:20 +0000 | |
---|---|---|
committer | 2007-08-05 16:05:20 +0000 | |
commit | 3cb312e020353494e2c8ad2976b22e65a982f025 (patch) | |
tree | 7e7bf18d831709b6d25e21309c74e045bf0a0fd8 /sys-fs/udev | |
parent | whitespace (diff) | |
download | historical-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/ChangeLog | 10 | ||||
-rw-r--r-- | sys-fs/udev/Manifest | 26 | ||||
-rw-r--r-- | sys-fs/udev/files/digest-udev-114 | 3 | ||||
-rwxr-xr-x | sys-fs/udev/files/modprobe-114.sh | 93 | ||||
-rw-r--r-- | sys-fs/udev/udev-114.ebuild | 302 |
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" +} |