summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-auth/elogind')
-rw-r--r--sys-auth/elogind/Manifest14
-rw-r--r--sys-auth/elogind/elogind-236.9999.ebuild123
-rw-r--r--sys-auth/elogind/elogind-238.9999.ebuild123
-rw-r--r--sys-auth/elogind/elogind-252.24.ebuild171
-rw-r--r--sys-auth/elogind/elogind-252.9999.ebuild (renamed from sys-auth/elogind/elogind-239.9999.ebuild)140
-rw-r--r--sys-auth/elogind/elogind-255.5.ebuild172
-rw-r--r--sys-auth/elogind/elogind-255.9999.ebuild160
-rw-r--r--sys-auth/elogind/files/elogind-236.1-docs.patch24
-rw-r--r--sys-auth/elogind/files/elogind-241.1-docs.patch24
-rw-r--r--sys-auth/elogind/files/elogind-243.6-docs.patch28
-rw-r--r--sys-auth/elogind/files/elogind-252-docs.patch28
-rw-r--r--sys-auth/elogind/files/elogind-252.9-musl-lfs.patch51
-rw-r--r--sys-auth/elogind/files/elogind.init19
-rw-r--r--sys-auth/elogind/metadata.xml16
14 files changed, 757 insertions, 336 deletions
diff --git a/sys-auth/elogind/Manifest b/sys-auth/elogind/Manifest
new file mode 100644
index 0000000..e0fa23e
--- /dev/null
+++ b/sys-auth/elogind/Manifest
@@ -0,0 +1,14 @@
+AUX elogind-238.1-docs.patch 836 BLAKE2B bf7c644c4c46e54d76d3a1f5d4dc4dba415e55801e67060601f37b4ac44111b051068e6cd86bdd7490876533d80e80945330cfb61f7693fd9615ebaceb107f0a SHA512 c0cd63330c25a5f7860dc5522e3984f175372cddaa5a8adefbd18a3566f5fe4932ca9b38d5baeee2855ca79333a541be7b4f018d9725818d14b795ee7f922fd2
+AUX elogind-241.1-docs.patch 855 BLAKE2B 08fc89a264ab0408c13caa059649a004b775ec2e75ca0561d658106c9947ee0f6b9594ede8a40eb0fb7d0d0454123411f7c408e4701b88d20e0c4042a84b6916 SHA512 9260d94e77512ab8dede225d01c56194b01a0140be66489991ec17f6e1d09f7ab9f9b2efa0205fe3c6c3dedcd2145d6b9eb6126aef047a02e228cd4270972124
+AUX elogind-243.6-docs.patch 985 BLAKE2B 93c9f6080ccd9816fadfa2642dcf2f0109be8888073c0d9d19b0a10ce54cdb63ab0eb40063ae433c6e6cf5266804307127c0b570aa50b5d51da66040f3004afe SHA512 7239841d018dcfeb8e87c01f20599a146be25da82f4f072bd98dd1e8d25fd472473ee31e4925310ff3667025eabfb7dad9a2305f51f971873216e7a72c97efe7
+AUX elogind-252-docs.patch 907 BLAKE2B c21e75964594354544861597be56dfbf48b2689a8a3df949e4afac2121a620ee19d3466d141fd1785505eaeb4df1aa4bc36fc49e84a478d9d8e6869c9dd35762 SHA512 ffd6b480ab3e39b0a24d09b87326c89b673745b2dc7998d42ee691b5410f58ac07c8926e39cba6f1d3e0856ee35e4ae2105d6467c75f2f7387740a83a2650b8c
+AUX elogind-252.9-musl-lfs.patch 2152 BLAKE2B cad592f4cec32add7acc62ba1de3d9706fe4f872709704bf1ee43c8ff1ec1ec067d50d5db66932fc2fc3049cf9ca165679939bfea063dec392639bface036245 SHA512 64865ab3c84bc59b1b9df993014ee68cb41c03140c28a3c58875de7cb54cc5a94a33c355a4ae068b275686850f540ca92e2cec792297fc6a440cc9df2440d444
+AUX elogind.conf.in 218 BLAKE2B 7ee0a72c4a628a233fdbb2d3104487859aaa7e5c4f2624e5a4eafb37ed90fb8f64349b1a8acc92e69ec618496bb7f6263b7a5d0fe15a1afe1c03f5955743f079 SHA512 2c62ab28d7db9cd52489069f80363159000385a25dd7f2afe5a03598a0b7a1f61af7c18df71f6286e72f5966e55b62a4029e30cb786dd813bb201b9e20adccd7
+AUX elogind.init 710 BLAKE2B e8ea4bd17525080cf34c122cdfc14318a136e2b15ffcb1066b0945d65c9854e9964d73215dfd405bd4b1a7e6cbd1aad317bf221832d4f17c5ee60c42e981c691 SHA512 ef0a89dbfbc8571c2fa04c0ee24cab1f4afaa4608e57a748242d82ee5ae3ab4fc3917c7a3a27bcf1b2f645e4bf7f75e58412746a2fe21c454e9f2d2fd7a309c7
+DIST elogind-252.24.tar.gz 1931232 BLAKE2B 00213bfac081eda9d9363b7166e38ce95362b9eb9a39847152cb3f7dc569594b0d04304a09ef4d5429cc59142e270c06546c6a394aa736f8d14002d3a4437664 SHA512 5f93ed305a4f946fdad821907909176edb71245ae7db39177d59f7fbad9a78acf6eb227b82e2e6fc17614b75ad9f785edb4c6006a2d2283a582b8318a73ed533
+DIST elogind-255.5.tar.gz 2127126 BLAKE2B 395352fc24bc815d1e39c2d5722eb09c2e3378873e2ea4173d8c209cd66c28a9b94ebe62ab3efbd5dccd822d99b86a6c1a871620adefb1215cb6d4ceee78a9f9 SHA512 dd9494062ef18c3c4cddbaf70b394bf90f6da3ce49f85312e99eabde54b2fcdb5cfdde1bcbaa661031afc72853e9b138dae336e1caed72e927bfd61c8cb22895
+EBUILD elogind-252.24.ebuild 4716 BLAKE2B da1493c7625f236636575ef27f2d2b58b0838c66ff665f637d24da3230834e44af87cc3922fcf143e32d009d649849d4342b9ac1a3e59969003017926d706219 SHA512 560e51f62d4e692a70ea33d402f777ab615294ea1ac0b3b27facfcaf4d8921e9498b8960542c4afbf28bd36f38beec5666bd7701d340c8f11aa62fd1033be2e6
+EBUILD elogind-252.9999.ebuild 4374 BLAKE2B c765b18de937d1619959206b6de1dd48bbe39e29509c58a2d6b685c6672c9e345e07deac0ec587eafd1b7dc180be1361fe093ef4dda1cc25a0c6c192223009b8 SHA512 45cdc92bb5565aaa8534a0ccc77acf18089e00727cebcd75d0d7f9b6a709d91a49379bb5b8a179d936cef56a3e03cd079ffa9d8fd27116f1b3473518f1c5bdb5
+EBUILD elogind-255.5.ebuild 5041 BLAKE2B e65198e7cfabfd4a924958ab1e590b03170f2b3d5717337debe3b786f077e0c2a558a490279fe1ea630247db8910ca8330c95ef3e0c5a2ade3ec7466ce335cdf SHA512 df48b5f5ce005df59a40c94d679823925f5778e0ce9835ff1604a334d25f24d44fdcfd2c26cad3cbfcbf5defccf799611538c2e613d3c9a22223914619b69752
+EBUILD elogind-255.9999.ebuild 4726 BLAKE2B 07e013d24bcd5eb419f544e87d16cdd0ba2fe15a7dd3a3cfc76b3b8edc0f8db7410d26b7999d628da1a45fe036cd9a4708185e87475445ef4dc1193c50b031ae SHA512 291f2a58571a06c33f6fd0fd5d6b68f09b2e913e050a1b1bb910ccef3ac302f95132e4dbdb91671c84d8e97a631fff77d143c1dc4d2265c3e8f3557d1f5a578c
+MISC metadata.xml 552 BLAKE2B c801fe77decc4a39a013cabf0a183b00c08fbc5ba109baf484a336d441ee2136a7e0f009e9a31b48efe9cdf0ab088009e1592102f58dcec3393b2133f8712740 SHA512 5987809781334a1bd775e6272634b49386594a21004b868de7e0213277c28eb38f8c7f08e87ec1b630d29a19cfe1f0112b757668066b8e86857165761004aead
diff --git a/sys-auth/elogind/elogind-236.9999.ebuild b/sys-auth/elogind/elogind-236.9999.ebuild
deleted file mode 100644
index 64b7739..0000000
--- a/sys-auth/elogind/elogind-236.9999.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit git-r3 linux-info meson pam udev xdg-utils
-
-DESCRIPTION="The systemd project's logind, extracted to a standalone package"
-HOMEPAGE="https://github.com/elogind/elogind"
-EGIT_REPO_URI="https://github.com/elogind/elogind.git"
-EGIT_BRANCH="v236-stable"
-EGIT_SUBMODULES=()
-
-LICENSE="CC0-1.0 LGPL-2.1+ public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="+acl debug doc +pam +policykit selinux"
-
-COMMON_DEPEND="
- sys-apps/util-linux
- sys-libs/libcap
- virtual/libudev:=
- acl? ( sys-apps/acl )
- pam? ( virtual/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 )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-236.1-docs.patch"
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~CGROUPS ~EPOLL ~INOTIFY_USER ~SIGNALFD ~TIMERFD"
-
- if use kernel_linux; then
- linux-info_pkg_setup
- fi
-}
-
-src_prepare() {
- default
- xdg_environment_reset
-}
-
-src_configure() {
- local rccgroupmode="$(grep rc_cgroup_mode /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="$(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"
- -Dzsh-completion="${EPREFIX}/usr/share/zsh/site-functions"
- -Dman=auto
- -Dsmack=true
- -Dcgroup-controller=openrc
- -Ddefault-hierarchy=${cgroupmode}
- -Ddefault-kill-user-processes=false
- -Dacl=$(usex acl true false)
- -Ddebug=$(usex debug elogind false)
- --buildtype $(usex debug debug release)
- -Dhtml=$(usex doc auto false)
- -Dpam=$(usex pam true false)
- -Dselinux=$(usex selinux true false)
- )
-
- 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
- ewarn "elogind is currently not started from any runlevel."
- ewarn "You may add it to the boot runlevel by:"
- ewarn "# rc-update add elogind boot"
- fi
-}
diff --git a/sys-auth/elogind/elogind-238.9999.ebuild b/sys-auth/elogind/elogind-238.9999.ebuild
deleted file mode 100644
index 0e4edcb..0000000
--- a/sys-auth/elogind/elogind-238.9999.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit git-r3 linux-info meson pam udev xdg-utils
-
-DESCRIPTION="The systemd project's logind, extracted to a standalone package"
-HOMEPAGE="https://github.com/elogind/elogind"
-EGIT_REPO_URI="https://github.com/elogind/elogind.git"
-EGIT_BRANCH="v238-stable"
-EGIT_SUBMODULES=()
-
-LICENSE="CC0-1.0 LGPL-2.1+ public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="+acl debug doc +pam +policykit selinux"
-
-COMMON_DEPEND="
- sys-apps/util-linux
- sys-libs/libcap
- virtual/libudev:=
- acl? ( sys-apps/acl )
- pam? ( virtual/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 )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-238.1-docs.patch"
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~CGROUPS ~EPOLL ~INOTIFY_USER ~SIGNALFD ~TIMERFD"
-
- if use kernel_linux; then
- linux-info_pkg_setup
- fi
-}
-
-src_prepare() {
- default
- xdg_environment_reset
-}
-
-src_configure() {
- local rccgroupmode="$(grep rc_cgroup_mode /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="$(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"
- -Dzsh-completion="${EPREFIX}/usr/share/zsh/site-functions"
- -Dman=auto
- -Dsmack=true
- -Dcgroup-controller=openrc
- -Ddefault-hierarchy=${cgroupmode}
- -Ddefault-kill-user-processes=false
- -Dacl=$(usex acl true false)
- -Ddebug=$(usex debug elogind false)
- --buildtype $(usex debug debug release)
- -Dhtml=$(usex doc auto false)
- -Dpam=$(usex pam true false)
- -Dselinux=$(usex selinux true false)
- )
-
- 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
- ewarn "elogind is currently not started from any runlevel."
- ewarn "You may add it to the boot runlevel by:"
- ewarn "# rc-update add elogind boot"
- fi
-}
diff --git a/sys-auth/elogind/elogind-252.24.ebuild b/sys-auth/elogind/elogind-252.24.ebuild
new file mode 100644
index 0000000..67c2202
--- /dev/null
+++ b/sys-auth/elogind/elogind-252.24.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_BRANCH="v252-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 python-any-r1 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
+ $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
+"
+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 )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-252-docs.patch"
+)
+
+python_check_deps() {
+ python_has_version "dev-python/jinja[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/lxml[${PYTHON_USEDEP}]"
+}
+
+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
+
+ python_setup
+
+ local emesonargs=(
+ $(usex debug "-Ddebug-extra=elogind" "")
+ -Dbuildtype=$(usex debug debug release)
+ -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"
+ -Dzshcompletiondir="${EPREFIX}/usr/share/zsh/site-functions"
+ -Dacl=$(usex acl true false)
+ -Daudit=$(usex audit true false)
+ -Dcgroup-controller=openrc
+ -Ddefault-hierarchy=${cgroupmode}
+ -Ddefault-kill-user-processes=false
+ -Dhtml=$(usex doc auto false)
+ -Dinstall-sysconfdir=true
+ -Dman=auto
+ -Dmode=release
+ -Dpam=$(usex pam true false)
+ -Dselinux=$(usex selinux true false)
+ -Dsmack=true
+ -Dtests=$(usex test true false)
+ -Dutmp=$(usex elibc_musl false true)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ 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() {
+ udev_reload
+ 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
+
+ for version in ${REPLACING_VERSIONS}; do
+ if ver_test "${version}" -lt 252.9; then
+ elog "Starting with release 252.9 the sleep configuration is now done"
+ elog "in the /etc/elogind/sleep.conf. Should you use non-default sleep"
+ elog "configuration remember to migrate those to new configuration file."
+ fi
+ done
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-auth/elogind/elogind-239.9999.ebuild b/sys-auth/elogind/elogind-252.9999.ebuild
index abcb4c3..b088467 100644
--- a/sys-auth/elogind/elogind-239.9999.ebuild
+++ b/sys-auth/elogind/elogind-252.9999.ebuild
@@ -1,39 +1,41 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit flag-o-matic git-r3 linux-info meson pam udev xdg-utils
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit git-r3 linux-info meson pam python-any-r1 udev xdg-utils
DESCRIPTION="The systemd project's logind, extracted to a standalone package"
HOMEPAGE="https://github.com/elogind/elogind"
EGIT_REPO_URI="https://github.com/elogind/elogind.git"
-EGIT_BRANCH="v239-stable"
+EGIT_BRANCH="v252-stable"
EGIT_SUBMODULES=()
LICENSE="CC0-1.0 LGPL-2.1+ public-domain"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="+acl debug doc +pam +policykit selinux"
+IUSE="+acl audit debug doc efi +pam +policykit selinux"
-COMMON_DEPEND="
- sys-apps/util-linux
- sys-libs/libcap
- virtual/libudev:=
- acl? ( sys-apps/acl )
- pam? ( virtual/pam )
- selinux? ( sys-libs/libselinux )
-"
-DEPEND="${COMMON_DEPEND}
+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
- sys-devel/libtool
virtual/pkgconfig
+ $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
+"
+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="${COMMON_DEPEND}
+RDEPEND="${DEPEND}
!sys-apps/systemd
"
PDEPEND="
@@ -42,15 +44,18 @@ PDEPEND="
"
PATCHES=(
- "${FILESDIR}/${PN}-238.1-docs.patch"
+ "${FILESDIR}/${PN}-252-docs.patch"
)
+python_check_deps() {
+ python_has_version "dev-python/jinja[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/lxml[${PYTHON_USEDEP}]"
+}
+
pkg_setup() {
local CONFIG_CHECK="~CGROUPS ~EPOLL ~INOTIFY_USER ~SIGNALFD ~TIMERFD"
- if use kernel_linux; then
- linux-info_pkg_setup
- fi
+ use kernel_linux && linux-info_pkg_setup
}
src_prepare() {
@@ -59,54 +64,39 @@ src_prepare() {
}
src_configure() {
- local rccgroupmode="$(grep rc_cgroup_mode /etc/rc.conf | cut -d '"' -f 2)"
- local cgroupmode="legacy"
- local debugmode=""
-
- if [[ "xhybrid" = "x${rccgroupmode}" ]]; then
- cgroupmode="hybrid"
- elif [[ "xunified" = "x${rccgroupmode}" ]]; then
- cgroupmode="unified"
- fi
-
- if use debug; then
- debugmode="-Ddebug-extra=elogind"
- fi
-
- # Duplicating C[XX]FLAGS in LDFLAGS is deprecated and will become
- # a hard error in future meson versions:
- filter-ldflags $CFLAGS $CXXFLAGS
-
+ # Removed -Ddefault-hierarchy=${cgroupmode}
+ # -> It is completely irrelevant with -Dcgroup-controller=openrc anyway.
local emesonargs=(
+ $(usex debug "-Ddebug-extra=elogind" "")
+ -Dbuildtype=$(usex debug debug release)
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+ -Dacl=$(usex acl true false)
+ -Daudit=$(usex audit true false)
+ -Dbashcompletiondir="${EPREFIX}/usr/share/bash-completion/completions"
+ -Dcgroup-controller=openrc
+ -Ddefault-kill-user-processes=true
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ -Defi=$(usex efi true false)
+ -Dhtml=$(usex doc auto false)
-Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html"
+ -Dinstall-sysconfdir=true
+ -Dman=auto
+ -Dmode=release
+ -Dpam=$(usex pam true false)
-Dpamlibdir=$(getpam_mod_dir)
- -Dudevrulesdir="$(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"
- -Dzshcompletiondir="${EPREFIX}/usr/share/zsh/site-functions"
- -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)
- $debugmode
+ -Dsmack=true
+ -Dudevrulesdir="$(get_udevdir)"/rules.d
+ -Dzshcompletiondir="${EPREFIX}/usr/share/zsh/site-functions"
)
meson_src_configure
}
src_install() {
- DOCS+=( src/libelogind/sd-bus/GVARIANT-SERIALIZATION )
-
meson_src_install
newinitd "${FILESDIR}"/${PN}.init ${PN}
@@ -116,6 +106,17 @@ src_install() {
}
pkg_postinst() {
+ udev_reload
+ 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
@@ -125,8 +126,29 @@ pkg_postinst() {
ewarn "# rc-update del elogind default"
ewarn "# rc-update add elogind boot"
else
- ewarn "elogind is currently not started from any runlevel."
- ewarn "You may add it to the boot runlevel by:"
- ewarn "# rc-update add elogind boot"
+ 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
+
+ for version in ${REPLACING_VERSIONS}; do
+ if ver_test "${version}" -lt 252.9; then
+ elog "Starting with release 252.9 the sleep configuration is now done"
+ elog "in the /etc/elogind/sleep.conf. Should you use non-default sleep"
+ elog "configuration remember to migrate those to new configuration file."
+ fi
+ done
+}
+
+pkg_postrm() {
+ udev_reload
}
diff --git a/sys-auth/elogind/elogind-255.5.ebuild b/sys-auth/elogind/elogind-255.5.ebuild
new file mode 100644
index 0000000..7be9bec
--- /dev/null
+++ b/sys-auth/elogind/elogind-255.5.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_BRANCH="v255-stable"
+ EGIT_REPO_URI="https://github.com/elogind/elogind.git"
+ EGIT_SUBMODULES=()
+ 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 python-any-r1 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 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
+ $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
+"
+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 )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-252-docs.patch"
+)
+
+python_check_deps() {
+ python_has_version "dev-python/jinja[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/lxml[${PYTHON_USEDEP}]"
+}
+
+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() {
+ python_setup
+
+ # Removed -Ddefault-hierarchy=${cgroupmode}
+ # -> It is completely irrelevant with "-Dcgroup-controller=openrc".
+ local emesonargs=(
+ $(usex debug "-Ddebug-extra=elogind" "")
+ -Dbuildtype=$(usex debug debug release)
+ --prefix="${EPREFIX}/usr"
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+ --libexecdir="${EPREFIX}"/$(get_libdir)/elogind
+ --localstatedir="${EPREFIX}"/var
+ --sysconfdir="${EPREFIX}"/etc
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ -Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html"
+ -Ddbuspolicydir="${EPREFIX}"/usr/share/dbus-1/system.d
+ -Ddbussystemservicedir="${EPREFIX}"/usr/share/dbus-1/system-services
+ -Dpamlibdir=$(getpam_mod_dir)
+ -Dudevrulesdir="${EPREFIX}$(get_udevdir)"/rules.d
+ -Dbashcompletiondir="${EPREFIX}/usr/share/bash-completion/completions"
+ -Dzshcompletiondir="${EPREFIX}/usr/share/zsh/site-functions"
+ -Dacl=$(usex acl enabled disabled)
+ -Daudit=$(usex audit enabled disabled)
+ -Dcgroup-controller=openrc
+ -Ddefault-kill-user-processes=true
+ -Defi=false
+ -Dhtml=$(usex doc auto disabled)
+ -Dinstall-sysconfdir=true
+ -Dman=auto
+ -Dmode=release
+ -Dpam=$(usex pam enabled disabled)
+ -Dselinux=$(usex selinux enabled disabled)
+ -Dsmack=true
+ -Dtests=$(usex test true false)
+ -Dutmp=$(usex elibc_musl false true)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ keepdir /var/lib/elogind
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+
+ sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.conf.in > ${PN}.conf || die
+ newconfd ${PN}.conf ${PN}
+}
+
+pkg_postinst() {
+ udev_reload
+ 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"
+ fi
+ 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
+
+ for version in ${REPLACING_VERSIONS}; do
+ if ver_test "${version}" -lt 252.9; then
+ elog "Starting with release 255.4 the sleep configuration is now done"
+ elog "in the /etc/elogind/sleep.conf while the elogind additions have"
+ elog "been moved to /etc/elogind/sleep.conf.d/10-elogind.conf."
+ elog "Should you use non-default sleep configuration remember to migrate"
+ elog "those to a new configuration file in /etc/elogind/sleep.conf.d/."
+ fi
+ done
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-auth/elogind/elogind-255.9999.ebuild b/sys-auth/elogind/elogind-255.9999.ebuild
new file mode 100644
index 0000000..fb88245
--- /dev/null
+++ b/sys-auth/elogind/elogind-255.9999.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit git-r3 linux-info meson pam python-any-r1 udev xdg-utils
+
+DESCRIPTION="The systemd project's logind, extracted to a standalone package"
+HOMEPAGE="https://github.com/elogind/elogind"
+EGIT_REPO_URI="https://github.com/elogind/elogind.git"
+EGIT_BRANCH="v255-stable"
+EGIT_SUBMODULES=()
+
+LICENSE="CC0-1.0 LGPL-2.1+ public-domain"
+SLOT="0"
+IUSE="+acl audit debug doc efi +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
+ virtual/pkgconfig
+ $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
+"
+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 )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-252-docs.patch"
+)
+
+python_check_deps() {
+ python_has_version "dev-python/jinja[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/lxml[${PYTHON_USEDEP}]"
+}
+
+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() {
+ # Removed -Ddefault-hierarchy=${cgroupmode}
+ # -> It is completely irrelevant with -Dcgroup-controller=openrc anyway.
+ local emesonargs=(
+ $(usex debug "-Ddebug-extra=elogind" "")
+ -Dbuildtype=$(usex debug debug release)
+ --prefix="${EPREFIX}/usr"
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+ --libexecdir="${EPREFIX}"/$(get_libdir)/elogind
+ --localstatedir="${EPREFIX}"/var
+ --sysconfdir="${EPREFIX}"/etc
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ -Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html"
+ -Ddbuspolicydir="${EPREFIX}"/usr/share/dbus-1/system.d
+ -Ddbussystemservicedir="${EPREFIX}"/usr/share/dbus-1/system-services
+ -Dpamlibdir=$(getpam_mod_dir)
+ -Dudevrulesdir="${EPREFIX}$(get_udevdir)"/rules.d
+ -Dbashcompletiondir="${EPREFIX}/usr/share/bash-completion/completions"
+ -Dzshcompletiondir="${EPREFIX}/usr/share/zsh/site-functions"
+ -Dacl=$(usex acl enabled disabled)
+ -Daudit=$(usex audit enabled disabled)
+ -Dcgroup-controller=openrc
+ -Ddefault-kill-user-processes=true
+ -Defi=$(usex efi true false)
+ -Dhtml=$(usex doc auto disabled)
+ -Dinstall-sysconfdir=true
+ -Dman=auto
+ -Dmode=release
+ -Dpam=$(usex pam enabled disabled)
+ -Dselinux=$(usex selinux enabled disabled)
+ -Dsmack=true
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ keepdir /var/lib/elogind
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+
+ sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.conf.in > ${PN}.conf || die
+ newconfd ${PN}.conf ${PN}
+}
+
+pkg_postinst() {
+ udev_reload
+ 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
+
+ for version in ${REPLACING_VERSIONS}; do
+ if ver_test "${version}" -lt 255.3; then
+ elog "Starting with release 255.3 the sleep configuration is now done"
+ elog "in the /etc/elogind/sleep.conf while the elogind additions have"
+ elog "been moved to /etc/elogind/sleep.conf.d/10-elogind.conf."
+ elog "Should you use non-default sleep configuration remember to migrate"
+ elog "those to a new configuration file in /etc/elogind/sleep.conf.d/."
+ fi
+ done
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-auth/elogind/files/elogind-236.1-docs.patch b/sys-auth/elogind/files/elogind-236.1-docs.patch
deleted file mode 100644
index 1bde53d..0000000
--- a/sys-auth/elogind/files/elogind-236.1-docs.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/meson.build 2018-06-25 08:07:31.459104859 +0200
-+++ b/meson.build 2018-06-25 08:08:21.854103131 +0200
-@@ -2800,20 +2800,7 @@
- # install_data('modprobe.d/systemd.conf',
- # install_dir : modprobedir)
- #endif // 0
--install_data('README',
-- 'NEWS',
-- 'CODING_STYLE',
--#if 0 /// UNNEEDED by elogind
--# 'DISTRO_PORTING',
--# 'ENVIRONMENT.md',
--#endif // 0
-- 'LICENSE.GPL2',
-- 'LICENSE.LGPL2.1',
-- 'src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
--#if 0 /// UNNEEDED by elogind
--# 'TRANSIENT-SETTINGS.md',
--# 'UIDS-GIDS.md',
--#endif // 0
-+install_data('src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
- install_dir : docdir)
-
- #if 0 /// UNNEEDED by elogind
diff --git a/sys-auth/elogind/files/elogind-241.1-docs.patch b/sys-auth/elogind/files/elogind-241.1-docs.patch
new file mode 100644
index 0000000..2e53c49
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-241.1-docs.patch
@@ -0,0 +1,24 @@
+--- a/meson.build 2019-02-22 19:22:44.395082783 +0100
++++ b/meson.build 2019-02-22 19:22:49.707082657 +0100
+@@ -3311,20 +3311,7 @@
+ # install_data('modprobe.d/systemd.conf',
+ # install_dir : modprobedir)
+ #endif // 0
+-install_data('LICENSE.GPL2',
+- 'LICENSE.LGPL2.1',
+- 'NEWS',
+- 'README',
+- 'docs/CODING_STYLE.md',
+-#if 0 /// irrelevant for elogind
+-# 'docs/DISTRO_PORTING.md',
+-# 'docs/ENVIRONMENT.md',
+-# 'docs/HACKING.md',
+-# 'docs/TRANSIENT-SETTINGS.md',
+-# 'docs/TRANSLATORS.md',
+-# 'docs/UIDS-GIDS.md',
+-#endif // 0
+- 'src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
++install_data('src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
+ install_dir : docdir)
+
+ #if 0 /// UNNEEDED by elogind
diff --git a/sys-auth/elogind/files/elogind-243.6-docs.patch b/sys-auth/elogind/files/elogind-243.6-docs.patch
new file mode 100644
index 0000000..5b28f48
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-243.6-docs.patch
@@ -0,0 +1,28 @@
+--- a/meson.build 2020-02-13 07:53:43.511226758 +0100
++++ b/meson.build 2020-02-13 07:54:43.633227581 +0100
+@@ -3352,24 +3352,7 @@
+ # 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',
+-# 'docs/HACKING.md',
+-# 'docs/TRANSIENT-SETTINGS.md',
+-# 'docs/TRANSLATORS.md',
+-# 'docs/UIDS-GIDS.md',
+-#endif // 0
+- 'src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
++install_data('src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
+ install_dir : docdir)
+
+ #if 0 /// UNNEEDED by elogind
diff --git a/sys-auth/elogind/files/elogind-252-docs.patch b/sys-auth/elogind/files/elogind-252-docs.patch
new file mode 100644
index 0000000..9bea3f5
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-252-docs.patch
@@ -0,0 +1,28 @@
+--- a/meson.build 2022-12-29 18:39:53.824363327 +0100
++++ b/meson.build 2022-12-29 18:40:46.928366118 +0100
+@@ -4524,25 +4524,6 @@
+ # install_dir : xinitrcdir)
+ # endif
+ #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',
+-# 'docs/HACKING.md',
+-# 'docs/TRANSIENT-SETTINGS.md',
+-# 'docs/TRANSLATORS.md',
+-# 'docs/UIDS-GIDS.md',
+-#endif // 0
+- install_dir : docdir)
+-
+ #if 0 /// irrelevant for elogind
+ # install_subdir('LICENSES',
+ # install_dir : docdir)
diff --git a/sys-auth/elogind/files/elogind-252.9-musl-lfs.patch b/sys-auth/elogind/files/elogind-252.9-musl-lfs.patch
new file mode 100644
index 0000000..4faa929
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-252.9-musl-lfs.patch
@@ -0,0 +1,51 @@
+https://github.com/systemd/systemd/pull/27599
+
+From d096e05c625ea825eb4d781216ded717b7f71cca Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 10 May 2023 01:47:13 +0100
+Subject: [PATCH] dirent: conditionalize dirent assert based on dirent64
+ existence
+
+>=musl-1.2.4 doesn't define dirent64 and its LFS friends as its "native"
+functions are already LFS-aware.
+
+Check for dirent64 in meson.build and only assert if it exists.
+
+Bug: https://bugs.gentoo.org/905900
+Closes: https://github.com/systemd/systemd/pull/25809
+--- a/meson.build
++++ b/meson.build
+@@ -599,6 +599,7 @@ decl_headers = '''
+ # define _GNU_SOURCE 1
+ # endif // _GNU_SOURCE
+ #endif // 1
++#include <dirent.h>
+ #include <uchar.h>
+ #include <sys/mount.h>
+ #include <sys/stat.h>
+@@ -608,6 +609,7 @@ foreach decl : ['char16_t',
+ 'char32_t',
+ 'struct mount_attr',
+ 'struct statx',
++ 'struct dirent64',
+ ]
+
+ # We get -1 if the size cannot be determined
+--- a/src/basic/dirent-util.h
++++ b/src/basic/dirent-util.h
+@@ -39,6 +39,7 @@ struct dirent *readdir_no_dot(DIR *dirp);
+ /* Only if 64bit off_t is enabled struct dirent + struct dirent64 are actually the same. We require this, and
+ * we want them to be interchangeable to make getdents64() work, hence verify that. */
+ assert_cc(_FILE_OFFSET_BITS == 64);
++#if HAVE_STRUCT_DIRENT64
+ assert_cc(sizeof(struct dirent) == sizeof(struct dirent64));
+ assert_cc(offsetof(struct dirent, d_ino) == offsetof(struct dirent64, d_ino));
+ assert_cc(sizeof_field(struct dirent, d_ino) == sizeof_field(struct dirent64, d_ino));
+@@ -50,6 +51,7 @@ assert_cc(offsetof(struct dirent, d_type) == offsetof(struct dirent64, d_type));
+ assert_cc(sizeof_field(struct dirent, d_type) == sizeof_field(struct dirent64, d_type));
+ assert_cc(offsetof(struct dirent, d_name) == offsetof(struct dirent64, d_name));
+ assert_cc(sizeof_field(struct dirent, d_name) == sizeof_field(struct dirent64, d_name));
++#endif
+
+ #define FOREACH_DIRENT_IN_BUFFER(de, buf, sz) \
+ for (void *_end = (uint8_t*) ({ (de) = (buf); }) + (sz); \
diff --git a/sys-auth/elogind/files/elogind.init b/sys-auth/elogind/files/elogind.init
index 019c3af..dfadd21 100644
--- a/sys-auth/elogind/files/elogind.init
+++ b/sys-auth/elogind/files/elogind.init
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
depend() {
@@ -7,6 +7,8 @@ depend() {
# Make sure elogind is up before xdm starts any dm
before xdm
+
+ use logger
}
start() {
@@ -19,7 +21,18 @@ start() {
}
stop() {
- ebegin "Stopping elogind"
- start-stop-daemon --stop --quiet --pidfile "${ELOGIND_PIDFILE}"
+ local stop_timeout="SIGTERM/10/SIGKILL/3"
+
+ if [ ${RC_CMD} = "restart" ] ; then
+ ebegin "Interrupting elogind"
+ stop_timeout="SIGINT/10/SIGINT/5/${stop_timeout}"
+ else
+ ebegin "Stopping elogind"
+ fi
+
+ start-stop-daemon --stop --quiet \
+ --retry ${stop_timeout} \
+ --pidfile "${ELOGIND_PIDFILE}"
+
eend $?
}
diff --git a/sys-auth/elogind/metadata.xml b/sys-auth/elogind/metadata.xml
index b8aea3f..55a91b9 100644
--- a/sys-auth/elogind/metadata.xml
+++ b/sys-auth/elogind/metadata.xml
@@ -1,8 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>freedesktop-bugs@gentoo.org</email>
- </maintainer>
- <use />
+ <maintainer type="project">
+ <email>freedesktop-bugs@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="cgroup-hybrid">Use hybrid cgroup hierarchy (OpenRC's default) instead of unified.</flag>
+ <flag name="efi" restrict="&gt;sys-auth/elogind-243.0">
+ Support rebooting into EFI firmware
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">elogind/elogind</remote-id>
+ </upstream>
</pkgmetadata>