diff options
author | Dave Hughes <davidhughes205@gmail.com> | 2021-04-13 09:15:18 -0400 |
---|---|---|
committer | Dave Hughes <davidhughes205@gmail.com> | 2021-04-13 09:15:18 -0400 |
commit | dffbec4f1321b7b80bc4efad6bdc78f46430c5aa (patch) | |
tree | fcaa9ad00a0fe9122bae2abb09986a04b2236253 /sys-auth | |
parent | dev-lang/rust: sync with ::smaeul (diff) | |
download | musl-dffbec4f1321b7b80bc4efad6bdc78f46430c5aa.tar.gz musl-dffbec4f1321b7b80bc4efad6bdc78f46430c5aa.tar.bz2 musl-dffbec4f1321b7b80bc4efad6bdc78f46430c5aa.zip |
sys-auth/elogind: sync with ::gentoo
Package-Manager: Portage-3.0.18, Repoman-3.0.3
RepoMan-Options: --force
Signed-off-by: Dave Hughes <davidhughes205@gmail.com>
Diffstat (limited to 'sys-auth')
-rw-r--r-- | sys-auth/elogind/Manifest | 3 | ||||
-rw-r--r-- | sys-auth/elogind/elogind-246.10.ebuild | 153 | ||||
-rw-r--r-- | sys-auth/elogind/elogind-246.9.2.ebuild (renamed from sys-auth/elogind/elogind-243.7.ebuild) | 26 | ||||
-rw-r--r-- | sys-auth/elogind/files/0001-musl-mallinfo.patch | 36 | ||||
-rw-r--r-- | sys-auth/elogind/files/elogind-243.7-musl-mallinfo.patch | 35 | ||||
-rw-r--r-- | sys-auth/elogind/files/elogind.init-r1 | 27 | ||||
-rw-r--r-- | sys-auth/elogind/metadata.xml | 6 |
7 files changed, 244 insertions, 42 deletions
diff --git a/sys-auth/elogind/Manifest b/sys-auth/elogind/Manifest index 8bb9d4b5..4eb0c703 100644 --- a/sys-auth/elogind/Manifest +++ b/sys-auth/elogind/Manifest @@ -1 +1,2 @@ -DIST elogind-243.7.tar.gz 1338186 BLAKE2B f3efc2af50f56c2cda18d721c18f4d88ca608fb35b2c7e2ebb35c3f3f743124dcf17efcc9db47810a13093397b1c1bc82cb42e017b3db493af5d2bb70bcf0eff SHA512 fd17c5016d083d63805f9ed0326ee32597870f6c48c9c246712cb09a77db775036b0fd0f4258b6557e189a1eceb4b50f4ae2e9e7881f4d9759b87a0b49ce3472 +DIST elogind-246.10.tar.gz 1559256 BLAKE2B 17a8146ee08c8ccf167f25d89b1d4525050ed0b0baaad0d36924ad3c40ffc820ef1528b33557cf285ad06c9ac9c440137428c5a235a2acf563e56f2f8f07e208 SHA512 9db0f068ed94ec07bab4d764ccb38840af3d05a4b7c9c539721906f5381b509cb9a3cbfb0453a978210d306136368de6162578c600d522416ef2a7ac1b9f348b +DIST elogind-246.9.2.tar.gz 1534982 BLAKE2B 428def0f577cb92c8167f4400a59093ebf738d14b449e0dc59f1aa59da2c0f781db62bffc4bea2649edbfcc06ff5799ab24243dfb580eaa12c5cf0c41be8fc17 SHA512 b50d319793307a425d7542626e8cf27e56fb5e5c75cca9519cd3f5a1e7c387c4179310b95fa083f8bd8172384f16c0e45e7000b313d2bcf84ed8aba98dc775c1 diff --git a/sys-auth/elogind/elogind-246.10.ebuild b/sys-auth/elogind/elogind-246.10.ebuild new file mode 100644 index 00000000..eeda3cb3 --- /dev/null +++ b/sys-auth/elogind/elogind-246.10.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2021 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 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~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 audit debug doc +pam +policykit selinux" + +BDEPEND=" + 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 + virtual/pkgconfig +" +DEPEND=" + audit? ( sys-process/audit ) + sys-apps/util-linux + sys-libs/libcap + virtual/libudev:= + acl? ( sys-apps/acl ) + pam? ( sys-libs/pam ) + selinux? ( sys-libs/libselinux ) +" +RDEPEND="${DEPEND} + !sys-apps/systemd +" +PDEPEND=" + sys-apps/dbus + policykit? ( sys-auth/polkit ) +" + +DOCS=( README.md src/libelogind/sd-bus/GVARIANT-SERIALIZATION ) + +PATCHES=( + "${FILESDIR}/${PN}-243.7-nodocs.patch" + "${FILESDIR}/${PN}-241.4-broken-test.patch" # bug 699116 +) + +pkg_setup() { + local CONFIG_CHECK="~CGROUPS ~EPOLL ~INOTIFY_USER ~SIGNALFD ~TIMERFD" + + use kernel_linux && linux-info_pkg_setup +} + +src_prepare() { + default + + if use elibc_musl ; then + eapply "${FILESDIR}"/0001-musl-mallinfo.patch + fi + + 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) + -Daudit=$(usex audit 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-r1 ${PN} + + sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.conf.in > ${PN}.conf || die + newconfd ${PN}.conf ${PN} +} + +pkg_postinst() { + if ! use pam; then + ewarn "${PN} will not be managing user logins/seats without USE=\"pam\"!" + ewarn "In other words, it will be useless for most applications." + ewarn + fi + if ! use policykit; then + ewarn "loginctl will not be able to perform privileged operations without" + ewarn "USE=\"policykit\"! That means e.g. no suspend or hibernate." + ewarn + fi + 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/elogind-243.7.ebuild b/sys-auth/elogind/elogind-246.9.2.ebuild index 82580b7c..c29a9403 100644 --- a/sys-auth/elogind/elogind-243.7.ebuild +++ b/sys-auth/elogind/elogind-246.9.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -19,7 +19,7 @@ HOMEPAGE="https://github.com/elogind/elogind" LICENSE="CC0-1.0 LGPL-2.1+ public-domain" SLOT="0" -IUSE="+acl debug doc +pam +policykit selinux" +IUSE="+acl audit debug doc +pam +policykit selinux" BDEPEND=" app-text/docbook-xml-dtd:4.2 @@ -30,6 +30,7 @@ BDEPEND=" virtual/pkgconfig " DEPEND=" + audit? ( sys-process/audit ) sys-apps/util-linux sys-libs/libcap virtual/libudev:= @@ -48,9 +49,8 @@ PDEPEND=" DOCS=( README.md src/libelogind/sd-bus/GVARIANT-SERIALIZATION ) PATCHES=( - "${FILESDIR}/${P}-nodocs.patch" + "${FILESDIR}/${PN}-243.7-nodocs.patch" "${FILESDIR}/${PN}-241.4-broken-test.patch" # bug 699116 - "${FILESDIR}/${PN}-243.7-musl-mallinfo.patch" ) pkg_setup() { @@ -61,6 +61,11 @@ pkg_setup() { src_prepare() { default + + if use elibc_musl ; then + eapply "${FILESDIR}"/0001-musl-mallinfo.patch + fi + xdg_environment_reset } @@ -90,6 +95,7 @@ src_configure() { -Ddefault-hierarchy=${cgroupmode} -Ddefault-kill-user-processes=false -Dacl=$(usex acl true false) + -Daudit=$(usex audit true false) --buildtype $(usex debug debug release) -Dhtml=$(usex doc auto false) -Dpam=$(usex pam true false) @@ -105,13 +111,23 @@ src_install() { meson_src_install - newinitd "${FILESDIR}"/${PN}.init ${PN} + newinitd "${FILESDIR}"/${PN}.init-r1 ${PN} sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.conf.in > ${PN}.conf || die newconfd ${PN}.conf ${PN} } pkg_postinst() { + if ! use pam; then + ewarn "${PN} will not be managing user logins/seats without USE=\"pam\"!" + ewarn "In other words, it will be useless for most applications." + ewarn + fi + if ! use policykit; then + ewarn "loginctl will not be able to perform privileged operations without" + ewarn "USE=\"policykit\"! That means e.g. no suspend or hibernate." + ewarn + fi if [[ "$(rc-config list boot | grep elogind)" != "" ]]; then elog "elogind is currently started from boot runlevel." elif [[ "$(rc-config list default | grep elogind)" != "" ]]; then diff --git a/sys-auth/elogind/files/0001-musl-mallinfo.patch b/sys-auth/elogind/files/0001-musl-mallinfo.patch new file mode 100644 index 00000000..41a85750 --- /dev/null +++ b/sys-auth/elogind/files/0001-musl-mallinfo.patch @@ -0,0 +1,36 @@ +diff -Naur a/src/basic/selinux-util.c b/src/basic/selinux-util.c +--- a/src/basic/selinux-util.c 2021-03-13 17:08:40.496016258 -0500 ++++ b/src/basic/selinux-util.c 2021-03-13 17:10:54.928016323 -0500 +@@ -75,7 +75,6 @@ + int mac_selinux_init(void) { + #if HAVE_SELINUX + usec_t before_timestamp, after_timestamp; +- struct mallinfo before_mallinfo, after_mallinfo; + char timespan[FORMAT_TIMESPAN_MAX]; + int l; + +@@ -87,7 +86,6 @@ + if (!mac_selinux_use()) + return 0; + +- before_mallinfo = mallinfo(); + before_timestamp = now(CLOCK_MONOTONIC); + + label_hnd = selabel_open(SELABEL_CTX_FILE, NULL, 0); +@@ -95,14 +93,9 @@ + return log_enforcing_errno(errno, "Failed to initialize SELinux labeling handle: %m"); + + after_timestamp = now(CLOCK_MONOTONIC); +- after_mallinfo = mallinfo(); +- +- l = after_mallinfo.uordblks > before_mallinfo.uordblks ? after_mallinfo.uordblks - before_mallinfo.uordblks : 0; +- +- log_debug("Successfully loaded SELinux database in %s, size on heap is %iK.", +- format_timespan(timespan, sizeof(timespan), after_timestamp - before_timestamp, 0), +- (l+1023)/1024); + ++ log_debug("Successfully loaded SELinux database in %s", ++ format_timespan(timespan, sizeof(timespan), after_timestamp - before_timestamp, 0)); + #endif + return 0; + } diff --git a/sys-auth/elogind/files/elogind-243.7-musl-mallinfo.patch b/sys-auth/elogind/files/elogind-243.7-musl-mallinfo.patch deleted file mode 100644 index b9b1700e..00000000 --- a/sys-auth/elogind/files/elogind-243.7-musl-mallinfo.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -Naur elogind-243.7.orig/src/basic/selinux-util.c elogind-243.7/src/basic/selinux-util.c ---- elogind-243.7.orig/src/basic/selinux-util.c 2020-03-12 20:33:40.000000000 +0100 -+++ elogind-243.7/src/basic/selinux-util.c 2020-07-03 12:29:16.140181565 +0200 -@@ -63,7 +63,6 @@ - - #if HAVE_SELINUX - usec_t before_timestamp, after_timestamp; -- struct mallinfo before_mallinfo, after_mallinfo; - - if (label_hnd) - return 0; -@@ -71,7 +70,6 @@ - if (!mac_selinux_use()) - return 0; - -- before_mallinfo = mallinfo(); - before_timestamp = now(CLOCK_MONOTONIC); - - label_hnd = selabel_open(SELABEL_CTX_FILE, NULL, 0); -@@ -83,13 +81,9 @@ - int l; - - after_timestamp = now(CLOCK_MONOTONIC); -- after_mallinfo = mallinfo(); - -- l = after_mallinfo.uordblks > before_mallinfo.uordblks ? after_mallinfo.uordblks - before_mallinfo.uordblks : 0; -- -- log_debug("Successfully loaded SELinux database in %s, size on heap is %iK.", -- format_timespan(timespan, sizeof(timespan), after_timestamp - before_timestamp, 0), -- (l+1023)/1024); -+ log_debug("Successfully loaded SELinux database in %s", -+ format_timespan(timespan, sizeof(timespan), after_timestamp - before_timestamp, 0)); - } - #endif - diff --git a/sys-auth/elogind/files/elogind.init-r1 b/sys-auth/elogind/files/elogind.init-r1 new file mode 100644 index 00000000..56acb1c3 --- /dev/null +++ b/sys-auth/elogind/files/elogind.init-r1 @@ -0,0 +1,27 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need dbus + + # Make sure elogind is up before xdm starts any dm + before xdm + + use logger +} + +start() { + ebegin "Starting elogind" + + start-stop-daemon --start --quiet \ + --pidfile "${ELOGIND_PIDFILE}" \ + --exec "${ELOGIND_EXEC}" -- --daemon + eend $? +} + +stop() { + ebegin "Stopping elogind" + start-stop-daemon --stop --quiet --pidfile "${ELOGIND_PIDFILE}" + eend $? +} diff --git a/sys-auth/elogind/metadata.xml b/sys-auth/elogind/metadata.xml index c28bf0a0..7950788b 100644 --- a/sys-auth/elogind/metadata.xml +++ b/sys-auth/elogind/metadata.xml @@ -1,4 +1,4 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> @@ -7,6 +7,10 @@ <maintainer type="person"> <email>kensington@gentoo.org</email> </maintainer> + <maintainer type="person"> + <email>slashbeast@gentoo.org</email> + <name>Piotr Karbowski</name> + </maintainer> <upstream> <remote-id type="github">elogind/elogind</remote-id> </upstream> |