[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