blino's website

Free software developer and more

I had to specify the encoding in my blog feed, since my stories are not written in UTF8 and Content-type specified charset=ISO-8859-1

$ diff -u /pub/web/blosxom/cgi-bin/blosxom.cgi{~,}
--- /pub/web/blosxom/cgi-bin/blosxom.cgi~       2007-09-01 01:53:56.000000000 +0200
+++ /pub/web/blosxom/cgi-bin/blosxom.cgi        2008-03-03 23:23:42.000000000 +0100
@@ -442,7 +442,7 @@
 html date <h3>$dw, $da $mo $yr</h3>\n
 html foot <p /><center><a href=""><img src="" border="0" /></a></body></html>
 rss content_type text/xml
-rss head <?xml version="1.0"?>\n<!-- name="generator" content="blosxom/$version" -->\n<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "">\n\n<rss version="0.91">\n  <channel>\n    <title>$blog_title $path_info_da $path_info_mo $path_info_yr</title>\n    <link>$url</link>\n    <description>$blog_description</description>\n    <language>$blog_language</language>\n
+rss head <?xml version="1.0" encoding="iso-8859-15"?>\n<!-- name="generator" content="blosxom/$version" -->\n<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "">\n\n<rss version="0.91">\n  <channel>\n    <title>$blog_title $path_info_da $path_info_mo $path_info_yr</title>\n    <link>$url</link>\n    <description>$blog_description</description>\n    <language>$blog_language</language>\n
 rss story   <item>\n    <title>$title</title>\n    <link>$url/$yr/$mo_num/$da#$fn</link>\n    <description>$body</description>\n  </item>\n
 rss date \n
 rss foot   </channel>\n</rss>

Support pbe5 module in network configuration tools (for Dell Latitude 810)

Add a slideshow feature

So that my harddisk does not get noisy every 5 seconds

$ cat bin/

# age time, in seconds
# allowed dirty ratio, in pct

# kernel default dirty buffer age

REMOUNT_PART="/ /home /pub"

case "$1" in
                echo "$AGE" > /proc/sys/vm/dirty_expire_centisecs
                echo "$AGE" > /proc/sys/vm/dirty_writeback_centisecs
                echo "$DIRTY_RATIO" > /proc/sys/vm/dirty_ratio
                echo "$DIRTY_RATIO" >
                for part in $REMOUNT_PART; do
                    mount $part -o remount,relatime,commit=$MAX_AGE
                echo "$B_AGE" > /proc/sys/vm/dirty_writeback_centisecs
                echo "$U_AGE" > /proc/sys/vm/dirty_expire_centisecs
                echo "$DEF_DIRTY_RATIO" > /proc/sys/vm/dirty_ratio
                echo "$DEF_DIRTY_BACKGROUND_RATIO" >
                for part in $REMOUNT_PART; do
                    mount $part -o remount,commit=$DEF_UPDATE
                echo "$0 {start|stop}"

exit 0

  • update rpmmon tool for new maintainers db
  • use<PKGNAME>
  • require a plain text output listing per-maintainer packages

From Net::FTP manpage:

dir ( [ DIR ] )
    Get a directory listing of "DIR", or the current directory
    in long format.

    In an array context, returns a list of lines returned from
    the server. In a scalar context, returns a reference to a list.

In some situations, it returns undef in array context, it should probably return a reference to an empty array instead.

  • commmit mirrorlist script modifications (ISO images support)
  • enable back automatic check/upload of mirrorlist in raoh

Sometimes, the iurt process rebuilding dkms is killed, check if it's because we need to set a specific timeout for dkms rebuilds.

Our udev rules modprobing usblp are outdated, they are leftovers from the hotplug migration, when the required aliases where not in the kernel yet.

This is probably the same for a lot of modules in /etc/udev/rules.d/70-hotplug_map.rules.

$ grep printer /etc/udev/rules.d/70-hotplug_map.rules
SUBSYSTEM=="usb", SYSFS{bDeviceSubClass}=="01", SYSFS{bDeviceClass}=="07", SYSFS{bDeviceProtocol}=="01", RUN+="/sbin/modprobe printer"
SUBSYSTEM=="usb", SYSFS{bDeviceSubClass}=="01", SYSFS{bDeviceClass}=="07", SYSFS{bDeviceProtocol}=="02", RUN+="/sbin/modprobe printer"
SUBSYSTEM=="usb", SYSFS{bDeviceSubClass}=="01", SYSFS{bDeviceClass}=="07", SYSFS{bDeviceProtocol}=="03", RUN+="/sbin/modprobe printer"
SUBSYSTEM=="usb", SYSFS{bInterfaceSubClass}=="01", SYSFS{bInterfaceProtocol}=="01", SYSFS{bInterfaceClass}=="07", RUN+="/sbin/modprobe printer"
SUBSYSTEM=="usb", SYSFS{bInterfaceSubClass}=="01", SYSFS{bInterfaceProtocol}=="02", SYSFS{bInterfaceClass}=="07", RUN+="/sbin/modprobe printer"
SUBSYSTEM=="usb", SYSFS{bInterfaceSubClass}=="01", SYSFS{bInterfaceProtocol}=="03", SYSFS{bInterfaceClass}=="07", RUN+="/sbin/modprobe printer"

$ /sbin/modprobe -c | grep printer
install printer          /sbin/modprobe usblp

$ /sbin/modinfo -F alias usblp

When glxinfo is run on displays without DRI, it sometimes makes the X server crash (backtrace incriminates the _mesa_initialize_context function).

This is currently workarounded in drak3d by blacklisting known drivers on which it crashes, but it should be properly fixed in Mesa.

$ grep "my @glx_blacklist" /usr/lib/libDrakX/Xconfig/ 
my @glx_blacklist = qw(mga nv sis tdfx vboxvideo vesa vmware)


--- /etc/profile.d/        2007-09-21 16:09:02.000000000 +0200
+++ ./     2007-09-04 18:39:48.000000000 +0200
@@ -19,6 +19,9 @@
 if [ -e "$HOME/.gnupg/gpg.conf" -a -z "$GPGKEY" ]
     then GPGKEY=`awk '/^default-key/ {print $2}'
+if [ -e "$HOME/.gnupg/pubring.gpg" -a -z "$GPGKEY" ]
+    then GPGKEY=`gpg -K --with-colons | awk -F ':' '$1 = "sec" { print substr($5, 9); exit }'`

 [ -n "$GPGKEY" ] && KEYS="$KEYS

$ grep PCI_CLASS_COMMUNICATION /usr/src/linux/include/linux/pci_ids.h 

        if ((((dev->class >> 8) != PCI_CLASS_COMMUNICATION_SERIAL) &&
             ((dev->class >> 8) != PCI_CLASS_COMMUNICATION_MODEM)) ||


ultrastar-ng: a free C++ Linux based clone of Singstar

Fedora moved to util-linux-ng, we should probably do the same before the freeze for 2008.0

4  0xb7f5da7e in HardwareInfo::checkCurrentCPUFreqPolicy (this=0x811f030)
    at hardware.cpp:554

Fix assigning gov of 0x01 to cpuFreq

fbmenu (from bootsplash package) is used to show a graphical netprofile menu early in boot. It is currently built with gtk-linux-fb, which is unmaintained and deprecated.

We should package gtk-directfb, and cairo-directfb (since the former requires it).

The patch in bootsplash is quite trivial.

--- bootsplash-3.2.8/fb/Makefile        2007-02-26 12:03:23.000000000 +0100
+++ bootsplash-3.2.8/fb/Makefile      2007-08-01 15:09:12.000000000 +0200
@@ -25,7 +25,7 @@
        gcc $(GTK_CFLAGS) [...] -pthread -O2 -Wall -lgtk-x11-2.0 -o xmenu fbmenu.c;

 fbmenu: fbmenu.c
-       gcc $(GTK_CFLAGS) [...] -pthread -O2 -Wall -lgtk-linux-fb-2.0 -o fbmenu fbmenu.c;
+       gcc $(GTK_CFLAGS) [...] -pthread -O2 -Wall -lgtk-directfb-2.0 -o fbmenu fbmenu.c;

 progress: progress.c
        $(CC) $(CFLAGS) $(FSFLAGS) -o $@ progress.c

The network scripts send message over DBus on interface events, handle them in the network center.

We could also handle some udev/hal messages on-the-fly (in my dreams).

  • fix wrapper (patch below)
  • make --use-old-chroot command work:
sudo ./iurt-tmp-wrapper --shell --use-old-chroot /export/home/mandrake/chroot_tmp/blino/chroot_cooker.0.20070822181005/

--- /usr/local/bin/iurt 2007-04-20 09:30:49.000000000 +0200
+++ iurt-tmp-wrapper    2007-08-08 18:11:38.000000000 +0200
@@ -16,7 +16,7 @@
     echo "   $0 usage:"
-    echo "             $0 [--shell] [--stop a|b|l|d|i|c|p] [--clean] [--media media1 media2] package.rpm"
+    echo "             $0 [--shell] [--stop a|b|l|d|i|c|p] [--clean] [--use-old-chroot <path>] [--media media1 media2] package.rpm"
     echo "                 e.g.: $0 --shell --media main/release main/updates /SRPMS/main/release/mkcd-4.2.5-1mdv2007.1.src.rpm"
@@ -43,17 +43,19 @@
-    if [[ $1 == '--shell' ]]; then
+elif [[ $1 == '--shell' ]]; then
-    else 
-       if [[ $1 == '--clean' ]]; then
+elif [[ $1 == '--clean' ]]; then
            stop="--clean $SUDO_USER"
-       fi
-    fi
+if [[ $1 == '--use-old-chroot' && -n "$2" ]]; then
+       stop="$1 $2"
+       shift
+       shift

 if [[ $1 == '--media' ]]; then

Review all SVN log. Revert some things, such as the %clean step removal.

Send short bio of myself to figure on

Take photo from ?

Add these in some default modprobe options file:

options ipw2100 associate=0
options ipw2200 associate=0

to prevent automatic association to open access points. We prefer to rely on wpa_supplicant.

(affects Mandriva Flash 2007 Spring and Mandriva Cooker)

Some race during coldplug prevents USB controllers modules from being loaded, they can't find some usbcore symbols at loading time.

The suggested patches have been applied upstream, so we already have them in the distro. The loop checking module loading status in /proc/modules should have been enough, need to investigate more.

Debian lowered the bug importance not to block their final release, and the bug was eventually marked as fixed later, without valuable explanation.

  • /usr/src/linux/kernel/module.c
  • module-init-tools-3.3-pre11/libmodprobe.c

Trying rmmod ehci_hcd; rmmod uhci_hcd; umount /proc/bus/usb; rmmod usbcore; udevtrigger; grep usb /proc/modules to reproduce isn't enough, the bug probably appears only when the system is overloaded.

Linux agpgart interface v0.102 (c) Dave Jones
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
iTCO_vendor_support: vendor-support=0
usbcore: registered new device driver usb
agpgart: Detected an Intel 915GM Chipset.
agpgart: Detected 7932K stolen memory.
agpgart: AGP aperture is 256M @ 0xc0000000
iTCO_wdt: Intel TCO WatchDog Timer Driver v1.01 (21-Jan-2007)
iTCO_wdt: Found a ICH6-M TCO device (Version=2, TCOBASE=0x1060)
iTCO_wdt: initialized. heartbeat=30 sec (nowayout=1)
uhci_hcd: Unknown symbol usb_hcd_pci_suspend
uhci_hcd: Unknown symbol usb_hcd_resume_root_hub
uhci_hcd: Unknown symbol usb_hcd_pci_probe
uhci_hcd: Unknown symbol usb_disabled
uhci_hcd: Unknown symbol usb_calc_bus_time
uhci_hcd: Unknown symbol usb_hcd_pci_resume
uhci_hcd: Unknown symbol usb_hcd_giveback_urb
uhci_hcd: Unknown symbol usb_hcd_poll_rh_status
uhci_hcd: Unknown symbol usb_hcd_pci_remove
uhci_hcd: Unknown symbol usb_root_hub_lost_power
ACPI: PCI Interrupt 0000:00:1f.3[B] -> GSI 17 (level, low) -> IRQ 17
USB Universal Host Controller Interface driver v3.0
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:1d.0: irq 16, io base 0x0000bf80
usb usb1: configuration [#1] chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.1: irq 17, io base 0x0000bf60
usb usb2: configuration [#1] chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.2: irq 18, io base 0x0000bf40
usb usb3: configuration [#1] chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
intel_rng: FWH not detected

$ grep usb_hcd_pci_suspend /lib/modules/2.6.22-4mdv/modules.symbols 
alias symbol:usb_hcd_pci_suspend usbcore

vfat detection does not work in blkid, this breaks filesystem detection in mount.

  • blkid_verify() in e2fsprogs-1.40/lib/blkid/probe.c
  • known_fstype() in util-linux-2.13-pre7/mount/mount_guess_fstype.c

blosxom Optimised for standards.
Olivier Blin (2005)