X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/c37ed160f7bd21bf680872b6fe2c864faf8a8ed7..1d73be85df41503bc71afc89a0ddd217bbd9d2bc:/blog/archive/2013/01/01.rss diff --git a/blog/archive/2013/01/01.rss b/blog/archive/2013/01/01.rss index d98c61c1fc..943b79c85b 100644 --- a/blog/archive/2013/01/01.rss +++ b/blog/archive/2013/01/01.rss @@ -6,6 +6,371 @@ http://people.skolelinux.org/pere/blog/ + + Welcome to the world, Isenkram! + http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html + http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html + Tue, 22 Jan 2013 22:00:00 +0100 + <p>Yesterday, I +<a href="http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html">asked +for testers</a> for my prototype for making Debian better at handling +pluggable hardware devices, which I +<a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">set +out to create</a> earlier this month. Several valuable testers showed +up, and caused me to really want to to open up the development to more +people. But before I did this, I want to come up with a sensible name +for this project. Today I finally decided on a new name, and I have +renamed the project from hw-support-handler to this new name. In the +process, I moved the source to git and made it available as a +<a href="http://anonscm.debian.org/gitweb/?p=collab-maint/isenkram.git">collab-maint</a> +repository in Debian. The new name? It is <strong>Isenkram</strong>. +To fetch and build the latest version of the source, use</p> + +<pre> +git clone http://anonscm.debian.org/git/collab-maint/isenkram.git +cd isenkram && git-buildpackage -us -uc +</pre> + +<p>I have not yet adjusted all files to use the new name yet. If you +want to hack on the source or improve the package, please go ahead. +But please talk to me first on IRC or via email before you do major +changes, to make sure we do not step on each others toes. :)</p> + +<p>If you wonder what 'isenkram' is, it is a Norwegian word for iron +stuff, typically meaning tools, nails, screws, etc. Typical hardware +stuff, in other words. I've been told it is the Norwegian variant of +the German word eisenkram, for those that are familiar with that +word.</p> + +<p><strong>Update 2013-01-26</strong>: Added -us -us to build +instructions, to avoid confusing people with an error from the signing +process.</p> + +<p><strong>Update 2013-01-27</strong>: Switch to HTTP URL for the git +clone argument to avoid the need for authentication.</p> + + + + + First prototype ready making hardware easier to use in Debian + http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html + http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html + Mon, 21 Jan 2013 12:00:00 +0100 + <p>Early this month I set out to try to +<a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">improve +the Debian support for pluggable hardware devices</a>. Now my +prototype is working, and it is ready for a larger audience. To test +it, fetch the +<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">source +from the Debian Edu subversion repository</a>, build and install the +package. You might have to log out and in again activate the +autostart script.</p> + +<p>The design is simple:</p> + +<ul> + +<li>Add desktop entry in /usr/share/autostart/ causing a program +hw-support-handlerd to start when the user log in.</li> + +<li>This program listen for kernel events about new hardware (directly +from the kernel like udev does), not using HAL dbus events as I +initially did.</li> + +<li>When new hardware is inserted, look up the hardware modalias in +the APT database, a database +<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup">available +via HTTP</a> and a database available as part of the package.</li> + +<li>If a package is mapped to the hardware in question, the package +isn't installed yet and this is the first time the hardware was +plugged in, show a desktop notification suggesting to install the +package or packages.</li> + +<li>If the user click on the 'install package now' button, ask +aptdaemon via the PackageKit API to install the requrired package.</li> + +<li>aptdaemon ask for root password or sudo password, and install the +package while showing progress information in a window.</li> + +</ul> + +<p>I still need to come up with a better name for the system. Here +are some screen shots showing the prototype in action. First the +notification, then the password request, and finally the request to +approve all the dependencies. Sorry for the Norwegian Bokmål GUI.</p> + +<p><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-1-notification.png"> +<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-2-password.png"> +<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-3-dependencies.png"> +<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-4-installing.png"> +<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-5-installing-details.png" width="70%"></p> + +<p>The prototype still need to be improved with longer timeouts, but +is already useful. The database of hardware to package mappings also +need more work. It is currently compatible with the Ubuntu way of +storing such information in the package control file, but could be +changed to use other formats instead or in addition to the current +method. I've dropped the use of discover for this mapping, as the +modalias approach is more flexible and easier to use on Linux as long +as the Linux kernel expose its modalias strings directly.</p> + +<p><strong>Update 2013-01-21 16:50</strong>: Due to popular demand, +here is the command required to check out and build the source: Use +'<tt>svn checkout +svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd +hw-support-handler; debuild</tt>'. If you lack debuild, install the +devscripts package.</p> + +<p><strong>Update 2013-01-23 12:00</strong>: The project is now +renamed to Isenkram and the source moved from the Debian Edu +subversion repository to a Debian collab-maint git repository. See +<a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">build +instructions</a> for details.</p> + + + + + Thank you Thinkpad X41, for your long and trustworthy service + http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html + http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html + Sat, 19 Jan 2013 09:20:00 +0100 + <p>This Christmas my trusty old laptop died. It died quietly and +suddenly in bed. With a quiet whimper, it went completely quiet and +black. The power button was no longer able to turn it on. It was a +IBM Thinkpad X41, and the best laptop I ever had. Better than both +Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the +Compaq I had before that. Now I need to find a replacement. To keep +going during Christmas, I moved the one year old SSD disk to my old +X40 where it fitted (only one I had left that could use it), but it is +not a durable solution. + +<p>My laptop needs are fairly modest. This is my wishlist from when I +got a new one more than 10 years ago. It still holds true.:)</p> + +<ul> + +<li>Lightweight (around 1 kg) and small volume (preferably smaller + than A4).</li> +<li>Robust, it will be in my backpack every day.</li> +<li>Three button mouse and a mouse pin instead of touch pad.</li> +<li>Long battery life time. Preferable a week.</li> +<li>Internal WIFI network card.</li> +<li>Internal Twisted Pair network card.</li> +<li>Some USB slots (2-3 is plenty)</li> +<li>Good keyboard - similar to the Thinkpad.</li> +<li>Video resolution at least 1024x768, with size around 12" (A4 paper +size).</li> +<li>Hardware supported by Debian Stable, ie the default kernel and + X.org packages.</li> +<li>Quiet, preferably fan free (or at least not using the fan most of + the time). + +</ul> + +<p>You will notice that there are no RAM and CPU requirements in the +list. The reason is simply that the specifications on laptops the +last 10-15 years have been sufficient for my needs, and I have to look +at other features to choose my laptop. But are there still made as +robust laptops as my X41? The Thinkpad X60/X61 proved to be less +robust, and Thinkpads seem to be heading in the wrong direction since +Lenovo took over. But I've been told that X220 and X1 Carbon might +still be useful.</p> + +<p>Perhaps I should rethink my needs, and look for a pad with an +external keyboard? I'll have to check the +<a href="http://www.linux-laptop.net/">Linux Laptops site</a> for +well-supported laptops, or perhaps just buy one preinstalled from one +of the vendors listed on the <a href="http://linuxpreloaded.com/">Linux +Pre-loaded site</a>.</p> + + + + + How to find a browser plugin supporting a given MIME type + http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html + http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html + Fri, 18 Jan 2013 10:40:00 +0100 + <p>Some times I try to figure out which Iceweasel browser plugin to +install to get support for a given MIME type. Thanks to +<a href="https://wiki.ubuntu.com/MozillaTeam/Plugins">specifications +done by Ubuntu</a> and Mozilla, it is possible to do this in Debian. +Unfortunately, not very many packages provide the needed meta +information, Anyway, here is a small script to look up all browser +plugin packages announcing ther MIME support using this specification:</p> + +<pre> +#!/usr/bin/python +import sys +import apt +def pkgs_handling_mimetype(mimetype): + cache = apt.Cache() + cache.open(None) + thepkgs = [] + for pkg in cache: + version = pkg.candidate + if version is None: + version = pkg.installed + if version is None: + continue + record = version.record + if not record.has_key('Npp-MimeType'): + continue + mime_types = record['Npp-MimeType'].split(',') + for t in mime_types: + t = t.rstrip().strip() + if t == mimetype: + thepkgs.append(pkg.name) + return thepkgs +mimetype = "audio/ogg" +if 1 < len(sys.argv): + mimetype = sys.argv[1] +print "Browser plugin packages supporting %s:" % mimetype +for pkg in pkgs_handling_mimetype(mimetype): + print " %s" %pkg +</pre> + +<p>It can be used like this to look up a given MIME type:</p> + +<pre> +% ./apt-find-browserplug-for-mimetype +Browser plugin packages supporting audio/ogg: + gecko-mediaplayer +% ./apt-find-browserplug-for-mimetype application/x-shockwave-flash +Browser plugin packages supporting application/x-shockwave-flash: + browser-plugin-gnash +% +</pre> + +<p>In Ubuntu this mechanism is combined with support in the browser +itself to query for plugins and propose to install the needed +packages. It would be great if Debian supported such feature too. Is +anyone working on adding it?</p> + +<p><strong>Update 2013-01-18 14:20</strong>: The Debian BTS +request for icweasel support for this feature is +<a href="http://bugs.debian.org/484010">#484010</a> from 2008 (and +<a href="http://bugs.debian.org/698426">#698426</a> from today). Lack +of manpower and wish for a different design is the reason thus feature +is not yet in iceweasel from Debian.</p> + + + + + What is the most supported MIME type in Debian? + http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html + http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html + Wed, 16 Jan 2013 10:10:00 +0100 + <p>The <a href="http://wiki.debian.org/AppStreamDebianProposal">DEP-11 +proposal to add AppStream information to the Debian archive</a>, is a +proposal to make it possible for a Desktop application to propose to +the user some package to install to gain support for a given MIME +type, font, library etc. that is currently missing. With such +mechanism in place, it would be possible for the desktop to +automatically propose and install leocad if some LDraw file is +downloaded by the browser.</p> + +<p>To get some idea about the current content of the archive, I decided +to write a simple program to extract all .desktop files from the +Debian archive and look up the claimed MIME support there. The result +can be found on the +<a href="http://ftp.skolelinux.org/pub/AppStreamTest">Skolelinux FTP +site</a>. Using the collected information, it become possible to +answer the question in the title. Here are the 20 most supported MIME +types in Debian stable (Squeeze), testing (Wheezy) and unstable (Sid). +The complete list is available from the link above.</p> + +<p><strong>Debian Stable:</strong></p> + +<pre> + count MIME type + ----- ----------------------- + 32 text/plain + 30 audio/mpeg + 29 image/png + 28 image/jpeg + 27 application/ogg + 26 audio/x-mp3 + 25 image/tiff + 25 image/gif + 22 image/bmp + 22 audio/x-wav + 20 audio/x-flac + 19 audio/x-mpegurl + 18 video/x-ms-asf + 18 audio/x-musepack + 18 audio/x-mpeg + 18 application/x-ogg + 17 video/mpeg + 17 audio/x-scpls + 17 audio/ogg + 16 video/x-ms-wmv +</pre> + +<p><strong>Debian Testing:</strong></p> + +<pre> + count MIME type + ----- ----------------------- + 33 text/plain + 32 image/png + 32 image/jpeg + 29 audio/mpeg + 27 image/gif + 26 image/tiff + 26 application/ogg + 25 audio/x-mp3 + 22 image/bmp + 21 audio/x-wav + 19 audio/x-mpegurl + 19 audio/x-mpeg + 18 video/mpeg + 18 audio/x-scpls + 18 audio/x-flac + 18 application/x-ogg + 17 video/x-ms-asf + 17 text/html + 17 audio/x-musepack + 16 image/x-xbitmap +</pre> + +<p><strong>Debian Unstable:</strong></p> + +<pre> + count MIME type + ----- ----------------------- + 31 text/plain + 31 image/png + 31 image/jpeg + 29 audio/mpeg + 28 application/ogg + 27 image/gif + 26 image/tiff + 26 audio/x-mp3 + 23 audio/x-wav + 22 image/bmp + 21 audio/x-flac + 20 audio/x-mpegurl + 19 audio/x-mpeg + 18 video/x-ms-asf + 18 video/mpeg + 18 audio/x-scpls + 18 application/x-ogg + 17 audio/x-musepack + 16 video/x-ms-wmv + 16 video/x-msvideo +</pre> + +<p>I am told that PackageKit can provide an API to access the kind of +information mentioned in DEP-11. I have not yet had time to look at +it, but hope the PackageKit people in Debian are on top of these +issues.</p> + +<p><strong>Update 2013-01-16 13:35</strong>: Updated numbers after +discovering a typo in my script.</p> + + + Using modalias info to find packages handling my hardware http://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html @@ -146,7 +511,7 @@ values stands for. It is in part based on information from this shell script:</p> <pre> -cat $(find /sys -name modalias) | sort -u +find /sys -name modalias -print0 | xargs -0 cat | sort -u </pre> <p>The supported modalias globs for a given kernel module can be found @@ -338,7 +703,7 @@ hardware to packages when new stuff is inserted during run time.</p> one can use the following shell script:</p> <pre> - for id in $(cat $(find /sys -name modalias)|sort -u); do \ + for id in $(find /sys -name modalias -print0 | xargs -0 cat | sort -u); do \ echo "$id" ; \ /sbin/modprobe --show-depends "$id"|sed 's/^/ /' ; \ done @@ -368,6 +733,10 @@ list is very long on my test machine):</p> packages to install when new hardware is plugged into a Debian machine, please send me an email or talk to me on <a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p> + +<p><strong>Update 2013-01-15:</strong> Rewrite "cat $(find ...)" to +"find ... -print0 | xargs -0 cat" to make sure it handle directories +in /sys/ with space in them.</p>