<link>http://people.skolelinux.org/pere/blog/</link>
<atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
+ <item>
+ <title>Using appstream with isenkram to install hardware related packages in Debian</title>
+ <link>http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html</guid>
+ <pubDate>Sun, 20 Dec 2015 12:20:00 +0100</pubDate>
+ <description><p>Around three years ago, I created
+<a href="http://packages.qa.debian.org/isenkram">the isenkram
+system</a> to get a more practical solution in Debian for handing
+hardware related packages. A GUI system in the isenkram package will
+present a pop-up dialog when some hardware dongle supported by
+relevant packages in Debian is inserted into the machine. The same
+lookup mechanism to detect packages is available as command line
+tools in the isenkram-cli package. In addition to mapping hardware,
+it will also map kernel firmware files to packages and make it easy to
+install needed firmware packages automatically. The key for this
+system to work is a good way to map hardware to packages, in other
+words, allow packages to announce what hardware they will work
+with.</p>
+
+<p>I started by providing data files in the isenkram source, and
+adding code to download the latest version of these data files at run
+time, to ensure every user had the most up to date mapping available.
+I also added support for storing the mapping in the Packages file in
+the apt repositories, but did not push this approach because while I
+was trying to figure out how to best store hardware/package mappings,
+<a href="http://www.freedesktop.org/software/appstream/docs/">the
+appstream system</a> was announced. I got in touch and suggested to
+add the hardware mapping into that data set to be able to use
+appstream as a data source, and this was accepted at least for the
+Debian version of appstream.</p>
+
+<p>A few days ago using appstream in Debian for this became possible,
+and today I uploaded a new version 0.20 of isenkram adding support for
+appstream as a data source for mapping hardware to packages. The only
+package so far using appstream to announce its hardware support is my
+pymissile package. I got help from Matthias Klumpp with figuring out
+how do add the required
+<a href="https://appstream.debian.org/html/sid/main/metainfo/pymissile.html">metadata
+in pymissile</a>. I added a file debian/pymissile.metainfo.xml with
+this content:</p>
+
+<blockquote><pre>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;component&gt;
+ &lt;id&gt;pymissile&lt;/id&gt;
+ &lt;metadata_license&gt;MIT&lt;/metadata_license&gt;
+ &lt;name&gt;pymissile&lt;/name&gt;
+ &lt;summary&gt;Control original Striker USB Missile Launcher&lt;/summary&gt;
+ &lt;description&gt;
+ &lt;p&gt;
+ Pymissile provides a curses interface to control an original
+ Marks and Spencer / Striker USB Missile Launcher, as well as a
+ motion control script to allow a webcamera to control the
+ launcher.
+ &lt;/p&gt;
+ &lt;/description&gt;
+ &lt;provides&gt;
+ &lt;modalias&gt;usb:v1130p0202d*&lt;/modalias&gt;
+ &lt;/provides&gt;
+&lt;/component&gt;
+</pre></blockquote>
+
+<p>The key for isenkram is the component/provides/modalias value,
+which is a glob style match rule for hardware specific strings
+(modalias strings) provided by the Linux kernel. In this case, it
+will map to all USB devices with vendor code 1130 and product code
+0202.</p>
+
+<p>Note, it is important that the license of all the metadata files
+are compatible to have permissions to aggregate them into archive wide
+appstream files. Matthias suggested to use MIT or BSD licenses for
+these files. A challenge is figuring out a good id for the data, as
+it is supposed to be globally unique and shared across distributions
+(in other words, best to coordinate with upstream what to use). But
+it can be changed later or, so we went with the package name as
+upstream for this project is dormant.</p>
+
+<p>To get the metadata file installed in the correct location for the
+mirror update scripts to pick it up and include its content the
+appstream data source, the file must be installed in the binary
+package under /usr/share/appdata/. I did this by adding the following
+line to debian/pymissile.install:</p>
+
+<blockquote><pre>
+debian/pymissile.metainfo.xml usr/share/appdata
+</pre></blockquote>
+
+<p>With that in place, the command line tool isenkram-lookup will list
+all packages useful on the current computer automatically, and the GUI
+pop-up handler will propose to install the package not already
+installed if a hardware dongle is inserted into the machine in
+question.</p>
+
+<p>Details of the modalias field in appstream is available from the
+<a href="https://wiki.debian.org/DEP-11">DEP-11</a> proposal.</p>
+
+<p>To locate the modalias values of all hardware present in a machine,
+try running this command on the command line:</p>
+
+<blockquote><pre>
+cat $(find /sys/devices/|grep modalias)
+</pre></blockquote>
+
+<p>To learn more about the isenkram system, please check out
+<a href="http://people.skolelinux.org/pere/blog/tags/isenkram/">my
+blog posts tagged isenkram</a>.</p>
+</description>
+ </item>
+
<item>
<title>Bokhandeldistribusjon av boken Fri kultur av Lawrence Lessig</title>
<link>http://people.skolelinux.org/pere/blog/Bokhandeldistribusjon_av_boken_Fri_kultur_av_Lawrence_Lessig.html</link>
</description>
</item>
- <item>
- <title>"Fri kultur" av @lessig - norsk utgave av "Free Culture" tilgjengelig på papir, PDF og ePub</title>
- <link>http://people.skolelinux.org/pere/blog/_Fri_kultur__av__lessig___norsk_utgave_av__Free_Culture__tilgjengelig_p__papir__PDF_og_ePub.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/_Fri_kultur__av__lessig___norsk_utgave_av__Free_Culture__tilgjengelig_p__papir__PDF_og_ePub.html</guid>
- <pubDate>Wed, 28 Oct 2015 09:30:00 +0100</pubDate>
- <description><p><a href="http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22406445.html">Klikk her for å kjøpe boken</a>.</p>
-
-<p>I 2004, mens <a href="https://creativecommons.org/">Creative
-Commons-bevegelsen</a> vokste frem, skrev bevegelsens stifter Lawrence
-Lessig boken
-<a href="https://en.wikipedia.org/wiki/Free_Culture_(book)">Free
-Culture</a> for å forklare problemene med økene åndsverksregulering og
-for å foreslå noen løsninger. Jeg leste boken den gangen, og den både
-inspirerte meg og endret på hvordan jeg så på opphavsrettslovigving.
-Jeg skulle ønske flere folk leste denne boken. Den gir en god
-gjennomgang av hvordan økende åndsverksregulering skader både
-nyskapning og kulturlivet, og skisserer hvordan både lovgivere og oss
-vanlige borgere kan bidra for å få slutt på dette.</p>
-
-<p>Derfor bestemte jeg meg sommeren 2012 for å oversette den til norsk
-bokmål og gjøre den tilgjengelig for de blant mine venner og familie
-som foretrekker å lese bøker på norsk. Jeg oversatte boken ved hjelp
-av docbook og en gettext PO-fil, og endte opp med to utgaver, en på
-norsk og en på engelsk. Den engelske publiserte jeg i forrige uke, og
-den norske utgaven på papir
-<a href="http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22406445.html">er
-nå klar for salg</a>. Jeg fikk heldigvis hjelp med oversetting og
-korrekturlesing av den norske utgaven fra en rekke frivillige. Se
-side 245 for en komplett liste. Slik ser omslaget ut:
-
-<p align="center"><a href="http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22406445.html"><img align="center" src="http://people.skolelinux.org/pere/blog/images/2015-10-28-free-culture-norwegian-published-cover.png"/></a></p>
-
-<p>I tillegg til den norske og engelske utgaven holder vi på med en
-fransk utgave. Den koordineres av dblatex-utvikleren Benoît Guillon,
-og oversettelsen var komplett denne uka men må korrekturleses før den
-kan gis ut. Flere frivillige trengs her, så ta kontakt med Benoît
-hvis du vil bidra.</p>
-
-<p>Boken er også tilgjengelig i PDF, ePub og MOBI-format fra
-<a href="https://github.com/petterreinholdtsen/free-culture-lessig">min
-github-prosjektside</a>. Merk at ePub og MOBI-utgavene har noen
-formatteringsproblemer som jeg tror kommer av feil i docbook-verktøyet
-dbtoepub (Debian BTS-rapporter
-<a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=795842">#795842</a>
-og
-<a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796871">#796871</a>),
-men jeg har ikke tatt meg tid til å undersøke problemene. For de som
-vil ha elektronisk kopi anbefaler jeg å bruke PDF- og ePub-utgaven i
-denne omgang, da de ser ut til å hånderes bra av de fremviserne jeg
-har tilgjengelig.</p>
-
-<p>Etter at oversettelsen til bokmål var ferdig klarte jeg å overtale
-<a href="http://www.nuugfoundation.no/">NUUG Foundation</a> til å
-sponse trykking av boken. Det er årsaken til at stiftelsens logo er
-på baksiden av omslaget. Jeg er svært takknemlig for dette, og bruker
-bidraget til å gi en kopi av den norske utgaven til alle
-Stortingsrepresentanter og andre beslutningstakere her i Norge.</p>
-</description>
- </item>
-
</channel>
</rss>