[arch-commits] CVS update of core/base/udev (PKGBUILD load-modules.sh usb_id-fix.patch)
Tobias Powalowski
tpowa at archlinux.org
Thu Oct 18 09:21:48 UTC 2007
Date: Thursday, October 18, 2007 @ 05:21:48
Author: tpowa
Path: /home/cvs-core/core/base/udev
Added: usb_id-fix.patch (1.1)
Modified: PKGBUILD (1.149 -> 1.150) load-modules.sh (1.8 -> 1.9)
'upgpkg: added usb_id.fix and fixed #8316'
------------------+
PKGBUILD | 17 +++++---
load-modules.sh | 4 -
usb_id-fix.patch | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 120 insertions(+), 8 deletions(-)
Index: core/base/udev/PKGBUILD
diff -u core/base/udev/PKGBUILD:1.149 core/base/udev/PKGBUILD:1.150
--- core/base/udev/PKGBUILD:1.149 Mon Oct 15 13:55:05 2007
+++ core/base/udev/PKGBUILD Thu Oct 18 05:21:48 2007
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD,v 1.149 2007/10/15 17:55:05 tpowa Exp $
+# $Id: PKGBUILD,v 1.150 2007/10/18 09:21:48 tpowa Exp $
# Maintainer: Judd Vinet <jvinet at zeroflux.org>
pkgname=udev
pkgver=116
-pkgrel=1
+pkgrel=2
pkgdesc="The userspace dev tools (udev)"
arch=(i686 x86_64)
url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
@@ -14,23 +14,27 @@
etc/udev/rules.d/udev.rules etc/scsi_id.config etc/udev/cdsymlinks.conf)
conflicts=('pcmcia-cs' 'hotplug')
replaces=('devfsd')
+options=(!makeflags)
source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgname-$pkgver.tar.bz2 \
migrate-udev udev.rules start_udev load-modules.sh cdrom-rules.patch cdsymlinks.sh root-link.sh\
- readme-udev-arch.txt)
+ readme-udev-arch.txt usb_id-fix.patch)
md5sums=('02c49d93ffda4a104c853c082138b835'
'49434a593918c822077bc3af765f1aff'
'e3ce87c990b1ed410a368dc7ea4c7f2f'
'a68a519d1ed8cbbd2f45c23eb32ea218'
- '592f2ba6323b66799f4954f1ed1ee93b'
+ '7fde690532937da756fa26e8f9757590'
'12d3ab1283c56beb903afcab11789037'
'8424b78e9dd772e75b4ef90814807815'
'2d6dc6842464f107bccc68cd505a6c31'
- 'f01c60661e4b32ca7c7f905c1e194a52')
+ 'f01c60661e4b32ca7c7f905c1e194a52'
+ '0abefab0d8eda09c78b85524e1ffcf60')
build() {
cd $startdir/src/$pkgname-$pkgver
+ # http://git.kernel.org/?p=linux/hotplug/udev.git;a=commitdiff;h=963033472f8d2aab0bf77147b916de8f3b0b5450#patch1
+ patch -Np1 -i ../usb_id-fix.patch || return 1
make || return 1
- make -j1 INSTALL=/bin/install DESTDIR=$startdir/pkg install \
+ make INSTALL=/bin/install DESTDIR=$startdir/pkg install \
EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id extras/firmware extras/floppy extras/scsi_id extras/usb_id extras/volume_id extras/path_id extras/rule_generator"
# remove udev default files
rm -f $startdir/pkg/etc/udev/rules.d/{05-udev-early.rules,50-udev-default.rules,60-persistent-storage.rules,61-persistent-storage-edd.rules,60-persistent-input.rules,80-drivers.rules,95-udev-late.rules}
@@ -60,3 +64,4 @@
mv $startdir/pkg/etc/udev/rules.d/75-cd-aliases-generator.rules \
$startdir/pkg/etc/udev/rules.d/75-cd-aliases-generator.rules.optional
}
+
Index: core/base/udev/load-modules.sh
diff -u core/base/udev/load-modules.sh:1.8 core/base/udev/load-modules.sh:1.9
--- core/base/udev/load-modules.sh:1.8 Tue Feb 6 06:00:03 2007
+++ core/base/udev/load-modules.sh Thu Oct 18 05:21:48 2007
@@ -38,7 +38,7 @@
if [ "${k}" != "" ]; then
for n in ${i}; do
if echo ${k} | /bin/grep "\<$n\>" 2>&1 >/dev/null; then
- /usr/bin/logger -p messages.info \
+ /usr/bin/logger -p info \
"udev load-modules: $i is blacklisted"
exit 1
fi
@@ -46,7 +46,7 @@
fi
/sbin/modprobe $1
else
- /usr/bin/logger -p messages.info \
+ /usr/bin/logger -p info \
"udev load-modules: autoloading is disabled, not loading $i"
fi
# vim: set et ts=4:
Index: core/base/udev/usb_id-fix.patch
diff -u /dev/null core/base/udev/usb_id-fix.patch:1.1
--- /dev/null Thu Oct 18 05:21:48 2007
+++ core/base/udev/usb_id-fix.patch Thu Oct 18 05:21:48 2007
@@ -0,0 +1,107 @@
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Mon, 15 Oct 2007 18:38:20 +0000 (+0200)
+Subject: usb_id: fail if vendor/product can not be retrieved
+X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=963033472f8d2aab0bf77147b916de8f3b0b5450
+
+usb_id: fail if vendor/product can not be retrieved
+
+Thanks to Daniel Drake for identifying the bug.
+---
+
+diff --git a/extras/usb_id/usb_id.c b/extras/usb_id/usb_id.c
+index d36a27b..5fb030d 100644
+--- a/extras/usb_id/usb_id.c
++++ b/extras/usb_id/usb_id.c
+@@ -1,7 +1,5 @@
+ /*
+- * usb_id.c
+- *
+- * Identify an USB (block) device
++ * usb_id - identify an USB device
+ *
+ * Copyright (c) 2005 SUSE Linux Products GmbH, Germany
+ *
+@@ -224,8 +222,6 @@ static int usb_id(const char *devpath)
+ struct sysfs_device *dev;
+ struct sysfs_device *dev_interface;
+ struct sysfs_device *dev_usb;
+- const char *scsi_model, *scsi_vendor, *scsi_type, *scsi_rev;
+- const char *usb_model = NULL, *usb_vendor = NULL, *usb_rev, *usb_serial;
+ const char *if_class, *if_subclass;
+ int if_class_num;
+ int protocol = 0;
+@@ -271,6 +267,7 @@ static int usb_id(const char *devpath)
+ /* mass storage */
+ if (protocol == 6 && !use_usb_info) {
+ struct sysfs_device *dev_scsi;
++ const char *scsi_model, *scsi_vendor, *scsi_type, *scsi_rev;
+ int host, bus, target, lun;
+
+ /* get scsi device */
+@@ -321,40 +318,50 @@ static int usb_id(const char *devpath)
+ }
+
+ fallback:
+- /* Fallback to USB vendor & device */
++ /* fallback to USB vendor & device */
+ if (vendor_str[0] == '\0') {
++ const char *usb_vendor = NULL;
++
+ if (!use_num_info)
+- if (!(usb_vendor = sysfs_attr_get_value(dev_usb->devpath, "manufacturer")))
+- dbg("No USB vendor string found, using idVendor");
++ usb_vendor = sysfs_attr_get_value(dev_usb->devpath, "manufacturer");
++
++ if (!usb_vendor)
++ usb_vendor = sysfs_attr_get_value(dev_usb->devpath, "idVendor");
+
+ if (!usb_vendor) {
+- if (!(usb_vendor = sysfs_attr_get_value(dev_usb->devpath, "idVendor"))) {
+- dbg("No USB vendor information available\n");
+- sprintf(vendor_str,"0000");
+- }
++ info("No USB vendor information available");
++ return 1;
+ }
+- set_str(vendor_str,usb_vendor, sizeof(vendor_str) - 1);
++ set_str(vendor_str, usb_vendor, sizeof(vendor_str)-1);
+ }
+-
++
+ if (model_str[0] == '\0') {
++ const char *usb_model = NULL;
++
+ if (!use_num_info)
+- if (!(usb_model = sysfs_attr_get_value(dev_usb->devpath, "product")))
+- dbg("No USB model string found, using idProduct");
+-
++ usb_model = sysfs_attr_get_value(dev_usb->devpath, "product");
++
++ if (!usb_model)
++ usb_model = sysfs_attr_get_value(dev_usb->devpath, "idProduct");
++
+ if (!usb_model) {
+- if (!(usb_model = sysfs_attr_get_value(dev_usb->devpath, "idProduct")))
+- dbg("No USB model information available\n"); sprintf(model_str,"0000");
++ dbg("No USB model information available");
++ return 1;
+ }
+- set_str(model_str, usb_model, sizeof(model_str) - 1);
++ set_str(model_str, usb_model, sizeof(model_str)-1);
+ }
+
+ if (revision_str[0] == '\0') {
++ const char *usb_rev;
++
+ usb_rev = sysfs_attr_get_value(dev_usb->devpath, "bcdDevice");
+ if (usb_rev)
+ set_str(revision_str, usb_rev, sizeof(revision_str)-1);
+ }
+
+ if (serial_str[0] == '\0') {
++ const char *usb_serial;
++
+ usb_serial = sysfs_attr_get_value(dev_usb->devpath, "serial");
+ if (usb_serial)
+ set_str(serial_str, usb_serial, sizeof(serial_str)-1);
+
More information about the arch-commits
mailing list