mirror of
https://github.com/CumulusNetworks/ifupdown2.git
synced 2024-05-06 15:54:50 +00:00
ifupdown2: fixup maintainer scripts
Ticket: CM-5764 Reviewed By: TBA Testing Done: of course none ;) Will update when I have some time to test fupdown2's postinst and postrm scripts do not conform to Debian's policy for maintainer scripts [1]. Specific non-conformance follows: * fixed maintainer scripts so they only use /bin/sh as other shells are non-essential packages and may not exist on the system * fixed maintainer scripts so only actions specified by $1 are performed per run of the script * fixed maintainer scripts to only support specific values for $1, and will otherwise exit with error * included at the bottom of the postrm script the "#DEBHELPER#" tag as during package building debianhelper will inject extra code at this location [1] https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html (cherry picked from commit 2289fe4e90a0134fcb07fe7e2e838de755d73e68)
This commit is contained in:
51
debian/python-ifupdown2.postinst
vendored
51
debian/python-ifupdown2.postinst
vendored
@@ -1,6 +1,22 @@
|
||||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
# postinst script for ifupdown2
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postinst> `configure' <most-recently-configured-version>
|
||||
# * <old-postinst> `abort-upgrade' <new version>
|
||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||
# <new-version>
|
||||
# * <postinst> `abort-remove'
|
||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||
# <failed-install-package> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
MYNAME="${0##*/}"
|
||||
|
||||
report() { echo "${MYNAME}: $*" ; }
|
||||
@@ -9,7 +25,7 @@ report_err() { report "Error: $*" >&2 ; }
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
# Create /etc/network/run
|
||||
# Create /etc/network/run
|
||||
[ -d /run/network ] || mkdir -p /run/network
|
||||
|
||||
# for backward compatibility
|
||||
@@ -17,7 +33,8 @@ case "$1" in
|
||||
ln -sf /run/network /etc/network/run
|
||||
fi
|
||||
|
||||
ln -sf /usr/share/python-ifupdown2/generate_interfaces.py /usr/share/doc/python-ifupdown2/examples/generate_interfaces.py
|
||||
ln -sf /usr/share/python-ifupdown2/generate_interfaces.py \
|
||||
/usr/share/doc/python-ifupdown2/examples/generate_interfaces.py
|
||||
|
||||
[ -d /etc/network/if-pre-up.d ] || mkdir -p /etc/network/if-pre-up.d
|
||||
[ -d /etc/network/if-up.d ] || mkdir -p /etc/network/if-up.d
|
||||
@@ -58,25 +75,29 @@ case "$1" in
|
||||
(cd /usr/share/man/man8/ && ln -sf /usr/share/man/man8/ifup.8.gz ifdown.8.gz)
|
||||
|
||||
mkdir -p /etc/network/interfaces.d/
|
||||
update-rc.d networking start 40 S . start 35 0 6 . >/dev/null
|
||||
;;
|
||||
|
||||
purge)
|
||||
# Note: We don't remove /etc/network/interfaces
|
||||
rm -f /run/network/ifstate
|
||||
rm -f /sbin/ifquery
|
||||
rm -f /sbin/ifup
|
||||
rm -f /sbin/ifdown
|
||||
rm -f /usr/share/doc/python-ifupdown2/generate_interfaces.py
|
||||
;;
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
# override default udev bridge and hotplug rules because they interfere with
|
||||
# networking init script
|
||||
udev_user_rulesdir=/etc/udev/rules.d/
|
||||
udev_sys_rulesdir=/lib/udev/rules.d/
|
||||
if [ -e $udev_user_rulesdir ]; then
|
||||
udev_ifupdown2_overrides=("80-networking.rules" "60-bridge-network-interface.rules")
|
||||
for u in ${udev_ifupdown2_overrides[*]}
|
||||
udev_ifupdown2_overrides="80-networking.rules
|
||||
60-bridge-network-interface.rules"
|
||||
for u in ${udev_ifupdown2_overrides}
|
||||
do
|
||||
if [ -e ${udev_sys_rulesdir}/$u -a ! -e ${udev_user_rulesdir}/$u ]; then
|
||||
(cd ${udev_user_rulesdir} && ln -sf /dev/null $u)
|
||||
@@ -84,10 +105,6 @@ if [ -e $udev_user_rulesdir ]; then
|
||||
done
|
||||
fi
|
||||
|
||||
if [ -x "/etc/init.d/networking" ]; then
|
||||
update-rc.d networking start 40 S . start 35 0 6 . >/dev/null || exit $?
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
|
68
debian/python-ifupdown2.postrm
vendored
68
debian/python-ifupdown2.postrm
vendored
@@ -1,20 +1,57 @@
|
||||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
# postrm script for ifupdown2
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
rm -f /sbin/ifup /sbin/ifdown /sbin/ifquery
|
||||
# summary of how this script can be called:
|
||||
# * <postrm> `remove'
|
||||
# * <postrm> `purge'
|
||||
# * <old-postrm> `upgrade' <new-version>
|
||||
# * <new-postrm> `failed-upgrade' <old-version>
|
||||
# * <new-postrm> `abort-install'
|
||||
# * <new-postrm> `abort-install' <old-version>
|
||||
# * <new-postrm> `abort-upgrade' <old-version>
|
||||
# * <disappearer's-postrm> `disappear' <overwriter>
|
||||
# <overwriter-version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
postrm_remove()
|
||||
{
|
||||
rm -f /sbin/ifup /sbin/ifdown /sbin/ifquery
|
||||
update-rc.d networking remove >/dev/null
|
||||
}
|
||||
|
||||
# Note: We don't remove /etc/network/interfaces
|
||||
postrm_purge()
|
||||
{
|
||||
rm -f /var/tmp/network/ifstatenew
|
||||
if [ -L /etc/network/run ] ; then
|
||||
rm -f /etc/network/run
|
||||
elif [ -d /etc/network/run ] ; then
|
||||
rmdir --ignore-fail-on-non-empty /etc/network/run
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
purge)
|
||||
# Note: We don't remove /etc/network/interfaces
|
||||
rm -f /var/tmp/network/ifstatenew
|
||||
purge)
|
||||
postrm_purge
|
||||
;;
|
||||
|
||||
if [ -L /etc/network/run ] ; then
|
||||
rm -f /etc/network/run
|
||||
elif [ -d /etc/network/run ] ; then
|
||||
rmdir --ignore-fail-on-non-empty /etc/network/run
|
||||
fi
|
||||
;;
|
||||
remove)
|
||||
postrm_remove
|
||||
;;
|
||||
|
||||
|
||||
upgrade|disappear|failed-upgrade|abort-install|abort-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postrm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
udevlink=$(readlink /etc/udev/rules.d/80-networking.rules 2>/dev/null || true)
|
||||
@@ -22,6 +59,9 @@ udevlink=$(readlink /etc/udev/rules.d/80-networking.rules 2>/dev/null || true)
|
||||
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
|
||||
update-rc.d networking remove >/dev/null
|
||||
fi
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
|
Reference in New Issue
Block a user