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. It make it easier for users to figure out
9 what to install to get a given piece of hardware to work in Debian,
10 and a key part of this system is a way to map hardware to packages.
11 Isenkram have its own mapping database, and also uses data provided by
12 each package using the AppStream metadata format. And today,
13 <a href="https://tracker.debian.org/pkg/appstream">AppStream</a> in
14 Debian learned to look up hardware the same way Isenkram is doing it,
15 ie using fnmatch():</p>
18 % appstreamcli what-provides modalias \
19 usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
20 Identifier: pymissile [generic]
22 Summary: Control original Striker USB Missile Launcher
24 % appstreamcli what-provides modalias usb:v0694p0002d0000
25 Identifier: libnxt [generic]
27 Summary: utility library for talking to the LEGO Mindstorms NXT brick
30 Identifier: t2n [generic]
32 Summary: Simple command-line tool for Lego NXT
35 Identifier: python-nxt [generic]
37 Summary: Python driver/interface/wrapper for the Lego Mindstorms NXT robot
40 Identifier: nbc [generic]
42 Summary: C compiler for LEGO Mindstorms NXT bricks
47 <p>A similar query can be done using the combined AppStream and
48 Isenkram databases using the isenkram-lookup tool:</p>
51 % isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
53 % isenkram-lookup usb:v0694p0002d0000
61 <p>If you want to make this system a success and help Debian users
62 make the most of the hardware they have, please
63 help<a href="https://wiki.debian.org/AppStream/Guidelines">add
64 AppStream metadata for your package following the guidelines</a>
65 documented in the wiki. So far only 11 packages provide such
66 information, among the several hundred hardware specific packages in
67 Debian. The Isenkram database on the other hand contain 101 packages,
68 mostly related to USB dongles. Most of the packages with hardware
69 mapping in AppStream are LEGO Mindstorms related, because I have, as
70 part of my involvement in
71 <a href="https://wiki.debian.org/LegoDesigners">the Debian LEGO
72 team</a> given priority to making sure LEGO users get proposed the
73 complete set of packages in Debian for that particular hardware. The
74 team also got a nice Christmas present today. The
75 <a href="https://tracker.debian.org/pkg/nxt-firmware">nxt-firmware
76 package</a> made it into Debian. With this package in place, it is
77 not possible to use the LEGO Mindstorms NXT unit with only free
78 software, as the nxt-firmware package contain the source and firmware
79 binaries for the NXT brick.</p>
81 <p>As usual, if you use Bitcoin and want to show your support of my
82 activities, please send Bitcoin donations to my address
83 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>