]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.rss
Generated.
[homepage.git] / blog / index.rss
index 94d25780246ea253fc053f4bb432056989822b42..9472259491848545a539e91a45e5d79cbda9d896 100644 (file)
@@ -6,6 +6,162 @@
                 <link>http://www.hungry.com/~pere/blog/</link>
                 <atom:link href="http://www.hungry.com/~pere/blog/index.rss" rel="self" type="application/rss+xml" />
        
+       <item>
+               <title>121 packages in Debian mapped to hardware for automatic recommendation</title>
+               <link>http://www.hungry.com/~pere/blog/121_packages_in_Debian_mapped_to_hardware_for_automatic_recommendation.html</link>
+               <guid isPermaLink="true">http://www.hungry.com/~pere/blog/121_packages_in_Debian_mapped_to_hardware_for_automatic_recommendation.html</guid>
+                <pubDate>Sun, 19 Jan 2025 12:40:00 +0100</pubDate>
+               <description>&lt;p&gt;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
+&lt;a href=&quot;https://tracker.debian.org/pkg/isenkram&quot;&gt;the Isenkram
+system&lt;/a&gt; now are able to recommend 121 packages using information
+provided via
+&lt;a href=&quot;https://www.freedesktop.org/wiki/Distributions/AppStream/&quot;&gt;AppStream&lt;/a&gt;.&lt;/p&gt;
+
+&lt;p&gt;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:&lt;/p&gt;
+
+&lt;pre&gt;
+find /sys/devices -name modalias -print0 | xargs -0 sort -u
+&lt;/pre&gt;
+
+&lt;p&gt;The modalias identifiers can look something like this:&lt;/p&gt;
+
+&lt;pre&gt;
+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
+&lt;/pre&gt;
+
+&lt;p&gt;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:&lt;/p&gt;
+
+&lt;pre&gt;
+% sudo isenkram-lookup
+firmware-bnx2x
+firmware-nvidia-graphics
+firmware-qlogic
+megactl
+wsl
+%
+&lt;/pre&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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:&lt;/p&gt;
+
+&lt;pre&gt;
+% 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
+%
+&lt;/pre&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;In addition to these, there are several
+&lt;a href=&quot;https://udd.debian.org/cgi-bin/bts-usertags.cgi?user=pere%40hungry.com&amp;tag=appstream-modalias&quot;&gt;with
+patches pending in the Debian bug tracking system&lt;/a&gt;, and even more
+where no-one wrote patches yet.  Good candiates for the latter are
+packages
+&lt;a href=&quot;https://udd.debian.org/lintian-tag.cgi?tag=appstream-metadata-missing-modalias-provide&quot;&gt;with
+udev rules but no AppStream hardware information&lt;/a&gt;.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+&lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
+</description>
+       </item>
+       
        <item>
                <title>What is the most supported MIME type in Debian in 2025?</title>
                <link>http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2025_.html</link>
@@ -675,60 +831,6 @@ integrate nicely with isenkram.&lt;/p&gt;
 activities, please send Bitcoin donations to my address
 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
 
-</description>
-       </item>
-       
-       <item>
-               <title>Time to move orphaned Debian packages to git</title>
-               <link>http://www.hungry.com/~pere/blog/Time_to_move_orphaned_Debian_packages_to_git.html</link>
-               <guid isPermaLink="true">http://www.hungry.com/~pere/blog/Time_to_move_orphaned_Debian_packages_to_git.html</guid>
-                <pubDate>Sun, 14 Apr 2024 09:30:00 +0200</pubDate>
-               <description>&lt;p&gt;There are several packages in Debian without a associated git
-repository with the packaging history.  This is unfortunate and it
-would be nice if more of these would do so.  Quote a lot of these are
-without a maintainer, ie listed as maintained by the
-&#39;&lt;a href=&quot;https://qa.debian.org/developer.php?email=packages%40qa.debian.org&quot;&gt;Debian
-QA Group&lt;/a&gt;&#39; place holder.  In fact, 438 packages have this property
-according to UDD (&lt;tt&gt;SELECT source FROM sources WHERE release = &#39;sid&#39;
-AND (vcs_url ilike &#39;%anonscm.debian.org%&#39; OR vcs_browser ilike
-&#39;%anonscm.debian.org%&#39; or vcs_url IS NULL OR vcs_browser IS NULL) AND
-maintainer ilike &#39;%packages@qa.debian.org%&#39;;&lt;/tt&gt;).  Such packages can
-be updated without much coordination by any Debian developer, as they
-are considered orphaned.&lt;/p&gt;
-
-&lt;p&gt;To try to improve the situation and reduce the number of packages
-without associated git repository, I started a few days ago to search
-out candiates and provide them with a git repository under the
-&#39;debian&#39; collaborative Salsa project.  I started with the packages
-pointing to obsolete Alioth git repositories, and am now working my
-way across the ones completely without git references.  In addition to
-updating the Vcs-* debian/control fields, I try to update
-Standards-Version, debhelper compat level, simplify d/rules, switch to
-Rules-Requires-Root: no and fix lintian issues reported.  I only
-implement those that are trivial to fix, to avoid spending too much
-time on each orphaned package.  So far my experience is that it take
-aproximately 20 minutes to convert a package without any git
-references, and a lot more for packages with existing git repositories
-incompatible with git-buildpackages.&lt;/p&gt;
-
-&lt;p&gt;So far I have converted 10 packages, and I will keep going until I
-run out of steam.  As should be clear from the numbers, there is
-enough packages remaining for more people to do the same without
-stepping on each others toes.  I find it useful to start by searching
-for a git repo already on salsa, as I find that some times a git repo
-has already been created, but no new version is uploaded to Debian
-yet.  In those cases I start with the existing git repository.  I
-convert to the git-buildpackage+pristine-tar workflow, and ensure a
-debian/gbp.conf file with &quot;pristine-tar=True&quot; is added early, to avoid
-uploading a orig.tar.gz with the wrong checksum by mistake.  Did that
-three times in the begin before I remembered my mistake.&lt;/p&gt;
-
-&lt;p&gt;So, if you are a Debian Developer and got some spare time, perhaps
-considering migrating some orphaned packages to git?&lt;/p&gt;
-
-&lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-&lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
 </description>
        </item>