From 647db1d9eb65b225ffbb6953f796232026bfa935 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Thu, 21 Jun 2018 14:00:23 +0800 Subject: avahi: fix error at boot time for avahi-daemon.service The following error messages appear now and then at boot time. avahi-daemon/chroot.c: open() failed: No such file or directory Failed to open /etc/resolv.conf: Invalid argument The problem is about /etc/resolv.conf. In Yocto's systemd based systems, it's a symlink to /etc/resolv-conf.systemd which in turn is a symlink to /run/systemd/resolve/resolv.conf. The systemd-resolved service handles creation of /run/systemd/resolve/resolv.conf file. So if avahi-daemon is started before systemd-resolved, the error messages appear. Fix this problem by making avahi-daemon start after systemd-resolved. Signed-off-by: Chen Qi Signed-off-by: Ross Burton --- meta/recipes-connectivity/avahi/avahi_0.7.bb | 1 + .../0001-Fix-opening-etc-resolv.conf-error.patch | 40 ++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch (limited to 'meta/recipes-connectivity') diff --git a/meta/recipes-connectivity/avahi/avahi_0.7.bb b/meta/recipes-connectivity/avahi/avahi_0.7.bb index b695be9130..3d5f334a88 100644 --- a/meta/recipes-connectivity/avahi/avahi_0.7.bb +++ b/meta/recipes-connectivity/avahi/avahi_0.7.bb @@ -3,6 +3,7 @@ require avahi.inc SRC_URI += "file://00avahi-autoipd \ file://99avahi-autoipd \ file://initscript.patch \ + file://0001-Fix-opening-etc-resolv.conf-error.patch \ " inherit update-rc.d systemd useradd diff --git a/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch b/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch new file mode 100644 index 0000000000..11e7e8a9bc --- /dev/null +++ b/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch @@ -0,0 +1,40 @@ +From 78967814f5c37ed67f4cf64d70c9f76a03ee89bc Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Wed, 20 Jun 2018 13:57:35 +0800 +Subject: [PATCH] Fix opening /etc/resolv.conf error + +Fix to start avahi-daemon after systemd-resolved.service. This is because +/etc/resolv.conf is a link to /etc/resolv-conf.systemd which in turn is +a symlink to /run/systemd/resolve/resolv.conf. And /run/systemd/resolve/resolv.conf +is created by systemd-resolved.service by default in current OE's systemd +based systems. + +This fixes errro like below. + + Failed to open /etc/resolv.conf: Invalid argument + +In fact, handling of /etc/resolv.conf is quite distro specific. So this patch +is marked as OE specific. + +Upstream-Status: Inappropriate [OE Specific] + +Signed-off-by: Chen Qi +--- + avahi-daemon/avahi-daemon.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/avahi-daemon/avahi-daemon.service.in b/avahi-daemon/avahi-daemon.service.in +index 548c834..63e28e4 100644 +--- a/avahi-daemon/avahi-daemon.service.in ++++ b/avahi-daemon/avahi-daemon.service.in +@@ -18,6 +18,7 @@ + [Unit] + Description=Avahi mDNS/DNS-SD Stack + Requires=avahi-daemon.socket ++After=systemd-resolved.service + + [Service] + Type=dbus +-- +2.11.0 + -- cgit 1.2.3-korg