Add support for newer format types in usb ids file with patch from upstream cvs ...
authorMike Frysinger <vapier@gentoo.org>
Wed, 30 Nov 2005 06:40:14 +0000 (06:40 +0000)
committerMike Frysinger <vapier@gentoo.org>
Wed, 30 Nov 2005 06:40:14 +0000 (06:40 +0000)
Package-Manager: portage-2.0.53_rc7

sys-apps/usbutils/ChangeLog
sys-apps/usbutils/Manifest
sys-apps/usbutils/files/digest-usbutils-0.71-r1 [new file with mode: 0644]
sys-apps/usbutils/files/usbutils-0.71-new-video-format.patch [new file with mode: 0644]
sys-apps/usbutils/usbutils-0.71-r1.ebuild [new file with mode: 0644]

index 58dd5b0cf76966ce371b11a70e04a3764a2fef34..8176d75be30fff5c27377b8b38c865a99c9ab921 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for sys-apps/usbutils
 # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/usbutils/ChangeLog,v 1.38 2005/07/12 03:45:34 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/usbutils/ChangeLog,v 1.39 2005/11/30 06:40:14 vapier Exp $
+
+*usbutils-0.71-r1 (30 Nov 2005)
+
+  30 Nov 2005; Mike Frysinger <vapier@gentoo.org>
+  +files/usbutils-0.71-new-video-format.patch, +usbutils-0.71-r1.ebuild:
+  Add support for newer format types in usb ids file with patch from upstream
+  cvs #111781.
 
 *usbutils-0.71 (12 Jul 2005)
 
index 515768034e490e8a48c2bfdc4ced5761ae291904..a83a14bb68236dd37ef3cce4ac0e3cbb9e697829 100644 (file)
@@ -1,21 +1,24 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 2f96f4804743b4736dc41cd054df0d12 usbutils-0.71.ebuild 1215
-MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
-MD5 3bf5ce706718e4c6b91aa5399624c849 usbutils-0.11-r6.ebuild 1486
-MD5 126fca63244365009de4c30b6b0c41d2 usbutils-0.11-r5.ebuild 1440
-MD5 9ce5195f1a313270008f53c42b740a88 ChangeLog 4683
-MD5 ab0f2b4ad3bb0eaf089d8538ec6586de files/digest-usbutils-0.11-r6 128
+MD5 daa59dbff6c6f2c54fa0384185b81ab1 ChangeLog 4933
+MD5 02a749d768d2c60df972e04643b4a071 files/0.11/lsusb-endian.patch 1834
+MD5 79f1705c48b215f002d9f6541cdca376 files/0.11/ppc64-usbutils-kheaderfix.patch 621
 MD5 f703ade59119743d4225df9fb4623aa8 files/digest-usbutils-0.11-r5 128
+MD5 ab0f2b4ad3bb0eaf089d8538ec6586de files/digest-usbutils-0.11-r6 128
 MD5 85ab89963a7fd11f8611547fb202cd72 files/digest-usbutils-0.71 65
+MD5 85ab89963a7fd11f8611547fb202cd72 files/digest-usbutils-0.71-r1 65
 MD5 d20a32b2ea8220b81490216ee51cba82 files/usbutils-0.11-fix-usb-ids-man-page-ref.patch 384
-MD5 02a749d768d2c60df972e04643b4a071 files/0.11/lsusb-endian.patch 1834
-MD5 79f1705c48b215f002d9f6541cdca376 files/0.11/ppc64-usbutils-kheaderfix.patch 621
+MD5 e092e74597092401bebd1db3c9ce6122 files/usbutils-0.71-new-video-format.patch 2391
+MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
+MD5 126fca63244365009de4c30b6b0c41d2 usbutils-0.11-r5.ebuild 1440
+MD5 3bf5ce706718e4c6b91aa5399624c849 usbutils-0.11-r6.ebuild 1486
+MD5 6ec07a2b5eee7d9f54357fe11a7b2707 usbutils-0.71-r1.ebuild 1277
+MD5 2f96f4804743b4736dc41cd054df0d12 usbutils-0.71.ebuild 1215
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.1 (GNU/Linux)
+Version: GnuPG v1.4.2 (GNU/Linux)
 
-iD8DBQFC0z0qgIKl8Uu19MoRAo7vAJ0frpmBhOlMNJODp0NAeUXSDL22NQCfSxxh
-QD68C52RjVe/u/HxymVKWn0=
-=D3xJ
+iD8DBQFDjUndgIKl8Uu19MoRAuSDAJ4r/6jvyCV6wOKBEtyrgfFYZTS4sACfX4PJ
+famsFpO36v1l/CZ/WheJp4k=
+=0RZ2
 -----END PGP SIGNATURE-----
diff --git a/sys-apps/usbutils/files/digest-usbutils-0.71-r1 b/sys-apps/usbutils/files/digest-usbutils-0.71-r1
new file mode 100644 (file)
index 0000000..53fcaeb
--- /dev/null
@@ -0,0 +1 @@
+MD5 479d7c7098ef44cc95e7978fd71c712c usbutils-0.71.tar.gz 163811
diff --git a/sys-apps/usbutils/files/usbutils-0.71-new-video-format.patch b/sys-apps/usbutils/files/usbutils-0.71-new-video-format.patch
new file mode 100644 (file)
index 0000000..dfcc00a
--- /dev/null
@@ -0,0 +1,83 @@
+Handle new entry types in usb.ids
+
+Patch taken from upstream cvs
+
+http://bugs.gentoo.org/111781
+
+--- usbutils/names.c
++++ usbutils/names.c
+@@ -79,6 +79,12 @@
+       char name[1];
+ };
+ 
++struct videoterminal {
++      struct videoterminal *next;
++      u_int16_t termt;
++      char name[1];
++};
++
+ struct genericstrtable {
+         struct genericstrtable *next;
+         unsigned int num;
+@@ -109,6 +115,7 @@
+ static struct subclass *subclasses[HASHSZ] = { NULL, };
+ static struct protocol *protocols[HASHSZ] = { NULL, };
+ static struct audioterminal *audioterminals[HASHSZ] = { NULL, };
++static struct videoterminal *videoterminals[HASHSZ] = { NULL, };
+ static struct genericstrtable *hiddescriptors[HASHSZ] = { NULL, };
+ static struct genericstrtable *reports[HASHSZ] = { NULL, };
+ static struct genericstrtable *huts[HASHSZ] = { NULL, };
+@@ -356,6 +374,25 @@
+       return 0;
+ }
+ 
++static int new_videoterminal(const char *name, u_int16_t termt)
++{
++      struct videoterminal *vt;
++      unsigned int h = hashnum(termt);
++
++      vt = videoterminals[h];
++      for (; vt; vt = vt->next)
++              if (vt->termt == termt)
++                      return -1;
++      vt = malloc(sizeof(struct videoterminal) + strlen(name));
++      if (!vt)
++              return -1;
++      strcpy(vt->name, name);
++      vt->termt = termt;
++      vt->next = videoterminals[h];
++      videoterminals[h] = vt;
++      return 0;
++}
++
+ static int new_genericstrtable(struct genericstrtable *t[HASHSZ], const char *name, unsigned int index)
+ {
+         struct genericstrtable *g;
+@@ -564,6 +601,27 @@
+                       DBG(printf("line %5u audio terminal type %02x %s\n", linectr, u, cp));
+                       continue;
+               }
++              if (buf[0] == 'V' && buf[1] == 'T' && isspace(buf[2])) {
++                      /* video terminal type spec */
++                      cp = buf+3;
++                      while (isspace(*cp))
++                              cp++;
++                      if (!isxdigit(*cp)) {
++                              fprintf(stderr, "Invalid video terminal type at line %u\n", linectr);
++                              continue;
++                      }
++                      u = strtoul(cp, &cp, 16);
++                      while (isspace(*cp))
++                              cp++;
++                      if (!*cp) {
++                              fprintf(stderr, "Invalid video terminal type at line %u\n", linectr);
++                              continue;
++                      }
++                      if (new_videoterminal(cp, u))
++                              fprintf(stderr, "Duplicate video terminal type spec at line %u terminal type %04x %s\n", linectr, u, cp);
++                      DBG(printf("line %5u video terminal type %02x %s\n", linectr, u, cp));
++                      continue;
++              }
+               if (buf[0] == 'H' && buf[1] == 'C' && buf[2] == 'C' && isspace(buf[3])) {
+                       /* HID Descriptor bCountryCode */
+                         cp =  buf+3;
diff --git a/sys-apps/usbutils/usbutils-0.71-r1.ebuild b/sys-apps/usbutils/usbutils-0.71-r1.ebuild
new file mode 100644 (file)
index 0000000..593d2aa
--- /dev/null
@@ -0,0 +1,49 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/usbutils/usbutils-0.71-r1.ebuild,v 1.1 2005/11/30 06:40:14 vapier Exp $
+
+inherit eutils
+
+DESCRIPTION="USB enumeration utilities"
+HOMEPAGE="http://linux-usb.sourceforge.net/"
+SRC_URI="mirror://sourceforge/linux-usb/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE=""
+
+DEPEND="dev-libs/libusb"
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       # put usb.ids in same place as pci.ids (/usr/share/misc)
+       sed -i \
+               -e 's:/usr/share/usb.ids:/usr/share/misc/usb.ids:' \
+               lsusb.8 || die "sed lsusb.8"
+       sed -e '/^DEST=/s:=usb.ids:=/usr/share/misc/usb.ids:' \
+               update-usbids.sh > update-usbids
+
+       epatch "${FILESDIR}"/${P}-new-video-format.patch #111781
+
+       # replace usb.ids with an updated version
+       ebegin "Updating usb.ids"
+       ./update-usbids.sh &> /dev/null
+       eend 0
+}
+
+src_compile() {
+       econf \
+               --datadir=/usr/share/misc \
+               --enable-usbmodules \
+               || die "./configure failed"
+       emake || die "make failed"
+}
+
+src_install() {
+       make DESTDIR="${D}" install || die "install failed"
+       dosbin update-usbids || die "update-usbids failed"
+       dodoc AUTHORS ChangeLog NEWS README
+}