#!/bin/sh -e # This script can be called in the following ways: # # After the package was installed: # configure # # # If prerm fails during upgrade or fails on failed upgrade: # abort-upgrade # # If prerm fails during deconfiguration of a package: # abort-deconfigure in-favour # removing # # If prerm fails during replacement due to conflict: # abort-remove in-favour # Enable udevadm again enable_udevadm() { if [ -e /sbin/udevadm.upgrade ]; then rm -f /sbin/udevadm dpkg-divert --package fake-udev --rename --divert /sbin/udevadm.upgrade \ --remove /sbin/udevadm fi } # Remove things from the initial device tree that are no longer required remove_devices() { rm -f /lib/udev/devices/fd rm -f /lib/udev/devices/stdin rm -f /lib/udev/devices/stdout rm -f /lib/udev/devices/stderr rm -f /lib/udev/devices/core rm -f /lib/udev/devices/sndstat rm -f /lib/udev/devices/console rm -f /lib/udev/devices/null rm -f /lib/udev/devices/ppp rm -f /lib/udev/devices/loop0 rm -rf /lib/udev/devices/net rm -rf /lib/udev/devices/pts rm -rf /lib/udev/devices/shm } # Write the initial copy of the persistent net and cd rules seed_persistent_rules() { FILE=/etc/udev/rules.d/70-persistent-net.rules if [ ! -e $FILE ]; then echo "# This file maintains persistent names for network interfaces." > $FILE echo "# See udev(7) for syntax." >> $FILE echo "#" >> $FILE echo "# Entries are automatically added by the 75-persistent-net-generator.rules" >> $FILE echo "# file; however you are also free to add your own entries." >> $FILE fi FILE=/etc/udev/rules.d/70-persistent-cd.rules if [ ! -e $FILE ]; then echo "# This file maintains persistent names for CD/DVD reader and writer devices." > $FILE echo "# See udev(7) for syntax." >> $FILE echo "#" >> $FILE echo "# Entries are automatically added by the 75-cd-aliases-generator.rules" >> $FILE echo "# file; however you are also free to add your own entries provided you" >> $FILE echo "# add the ENV{GENERATED}="1" flag to your own rules as well." >> $FILE fi } case "$1" in configure) # Upgrade from lucid if dpkg --compare-versions "$2" lt "172-0ubuntu3"; then remove_devices fi seed_persistent_rules restart udev || true enable_udevadm # 165 changed DB format if dpkg --compare-versions "$2" lt-nl "165~"; then udevadm info --convert-db fi update-initramfs -u ;; abort-upgrade|abort-deconfigure|abort-remove) ;; *) echo "$0 called with unknown argument \`$1'" 1>&2 exit 1 ;; esac # Automatically added by dh_installinit update-rc.d -f udev remove >/dev/null || exit $? # End automatically added section # Automatically added by dh_installinit update-rc.d -f udev-finish remove >/dev/null || exit $? # End automatically added section exit 0