]> pere.pagekite.me Git - homepage.git/blobdiff - blog/archive/2025/01/index.html
Generated.
[homepage.git] / blog / archive / 2025 / 01 / index.html
index e9c8f9bfcc42af4d0e552274d548df4aaaaae463..95fa70ce761057efdfaacbd0744305207ecdb204 100644 (file)
 
     <h3>Entries from January 2025.</h3>
     
+    <div class="entry">
+      <div class="title">
+        <a href="http://www.hungry.com/~pere/blog/Frokostseminar_om_Noark_5_i_Oslo_fredag_2025_03_14.html">Frokostseminar om Noark 5 i Oslo fredag 2025-03-14</a>
+      </div>
+      <div class="date">
+        31st January 2025
+      </div>
+      <div class="body">
+        <p>Nikita-prosjektet, der jeg er involvert, inviterer i samarbeid med
+forskningsgruppen METAINFO og foreningen NUUG, til et frokostseminar
+om Noark 5 og Noark 5 Tjenestegrensesnitt fredag 2025-03-14.  Fokus
+denne gangen er på bevaring og kassasjon.  Seminaret finner sted ved
+OsloMet, Pilestredet 46.  Vi håper å få til videostrømming via
+Internett av presentasjoner og paneldiskusjon.  Oppdatert program og
+lenker til påmeldingsskjema finner en via
+<a href="https://noark.codeberg.page/noark5-seminars/2025-03-14-noark-workshop.html">arrangementets infoside</a>.  Arrangementet er gratis.
+
+<p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
+det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
+til min adresse
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>. Merk,
+betaling med bitcoin er ikke anonymt. :)</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://www.hungry.com/~pere/blog/tags/noark5">noark5</a>, <a href="http://www.hungry.com/~pere/blog/tags/norsk">norsk</a>, <a href="http://www.hungry.com/~pere/blog/tags/nuug">nuug</a>, <a href="http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn</a>, <a href="http://www.hungry.com/~pere/blog/tags/standard">standard</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://www.hungry.com/~pere/blog/121_packages_in_Debian_mapped_to_hardware_for_automatic_recommendation.html">121 packages in Debian mapped to hardware for automatic recommendation</a>
+      </div>
+      <div class="date">
+        19th January 2025
+      </div>
+      <div class="body">
+        <p>For some years now, I have been working on a automatic hardware
+based package recommendation system for Debian and other Linux
+distributions.  The isenkram system I started on back in 2013 now
+consist of two subsystems, one locating firmware files using the
+information provided by apt-file, and one matching hardware to
+packages using information provided by AppStream.  The former is very
+similar to the mechanism implemented in debian-installer to pick the
+right firmware packages to install. This post is about the latter
+system.  Thanks to steady progress and good help from both other
+Debian and upstream developers, I am happy to report that
+<a href="https://tracker.debian.org/pkg/isenkram">the Isenkram
+system</a> now are able to recommend 121 packages using information
+provided via
+<a href="https://www.freedesktop.org/wiki/Distributions/AppStream/">AppStream</a>.</p>
+
+<p>The mapping is done using modalias information provided by the
+kernel, the same information used by udev when creating device files,
+and the kernel when deciding which kernel modules to load.  To get all
+the modalias identifiers relevant for your machine, you can run the
+following command on the command line:</p>
+
+<pre>
+find /sys/devices -name modalias -print0 | xargs -0 sort -u
+</pre>
+
+<p>The modalias identifiers can look something like this:</p>
+
+<pre>
+acpi:PNP0000
+cpu:type:x86,ven0000fam0006mod003F:feature:,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,0015,0016,0017,0018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,0068,006B,006C,006D,006F,0070,0072,0074,0075,0076,0078,0079,007C,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0092,0093,0094,0095,0096,0097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E1,00E3,00EB,00ED,00F0,00F1,00F3,00F5,00F6,00F9,00FA,00FB,00FD,00FF,0100,0101,0102,0103,0111,0120,0121,0123,0125,0127,0128,0129,012A,012C,012D,0140,0160,0161,0165,016C,017B,01C0,01C1,01C2,01C4,01C5,01C6,01F9,024A,025A,025B,025C,025F,0282
+dmi:bvnDellInc.:bvr2.18.1:bd08/14/2023:br2.18:svnDellInc.:pnPowerEdgeR730:pvr:rvnDellInc.:rn0H21J3:rvrA09:cvnDellInc.:ct23:cvr:skuSKU=NotProvided
+pci:v00008086d00008D3Bsv00001028sd00000600bc07sc80i00
+platform:serial8250
+scsi:t-0x05
+usb:v413CpA001d0000dc09dsc00dp00ic09isc00ip00in00
+</pre>
+
+<p>The entries above are a selection of the complete set available on
+a Dell PowerEdge R730 machine I have access to, to give an idea about
+the various styles of hardware identifiers presented in the modalias
+format.  When looking up relevant packages in a Debian Testing
+installation on the same R730, I get this list of packages
+proposed:</p>
+
+<pre>
+% sudo isenkram-lookup
+firmware-bnx2x
+firmware-nvidia-graphics
+firmware-qlogic
+megactl
+wsl
+%
+</pre>
+
+<p>The list consist of firmware packages requested by kernel modules,
+as well packages with program to get the status from the RAID
+controller and to maintain the LAN console.  When the edac-utils
+package providing tools to check the ECC RAM status will enter testing
+in a few days, it will also show up as a proposal from isenkram.  In
+addition, once the mfiutil package we uploaded in October get past the
+NEW processing, it will also propose a tool to configure the RAID
+controller.</p>
+
+<p>Another example is the trusty old Lenovo Thinkpad X230, which have
+hardware handled by several packages in the archive.  This is running
+on Debian Stable:</p>
+
+<pre>
+% isenkram-lookup 
+beignet-opencl-icd
+bluez
+cheese
+ethtool
+firmware-iwlwifi
+firmware-misc-nonfree
+fprintd
+fprintd-demo
+gkrellm-thinkbat
+hdapsd
+libpam-fprintd
+pidgin-blinklight
+thinkfan
+tlp
+tp-smapi-dkms
+tpb
+%
+</pre>
+
+<p>Here there proposal consist of software to handle the camera,
+bluetooth, network card, wifi card, GPU, fan, fingerprint reader and
+acceleration sensor on the machine.</p>
+
+<p>Here is the complete set of packages currently providing hardware
+mapping via AppStream in Debian Unstable: air-quality-sensor,
+alsa-firmware-loaders, antpm, array-info, avarice, avrdude,
+bmusb-v4l2proxy, brltty, calibre, colorhug-client, concordance-common,
+consolekit, dahdi-firmware-nonfree, dahdi-linux, edac-utils,
+eegdev-plugins-free, ekeyd, elogind, firmware-amd-graphics,
+firmware-ath9k-htc, firmware-atheros, firmware-b43-installer,
+firmware-b43legacy-installer, firmware-bnx2, firmware-bnx2x,
+firmware-brcm80211, firmware-carl9170, firmware-cavium,
+firmware-intel-graphics, firmware-intel-misc, firmware-ipw2x00,
+firmware-ivtv, firmware-iwlwifi, firmware-libertas,
+firmware-linux-free, firmware-mediatek, firmware-misc-nonfree,
+firmware-myricom, firmware-netronome, firmware-netxen,
+firmware-nvidia-graphics, firmware-qcom-soc, firmware-qlogic,
+firmware-realtek, firmware-ti-connectivity, fpga-icestorm, g810-led,
+galileo, garmin-forerunner-tools, gkrellm-thinkbat, goldencheetah,
+gpsman, gpstrans, gqrx-sdr, i8kutils, imsprog, ledger-wallets-udev,
+libairspy0, libam7xxx0.1, libbladerf2, libgphoto2-6t64,
+libhamlib-utils, libm2k0.9.0, libmirisdr4, libnxt, libopenxr1-monado,
+libosmosdr0, librem5-flash-image, librtlsdr0, libticables2-8,
+libx52pro0, libykpers-1-1, libyubikey-udev, limesuite,
+linuxcnc-uspace, lomoco, madwimax, media-player-info, megactl, mixxx,
+mkgmap, msi-keyboard, mu-editor, mustang-plug, nbc, nitrokey-app, nqc,
+ola, openfpgaloader, openocd, openrazer-driver-dkms, pcmciautils,
+pcscd, pidgin-blinklight, ponyprog, printer-driver-splix,
+python-yubico-tools, python3-btchip, qlcplus, rosegarden, scdaemon,
+sispmctl, solaar, spectools, sunxi-tools, t2n, thinkfan, tlp,
+tp-smapi-dkms, trezor, tucnak, ubertooth, usbrelay, uuu, viking,
+w1retap, wsl, xawtv, xinput-calibrator, xserver-xorg-input-wacom and
+xtrx-dkms.</p>
+
+<p>In addition to these, there are several
+<a href="https://udd.debian.org/cgi-bin/bts-usertags.cgi?user=pere%40hungry.com&tag=appstream-modalias">with
+patches pending in the Debian bug tracking system</a>, and even more
+where no-one wrote patches yet.  Good candiates for the latter are
+packages
+<a href="https://udd.debian.org/lintian-tag.cgi?tag=appstream-metadata-missing-modalias-provide">with
+udev rules but no AppStream hardware information</a>.</p>
+
+<p>The isenkram system consist of two packages, isenkram-cli with the
+command line tools, and isenkram with a GUI background process.  The
+latter will listen for dbus events from udev emitted when new hardware
+become available (like when inserting a USB dongle or discovering a
+new bluetooth device), look up the modalias entry for this piece of
+hardware in AppStream (and a hard coded list of mappings from isenkram
+- currently working hard to move this list to AppStream), and pop up a
+dialog proposing to install any not already installed packages
+supporting this hardware.  It work very well today when inserting the
+LEGO Mindstorms RCX, NXT and EV3 controllers. :) If you want to make
+sure more hardware related packages get recommended, please help out
+fixing the remaining packages in Debian to provide AppStream metadata
+with hardware mappings.</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">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://www.hungry.com/~pere/blog/tags/debian">debian</a>, <a href="http://www.hungry.com/~pere/blog/tags/english">english</a>, <a href="http://www.hungry.com/~pere/blog/tags/isenkram">isenkram</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2025_.html">What is the most supported MIME type in Debian in 2025?</a>
+      </div>
+      <div class="date">
+        18th January 2025
+      </div>
+      <div class="body">
+        <p><a href="http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html">Seven</a>
+and
+<a href="http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html">twelve</a>
+years ago, I measured what the most supported MIME type in Debian
+was</a>, first by analysing the desktop files in all packages in the
+archive, then by analysing the DEP-11 AppStream data set.  I guess it
+is time to repeat the measurement, only for unstable as last time:</p>
+
+<p><strong>Debian Unstable:</strong></p>
+
+<pre>
+  count MIME type
+  ----- -----------------------
+     63 image/png
+     63 image/jpeg
+     57 image/tiff
+     54 image/gif
+     51 image/bmp
+     50 audio/mpeg
+     48 text/plain
+     42 audio/x-mp3
+     40 application/ogg
+     39 audio/x-wav
+     39 audio/x-flac
+     36 audio/x-vorbis+ogg
+     35 audio/x-mpeg
+     34 audio/x-mpegurl
+     34 audio/ogg
+     33 application/x-ogg
+     32 audio/mp4
+     31 audio/x-scpls
+     31 application/pdf
+     29 audio/x-ms-wma
+</pre>
+
+<p>The list was created like this using a sid chroot:</p>
+
+<pre>
+cat /var/lib/apt/lists/*sid*_dep11_Components-amd64.yml.gz | \
+  zcat | awk '/^  - \S+\/\S+$/ {print $2 }' | sort | \
+  uniq -c | sort -nr | head -20
+</pre>
+
+<p>It is nice to see that the same number of packages now support PNG
+and JPEG.  Last time JPEG had more support than PNG.  Most of the MIME
+types are known to me, but the 'audio/x-scpls' one I have no idea what
+represent, except it being an audio format.  To find the packages
+claiming support for this format, the appstreamcli command from the
+appstream package can be used:
+
+<pre>
+% appstreamcli what-provides mediatype audio/x-scpls | grep Package: | sort -u
+Package: alsaplayer-common
+Package: amarok
+Package: audacious
+Package: brasero
+Package: celluloid
+Package: clapper
+Package: clementine
+Package: cynthiune.app
+Package: elisa
+Package: gtranscribe
+Package: kaffeine
+Package: kmplayer
+Package: kylin-burner
+Package: lollypop
+Package: mediaconch-gui
+Package: mediainfo-gui
+Package: mplayer-gui
+Package: mpv
+Package: mystiq
+Package: parlatype
+Package: parole
+Package: pragha
+Package: qmmp
+Package: rhythmbox
+Package: sayonara
+Package: shotcut
+Package: smplayer
+Package: soundconverter
+Package: strawberry
+Package: syncplay
+Package: vlc
+%
+</pre>
+
+<p>Look like several video and auto tools understand the format.
+Similarly one can check out the number of packages supporting the STL
+format commonly used for 3D printing:</p>
+
+<pre>
+% appstreamcli what-provides mediatype model/stl | grep Package: | sort -u
+Package: cura
+Package: freecad
+Package: open3d-viewer
+%
+</pre>
+
+<p>How strange the
+<a href="https://tracker.debian.org/pkg/slic3r">slic3r</a> and
+<a href="https://tracker.debian.org/pkg/slic3r-prusa">prusa-slicer</a>
+packages do not support STL.  Perhaps just missing package metadata?
+Luckily the amount of package metadata in Debian is getting better,
+and hopefully this way of locating relevant packages for any file
+format will be the preferred one soon.
+
+<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">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://www.hungry.com/~pere/blog/tags/debian">debian</a>, <a href="http://www.hungry.com/~pere/blog/tags/english">english</a>, <a href="http://www.hungry.com/~pere/blog/tags/isenkram">isenkram</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
     <div class="entry">
       <div class="title">
         <a href="http://www.hungry.com/~pere/blog/The_2025_LinuxCNC_Norwegian_developer_gathering.html">The 2025 LinuxCNC Norwegian developer gathering</a>
@@ -87,7 +418,9 @@ activities, please send Bitcoin donations to my address
 <li>2025
 <ul>
 
-<li><a href="http://www.hungry.com/~pere/blog/archive/2025/01/">January (1)</a></li>
+<li><a href="http://www.hungry.com/~pere/blog/archive/2025/01/">January (4)</a></li>
+
+<li><a href="http://www.hungry.com/~pere/blog/archive/2025/02/">February (2)</a></li>
 
 </ul></li>
 
@@ -549,7 +882,7 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/chrpath">chrpath (3)</a></li>
 
- <li><a href="http://www.hungry.com/~pere/blog/tags/debian">debian (204)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/debian">debian (208)</a></li>
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/debian edu">debian edu (159)</a></li>
 
@@ -563,7 +896,7 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="http://www.hungry.com/~pere/blog/tags/english">english (466)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/english">english (470)</a></li>
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
 
@@ -579,7 +912,7 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/intervju">intervju (43)</a></li>
 
- <li><a href="http://www.hungry.com/~pere/blog/tags/isenkram">isenkram (18)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/isenkram">isenkram (20)</a></li>
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/kart">kart (23)</a></li>
 
@@ -601,17 +934,17 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/mesh network">mesh network (8)</a></li>
 
- <li><a href="http://www.hungry.com/~pere/blog/tags/multimedia">multimedia (46)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/multimedia">multimedia (47)</a></li>
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/nice free software">nice free software (15)</a></li>
 
- <li><a href="http://www.hungry.com/~pere/blog/tags/noark5">noark5 (25)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/noark5">noark5 (26)</a></li>
 
- <li><a href="http://www.hungry.com/~pere/blog/tags/norsk">norsk (325)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/norsk">norsk (326)</a></li>
 
- <li><a href="http://www.hungry.com/~pere/blog/tags/nuug">nuug (199)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/nuug">nuug (200)</a></li>
 
- <li><a href="http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn (41)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn (42)</a></li>
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/open311">open311 (2)</a></li>
 
@@ -643,7 +976,7 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/skepsis">skepsis (5)</a></li>
 
- <li><a href="http://www.hungry.com/~pere/blog/tags/standard">standard (76)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/standard">standard (78)</a></li>
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
 
@@ -659,7 +992,7 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/verkidetfri">verkidetfri (22)</a></li>
 
- <li><a href="http://www.hungry.com/~pere/blog/tags/video">video (80)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/video">video (81)</a></li>
 
  <li><a href="http://www.hungry.com/~pere/blog/tags/vitenskap">vitenskap (4)</a></li>