+ <div class="entry">
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html">Using appstream with isenkram to install hardware related packages in Debian</a></div>
+ <div class="date">20th December 2015</div>
+ <div class="body"><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>
+<?xml version="1.0" encoding="UTF-8"?>
+<component>
+ <id>pymissile</id>
+ <metadata_license>MIT</metadata_license>
+ <name>pymissile</name>
+ <summary>Control original Striker USB Missile Launcher</summary>
+ <description>
+ <p>
+ 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.
+ </p>
+ </description>
+ <provides>
+ <modalias>usb:v1130p0202d*</modalias>
+ </provides>
+</component>
+</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>
+</div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
<div class="entry">
<div class="title"><a href="http://people.skolelinux.org/pere/blog/Bokhandeldistribusjon_av_boken_Fri_kultur_av_Lawrence_Lessig.html">Bokhandeldistribusjon av boken Fri kultur av Lawrence Lessig</a></div>
<div class="date">14th December 2015</div>
</div>
<div class="padding"></div>
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/_Fri_kultur__av__lessig___norsk_utgave_av__Free_Culture__tilgjengelig_p__papir__PDF_og_ePub.html">"Fri kultur" av @lessig - norsk utgave av "Free Culture" tilgjengelig på papir, PDF og ePub</a></div>
- <div class="date">28th October 2015</div>
- <div class="body"><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>
-</div>
- <div class="tags">
-
-
- Tags: <a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
<p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
<div id="sidebar">
<li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (1)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (2)</a></li>
</ul></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (114)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (115)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (154)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (296)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (297)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (10)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (11)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (19)</a></li>