usbutils 011 and 012 release

From: Greg KH
Date: Tue May 07 2019 - 12:53:53 EST

Continuing the "one release a year" normal progression for the usbutils
package, I would like to announce the 011 and 012 release of usbutils.

There was 2 releases because we have now changed the way usbutils is
distributed, and it took me a second try to get it "correct".

More details on that below, if you are curious, below the shortlog,
here's the highlights of the latest release over the last 010 release:

- more USB descriptor extensions added
- python3 support for so those distros dropping python2
support can be happy.
- loads of cleanups of by Mantas MikulÄnas and Kurt Garloff
- SPDX bill-of-materials support, as defined by the REUSE project, to
make distro packagers happier
- libusb requirement settled down, again to make some distros happier
- usbhid-dump moved into the usbutils main

Here's the "shortlog" for those interested:

usbutils 012

Greg Kroah-Hartman:
Merge usbhid-dump into main usbutils repository

usbutils 011

Clemens Fruhwirth (1):
Add usbreset.c as noinst_PROGRAMS target.

Daniel Schaefer (1):
lsusb: Read unkown names from sysfs device desc.

Darsey Litzenberger (3):
Remove a small hack that no longer has any effect.
Cleanup grammar
lsusb-t: Emit USB IDs and other handy info when verbosity is increased

Emmanuele Bassi (1):
Require newer version of libusb

Georg Brandl (1): fix up Python 3 conversion

Greg Kroah-Hartman (10):
SPDX bill-of-material is supposed to be project_name.spdx
usbutils.spdx: rerun report, it is properly sorted.
desc-dump.c: fix compiler warning about unused variable
add usbreset to .gitignore
usbreset: fix some build warnings
usbhid-dump: update to latest version
fix up standard int types
update usbhid-dump git id
usbhid-dump: update to a newer version of usbhid-dump again.
usbutils.spdx: update with latest information

Kurt Garloff (4): Search multiple paths for usb.ids. Usb enum for parser state machine. Add driver names for usbhid. python2 compatibility

Lukas Nykryn (1): add files with licenses to archive

Mantas MikulÄnas (33): sort devices and interfaces numerically sort toplevel entries improve usage text replace fake deepcopy() remove -w (warn if usb.ids not sorted) option ensure all error messages are written to stderr support long options use regular print() instead of hand-rolling the same thing avoid shadowing Python's built-in 'str' replace usb.ids binary search with dict lookup remove now-unused bin_search() avoid manual calls to __foo__() replace __repr__() for USB IDs with __str__() insert class FF:FF:FF into usbclasses to avoid special casing entirely remove Usb* classes cosmetic - replace tuples-as-"immutable lists" with regular lists use 'elif' where suitable remove dead code move unrelated code out of try..except allow - as well as _ when matching hci module names use a constant for the magic class number 9 Usb* classes: call read() automatically from constructor UsbEndpoint: indent is a class implementation detail a few cosmetic changes shorten find_usb_class() give all Usb* objects a .path attribute add an actual __repr__() to classes give all Usb* classes a superclass convert readattr() and readlink() to methods of the container use color by default rework output for more consistent indent of both columns fix endpoint interval spacing visually group USB-version-related fields

Michael Drake (4):
lsusb: Split out routine that fetches value for given field.
lsusb: Split out field name rendering.
lsusb: Add support for descriptor extensions.
lsusb: Add support for audio processing unit type-specific fields.

Philip Langdale (2):
lsusb: Added support for Billboard Alternate Mode Capability descriptor Fix formatting of 10Gbps speeds

Ross Burton (1):
usb-devices: use /bin/sh hashbang

Solomon Peachy (1):
lsusb: Add support for decoding IPP printer descriptors

Stefan Tauner (1):
Depend on libusb 1.0.14

Valerii Zapodovnikov (1):
man pages: add information on verbosity levels of -t option

junjie (1):
fix typo


Now for the details of how the tarballs are released, if anyone is

Previously, to do a usbutils release, I would run 'make distcheck' on
the repository and upload the generated tarball, after signing it, to and it would do the correct compression and signatures and
all is good. But that means a bunch of auto-generated files are added
to the tarball, which are pulled from my system based on any sort of
random choice of autotools that I happened to have installed.

So a tarball would not represent the actual files checked into the git
repo, you would just have to "trust" that the files in the tarball that
were not part of git, were "ok". And that's fine, it's the way almost
all packages have ever been distributed for the past 30+ years, since
when autotools was created.

But now, has the ability to create a signed tarball, based on
a signed git tag. We have been using this ability for a while now to do
kernel releases (both the stable and Linus's releases.) This means that
the git repo itself is the "true source" of all of the files, and what
is distributed and signed is the exact same thing that is in the

So now things can be properly verified. You can check that the files in
the tarball are identical to the ones in the git repository at that same
point in time.

But what this means is that now to build from the tarball, you have to
run the '' script, instead of running 'configure'. This is
normally what a lot of distributions did anyway, as that way they would
"know" what version of autotools was building the package, because all
distros happen to use a different version.

Also, the other bad side affect was that the usbhid-dump repository,
which was a git submodule in usbutils, was not built at all as part of
the usbutils release. This is the reason that the 011 release that
happened yesterday did not contain usbhid-dump, and why I did the 012
release today to make up for that missing tool.

So, in conclusion, if you are a distro packager, you now have a way to
verify that the tarball matches exactly the git repository at a specific
point in time, and you should feel safer packaging things up as you are
not relying on random scripts that are pulled from my personal machine.

If you are a user of usbutils, none of this matters at all, but thanks
for reading this far.

If there are any questions, about any of this, please let me know.


greg k-h