099 release
authorGreg Kroah-Hartman <gregkh@gentoo.org>
Wed, 6 Sep 2006 22:42:31 +0000 (22:42 +0000)
committerGreg Kroah-Hartman <gregkh@gentoo.org>
Wed, 6 Sep 2006 22:42:31 +0000 (22:42 +0000)
Package-Manager: portage-2.1.1_rc1-r2

sys-fs/udev/ChangeLog
sys-fs/udev/Manifest
sys-fs/udev/files/digest-udev-099 [new file with mode: 0644]
sys-fs/udev/files/udev-start-099.sh [new file with mode: 0644]
sys-fs/udev/udev-099.ebuild [new file with mode: 0644]

index 2abcc530d961219fdd0a0a91ef1f13581b43c928..118dcd50490e6418f51a0fbd405e1d4997d5ac3c 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sys-fs/udev
 # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.209 2006/08/31 04:58:44 gregkh Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.210 2006/09/06 22:42:31 gregkh Exp $
+
+*udev-099 (06 Sep 2006)
+
+  06 Sep 2006; Greg Kroah-Hartman <gregkh@gentoo.org>
+  +files/udev-start-099.sh, +udev-099.ebuild:
+  099 release
 
 *udev-098 (31 Aug 2006)
 
index 6a30bdb8b533c6e7eab534973764cb04ca3a98f5..4bb21db4311a0e4ea8de103958e5660b20fe171b 100644 (file)
@@ -66,6 +66,10 @@ AUX udev-start-098.sh 3572 RMD160 e8e1c7e8b60c7778cd7c2cf56d8a1b5c9f233ea8 SHA1
 MD5 dbbaab49fd196abc20746f8b43125b28 files/udev-start-098.sh 3572
 RMD160 e8e1c7e8b60c7778cd7c2cf56d8a1b5c9f233ea8 files/udev-start-098.sh 3572
 SHA256 399bd19dda46a35115820278fcce321c57eabc9595e1b6628691c5339dc51560 files/udev-start-098.sh 3572
+AUX udev-start-099.sh 3576 RMD160 bfce711aeaec08fcc7132d039c008ca7336a727b SHA1 37ba6921120c27e2c62e7eddf7cdf76682d41acc SHA256 ef978be4e6db2df04a0f96651cd425cf71503cb2793ff42f87e4547b2dae7b1f
+MD5 2b2916c489001a23ddb2a72f36dfde19 files/udev-start-099.sh 3576
+RMD160 bfce711aeaec08fcc7132d039c008ca7336a727b files/udev-start-099.sh 3576
+SHA256 ef978be4e6db2df04a0f96651cd425cf71503cb2793ff42f87e4547b2dae7b1f files/udev-start-099.sh 3576
 AUX udev-start.sh 2460 RMD160 97afa40bab5aed0106e3a3b065ae480ce329e11c SHA1 2558e3265c9bed383198e2f263e10016ad6f34a0 SHA256 0527b03ac666dd9e4c94811b10d499f04b3f6f8ae2f03e6460727c1b570d985d
 MD5 622f085dff7fb6138f3e2c992d569593 files/udev-start.sh 2460
 RMD160 97afa40bab5aed0106e3a3b065ae480ce329e11c files/udev-start.sh 2460
@@ -168,6 +172,7 @@ DIST udev-090.tar.bz2 192213 RMD160 77c1cd3cd71d781daf420824723cc520c75f41c8 SHA
 DIST udev-094.tar.bz2 194721 RMD160 204330e28707e1fa5b699a89e1f663ecfd264e04 SHA1 665132873ece8f3c01d3786c91e7932a73645ca7 SHA256 a920b3c8126363f9559988e6b68148939ae09d1cccb9573c69a261b23a393590
 DIST udev-096.tar.bz2 194109 RMD160 93aa8ef19160434d96800a7890af120e3b66a833 SHA1 8d15b89fdf93ba84e2d33ff6061e140aed0a4dce SHA256 a6e08ce1a29adf2fff0ee198a632f13d867929afd10a726829bc75b52afa453b
 DIST udev-098.tar.bz2 195723 RMD160 29a05c64d49397d345d25f75c916525fede346aa SHA1 1f1aa2a40a0469c90b3e80a3996d949522e345be SHA256 565f3cba2edf87668f503ada3869f4d7ebfa866340cdf2f3ae3d1c319090f0f5
+DIST udev-099.tar.bz2 197429 RMD160 c323d1f63010d70470872f8b9710cf9ed179643d SHA1 811bdc648704bc3b9f296a086ce4b7708d69c2ec SHA256 58a18e38ce9f28886b5b67784cff58ebb96a912bd32d6c32760e189881853bfa
 EBUILD udev-079-r2.ebuild 7523 RMD160 bc3a75a2205cbe092ec431eaf474cb1f4959d4fe SHA1 b10bb23e64edc1a43b890f06c3f71a4e7c85ba9e SHA256 14a34689b36d1be9ffd953eedf20ee906b8638b0967b7148b4d0023d765da90f
 MD5 3a6af6ceddbbd1a93002a240a8e6b930 udev-079-r2.ebuild 7523
 RMD160 bc3a75a2205cbe092ec431eaf474cb1f4959d4fe udev-079-r2.ebuild 7523
@@ -200,10 +205,14 @@ EBUILD udev-098.ebuild 10882 RMD160 a6becabb4a3f35871a8ab36830392301ab0bc31d SHA
 MD5 70812851272996d1178c557991d8b98d udev-098.ebuild 10882
 RMD160 a6becabb4a3f35871a8ab36830392301ab0bc31d udev-098.ebuild 10882
 SHA256 a14cc5f8324610351327d554d3147d3dd7cb708118f017d101f456ebdaeb8cfc udev-098.ebuild 10882
-MISC ChangeLog 37926 RMD160 1d256452d8634864d8f4027c8263d2928a721f51 SHA1 7951059be1c85162a3763b4b4018d9d2ce248d46 SHA256 6d8c961b6294dbd17cdfe8cab8d7c7e75a2764a9450a8bace193196ff2a4458f
-MD5 effe923b0dd76b62c4ee9a3c3df9d9f9 ChangeLog 37926
-RMD160 1d256452d8634864d8f4027c8263d2928a721f51 ChangeLog 37926
-SHA256 6d8c961b6294dbd17cdfe8cab8d7c7e75a2764a9450a8bace193196ff2a4458f ChangeLog 37926
+EBUILD udev-099.ebuild 10901 RMD160 21c9d4d3d23c0e84c1c36dd14ff1fe9ab20a26a1 SHA1 2ff4dab284f93a8943c60a8289e3194eea60c71e SHA256 5edc702bc9eebf3a8fb0a171720e9be089cc433be4d5e8acadd4145727b27ce7
+MD5 e3e5626663681b1a4527416195508c43 udev-099.ebuild 10901
+RMD160 21c9d4d3d23c0e84c1c36dd14ff1fe9ab20a26a1 udev-099.ebuild 10901
+SHA256 5edc702bc9eebf3a8fb0a171720e9be089cc433be4d5e8acadd4145727b27ce7 udev-099.ebuild 10901
+MISC ChangeLog 38066 RMD160 26e8dc89c2c203789fcf6b750d2985fb4d73fad6 SHA1 19a2348177ec231946861cd40fd7d065896698df SHA256 6fa618dbccae9c3fc6dd7cf001e9f934546237ae755615d92d6d552b080ca779
+MD5 1233f0424c82e04e0fd5ffcff9af6b4e ChangeLog 38066
+RMD160 26e8dc89c2c203789fcf6b750d2985fb4d73fad6 ChangeLog 38066
+SHA256 6fa618dbccae9c3fc6dd7cf001e9f934546237ae755615d92d6d552b080ca779 ChangeLog 38066
 MISC metadata.xml 260 RMD160 f1b0916156eade656b558b7507109b69ed78d394 SHA1 3e34c50d52c32d6524b8de2d553e62a40798c043 SHA256 31722725c8bf774ad90600f7a3f50f2ca76c1396aad6888ce1cc08ce981b1552
 MD5 075d5a933d6175160a02ddf15bd4f454 metadata.xml 260
 RMD160 f1b0916156eade656b558b7507109b69ed78d394 metadata.xml 260
@@ -232,3 +241,6 @@ SHA256 fdb17aa32ce5f0da94e52fabc03d2ae82db45cbfae2edb4cdc0c51023a5beee6 files/di
 MD5 7f4ae290c1464cf1c00d0038899c081f files/digest-udev-098 229
 RMD160 d5800d411a877f0539163b0f12cf89900cde5e01 files/digest-udev-098 229
 SHA256 62021e172e804409a1b3d4b8f20fd9b151013eb32509d55f40aa8dbe86fd6ce2 files/digest-udev-098 229
+MD5 7fc9a5616a306f142eb8c6edc90f6f7d files/digest-udev-099 229
+RMD160 cee062f127de41d076433c42e86b1e5c481312ff files/digest-udev-099 229
+SHA256 03fe735e792bf2cfd1a1832a202cdcd8f1d3298a3373eb4ff6b69efe56766b64 files/digest-udev-099 229
diff --git a/sys-fs/udev/files/digest-udev-099 b/sys-fs/udev/files/digest-udev-099
new file mode 100644 (file)
index 0000000..033167b
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 930ad7ba1a60b5fed5f1ddf2c7ce02df udev-099.tar.bz2 197429
+RMD160 c323d1f63010d70470872f8b9710cf9ed179643d udev-099.tar.bz2 197429
+SHA256 58a18e38ce9f28886b5b67784cff58ebb96a912bd32d6c32760e189881853bfa udev-099.tar.bz2 197429
diff --git a/sys-fs/udev/files/udev-start-099.sh b/sys-fs/udev/files/udev-start-099.sh
new file mode 100644 (file)
index 0000000..9a2293f
--- /dev/null
@@ -0,0 +1,139 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+udev_version() {
+       local version=0
+
+       if [[ -x /sbin/udev ]] ; then
+               version=$(/sbin/udev -V)
+               # We need it without a leading '0', else bash do the wrong thing
+               version=${version##0}
+               # Older udev's will print nothing
+               [[ -z ${version} ]] && version=0
+       fi
+
+       echo "${version}"
+}
+
+populate_udev() {
+       # populate /dev with devices already found by the kernel
+       if [ $(get_KV) -gt "$(KV_to_int '2.6.14')" ] ; then
+               ebegin "Populating /dev with existing devices through uevents"
+               local opts=
+               [[ ${RC_COLDPLUG} != "yes" && $(udev_version) -ge "96" ]] && \
+                       opts="--attr-match=dev"
+                /sbin/udevtrigger ${opts}
+               eend $?
+       else
+               ebegin "Populating /dev with existing devices with udevstart"
+               /sbin/udevstart
+               eend $?
+       fi
+
+       # loop until everything is finished
+       # there's gotta be a better way...
+       ebegin "Letting udev process events"
+       /sbin/udevsettle --timeout=60
+       eend $?
+
+       return 0
+}
+
+seed_dev() {
+       # Seed /dev with some things that we know we need
+       ebegin "Seeding /dev with needed nodes"
+
+       # copy over any persistant things
+       if [[ -d /lib/udev/devices ]] ; then
+               cp --preserve=all --recursive --update /lib/udev/devices/* /dev
+       fi
+
+       # Not provided by sysfs but needed
+       ln -snf /proc/self/fd /dev/fd
+       ln -snf fd/0 /dev/stdin
+       ln -snf fd/1 /dev/stdout
+       ln -snf fd/2 /dev/stderr
+       [[ -e /proc/kcore ]] && ln -snf /proc/kcore /dev/core
+
+       # Create problematic directories
+       mkdir -p /dev/{pts,shm}
+       eend 0
+}
+
+main() {
+       # Setup temporary storage for /dev
+       ebegin "Mounting /dev for udev"
+       if [[ ${RC_USE_FSTAB} == "yes" ]] ; then
+               mntcmd=$(get_mount_fstab /dev)
+       else
+               unset mntcmd
+       fi
+       if [[ -n ${mntcmd} ]] ; then
+               try mount -n ${mntcmd}
+       else
+               # This is bash only, but saves on using grep
+               if [[ $(</proc/filesystems)$'\n' =~ '[[:space:]]tmpfs'$'\n' ]] ; then
+                       mntcmd="tmpfs"
+               else
+                       mntcmd="ramfs"
+               fi
+               # many video drivers require exec access in /dev #92921
+               try mount -n -t ${mntcmd} udev /dev -o exec,nosuid,mode=0755
+       fi
+       eend $?
+
+       # Create a file so that our rc system knows it's still in sysinit.
+       # Existance means init scripts will not directly run.
+       # rc will remove the file when done with sysinit.
+       touch /dev/.rcsysinit
+
+       # Selinux lovin; /selinux should be mounted by selinux-patched init
+       if [[ -x /sbin/restorecon && -c /selinux/null ]] ; then
+               restorecon /dev &> /selinux/null
+       fi
+
+       # Actually get udev rolling
+       if [[ ${RC_DEVICE_TARBALL} == "yes" && \
+             -s /lib/udev/state/devices.tar.bz2 ]] ; then
+               ebegin "Populating /dev with saved device nodes"
+               try tar -jxpf /lib/udev/state/devices.tar.bz2 -C /dev
+               eend $?
+       fi
+
+       seed_dev
+
+       # Setup hotplugging (if possible)
+       if [[ -e /proc/sys/kernel/hotplug ]] ; then
+               ebegin "Setting up proper hotplug agent"
+               eindent
+               if [[ $(get_KV) -gt $(KV_to_int '2.6.14') ]] ; then
+                       einfo "Using netlink for hotplug events..."
+                       echo "" > /proc/sys/kernel/hotplug
+               else
+                       einfo "Setting /sbin/udevsend as hotplug agent ..."
+                       echo "/sbin/udevsend" > /proc/sys/kernel/hotplug
+               fi
+               eoutdent
+               eend 0
+       fi
+
+       ebegin "Starting udevd"
+       /sbin/udevd --daemon
+       eend $?
+
+       populate_udev
+
+       # Create nodes that udev can't
+       ebegin "Finalizing udev configuration"
+       [[ -x /sbin/dmsetup ]] && /sbin/dmsetup mknodes &>/dev/null
+       [[ -x /sbin/lvm ]] && \
+               /sbin/lvm vgscan -P --mknodes --ignorelockingfailure &>/dev/null
+       # Running evms_activate on a LiveCD causes lots of headaches
+       [[ -z ${CDBOOT} ]] && [[ -x /sbin/evms_activate ]] && \
+               /sbin/evms_activate -q &>/dev/null
+       eend 0
+}
+
+main
+
+# vim:ts=4
diff --git a/sys-fs/udev/udev-099.ebuild b/sys-fs/udev/udev-099.ebuild
new file mode 100644 (file)
index 0000000..2ce04b7
--- /dev/null
@@ -0,0 +1,313 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-099.ebuild,v 1.1 2006/09/06 22:42:31 gregkh Exp $
+
+inherit eutils flag-o-matic multilib
+
+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"
+
+# still rely on hotplug (need to fix that), but now we implement coldplug
+
+DEPEND="sys-apps/hotplug-base"
+RDEPEND="!sys-apps/coldplug"
+RDEPEND="${DEPEND} ${RDEPEND}
+       >=sys-apps/baselayout-1.11.14"
+# We need the lib/rcscripts/addon support
+PROVIDE="virtual/dev-manager"
+
+src_unpack() {
+       unpack ${A}
+
+       cd "${S}"
+
+       # patches go here...
+       #epatch ${FILESDIR}/${P}-udev_volume_id.patch
+
+       # 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/udev.rules"`
+       MD5=${MD5/  -/}
+       if [ "${MD5}" != "295a9b7bdc8bdb239f8860d14af761b0" ]
+       then
+               echo
+               eerror "gentoo/udev.rules has been updated, please validate!"
+               die "gentoo/udev.rules has been updated, please validate!"
+       fi
+}
+
+src_compile() {
+       filter-flags -fprefetch-loop-arrays
+       local myconf=
+       local extras="extras/ata_id \
+                                 extras/cdrom_id \
+                                 extras/dasd_id \
+                                 extras/edd_id \
+                                 extras/firmware \
+                                 extras/floppy \
+                                 extras/path_id \
+                                 extras/run_directory \
+                                 extras/scsi_id \
+                                 extras/usb_id \
+                                 extras/volume_id"
+
+       use selinux && myconf="${myconf} USE_SELINUX=true"
+
+       # Not everyone has full $CHOST-{ld,ar,etc...} yet
+       local mycross=""
+       type -p ${CHOST}-ar && mycross=${CHOST}-
+
+       echo "get_libdir = $(get_libdir)"
+       # Do not work with emake
+       make \
+               EXTRAS="${extras}" \
+               udevdir="/dev/" \
+               CROSS_COMPILE=${mycross} \
+               ${myconf} || die
+}
+
+src_install() {
+       # we install everything by "hand" and don't rely on the udev Makefile to do
+       # it for us (why? it's easier that way...)
+       dobin udevinfo          || die "Required binary not installed properly"
+       dobin udevtest          || die "Required binary not installed properly"
+       dobin udevmonitor       || die "Required binary not installed properly"
+       into /
+       dosbin udev                     || die "Required binary not installed properly"
+       dosbin udevd            || die "Required binary not installed properly"
+       #dosbin udevsend                || die "Required binary not installed properly"
+       dosbin udevstart        || die "Required binary not installed properly"
+       dosbin udevtrigger      || die "Required binary not installed properly"
+       dosbin udevcontrol      || die "Required binary not installed properly"
+       dosbin udevsettle       || die "Required binary not installed properly"
+       # Helpers
+       exeinto /$(get_libdir)/udev
+       doexe extras/run_directory/udev_run_devd        || die "Required helper not installed properly"
+       doexe extras/run_directory/udev_run_hotplugd    || die "Required helper not installed properly"
+       doexe extras/ata_id/ata_id              || die "Required helper not installed properly"
+       doexe extras/volume_id/vol_id   || die "Required helper not installed properly"
+       doexe extras/scsi_id/scsi_id    || die "Required helper not installed properly"
+       doexe extras/usb_id/usb_id              || die "Required helper not installed properly"
+       doexe extras/path_id/path_id    || die "Required helper not installed properly"
+       doexe extras/cdrom_id/cdrom_id  || die "Required helper not installed properly"
+       doexe extras/dasd_id/dasd_id    || die "Required helper not installed properly"
+       doexe extras/edd_id/edd_id              || die "Required helper not installed properly"
+       keepdir /$(get_libdir)/udev/state
+
+       # vol_id library (needed by mount and HAL)
+       dolib extras/volume_id/lib/*.a extras/volume_id/lib/*.so*
+       # move the .a files to /usr/lib
+       dodir /usr/$(get_libdir)
+       mv -f "${D}"/$(get_libdir)/*.a  "${D}"/usr/$(get_libdir)/
+
+       # handle static linking bug #4411
+       gen_usr_ldscript libvolume_id.so
+
+       # save pkgconfig info
+       insinto /usr/$(get_libdir)/pkgconfig
+       doins extras/volume_id/lib/*.pc
+
+       #exeinto /etc/udev/scripts
+       exeinto /lib/udev
+       #doexe extras/ide-devfs.sh
+       #doexe extras/scsi-devfs.sh
+       #doexe extras/raid-devfs.sh
+       doexe extras/floppy/create_floppy_devices       || die "Required binary not installed properly"
+       doexe extras/firmware/firmware.sh                       || die "Required binary not installed properly"
+       doexe ${FILESDIR}/seq_node.sh                           || die "Required binary not installed properly"
+
+       # Our udev config file
+       insinto /etc/udev
+       newins ${FILESDIR}/udev.conf.post_081 udev.conf
+
+       # Our rules files
+       insinto /etc/udev/rules.d/
+       newins etc/udev/gentoo/udev.rules 50-udev.rules
+       newins ${FILESDIR}/udev.rules-098 50-udev.rules
+       newins ${FILESDIR}/05-udev-early.rules-079 05-udev-early.rules
+       # Use upstream's persistent rules for devices
+       doins etc/udev/rules.d/60-*.rules
+
+       # scsi_id configuration
+       insinto /etc
+       doins extras/scsi_id/scsi_id.config
+
+       # set up the /etc/dev.d directory tree
+       dodir /etc/dev.d/default
+       dodir /etc/dev.d/net
+       exeinto /etc/dev.d/net
+       doexe extras/run_directory/dev.d/net/hotplug.dev
+
+       # all of the man pages
+       doman *.7
+       doman *.8
+       doman extras/ata_id/ata_id.8
+       doman extras/edd_id/edd_id.8
+       doman extras/scsi_id/scsi_id.8
+       doman extras/volume_id/vol_id.8
+       doman extras/dasd_id/dasd_id.8
+       doman extras/cdrom_id/cdrom_id.8
+       # create a extra symlink for udevcontrol
+       ln -s "${D}"/usr/share/man/man8/udevd.8.gz \
+               "${D}"/usr/share/man/man8/udevcontrol.8.gz
+
+       # our udev hooks into the rc system
+       insinto /lib/rcscripts/addons
+       newins "${FILESDIR}"/udev-start-099.sh udev-start.sh
+       doins "${FILESDIR}"/udev-stop.sh
+
+       # needed to compile latest Hal
+       insinto /usr/include
+       doins extras/volume_id/lib/libvolume_id.h
+
+       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}/$(get_libdir)/udev-state ]] ; then
+               mv -f "${ROOT}"/$(get_libdir)/udev-state/* "${D}"/$(get_libdir)/udev/state/
+               rm -r "${ROOT}"/$(get_libdir)/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
+
+       # Create some nodes that we know we need.
+       # set the time/date so we can see in /dev which ones we copied over
+       # in the udev-start.sh script
+       mkdir -p ${ROOT}/lib/udev/devices
+
+       if [ ! -e ${ROOT}/lib/udev/devices/null ] ; then
+           mknod ${ROOT}/lib/udev/devices/null c 1 3
+       fi
+       chmod 666 ${ROOT}/lib/udev/devices/null
+       touch -t 200010220101 ${ROOT}/lib/udev/devices/null
+
+       if [ ! -e ${ROOT}/lib/udev/devices/zero ] ; then
+           mknod ${ROOT}/lib/udev/devices/zero c 1 5
+       fi
+       chmod 666 ${ROOT}/lib/udev/devices/zero
+       touch -t 200010220101 ${ROOT}/lib/udev/devices/zero
+
+       if [ ! -e ${ROOT}/lib/udev/devices/console ] ; then
+           mknod ${ROOT}/lib/udev/devices/console c 5 1
+       fi
+       chmod 600 ${ROOT}/lib/udev/devices/console
+       chown root:tty ${ROOT}/lib/udev/devices/console
+       touch -t 200010220101 ${ROOT}/lib/udev/devices/console
+
+       if [ ! -e ${ROOT}/lib/udev/devices/urandom ] ; then
+           mknod ${ROOT}/lib/udev/devices/urandom c 1 9
+       fi
+       chmod 666 ${ROOT}/lib/udev/devices/urandom
+       touch -t 200010220101 ${ROOT}/lib/udev/devices/urandom
+}
+
+pkg_postinst() {
+       if [ "${ROOT}" = "/" -a -n "`pidof udevd`" ]
+       then
+               killall -15 udevd &>/dev/null
+               sleep 1
+               killall -9 udevd &>/dev/null
+       fi
+       /sbin/udevd --daemon
+
+       # people want reminders, I'll give them reminders.  Odds are they will
+       # just ignore them anyway...
+       if has_version '<sys-fs/udev-046' ; then
+               ewarn "Note: If you rely on the output of udevinfo for anything, please"
+               ewarn "      either run 'udevstart' now, or reboot, in order to get a"
+               ewarn "      up-to-date udev database."
+               ewarn
+       fi
+       if has_version '<sys-fs/udev-050' ; then
+               ewarn "Note: If you had written some custom permissions rules, please"
+               ewarn "      realize that the permission rules are now part of the main"
+               ewarn "      udev rules files and are not stand-alone anymore.  This means"
+               ewarn "      you need to rewrite them."
+               ewarn
+       fi
+       if has_version '<sys-fs/udev-059' ; then
+               ewarn "Note: If you are upgrading from a version of udev prior to 059"
+               ewarn "      and you have written custom rules, and rely on the etc/dev.d/"
+               ewarn "      functionality, or the etc/hotplug.d functionality, or just"
+               ewarn "      want to write some very cool and power udev rules, please "
+               ewarn "      read the RELEASE-NOTES file for details on what has changed"
+               ewarn "      with this feature, and how to change your rules to work properly."
+               ewarn
+       elif has_version '<sys-fs/udev-057' ; then
+               ewarn "Note: If you have written custom rules, and rely on the etc/dev.d/"
+               ewarn "      functionality, please read the RELEASE-NOTES file for details"
+               ewarn "      on what has changed with this feature, and how to change your"
+               ewarn "      rules to work properly."
+               ewarn
+       fi
+       if has_version '<sys-fs/udev-063' ; then
+               ewarn "Note: If you use the devfs-style names for your block devices"
+               ewarn "      or use devfs-style names in /etc/inittab or /etc/securetty or"
+               ewarn "      your GRUB or LILO kernel boot command line, you need to"
+               ewarn "      change them back to LSB compliant names, as the devfs names are"
+               ewarn "      now gone.  If you wish to use some persistent names for your"
+               ewarn "      block devices, look at the symlinks in /dev/disk/ for the names"
+               ewarn "      you can use."
+               ewarn
+       fi
+
+       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
+
+       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"
+}