2 # postinst script for ifupdown2
4 # see: dh_installdeb(1)
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>
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
22 # override default udev bridge and hotplug rules because they interfere with
23 # networking init script
24 udev_user_rulesdir
=/etc
/udev
/rules.d
/
25 udev_sys_rulesdir
=/lib
/udev
/rules.d
/
26 if [ -e $udev_user_rulesdir ]; then
27 udev_ifupdown2_overrides
="80-networking.rules
28 60-bridge-network-interface.rules"
29 for u
in ${udev_ifupdown2_overrides}
31 if [ -e ${udev_sys_rulesdir}/$u -a ! -e ${udev_user_rulesdir}/$u ]; then
32 (cd ${udev_user_rulesdir} && ln -sf /dev
/null
$u)
40 report
() { echo "${MYNAME}: $*" ; }
41 report_warn
() { report
"Warning: $*" >&2 ; }
42 report_err
() { report
"Error: $*" >&2 ; }
46 # Create /etc/network/run
47 [ -d /run
/network
] || mkdir
-p /run
/network
49 # for backward compatibility
50 if [ ! -f /etc
/network
/run
]; then
51 ln -sf /run
/network
/etc
/network
/run
54 ln -sf /usr
/share
/python-ifupdown
2/generate_interfaces.py \
55 /usr
/share
/doc
/python-ifupdown
2/examples
/generate_interfaces.py
57 [ -d /etc
/network
/if-pre-up.d
] || mkdir
-p /etc
/network
/if-pre-up.d
58 [ -d /etc
/network
/if-up.d
] || mkdir
-p /etc
/network
/if-up.d
59 [ -d /etc
/network
/if-post-up.d
] || mkdir
-p /etc
/network
/if-post-up.d
61 [ -d /etc
/network
/if-pre-down.d
] || mkdir
-p /etc
/network
/if-pre-down.d
62 [ -d /etc
/network
/if-down.d
] || mkdir
-p /etc
/network
/if-down.d
63 [ -d /etc
/network
/if-post-down.d
] || mkdir
-p /etc
/network
/if-post-down.d
66 # Generic stuff done on all configurations
67 if [ -f /etc
/network
/interfaces
] ; then
68 # TODO: This should be handled with debconf and the script
69 # could introduce the line there directly
70 if ! grep -q "^[[:space:]]*iface[[:space:]]\+lo0\?[[:space:]]\+inet[[:space:]]\+loopback\>" /etc
/network
/interfaces
; then
71 report_warn
"No 'iface lo' definition found in /etc/network/interfaces"
74 if ! grep -q "^[[:space:]]*\(allow-\|\)auto[[:space:]]\+\(.*[[:space:]]\+\|\)lo0\?\([[:space:]]\+\|$\)" /etc
/network
/interfaces
; then
75 report_warn
"No 'auto lo' statement found in /etc/network/interfaces"
77 else # ! -f /etc/network/interfaces
79 echo "Creating /etc/network/interfaces."
80 echo "# interfaces(5) file used by ifup(8) and ifdown(8)" > /etc
/network
/interfaces
81 echo "auto lo" >> /etc
/network
/interfaces
82 echo "iface lo inet loopback" >> /etc
/network
/interfaces
84 report_warn
"/etc/network/interfaces does not exist"
88 [ -e /sbin
/ifup
] ||
ln -sf /sbin
/ifupdown
/sbin
/ifup
89 [ -e /sbin
/ifdown
] ||
ln -sf /sbin
/ifupdown
/sbin
/ifdown
90 [ -e /sbin
/ifquery
] ||
ln -sf /sbin
/ifupdown
/sbin
/ifquery
91 [ -e /sbin
/ifreload
] ||
ln -sf /sbin
/ifupdown
/sbin
/ifreload
93 (cd /usr
/share
/man
/man
8/ && ln -sf /usr
/share
/man
/man
8/ifup
.8.gz ifdown
.8.gz
)
95 mkdir
-p /etc
/network
/interfaces.d
/
97 update-rc.d networking start
40 S . start
35 0 6 .
>/dev
/null
100 abort-upgrade|abort-remove|abort-deconfigure
)
104 echo "postinst called with unknown argument \`$1'" >&2
109 # dh_installdeb will replace this with shell code automatically
110 # generated by other debhelper scripts.