public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-auth/elogind/, sys-auth/elogind/files/
Date: Mon,  2 Sep 2024 08:18:41 +0000 (UTC)	[thread overview]
Message-ID: <1725265095.d0069007c82dc3b2d504870e4c843e39d27f7439.asturm@gentoo> (raw)

commit:     d0069007c82dc3b2d504870e4c843e39d27f7439
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  1 21:30:00 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Sep  2 08:18:15 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0069007

sys-auth/elogind: add 255.5, python3_13, EAPI-8

Thanks-to: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Thanks-to: Mike Gilbert <floppym <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/36968
Closes: https://bugs.gentoo.org/938921
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 sys-auth/elogind/Manifest             |   1 +
 sys-auth/elogind/elogind-255.5.ebuild | 182 ++++++++++++++++++++++++++++++++++
 sys-auth/elogind/files/elogind.conf   |   7 ++
 3 files changed, 190 insertions(+)

diff --git a/sys-auth/elogind/Manifest b/sys-auth/elogind/Manifest
index 3ce9fb1e8ab7..abf5d5d7e98b 100644
--- a/sys-auth/elogind/Manifest
+++ b/sys-auth/elogind/Manifest
@@ -1,2 +1,3 @@
 DIST elogind-246.10.tar.gz 1559256 BLAKE2B 17a8146ee08c8ccf167f25d89b1d4525050ed0b0baaad0d36924ad3c40ffc820ef1528b33557cf285ad06c9ac9c440137428c5a235a2acf563e56f2f8f07e208 SHA512 9db0f068ed94ec07bab4d764ccb38840af3d05a4b7c9c539721906f5381b509cb9a3cbfb0453a978210d306136368de6162578c600d522416ef2a7ac1b9f348b
 DIST elogind-252.9.tar.gz 1922777 BLAKE2B dd566125e407b3479a44b007890f97c9c87a325b3fed2d3505499d2163f113affd998e14b1c1fc50b9b86b0d155b51dae344dcc1cddafb6a48c631d0a0f00c9a SHA512 eed620cbc2f03bfeae6a80c9a421c21d3293fa40adffb96c7e4d86508c06712041f6623fb2bac15ecbb85faca4b5674ea6423b3067840809fb27d023fd9e5ffd
+DIST elogind-255.5.tar.gz 2127126 BLAKE2B 395352fc24bc815d1e39c2d5722eb09c2e3378873e2ea4173d8c209cd66c28a9b94ebe62ab3efbd5dccd822d99b86a6c1a871620adefb1215cb6d4ceee78a9f9 SHA512 dd9494062ef18c3c4cddbaf70b394bf90f6da3ce49f85312e99eabde54b2fcdb5cfdde1bcbaa661031afc72853e9b138dae336e1caed72e927bfd61c8cb22895

diff --git a/sys-auth/elogind/elogind-255.5.ebuild b/sys-auth/elogind/elogind-255.5.ebuild
new file mode 100644
index 000000000000..9f84db5dc3fd
--- /dev/null
+++ b/sys-auth/elogind/elogind-255.5.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+if [[ ${PV} = *9999* ]]; then
+	EGIT_BRANCH="v255-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.9-nodocs.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() {
+	if use elibc_musl; then
+		# Some of musl-specific patches break build on the
+		# glibc systems (like getdents), therefore those are
+		# only used when the build is done for musl.
+		PATCHES+=(
+			"${FILESDIR}/${P}-musl-sigfillset.patch"
+			"${FILESDIR}/${P}-musl-statx.patch"
+			"${FILESDIR}/${P}-musl-rlim-max.patch"
+			"${FILESDIR}/${P}-musl-getdents.patch"
+			"${FILESDIR}/${P}-musl-gshadow.patch"
+			"${FILESDIR}/${P}-musl-strerror_r.patch"
+			"${FILESDIR}/${P}-musl-more-strerror_r.patch"
+		)
+	fi
+
+	default
+	xdg_environment_reset
+}
+
+src_configure() {
+	if use cgroup-hybrid; then
+		cgroupmode="hybrid"
+	else
+		cgroupmode="unified"
+	fi
+
+	python_setup
+
+	EMESON_BUILDTYPE="$(usex debug debug release)"
+
+	local emesonargs=(
+		-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+		-Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html"
+		-Dudevrulesdir="${EPREFIX}$(get_udevdir)"/rules.d
+		--libexecdir="lib/elogind"
+		--localstatedir="${EPREFIX}"/var
+		-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 enabled disabled)
+		-Daudit=$(usex audit enabled disabled)
+		-Dhtml=$(usex doc auto disabled)
+		-Dpam=$(usex pam enabled disabled)
+		-Dpamlibdir="$(getpam_mod_dir)"
+		-Dselinux=$(usex selinux enabled disabled)
+		-Dtests=$(usex test true false)
+		-Dutmp=$(usex elibc_musl false true)
+		-Dmode=release
+	)
+
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+	keepdir /var/lib/elogind
+
+	newinitd "${FILESDIR}"/${PN}.init-r1 ${PN}
+
+	newconfd "${FILESDIR}"/${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/files/elogind.conf b/sys-auth/elogind/files/elogind.conf
new file mode 100644
index 000000000000..167260a42aa5
--- /dev/null
+++ b/sys-auth/elogind/files/elogind.conf
@@ -0,0 +1,7 @@
+# /etc/conf.d/elogind: config file for /etc/init.d/elogind
+
+# this is the elogind executable
+ELOGIND_EXEC="/usr/lib/elogind/elogind"
+
+# this is where elogind will store its pid file
+ELOGIND_PIDFILE="/run/elogind.pid"


             reply	other threads:[~2024-09-02  8:18 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-02  8:18 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-05-29 21:19 [gentoo-commits] repo/gentoo:master commit in: sys-auth/elogind/, sys-auth/elogind/files/ Andreas Sturmlechner
2020-05-26 14:53 Andreas Sturmlechner
2020-03-12 22:15 Andreas Sturmlechner
2019-12-08 12:04 Andreas Sturmlechner
2019-06-20 10:37 Andreas Sturmlechner
2019-03-16  5:26 Michael Palimaka
2019-02-14 23:56 Andreas Sturmlechner
2018-10-07 12:48 Andreas Sturmlechner
2018-08-10 11:52 Michael Palimaka
2018-06-30 20:47 Andreas Sturmlechner
2018-04-29 19:25 Andreas Sturmlechner
2018-01-31 14:17 Andreas Sturmlechner
2018-01-19 10:40 Andreas Sturmlechner
2018-01-14 23:05 Andreas Sturmlechner
2017-12-04  1:02 Andreas Sturmlechner
2017-11-20  0:45 Andreas Sturmlechner
2017-09-24  9:48 Michael Palimaka
2017-05-31 20:11 Andreas Sturmlechner
2017-05-31 20:11 Andreas Sturmlechner
2017-02-11 11:29 Andreas Sturmlechner
2017-01-14 19:26 Andreas Sturmlechner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1725265095.d0069007c82dc3b2d504870e4c843e39d27f7439.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox