From 21bcf1aea288d14fdd3193fe59a09e73f23272d8 Mon Sep 17 00:00:00 2001 From: Daniel Zatovic Date: Wed, 5 Mar 2025 15:37:01 +0100 Subject: [PATCH] overlay sys-apps/baselayout: Don't create empty /etc configs There is a bug in coreos baselayout which wipes /etc/{group,gshadow,passwd,shadow} when reinstalling/removing/upgrading the baselayout package. The deleted files are touched in staging area, so the package ships empty configuration files, overwriting the original configs on the system. Instead we move the touch to postinst, which only touches the existing files (or creates them when they're nonexistent). --- ...ayout-3.6.8-r16.ebuild => baselayout-3.6.8-r17.ebuild} | 0 .../sys-apps/baselayout/baselayout-9999.ebuild | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) rename sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/{baselayout-3.6.8-r16.ebuild => baselayout-3.6.8-r17.ebuild} (100%) diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-3.6.8-r16.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-3.6.8-r17.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-3.6.8-r16.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-3.6.8-r17.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild index 3a266b0c9c..4717400a22 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild @@ -101,10 +101,6 @@ pkg_preinst() { emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" LIBDIRS="${libdirs}" layout SYSTEMD_JOURNAL_GID=${ACCT_GROUP_SYSTEMD_JOURNAL_ID:-190} ROOT_UID=0 ROOT_GID=0 CORE_UID=500 CORE_GID=500 DESTDIR=${D} "${ED}/usr/share/${PN}/dumb-tmpfiles-proc.sh" "${ED}/usr/lib/tmpfiles.d" || die rm -f "${ED}/usr/share/${PN}/Makefile" "${ED}/usr/share/${PN}/dumb-tmpfiles-proc.sh" || die - - # The default passwd/group files must exist for some ebuilds - touch "${ED}/etc/"{group,gshadow,passwd,shadow} - chmod 640 "${ED}/etc/"{gshadow,shadow} } pkg_postinst() { @@ -131,4 +127,8 @@ pkg_postinst() { # symlinks. mkdir -p "${ROOT}/oem" fi + + # The default passwd/group files must exist for some ebuilds + touch "${EROOT}/etc/"{group,gshadow,passwd,shadow} + chmod 640 "${EROOT}/etc/"{gshadow,shadow} }