diff options
Diffstat (limited to 'sys-auth')
-rw-r--r-- | sys-auth/elogind/Manifest | 1 | ||||
-rw-r--r-- | sys-auth/elogind/elogind-241.4.ebuild | 134 | ||||
-rw-r--r-- | sys-auth/elogind/files/elogind-241.4-nodocs.patch | 29 |
3 files changed, 164 insertions, 0 deletions
diff --git a/sys-auth/elogind/Manifest b/sys-auth/elogind/Manifest index ff7b0c598229..a0e5f0884727 100644 --- a/sys-auth/elogind/Manifest +++ b/sys-auth/elogind/Manifest @@ -1 +1,2 @@ DIST elogind-241.3.tar.gz 1401391 BLAKE2B 90bc10af1b6d66bc6b6e15314cbc7005f270ebd04767a88d93605d81b199758c7f5423ea85f9810f8dfcde82c6c2b8094e2237cf2ca70a9dfc45a4a8e20b0439 SHA512 b33c0ed85c4a97216f8d56441207510be180258d4f4e5ff9dea07d59d53b84b03c27f5397f09214ce9fc880f38865e20d7c05b41255d4b762c33099b7ebb53eb +DIST elogind-241.4.tar.gz 1400769 BLAKE2B f1ddf87a6a4e3d06c184ae004d99acbfc1a753d0e5c6d18ff4c10a51b350cee0c14f833aba6f2a2a0f4891ad323868b9a94a3acb8b9eec2e30405b9fa4a09425 SHA512 e1685ac81028eab4a4cf63c7b962ae85f07bc0e39b2562934f863bfdf39417445c432fab5454e7c64b337ab62d95fb69abbe1139464a059a86fb485ed0534ad8 diff --git a/sys-auth/elogind/elogind-241.4.ebuild b/sys-auth/elogind/elogind-241.4.ebuild new file mode 100644 index 000000000000..1ea759237934 --- /dev/null +++ b/sys-auth/elogind/elogind-241.4.ebuild @@ -0,0 +1,134 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +if [[ ${PV} = *9999* ]]; then + EGIT_BRANCH="v241-stable" + EGIT_REPO_URI="https://github.com/elogind/elogind.git" + inherit git-r3 +else + SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +fi + +inherit linux-info meson pam udev xdg-utils + +DESCRIPTION="The systemd project's logind, extracted to a standalone package" +HOMEPAGE="https://github.com/elogind/elogind" + +LICENSE="CC0-1.0 LGPL-2.1+ public-domain" +SLOT="0" +IUSE="+acl debug doc +pam +policykit selinux" + +COMMON_DEPEND=" + sys-apps/util-linux + sys-libs/libcap + virtual/libudev:= + acl? ( sys-apps/acl ) + pam? ( sys-libs/pam ) + selinux? ( sys-libs/libselinux ) +" +DEPEND="${COMMON_DEPEND} + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xml-dtd:4.5 + app-text/docbook-xsl-stylesheets + dev-util/gperf + dev-util/intltool + sys-devel/libtool + virtual/pkgconfig +" +RDEPEND="${COMMON_DEPEND} + !sys-apps/systemd +" +PDEPEND=" + sys-apps/dbus + policykit? ( sys-auth/polkit ) +" + +DOCS=( NEWS README.md src/libelogind/sd-bus/GVARIANT-SERIALIZATION ) + +PATCHES=( "${FILESDIR}/${P}-nodocs.patch" ) + +pkg_setup() { + local CONFIG_CHECK="~CGROUPS ~EPOLL ~INOTIFY_USER ~SIGNALFD ~TIMERFD" + + use kernel_linux && linux-info_pkg_setup +} + +src_prepare() { + default + xdg_environment_reset +} + +src_configure() { + local rccgroupmode="$(grep rc_cgroup_mode \"${EPREFIX}/etc/rc.conf\" | cut -d '"' -f 2)" + local cgroupmode="legacy" + + if [[ "xhybrid" = "x${rccgroupmode}" ]] ; then + cgroupmode="hybrid" + elif [[ "xunified" = "x${rccgroupmode}" ]] ; then + cgroupmode="unified" + fi + + local emesonargs=( + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + -Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html" + -Dpamlibdir=$(getpam_mod_dir) + -Dudevrulesdir="${EPREFIX}$(get_udevdir)"/rules.d + --libdir="${EPREFIX}"/usr/$(get_libdir) + -Drootlibdir="${EPREFIX}"/$(get_libdir) + -Drootlibexecdir="${EPREFIX}"/$(get_libdir)/elogind + -Drootprefix="${EPREFIX}/" + -Dbashcompletiondir="${EPREFIX}/usr/share/bash-completion/completions" + -Dman=auto + -Dsmack=true + -Dcgroup-controller=openrc + -Ddefault-hierarchy=${cgroupmode} + -Ddefault-kill-user-processes=false + -Dacl=$(usex acl true false) + --buildtype $(usex debug debug release) + -Dhtml=$(usex doc auto false) + -Dpam=$(usex pam true false) + -Dselinux=$(usex selinux true false) + -Dutmp=$(usex elibc_musl false true) + ) + + meson_src_configure +} + +src_install() { + DOCS+=( src/libelogind/sd-bus/GVARIANT-SERIALIZATION ) + + meson_src_install + + newinitd "${FILESDIR}"/${PN}.init ${PN} + + sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.conf.in > ${PN}.conf || die + newconfd ${PN}.conf ${PN} +} + +pkg_postinst() { + if [[ "$(rc-config list boot | grep elogind)" != "" ]]; then + elog "elogind is currently started from boot runlevel." + elif [[ "$(rc-config list default | grep elogind)" != "" ]]; then + ewarn "elogind is currently started from default runlevel." + ewarn "Please remove elogind from the default runlevel and" + ewarn "add it to the boot runlevel by:" + ewarn "# rc-update del elogind default" + ewarn "# rc-update add elogind boot" + else + elog "elogind is currently not started from any runlevel." + elog "You may add it to the boot runlevel by:" + elog "# rc-update add elogind boot" + elog + elog "Alternatively, you can leave elogind out of any" + elog "runlevel. It will then be started automatically" + if use pam; then + elog "when the first service calls it via dbus, or" + elog "the first user logs into the system." + else + elog "when the first service calls it via dbus." + fi + fi +} diff --git a/sys-auth/elogind/files/elogind-241.4-nodocs.patch b/sys-auth/elogind/files/elogind-241.4-nodocs.patch new file mode 100644 index 000000000000..299087483ced --- /dev/null +++ b/sys-auth/elogind/files/elogind-241.4-nodocs.patch @@ -0,0 +1,29 @@ +We don't want the build system to install to docdir for us. + +--- a/meson.build 2019-10-26 23:24:34.743783753 +0200 ++++ b/meson.build 2019-10-26 23:26:50.847647926 +0200 +@@ -3342,15 +3342,10 @@ + # install_data('modprobe.d/systemd.conf', + # install_dir : modprobedir) + #endif // 0 +-install_data('LICENSE.GPL2', +- 'LICENSE.LGPL2.1', +- 'NEWS', + #if 0 /// elogind has upgraded to markdown + # 'README', + #else +- 'README.md', + #endif // 0 +- 'docs/CODING_STYLE.md', + #if 0 /// irrelevant for elogind + # 'docs/DISTRO_PORTING.md', + # 'docs/ENVIRONMENT.md', +@@ -3359,8 +3354,6 @@ + # 'docs/TRANSLATORS.md', + # 'docs/UIDS-GIDS.md', + #endif // 0 +- 'src/libelogind/sd-bus/GVARIANT-SERIALIZATION', +- install_dir : docdir) + + #if 0 /// UNNEEDED by elogind + # meson.add_install_script('sh', '-c', mkdir_p.format(systemdstatedir)) |