Hello community,

here is the log from the commit of package usbutils for openSUSE:Factory
checked in at Fri Jun 17 09:52:33 CEST 2011.



--------
--- usbutils/usbutils.changes   2010-12-15 01:49:28.000000000 +0100
+++ /mounts/work_src_done/STABLE/usbutils/usbutils.changes      2011-06-16 
09:55:06.000000000 +0200
@@ -1,0 +2,13 @@
+Thu Mar 17 23:44:50 UTC 2011 - gre...@suse.de
+
+- usbutils 002
+       Diego Elio Pettenò (2):
+             Simplify the configure script.
+             Print device class descriptors like it's done 
+              for interface descriptors.
+
+       Greg Kroah-Hartman (2):
+             Updated version of lsusb.py from Kurt Garloff.
+             add lsusb.py to the bin files
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  usbutils-001.tar.bz2

New:
----
  usbutils-002.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ usbutils.spec ++++++
--- /var/tmp/diff_new_pack.iAttlt/_old  2011-06-17 09:46:53.000000000 +0200
+++ /var/tmp/diff_new_pack.iAttlt/_new  2011-06-17 09:46:53.000000000 +0200
@@ -1,7 +1,7 @@
 #
-# spec file for package usbutils (Version 001)
+# spec file for package usbutils
 #
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -21,7 +21,7 @@
 Name:           usbutils
 BuildRequires:  libusb-1_0-devel pkg-config
 Url:            http://sourceforge.net/projects/linux-usb/
-Version:        001
+Version:        002
 Release:        1
 License:        GPLv2+
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ usbutils-001.tar.bz2 -> usbutils-002.tar.bz2 ++++++
++++ 4518 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/usbutils-001/Makefile.am new/usbutils-002/Makefile.am
--- old/usbutils-001/Makefile.am        2010-11-16 23:12:53.000000000 +0100
+++ new/usbutils-002/Makefile.am        2011-01-13 00:09:34.000000000 +0100
@@ -17,7 +17,8 @@
        update-usbids.sh
 
 bin_SCRIPTS = \
-       usb-devices
+       usb-devices \
+       lsusb.py
 
 lsusb_SOURCES = \
        lsusb.c \
@@ -44,6 +45,7 @@
        lsusb.8.in \
        usb-devices.1.in \
        usb-devices \
+       lsusb.py \
        usbutils.pc.in
 
 usb.ids.gz: $(srcdir)/usb.ids
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/usbutils-001/NEWS new/usbutils-002/NEWS
--- old/usbutils-001/NEWS       2010-12-15 01:33:25.000000000 +0100
+++ new/usbutils-002/NEWS       2011-03-18 00:19:26.000000000 +0100
@@ -1,3 +1,15 @@
+usbutils 002
+============
+
+Diego Elio Pettenò (2):
+      Simplify the configure script.
+      Print device class descriptors like it's done for interface descriptors.
+
+Greg Kroah-Hartman (2):
+      Updated version of lsusb.py from Kurt Garloff.
+      add lsusb.py to the bin files
+
+
 usbutils 001
 ============
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/usbutils-001/config.h.in new/usbutils-002/config.h.in
--- old/usbutils-001/config.h.in        2010-12-15 01:32:17.000000000 +0100
+++ new/usbutils-002/config.h.in        2011-03-18 00:19:48.000000000 +0100
@@ -6,9 +6,6 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
-/* Define to 1 if you have the `z' library (-lz). */
-#undef HAVE_LIBZ
-
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/usbutils-001/configure.ac new/usbutils-002/configure.ac
--- old/usbutils-001/configure.ac       2010-12-15 01:32:08.000000000 +0100
+++ new/usbutils-002/configure.ac       2011-03-18 00:19:40.000000000 +0100
@@ -1,5 +1,5 @@
 AC_INIT([usbutils],
-       [001],
+       [002],
        [linux-...@vger.kernel.org])
 AC_PREREQ(2.60)
 AM_INIT_AUTOMAKE([check-news foreign 1.9 dist-bzip2])
@@ -11,25 +11,15 @@
 
 AC_CHECK_HEADERS([byteswap.h])
 
-USE_ZLIB=yes
 AC_ARG_ENABLE(zlib,
-       AS_HELP_STRING(--disable-zlib,disable support for zlib),
-       [
-               if eval "test x$enable_zlib = xno"; then
-                       USE_ZLIB=
-               fi
-       ])
-if test "$USE_ZLIB" = "yes" ; then
-       AC_CHECK_LIB(z, inflateEnd)
-       if test "${ac_cv_lib_z_inflateEnd}" = "yes" ; then
-               HAVE_ZLIB="yes"
-       fi
-fi
-AM_CONDITIONAL(HAVE_ZLIB, test x$HAVE_ZLIB = xyes)
+       AS_HELP_STRING(--disable-zlib,disable support for zlib))
+
+HAVE_ZLIB=no
+AS_IF([test "x$enable_zlib" != "xno"],
+       [AC_CHECK_LIB(z, inflateEnd, HAVE_ZLIB=yes)])
+AM_CONDITIONAL(HAVE_ZLIB, [test "$HAVE_ZLIB" = "yes"])
 
 PKG_CHECK_MODULES(LIBUSB, libusb-1.0 >= 1.0.0)
-AC_SUBST(LIBUSB_CFLAGS)
-AC_SUBST(LIBUSB_LIBS)
 
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_FILES([
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/usbutils-001/lsusb.c new/usbutils-002/lsusb.c
--- old/usbutils-001/lsusb.c    2010-12-01 02:40:58.000000000 +0100
+++ new/usbutils-002/lsusb.c    2011-01-13 00:09:41.000000000 +0100
@@ -803,6 +803,17 @@
                                        dump_bytes(buf, buf[0]);
                                }
                                break;
+                       case USB_DT_CS_DEVICE:
+                               /* MISPLACED DESCRIPTOR ... less indent */
+                               switch (interface->bInterfaceClass) {
+                               case USB_CLASS_CCID:
+                                       dump_ccid_device(buf);
+                                       break;
+                               default:
+                                       printf("        DEVICE CLASS: ");
+                                       dump_bytes(buf, buf[0]);
+                               }
+                               break;
                        case USB_DT_OTG:
                                /* handled separately */
                                break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/usbutils-001/lsusb.py new/usbutils-002/lsusb.py
--- old/usbutils-001/lsusb.py   1970-01-01 01:00:00.000000000 +0100
+++ new/usbutils-002/lsusb.py   2010-12-16 01:07:09.000000000 +0100
@@ -0,0 +1,526 @@
+#!/usr/bin/env python
+# lsusb.py
+# Displays your USB devices in reasonable form.
+# (c) Kurt Garloff <garl...@suse.de>, 2/2009, GPL v2 or v3.
+# Usage: See usage()
+
+import os, sys, re, getopt
+
+# from __future__ import print_function
+
+# Global options
+showint = False
+showhubint = False
+noemptyhub = False
+nohub = False
+warnsort = False
+
+prefix = "/sys/bus/usb/devices/"
+usbids = "/usr/share/usb.ids"
+
+esc = chr(27)
+norm = esc + "[0;0m"
+bold = esc + "[0;1m"
+red =  esc + "[0;31m"
+green= esc + "[0;32m"
+amber= esc + "[0;33m"
+
+cols = ("", "", "", "", "")
+
+def readattr(path, name):
+       "Read attribute from sysfs and return as string"
+       f = open(prefix + path + "/" + name);
+       return f.readline().rstrip("\n");
+
+def readlink(path, name):
+       "Read symlink and return basename"
+       return os.path.basename(os.readlink(prefix + path + "/" + name));
+
+class UsbClass:
+       "Container for USB Class/Subclass/Protocol"
+       def __init__(self, cl, sc, pr, str = ""):
+               self.pclass = cl
+               self.subclass = sc
+               self.proto = pr
+               self.desc = str
+       def __repr__(self):
+               return self.desc
+       def __cmp__(self, oth):
+               # Works only on 64bit systems:
+               #return self.pclass*0x10000+self.subclass*0x100+self.proto \
+               #       - oth.pclass*0x10000-oth.subclass*0x100-oth.proto
+               if self.pclass != oth.pclass:
+                       return self.pclass - oth.pclass
+               if self.subclass != oth.subclass:
+                       return self.subclass - oth.subclass
+               return self.proto - oth.proto
+
+class UsbVendor:
+       "Container for USB Vendors"
+       def __init__(self, vid, vname = ""):
+               self.vid = vid
+               self.vname = vname
+       def __repr__(self):
+               return self.vname
+       def __cmp__(self, oth):
+               return self.vid - oth.vid
+
+class UsbProduct:
+       "Container for USB VID:PID devices"
+       def __init__(self, vid, pid, pname = ""):
+               self.vid = vid
+               self.pid = pid
+               self.pname = pname
+       def __repr__(self):
+               return self.pname
+       def __cmp__(self, oth):
+               # Works only on 64bit systems:
+               # return self.vid*0x10000 + self.pid \
+               #       - oth.vid*0x10000 - oth.pid
+               if self.vid != oth.vid:
+                       return self.vid - oth.vid
+               return self.pid - oth.pid
+
+usbvendors = []
+usbproducts = []
+usbclasses = []
+
+def ishexdigit(str):
+       "return True if all digits are valid hex digits"
+       for dg in str:
+               if not dg.isdigit() and not dg in 'abcdef':
+                       return False
+       return True
+
+def parse_usb_ids():
+       "Parse /usr/share/usb.ids and fill usbvendors, usbproducts, usbclasses"
+       id = 0
+       sid = 0
+       mode = 0
+       strg = ""
+       cstrg = ""
+       for ln in file(usbids, "r").readlines():
+               if ln[0] == '#':
+                       continue
+               ln = ln.rstrip('\n')
+               if len(ln) == 0:
+                       continue
+               if ishexdigit(ln[0:4]):
+                       mode = 0
+                       id = int(ln[:4], 16)
+                       usbvendors.append(UsbVendor(id, ln[6:]))
+                       continue
+               if ln[0] == '\t' and ishexdigit(ln[1:3]):
+                       sid = int(ln[1:5], 16)
+                       # USB devices
+                       if mode == 0:
+                               usbproducts.append(UsbProduct(id, sid, ln[7:]))
+                               continue
+                       elif mode == 1:
+                               nm = ln[5:]
+                               if nm != "Unused":
+                                       strg = cstrg + ":" + nm
+                               else:
+                                       strg = cstrg + ":"
+                               usbclasses.append(UsbClass(id, sid, -1, strg))
+                               continue
+               if ln[0] == 'C':
+                       mode = 1
+                       id = int(ln[2:4], 16)
+                       cstrg = ln[6:]
+                       usbclasses.append(UsbClass(id, -1, -1, cstrg))
+                       continue
+               if mode == 1 and ln[0] == '\t' and ln[1] == '\t' and 
ishexdigit(ln[2:4]):
+                       prid = int(ln[2:4], 16)
+                       usbclasses.append(UsbClass(id, sid, prid, strg + ":" + 
ln[6:]))
+                       continue
+               mode = 2
+
+def bin_search(first, last, item, list):
+       "binary search on list, returns -1 on fail, match idx otherwise, 
recursive"
+       #print "bin_search(%i,%i)" % (first, last)
+       if first == last:
+               return -1
+       if first == last-1:
+               if item == list[first]:
+                       return first
+               else:
+                       return -1
+       mid = (first+last) // 2
+       if item == list[mid]:
+               return mid
+       elif item < list[mid]:
+               return bin_search(first, mid, item, list)
+       else:
+               return bin_search(mid, last, item, list)
+
+
+def find_usb_prod(vid, pid):
+       "Return device name from USB Vendor:Product list"
+       strg = ""
+       dev = UsbVendor(vid, "")
+       lnvend = len(usbvendors)
+       ix = bin_search(0, lnvend, dev, usbvendors)
+       if ix != -1:
+               strg = usbvendors[ix].__repr__()
+       else:
+               return ""
+       dev = UsbProduct(vid, pid, "")
+       lnprod = len(usbproducts)
+       ix = bin_search(0, lnprod, dev, usbproducts)
+       if ix != -1:
+               return strg + " " + usbproducts[ix].__repr__()
+       return strg
+
+def find_usb_class(cid, sid, pid):
+       "Return USB protocol from usbclasses list"
+       if cid == 0xff and sid == 0xff and pid == 0xff:
+               return "Vendor Specific"
+       lnlst = len(usbclasses)
+       dev = UsbClass(cid, sid, pid, "")
+       ix = bin_search(0, lnlst, dev, usbclasses)
+       if ix != -1:
+               return usbclasses[ix].__repr__()
+       dev = UsbClass(cid, sid, -1, "")
+       ix = bin_search(0, lnlst, dev, usbclasses)
+       if ix != -1:
+               return usbclasses[ix].__repr__()
+       dev = UsbClass(cid, -1, -1, "")
+       ix = bin_search(0, lnlst, dev, usbclasses)
+       if ix != -1:
+               return usbclasses[ix].__repr__()
+       return ""
+
+
+devlst = (     'host',         # usb-storage
+               'video4linux/video',    # uvcvideo et al.
+               'sound/card',   # snd-usb-audio 
+               'net/',         # cdc_ether, ...
+               'input/input',  # usbhid
+               'usb:hiddev',   # usb hid
+               'bluetooth/hci',        # btusb
+               'ttyUSB',       # btusb
+               'tty/',         # cdc_acm
+               'usb:lp',       # usblp
+               #'usb/lp',      # usblp 
+               'usb/',         # hiddev, usblp
+       )
+
+def find_storage(hostno):
+       "Return SCSI block dev names for host"
+       res = ""
+       for ent in os.listdir("/sys/class/scsi_device/"):
+               (host, bus, tgt, lun) = ent.split(":")
+               if host == hostno:
+                       try:
+                               for ent2 in 
os.listdir("/sys/class/scsi_device/%s/device/block" % ent):
+                                       res += ent2 + " "
+                       except:
+                               pass
+       return res
+
+def find_dev(driver, usbname):
+       "Return pseudo devname that's driven by driver"
+       res = ""
+       for nm in devlst:
+               dir = prefix + usbname
+               prep = ""
+               #print nm
+               idx = nm.find('/')
+               if idx != -1:
+                       prep = nm[:idx+1]
+                       dir += "/" + nm[:idx]
+                       nm = nm[idx+1:]
+               ln = len(nm)
+               try:
+                       for ent in os.listdir(dir):
+                               if ent[:ln] == nm:
+                                       res += prep+ent+" "
+                                       if nm == "host":
+                                               res += "(" + 
find_storage(ent[ln:])[:-1] + ")"
+               except:
+                       pass
+       return res
+
+
+class UsbInterface:
+       "Container for USB interface info"
+       def __init__(self, parent = None, level = 1):
+               self.parent = parent
+               self.level = level
+               self.fname = ""
+               self.iclass = 0
+               self.isclass = 0
+               self.iproto = 0
+               self.noep = 0
+               self.driver = ""
+               self.devname = ""
+               self.protoname = ""
+       def read(self, fname):
+               fullpath = ""
+               if self.parent:
+                       fullpath += self.parent.fname + "/"
+               fullpath += fname
+               #self.fname = fullpath
+               self.fname = fname
+               self.iclass = int(readattr(fullpath, "bInterfaceClass"),16)
+               self.isclass = int(readattr(fullpath, "bInterfaceSubClass"),16)
+               self.iproto = int(readattr(fullpath, "bInterfaceProtocol"),16)
+               self.noep = int(readattr(fullpath, "bNumEndpoints"))
+               try:
+                       self.driver = readlink(fname, "driver")
+                       self.devname = find_dev(self.driver, fname)
+               except:
+                       pass
+               self.protoname = find_usb_class(self.iclass, self.isclass, 
self.iproto)
+       def __str__(self):
+               return "%-16s(IF) %02x:%02x:%02x %iEPs (%s) %s%s %s%s%s\n" % \
+                       (" " * self.level+self.fname, self.iclass,
+                        self.isclass, self.iproto, self.noep,
+                        self.protoname, 
+                        cols[3], self.driver,
+                        cols[4], self.devname, cols[0])
+
+class UsbDevice:
+       "Container for USB device info"
+       def __init__(self, parent = None, level = 0):
+               self.parent = parent
+               self.level = level
+               self.fname = ""
+               self.iclass = 0
+               self.isclass = 0
+               self.iproto = 0
+               self.vid = 0
+               self.pid = 0
+               self.name = ""
+               self.usbver = ""
+               self.speed = ""
+               self.maxpower = ""
+               self.noports = 0
+               self.nointerfaces = 0
+               self.driver = ""
+               self.devname = ""
+               self.interfaces = []
+               self.children = []
+
+       def read(self, fname):
+               self.fname = fname
+               self.iclass = int(readattr(fname, "bDeviceClass"), 16)
+               self.isclass = int(readattr(fname, "bDeviceSubClass"), 16)
+               self.iproto = int(readattr(fname, "bDeviceProtocol"), 16)
+               self.vid = int(readattr(fname, "idVendor"), 16)
+               self.pid = int(readattr(fname, "idProduct"), 16)
+               try:
+                       self.name = readattr(fname, "manufacturer") + " " \
+                                 + readattr(fname, "product")
+                       #self.name += " " + readattr(fname, "serial")
+                       if self.name[:5] == "Linux":
+                               rx = re.compile(r"Linux [^ ]* (.hci_hcd) .HCI 
Host Controller")
+                               mch = rx.match(self.name)
+                               if mch:
+                                       self.name = mch.group(1)
+
+               except:
+                       pass
+               if not self.name:
+                       self.name = find_usb_prod(self.vid, self.pid)
+               # Some USB Card readers have a better name then Generic ...
+               if self.name[:7] == "Generic":
+                       oldnm = self.name
+                       self.name = find_usb_prod(self.vid, self.pid)
+                       if not self.name:
+                               self.name = oldnm
+               try:
+                       ser = readattr(fname, "serial")
+                       # Some USB devs report "serial" as serial no. suppress
+                       if (ser and ser != "serial"):
+                               self.name += " " + ser
+               except:
+                       pass
+               self.usbver = readattr(fname, "version")
+               self.speed = readattr(fname, "speed")
+               self.maxpower = readattr(fname, "bMaxPower")
+               self.noports = int(readattr(fname, "maxchild"))
+               try:
+                       self.nointerfaces = int(readattr(fname, 
"bNumInterfaces"))
+               except:
+                       #print "ERROR: %s/bNumInterfaces = %s" % (fname,
+                       #               readattr(fname, "bNumInterfaces"))a
+                       self.nointerfaces = 0
+               try:
+                       self.driver = readlink(fname, "driver")
+                       self.devname = find_dev(self.driver, fname)
+               except:
+                       pass
+
+       def readchildren(self):
+               if self.fname[0:3] == "usb":
+                       fname = self.fname[3:]
+               else:
+                       fname = self.fname
+               for dirent in os.listdir(prefix + self.fname):
+                       if not dirent[0:1].isdigit():
+                               continue
+                       #print dirent
+                       if os.access(prefix + dirent + "/bInterfaceClass", 
os.R_OK):
+                               iface = UsbInterface(self, self.level+1)
+                               iface.read(dirent)
+                               self.interfaces.append(iface)
+                       else:
+                               usbdev = UsbDevice(self, self.level+1)
+                               usbdev.read(dirent)
+                               usbdev.readchildren()
+                               self.children.append(usbdev)
+
+       def __str__(self):
+               #str = " " * self.level + self.fname
+               if self.iclass == 9:
+                       col = cols[2]
+                       if noemptyhub and len(self.children) == 0:
+                               return ""
+                       if nohub:
+                               str = ""
+               else:
+                       col = cols[1]
+               if not nohub or self.iclass != 9:
+                       str = "%-16s%s%04x:%04x%s %02x %s%4sMBit/s %s %iIFs 
(%s%s%s)" % \
+                               (" " * self.level + self.fname, 
+                                cols[1], self.vid, self.pid, cols[0],
+                                self.iclass, self.usbver, self.speed, 
self.maxpower,
+                                self.nointerfaces, col, self.name, cols[0])
+                       #if self.driver != "usb":
+                       #       str += " %s" % self.driver
+                       if self.iclass == 9 and not showhubint:
+                               str += " %shub%s\n" % (cols[2], cols[0])
+                       else:
+                               str += "\n"
+                               if showint:     
+                                       for iface in self.interfaces:
+                                               str += iface.__str__()
+               for child in self.children:
+                       str += child.__str__()
+               return str
+
+def deepcopy(lst):
+       "Returns a deep copy from the list lst"
+       copy = []
+       for item in lst:
+               copy.append(item)
+       return copy
+
+def display_diff(lst1, lst2, fmtstr, args):
+       "Compare lists (same length!) and display differences"
+       for idx in range(0, len(lst1)):
+               if lst1[idx] != lst2[idx]:
+                       print "Warning: " + fmtstr % args(lst2[idx])
+
+def fix_usbvend():
+       "Sort USB vendor list and (optionally) display diffs"
+       if warnsort:
+               oldusbvend = deepcopy(usbvendors)
+       usbvendors.sort()
+       if warnsort:
+               display_diff(usbvendors, oldusbvend, 
+                               "Unsorted Vendor ID %04x",
+                               lambda x: (x.vid,))
+
+def fix_usbprod():
+       "Sort USB products list"
+       if warnsort:
+               oldusbprod = deepcopy(usbproducts)
+       usbproducts.sort()
+       if warnsort:
+               display_diff(usbproducts, oldusbprod, 
+                               "Unsorted Vendor:Product ID %04x:%04x",
+                               lambda x: (x.vid, x.pid))
+
+def fix_usbclass():
+       "Sort USB class list"
+       if warnsort:
+               oldusbcls = deepcopy(usbclasses)
+       usbclasses.sort()
+       if warnsort:
+               display_diff(usbclasses, oldusbcls,
+                               "Unsorted USB class %02x:%02x:%02x",
+                               lambda x: (x.pclass, x.subclass, x.proto))
+
+
+def usage():
+       "Displays usage information"
+       print "Usage: lsusb.py [options]"
+       print "Options:"
+       print " -h display this help"
+       print " -i display interface information"
+       print " -I display interface information, even for hubs"
+       print " -u suppress empty hubs"
+       print " -U suppress all hubs"
+       print " -c use colors"
+       print " -w display warning if usb.ids is not sorted correctly"
+       print " -f FILE override filename for /usr/share/usb.ids"
+       return 2
+
+def read_usb():
+       "Read toplevel USB entries and print"
+       for dirent in os.listdir(prefix):
+               #print dirent,
+               if not dirent[0:3] == "usb":
+                       continue
+               usbdev = UsbDevice(None, 0)
+               usbdev.read(dirent)
+               usbdev.readchildren()
+               os.write(sys.stdout.fileno(), usbdev.__str__())
+
+def main(argv):
+       "main entry point"
+       global showint, showhubint, noemptyhub, nohub, warnsort, cols, usbids
+       try:
+               (optlist, args) = getopt.gnu_getopt(argv[1:], "hiIuUwcf:", 
("help",))
+       except getopt.GetoptError, exc:
+               print "Error:", exc
+               sys.exit(usage())
+       for opt in optlist:
+               if opt[0] == "-h" or opt[0] == "--help":
+                       usage()
+                       sys.exit(0)
+               if opt[0] == "-i":
+                       showint = True
+                       continue
+               if opt[0] == "-I":
+                       showint = True
+                       showhubint = True
+                       continue
+               if opt[0] == "-u":
+                       noemptyhub = True
+                       continue
+               if opt[0] == "-U":
+                       noemptyhub = True
+                       nohub = True
+                       continue
+               if opt[0] == "-c":
+                       cols = (norm, bold, red, green, amber)
+                       continue
+               if opt[0] == "-w":
+                       warnsort = True
+                       continue
+               if opt[0] == "-f":
+                       usbids = opt[1]
+                       continue
+       if len(args) > 0:
+               print "Error: excess args %s ..." % args[0]
+               sys.exit(usage())
+
+       try:
+               parse_usb_ids()
+               fix_usbvend()   
+               fix_usbprod()
+               fix_usbclass()
+       except:
+               print >>sys.stderr, " WARNING: Failure to read usb.ids"
+               print >>sys.stderr, sys.exc_info()
+       read_usb()
+
+# Entry point
+if __name__ == "__main__":
+       main(sys.argv)
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/usbutils-001/usbhid-dump/m4/libtool.m4 
new/usbutils-002/usbhid-dump/m4/libtool.m4
--- old/usbutils-001/usbhid-dump/m4/libtool.m4  2010-07-01 12:44:35.000000000 
+0200
+++ new/usbutils-002/usbhid-dump/m4/libtool.m4  2011-03-01 13:12:38.000000000 
+0100
@@ -1020,7 +1020,7 @@
 # to the aix ld manual.
 m4_defun([_LT_SYS_MODULE_PATH_AIX],
 [m4_require([_LT_DECL_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+AC_LINK_IFELSE([AC_LANG_PROGRAM],[
 lt_aix_libpath_sed='
     /Import File Strings/,/^$/ {
        /^0/ {
@@ -4825,9 +4825,18 @@
        # implicitly export all symbols.
         save_LDFLAGS="$LDFLAGS"
         LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo 
${wl}-update_registry ${wl}/dev/null"
-        AC_LINK_IFELSE(int foo(void) {},
+        AC_LINK_IFELSE(
+          [AC_LANG_SOURCE(
+            [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+                          [C++], [[int foo (void) { return 0; }]],
+                          [Fortran 77], [[
+       subroutine foo
+       end]],
+                          [Fortran], [[
+       subroutine foo
+       end]])])], [
           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO 
"X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry 
${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o 
$lib'
-        )
+        ])
         LDFLAGS="$save_LDFLAGS"
       else
        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version 
$verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/usbutils-001/usbhid-dump/m4/ltversion.m4 
new/usbutils-002/usbhid-dump/m4/ltversion.m4
--- old/usbutils-001/usbhid-dump/m4/ltversion.m4        2010-07-01 
12:44:35.000000000 +0200
+++ new/usbutils-002/usbhid-dump/m4/ltversion.m4        2011-03-01 
13:12:38.000000000 +0100
@@ -9,15 +9,15 @@
 
 # Generated from ltversion.in.
 
-# serial 3017 ltversion.m4
+# serial 3018 ltversion.m4
 # This file is part of GNU Libtool
 
 m4_define([LT_PACKAGE_VERSION], [2.2.6b])
-m4_define([LT_PACKAGE_REVISION], [1.3017])
+m4_define([LT_PACKAGE_REVISION], [1.3018])
 
 AC_DEFUN([LTVERSION_VERSION],
 [macro_version='2.2.6b'
-macro_revision='1.3017'
+macro_revision='1.3018'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to