1 Title: Appstream just learned how to map hardware to packages too!
2 Tags: english, debian, isenkram
5 <p>I received a very nice Christmas present today. As my regular
6 readers probably know, I have been working on the
7 <a href="http://packages.qa.debian.org/isenkram">the Isenkram
8 system</a> for many years. The goal of the Isenkram system is to make
9 it easier for users to figure out what to install to get a given piece
10 of hardware to work in Debian, and a key part of this system is a way
11 to map hardware to packages. Isenkram have its own mapping database,
12 and also uses data provided by each package using the AppStream
13 metadata format. And today,
14 <a href="https://tracker.debian.org/pkg/appstream">AppStream</a> in
15 Debian learned to look up hardware the same way Isenkram is doing it,
16 ie using fnmatch():</p>
19 % appstreamcli what-provides modalias \
20 usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
21 Identifier: pymissile [generic]
23 Summary: Control original Striker USB Missile Launcher
25 % appstreamcli what-provides modalias usb:v0694p0002d0000
26 Identifier: libnxt [generic]
28 Summary: utility library for talking to the LEGO Mindstorms NXT brick
31 Identifier: t2n [generic]
33 Summary: Simple command-line tool for Lego NXT
36 Identifier: python-nxt [generic]
38 Summary: Python driver/interface/wrapper for the Lego Mindstorms NXT robot
41 Identifier: nbc [generic]
43 Summary: C compiler for LEGO Mindstorms NXT bricks
48 <p>A similar query can be done using the combined AppStream and
49 Isenkram databases using the isenkram-lookup tool:</p>
52 % isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
54 % isenkram-lookup usb:v0694p0002d0000
62 <p>You can find modalias values relevant for your machine using
63 <tt>cat $(find /sys/devices/ -name modalias)</tt>.
65 <p>If you want to make this system a success and help Debian users
66 make the most of the hardware they have, please help
67 <a href="https://wiki.debian.org/AppStream/Guidelines">add AppStream
68 metadata for your package following the guidelines</a> documented in
69 the wiki. So far only 11 packages provide such information, among the
70 several hundred hardware specific packages in Debian. The Isenkram
71 database on the other hand contain 101 packages, mostly related to USB
72 dongles. Most of the packages with hardware mapping in AppStream are
73 LEGO Mindstorms related, because I have, as part of my involvement in
74 <a href="https://wiki.debian.org/LegoDesigners">the Debian LEGO
75 team</a> given priority to making sure LEGO users get proposed the
76 complete set of packages in Debian for that particular hardware. The
77 team also got a nice Christmas present today. The
78 <a href="https://tracker.debian.org/pkg/nxt-firmware">nxt-firmware
79 package</a> made it into Debian. With this package in place, it is
80 now possible to use the LEGO Mindstorms NXT unit with only free
81 software, as the nxt-firmware package contain the source and firmware
82 binaries for the NXT brick.</p>
84 <p>As usual, if you use Bitcoin and want to show your support of my
85 activities, please send Bitcoin donations to my address
86 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>