X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/a6caa4b5e653f1db29de643925340d6a7b1b1e3d..2377a19a2fcd67c09830cbb4a2a81cfd5a6f00d6:/blog/archive/2016/12/12.rss?ds=inline diff --git a/blog/archive/2016/12/12.rss b/blog/archive/2016/12/12.rss index 8d0dfeaf93..f9d4af8878 100644 --- a/blog/archive/2016/12/12.rss +++ b/blog/archive/2016/12/12.rss @@ -6,6 +6,97 @@ http://people.skolelinux.org/pere/blog/ + + Appstream just learned how to map hardware to packages too! + http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html + http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html + Fri, 23 Dec 2016 10:30:00 +0100 + <p>I received a very nice Christmas present today. As my regular +readers probably know, I have been working on the +<a href="http://packages.qa.debian.org/isenkram">the Isenkram +system</a> 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, +<a href="https://tracker.debian.org/pkg/appstream">AppStream</a> in +Debian learned to look up hardware the same way Isenkram is doing it, +ie using fnmatch():</p> + +<p><pre> +% 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 +% +</pre></p> + +<p>A similar query can be done using the combined AppStream and +Isenkram databases using the isenkram-lookup tool:</p> + +<p><pre> +% isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00 +pymissile +% isenkram-lookup usb:v0694p0002d0000 +libnxt +nbc +python-nxt +t2n +% +</pre></p> + +<p>You can find modalias values relevant for your machine using +<tt>cat $(find /sys/devices/ -name modalias)</tt>. + +<p>If you want to make this system a success and help Debian users +make the most of the hardware they have, please +help<a href="https://wiki.debian.org/AppStream/Guidelines">add +AppStream metadata for your package following the guidelines</a> +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 +<a href="https://wiki.debian.org/LegoDesigners">the Debian LEGO +team</a> 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 +<a href="https://tracker.debian.org/pkg/nxt-firmware">nxt-firmware +package</a> 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.</p> + +<p>As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p> + + + Isenkram updated with a lot more hardware-package mappings http://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html