From patchwork Sat Nov 20 04:19:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 34672 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B477B27BBE3; Sat, 20 Nov 2021 04:20:13 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,T_DKIM_INVALID, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 2618127BBE1 for ; Sat, 20 Nov 2021 04:20:13 +0000 (GMT) Received: from localhost ([::1]:58712 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1moHrI-00077p-AC for patchwork@mira.cbaines.net; Fri, 19 Nov 2021 23:20:12 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56238) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1moHr8-00075Q-4v for guix-patches@gnu.org; Fri, 19 Nov 2021 23:20:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:57833) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1moHr7-00017j-S3 for guix-patches@gnu.org; Fri, 19 Nov 2021 23:20:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1moHr7-0007QJ-MK for guix-patches@gnu.org; Fri, 19 Nov 2021 23:20:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#51992] [PATCH core-updates-frozen] gnu: gnome-session: Restore elogind support. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 20 Nov 2021 04:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 51992 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 51992@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.163738199028509 (code B ref -1); Sat, 20 Nov 2021 04:20:01 +0000 Received: (at submit) by debbugs.gnu.org; 20 Nov 2021 04:19:50 +0000 Received: from localhost ([127.0.0.1]:41146 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moHqw-0007Pk-BP for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:19:50 -0500 Received: from lists.gnu.org ([209.51.188.17]:60154) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moHqt-0007Pa-MY for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:19:48 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56184) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1moHqt-0006x3-FN for guix-patches@gnu.org; Fri, 19 Nov 2021 23:19:47 -0500 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:36965) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1moHqr-000150-9a for guix-patches@gnu.org; Fri, 19 Nov 2021 23:19:47 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 8F0463200E89 for ; Fri, 19 Nov 2021 23:19:41 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Fri, 19 Nov 2021 23:19:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=pOGykleZeE1r2mQHw+RF2gfLzngOP gZ07sH54JK8oWQ=; b=Co2axd33QXUw0MDUUyKvv+dHJFCdM1Mw6ajLiWbxu4D+l SNZmxTDmmfP7VDZnw8ryO7LoWBAwCo4W3WxtMiXR97wZocZzb0QyY4M8ECyVnUJr CGxVdm2OsQHlnsoq5OwKBqcg+A5D7rZiQ46Fph6iA/3tc9NvUpa380HuRXxX5M6o GAKK9dSKrbbdgwUZTqT0E/Fzbd+8+d5vLP0Ro/NyHsWU5755sSvTAj7kcnGNvorK O2KO7p21pGliXGsocm61D4Jg4zHSjN+gs7IZhHMXQhuYjNINbukIfy9wuxch56Ga xSJbAPTtN8mO2oL0FD4XS1VhHWzw73a/LceWmz6GA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrfeelgdeigecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkfgfgggtsehmtderredtre ejnecuhfhrohhmpefvihhmohhthhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghih rhhordgtohhmqeenucggtffrrghtthgvrhhnpedvleelvdeiffffudefhfffhfekkefggf eftddugefhudegtdeklefggeffledvtdenucevlhhushhtvghrufhiiigvpedtnecurfgr rhgrmhepmhgrihhlfhhrohhmpehsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Fri, 19 Nov 2021 23:19:40 -0500 (EST) From: Timothy Sample Date: Fri, 19 Nov 2021 23:19:40 -0500 Message-ID: <87wnl3e9wj.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Received-SPF: pass client-ip=64.147.123.20; envelope-from=samplet@ngyro.com; helo=wout4-smtp.messagingengine.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hi all, Here’s a fix for another breakdown in communication between GNOME and elogind. With this patch, I can power down my machine from GDM. The gnome-session patch comes from Gentoo. On one hand, it’s not perfect. It sets the “HAVE_SYSTEMD” flag, causing gnome-session to try and talk to systemd for things that have nothing to do with logind. On the other hand, this isn’t a regression for us. It’s essentially how we did it before (if you run GDM or GNOME, check your logs: gnome-session is complaining about systemd). From 443a14f9c3eb400a5093dad2758bd0f3cc68e457 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Fri, 19 Nov 2021 20:29:57 -0500 Subject: [PATCH] gnu: gnome-session: Restore elogind support. * gnu/packages/patches/gnome-session-support-elogind.patch: New file. * gnu/local.mk: Add it. * gnu/packages/gnome.scm (gnome-session)[source]: Use it. [arguments]: Add "-Delogind=true" to #:configure-flags; remove phases that patch in old-style elogind support. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 14 +--- .../gnome-session-support-elogind.patch | 73 +++++++++++++++++++ 3 files changed, 76 insertions(+), 12 deletions(-) create mode 100644 gnu/packages/patches/gnome-session-support-elogind.patch diff --git a/gnu/local.mk b/gnu/local.mk index 54b23c06d9..3e28015f65 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1166,6 +1166,7 @@ dist_patch_DATA = \ %D%/packages/patches/gnome-online-miners-tracker-3.patch \ %D%/packages/patches/gnome-screenshot-meson-0.60.patch \ %D%/packages/patches/gnome-shell-disable-test.patch \ + %D%/packages/patches/gnome-session-support-elogind.patch \ %D%/packages/patches/gnome-settings-daemon-gc.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ %D%/packages/patches/gnupg-default-pinentry.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0beadc003b..2a3e09b7c4 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7253,6 +7253,7 @@ (define-public gnome-session (uri (string-append "mirror://gnome/sources/" name "/" (version-major version) "/" name "-" version ".tar.xz")) + (patches (search-patches "gnome-session-support-elogind.patch")) (sha256 (base32 "02z0xr6sv9ibl7awbw9j4y05hf4jk1zgvsbbmh7n27hhjvsvc8pl")))) @@ -7261,18 +7262,6 @@ (define-public gnome-session #:glib-or-gtk? #t #:phases (modify-phases %standard-phases - (add-before 'configure 'pre-configure - (lambda* (#:key outputs #:allow-other-keys) - ;; Use elogind instead of systemd. - (substitute* "meson.build" - (("libsystemd-login") "libelogind") - (("and libsystemd_daemon_dep.found.*") ",")) - (substitute* "gnome-session/gsm-systemd.c" - (("#include ") - "#include ")) - ;; Remove uses of the systemd daemon. - (substitute* "gnome-session/gsm-autostart-app.c" - (("#ifdef HAVE_SYSTEMD") "#if 0")))) (add-after 'install 'wrap-gnome-session (lambda* (#:key inputs outputs #:allow-other-keys) ;; Make sure 'gnome-session' finds the 'gsettings' program. @@ -7284,6 +7273,7 @@ (define-public gnome-session #:configure-flags '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error "-Dman=false" ; FIXME: disabled because of docbook validation error + "-Delogind=true" "-Dsystemd=false" "-Dsystemd_session=disable" "-Dsystemd_journal=false"))) diff --git a/gnu/packages/patches/gnome-session-support-elogind.patch b/gnu/packages/patches/gnome-session-support-elogind.patch new file mode 100644 index 0000000000..b52b4c6855 --- /dev/null +++ b/gnu/packages/patches/gnome-session-support-elogind.patch @@ -0,0 +1,73 @@ +This patch, borrowed from Gentoo, allows configuring gnome-sesssion with +elogind support. + +https://gitweb.gentoo.org/repo/gentoo.git/plain/gnome-base/gnome-session/files/gnome-session-3.38.0-meson-Support-elogind.patch?id=5f7fe88af5f888aff58fa0c069c3fe07973c7cd2 + +From 4454f2a63394b69fba2c900151165ad8b5742f31 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Sun, 15 Mar 2020 14:34:39 +0200 +Subject: [PATCH] meson: Support elogind + +--- + meson.build | 12 +++++++++--- + meson_options.txt | 1 + + 2 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index ef5132c6..7f68aaae 100644 +--- a/meson.build ++++ b/meson.build +@@ -124,8 +124,10 @@ enable_systemd = get_option('systemd') + enable_systemd_session = get_option('systemd_session') != 'disable' + use_systemd_session = get_option('systemd_session') == 'default' + enable_systemd_journal = get_option('systemd_journal') ++enable_elogind = get_option('elogind') + enable_consolekit = get_option('consolekit') +-if enable_systemd or enable_consolekit ++assert(not (enable_systemd and enable_elogind), 'Can not support systemd and elogind at once') ++if enable_systemd or enable_elogind or enable_consolekit + session_bin_deps += dependency('gio-unix-2.0', version: glib_req_version) + + # Check for systemd +@@ -152,6 +154,10 @@ if enable_systemd or enable_consolekit + endif + + session_tracking = 'systemd' ++ elif enable_elogind ++ libelogind_dep = dependency('libelogind', version: '>= 239.4') ++ session_bin_deps += libelogind_dep ++ session_tracking = 'elogind' + endif + + # Check for ConsoleKit +@@ -161,7 +167,7 @@ if enable_systemd or enable_consolekit + + session_bin_deps += dbus_glib_dep + +- if enable_systemd ++ if enable_systemd or enable_elogind + session_tracking += ' (with fallback to ConsoleKit)' + else + session_tracking = 'ConsoleKit' +@@ -171,7 +177,7 @@ endif + if enable_systemd_session + assert(enable_systemd, 'Systemd support must be enabled when using systemd session management') + endif +-config_h.set('HAVE_SYSTEMD', enable_systemd) ++config_h.set('HAVE_SYSTEMD', enable_systemd or enable_elogind) + config_h.set('ENABLE_SYSTEMD_SESSION', enable_systemd_session) + config_h.set('ENABLE_SYSTEMD_JOURNAL', enable_systemd_journal) + config_h.set('HAVE_CONSOLEKIT', enable_consolekit) +diff --git a/meson_options.txt b/meson_options.txt +index 4c05dc6e..512d1528 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,4 +1,5 @@ + option('deprecation_flags', type: 'boolean', value: false, description: 'use *_DISABLE_DEPRECATED flags') ++option('elogind', type: 'boolean', value: true, description: 'Use elogind') + option('session_selector', type: 'boolean', value: false, description: 'enable building a custom session selector dialog') + option('systemd', type: 'boolean', value: true, description: 'Use systemd') + option('systemd_session', type: 'combo', choices: ['disable', 'enable', 'default'], value: 'default', description: 'Whether to include systemd session support and use it by default') +-- +2.26.2 + -- 2.34.0