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 a3f2c280e4
commit 0e26f548f6
3 changed files with 51 additions and 3 deletions

View File

@@ -42,6 +42,25 @@ postrm_purge()
rm -f /run/network/ifstatenew 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 case "$1" in
purge) purge)
postrm_purge postrm_purge
@@ -49,10 +68,14 @@ case "$1" in
remove) remove)
postrm_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,7 +1,33 @@
#! /bin/sh #! /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 set -e
case "$1" in case "$1" in
install|upgrade) 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 # workaround 3.0.0 internal install error. This can be removed in a
# few weeks. # few weeks.
if [ -f /etc/default/networking/networking.default ]; then if [ -f /etc/default/networking/networking.default ]; then
@@ -10,4 +36,3 @@ case "$1" in
fi fi
;; ;;
esac esac

View File

@@ -9,7 +9,7 @@ setup(name='ifupdown2',
packages=['ifupdown', 'ifupdownaddons'], packages=['ifupdown', 'ifupdownaddons'],
data_files=[ ('/etc/network/ifupdown2/', data_files=[ ('/etc/network/ifupdown2/',
['config/ifupdown2.conf']), ['config/ifupdown2.conf']),
('/etc/bash_completion.d/', ['completion/ifup']), ('/usr/share/bash-completion/completions/', ['completion/ifup']),
('/usr/share/ifupdown2/addons/', ['addons/bridge.py', ('/usr/share/ifupdown2/addons/', ['addons/bridge.py',
'addons/bond.py', 'addons/vlan.py', 'addons/bond.py', 'addons/vlan.py',
'addons/mstpctl.py', 'addons/address.py', 'addons/mstpctl.py', 'addons/address.py',