summaryrefslogtreecommitdiffstats
path: root/debian/systemd-resolved.postrm
blob: e56e04d93e2556eeb1fee92efc8d0b2970f805da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh

set -e

if [ "$1" = remove ]; then
    if [ "$(readlink "${DPKG_ROOT}/etc/resolv.conf")" = "../run/systemd/resolve/stub-resolv.conf" ] || [ "$(readlink "${DPKG_ROOT}/etc/resolv.conf")" = "/run/systemd/resolve/stub-resolv.conf" ]; then
        echo "Removing /etc/resolv.conf symlink to /run/systemd/resolve/stub-resolv.conf..."
        rm -f "${DPKG_ROOT}/etc/resolv.conf" || echo "Cannot remove /etc/resolv.conf."
        if [ -f "${DPKG_ROOT}/run/systemd/resolve/resolv.conf" ]; then
            echo "Copying /run/systemd/resolve/resolv.conf to /etc/resolv.conf..."
            cp "${DPKG_ROOT}/run/systemd/resolve/resolv.conf" "${DPKG_ROOT}/etc/resolv.conf" || echo "Cannot copy /run/systemd/resolve/resolv.conf to /etc/resolv.conf."
            # We prefer a current resolv.conf rather than an older backup, if available
            rm -f "${DPKG_ROOT}/etc/.resolv.conf.systemd-resolved.bak"
        elif [ -f "${DPKG_ROOT}/etc/.resolv.conf.systemd-resolved.bak" ]; then
            echo "Restoring previous resolv.conf..."
            mv "${DPKG_ROOT}/etc/.resolv.conf.systemd-resolved.bak" "${DPKG_ROOT}/etc/resolv.conf" || echo "Cannot restore /etc/resolv.conf backup."
        else
            echo "Creating an empty /etc/resolv.conf..."
            touch "${DPKG_ROOT}/etc/resolv.conf" || echo "Cannot create an empty /etc/resolv.conf."
        fi
    fi
fi

#DEBHELPER#