--- elogind-243.7.ebuild.orig 2020-04-19 14:39:50.000000000 +0300 +++ elogind-243.7.ebuild 2020-05-18 02:38:32.389491073 +0300 @@ -19,7 +19,7 @@ LICENSE="CC0-1.0 LGPL-2.1+ public-domain" SLOT="0" -IUSE="+acl debug doc +pam +policykit selinux" +IUSE="+acl debug doc +pam +policykit runit selinux" BDEPEND=" app-text/docbook-xml-dtd:4.2 @@ -64,12 +64,10 @@ } src_configure() { - local rccgroupmode="$(grep rc_cgroup_mode ${EPREFIX}/etc/rc.conf | cut -d '"' -f 2)" local cgroupmode="legacy" - - if [[ "xhybrid" = "x${rccgroupmode}" ]] ; then + if grep -q '^\S\+ /sys/fs/cgroup/unified cgroup2 ' /proc/mounts ; then cgroupmode="hybrid" - elif [[ "xunified" = "x${rccgroupmode}" ]] ; then + elif grep -q '^\S\+ /sys/fs/cgroup cgroup2 ' /proc/mounts ; then cgroupmode="unified" fi @@ -85,7 +83,9 @@ -Dbashcompletiondir="${EPREFIX}/usr/share/bash-completion/completions" -Dman=auto -Dsmack=true - -Dcgroup-controller=openrc + $(use runit && echo -Dpoweroff-path=/sbin/elogind-poweroff) + $(use runit && echo -Dreboot-path=/sbin/elogind-reboot) + -Dcgroup-controller=$(usex runit none openrc) -Ddefault-hierarchy=${cgroupmode} -Ddefault-kill-user-processes=false -Dacl=$(usex acl true false) @@ -108,6 +108,12 @@ sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.conf.in > ${PN}.conf || die newconfd ${PN}.conf ${PN} + + if use runit; then + exeinto /sbin + printf '#!/bin/sh\nexec /sbin/runit-init 0\n' | newexe - elogind-poweroff + printf '#!/bin/sh\nexec /sbin/runit-init 6\n' | newexe - elogind-reboot + fi } pkg_postinst() {