# Description: Userspace device management daemon
# URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
# Maintainer: CRUX System Team, core-ports at crux dot nu

name=udev
version=141
release=1
source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$name-$version.tar.bz2 \
	http://crux.nu/files/distfiles/udev-config-20081015.tar.bz2 \
	start_udev)

build() {
	cd udev-$version

	./configure --prefix=/usr --exec-prefix= --sysconfdir=/etc \
	            --mandir=/usr/man

	make
	make install DESTDIR=$PKG

	# scsi_id + vol_id need to be multi-path
	(cd $PKG/sbin; ln -s ../lib/udev/vol_id vol_id)
	(cd $PKG/sbin; ln -s ../lib/udev/scsi_id scsi_id)

	mkdir -p $PKG/lib/{firmware,udev/devices/{pts,shm}}

	# Populate nodes
	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

	# Install some upstream rules
	cp -a rules/packages/40-alsa.rules $PKG/lib/udev/rules.d/

	# Add CRUX items + LFS rules
	install -m 0755 $SRC/start_udev $PKG/sbin

	pushd $SRC/udev-config-20081015
	make DESTDIR=$PKG RULES_DIR=/lib/udev/rules.d install
	popd

	# Comment uucp lines in default rules
	sed -i 's|.*uucp.*|#&|g' $PKG/lib/udev/rules.d/50-udev-default.rules
	sed -i 's|.*uucp.*|#&|g' $PKG/lib/udev/rules.d/55-lfs.rules

	# Keep udevinfo for legacy support
	mkdir -p $PKG/usr/bin
	ln -s /sbin/udevadm $PKG/usr/bin/udevinfo
}
