summaryrefslogtreecommitdiffstats
path: root/recipes-connectivity/networkd-dhcp-conf/files
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-connectivity/networkd-dhcp-conf/files')
-rw-r--r--recipes-connectivity/networkd-dhcp-conf/files/clean-connman-symlink.service11
-rw-r--r--recipes-connectivity/networkd-dhcp-conf/files/resolvconf-clean14
2 files changed, 25 insertions, 0 deletions
diff --git a/recipes-connectivity/networkd-dhcp-conf/files/clean-connman-symlink.service b/recipes-connectivity/networkd-dhcp-conf/files/clean-connman-symlink.service
new file mode 100644
index 0000000..8af8263
--- /dev/null
+++ b/recipes-connectivity/networkd-dhcp-conf/files/clean-connman-symlink.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=Clean up bogus symlinked resolv.conf
3Before=network-pre.target
4Wants=network-pre.target
5
6[Service]
7Type=oneshot
8ExecStart=/usr/sbin/resolvconf-clean
9
10[Install]
11WantedBy=multi-user.target
diff --git a/recipes-connectivity/networkd-dhcp-conf/files/resolvconf-clean b/recipes-connectivity/networkd-dhcp-conf/files/resolvconf-clean
new file mode 100644
index 0000000..89c7e90
--- /dev/null
+++ b/recipes-connectivity/networkd-dhcp-conf/files/resolvconf-clean
@@ -0,0 +1,14 @@
1#!/bin/sh
2
3set -e
4
5if [ ! -L /etc/resolv.conf ]; then
6 exit 0
7fi
8
9# 'readlink -f' will fail if the symlink doesn't resolve to an existing path
10if readlink /etc/resolv.conf | grep -q connman; then
11 echo "Replacing resolv.conf symlink: $(readlink /etc/resolv.conf) to /etc/resolv-conf.systemd"
12 rm /etc/resolv.conf
13 ln -s /etc/resolv-conf.systemd /etc/resolv.conf
14fi