summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-05-31 01:43:36 +0100
committerSam James <sam@gentoo.org>2023-05-31 01:43:36 +0100
commit095e98fefa5d6e9072a57f69cd6df53e079effcf (patch)
tree9461f32d84420304108e40d812e2bf10524b5e67 /sys-auth
parentsys-auth/elogind: treeclean (diff)
downloadgentoo-095e98fefa5d6e9072a57f69cd6df53e079effcf.tar.gz
gentoo-095e98fefa5d6e9072a57f69cd6df53e079effcf.tar.bz2
gentoo-095e98fefa5d6e9072a57f69cd6df53e079effcf.zip
Revert "sys-auth/elogind: treeclean"
This reverts commit 2a23d6073040b491780d4af0f2fb6b6c5ee077c0. Wrong repo!! Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-auth')
-rw-r--r--sys-auth/elogind/Manifest1
-rw-r--r--sys-auth/elogind/elogind-246.10-r3.ebuild150
-rw-r--r--sys-auth/elogind/files/elogind-241.4-broken-test.patch15
-rw-r--r--sys-auth/elogind/files/elogind-243.7-nodocs.patch29
-rw-r--r--sys-auth/elogind/files/elogind-246.10-clang-undefined-symbol.patch20
-rw-r--r--sys-auth/elogind/files/elogind-246.10-loong.patch40
-rw-r--r--sys-auth/elogind/files/elogind-246.10-musl-selinux.patch99
-rw-r--r--sys-auth/elogind/files/elogind-246.10-revert-polkit-automagic.patch38
-rw-r--r--sys-auth/elogind/files/elogind.conf.in7
-rw-r--r--sys-auth/elogind/files/elogind.init25
-rw-r--r--sys-auth/elogind/files/elogind.init-r127
-rw-r--r--sys-auth/elogind/metadata.xml21
12 files changed, 472 insertions, 0 deletions
diff --git a/sys-auth/elogind/Manifest b/sys-auth/elogind/Manifest
new file mode 100644
index 000000000000..871cbc88d9f3
--- /dev/null
+++ b/sys-auth/elogind/Manifest
@@ -0,0 +1 @@
+DIST elogind-246.10.tar.gz 1559256 BLAKE2B 17a8146ee08c8ccf167f25d89b1d4525050ed0b0baaad0d36924ad3c40ffc820ef1528b33557cf285ad06c9ac9c440137428c5a235a2acf563e56f2f8f07e208 SHA512 9db0f068ed94ec07bab4d764ccb38840af3d05a4b7c9c539721906f5381b509cb9a3cbfb0453a978210d306136368de6162578c600d522416ef2a7ac1b9f348b
diff --git a/sys-auth/elogind/elogind-246.10-r3.ebuild b/sys-auth/elogind/elogind-246.10-r3.ebuild
new file mode 100644
index 000000000000..532c0142c6d7
--- /dev/null
+++ b/sys-auth/elogind/elogind-246.10-r3.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2023 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 ~loong ~mips ppc ppc64 ~riscv ~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 +cgroup-hybrid debug doc +pam +policykit selinux test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-util/gperf
+ 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
+ "${FILESDIR}/${P}-revert-polkit-automagic.patch"
+ "${FILESDIR}/${P}-clang-undefined-symbol.patch"
+ "${FILESDIR}/${P}-loong.patch"
+ "${FILESDIR}/${P}-musl-selinux.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() {
+ if use cgroup-hybrid; then
+ cgroupmode="hybrid"
+ else
+ 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)
+ -Dtests=$(usex test 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/files/elogind-241.4-broken-test.patch b/sys-auth/elogind/files/elogind-241.4-broken-test.patch
new file mode 100644
index 000000000000..d2735825900e
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-241.4-broken-test.patch
@@ -0,0 +1,15 @@
+--- a/src/test/meson.build 2019-11-15 08:59:47.000000000 +0100
++++ b/src/test/meson.build 2019-11-30 13:04:45.051316140 +0100
+@@ -1014,9 +1014,9 @@
+ # '', 'timeout=120'],
+ #endif // 0
+
+- [['src/libelogind/sd-login/test-login.c'],
+- [],
+- []],
++# [['src/libelogind/sd-login/test-login.c'],
++# [],
++# []],
+
+ [['src/libelogind/sd-device/test-sd-device.c'],
+ [],
diff --git a/sys-auth/elogind/files/elogind-243.7-nodocs.patch b/sys-auth/elogind/files/elogind-243.7-nodocs.patch
new file mode 100644
index 000000000000..0ec0aa37308a
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-243.7-nodocs.patch
@@ -0,0 +1,29 @@
+We don't want the build system to install to docdir for us.
+
+--- a/meson.build 2020-03-12 20:33:40.000000000 +0100
++++ b/meson.build 2020-03-12 22:46:08.020716935 +0100
+@@ -3352,15 +3352,11 @@
+ # install_data('modprobe.d/systemd.conf',
+ # install_dir : modprobedir)
+ #endif // 0
+-install_data('LICENSE.GPL2',
+- 'LICENSE.LGPL2.1',
+ #if 0 /// elogind has upgraded to markdown, and the NEWS file is useless
+ # 'NEWS',
+ # 'README',
+ #else // 0
+- 'README.md',
+ #endif // 0
+- 'docs/CODING_STYLE.md',
+ #if 0 /// irrelevant for elogind
+ # 'docs/DISTRO_PORTING.md',
+ # 'docs/ENVIRONMENT.md',
+@@ -3369,8 +3365,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))
diff --git a/sys-auth/elogind/files/elogind-246.10-clang-undefined-symbol.patch b/sys-auth/elogind/files/elogind-246.10-clang-undefined-symbol.patch
new file mode 100644
index 000000000000..3a157615884e
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-246.10-clang-undefined-symbol.patch
@@ -0,0 +1,20 @@
+--- a/src/libelogind/sd-bus/bus-error.h
++++ b/src/libelogind/sd-bus/bus-error.h
+@@ -28,11 +28,17 @@ int bus_error_set_errnofv(sd_bus_error *e, int error, const char *format, va_lis
+ * the bus error table, and BUS_ERROR_MAP_ELF_USE has to be used at
+ * least once per compilation unit (i.e. per library), to ensure that
+ * the error map is really added to the final binary.
++ *
++ * In addition, set the retain attribute so that the section cannot be
++ * discarded by ld --gc-sections -z start-stop-gc. Older compilers would
++ * warn for the unknown attribute, so just disable -Wattributes.
+ */
+
+ #define BUS_ERROR_MAP_ELF_REGISTER \
++ _Pragma("GCC diagnostic ignored \"-Wattributes\"") \
+ _section_("SYSTEMD_BUS_ERROR_MAP") \
+ _used_ \
++ __attribute__((retain)) \
+ _alignptr_ \
+ _variable_no_sanitize_address_
+
diff --git a/sys-auth/elogind/files/elogind-246.10-loong.patch b/sys-auth/elogind/files/elogind-246.10-loong.patch
new file mode 100644
index 000000000000..f2b418f1384a
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-246.10-loong.patch
@@ -0,0 +1,40 @@
+https://github.com/elogind/elogind/pull/231, but made minimal.
+From: Wu Xiaotian <wuxiaotian@loongson.cn>
+Date: Tue, 1 Sep 2020 12:13:18 +0800
+Subject: [PATCH] architecture: Add support for the LoongArch architecture
+
+(cherry picked from commit 5c0968a2d14d5e1afb40a36c55d3f89805712904)
+[resolved merge conflict for minimal diff, also use __loongarch_lp64
+instead of __loongarch64 -- xen0n]
+
+basic: update the Arch tuples for LoongArch
+
+(cherry picked from commit 017228934833d8618774353dcccbc5ec9f78ce98)
+--- a/src/basic/architecture.h
++++ b/src/basic/architecture.h
+@@ -44,6 +44,7 @@ enum {
+ ARCHITECTURE_RISCV64,
+ ARCHITECTURE_ARC,
+ ARCHITECTURE_ARC_BE,
++ ARCHITECTURE_LOONGARCH64,
+ _ARCHITECTURE_MAX,
+ _ARCHITECTURE_INVALID = -1
+ };
+@@ -200,6 +201,17 @@ int uname_architecture(void);
+ # elif defined(__SH4A__)
+ # define LIB_ARCH_TUPLE "sh4a-linux-gnu"
+ # endif
++#elif defined(__loongarch_lp64)
++# define native_architecture() ARCHITECTURE_LOONGARCH64
++# if defined(__loongarch_double_float)
++# define LIB_ARCH_TUPLE "loongarch64-linux-gnuf64"
++# elif defined(__loongarch_single_float)
++# define LIB_ARCH_TUPLE "loongarch64-linux-gnuf32"
++# elif defined(__loongarch_soft_float)
++# define LIB_ARCH_TUPLE "loongarch64-linux-gnusf"
++# else
++# error "Unrecognized loongarch architecture variant"
++# endif
+ #elif defined(__m68k__)
+ # define native_architecture() ARCHITECTURE_M68K
+ # define LIB_ARCH_TUPLE "m68k-linux-gnu"
diff --git a/sys-auth/elogind/files/elogind-246.10-musl-selinux.patch b/sys-auth/elogind/files/elogind-246.10-musl-selinux.patch
new file mode 100644
index 000000000000..c36861b983e2
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-246.10-musl-selinux.patch
@@ -0,0 +1,99 @@
+https://bugs.gentoo.org/888912
+https://github.com/elogind/elogind/commit/ab72a46f3104f44a32ef7bec7439aa9d3b5f0fdc
+
+Rebased version to apply to 246.10 by concord@.
+
+From ab72a46f3104f44a32ef7bec7439aa9d3b5f0fdc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Fri, 9 Oct 2020 16:48:03 +0200
+Subject: [PATCH] basic/selinux: work around mallinfo deprecation
+
+Latest glibc has deprecated mallinfo(), so it might become unavailable at some point
+in the future. There is malloc_info(), but it returns XML, ffs. I think the information
+that we get from mallinfo() is quite useful, so let's use mallinfo() if available, and
+not otherwise.
+--- a/meson.build
++++ b/meson.build
+@@ -617,6 +617,7 @@ foreach ident : [
+ #include <unistd.h>
+ #include <signal.h>
+ #include <sys/wait.h>'''],
++ ['mallinfo', '''#include <malloc.h>'''],
+ ]
+
+ have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
+--- a/src/basic/macro.h
++++ b/src/basic/macro.h
+@@ -93,6 +93,10 @@
+ #endif
+
+ /* Temporarily disable some warnings */
++#define DISABLE_WARNING_DEPRECATED_DECLARATIONS \
++ _Pragma("GCC diagnostic push"); \
++ _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
++
+ #define DISABLE_WARNING_FORMAT_NONLITERAL \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wformat-nonliteral\"")
+--- a/src/basic/selinux-util.c
++++ b/src/basic/selinux-util.c
+@@ -72,12 +72,21 @@ void mac_selinux_retest(void) {
+ #endif
+ }
+
++#if HAVE_MALLINFO
++static struct mallinfo mallinfo_nowarn(void) {
++ /* glibc has deprecated mallinfo(), but the replacement malloc_info() returns an XML blob ;=[ */
++DISABLE_WARNING_DEPRECATED_DECLARATIONS
++ return mallinfo();
++REENABLE_WARNING
++}
++#else
++# warning "mallinfo() is missing, add mallinfo2() support instead."
++#endif
++
+ 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;
+
+ selinux_set_callback(SELINUX_CB_POLICYLOAD, (union selinux_callback) mac_selinux_reload);
+
+@@ -87,7 +96,9 @@ int mac_selinux_init(void) {
+ if (!mac_selinux_use())
+ return 0;
+
+- before_mallinfo = mallinfo();
++#if HAVE_MALLINFO
++ struct mallinfo before_mallinfo = mallinfo_nowarn();
++#endif
+ before_timestamp = now(CLOCK_MONOTONIC);
+
+ label_hnd = selabel_open(SELABEL_CTX_FILE, NULL, 0);
+@@ -95,14 +107,17 @@ int mac_selinux_init(void) {
+ 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;
++#if HAVE_MALLINFO
++ struct mallinfo after_mallinfo = mallinfo_nowarn();
++ int 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);
+-
++ DIV_ROUND_UP(l, 1024));
++#else
++ log_debug("Successfully loaded SELinux database in %s.",
++ format_timespan(timespan, sizeof(timespan), after_timestamp - before_timestamp, 0));
++#endif
+ #endif
+ return 0;
+ }
+--
+2.40.1
diff --git a/sys-auth/elogind/files/elogind-246.10-revert-polkit-automagic.patch b/sys-auth/elogind/files/elogind-246.10-revert-polkit-automagic.patch
new file mode 100644
index 000000000000..5237b7abe72a
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-246.10-revert-polkit-automagic.patch
@@ -0,0 +1,38 @@
+From 715ce0a6459e418f92e74c7ce52df3244c18f383 Mon Sep 17 00:00:00 2001
+From: Sven Eden <sven.eden@prydeworx.com>
+Date: Mon, 8 Mar 2021 08:40:08 +0100
+Subject: [PATCH] Revert "Disable polkit support if libpolkit is not installed"
+
+This reverts commit 1194dec4f8f2d1b8bd14e1625f34418ecfce817e.
+
+Removing polkit support with -Dpolkit=auto when libpolkit is not
+installed, removes the whole interface. This makes it impossible to
+add polkit support as a runtime dependency.
+
+Bug: #167
+Closes: #206
+Signed-off-by: Sven Eden <sven.eden@prydeworx.com>
+---
+ meson.build | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 2dd05db3c..f38551f55 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1157,15 +1157,6 @@ if want_polkit != 'false' and not skip_deps
+ message('Old polkit detected, will install pkla files')
+ install_polkit_pkla = true
+ endif
+-#if 1 /// Disable polkit completely if libpolkit is not there. See elogind issue #167
+- if not libpolkit.found()
+- if want_polkit != 'auto'
+- error('Polkit requested but libpolkit was not found.')
+- endif
+- install_polkit = false
+- want_polkit = false
+- endif
+-#endif // 1
+ endif
+ conf.set10('ENABLE_POLKIT', install_polkit)
+
diff --git a/sys-auth/elogind/files/elogind.conf.in b/sys-auth/elogind/files/elogind.conf.in
new file mode 100644
index 000000000000..7b05b3502794
--- /dev/null
+++ b/sys-auth/elogind/files/elogind.conf.in
@@ -0,0 +1,7 @@
+# /etc/conf.d/elogind: config file for /etc/init.d/elogind
+
+# this is the elogind executable
+ELOGIND_EXEC="/@libdir@/elogind/elogind"
+
+# this is where elogind will store its pid file
+ELOGIND_PIDFILE="/run/elogind.pid"
diff --git a/sys-auth/elogind/files/elogind.init b/sys-auth/elogind/files/elogind.init
new file mode 100644
index 000000000000..019c3afbabc5
--- /dev/null
+++ b/sys-auth/elogind/files/elogind.init
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# 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
+}
+
+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/files/elogind.init-r1 b/sys-auth/elogind/files/elogind.init-r1
new file mode 100644
index 000000000000..1cb5071c621e
--- /dev/null
+++ b/sys-auth/elogind/files/elogind.init-r1
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# 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
new file mode 100644
index 000000000000..fb46725b3a1d
--- /dev/null
+++ b/sys-auth/elogind/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>asturm@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>kensington@gentoo.org</email>
+ <name>Michael Palimaka</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>slashbeast@gentoo.org</email>
+ <name>Piotr Karbowski</name>
+ </maintainer>
+ <use>
+ <flag name="cgroup-hybrid">Use hybrid cgroup hierarchy (OpenRC's default) instead of unified.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">elogind/elogind</remote-id>
+ </upstream>
+</pkgmetadata>