Package: hotplug Version: 0.0.20040329-24 Severity: normal Please use this patch from Ubuntu to include grepmap support in the startup scripts. This makes start up a lot faster. grepmap is not in Debian yet, but will be soon.
-- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.11-1-686-smp Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages hotplug depends on: ii bash 3.0-15 The GNU Bourne Again SHell ii debconf 1.4.52 Debian configuration management sy ii grep 2.5.1.ds1-5 GNU grep, egrep and fgrep ii module-init-tools 3.2-pre1-2 tools for managing Linux kernel mo ii modutils 2.4.27.0-3 Linux module utilities ii procps 1:3.2.5-1 /proc file system utilities ii sed 4.1.4-2 The GNU sed stream editor Versions of packages hotplug recommends: ii ifupdown 0.6.7 high level tools to configure netw ii pciutils 1:2.1.11-15ubuntu5 Linux PCI Utilities ii usbutils 0.71-5 USB console utilities -- debconf information excluded
diff -ruN hotplug-2004_03_29~/etc/hotplug/hotplug.functions hotplug-2004_03_29/etc/hotplug/hotplug.functions --- hotplug-2004_03_29~/etc/hotplug/hotplug.functions 2004-10-31 16:20:05.000000000 +0000 +++ hotplug-2004_03_29/etc/hotplug/hotplug.functions 2004-11-01 11:01:42.901449544 +0000 @@ -120,9 +120,13 @@ esac fi - # try parsing by shell scripts if no luck yet + # try parsing by grepmap or shell scripts if no luck yet if [ "$DRIVERS" = "" ]; then - ${TYPE}_map_modules < $FILENAME + if [ -x /sbin/grepmap -a -n "$GREPMAP_ARGS" ]; then + DRIVERS=`/sbin/grepmap --${TYPE}map --file=$FILENAME $GREPMAP_ARGS` + else + ${TYPE}_map_modules < $FILENAME + fi fi # FIXME remove dups and blacklisted modules from $DRIVERS here diff -ruN hotplug-2004_03_29~/etc/hotplug/ieee1394.agent hotplug-2004_03_29/etc/hotplug/ieee1394.agent --- hotplug-2004_03_29~/etc/hotplug/ieee1394.agent 2004-10-31 16:20:04.000000000 +0000 +++ hotplug-2004_03_29/etc/hotplug/ieee1394.agent 2004-11-01 10:49:39.521420024 +0000 @@ -45,6 +45,7 @@ device_vendor_id=$((0x$VENDOR_ID)) device_specifier_id=$((0x$SPECIFIER_ID)) device_version=$((0x$VERSION)) +GREPMAP_ARGS="0x$VENDOR_ID 0x$SPECIFIER_ID 0x$VERSION" MATCH_VENDOR_ID=0x0001 MATCH_SPECIFIER_ID=0x0004 diff -ruN hotplug-2004_03_29~/etc/hotplug/input.agent hotplug-2004_03_29/etc/hotplug/input.agent --- hotplug-2004_03_29~/etc/hotplug/input.agent 2004-10-31 16:20:03.000000000 +0000 +++ hotplug-2004_03_29/etc/hotplug/input.agent 2004-11-01 11:01:00.896835216 +0000 @@ -82,10 +82,16 @@ i_vendor=$((0x$2)) i_product=$((0x$3)) i_version=$((0x$4)) + GREPMAP_ARGS="0x$1 0x$2 0x$3 0x$4" + else + GREPMAP_ARGS="0 0 0 0" fi if [ "$EV" != "" ]; then i_evBits=$((0x$EV)) + GREPMAP_ARGS="$GREPMAP_ARGS 0x$EV" + else + GREPMAP_ARGS="$GREPMAP_ARGS 0" fi input_join_words i_keyBits "$KEY" @@ -95,6 +101,7 @@ input_join_words i_ledBits "$LED" input_join_words i_sndBits "$SND" input_join_words i_ffBits "$FF" + GREPMAP_ARGS="$GREPMAP_ARGS ${i_keyBits:-0} ${i_relBits:-0} ${i_absBits:-0} ${i_mscBits:-0} ${i_ledBits:-0} ${i_sndBits:-0} ${i_ffBits:-0}" } INPUT_DEVICE_ID_MATCH_BUS=1 diff -ruN hotplug-2004_03_29~/etc/hotplug/pci.agent hotplug-2004_03_29/etc/hotplug/pci.agent --- hotplug-2004_03_29~/etc/hotplug/pci.agent 2004-10-31 16:20:03.000000000 +0000 +++ hotplug-2004_03_29/etc/hotplug/pci.agent 2004-11-01 10:49:15.004147216 +0000 @@ -64,10 +64,12 @@ set $(echo $PCI_ID | sed -e 's/\([^:]*\):\(.*\)/\1 \2/') pci_id_vendor=$((0x$1)) pci_id_device=$((0x$2)) + GREPMAP_ARGS="0x$1 0x$2" set $(echo $PCI_SUBSYS_ID | sed -e 's/\([^:]*\):\(.*\)/\1 \2/') pci_subid_vendor=$((0x$1)) pci_subid_device=$((0x$2)) + GREPMAP_ARGS="$GREPMAP_ARGS 0x$1 0x$2 0x$PCI_CLASS" } PCI_ANY=$((0xffffffff)) diff -ruN hotplug-2004_03_29~/etc/hotplug/usb.agent hotplug-2004_03_29/etc/hotplug/usb.agent --- hotplug-2004_03_29~/etc/hotplug/usb.agent 2004-10-31 16:20:04.000000000 +0000 +++ hotplug-2004_03_29/etc/hotplug/usb.agent 2004-11-01 11:00:06.474108728 +0000 @@ -183,6 +183,7 @@ usb_idVendor=$((0x$1)) usb_idProduct=$((0x$2)) usb_bcdDevice=$((0x$3)) + GREPMAP_ARGS="0x$1 0x$2 0x$3" if [ "$TYPE" != "" ]; then IFS=/ @@ -190,16 +191,22 @@ usb_bDeviceClass=$1 usb_bDeviceSubClass=$2 usb_bDeviceProtocol=$3 + GREPMAP_ARGS="$GREPMAP_ARGS $(printf "0x%x 0x%x 0x%x" $1 $2 $3)" IFS="$DEFAULT_IFS" elif [ -r $SYSFS/$DEVPATH/bDeviceClass ]; then - usb_bDeviceClass=$((0x$(cat $SYSFS/$DEVPATH/bDeviceClass))) - usb_bDeviceSubClass=$((0x$(cat $SYSFS/$DEVPATH/bDeviceSubClass))) - usb_bDeviceProtocol=$((0x$(cat $SYSFS/$DEVPATH/bDeviceProtocol))) + _bDeviceClass="0x$(cat $SYSFS/$DEVPATH/bDeviceClass)" + _bDeviceSubClass="0x$(cat $SYSFS/$DEVPATH/bDeviceSubClass)" + _bDeviceProtocol="0x$(cat $SYSFS/$DEVPATH/bDeviceProtocol)" + usb_bDeviceClass=$(($_bDeviceClass)) + usb_bDeviceSubClass=$(($_bDeviceSubClass)) + usb_bDeviceProtocol=$(($_bDeviceProtocol)) + GREPMAP_ARGS="$GREPMAP_ARGS $_bDeviceClass $_bDeviceSubClass $_bDeviceProtocol" else # out-of-range values usb_bDeviceClass=1000 usb_bDeviceSubClass=1000 usb_bDeviceProtocol=1000 + GREPMAP_ARGS="$GREPMAP_ARGS 0xffff 0xffff 0xffff" fi if [ "$INTERFACE" != "" ]; then @@ -208,16 +215,22 @@ usb_bInterfaceClass=$1 usb_bInterfaceSubClass=$2 usb_bInterfaceProtocol=$3 + GREPMAP_ARGS="$GREPMAP_ARGS $(printf "0x%x 0x%x 0x%x" $1 $2 $3)" IFS="$DEFAULT_IFS" elif [ -r $SYSFS/$DEVPATH/bInterfaceClass ]; then - usb_bInterfaceClass=$((0x$(cat $SYSFS/$DEVPATH/bInterfaceClass))) - usb_bInterfaceSubClass=$((0x$(cat $SYSFS/$DEVPATH/bInterfaceSubClass))) - usb_bInterfaceProtocol=$((0x$(cat $SYSFS/$DEVPATH/bInterfaceProtocol))) + _bInterfaceClass="0x$(cat $SYSFS/$DEVPATH/bInterfaceClass)" + _bInterfaceSubClass="0x$(cat $SYSFS/$DEVPATH/bInterfaceSubClass)" + _bInterfaceProtocol="0x$(cat $SYSFS/$DEVPATH/bInterfaceProtocol)" + usb_bInterfaceClass=$(($_bInterfaceClass)) + usb_bInterfaceSubClass=$(($_bInterfaceSubClass)) + usb_bInterfaceProtocol=$(($_bInterfaceProtocol)) + GREPMAP_ARGS="$GREPMAP_ARGS $_bInterfaceClass $_bInterfaceSubClass $_bInterfaceProtocol" else # out-of-range values usb_bInterfaceClass=1000 usb_bInterfaceSubClass=1000 usb_bInterfaceProtocol=1000 + GREPMAP_ARGS="$GREPMAP_ARGS 0xffff 0xffff 0xffff" fi }