From b2797114262b5a238e002897cb504c1c6ad5d1d5 Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Thu, 12 Sep 2019 02:17:14 +0000 Subject: sys-apps/systemd: Add pkg_preinst check for system layout with USE="-split-usr". Signed-off-by: Arfrever Frehtes Taifersar Arahesis Signed-off-by: Mike Gilbert --- sys-apps/systemd/systemd-243.ebuild | 16 ++++++++++++++++ sys-apps/systemd/systemd-9999.ebuild | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/sys-apps/systemd/systemd-243.ebuild b/sys-apps/systemd/systemd-243.ebuild index d38227b0738b..267a18fcc1cf 100644 --- a/sys-apps/systemd/systemd-243.ebuild +++ b/sys-apps/systemd/systemd-243.ebuild @@ -419,6 +419,22 @@ save_enabled_units() { pkg_preinst() { save_enabled_units {machines,remote-{cryptsetup,fs}}.target getty@tty1.service + + if ! use split-usr; then + local dir + for dir in bin sbin lib; do + if [[ ! ${EROOT}/${dir} -ef ${EROOT}/usr/${dir} ]]; then + eerror "\"${EROOT}/${dir}\" and \"${EROOT}/usr/${dir}\" are not merged." + eerror "One of them should be a symbolic link to the other one." + FAIL=1 + fi + done + if [[ ${FAIL} ]]; then + eerror "Migration to system layout with merged directories must be performed before" + eerror "rebuilding ${CATEGORY}/${PN} with USE=\"-split-usr\" to avoid run-time breakage." + die "System layout with split directories still used" + fi + fi } pkg_postinst() { diff --git a/sys-apps/systemd/systemd-9999.ebuild b/sys-apps/systemd/systemd-9999.ebuild index d38227b0738b..267a18fcc1cf 100644 --- a/sys-apps/systemd/systemd-9999.ebuild +++ b/sys-apps/systemd/systemd-9999.ebuild @@ -419,6 +419,22 @@ save_enabled_units() { pkg_preinst() { save_enabled_units {machines,remote-{cryptsetup,fs}}.target getty@tty1.service + + if ! use split-usr; then + local dir + for dir in bin sbin lib; do + if [[ ! ${EROOT}/${dir} -ef ${EROOT}/usr/${dir} ]]; then + eerror "\"${EROOT}/${dir}\" and \"${EROOT}/usr/${dir}\" are not merged." + eerror "One of them should be a symbolic link to the other one." + FAIL=1 + fi + done + if [[ ${FAIL} ]]; then + eerror "Migration to system layout with merged directories must be performed before" + eerror "rebuilding ${CATEGORY}/${PN} with USE=\"-split-usr\" to avoid run-time breakage." + die "System layout with split directories still used" + fi + fi } pkg_postinst() { -- cgit v1.2.3-65-gdbad