summaryrefslogtreecommitdiff
path: root/sys-apps/systemd/systemd-9999.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/systemd/systemd-9999.ebuild')
-rw-r--r--sys-apps/systemd/systemd-9999.ebuild21
1 files changed, 17 insertions, 4 deletions
diff --git a/sys-apps/systemd/systemd-9999.ebuild b/sys-apps/systemd/systemd-9999.ebuild
index f00c416fa382..267a18fcc1cf 100644
--- a/sys-apps/systemd/systemd-9999.ebuild
+++ b/sys-apps/systemd/systemd-9999.ebuild
@@ -354,10 +354,7 @@ multilib_src_install_all() {
# Symlink /etc/sysctl.conf for easy migration.
dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
- local udevdir=/lib/udev
- use split-usr || udevdir=/usr/lib/udev
-
- rm -r "${ED}${udevdir}/hwdb.d" || die
+ rm -r "${ED}${rootprefix}"/lib/udev/hwdb.d || die
if use split-usr; then
# Avoid breaking boot/reboot
@@ -422,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() {