File: postinst

package info (click to toggle)
amazon-ec2-net-utils 2.4.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 216 kB
  • sloc: sh: 492; makefile: 4
file content (85 lines) | stat: -rwxr-xr-x 2,833 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/bin/sh
#
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You may
# not use this file except in compliance with the License. A copy of the
# License is located at
#
#      http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file is distributed
# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
# express or implied. See the License for the specific language governing
# permissions and limitations under the License.

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 https://www.debian.org/doc/debian-policy/ or
# the debian-policy package


setup_policy_routes() {
    local iface node
    for node in /sys/class/net/*; do
        iface=$(basename $node)
        unset ID_NET_DRIVER
        eval $(udevadm info --export --query=property /sys/class/net/$iface)
        case $ID_NET_DRIVER in
            ena|ixgbevf|vif)
                systemctl start policy-routes@${iface}.service
                systemctl start refresh-policy-routes@${iface}.timer
                ;;
            *)
                echo "Skipping $iface with driver $ID_NET_DRIVER"
                ;;
        esac
    done
}

case "$1" in
    configure)
        systemctl enable systemd-networkd.service
        if systemctl --quiet list-unit-files systemd-resolved.service > /dev/null; then
	    systemctl enable systemd-resolved.service
            [ -f /etc/resolv.conf ] && mv /etc/resolv.conf /etc/resolv.conf.old
            ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
	fi

        if [ -d /run/systemd/system ]; then
            if [ command -v ifdown > /dev/null 2>&1 ]; then
                # If we're migrating from ifupdown, we'll restart the interfaces:
                ifdown --all
            fi
            systemctl start systemd-networkd.service
            setup_policy_routes
	    if systemctl --quiet list-unit-files systemd-resolved.service > /dev/null; then
		systemctl start systemd-resolved.service
	    fi
        fi
        ;;

    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.

#DEBHELPER#

exit 0