From 89d86b96f80d8a136d38113baf69d8ccad5a5ff6 Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Tue, 22 Oct 2019 14:18:25 +0800 Subject: postfix: split /etc from ${PN} to ${PN}-cfg for ostree In postinst of ${PN}, call newaliases on etc may fail at do_rootfs due to host setup. If fail, the postinst will rerun at target first boot which cause update-alternatives in postinst rerun. For ostree system, /usr is readonly, /etc is writable, the update-alternatives will be failed when run on target since it needs write files in /usr. Split the postinst into two packages can fix the problem: * update-alternatives runs at do_rootfs * newaliases runs at do_rootfs or first boot, it needs write files in /etc when run at first boot, while /etc is writable for ostree. For non-ostree, everything will be OK as normal Signed-off-by: Hongxu Jia Signed-off-by: Khem Raj --- meta-networking/recipes-daemons/postfix/postfix.inc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'meta-networking/recipes-daemons') diff --git a/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-networking/recipes-daemons/postfix/postfix.inc index 7781005336..de45e080d0 100644 --- a/meta-networking/recipes-daemons/postfix/postfix.inc +++ b/meta-networking/recipes-daemons/postfix/postfix.inc @@ -203,7 +203,7 @@ ALTERNATIVE_LINK_NAME[newaliases.1] = "${mandir}/man1/newaliases.1" ALTERNATIVE_LINK_NAME[sendmail.1] = "${mandir}/man1/sendmail.1" PACKAGE_WRITE_DEPS += "postfix-native" -pkg_postinst_${PN} () { +pkg_postinst_${PN}-cfg () { if [ "x$D" = "x" ]; then touch /etc/aliases newaliases @@ -224,7 +224,10 @@ pkg_postinst_${PN} () { fi } +PACKAGES =+ "${PN}-cfg" +RDEPENDS_${PN}_class-target += "${PN}-cfg" # Exclude .debug directories from the main package -FILES_${PN} = "${sysconfdir} ${localstatedir} ${bindir}/* ${sbindir}/* \ +FILES_${PN} = "${localstatedir} ${bindir}/* ${sbindir}/* \ ${libexecdir}/* ${systemd_unitdir}/*" +FILES_${PN}-cfg = "${sysconfdir}" FILES_${PN}-dbg += "${libexecdir}/postfix/.debug" -- cgit 1.2.3-korg