diff options
Diffstat (limited to 'sys-auth/elogind')
-rw-r--r-- | sys-auth/elogind/Manifest | 14 | ||||
-rw-r--r-- | sys-auth/elogind/elogind-236.9999.ebuild | 123 | ||||
-rw-r--r-- | sys-auth/elogind/elogind-238.9999.ebuild | 123 | ||||
-rw-r--r-- | sys-auth/elogind/elogind-252.24.ebuild | 171 | ||||
-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.ebuild | 172 | ||||
-rw-r--r-- | sys-auth/elogind/elogind-255.9999.ebuild | 160 | ||||
-rw-r--r-- | sys-auth/elogind/files/elogind-236.1-docs.patch | 24 | ||||
-rw-r--r-- | sys-auth/elogind/files/elogind-241.1-docs.patch | 24 | ||||
-rw-r--r-- | sys-auth/elogind/files/elogind-243.6-docs.patch | 28 | ||||
-rw-r--r-- | sys-auth/elogind/files/elogind-252-docs.patch | 28 | ||||
-rw-r--r-- | sys-auth/elogind/files/elogind-252.9-musl-lfs.patch | 51 | ||||
-rw-r--r-- | sys-auth/elogind/files/elogind.init | 19 | ||||
-rw-r--r-- | sys-auth/elogind/metadata.xml | 16 |
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=">sys-auth/elogind-243.0"> + Support rebooting into EFI firmware + </flag> + </use> + <upstream> + <remote-id type="github">elogind/elogind</remote-id> + </upstream> </pkgmetadata> |