← Back to team overview

kernel-packages team mailing list archive

[Bug 1475662] [NEW] Kernel postrm calls /etc/kernel/postinst.d/*

 

Public bug reported:

Looking at linux-image-extra-3.19.0-18-generic here, but I expect this
to be pretty pervasive. This is its postrm:

#!/bin/sh
set -e

case "$0::$1" in
*.postinst::configure|*.postrm::remove)
        depmod -a -F /boot/System.map-3.19.0-18-generic 3.19.0-18-generic || true
        for dir in "/etc/kernel/postinst.d" "/etc/kernel/postinst.d/3.19.0-18-generic"
        do
                if [ -d "$dir" ]; then
                        run-parts --verbose --exit-on-error --arg="3.19.0-18-generic" --arg="/boot/vmlinuz-3.19.0-18-generic" "$dir"
                fi
        done
        ;;
esac

As you can see it executes /etc/kernel/postinst.d/* instead of
/etc/kernel/postrm.d/* even if it's called as a postrm script. Why? The
problem for us is that this re-executes dkms's autoinstaller, which
recompiles certain modules even if the kernel is being removed. But I
find this behavior pretty surprising regardless of this.

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1475662

Title:
  Kernel postrm calls /etc/kernel/postinst.d/*

Status in linux package in Ubuntu:
  New

Bug description:
  Looking at linux-image-extra-3.19.0-18-generic here, but I expect this
  to be pretty pervasive. This is its postrm:

  #!/bin/sh
  set -e

  case "$0::$1" in
  *.postinst::configure|*.postrm::remove)
          depmod -a -F /boot/System.map-3.19.0-18-generic 3.19.0-18-generic || true
          for dir in "/etc/kernel/postinst.d" "/etc/kernel/postinst.d/3.19.0-18-generic"
          do
                  if [ -d "$dir" ]; then
                          run-parts --verbose --exit-on-error --arg="3.19.0-18-generic" --arg="/boot/vmlinuz-3.19.0-18-generic" "$dir"
                  fi
          done
          ;;
  esac

  As you can see it executes /etc/kernel/postinst.d/* instead of
  /etc/kernel/postrm.d/* even if it's called as a postrm script. Why?
  The problem for us is that this re-executes dkms's autoinstaller,
  which recompiles certain modules even if the kernel is being removed.
  But I find this behavior pretty surprising regardless of this.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1475662/+subscriptions


Follow ups