1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

debian: adding divertion for existing bash completion file

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
This commit is contained in:
Julien Fortin
2016-11-01 19:40:00 +01:00
parent 9cc2d0b09d
commit 91efc9cc40
3 changed files with 56 additions and 5 deletions

View File

@@ -42,6 +42,25 @@ postrm_purge()
rm -f /run/network/ifstatenew
}
# restore file if we diverted it on install/upgrade
_postrm_divert()
{
diversions=$(dpkg-divert --list | grep "$1" | grep 'by ifupdown2$' | wc -l 2> /dev/null)
if [ $diversions -gt 0 ] ;
then
dpkg-divert --remove --package ifupdown2 --rename $1
fi
}
postrm_divert()
{
for filename in ifup ifdown ifquery ifreload
do
_postrm_divert "/usr/share/bash-completion/completions/$filename"
_postrm_divert "/etc/bash_completion.d/$filename"
done
}
case "$1" in
purge)
postrm_purge
@@ -49,10 +68,14 @@ case "$1" in
remove)
postrm_remove
postrm_divert
;;
abort-install|disappear|failed-upgrade|abort-upgrade)
postrm_divert
;;
upgrade|disappear|failed-upgrade|abort-install|abort-upgrade)
upgrade)
;;
*)

View File

@@ -1,11 +1,39 @@
#! /bin/sh
MYNAME="${0##*/}"
report() { echo "${MYNAME}: $*" ; }
report_err() { report "Error: $*" >&2 ; }
preinst_divert()
{
diversions=$(dpkg-divert --list | grep "$1" | grep -v 'by ifupdown2$' | wc -l 2> /dev/null)
if [ $diversions -gt 0 ] ;
then
report_err "existing diversion for $1"
else
if [ -f $1 ];
then
dpkg-divert --add --package ifupdown2 --rename --divert "$1.disabled" "$1"
fi
fi
}
set -e
case "$1" in
install|upgrade)
for filename in ifup ifdown ifquery ifreload
do
preinst_divert "/usr/share/bash-completion/completions/$filename"
preinst_divert "/etc/bash_completion.d/$filename"
done
# workaround 3.0.0 internal install error. This can be removed in a
# few weeks.
if [ -f /etc/default/networking/networking.default ]; then
dpkg-maintscript-helper rm_conffile /etc/default/networking/networking.default 1.1 -- $@
rm -f /etc/default/networking/networking.default
rmdir /etc/default/networking
dpkg-maintscript-helper rm_conffile /etc/default/networking/networking.default 1.1 -- $@
rm -f /etc/default/networking/networking.default
rmdir /etc/default/networking
fi
;;
esac