diff --git a/ifupdown2/debian/python-ifupdown2.postinst b/ifupdown2/debian/python-ifupdown2.postinst index 10ca49a..ce26e54 100644 --- a/ifupdown2/debian/python-ifupdown2.postinst +++ b/ifupdown2/debian/python-ifupdown2.postinst @@ -89,3 +89,5 @@ if [ -x "/etc/init.d/networking" ]; then fi #DEBHELPER# + +exit 0 diff --git a/ifupdown2/debian/python-ifupdown2.postrm b/ifupdown2/debian/python-ifupdown2.postrm index e0f07d4..bbd00a8 100644 --- a/ifupdown2/debian/python-ifupdown2.postrm +++ b/ifupdown2/debian/python-ifupdown2.postrm @@ -17,9 +17,9 @@ case "$1" in ;; esac -udevlink=$(readlink /etc/udev/rules.d/80-networking.rules 2>/dev/null) +udevlink=$(readlink /etc/udev/rules.d/80-networking.rules 2>/dev/null || true) [ -n "$udevlink" -a "$udevlink" == "/dev/null" ] && rm -f /etc/udev/rules.d/80-networking.rules -udevlink=$(readlink /etc/udev/rules.d/60-bridge-network-interface.rules 2>/dev/null) +udevlink=$(readlink /etc/udev/rules.d/60-bridge-network-interface.rules 2>/dev/null || true) [ -n "$udevlink" -a "$udevlink" == "/dev/null" ] && rm -f /etc/udev/rules.d/60-bridge-network-interface.rules if [ "$1" = "purge" ] ; then diff --git a/packages/ifupdown2/debian/python-ifupdown2.preinst b/packages/ifupdown2/debian/python-ifupdown2.preinst new file mode 100755 index 0000000..3fcaed1 --- /dev/null +++ b/packages/ifupdown2/debian/python-ifupdown2.preinst @@ -0,0 +1,56 @@ +#!/bin/sh +# preinst script for newpkg +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +preinst_upgrade() +{ + local oldver="$1" + local udev_user_rulesdir="/etc/udev/rules.d" + + # we have to fixup the filesystem here as previous packages of + # ifupdown2 introduced a bug in the postrm script that require + # these files to exist, otherwise the postrm script will always + # fail. + local badver="0.1-cl2.5+2" + if dpkg --compare-versions "${oldver}" "lt" "${badver}"; then + local files="${udev_user_rulesdir}/80-networking.rules + ${udev_user_rulesdir}/60-bridge-network-interface.rules" + for f in ${files}; do + echo "touching udev rule: ${f}" + test ! -e "${f}" && ln -s /dev/null "${f}" || \ + /bin/echo -e "\tudev rule exists leaving" + done + fi +} + +case "$1" in + install|upgrade) + preinst_upgrade "$2" + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0