Bug#499270: initramfs-tools: postrm.d/update-initramfs breaks removal of old kernel - Debian

This is a discussion on Bug#499270: initramfs-tools: postrm.d/update-initramfs breaks removal of old kernel - Debian ; Package: initramfs-tools Version: 0.92k Severity: serious Justification: forbid removal of other packages Hi, I upgraded initramfs-tools then I tried to remove an old kernel package (package from the Debian Kernel Team repo). I got an error: eyak:/home/vdanjean# dpkg --purge linux-image-2.6.27-rc3-amd64 ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: Bug#499270: initramfs-tools: postrm.d/update-initramfs breaks removal of old kernel

  1. Bug#499270: initramfs-tools: postrm.d/update-initramfs breaks removal of old kernel

    Package: initramfs-tools
    Version: 0.92k
    Severity: serious
    Justification: forbid removal of other packages

    Hi,

    I upgraded initramfs-tools then I tried to remove an old kernel package
    (package from the Debian Kernel Team repo). I got an error:

    eyak:/home/vdanjean# dpkg --purge linux-image-2.6.27-rc3-amd64
    (Lecture de la base de données... 192887 fichiers et répertoires déj* installés.)
    Suppression de linux-image-2.6.27-rc3-amd64 ...
    Purge des fichiers de configuration de linux-image-2.6.27-rc3-amd64 ...
    Running postrm hook script /usr/sbin/update-grub.
    Updating /boot/grub/grub.cfg ...
    Found Debian background: debian-blueish-wallpaper-640x480.png
    Found linux image: /boot/vmlinuz-2.6.27-rc6-amd64
    Found initrd image: /boot/initrd.img-2.6.27-rc6-amd64
    Found linux image: /boot/vmlinuz-2.6.27-rc5-amd64
    Found initrd image: /boot/initrd.img-2.6.27-rc5-amd64
    Found linux image: /boot/vmlinuz-2.6.27-rc4-amd64
    Found initrd image: /boot/initrd.img-2.6.27-rc4-amd64
    Found linux image: /boot/vmlinuz-2.6.26-1-amd64
    Found initrd image: /boot/initrd.img-2.6.26-1-amd64
    done
    Examining /etc/kernel/postrm.d .
    run-parts: executing /etc/kernel/postrm.d/update-initramfs
    Cannot delete /boot/initrd.img-2.6.27-rc3-amd64, doesn't exist.
    run-parts: /etc/kernel/postrm.d/update-initramfs exited with return code 1
    Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-2.6.27-rc3-amd64.postrm line 331.
    dpkg*: erreur de traitement de linux-image-2.6.27-rc3-amd64 (--purge)*:
    le sous-processus post-removal script a retourné une erreur de sortie d'état 2
    Des erreurs ont été rencontrées pendant l'exécution*:
    linux-image-2.6.27-rc3-amd64
    eyak:/home/vdanjean#

    This is due to the fact that:
    * linux-image-* postrm script removes /boot/initrd.img-... files
    Even if it should not, you cannot change already installed postrm files
    of all (locally or official) kernel debian package. This is why I report
    this bug against initramfs-tool and not linux-2.6
    * linux-image-* postrm script calls /etc/kernel/postrm.d/update-initramfs
    (with the help of run-parts)
    * /etc/kernel/postrm.d/update-initramfs runs "update-initramfs -d -k $KVER"
    that returns an error (even if "set -e" is not there, this is the last
    command of this script):
    eyak:/home/vdanjean# update-initramfs -d -k 2.6.27-rc3-amd64 ; echo $?
    Cannot delete /boot/initrd.img-2.6.27-rc3-amd64, doesn't exist.
    1
    eyak:/home/vdanjean#

    So, somthing must be done. /etc/kernel/postrm.d/update-initramfs must not
    return an error when /boot/initrd.img-* is not present (even if it is not
    removed in the linux-image-* postrm: the sysadmin can have (re)moved it)

    Regards,
    Vincent

    PS: as a workaround, I added "true" in /etc/kernel/postrm.d/update-initramfs
    on the last line. But it not really a fix since I now ignore any update-initramfs
    error.

    -- Package-specific info:
    -- /proc/cmdline
    BOOT_IMAGE=/vmlinuz-2.6.26-1-amd64 root=/dev/mapper/eyak-root ro

    -- /proc/filesystems
    ext3
    udf
    iso9660

    -- lsmod
    Module Size Used by
    microcode 15160 0
    iwl4965 107208 0
    usbhid 45792 0
    hid 41792 1 usbhid
    ff_memless 9224 1 usbhid
    usblp 16896 0
    aes_x86_64 12416 2
    aes_generic 32552 1 aes_x86_64
    xts 7680 1
    gf128mul 12800 1 xts
    tun 14084 1
    nls_utf8 6272 0
    isofs 35880 0
    zlib_inflate 18944 1 isofs
    udf 75944 0
    nls_base 12932 3 nls_utf8,isofs,udf
    crc_itu_t 6528 1 udf
    i915 35072 1
    drm 91488 2 i915
    rfcomm 38176 0
    l2cap 23936 5 rfcomm
    kvm_intel 39776 0
    kvm 127464 1 kvm_intel
    ppdev 11656 0
    parport_pc 31016 0
    lp 14724 0
    parport 41776 3 ppdev,parport_pc,lp
    ipv6 288328 32
    acpi_cpufreq 11792 1
    cpufreq_conservative 11784 0
    cpufreq_stats 9120 0
    cpufreq_ondemand 11792 1
    cpufreq_userspace 8452 0
    cpufreq_powersave 6400 0
    freq_table 9344 3 acpi_cpufreq,cpufreq_stats,cpufreq_ondemand
    dm_crypt 17032 1
    coretemp 11008 0
    loop 19468 0
    joydev 14848 0
    arc4 6272 2
    ecb 7296 2
    crypto_blkcipher 21636 4 xts,dm_crypt,ecb
    pcmcia 38680 0
    iwlcore 31360 1 iwl4965
    firmware_class 12544 3 microcode,iwl4965,pcmcia
    rfkill 11168 2 iwlcore
    snd_hda_intel 434776 1
    mac80211 162864 2 iwl4965,iwlcore
    led_class 8968 1 iwlcore
    snd_pcm_oss 41760 0
    snd_mixer_oss 18816 1 snd_pcm_oss
    snd_pcm 81800 2 snd_hda_intel,snd_pcm_oss
    snd_timer 25744 1 snd_pcm
    yenta_socket 27916 1
    rsrc_nonstatic 14080 1 yenta_socket
    psmouse 42268 0
    snd 63688 7 snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,sn d_timer
    cfg80211 30224 2 iwl4965,mac80211
    iTCO_wdt 15696 0
    i2c_i801 13596 0
    soundcore 12064 1 snd
    pcmcia_core 41508 3 pcmcia,yenta_socket,rsrc_nonstatic
    pcspkr 7040 0
    serio_raw 9860 0
    i2c_core 27936 1 i2c_i801
    hci_usb 18460 2
    snd_page_alloc 13072 2 snd_hda_intel,snd_pcm
    bay 9216 0
    bluetooth 57124 7 rfcomm,l2cap,hci_usb
    video 24084 0
    output 7808 1 video
    wmi 11712 0
    ac 9352 0
    button 11680 0
    battery 16904 0
    intel_agp 31728 1
    evdev 14208 11
    dcdbas 11952 0
    ext3 124688 7
    jbd 51240 1 ext3
    mbcache 12804 1 ext3
    dm_mirror 20608 0
    dm_log 13956 1 dm_mirror
    dm_snapshot 19400 0
    dm_mod 58864 19 dm_crypt,dm_mirror,dm_log,dm_snapshot
    sd_mod 29376 4
    ide_cd_mod 36360 0
    cdrom 37928 1 ide_cd_mod
    ide_pci_generic 9220 0 [permanent]
    piix 12424 0 [permanent]
    ide_core 128284 3 ide_cd_mod,ide_pci_generic,piix
    ata_piix 22660 3
    ohci1394 32564 0
    ieee1394 93816 1 ohci1394
    ata_generic 10116 0
    libata 165472 2 ata_piix,ata_generic
    scsi_mod 160760 2 sd_mod,libata
    tg3 97156 0
    ehci_hcd 36108 0
    uhci_hcd 25760 0
    dock 14112 2 bay,libata
    thermal 22688 0
    processor 42304 4 acpi_cpufreq,thermal
    fan 9352 0
    thermal_sys 17728 4 video,thermal,processor,fan

    -- /etc/kernel-img.conf
    # Kernel image management overrides
    # See kernel-img.conf(5) for details
    do_symlinks = yes
    relative_links = yes
    do_bootloader = no
    do_bootfloppy = no
    do_initrd = yes
    link_in_boot = no
    postinst_hook = update-grub
    postrm_hook = update-grub

    -- /etc/initramfs-tools/initramfs.conf
    MODULES=most
    BUSYBOX=y
    KEYMAP=n
    BOOT=local
    DEVICE=eth0
    NFSROOT=auto

    -- /etc/crypttab
    #
    decrypt-private /dev/mapper/eyak-private none luks,checkargs=ext3,noauto


    -- System Information:
    Debian Release: lenny/sid
    APT prefers unstable
    APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
    Architecture: amd64 (x86_64)

    Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores)
    Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
    Shell: /bin/sh linked to /bin/bash

    Versions of packages initramfs-tools depends on:
    ii cpio 2.9-13 GNU cpio -- a program to manage ar
    ii findutils 4.4.0-2 utilities for finding files--find,
    ii klibc-utils 1.5.12-2 small utilities built with klibc f
    ii module-init-tools 3.4-1 tools for managing Linux kernel mo
    ii udev 0.125-6 /dev/ and hotplug managementdaemo

    Versions of packages initramfs-tools recommends:
    ii busybox 1:1.10.2-2 Tiny utilities for small andembed

    initramfs-tools suggests no packages.

    -- no debconf information



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  2. Bug#499270: marked as done (initramfs-tools: postrm.d/update-initramfs breaks removal of old kernel)

    On Wed, 17 Sep 2008, Vincent Danjean wrote:

    >
    > > * Revert "initramfs-tools: Add support for linux-2.6 make deb-pkg
    > > target" (closes: #499270) thanks Vincent Danjean .

    >
    > Looking at the git commit (the new package is not any more in incoming and
    > not yet in archive mirrors), I do not see anything about removing the old
    > problematic conffile /etc/kernel/postrm.d/update-initramfs (in preinst for
    > example)
    > I will wait to test the new package but I think that you will need to
    > remove the old conffile by script if you do not want bug report from people
    > that have installed the 0.92k version.


    right, done.

    please relook into the initramfs-tools repo:
    git clone git://git.debian.org/git/kernel/initramfs-tools.git

    --
    maks



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  3. Bug#499270: marked as done (initramfs-tools: postrm.d/update-initramfs breaks removal of old kernel)

    maximilian attems wrote:
    > please relook into the initramfs-tools repo:
    > git clone git://git.debian.org/git/kernel/initramfs-tools.git


    Oups, I did not look into the "bump version to 0.92l" commit, only the
    previous one.
    Your fix works perfectly.

    Vincent




    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

+ Reply to Thread