rpms/udev/devel udev-084-floppy.patch, NONE, 1.1 udev-extras.patch, NONE, 1.1 udev-permconv.patch, NONE, 1.1 udev-rules.patch, NONE, 1.1 .cvsignore, 1.31, 1.32 sources, 1.31, 1.32 start_udev, 1.49, 1.50 udev.spec, 1.143, 1.144 udevstart2.patch, 1.5, 1.6 upstream, 1.3, 1.4 udev-063.tar.bz2.sign, 1.1, NONE udev-075-daemon.patch, 1.2, NONE udev-075-selinux.patch, 1.2, NONE udev-078-nodberr.patch, 1.1, NONE udev-078-redhat.patch, 1.7, NONE udev-078-udevstart-greylist.patch, 1.2, NONE
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Tue Feb 7 11:06:30 UTC 2006
Author: harald
Update of /cvs/dist/rpms/udev/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv29348
Modified Files:
.cvsignore sources start_udev udev.spec udevstart2.patch
upstream
Added Files:
udev-084-floppy.patch udev-extras.patch udev-permconv.patch
udev-rules.patch
Removed Files:
udev-063.tar.bz2.sign udev-075-daemon.patch
udev-075-selinux.patch udev-078-nodberr.patch
udev-078-redhat.patch udev-078-udevstart-greylist.patch
Log Message:
version 084
udev-084-floppy.patch:
create_floppy_devices.c | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
--- NEW FILE udev-084-floppy.patch ---
--- udev-084/extras/floppy/create_floppy_devices.c.redhat 2006-01-30 08:51:38.000000000 +0100
+++ udev-084/extras/floppy/create_floppy_devices.c 2006-02-07 10:58:51.000000000 +0100
@@ -111,15 +111,21 @@
return 0;
i = 0;
+
+ char buffer[2048]; buffer[0] = '\000'; buffer[2047]='\000';
+ char cmd[2048]; cmd[0] = '\000'; cmd[2047]='\000';
+
while (table_sup[type][i]) {
sprintf(node, "%s%s",dev, table[table_sup[type][i]]);
- minor = (table_sup[type][i] << 2) + fdnum;
- if (print_nodes)
- printf("%s b %d %d %d\n", node, mode, major, minor);
- if (create_nodes)
- mknod(node, S_IFBLK | mode, makedev(major,minor));
+ strcat(buffer, node);
+ strcat(buffer, " ");
i++;
}
+ if(strlen(buffer)) {
+ if (snprintf(cmd, 2047, "/sbin/MAKEDEV -x %s;/sbin/restorecon %s; /sbin/pam_console_apply %s;", buffer, buffer, buffer) > 0) {
+ system(cmd);
+ }
+ }
return 0;
}
udev-extras.patch:
check-cdrom.sh | 39 +++++++++++++++++++++++++++++++++++++++
ide-media.sh | 7 +++++++
load_floppy_module.sh | 35 +++++++++++++++++++++++++++++++++++
run_directory/MAKEDEV.dev | 38 ++++++++++++++++++++++++++++++++++++++
4 files changed, 119 insertions(+)
--- NEW FILE udev-extras.patch ---
--- /dev/null 2006-02-07 10:47:25.401206250 +0100
+++ udev-084/extras/check-cdrom.sh 2006-02-07 10:58:51.000000000 +0100
@@ -0,1 +1,40 @@
+#!/bin/bash
+
+pos=0
+n=0
+sp="$1"
+what="$2"
+found=0
+
+[ -e /proc/sys/dev/cdrom/info ] || exit 1
+
+/bin/cat /proc/sys/dev/cdrom/info | {
+ while read line; do
+ if [ "$found" = "0" -a "${line/drive name:}" != "$line" ]; then
+ set ${line/drive name:}
+ while [ $# -gt 0 ]; do
+ pos=$[$pos+1]
+ if [ "$1" == "$sp" ]; then
+ found=1
+ break
+ fi
+ shift
+ done
+ [ "$found" = "0" ] && exit 1
+ elif [ "${line/$what:}" != "$line" ]; then
+ set ${line##*$what:}
+ while [ $# -gt 0 ]; do
+ n=$[$n+1]
+ if [ "$n" == "$pos" ]; then
+ if [ "$1" = "1" ]; then
+ exit 0
+ fi
+ break
+ fi
+ shift
+ done
+ fi
+ done
+ exit 1
+}
--- /dev/null 2006-02-07 10:47:25.401206250 +0100
+++ udev-084/extras/ide-media.sh 2006-02-07 10:58:51.000000000 +0100
@@ -0,1 +1,8 @@
+#!/bin/bash
+i=0
+while [[ ! -a /proc/ide/$1/media && $i -lt 10 ]]; do
+ /bin/usleep 100000;
+ i=$[i+1];
+done
+/bin/cat /proc/ide/$1/media
--- /dev/null 2006-02-07 10:47:25.401206250 +0100
+++ udev-084/extras/run_directory/MAKEDEV.dev 2006-02-07 10:58:51.000000000 +0100
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+if [ "$ACTION" = "add" -a -e "$DEVNAME" ]; then
+ if [ -x /usr/bin/logger ]; then
+ LOGGER=/usr/bin/logger
+ elif [ -x /bin/logger ]; then
+ LOGGER=/bin/logger
+ else
+ unset LOGGER
+ fi
+ #
+ # for diagnostics
+ #
+ if [ -f /etc/udev/udev.conf ]; then
+ . /etc/udev/udev.conf
+ fi
+
+
+ if [ -t 1 -o -z "$LOGGER" ]; then
+ mesg () {
+ echo "$@"
+ }
+ else
+ mesg () {
+ $LOGGER -t $(basename $0)"[$$]" "$@"
+ }
+ fi
+
+ debug_mesg () {
+ test -z "$UDEV_LOG" -o "$UDEV_LOG" != "1" && return
+ mesg "$@"
+ }
+
+ debug_mesg "/sbin/MAKEDEV ${DEVNAME#$udev_root}"
+ /sbin/MAKEDEV "${DEVNAME#$udev_root}"
+ debug_mesg "Restoring permissions for " $DEVNAME*
+ /sbin/pam_console_apply $DEVNAME*
+fi
--- /dev/null 2006-02-07 10:47:25.401206250 +0100
+++ udev-084/extras/load_floppy_module.sh 2006-02-07 10:58:51.000000000 +0100
@@ -0,1 +1,36 @@
+#!/bin/sh
+########################################################################
+#
+# Description : load_floppy_module
+#
+# Authors : Based on Open Suse Udev Rules
+# kay.sievers at suse.de
+#
+# Notes : Loads the floppy module based upon contents of the NVRAM
+#
+########################################################################
+
+PROC=/proc/driver/nvram
+
+# wait for /proc file to appear
+loop=10
+while ! test -e $PROC; do
+ sleep 0.1;
+ test "$loop" -gt 0 || break
+ loop=$(($loop - 1))
+done
+
+if [ ! -r /proc/driver/nvram ]; then
+ exit 0;
+fi
+
+floppy_devices=$(cat $PROC | sed -n '/Floppy.*\..*/p')
+
+if [ -n "$floppy_devices" ]; then
+ /sbin/modprobe block-major-2-
+else
+ /bin/true
+fi
+
+exit $?
udev-permconv.patch:
udevpermconv.sh | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 94 insertions(+)
--- NEW FILE udev-permconv.patch ---
--- /dev/null 2006-02-07 10:47:25.401206250 +0100
+++ udev-084/extras/udevpermconv.sh 2006-02-07 10:58:51.000000000 +0100
@@ -0,0 +1,94 @@
+#!/bin/bash
+#
+# convert old udev permissions.d file to the new rules.d format.
+# revision 2
+#
+# Written by Michael Buesch <mbuesch at freenet.de>
+# This is released into the Public Domain.
+#
+
+
+perm_file="$1"
+
+function processLine
+{
+ local line="$1"
+ if [ -z "$line" ]; then
+ echo
+ return 1
+ fi
+ if [ "`echo $line | cut -b1`" = "#" ]; then
+ # comment
+ echo "$line"
+ return 2
+ fi
+
+ local i=
+ local kern_name=
+ local owner=
+ local group=
+ local mode=
+ for ((i = 1; i <= 4; i++)); do
+ local tmp="`echo $line | cut -d: -f $i`"
+ if [ $i -eq 1 ]; then
+ kern_name="$tmp"
+ elif [ $i -eq 2 ]; then
+ owner="$tmp"
+ elif [ $i -eq 3 ]; then
+ group="$tmp"
+ elif [ $i -eq 4 ]; then
+ mode="$tmp"
+ fi
+ done
+ if [ -z "$kern_name" ]; then
+ echo "Malformed line: \"$line\"" >&2
+ return 3
+ fi
+ local need_rule="no"
+ local out="KERNEL==\"$kern_name\""
+ local kern_name_len="`echo $kern_name | wc -c`"
+ kern_name_len="`expr $kern_name_len + 9`"
+ local num_tabs="`expr 32 - $kern_name_len`"
+ num_tabs="`expr $num_tabs / 8`"
+ while [ $num_tabs -gt 0 ]; do
+ out="${out}\t"
+ num_tabs="`expr $num_tabs - 1`"
+ done
+ if [ -n "$owner" ] && [ "$owner" != "root" ]; then
+ out="${out}, OWNER=\"$owner\""
+ need_rule="yes"
+ fi
+ if [ -n "$group" ] && [ "$group" != "root" ]; then
+ out="${out}, GROUP=\"$group\""
+ need_rule="yes"
+ fi
+ if [ -n "$mode" ] && [ "$mode" != "0600" ] && [ "$mode" != "600" ]; then
+ out="${out}, MODE=\"$mode\""
+ need_rule="yes"
+ fi
+ if [ "$need_rule" = "no" ]; then
+ echo "Do not need a rule for: \"$line\" (It's udev default permissions)" >&2
+ return 4
+ fi
+ echo -e "$out"
+ return 0
+}
+
+function processInput
+{
+ echo "Converting udev permissions file. This can take a while..." >&2
+ cat $perm_file | \
+ while read line; do
+ processLine "$line"
+ done
+ echo "done." >&2
+}
+
+if ! [ -r "$perm_file" ]; then
+ echo "Could not read input file" >&2
+ echo "Usage: $0 old_permission_file > new_rules_file" >&2
+ exit 1
+fi
+
+processInput
+exit 0
udev-rules.patch:
05-udev-early.rules | 9 +++
95-pam-console.rules | 1
hotplug.rules | 13 ++++-
udev.rules | 118 ++++++++++++++++++++++++++-------------------------
4 files changed, 82 insertions(+), 59 deletions(-)
--- NEW FILE udev-rules.patch ---
--- /dev/null 2006-02-07 10:47:25.401206250 +0100
+++ udev-084/etc/udev/redhat/95-pam-console.rules 2006-02-07 11:30:42.000000000 +0100
@@ -0,0 +1 @@
+ACTION=="add", SYSFS{dev}="?*", KERNEL=="?*", RUN+="/sbin/pam_console_apply $env{DEVNAME} $env{DEVLINKS}"
--- udev-084/etc/udev/redhat/hotplug.rules.redhat 2006-01-30 08:51:38.000000000 +0100
+++ udev-084/etc/udev/redhat/hotplug.rules 2006-02-07 10:58:51.000000000 +0100
@@ -1,9 +1,16 @@
# do not call hotplug.d and dev.d for "drivers" and "module" events
-SUBSYSTEM=="drivers", OPTIONS="last_rule"
-SUBSYSTEM=="module", OPTIONS="last_rule"
+SUBSYSTEM=="drivers", GOTO="hotplug_end"
+SUBSYSTEM=="module", GOTO="hotplug_end"
+ACTION="add", GOTO="hotplug_comp"
+ACTION="remove", GOTO="hotplug_comp"
+GOTO="hotplug_end"
+
+LABEL="hotplug_comp"
# compatibility support for the obsolete hotplug.d and dev.d directories
-ENV{UDEVD_EVENT}=="1", RUN+="/lib/udev/udev_run_hotplugd"
+ENV{UDEVD_EVENT}=="1", RUN+="/lib/udev/udev_run_hotplugd"
RUN+="/lib/udev/udev_run_devd"
+
+LABEL="hotplug_end"
--- /dev/null 2006-02-07 10:47:25.401206250 +0100
+++ udev-084/etc/udev/redhat/05-udev-early.rules 2006-02-07 11:30:42.000000000 +0100
@@ -0,1 +1,10 @@
+# sysfs is populated after the event is sent
+ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus"
+ACTION=="add", SUBSYSTEM=="net", WAIT_FOR_SYSFS="address"
+
+# ignore these events until someone needs them
+SUBSYSTEM=="drivers", OPTIONS="ignore_device"
+SUBSYSTEM=="module", OPTIONS="ignore_device"
+
+ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}=="*", RUN="/sbin/firmware_helper", OPTIONS="last_rule"
--- udev-084/etc/udev/redhat/udev.rules.redhat 2006-01-30 08:51:38.000000000 +0100
+++ udev-084/etc/udev/redhat/udev.rules 2006-02-07 11:30:42.000000000 +0100
@@ -3,6 +3,7 @@
#
# default is OWNER="root" GROUP="root", MODE="0600"
#
+
KERNEL="*", OWNER="root" GROUP="root", MODE="0600"
# all block devices
@@ -10,40 +11,44 @@
KERNEL=="root", GROUP="disk", MODE="0640"
# console devices
-KERNEL=="tty", MODE="0666", OPTIONS="last_rule"
-KERNEL=="console", MODE="0600", OPTIONS="last_rule"
-KERNEL=="tty[0-9]", GROUP="tty", MODE="0660", OPTIONS="last_rule"
-KERNEL=="tty[0-9][0-9]*", GROUP="tty", MODE="0660", OPTIONS="last_rule"
-KERNEL=="vc/[0-9]*", GROUP="tty", MODE="0660", OPTIONS="last_rule"
+KERNEL=="tty", NAME="%k", GROUP="tty", MODE="0666", OPTIONS="last_rule"
+KERNEL=="console", NAME="%k", MODE="0600", OPTIONS="last_rule"
+KERNEL=="tty[0-9]*", NAME="%k", GROUP="tty", MODE="0660", OPTIONS="last_rule"
+KERNEL=="vc/[0-9]*", NAME="%k", GROUP="tty", MODE="0660", OPTIONS="last_rule"
# pty devices
# Set this to 0660 if you only want users belonging to tty group
# to be able to allocate PTYs
-KERNEL=="ptmx", GROUP="tty", MODE="0666", OPTIONS="last_rule"
-KERNEL=="pty[p-za-e][0-9a-f]*", GROUP="tty", MODE="0660", OPTIONS="last_rule"
-KERNEL=="tty[p-za-e][0-9a-f]*", GROUP="tty", MODE="0660", OPTIONS="last_rule"
-KERNEL=="pty/m*", GROUP="tty", MODE="0660", OPTIONS="last_rule"
-KERNEL=="vc/s*", GROUP="tty", MODE="0660", OPTIONS="last_rule"
+KERNEL=="ptmx", NAME="%k", GROUP="tty", MODE="666", OPTIONS="last_rule"
+KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", NAME="%k", GROUP="tty", MODE="660", OPTIONS="last_rule"
+KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", NAME="%k", GROUP="tty", MODE="660", OPTIONS="last_rule"
+KERNEL=="pty/m*", NAME="%k", GROUP="tty", MODE="0660", OPTIONS="last_rule"
# serial+dialup devices
-KERNEL=="ttyS*", GROUP="uucp", MODE="0660", OPTIONS="last_rule"
-KERNEL=="ttyACM*", GROUP="uucp", MODE="0660", OPTIONS="last_rule"
-KERNEL=="ttyUSB*", GROUP="uucp", MODE="0660", OPTIONS="last_rule"
-KERNEL=="ippp*", MODE="0660"
-KERNEL=="isdn*", MODE="0660"
-KERNEL=="isdnctrl*", MODE="0660"
-KERNEL=="capi*", MODE="0660"
-KERNEL=="dcbri*", MODE="0660"
-KERNEL=="ircomm*", GROUP="uucp", MODE="0660"
-KERNEL=="tts/[0-9]*", GROUP="uucp", MODE="0660"
-KERNEL=="tts/USB[0-9]*", GROUP="uucp", MODE="0660"
+KERNEL=="ippp*", NAME="%k", MODE="0660"
+KERNEL=="isdn*", NAME="%k", MODE="0660"
+KERNEL=="isdnctrl*", NAME="%k", MODE="0660"
+KERNEL=="capi*", NAME="%k", MODE="0660"
+KERNEL=="dcbri*", NAME="%k", MODE="0660"
+KERNEL=="ircomm*", NAME="%k", GROUP="uucp", MODE="0660"
+KERNEL=="tts/[0-9]*", NAME="%k", GROUP="uucp", MODE="0660"
+KERNEL=="tts/USB[0-9]*", NAME="%k", GROUP="uucp", MODE="0660"
+KERNEL=="tty[A-Z]*", NAME="%k", GROUP="uucp", MODE="0660"
+KERNEL=="pppox*", NAME="%k", GROUP="uucp", MODE="0660"
+KERNEL=="ircomm*", NAME="%k", GROUP="uucp", MODE="0660"
+KERNEL=="modems/mwave*", NAME="%k", GROUP="uucp", MODE="0660"
+KERNEL=="hvc*", NAME="%k", GROUP="uucp", MODE="0660"
+KERNEL=="hvsi*", NAME="%k", GROUP="uucp", MODE="0660"
+KERNEL=="iseries/vtty*", NAME="%k", GROUP="uucp", MODE="0660"
+KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", SYMLINK+="pilot"
+KERNEL=="ttyUSB*", SYSFS{product}=="palmOne Handheld*", SYMLINK+="pilot"
# vc devices
-KERNEL=="vcs", OWNER="vcsa", GROUP="tty", OPTIONS="last_rule"
-KERNEL=="vcs[0-9]*", OWNER="vcsa", GROUP="tty", OPTIONS="last_rule"
-KERNEL=="vcsa", OWNER="vcsa", GROUP="tty", OPTIONS="last_rule"
-KERNEL=="vcsa[0-9]*", OWNER="vcsa", GROUP="tty", OPTIONS="last_rule"
-KERNEL=="vcc/*", OWNER="vcsa", GROUP="tty", OPTIONS="last_rule"
+KERNEL=="vcs", NAME="%k", OWNER="vcsa", GROUP="tty", OPTIONS="last_rule"
+KERNEL=="vcs[0-9]*", NAME="%k", OWNER="vcsa", GROUP="tty", OPTIONS="last_rule"
+KERNEL=="vcsa", NAME="%k", OWNER="vcsa", GROUP="tty", OPTIONS="last_rule"
+KERNEL=="vcsa[0-9]*", NAME="%k", OWNER="vcsa", GROUP="tty", OPTIONS="last_rule"
+KERNEL=="vcc/*", NAME="%k", OWNER="vcsa", GROUP="tty", OPTIONS="last_rule"
# memory devices
KERNEL=="random", MODE="0666", OPTIONS="last_rule"
@@ -54,6 +59,8 @@
KERNEL=="full", MODE="0666", OPTIONS="last_rule"
KERNEL=="null", MODE="0666", OPTIONS="last_rule"
KERNEL=="zero", MODE="0666", OPTIONS="last_rule"
+# 183 = /dev/hwrng Generic random number generator
+KERNEL=="hw_random", NAME="hwrng", SYMLINK+="%k"
# misc devices
KERNEL=="nvram", MODE="0660"
@@ -61,6 +68,10 @@
# floppy devices
KERNEL=="fd[01]*", GROUP="floppy", MODE="0660"
+# fix floppy devices
+KERNEL=="nvram", ACTION=="add", RUN+="load_floppy_module.sh"
+KERNEL=="fd[0-9]*", ACTION=="add", SYSFS{device/cmos}=="*", RUN+="create_floppy_devices -c -t $sysfs{device/cmos} -m %M /dev/%k"
+KERNEL=="fd[0-9]*", ACTION=="remove", RUN+="/bin/sh -c 'rm -f /dev/%k*'"
# audio devices
KERNEL=="dsp*", MODE="0660"
@@ -209,7 +220,7 @@
KERNEL=="fd[0-9]*", SYMLINK+="floppy%e"
KERNEL=="nst[0-9]", BUS=="scsi", SYMLINK+="tape%e", MODE="0660"
KERNEL=="nosst[0-9]", BUS=="scsi", SYMLINK+="tape%e", MODE="0660"
-KERNEL=="sg[0-9]*", BUS="scsi", SYSFS{type}=="6", SYMLINK+="scanner%e", MODE="0660"
+KERNEL=="sg[0-9]*", BUS="scsi", SYSFS{type}=="[36]", SYMLINK+="scanner%e", MODE="0660"
KERNEL=="umad*", NAME="infiniband/%k"
KERNEL=="issm*", NAME="infiniband/%k"
@@ -224,24 +235,25 @@
BUS=="scsi", KERNEL=="sg[0-9]*", SYSFS{type}=="6", NAME="%k", SYMLINK="scanner%e", MODE="0660"
# do not seperate the next 2 lines!!
-KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM=="/lib/udev/ide-media.sh %k", RESULT=="floppy", SYMLINK+="floppy%e", NAME{ignore_remove, all_partitions}="%k"
+KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM=="ide-media.sh %k", RESULT=="floppy", SYMLINK+="floppy%e", NAME{ignore_remove, all_partitions}="%k"
KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", RESULT=="cdrom", SYMLINK+="cdrom%e"
-KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM=="/lib/udev/check-cdrom.sh %k DVD", SYMLINK+="dvd%e"
-KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="/lib/udev/check-cdrom.sh %k DVD", SYMLINK+="dvd%e"
+KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM=="check-cdrom.sh %k DVD", SYMLINK+="dvd%e"
+KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="check-cdrom.sh %k DVD", SYMLINK+="dvd%e"
-KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM=="/lib/udev/check-cdrom.sh %k CD-R", SYMLINK+="cdwriter%e"
-KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="/lib/udev/check-cdrom.sh %k CD-R", SYMLINK+="cdwriter%e"
+KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM=="check-cdrom.sh %k CD-R", SYMLINK+="cdwriter%e"
+KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="check-cdrom.sh %k CD-R", SYMLINK+="cdwriter%e"
-KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM="/lib/udev/check-cdrom.sh %k DVD-R", SYMLINK+="dvdwriter%e"
-KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="/lib/udev/check-cdrom.sh %k DVD-R", SYMLINK+="dvdwriter%e"
+KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", PROGRAM="check-cdrom.sh %k DVD-R", SYMLINK+="dvdwriter%e"
+KERNEL=="sr[0-9]*", BUS=="scsi", PROGRAM=="check-cdrom.sh %k DVD-R", SYMLINK+="dvdwriter%e"
# rename sr* to scd*
KERNEL=="sr[0-9]*", BUS=="scsi", NAME="scd%n"
KERNEL=="hd[a-z]*", BUS=="ide", SYSFS{removable}=="1", NAME{ignore_remove}="%k"
-KERNEL=="dvb*", PROGRAM=="/lib/udev/dvb.sh %k", NAME="%c"
+# dvb
+SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c"
#######################################
# Persistent block device stuff - begin
@@ -297,37 +309,31 @@
# Persistent block device stuff - end
#####################################
-ACTION=="add", SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'X=%k X=$${X#usbdev} B=$${X%%%%.*} D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
-
+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"
# Perhaps this should just be for all subsystems?
+ACTION=="add", SUBSYSTEM=="?*", MODALIAS=="?*", RUN+="/sbin/modprobe $modalias"
-ACTION=="add", SUBSYSTEM=="pci", MODALIAS=="*", \
- RUN+="/sbin/modprobe $modalias"
-ACTION=="add", SUBSYSTEM=="usb", MODALIAS=="*", \
- RUN+="/sbin/modprobe $modalias"
-ACTION=="add", SUBSYSTEM=="pcmcia", MODALIAS=="*", \
- RUN+="/sbin/modprobe $modalias"
ACTION=="add", SUBSYSTEM=="pcmcia", MODALIAS=="*", \
RUN+="/bin/sh -c 'echo 1 > /sys/$DEVPATH/allow_func_id_match'"
-ACTION=="add", SUBSYSTEM=="ieee1394", MODALIAS=="*", \
- RUN+="/sbin/modprobe $modalias"
+# sd: 0 TYPE_DISK, 7 TYPE_MOD, 14 TYPE_RBC
+# sr: 4 TYPE_WORM, 5 TYPE_ROM
+# st/osst: 1 TYPE_TAPE
+ACTION=="add", SUBSYSTEM="scsi" , SYSFS{type}=="0|7|14", RUN+="/bin/sh -c 'echo 60 > /sys$$DEVPATH/timeout'"
+ACTION=="add", SUBSYSTEM="scsi" , SYSFS{type}=="1", RUN+="/bin/sh -c 'echo 900 > /sys$$DEVPATH/timeout'"
-ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="[07]", \
+ACTION=="add", SUBSYSTEM=="scsi_device", SYSFS{type}=="0|7|14", \
RUN+="/sbin/modprobe sd_mod"
-ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="14", \
- RUN+="/sbin/modprobe sd_mod"
-ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="[45]", \
+ACTION=="add", SUBSYSTEM=="scsi_device", SYSFS{type}=="[45]", \
RUN+="/sbin/modprobe sr_mod"
-ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="1", SYSFS{vendor}=="On[sS]tream", \
+ACTION=="add", SUBSYSTEM=="scsi_device", SYSFS{type}=="1", SYSFS{device/vendor}=="On[sS]tream", \
SYSFS{model}!="ADR*", RUN+="/sbin/modprobe osst"
-ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="1", SYSFS{vendor}=="On[sS]tream", \
+ACTION=="add", SUBSYSTEM=="scsi_device", SYSFS{type}=="1", SYSFS{device/vendor}=="On[sS]tream", \
SYSFS{model}=="ADR*", RUN+="/sbin/modprobe st"
-ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="1", SYSFS{vendor}!="On[sS]tream", \
+ACTION=="add", SUBSYSTEM=="scsi_device", SYSFS{type}=="1", SYSFS{device/vendor}!="On[sS]tream", \
RUN+="/sbin/modprobe st"
-ACTION=="add", SUBSYSTEM=="scsi", SYSFS{type}=="[23689]", \
- RUN+="/sbin/modprobe sg"
+ACTION=="add", SUBSYSTEM=="scsi_device" RUN+="/sbin/modprobe sg"
+
+RUN+="socket:/org/kernel/udev/monitor"
-ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}=="*", \
- RUN+="/sbin/firmware_helper"
Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/udev/devel/.cvsignore,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- .cvsignore 21 Dec 2005 11:36:18 -0000 1.31
+++ .cvsignore 7 Feb 2006 11:06:12 -0000 1.32
@@ -1 +1 @@
-udev-078.tar.bz2
+udev-084.tar.bz2
Index: sources
===================================================================
RCS file: /cvs/dist/rpms/udev/devel/sources,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- sources 21 Dec 2005 11:36:19 -0000 1.31
+++ sources 7 Feb 2006 11:06:14 -0000 1.32
@@ -1 +1 @@
-afdacc5f3e6ced2923479b37da41fd0b udev-078.tar.bz2
+143b3691ae5e6f96995e5749894f78e4 udev-084.tar.bz2
Index: start_udev
===================================================================
RCS file: /cvs/dist/rpms/udev/devel/start_udev,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- start_udev 11 Jan 2006 12:11:24 -0000 1.49
+++ start_udev 7 Feb 2006 11:06:19 -0000 1.50
@@ -28,7 +28,7 @@
[ -d $sysfs_dir/class ] || exit 1
[ -r /proc/mounts ] || exit 1
-[ -x /sbin/udev ] || exit 1
+[ -x /sbin/udevd ] || exit 1
[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
udev_root=${udev_root-/dev}
@@ -119,7 +119,10 @@
loop=200
while test -d /dev/.udev/queue; do
usleep 100000;
- test "$loop" -gt 0 || return 1
+ if [ "$loop" -le 0 ]; then
+ echo -n "Wait timeout. Will continue in the background."
+ return 1
+ fi
loop=$(($loop - 1))
done
return 0
Index: udev.spec
===================================================================
RCS file: /cvs/dist/rpms/udev/devel/udev.spec,v
retrieving revision 1.143
retrieving revision 1.144
diff -u -r1.143 -r1.144
--- udev.spec 6 Feb 2006 15:30:27 -0000 1.143
+++ udev.spec 7 Feb 2006 11:06:20 -0000 1.144
@@ -4,8 +4,8 @@
Summary: A userspace implementation of devfs
Name: udev
-Version: 078
-Release: 9
+Version: 084
+Release: 1
License: GPL
Group: System Environment/Base
Provides: udev-persistent = 0:%{version}-%{release}
@@ -17,11 +17,11 @@
Source10: firmware_helper.c
-Patch1: udev-078-redhat.patch
-Patch2: udevstart2.patch
-Patch3: udev-075-selinux.patch
-Patch4: udev-078-udevstart-greylist.patch
-Patch5: udev-078-nodberr.patch
+Patch1: udev-permconv.patch
+Patch2: udev-rules.patch
+Patch3: udevstart2.patch
+Patch4: udev-084-floppy.patch
+Patch5: udev-extras.patch
ExclusiveOS: Linux
URL: http://kernel.org/pub/linux/utils/kernel/hotplug/
@@ -41,11 +41,11 @@
%prep
%setup -q
-%patch1 -p1 -b .redhat
-%patch2 -p1 -b .udevstart2
-%patch3 -p1 -b .selinux
-%patch4 -p1 -b .greylist
-%patch5 -p1 -b .nodberr
+%patch1 -p1 -b .rhpermconv
+%patch2 -p1 -b .rhrules
+%patch3 -p1 -b .rhudevstart
+%patch4 -p1 -b .rhfloppy
+%patch5 -p1 -b .rhextras
%build
@@ -68,7 +68,6 @@
%endif
" all
-mv udev udev.static
mv udevd udevd.static
mv extras/scsi_id/scsi_id extras/scsi_id/scsi_id.static
mv extras/ata_id/ata_id extras/ata_id/ata_id.static
@@ -145,7 +144,6 @@
install -m 0644 etc/udev/udev.conf $RPM_BUILD_ROOT%{_sysconfdir}/udev/udev.conf
-install -m 0755 udev.static $RPM_BUILD_ROOT/sbin/udev.static
install -m 0755 udevd.static $RPM_BUILD_ROOT/sbin/udevd.static
@@ -153,9 +151,6 @@
mkdir -p $RPM_BUILD_ROOT%{udev_scriptdir}/{,devices}
-install -m 0644 extras/run_directory/dev.d/default/pam_console.dev $RPM_BUILD_ROOT%{udev_scriptdir}
-ln -s %{udev_scriptdir}/pam_console.dev $RPM_BUILD_ROOT%{_sysconfdir}/dev.d/default/05-pam_console.dev
-
for i in load_floppy_module.sh check-cdrom.sh ide-media.sh udevpermconv.sh; do
install -m 0755 extras/$i $RPM_BUILD_ROOT%{udev_scriptdir}
done
@@ -166,6 +161,7 @@
install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT/sbin/start_udev
install -m 0644 extras/path_id $RPM_BUILD_ROOT/sbin/path_id
install -m 0755 firmware_helper $RPM_BUILD_ROOT/sbin
+install -m 0755 udevstart $RPM_BUILD_ROOT/sbin
install -m 0644 extras/run_directory/MAKEDEV.dev $RPM_BUILD_ROOT/%{udev_scriptdir}/MAKEDEV.dev
@@ -216,11 +212,8 @@
%defattr(-,root,root)
%doc COPYING README TODO ChangeLog RELEASE-NOTES docs/*
%doc etc/udev/redhat/udev.rules
-%attr(0755,root,root) /sbin/udev
-%attr(0755,root,root) /sbin/udev.static
%attr(0755,root,root) /sbin/udevd.static
%attr(0755,root,root) /sbin/udevcontrol
-%attr(0755,root,root) /sbin/udevsend
%attr(0755,root,root) /sbin/udevd
%attr(0755,root,root) /sbin/udevstart
%attr(0755,root,root) /sbin/start_udev
@@ -251,8 +244,6 @@
%ghost %dir %{_sysconfdir}/udev/scripts/
%ghost %dir %{_sysconfdir}/udev/devices/
%attr(0755,root,root) %dir %{_sysconfdir}/udev/makedev.d/
-%attr(0755,root,root) %{udev_scriptdir}/pam_console.dev
-%config(missingok) %{_sysconfdir}/dev.d/default/05-pam_console.dev
%attr(0755,root,root) %dir %{_sysconfdir}/dev.d/default
%attr(0755,root,root) %dir %{_sysconfdir}/dev.d/
%attr(0755,root,root) %{udev_scriptdir}/MAKEDEV.dev
@@ -276,12 +267,16 @@
%dir %attr(0755,root,root) /lib/firmware
%attr(0644,root,root) %{_mandir}/man8/udev*.8*
+%attr(0644,root,root) %{_mandir}/man7/udev*.7*
%attr(0644,root,root) %{_mandir}/man8/scsi_id*.8*
%attr(0644,root,root) %{_mandir}/man8/ata_id*.8*
%attr(0644,root,root) %{_mandir}/man8/edd_id*.8*
%attr(0644,root,root) %{_mandir}/man8/vol_id*.8*
%changelog
+* Tue Feb 07 2006 Harald Hoyer <harald at redhat.com> - 084-1
+- version 084
+
* Mon Feb 06 2006 Harald Hoyer <harald at redhat.com> - 078-9
- closed fd leak (bug #179980)
udevstart2.patch:
udevstart.c | 168 +++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 99 insertions(+), 69 deletions(-)
Index: udevstart2.patch
===================================================================
RCS file: /cvs/dist/rpms/udev/devel/udevstart2.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- udevstart2.patch 21 Dec 2005 11:36:19 -0000 1.5
+++ udevstart2.patch 7 Feb 2006 11:06:20 -0000 1.6
@@ -1,16 +1,14 @@
---- udev-078/udevstart.c.udevstart2 2005-12-17 16:40:29.000000000 +0100
-+++ udev-078/udevstart.c 2005-12-21 10:57:18.000000000 +0100
-@@ -37,6 +37,7 @@
+--- udev-084/udevstart.c.udevstart2 2006-01-30 08:51:38.000000000 +0100
++++ udev-084/udevstart.c 2006-02-07 10:11:31.000000000 +0100
+@@ -37,13 +37,13 @@
#include <sys/wait.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <fcntl.h>
++#include <fnmatch.h>
- #include "libsysfs/sysfs/libsysfs.h"
- #include "udev_libc_wrapper.h"
-@@ -47,9 +48,7 @@
+ #include "udev.h"
#include "udev_rules.h"
- #include "list.h"
-static const char *udev_run_str;
static const char *udev_log_str;
@@ -18,75 +16,54 @@
#ifdef USE_LOG
void log_message(int priority, const char *format, ...)
-@@ -109,71 +108,29 @@
+@@ -101,76 +101,60 @@
static char *first_list[] = {
"/class/mem",
"/class/tty",
+ "/bus",
++ NULL,
++};
++
++/* list of devices whose modaliases we should run last */
++static char *last_modalias_list[] = {
++ "pci:v*d*sv*sd*bc0Csc03i*", /* USB controller */
++ "pci:v*d*sv*sd*bc0Csc00i10*", /* Firewire controller */
NULL,
};
--
-+
- static int add_device(const char *devpath, const char *subsystem)
+
+ static int add_device(const char *devpath)
{
-- struct udevice udev;
-- struct sysfs_class_device *class_dev;
-- char path[PATH_SIZE];
+- struct sysfs_device *dev;
+- struct udevice *udev;
+- int retval = 0;
-
- /* clear and set environment for next event */
- clearenv();
- setenv("ACTION", "add", 1);
-- setenv("DEVPATH", devpath, 1);
-- setenv("SUBSYSTEM", subsystem, 1);
- setenv("UDEV_START", "1", 1);
- if (udev_log_str)
- setenv("UDEV_LOG", udev_log_str, 1);
- if (udev_run_str)
- setenv("UDEV_RUN", udev_run_str, 1);
-- dbg("add '%s'", devpath);
-
-- snprintf(path, sizeof(path), "%s%s", sysfs_path, devpath);
-- path[sizeof(path)-1] = '\0';
-- class_dev = sysfs_open_class_device_path(path);
-- if (class_dev == NULL) {
-- dbg("sysfs_open_class_device_path failed");
+- dev = sysfs_device_get(devpath);
+- if (dev == NULL)
- return -1;
-- }
-
-- udev_init_device(&udev, &class_dev->path[strlen(sysfs_path)], subsystem, "add");
-- udev.devt = get_devt(class_dev);
-- if (!udev.devt && udev.type != DEV_NET) {
-- dbg("sysfs_open_class_device_path failed");
+- udev = udev_device_init();
+- if (udev == NULL)
- return -1;
-- }
-- udev_rules_get_name(&rules, &udev, class_dev);
-- if (udev.ignore_device) {
-- dbg("device event will be ignored");
-- goto exit;
-- }
-- if (udev.name[0] == '\0') {
-- dbg("device node creation supressed");
-- goto run;
-- }
-
-- udev_add_device(&udev, class_dev);
--run:
-- if (udev_run && !list_empty(&udev.run_list)) {
-- struct name_entry *name_loop;
--
-- dbg("executing run list");
-- list_for_each_entry(name_loop, &udev.run_list, node) {
-- if (strncmp(name_loop->name, "socket:", strlen("socket:")) == 0)
-- pass_env_to_socket(&name_loop->name[strlen("socket:")], devpath, "add");
-- else
-- run_program(name_loop->name, udev.subsystem, NULL, 0, NULL, (udev_log_priority >= LOG_INFO));
-- }
+- /* override built-in sysfs device */
+- udev->dev = dev;
+- strcpy(udev->action, "add");
+- udev->devt = udev_device_get_devt(udev);
+-
+- if (strcmp(udev->dev->subsystem, "net") != 0) {
+- udev->devt = udev_device_get_devt(udev);
+- if (major(udev->devt) == 0)
+- return -1;
- }
--exit:
-- sysfs_close_class_device(class_dev);
-- udev_cleanup_device(&udev);
--
-- return 0;
+ char filename[PATH_SIZE];
+ int fd;
+
@@ -102,13 +79,85 @@
+ else return 1;
+
+ return 0;
- }
++}
+
+- dbg("add '%s'", udev->dev->devpath);
+- setenv("DEVPATH", udev->dev->devpath, 1);
+- setenv("SUBSYSTEM", udev->dev->subsystem, 1);
-
-+
- static void exec_list(struct list_head *device_list)
- {
- struct device *loop_device;
-@@ -222,7 +179,7 @@
+- udev_rules_get_name(&rules, udev);
+- if (udev->ignore_device) {
+- dbg("device event will be ignored");
+- goto exit;
+- }
+- if (udev->name[0] != '\0')
+- retval = udev_add_device(udev);
+- else
+- info("device node creation supressed");
+-
+- if (retval == 0 && udev_run) {
+- struct name_entry *name_loop;
+-
+- dbg("executing run list");
+- list_for_each_entry(name_loop, &udev->run_list, node) {
+- if (strncmp(name_loop->name, "socket:", strlen("socket:")) == 0)
+- pass_env_to_socket(&name_loop->name[strlen("socket:")], udev->dev->devpath, "add");
+- else {
+- char program[PATH_SIZE];
+-
+- strlcpy(program, name_loop->name, sizeof(program));
+- udev_rules_apply_format(udev, program, sizeof(program));
+- run_program(program, udev->dev->subsystem, NULL, 0, NULL, (udev_log_priority >= LOG_INFO));
+- }
++static int modalias_is_greylisted(struct device *dev)
++{
++
++ char filename[PATH_SIZE];
++ char alias[PATH_SIZE];
++ int fd, i;
++
++ snprintf(filename,sizeof(filename),"%s/%s/modalias", sysfs_path, dev->path);
++ filename[sizeof(filename)-1] = '\0';
++
++ fd = open(filename, O_RDONLY);
++ if (fd == -1)
++ return 0;
++ read(fd,alias,PATH_SIZE);
++ alias[sizeof(alias)-1] = '\0';
++ alias[strlen(alias)-1] = '\0';
++
++ for (i = 0; last_modalias_list[i] != NULL; i++)
++ if (!fnmatch(last_modalias_list[i], alias, 0)) {
++ close(fd);
++ return 1;
+ }
+- }
+
+-exit:
+- udev_device_cleanup(udev);
++ close(fd);
+ return 0;
+ }
+
+@@ -184,6 +168,8 @@
+ list_for_each_entry_safe(loop_device, tmp_device, device_list, node) {
+ for (i = 0; first_list[i] != NULL; i++) {
+ if (strncmp(loop_device->path, first_list[i], strlen(first_list[i])) == 0) {
++ if (modalias_is_greylisted(loop_device))
++ continue;
+ add_device(loop_device->path);
+ list_del(&loop_device->node);
+ free(loop_device);
+@@ -203,6 +189,8 @@
+ }
+ if (found)
+ continue;
++ if (modalias_is_greylisted(loop_device))
++ continue;
+
+ add_device(loop_device->path);
+ list_del(&loop_device->node);
+@@ -222,7 +210,7 @@
char filename[PATH_SIZE];
struct stat statbuf;
@@ -117,7 +166,7 @@
filename[sizeof(filename)-1] = '\0';
if (stat(filename, &statbuf) == 0)
-@@ -279,6 +236,50 @@
+@@ -279,6 +267,50 @@
}
}
@@ -155,7 +204,7 @@
+ dirname2[sizeof(dirname2)-1] = '\0';
+
+ if (has_devt(dirname2))
-+ device_list_insert(dirname2, dent->d_name, device_list);
++ device_list_insert(dirname2, device_list);
+ }
+ closedir(dir2);
+ }
@@ -168,35 +217,35 @@
static void udev_scan_class(struct list_head *device_list)
{
char base[PATH_SIZE];
-@@ -312,7 +313,7 @@
+@@ -312,7 +344,7 @@
snprintf(dirname2, sizeof(dirname2), "%s/%s", dirname, dent2->d_name);
dirname2[sizeof(dirname2)-1] = '\0';
- if (has_devt(dirname2) || strcmp(dent->d_name, "net") == 0)
+ if (has_devt(dirname2))
- device_list_insert(dirname2, dent->d_name, device_list);
+ device_list_insert(dirname2, device_list);
}
closedir(dir2);
-@@ -342,7 +343,6 @@
- udev_init_config();
+@@ -342,7 +374,6 @@
+ udev_config_init();
dbg("version %s", UDEV_VERSION);
- udev_run_str = getenv("UDEV_RUN");
udev_log_str = getenv("UDEV_LOG");
/* disable all logging if not explicitely requested */
-@@ -361,13 +361,11 @@
- /* trigger timeout to prevent hanging processes */
+@@ -362,13 +393,12 @@
alarm(UDEV_ALARM_TIMEOUT);
+ sysfs_init();
- udev_rules_init(&rules, 1);
--
+
+ udev_scan_bus(&device_list);
udev_scan_class(&device_list);
udev_scan_block(&device_list);
exec_list(&device_list);
-- udev_rules_close(&rules);
+- udev_rules_cleanup(&rules);
+ sysfs_cleanup();
logging_close();
return 0;
- }
Index: upstream
===================================================================
RCS file: /cvs/dist/rpms/udev/devel/upstream,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- upstream 11 Jan 2005 10:53:53 -0000 1.3
+++ upstream 7 Feb 2006 11:06:20 -0000 1.4
@@ -1 +1 @@
-udev-050.tar.bz2
+udev-084.tar.bz2
--- udev-063.tar.bz2.sign DELETED ---
--- udev-075-daemon.patch DELETED ---
--- udev-075-selinux.patch DELETED ---
--- udev-078-nodberr.patch DELETED ---
--- udev-078-redhat.patch DELETED ---
--- udev-078-udevstart-greylist.patch DELETED ---
More information about the fedora-cvs-commits
mailing list