diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 79bd188..0000000 --- a/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# Makefile for source rpm: udev -# $Id: Makefile,v 1.2 2004/11/04 16:16:37 harald Exp $ -NAME := udev -SPECFILE = $(firstword $(wildcard *.spec)) -UPSTREAM_CHECKS = sign - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attempt a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/sources b/sources index 64f130a..40d297a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -02c49d93ffda4a104c853c082138b835 udev-116.tar.bz2 +39ab2404464c7026c65eb878827192b9 udev-118.tar.bz2 diff --git a/start_udev b/start_udev index 84c0667..af3d15e 100755 --- a/start_udev +++ b/start_udev @@ -32,8 +32,11 @@ export TZ=/etc/localtime [ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf udev_root=${udev_root-/dev} +[ -c "$udev_root/console" ] || mknod -m 0600 "$udev_root/console" c 5 1 +[ -c "$udev_root/null" ] || mknod -m 0666 "$udev_root/null" c 1 3 + if [ -f /dev/.in_sysinit ]; then - exec >/dev/console 2>/dev/console "$udev_root/console" 2>"$udev_root/console" <"$udev_root/console" fi . /etc/init.d/functions @@ -71,30 +74,40 @@ xargs_simple () { } make_extra_nodes () { - ln -snf /proc/self/fd $udev_root/fd - ln -snf /proc/self/fd/0 $udev_root/stdin - ln -snf /proc/self/fd/1 $udev_root/stdout - ln -snf /proc/self/fd/2 $udev_root/stderr - ln -snf /proc/kcore $udev_root/core + ln -snf /proc/self/fd "$udev_root/fd" + ln -snf /proc/self/fd/0 "$udev_root/stdin" + ln -snf /proc/self/fd/1 "$udev_root/stdout" + ln -snf /proc/self/fd/2 "$udev_root/stderr" + ln -snf /proc/kcore "$udev_root/core" - [ -d $udev_root/pts ] || mkdir -m 0755 $udev_root/pts - [ -d $udev_root/shm ] || mkdir -m 0755 $udev_root/shm - [ -a /dev/MAKEDEV ] || ln -s $MAKEDEV /dev/MAKEDEV; + [ -d "$udev_root/pts" ] || mkdir -m 0755 "$udev_root/pts" + [ -d "$udev_root/shm" ] || mkdir -m 0755 "$udev_root/shm" + [ -a "$udev_root/MAKEDEV" ] || ln -s $MAKEDEV "$udev_root/MAKEDEV"; + + [ -c "$udev_root/console" ] || mknod -m 0600 "$udev_root/console" c 5 1 + [ -c "$udev_root/null" ] || mknod -m 0666 "$udev_root/null" c 1 3 + + #mkdir /dev/net + #mknod -m 0666 /dev/net/tun c 10 200 + #mknod -m 0600 /dev/ppp c 108 0 + #for i in 0 1 2 3 4 5 6 7 8 9; do + # mknod -m 0600 /dev/tty$i c 4 $i + # mknod -m 0660 /dev/lp$i c 6 $i + # mknod -m 0640 /dev/loop$i c 7 $i + # mknod -m 0660 /dev/parport$i c 99 $i + #done if [ -x $MAKEDEV ]; then - for i in /etc/udev/makedev.d/*.nodes; do - if [ -f "$i" ]; then - ( sed -e 's,#.*,,g' "$i" | \ - xargs_simple -n 100 $MAKEDEV -x ) & - fi - done + sed -e 's,#.*,,g' /etc/udev/makedev.d/*.nodes 2> "$udev_root/null" | \ + xargs_simple -n 100 $MAKEDEV -x & fi + for devdir in /etc/udev/devices /lib/udev/devices; do [ -d "$devdir" ] || continue pushd $devdir &> "$udev_root/null" set * if [ "$1" != "*" ]; then - echo "Warning: $devdir is deprecated. Please use /etc/udev/makedev.d/." + echo "Warning: $devdir is deprecated. Please use /etc/udev/makedev.d/." 1>&2 cp -ar "$@" $udev_root/ pushd "$udev_root" &> "$udev_root/null" [ -x /sbin/restorecon ] && /sbin/restorecon "$@" @@ -104,6 +117,15 @@ make_extra_nodes () { done } +findalias () { + local n + for n in "$1"/* ; do + [ -h "$n" ] && continue + [ -d "$n" ] && { findalias "$n" ; continue; } + [ "${n##*/}" == "modalias" ] && echo $(cat $n) + done +} + kill_udevd() { if [ -x /sbin/pidof ]; then pid=`/sbin/pidof -x udevd` @@ -188,9 +210,6 @@ if [ -f "/sys/class/tty/console/uevent" ]; then /sbin/udevd -d ret=$[$ret + $?] - if strstr "$cmdline" modprobedebug; then - /sbin/udevcontrol env MODPROBE_OPTIONS="-s -v -q" - fi if strstr "$cmdline" udevdebug; then /sbin/udevcontrol log_priority=debug fi @@ -204,6 +223,18 @@ if [ -f "/sys/class/tty/console/uevent" ]; then /sbin/udevcontrol max_childs_running=$(getval udevchilds $cmdline) fi + if strstr "$cmdline" modprobedebug; then + /sbin/udevcontrol env MODPROBE_OPTIONS="-s -v -q" + echo + findalias /sys | while read modules ; do + if [ -n "$modules" ]; then + /sbin/modprobe -a -v -q $modules + wait_for_queue $udevtimeout + fi + done + echo "Triggering Rest" + fi + /sbin/udevcontrol env STARTUP=1 /sbin/udevtrigger ret=$[$ret + $?] diff --git a/udev-116-rhrules.patch b/udev-116-rhrules.patch new file mode 100644 index 0000000..85f5fd8 --- /dev/null +++ b/udev-116-rhrules.patch @@ -0,0 +1,12 @@ +diff -up udev-116/etc/udev/redhat/40-redhat.rules.rhrules udev-116/etc/udev/redhat/40-redhat.rules +--- udev-116/etc/udev/redhat/40-redhat.rules.rhrules 2008-01-08 12:25:00.000000000 +0100 ++++ udev-116/etc/udev/redhat/40-redhat.rules 2008-01-08 12:25:53.000000000 +0100 +@@ -9,8 +9,6 @@ ACTION=="add", KERNEL=="sg[0-9]*", BUS== + + ACTION=="add", KERNEL=="sg[0-9]*", BUS=="scsi", ATTRS{type}=="8", SYMLINK+="changer changer-%k", MODE="0660", GROUP="disk" + +-ACTION=="add", SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644" +- + BUS=="usb", KERNEL=="sd*", ATTRS{bInterfaceClass}=="08", ATTRS{bInterfaceSubClass}=="04", GROUP="floppy", MODE="0660", SYMLINK+="floppy floppy-%k" + + KERNEL=="fd[0-9]*", SYMLINK+="floppy floppy-%k" diff --git a/udev.nodes b/udev.nodes index f113f63..1758ce6 100644 --- a/udev.nodes +++ b/udev.nodes @@ -19,8 +19,6 @@ parport2 parport3 net/tun ppp -console -null zero lp0 lp1 diff --git a/udev.spec b/udev.spec index 7e1c9d0..382a587 100644 --- a/udev.spec +++ b/udev.spec @@ -5,8 +5,8 @@ Summary: A userspace implementation of devfs Name: udev -Version: 116 -Release: 3%{?dist} +Version: 118 +Release: 2%{?dist} License: GPLv2 Group: System Environment/Base Provides: udev-persistent = %{version}-%{release} @@ -19,6 +19,7 @@ Source3: udev-post.init Source4: fw_unit_symlinks.sh Patch1: udev-116-nettype.patch +Patch2: udev-116-rhrules.patch Patch100: udev-089-nopie.patch Patch101: udev-091-lib64.patch @@ -70,6 +71,7 @@ which contains functions to get volume ids. %prep %setup -q %patch1 -p1 -b .nettype +%patch2 -p1 -b .rhrules %patch100 -p1 -b .nopie %patch101 -p1 -b .lib64 @@ -96,7 +98,8 @@ make \ extras/floppy \ " all -for i in udevd udevtrigger udevsettle \ +for i in udevd \ + udevadm \ extras/scsi_id/scsi_id \ extras/ata_id/ata_id \ extras/edd_id/edd_id \ @@ -186,7 +189,7 @@ for i in extras/scsi_id/scsi_id \ install -m 0755 $i.static $RPM_BUILD_ROOT%{udev_scriptdir}/$(basename $i).static done -for i in udevd udevtrigger udevsettle; do +for i in udevd udevadm; do install -m 0755 $i.static $RPM_BUILD_ROOT/sbin/$i.static done %endif @@ -281,9 +284,10 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %doc COPYING README TODO ChangeLog RELEASE-NOTES docs/* %attr(0755,root,root) /sbin/udevcontrol -%attr(0755,root,root) /sbin/udevd +%attr(0755,root,root) /sbin/udevadm %attr(0755,root,root) /sbin/udevtrigger %attr(0755,root,root) /sbin/udevsettle +%attr(0755,root,root) /sbin/udevd %attr(0755,root,root) /sbin/start_udev %attr(0755,root,root) /sbin/scsi_id %attr(0755,root,root) %{udev_scriptdir}/scsi_id @@ -338,8 +342,7 @@ rm -rf $RPM_BUILD_ROOT %files static %doc COPYING %attr(0755,root,root) /sbin/udevd.static -%attr(0755,root,root) /sbin/udevtrigger.static -%attr(0755,root,root) /sbin/udevsettle.static +%attr(0755,root,root) /sbin/udevadm.static %attr(755,root,root) %{udev_scriptdir}/scsi_id.static %attr(755,root,root) %{udev_scriptdir}/ata_id.static %attr(755,root,root) %{udev_scriptdir}/edd_id.static @@ -361,6 +364,13 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/pkgconfig/libvolume_id.pc %changelog +* Wed May 07 2008 Harald Hoyer 118-2 +- added better modprobedebug + +* Tue Jan 08 2008 Harald Hoyer 118-1 +- version 118 +- removed old USB compat rule (rhbz#424331) + * Thu Oct 18 2007 Harald Hoyer 116-3 - fixed preun chkconfig - added /sbin path to chkconfig in post section