* [gentoo-commits] repo/gentoo:master commit in: mate-base/mate-session-manager/files/, mate-base/mate-session-manager/
@ 2019-03-19 9:17 Mikle Kolyada
0 siblings, 0 replies; 2+ messages in thread
From: Mikle Kolyada @ 2019-03-19 9:17 UTC (permalink / raw
To: gentoo-commits
commit: 8dfe0d5537c0a504a3ff6e7af84c6bf20d51a5f6
Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 19 09:16:40 2019 +0000
Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Tue Mar 19 09:17:27 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8dfe0d55
mate-base/mate-session-manager: fix regression on non-systemd profiles
Closes: https://bugs.gentoo.org/680832
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11
...ion-manager-1.22.0-fix-systemd-regression.patch | 65 ++++++++++++++++++++++
.../mate-session-manager-1.22.0.ebuild | 2 +
2 files changed, 67 insertions(+)
diff --git a/mate-base/mate-session-manager/files/mate-session-manager-1.22.0-fix-systemd-regression.patch b/mate-base/mate-session-manager/files/mate-session-manager-1.22.0-fix-systemd-regression.patch
new file mode 100644
index 00000000000..eccfe5b5b18
--- /dev/null
+++ b/mate-base/mate-session-manager/files/mate-session-manager-1.22.0-fix-systemd-regression.patch
@@ -0,0 +1,65 @@
+From 7f0a938467e4e3d57c68af1caa146a664458a911 Mon Sep 17 00:00:00 2001
+From: Victor Kareh <vkareh@redhat.com>
+Date: Wed, 6 Mar 2019 09:20:36 -0500
+Subject: [PATCH] Guard against missing systemd
+
+---
+ mate-session/gsm-systemd.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/mate-session/gsm-systemd.c b/mate-session/gsm-systemd.c
+index da3f23b..d03cafd 100644
+--- a/mate-session/gsm-systemd.c
++++ b/mate-session/gsm-systemd.c
+@@ -429,16 +429,31 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager)
+ gboolean is_last_session;
+ int ret, i;
+
++#ifdef HAVE_SYSTEMD
+ ret = sd_pid_get_session (getpid (), &session);
++#endif
++
++ if (session == NULL) {
++ return FALSE;
++ }
+
+ if (ret != 0) {
++ free (session);
+ return FALSE;
+ }
+
++#ifdef HAVE_SYSTEMD
+ ret = sd_uid_get_sessions (getuid (), FALSE, &sessions);
++#endif
++
++ if (sessions == NULL) {
++ free (session);
++ return FALSE;
++ }
+
+ if (ret <= 0) {
+ free (session);
++ free (sessions);
+ return FALSE;
+ }
+
+@@ -450,7 +465,9 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager)
+ if (g_strcmp0 (sessions[i], session) == 0)
+ continue;
+
++#ifdef HAVE_SYSTEMD
+ ret = sd_session_get_state (sessions[i], &state);
++#endif
+
+ if (ret != 0)
+ continue;
+@@ -461,7 +478,9 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager)
+ }
+ free (state);
+
++#ifdef HAVE_SYSTEMD
+ ret = sd_session_get_type (sessions[i], &type);
++#endif
+
+ if (ret != 0)
+ continue;
diff --git a/mate-base/mate-session-manager/mate-session-manager-1.22.0.ebuild b/mate-base/mate-session-manager/mate-session-manager-1.22.0.ebuild
index ed715c00309..9b948b23038 100644
--- a/mate-base/mate-session-manager/mate-session-manager-1.22.0.ebuild
+++ b/mate-base/mate-session-manager/mate-session-manager-1.22.0.ebuild
@@ -17,6 +17,8 @@ SLOT="0"
IUSE="debug elibc_FreeBSD gnome-keyring ipv6 systemd +xtrans"
+PATCHES=( "${FILESDIR}"/${P}-fix-systemd-regression.patch )
+
# x11-misc/xdg-user-dirs{,-gtk} are needed to create the various XDG_*_DIRs, and
# create .config/user-dirs.dirs which is read by glib to get G_USER_DIRECTORY_*
# xdg-user-dirs-update is run during login (see 10-user-dirs-update-gnome below).
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: mate-base/mate-session-manager/files/, mate-base/mate-session-manager/
@ 2019-03-31 10:47 Andreas Sturmlechner
0 siblings, 0 replies; 2+ messages in thread
From: Andreas Sturmlechner @ 2019-03-31 10:47 UTC (permalink / raw
To: gentoo-commits
commit: 5bd270f4a595255b62e34e17375c50d5ef82f15f
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 30 22:32:54 2019 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Mar 31 10:39:36 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bd270f4
mate-base/mate-session-manager: Add USE elogind
Bug: https://bugs.gentoo.org/633336
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../mate-session-manager-1.22.0-elogind.patch | 84 ++++++++++++++++++++++
.../mate-session-manager-1.22.0.ebuild | 16 +++--
2 files changed, 96 insertions(+), 4 deletions(-)
diff --git a/mate-base/mate-session-manager/files/mate-session-manager-1.22.0-elogind.patch b/mate-base/mate-session-manager/files/mate-session-manager-1.22.0-elogind.patch
new file mode 100644
index 00000000000..ebe68a0b354
--- /dev/null
+++ b/mate-base/mate-session-manager/files/mate-session-manager-1.22.0-elogind.patch
@@ -0,0 +1,84 @@
+From e6f62cd82d2717cb26951629e3f071814694fd07 Mon Sep 17 00:00:00 2001
+From: Victor Kareh <vkareh@redhat.com>
+Date: Fri, 8 Mar 2019 13:37:01 -0500
+Subject: [PATCH] Add ELOGIND support
+
+Reuses HAVE_SYSTEMD #define to reduce #ifdef mess.
+
+ELOGIND is not officially supported, but since it's
+a subset of systemd, it should work out of the box.
+
+Co-authored-by: Joakim Tjernlund <joakim.tjernlund@infinera.com>
+Co-authored-by: Jorge Pizarro Callejas <jpizarrocallejas@gmail.com>
+---
+ configure.ac | 29 +++++++++++++++++++++++++++++
+ mate-session/Makefile.am | 2 ++
+ 2 files changed, 31 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 207ad97..1390ba0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -109,6 +109,34 @@ fi
+ AM_CONDITIONAL(HAVE_SYSTEMD, test "x$use_systemd" = "xyes")
+ AC_SUBST(HAVE_SYSTEMD)
+
++dnl ====================================================================
++dnl Check for elogind
++dnl
++dnl elogind is not officially supported, but since it's a subset of
++dnl systemd, it should work out of the box
++dnl ====================================================================
++
++AC_ARG_WITH(elogind,
++ AS_HELP_STRING([--with-elogind],
++ [Use libelogind instead of libsystemd-login]),,
++ with_elogind=auto)
++
++use_elogind=no
++if test "x$with_elogind" != "xno"; then
++ PKG_CHECK_MODULES(LIBELOGIND,[libelogind], [use_elogind=yes],
++ [PKG_CHECK_MODULES([LIBELOGIND], [libelogind],
++ [use_elogind=yes], [use_elogind=no])])
++
++ if test "x$use_elogind" = "xyes"; then
++ AC_DEFINE([HAVE_ELOGIND], 1, [elogind support])
++ AC_DEFINE([HAVE_SYSTEMD], 1, [Define to 1 to reduce ifdefs since elogind is a drop-in replacement for systemd])
++ AC_SUBST(LIBELOGIND_CFLAGS)
++ AC_SUBST(LIBELOGIND_LIBS)
++ fi
++fi
++AM_CONDITIONAL(HAVE_ELOGIND, [test "x$use_elogind" = "xyes"])
++AC_SUBST(HAVE_ELOGIND)
++
+ dnl ====================================================================
+ dnl Check for XSync extension
+ dnl ====================================================================
+@@ -333,6 +361,7 @@ echo "
+
+ Default WM: ${with_default_wm}
+ Systemd support: ${use_systemd}
++ Elogind support: ${use_elogind}
+ IPv6 support: ${have_full_ipv6}
+ Backtrace support: ${have_backtrace}
+ XRender support: ${have_xrender}
+diff --git a/mate-session/Makefile.am b/mate-session/Makefile.am
+index 093c908..ea0dc95 100644
+--- a/mate-session/Makefile.am
++++ b/mate-session/Makefile.am
+@@ -7,6 +7,7 @@ noinst_PROGRAMS = \
+ AM_CPPFLAGS = \
+ $(MATE_SESSION_CFLAGS) \
+ $(SYSTEMD_CFLAGS) \
++ $(LIBELOGIND_CFLAGS) \
+ $(DISABLE_DEPRECATED_CFLAGS)
+
+ AM_CFLAGS = $(WARN_CFLAGS)
+@@ -80,6 +81,7 @@ mate_session_LDADD = \
+ $(XEXT_LIBS) \
+ $(MATE_SESSION_LIBS) \
+ $(SYSTEMD_LIBS) \
++ $(LIBELOGIND_LIBS) \
+ $(EXECINFO_LIBS)
+
+ libgsmutil_la_SOURCES = \
diff --git a/mate-base/mate-session-manager/mate-session-manager-1.22.0.ebuild b/mate-base/mate-session-manager/mate-session-manager-1.22.0.ebuild
index 9b948b23038..47d803f592f 100644
--- a/mate-base/mate-session-manager/mate-session-manager-1.22.0.ebuild
+++ b/mate-base/mate-session-manager/mate-session-manager-1.22.0.ebuild
@@ -14,10 +14,9 @@ HOMEPAGE="http://mate-desktop.org/"
LICENSE="GPL-2 LGPL-2 FDL-1.1"
SLOT="0"
+IUSE="debug elibc_FreeBSD elogind gnome-keyring ipv6 systemd +xtrans"
-IUSE="debug elibc_FreeBSD gnome-keyring ipv6 systemd +xtrans"
-
-PATCHES=( "${FILESDIR}"/${P}-fix-systemd-regression.patch )
+REQUIRED_USE="?? ( elogind systemd )"
# x11-misc/xdg-user-dirs{,-gtk} are needed to create the various XDG_*_DIRs, and
# create .config/user-dirs.dirs which is read by glib to get G_USER_DIRECTORY_*
@@ -40,7 +39,10 @@ COMMON_DEPEND=">=dev-libs/dbus-glib-0.76
virtual/libintl
elibc_FreeBSD? ( || ( dev-libs/libexecinfo >=sys-freebsd/freebsd-lib-10.0 ) )
systemd? ( sys-apps/systemd )
- !systemd? ( >=sys-auth/consolekit-0.9.2 )
+ !systemd? (
+ elogind? ( sys-auth/elogind )
+ !elogind? ( >=sys-auth/consolekit-0.9.2 )
+ )
xtrans? ( x11-libs/xtrans )"
RDEPEND="${COMMON_DEPEND}
@@ -56,11 +58,17 @@ DEPEND="${COMMON_DEPEND}
virtual/pkgconfig:*
!<gnome-base/gdm-2.20.4"
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-systemd-regression.patch
+ "${FILESDIR}"/${P}-elogind.patch
+)
+
MATE_FORCE_AUTORECONF=true
src_configure() {
mate_src_configure \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ $(use_with elogind) \
$(use_with systemd) \
$(use_with xtrans) \
$(use_enable debug) \
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-03-31 10:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-19 9:17 [gentoo-commits] repo/gentoo:master commit in: mate-base/mate-session-manager/files/, mate-base/mate-session-manager/ Mikle Kolyada
-- strict thread matches above, loose matches on Subject: below --
2019-03-31 10:47 Andreas Sturmlechner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox