sys-apps/systemd: optionally remove the resolvconf symlink
authorMike Gilbert <floppym@gentoo.org>
Tue, 3 Apr 2018 22:36:50 +0000 (18:36 -0400)
committerMike Gilbert <floppym@gentoo.org>
Tue, 3 Apr 2018 22:36:50 +0000 (18:36 -0400)
This allows systemd and openresolv to be installed concurrently.

Package-Manager: Portage-2.3.24, Repoman-2.3.6_p81

sys-apps/systemd/metadata.xml
sys-apps/systemd/systemd-9999.ebuild

index d2004bef1076aeb15a1cf4d8cd0fe5ca2af086b4..cdc951205cdc514e4a23cabf9f6b581433af82fd 100644 (file)
@@ -23,6 +23,7 @@
                <flag name="lz4">Enable lz4 compression for the journal</flag>
                <flag name="nat">Enable support for network address translation in networkd</flag>
                <flag name="qrcode">Enable qrcode output support in journal</flag>
+               <flag name="resolvconf">Install resolvconf symlink for systemd-resolve</flag>
                <flag name="sysv-utils">Install sysvinit compatibility symlinks and manpages for init, telinit, halt, poweroff, reboot, runlevel, and shutdown</flag>
                <flag name="usrmerge">Enable /usr merge (experimental)</flag>
                <flag name="vanilla">Disable Gentoo-specific behavior and compatibility quirks</flag>
index 560fc8c4f15092eb5b594c1d624aa9502abf5f81..a57c2ffe12cf29f99f243cfb0d032622fe7d2111 100644 (file)
@@ -20,7 +20,7 @@ HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
 
 LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
 SLOT="0/2"
-IUSE="acl apparmor audit build cryptsetup curl elfutils +gcrypt gnuefi http idn importd +kmod libidn2 +lz4 lzma nat pam pcre policykit qrcode +seccomp selinux ssl +sysv-utils test usrmerge vanilla xkb"
+IUSE="acl apparmor audit build cryptsetup curl elfutils +gcrypt gnuefi http idn importd +kmod libidn2 +lz4 lzma nat pam pcre policykit qrcode +resolvconf +seccomp selinux ssl +sysv-utils test usrmerge vanilla xkb"
 
 REQUIRED_USE="importd? ( curl gcrypt lzma )"
 RESTRICT="!test? ( test )"
@@ -68,6 +68,7 @@ RDEPEND="${COMMON_DEPEND}
        selinux? ( sec-policy/selinux-base-policy[systemd] )
        sysv-utils? ( !sys-apps/sysvinit )
        !sysv-utils? ( sys-apps/sysvinit )
+       resolvconf? ( !net-dns/openresolv )
        !build? ( || (
                sys-apps/util-linux[kill(-)]
                sys-process/procps[kill(+)]
@@ -298,14 +299,19 @@ multilib_src_install() {
 }
 
 multilib_src_install_all() {
+       local rootprefix=$(usex usrmerge /usr '')
+
        # meson doesn't know about docdir
        mv "${ED%/}"/usr/share/doc/{systemd,${PF}} || die
 
        einstalldocs
        dodoc "${FILESDIR}"/nsswitch.conf
 
+       if ! use resolvconf; then
+               rm -f "${ED%/}${rootprefix}"/sbin/resolvconf || die
+       fi
+
        if ! use sysv-utils; then
-               local rootprefix=$(usex usrmerge /usr '')
                rm "${ED%/}${rootprefix}"/sbin/{halt,init,poweroff,reboot,runlevel,shutdown,telinit} || die
                rmdir "${ED%/}${rootprefix}"/sbin || die
                rm "${ED%/}"/usr/share/man/man1/init.1 || die