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
67 help<a href="https://wiki.debian.org/AppStream/Guidelines">add
68 AppStream metadata for your package following the guidelines</a>
69 documented in the wiki. So far only 11 packages provide such
70 information, among the several hundred hardware specific packages in
71 Debian. The Isenkram database on the other hand contain 101 packages,
72 mostly related to USB dongles. Most of the packages with hardware
73 mapping in AppStream are LEGO Mindstorms related, because I have, as
74 part of my involvement in
75 <a href="https://wiki.debian.org/LegoDesigners">the Debian LEGO
76 team</a> given priority to making sure LEGO users get proposed the
77 complete set of packages in Debian for that particular hardware. The
78 team also got a nice Christmas present today. The
79 <a href="https://tracker.debian.org/pkg/nxt-firmware">nxt-firmware
80 package</a> made it into Debian. With this package in place, it is
81 now possible to use the LEGO Mindstorms NXT unit with only free
82 software, as the nxt-firmware package contain the source and firmware
83 binaries for the NXT brick.</p>
85 <p>As usual, if you use Bitcoin and want to show your support of my
86 activities, please send Bitcoin donations to my address
87 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>