Avahi: Don't start the avahi-daemon if dot local domain is there
More info is at the following link
https://web.archive.org/web/20150228130344/http://avahi.org/wiki/AvahiAndUnicastDotLocal
This commit creates the avahi user and avahi group,as there may be cases
where one of them don't exist due to code update.
for example a BMC image that has additional user accounts
(and therefore a bigger /etc/group file) is installed on the BMC,
the /etc/group or /etc/passwd file would not be updated because is part of the
persistent files, so the old /etc/group or /etc/passwd file would remain.
Tested: 1) System which doesn't have avahi group,With this fix creates the
group and start the avahi daemon.
2) Verified on the system where there is a zone
.local is being used by the DNS server,avahi-daemon was not started.
Resolves openbmc/openbmc#2788
Change-Id: I23b7a6cdd21bcefbea3d854fec8faa21c70378e9
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
diff --git a/common/recipes-connectivity/avahi/avahi_%.bbappend b/common/recipes-connectivity/avahi/avahi_%.bbappend
new file mode 100644
index 0000000..0458b82
--- /dev/null
+++ b/common/recipes-connectivity/avahi/avahi_%.bbappend
@@ -0,0 +1,31 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://avahi.conf"
+SRC_URI += "file://check-avahi-pre-cond.service"
+SRC_URI += "file://create-user"
+SRC_URI += "file://check-local-domain"
+
+RRECOMMENDS_${PN}-daemon += "bind-utils"
+
+AVAHI_SVC = "avahi-daemon.service"
+
+AVAHI_DROPIN_DIR = "${AVAHI_SVC}.d"
+
+FILES_${PN}-daemon_append += "${systemd_system_unitdir}/${AVAHI_DROPIN_DIR}/avahi.conf"
+
+PACKAGE_BEFORE_PN += "${PN}-daemon-preconditions"
+
+FILES_${PN}-daemon-preconditions += "${systemd_system_unitdir}/check-avahi-pre-cond.service"
+FILES_${PN}-daemon-preconditions += "${sbindir}/create-user"
+FILES_${PN}-daemon-preconditions += "${sbindir}/check-local-domain"
+
+RRECOMMENDS_${PN}-daemon += "${PN}-daemon-preconditions"
+
+do_install_append() {
+
+ mkdir -p ${D}/${systemd_system_unitdir}/${AVAHI_DROPIN_DIR}
+ install -m 0755 ${WORKDIR}/avahi.conf ${D}/${systemd_system_unitdir}/${AVAHI_DROPIN_DIR}/avahi.conf
+ install -m 0755 ${WORKDIR}/check-avahi-pre-cond.service ${D}/${systemd_system_unitdir}/check-avahi-pre-cond.service
+ install -m 0755 ${WORKDIR}/check-local-domain ${D}/${sbindir}/check-local-domain
+ install -m 0755 ${WORKDIR}/create-user ${D}/${sbindir}/create-user
+}