I received a very nice Christmas present today. As my regular readers probably know, I have been working on the the Isenkram system for many years. The goal of the Isenkram system is to make it easier for users to figure out what to install to get a given piece of hardware to work in Debian, and a key part of this system is a way to map hardware to packages. Isenkram have its own mapping database, and also uses data provided by each package using the AppStream metadata format. And today, AppStream in Debian learned to look up hardware the same way Isenkram is doing it, ie using fnmatch():
% appstreamcli what-provides modalias \ usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00 Identifier: pymissile [generic] Name: pymissile Summary: Control original Striker USB Missile Launcher Package: pymissile % appstreamcli what-provides modalias usb:v0694p0002d0000 Identifier: libnxt [generic] Name: libnxt Summary: utility library for talking to the LEGO Mindstorms NXT brick Package: libnxt --- Identifier: t2n [generic] Name: t2n Summary: Simple command-line tool for Lego NXT Package: t2n --- Identifier: python-nxt [generic] Name: python-nxt Summary: Python driver/interface/wrapper for the Lego Mindstorms NXT robot Package: python-nxt --- Identifier: nbc [generic] Name: nbc Summary: C compiler for LEGO Mindstorms NXT bricks Package: nbc %
A similar query can be done using the combined AppStream and Isenkram databases using the isenkram-lookup tool:
% isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00 pymissile % isenkram-lookup usb:v0694p0002d0000 libnxt nbc python-nxt t2n %
You can find modalias values relevant for your machine using cat $(find /sys/devices/ -name modalias).
If you want to make this system a success and help Debian users make the most of the hardware they have, please helpadd AppStream metadata for your package following the guidelines documented in the wiki. So far only 11 packages provide such information, among the several hundred hardware specific packages in Debian. The Isenkram database on the other hand contain 101 packages, mostly related to USB dongles. Most of the packages with hardware mapping in AppStream are LEGO Mindstorms related, because I have, as part of my involvement in the Debian LEGO team given priority to making sure LEGO users get proposed the complete set of packages in Debian for that particular hardware. The team also got a nice Christmas present today. The nxt-firmware package made it into Debian. With this package in place, it is now possible to use the LEGO Mindstorms NXT unit with only free software, as the nxt-firmware package contain the source and firmware binaries for the NXT brick.
As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address 15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.