aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Hughes <davidhughes205@gmail.com>2021-04-13 09:15:18 -0400
committerDave Hughes <davidhughes205@gmail.com>2021-04-13 09:15:18 -0400
commitdffbec4f1321b7b80bc4efad6bdc78f46430c5aa (patch)
treefcaa9ad00a0fe9122bae2abb09986a04b2236253 /sys-auth
parentdev-lang/rust: sync with ::smaeul (diff)
downloadmusl-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/Manifest3
-rw-r--r--sys-auth/elogind/elogind-246.10.ebuild153
-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.patch36
-rw-r--r--sys-auth/elogind/files/elogind-243.7-musl-mallinfo.patch35
-rw-r--r--sys-auth/elogind/files/elogind.init-r127
-rw-r--r--sys-auth/elogind/metadata.xml6
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>