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: Fri, 19 Jan 2018 10:40:44 +0000 (UTC)	[thread overview]
Message-ID: <1516358413.8d52408198b8a5b11e319801f7b947b17801178c.asturm@gentoo> (raw)

commit:     8d52408198b8a5b11e319801f7b947b17801178c
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 19 10:38:29 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Jan 19 10:40:13 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d524081

sys-auth/elogind: Fix boot w/ legacy-cgroupmode

Closes: https://bugs.gentoo.org/644834
Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sys-auth/elogind/elogind-235.2-r1.ebuild           | 128 +++++++++++++++++++++
 .../files/elogind-235.2-legacy-cgroupmode.patch    |  56 +++++++++
 2 files changed, 184 insertions(+)

diff --git a/sys-auth/elogind/elogind-235.2-r1.ebuild b/sys-auth/elogind/elogind-235.2-r1.ebuild
new file mode 100644
index 00000000000..eb33bb294c4
--- /dev/null
+++ b/sys-auth/elogind/elogind-235.2-r1.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit linux-info meson pam udev xdg-utils
+
+DESCRIPTION="The systemd project's logind, extracted to a standalone package"
+HOMEPAGE="https://github.com/elogind/elogind"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+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}-235.1-docs.patch"
+	"${FILESDIR}/${P}-legacy-cgroupmode.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 emesonargs cgroupmode rccgroupmode
+
+	rccgroupmode="$(grep rc_cgroup_mode /etc/rc.conf | cut -d '"' -f 2)"
+	cgroupmode="legacy"
+
+	if [[ "xhybrid" = "x${rccgroupmode}" ]] ; then
+		cgroupmode="hybrid"
+	elif [[ "xunified" = "x${rccgroupmode}" ]] ; then
+		cgroupmode="unified"
+	fi
+
+	emesonargs=(
+		-Ddocdir="${EPREFIX}/usr/share/doc/${P}" \
+		-Dhtmldir="${EPREFIX}/usr/share/doc/${P}/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}/" \
+		-Dsmack=true \
+		-Dman=auto \
+		-Dhtml=$(usex doc auto false) \
+		-Dcgroup-controller=openrc \
+		-Ddefault-hierarchy=${cgroupmode} \
+		-Ddebug=$(usex debug elogind false) \
+		--buildtype $(usex debug debug release) \
+		-Dacl=$(usex acl true false) \
+		-Dpam=$(usex pam true false) \
+		-Dselinux=$(usex selinux true false) \
+		-Dbashcompletiondir="${EPREFIX}/usr/share/bash-completion/completions" \
+		-Dzsh-completion="${EPREFIX}/usr/share/zsh/site-functions"
+	)
+	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() {
+	if [ "$(rc-config list boot | grep elogind)" != "" ]; then
+		ewarn "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
+	ewarn "Alternatively you can leave elogind out of any"
+	ewarn "runlevel. It will then be started automatically"
+	if use pam; then
+		ewarn "when the first service calls it via dbus, or the"
+		ewarn "first user logs into the system."
+	else
+		ewarn "when the first service calls it via dbus."
+	fi
+}

diff --git a/sys-auth/elogind/files/elogind-235.2-legacy-cgroupmode.patch b/sys-auth/elogind/files/elogind-235.2-legacy-cgroupmode.patch
new file mode 100644
index 00000000000..eb86e930f6f
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-235.2-legacy-cgroupmode.patch
@@ -0,0 +1,56 @@
+From 003ece760231aba0c661e2390dfd11075d72a8da Mon Sep 17 00:00:00 2001
+From: Sven Eden <yamakuzure@gmx.net>
+Date: Thu, 18 Jan 2018 23:01:12 +0100
+Subject: [PATCH] Prep v235.3 : Fix cgroup hierarchy detection code
+
+There is no sub-grouping with elogind, so /sys/fs/cgroup/elogind is
+not needed to be mounted as cgroup fs in legacy mode.
+
+Fixes Bug https://bugs.gentoo.org/644834
+---
+ src/basic/cgroup-util.c | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
+index 7f86c532c..cb60108ef 100644
+--- a/src/basic/cgroup-util.c
++++ b/src/basic/cgroup-util.c
+@@ -2550,28 +2550,31 @@ static int cg_unified_update(void) {
+ 
+         if (F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC))
+                 unified_cache = CGROUP_UNIFIED_ALL;
++#if 0 /// The handling of cgroups is a bit different with elogind
+         else if (F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC)) {
++#else
++        else if (F_TYPE_EQUAL(fs.f_type, CGROUP_SUPER_MAGIC)
++              || F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC)) {
++#endif // 0
+                 if (statfs("/sys/fs/cgroup/unified/", &fs) == 0 &&
+                     F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) {
+                         unified_cache = CGROUP_UNIFIED_SYSTEMD;
+                         unified_systemd_v232 = false;
+ #if 0 /// elogind uses its own name
+                 } else if (statfs("/sys/fs/cgroup/systemd/", &fs) == 0 &&
+-                           F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) {
+-                        unified_cache = CGROUP_UNIFIED_SYSTEMD;
+-                        unified_systemd_v232 = true;
+-                } else {
+-                        if (statfs("/sys/fs/cgroup/systemd/", &fs) < 0)
+-                                return -errno;
+ #else
+                 } else if (statfs("/sys/fs/cgroup/elogind/", &fs) == 0 &&
++#endif // 0
+                            F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) {
+                         unified_cache = CGROUP_UNIFIED_SYSTEMD;
+                         unified_systemd_v232 = true;
+                 } else {
+-#endif // 0
++#if 0 /// There is no sub-grouping within elogind
++                        if (statfs("/sys/fs/cgroup/systemd/", &fs) < 0)
++                                return -errno;
+                         if (!F_TYPE_EQUAL(fs.f_type, CGROUP_SUPER_MAGIC))
+                                 return -ENOMEDIUM;
++#endif // 0
+                         unified_cache = CGROUP_UNIFIED_NONE;
+                 }
+         } else


             reply	other threads:[~2018-01-19 10:40 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-19 10:40 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-02  8:18 [gentoo-commits] repo/gentoo:master commit in: sys-auth/elogind/, sys-auth/elogind/files/ Andreas Sturmlechner
2021-05-29 21:19 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-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=1516358413.8d52408198b8a5b11e319801f7b947b17801178c.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