commit:     b2797114262b5a238e002897cb504c1c6ad5d1d5
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Thu Sep 12 02:17:14 2019 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Thu Sep 12 15:36:25 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2797114

sys-apps/systemd: Add pkg_preinst check for system layout with USE="-split-usr".

Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache.Org>
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 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 d38227b0738..267a18fcc1c 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 
[email protected]
+
+       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 d38227b0738..267a18fcc1c 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 
[email protected]
+
+       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() {

Reply via email to