]> pere.pagekite.me Git - homepage.git/blob - blog/data/2016-12-23-isenkram.txt
86cafd2c2c8b9863b11ddbfb13d85a0a608d90be
[homepage.git] / blog / data / 2016-12-23-isenkram.txt
1 Title: Appstream just learned how to map hardware to packages too!
2 Tags: english, debian, isenkram
3 Date: 2016-12-23 10:30
4
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>
16
17 <p><pre>
18 % appstreamcli what-provides modalias \
19 usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
20 Identifier: pymissile [generic]
21 Name: pymissile
22 Summary: Control original Striker USB Missile Launcher
23 Package: pymissile
24 % appstreamcli what-provides modalias usb:v0694p0002d0000
25 Identifier: libnxt [generic]
26 Name: libnxt
27 Summary: utility library for talking to the LEGO Mindstorms NXT brick
28 Package: libnxt
29 ---
30 Identifier: t2n [generic]
31 Name: t2n
32 Summary: Simple command-line tool for Lego NXT
33 Package: t2n
34 ---
35 Identifier: python-nxt [generic]
36 Name: python-nxt
37 Summary: Python driver/interface/wrapper for the Lego Mindstorms NXT robot
38 Package: python-nxt
39 ---
40 Identifier: nbc [generic]
41 Name: nbc
42 Summary: C compiler for LEGO Mindstorms NXT bricks
43 Package: nbc
44 %
45 </pre></p>
46
47 <p>A similar query can be done using the combined AppStream and
48 Isenkram databases using the isenkram-lookup tool:</p>
49
50 <p><pre>
51 % isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
52 pymissile
53 % isenkram-lookup usb:v0694p0002d0000
54 libnxt
55 nbc
56 python-nxt
57 t2n
58 %
59 </pre></p>
60
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>
80
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>