Index: start_udev
===================================================================
--- start_udev	(revision 1614)
+++ start_udev	(working copy)
@@ -1,170 +1,16 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
+#!/bin/sh
 
-# modified for crux 12.20.2005 (jaeger)
+/bin/mount -n -t tmpfs udev /dev
 
-udev_version() {
-	local version=0
+# Udev handles uevents by itself
+echo > /proc/sys/kernel/hotplug
 
-	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 udevs will print nothing
-		[[ -z ${version} ]] && version=0
-	fi
+# Create static device nodes and directories
+/bin/cp -a /lib/udev/devices/* /dev
 
-	echo "${version}"
-}
+# Launch daemon
+/sbin/udevd --daemon
 
-# This works for 2.6.15 kernels or greater
-trigger_events() {
-	list=""
-	# if you want real coldplug (with all modules being loaded for all
-	# devices in the system), uncomment out the next line.
-	#list="$list $(echo /sys/bus/*/devices/*/uevent)"
-	list="$list $(echo /sys/class/*/*/uevent)"
-	list="$list $(echo /sys/block/*/uevent /sys/block/*/*/uevent)"
-	for i in $list; do
-		case "$i" in
-			*/device/uevent)
-				# skip followed device symlinks
-				continue
-				;;
-			*/class/mem/*|*/class/tty/*)
-				first="$first $i"
-				;;
-			*/block/md*)
-				last="$last $i"
-				;;
-			*/*)
-				default="$default $i"
-				;;
-		esac
-	done
-
-	# trigger the sorted events
-	for i in $first $default $last; do
-		echo "add" > "$i"
-	done
-}
-
-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"
-		#trigger_events
-		#eend 0
-	#else
-		echo "Populating /dev with existing devices with udevstart..."
-		/sbin/udevstart
-	#fi
-
-	# loop until everything is finished
-	# there's gotta be a better way...
-	echo "Letting udev process events..."
-	loop=0
-	while test -d /dev/.udev/queue; do
-		sleep 0.1;
-		test "$loop" -gt 300 && break
-		loop=$(($loop + 1))
-	done
-	#einfo "loop = $loop"
-
-	return 0
-}
-
-seed_dev() {
-	# Seed /dev with some things that we know we need
-	echo "Seeding /dev with needed nodes..."
-
-	# copy over any persistant things
-	cp --preserve=all --recursive --update /lib/udev/devices/* /dev
-
-	# 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}
-}
-
-
-main() {
-	# Setup temporary storage for /dev
-	#echo "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
-		#if egrep -qs tmpfs /proc/filesystems ; then
-			mntcmd="tmpfs"
-		#else
-			#mntcmd="ramfs"
-		#fi
-		# many video drivers require exec access in /dev #92921
-		mount -n -t ${mntcmd} udev /dev -o exec,nosuid,mode=0755
-	#fi
-	#eend $?
-
-	# 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)
-	echo -n "Setting up hotplug agent... "
-	if [[ -e /proc/sys/kernel/hotplug ]] ; then
-		#if [ "$(get_KV)" -gt "$(KV_to_int '2.6.14')" ] ; then
-			#einfo "  Using netlink for hotplug events..."
-			#echo "" > /proc/sys/kernel/hotplug
-		if [[ $(udev_version) -ge "48" ]] ; then
-			echo "/sbin/udevsend"
-			echo "/sbin/udevsend" > /proc/sys/kernel/hotplug
-		elif [[ -x /sbin/hotplug ]] ; then
-			echo "/sbin/hotplug"
-		else
-			echo "/sbin/udev"
-			echo "/sbin/udev" > /proc/sys/kernel/hotplug
-		fi
-	fi
-	#eend 0
-
-	echo "Starting udevd..."
-	/sbin/udevd --daemon
-	#eend $?
-
-	populate_udev
-
-	# Create nodes that udev can't
-	echo "Finalizing udev configuration..."
-	[[ -x /sbin/dmsetup ]] && /sbin/dmsetup mknodes &>/dev/null
-	[[ -x /sbin/lvm ]] && \
-		/sbin/lvm vgscan -P --mknodes --ignorelockingfailure &>/dev/null
-	[[ -x /sbin/evms_activate ]] && /sbin/evms_activate -q &>/dev/null
-	#eend 0
-
-	# Same thing as /dev/.devfsd
-	touch /dev/.udev
-}
-
-main
-
-# vim:ts=4
+# Coldplug devices and wait for the queue to be processed
+/sbin/udevtrigger
+/sbin/udevsettle
Index: Pkgfile
===================================================================
--- Pkgfile	(revision 1614)
+++ Pkgfile	(working copy)
@@ -1,41 +1,35 @@
 # Description: Userspace device management daemon
 # URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
 # Maintainer: Matt Housh, jaeger at morpheus dot net
-# Depends on: hotplug
 
 name=udev
-version=091
+version=096
 release=1
-source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$name-$version.tar.bz2 \
-	udev.rules start_udev)
+source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$name-$version.tar.bz2
+	http://www.linuxfromscratch.org/lfs/downloads/development/udev-config-20060712.tar.bz2
+	start_udev)
 
 build() {
-	cd $name-$version
-	sed -i -e 's/$(OPTIMIZATION)//' Makefile
-	make \
-		USE_KLIBC=false \
-		USE_LOG=true \
-		DEBUG=false \
-		EXTRAS="extras/scsi_id extras/volume_id extras/ata_id extras/run_directory extras/usb_id extras/floppy extras/cdrom_id extras/firmware" \
-		udevdir="/dev" \
-		mandir="/usr/man" \
-		DESTDIR=$PKG all install
-	# udev, udevsend, udevstart need to be installed manually now
-	install -m 0755 udev{,send,start} $PKG/sbin/
-	# man pages
-	install -m 0644 udev{send,start}.8 $PKG/usr/man/man8/
-	install -m 0644 $SRC/udev.rules \
-		$PKG/etc/udev/rules.d/50-udev.rules
-	install -D -m 0755 $SRC/start_udev $PKG/sbin/start_udev
-	install extras/path_id/path_id extras/floppy/create_floppy_devices \
-		extras/firmware/firmware_helper $PKG/sbin/
-	mv $PKG/lib/udev/*_id $PKG/sbin/
-	mkdir -p $PKG/etc/hotplug.d/default
-	ln -s /sbin/udevsend $PKG/etc/hotplug.d/default/10-udev.hotplug
-	mkdir -p $PKG/etc/dev.d/{default,net}
-	install extras/run_directory/dev.d/net/hotplug.dev $PKG/etc/dev.d/net/
-	mkdir -p $PKG/lib/udev/devices
-	mknod -m 0666 $PKG/lib/udev/devices/null c 1 3
-	mknod -m 0666 $PKG/lib/udev/devices/zero c 1 5
-	mknod -m 0600 $PKG/lib/udev/devices/console c 5 1
+	cd udev-$version
+	make all install \
+		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" \
+		DESTDIR=$PKG \
+		mandir="/usr/man"
+	mkdir -p		$PKG/lib/{firmware,udev/devices/{pts,shm}}
+	mknod -m 600		$PKG/lib/udev/devices/console c 5 1
+	mknod -m 666		$PKG/lib/udev/devices/null c 1 3
+	mknod -m 666		$PKG/lib/udev/devices/zero c 1 5
+	ln -s /proc/self/fd	$PKG/lib/udev/devices/fd
+	ln -s /proc/self/fd/0	$PKG/lib/udev/devices/stdin
+	ln -s /proc/self/fd/1	$PKG/lib/udev/devices/stdout
+	ln -s /proc/self/fd/2	$PKG/lib/udev/devices/stderr
+	ln -s /proc/kcore	$PKG/lib/udev/devices/core
+
+#	cp etc/udev/suse/*	$PKG/etc/udev/rules.d
+#	rm			$PKG/etc/udev/rules.d/80-sysconfig.rules
+	cp ../udev-config-*/*.rules \
+				$PKG/etc/udev/rules.d
+	install ../start_udev	$PKG/sbin
 }
Index: .footprint
===================================================================
--- .footprint	(revision 1614)
+++ .footprint	(working copy)
@@ -1,46 +1,47 @@
 drwxr-xr-x	root/root	dev/
 drwxr-xr-x	root/root	etc/
-drwxr-xr-x	root/root	etc/dev.d/
-drwxr-xr-x	root/root	etc/dev.d/default/
-drwxr-xr-x	root/root	etc/dev.d/net/
--rwxr-xr-x	root/root	etc/dev.d/net/hotplug.dev
-drwxr-xr-x	root/root	etc/hotplug.d/
-drwxr-xr-x	root/root	etc/hotplug.d/default/
-lrwxrwxrwx	root/root	etc/hotplug.d/default/10-udev.hotplug -> /sbin/udevsend
 -rw-r--r--	root/root	etc/scsi_id.config
 drwxr-xr-x	root/root	etc/udev/
 drwxr-xr-x	root/root	etc/udev/rules.d/
--rw-r--r--	root/root	etc/udev/rules.d/50-udev.rules
+-rw-r--r--	root/root	etc/udev/rules.d/05-udev-early.rules
+-rw-r--r--	root/root	etc/udev/rules.d/25-lfs.rules
+-rw-r--r--	root/root	etc/udev/rules.d/26-modprobe.rules
+-rw-r--r--	root/root	etc/udev/rules.d/27-firmware.rules
+-rw-r--r--	root/root	etc/udev/rules.d/60-persistent-storage.rules
+-rw-r--r--	root/root	etc/udev/rules.d/81-cdrom.rules
 -rw-r--r--	root/root	etc/udev/udev.conf
 drwxr-xr-x	root/root	lib/
-lrwxrwxrwx	root/root	lib/libvolume_id.so.0 -> libvolume_id.so.0.62.0
--rwxr-xr-x	root/root	lib/libvolume_id.so.0.62.0
+drwxr-xr-x	root/root	lib/firmware/
+lrwxrwxrwx	root/root	lib/libvolume_id.so.0 -> libvolume_id.so.0.66.0
+-rwxr-xr-x	root/root	lib/libvolume_id.so.0.66.0
 drwxr-xr-x	root/root	lib/udev/
+-rwxr-xr-x	root/root	lib/udev/ata_id
+-rwxr-xr-x	root/root	lib/udev/cdrom_id
 -rwxr-xr-x	root/root	lib/udev/create_floppy_devices
 drwxr-xr-x	root/root	lib/udev/devices/
 crw-------	root/root	lib/udev/devices/console (5, 1)
+lrwxrwxrwx	root/root	lib/udev/devices/core -> /proc/kcore
+lrwxrwxrwx	root/root	lib/udev/devices/fd -> /proc/self/fd
 crw-rw-rw-	root/root	lib/udev/devices/null (1, 3)
+drwxr-xr-x	root/root	lib/udev/devices/pts/
+drwxr-xr-x	root/root	lib/udev/devices/shm/
+lrwxrwxrwx	root/root	lib/udev/devices/stderr -> /proc/self/fd/2
+lrwxrwxrwx	root/root	lib/udev/devices/stdin -> /proc/self/fd/0
+lrwxrwxrwx	root/root	lib/udev/devices/stdout -> /proc/self/fd/1
 crw-rw-rw-	root/root	lib/udev/devices/zero (1, 5)
--rwxr-xr-x	root/root	lib/udev/firmware_helper
--rwxr-xr-x	root/root	lib/udev/udev_run_devd
--rwxr-xr-x	root/root	lib/udev/udev_run_hotplugd
+-rwxr-xr-x	root/root	lib/udev/edd_id
+-rwxr-xr-x	root/root	lib/udev/firmware.sh
+-rwxr-xr-x	root/root	lib/udev/path_id
+-rwxr-xr-x	root/root	lib/udev/scsi_id
+-rwxr-xr-x	root/root	lib/udev/usb_id
+-rwxr-xr-x	root/root	lib/udev/vol_id
 drwxr-xr-x	root/root	sbin/
--rwxr-xr-x	root/root	sbin/ata_id
--rwxr-xr-x	root/root	sbin/cdrom_id
--rwxr-xr-x	root/root	sbin/create_floppy_devices
--rwxr-xr-x	root/root	sbin/firmware_helper
--rwxr-xr-x	root/root	sbin/path_id
--rwxr-xr-x	root/root	sbin/scsi_id
+lrwxrwxrwx	root/root	sbin/scsi_id -> /lib/udev/scsi_id
 -rwxr-xr-x	root/root	sbin/start_udev
--rwxr-xr-x	root/root	sbin/udev
 -rwxr-xr-x	root/root	sbin/udevcontrol
 -rwxr-xr-x	root/root	sbin/udevd
--rwxr-xr-x	root/root	sbin/udevsend
 -rwxr-xr-x	root/root	sbin/udevsettle
--rwxr-xr-x	root/root	sbin/udevstart
 -rwxr-xr-x	root/root	sbin/udevtrigger
--rwxr-xr-x	root/root	sbin/usb_id
--rwxr-xr-x	root/root	sbin/vol_id
 drwxr-xr-x	root/root	usr/
 drwxr-xr-x	root/root	usr/bin/
 -rwxr-xr-x	root/root	usr/bin/udevinfo
@@ -49,7 +50,7 @@
 -rw-r--r--	root/root	usr/include/libvolume_id.h
 drwxr-xr-x	root/root	usr/lib/
 -rwxr-xr-x	root/root	usr/lib/libvolume_id.a
-lrwxrwxrwx	root/root	usr/lib/libvolume_id.so -> /lib/libvolume_id.so.0.62.0
+lrwxrwxrwx	root/root	usr/lib/libvolume_id.so -> /lib/libvolume_id.so.0.66.0
 drwxr-xr-x	root/root	usr/lib/pkgconfig/
 -rw-r--r--	root/root	usr/lib/pkgconfig/libvolume_id.pc
 drwxr-xr-x	root/root	usr/man/
@@ -58,14 +59,13 @@
 drwxr-xr-x	root/root	usr/man/man8/
 -rw-r--r--	root/root	usr/man/man8/ata_id.8.gz
 -rw-r--r--	root/root	usr/man/man8/cdrom_id.8.gz
+-rw-r--r--	root/root	usr/man/man8/edd_id.8.gz
 -rw-r--r--	root/root	usr/man/man8/scsi_id.8.gz
 lrwxrwxrwx	root/root	usr/man/man8/udevcontrol.8.gz -> udevd.8.gz
 -rw-r--r--	root/root	usr/man/man8/udevd.8.gz
 -rw-r--r--	root/root	usr/man/man8/udevinfo.8.gz
 -rw-r--r--	root/root	usr/man/man8/udevmonitor.8.gz
--rw-r--r--	root/root	usr/man/man8/udevsend.8.gz
 -rw-r--r--	root/root	usr/man/man8/udevsettle.8.gz
--rw-r--r--	root/root	usr/man/man8/udevstart.8.gz
 -rw-r--r--	root/root	usr/man/man8/udevtest.8.gz
 -rw-r--r--	root/root	usr/man/man8/udevtrigger.8.gz
 -rw-r--r--	root/root	usr/man/man8/vol_id.8.gz
Index: .md5sum
===================================================================
--- .md5sum	(revision 1614)
+++ .md5sum	(working copy)
@@ -1,3 +1,3 @@
-a7d745a3f3b8e222b6957aefec1cdd2f  start_udev
-4151022ea7b4dcfaa768c1b7bf2ab9e5  udev-091.tar.bz2
-7d25125f0fd94546b676c3195237656b  udev.rules
+dc2cebbe3b57243e824dd9458497ec70  start_udev
+f4effef7807ce1dc91ab581686ef197b  udev-096.tar.bz2
+43817b01e0ae8de3cec31e8c395c6a00  udev-config-20060712.tar.bz2
