]> git.proxmox.com Git - mirror_ifupdown2.git/blame - ifupdown2/debian/python-ifupdown2.postinst
ifupdown2: fixup maintainer scripts
[mirror_ifupdown2.git] / ifupdown2 / debian / python-ifupdown2.postinst
CommitLineData
748b5710
JT
1#!/bin/sh
2# postinst script for ifupdown2
3#
4# see: dh_installdeb(1)
5
2c8c4ce7
RP
6set -e
7
748b5710
JT
8# summary of how this script can be called:
9# * <postinst> `configure' <most-recently-configured-version>
10# * <old-postinst> `abort-upgrade' <new version>
11# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
12# <new-version>
13# * <postinst> `abort-remove'
14# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
15# <failed-install-package> <version> `removing'
16# <conflicting-package> <version>
17# for details, see http://www.debian.org/doc/debian-policy/ or
18# the debian-policy package
19
2c8c4ce7
RP
20MYNAME="${0##*/}"
21
22report() { echo "${MYNAME}: $*" ; }
23report_warn() { report "Warning: $*" >&2 ; }
24report_err() { report "Error: $*" >&2 ; }
25
26case "$1" in
27 configure)
748b5710 28 # Create /etc/network/run
2c8c4ce7
RP
29 [ -d /run/network ] || mkdir -p /run/network
30
31 # for backward compatibility
32 if [ ! -f /etc/network/run ]; then
33 ln -sf /run/network /etc/network/run
34 fi
35
748b5710
JT
36 ln -sf /usr/share/python-ifupdown2/generate_interfaces.py \
37 /usr/share/doc/python-ifupdown2/examples/generate_interfaces.py
2c8c4ce7
RP
38
39 [ -d /etc/network/if-pre-up.d ] || mkdir -p /etc/network/if-pre-up.d
40 [ -d /etc/network/if-up.d ] || mkdir -p /etc/network/if-up.d
41 [ -d /etc/network/if-post-up.d ] || mkdir -p /etc/network/if-post-up.d
42
43 [ -d /etc/network/if-pre-down.d ] || mkdir -p /etc/network/if-pre-down.d
44 [ -d /etc/network/if-down.d ] || mkdir -p /etc/network/if-down.d
45 [ -d /etc/network/if-post-down.d ] || mkdir -p /etc/network/if-post-down.d
46
47
48 # Generic stuff done on all configurations
49 if [ -f /etc/network/interfaces ] ; then
50 # TODO: This should be handled with debconf and the script
51 # could introduce the line there directly
52 if ! grep -q "^[[:space:]]*iface[[:space:]]\+lo0\?[[:space:]]\+inet[[:space:]]\+loopback\>" /etc/network/interfaces ; then
53 report_warn "No 'iface lo' definition found in /etc/network/interfaces"
54 fi
55
56 if ! grep -q "^[[:space:]]*\(allow-\|\)auto[[:space:]]\+\(.*[[:space:]]\+\|\)lo0\?\([[:space:]]\+\|$\)" /etc/network/interfaces ; then
57 report_warn "No 'auto lo' statement found in /etc/network/interfaces"
58 fi
59 else # ! -f /etc/network/interfaces
60 if [ -z "$2" ]; then
61 echo "Creating /etc/network/interfaces."
62 echo "# interfaces(5) file used by ifup(8) and ifdown(8)" > /etc/network/interfaces
63 echo "auto lo" >> /etc/network/interfaces
64 echo "iface lo inet loopback" >> /etc/network/interfaces
65 else
66 report_warn "/etc/network/interfaces does not exist"
67 fi
68 fi
69
f82758bf
RP
70 [ -e /sbin/ifup ] || ln -sf /sbin/ifupdown /sbin/ifup
71 [ -e /sbin/ifdown ] || ln -sf /sbin/ifupdown /sbin/ifdown
72 [ -e /sbin/ifquery ] || ln -sf /sbin/ifupdown /sbin/ifquery
73 [ -e /sbin/ifreload ] || ln -sf /sbin/ifupdown /sbin/ifreload
2c8c4ce7
RP
74
75 (cd /usr/share/man/man8/ && ln -sf /usr/share/man/man8/ifup.8.gz ifdown.8.gz)
76
77 mkdir -p /etc/network/interfaces.d/
748b5710
JT
78 update-rc.d networking start 40 S . start 35 0 6 . >/dev/null
79 ;;
80
81 abort-upgrade|abort-remove|abort-deconfigure)
2c8c4ce7
RP
82 ;;
83
748b5710
JT
84 *)
85 echo "postinst called with unknown argument \`$1'" >&2
86 exit 1
87 ;;
2c8c4ce7
RP
88esac
89
748b5710
JT
90# dh_installdeb will replace this with shell code automatically
91# generated by other debhelper scripts.
92
2c8c4ce7
RP
93# override default udev bridge and hotplug rules because they interfere with
94# networking init script
95udev_user_rulesdir=/etc/udev/rules.d/
96udev_sys_rulesdir=/lib/udev/rules.d/
97if [ -e $udev_user_rulesdir ]; then
748b5710
JT
98 udev_ifupdown2_overrides="80-networking.rules
99 60-bridge-network-interface.rules"
100 for u in ${udev_ifupdown2_overrides}
2c8c4ce7
RP
101 do
102 if [ -e ${udev_sys_rulesdir}/$u -a ! -e ${udev_user_rulesdir}/$u ]; then
103 (cd ${udev_user_rulesdir} && ln -sf /dev/null $u)
104 fi
105 done
106fi
107
2c8c4ce7 108#DEBHELPER#
2a7c45e8
JT
109
110exit 0