]> pere.pagekite.me Git - homepage.git/blobdiff - blog/archive/2014/04/04.rss
Generated.
[homepage.git] / blog / archive / 2014 / 04 / 04.rss
index e41c34d999ffc8e4b282ce705d3a9aed5cdd1be6..9ae8ecaa23c3fd302d6cb12ad06639f0c2a983a4 100644 (file)
@@ -6,6 +6,95 @@
                 <link>http://people.skolelinux.org/pere/blog/</link>
 
        
+       <item>
+               <title>Install hardware dependent packages using tasksel (Isenkram 0.7)</title>
+               <link>http://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html</guid>
+                <pubDate>Wed, 23 Apr 2014 14:50:00 +0200</pubDate>
+               <description>&lt;p&gt;It would be nice if it was easier in Debian to get all the hardware
+related packages relevant for the computer installed automatically.
+So I implemented one, using
+&lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;my Isenkram
+package&lt;/a&gt;.  To use it, install the tasksel and isenkram packages and
+run tasksel as user root.  You should be presented with a new option,
+&quot;Hardware specific packages (autodetected by isenkram)&quot;.  When you
+select it, tasksel will install the packages isenkram claim is fit for
+the current hardware, hot pluggable or not.&lt;p&gt;
+
+&lt;p&gt;The implementation is in two files, one is the tasksel menu entry
+description, and the other is the script used to extract the list of
+packages to install.  The first part is in
+&lt;tt&gt;/usr/share/tasksel/descs/isenkram.desc&lt;/tt&gt; and look like
+this:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+Task: isenkram
+Section: hardware
+Description: Hardware specific packages (autodetected by isenkram)
+ Based on the detected hardware various hardware specific packages are
+ proposed.
+Test-new-install: mark show
+Relevance: 8
+Packages: for-current-hardware
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;The second part is in
+&lt;tt&gt;/usr/lib/tasksel/packages/for-current-hardware&lt;/tt&gt; and look like
+this:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+#!/bin/sh
+#
+(
+    isenkram-lookup
+    isenkram-autoinstall-firmware -l
+) | sort -u
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;All in all, a very short and simple implementation making it
+trivial to install the hardware dependent package we all may want to
+have installed on our machines.  I&#39;ve not been able to find a way to
+get tasksel to tell you exactly which packages it plan to install
+before doing the installation.  So if you are curious or careful,
+check the output from the isenkram-* command line tools first.&lt;/p&gt;
+
+&lt;p&gt;The information about which packages are handling which hardware is
+fetched either from the isenkram package itself in
+/usr/share/isenkram/, from git.debian.org or from the APT package
+database (using the Modaliases header).  The APT package database
+parsing have caused a nasty resource leak in the isenkram daemon (bugs
+&lt;a href=&quot;http://bugs.debian.org/719837&quot;&gt;#719837&lt;/a&gt; and
+&lt;a href=&quot;http://bugs.debian.org/730704&quot;&gt;#730704&lt;/a&gt;).  The cause is in
+the python-apt code (bug
+&lt;a href=&quot;http://bugs.debian.org/745487&quot;&gt;#745487&lt;/a&gt;), but using a
+workaround I was able to get rid of the file descriptor leak and
+reduce the memory leak from ~30 MiB per hardware detection down to
+around 2 miB per hardware detection.  It should make the desktop
+daemon a lot more useful.  The fix is in version 0.7 uploaded to
+unstable today.&lt;/p&gt;
+
+&lt;p&gt;I believe the current way of mapping hardware to packages in
+Isenkram is is a good draft, but in the future I expect isenkram to
+use the AppStream data source for this.  A proposal for getting proper
+AppStream support into Debian is floating around as
+&lt;a href=&quot;https://wiki.debian.org/DEP-11&quot;&gt;DEP-11&lt;/a&gt;, and
+&lt;a href=&quot;https://wiki.debian.org/SummerOfCode2014/Projects#SummerOfCode2014.2FProjects.2FAppStreamDEP11Implementation.AppStream.2FDEP-11_for_the_Debian_Archive&quot;&gt;GSoC
+project&lt;/a&gt; will take place this summer to improve the situation.  I
+look forward to seeing the result, and welcome patches for isenkram to
+start using the information when it is ready.&lt;/p&gt;
+
+&lt;p&gt;If you want your package to map to some specific hardware, either
+add a &quot;Xb-Modaliases&quot; header to your control file like I did in
+&lt;a href=&quot;http://packages.qa.debian.org/pymissile&quot;&gt;the pymissile
+package&lt;/a&gt; or submit a bug report with the details to the isenkram
+package.  See also
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;all my
+blog posts tagged isenkram&lt;/a&gt; for details on the notation.  I expect
+the information will be migrated to AppStream eventually, but for the
+moment I got no better place to store it.&lt;/p&gt;
+</description>
+       </item>
+       
        <item>
                <title>FreedomBox milestone - all packages now in Debian Sid</title>
                <link>http://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html</link>