x11/gnome-session: update to 47.0.1

PR:	286697
This commit is contained in:
Olivier Duchateau
2025-06-11 12:07:10 +02:00
committed by Baptiste Daroussin
parent 3e1381aeb4
commit 9940dac255
18 changed files with 1690 additions and 129 deletions
+19 -9
View File
@@ -1,37 +1,47 @@
PORTNAME= gnome-session
PORTVERSION= 42.0
PORTREVISION= 4
PORTVERSION= 47.0.1
CATEGORIES= x11 gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome
MAINTAINER= gnome@FreeBSD.org
COMMENT= Session component for the GNOME desktop
WWW= https://www.gnome.org/
WWW= https://gitlab.gnome.org/GNOME/gnome-session
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
PORTSCOUT= limit:^47\.
BUILD_DEPENDS= xmlto:textproc/xmlto
LIB_DEPENDS= libjson-glib-1.0.so:devel/json-glib \
libdbus-glib-1.so:devel/dbus-glib \
libepoxy.so:graphics/libepoxy
RUN_DEPENDS= ${LOCALBASE}/sbin/console-kit-daemon:sysutils/consolekit2 \
dbus-daemon:devel/dbus
PORTSCOUT= limitw:1,even
RUN_DEPENDS= consolekit2>0:sysutils/consolekit2 \
dbus-daemon:devel/dbus \
zenity:x11/zenity
USES= compiler:c11 gettext gl gnome localbase:ldflags meson \
pkgconfig python:build tar:xz xorg
USE_GNOME= gnomedesktop3 gtk30
USE_GNOME= glib20 gnomedesktop3 gtk30 libxslt:build
USE_XORG= ice sm x11 xcomposite xtrans
USE_GL= egl gl glesv2
MESON_ARGS= -Dsystemd=false \
MESON_ARGS= -Ddocbook=false \
-Dsystemd=false \
-Dsystemd_session=disable \
-Dsystemd_journal=false \
-Dconsolekit=true
BINARY_ALIAS= python3=${PYTHON_VERSION}
PLIST_SUB= VERSION=${PORTVERSION:C/^([0-9]+)\..*/\1/}
GLIB_SCHEMAS= org.gnome.SessionManager.gschema.xml
post-patch:
# Avoid lots of warnings in gdm log
.for f in gnome-wayland.desktop.in.in gnome.desktop.in.in
${REINPLACE_CMD} -e 's|/gnome-session|/gnome-session --disable-acceleration-check|g' \
${WRKSRC}/data/${f}
.endfor
.include <bsd.port.mk>
+3 -3
View File
@@ -1,3 +1,3 @@
TIMESTAMP = 1648063129
SHA256 (gnome/gnome-session-42.0.tar.xz) = 3cca06053ab682926920951a7da95f8cc6d72da74c682c46d0a0653332969caa
SIZE (gnome/gnome-session-42.0.tar.xz) = 485616
TIMESTAMP = 1743437836
SHA256 (gnome/gnome-session-47.0.1.tar.xz) = 56ae9c68e49995793eb2096bcdc4533b111669e1e54c8b6e0b1d952f6a5e8a70
SIZE (gnome/gnome-session-47.0.1.tar.xz) = 486996
@@ -0,0 +1,18 @@
--- data/meson.build.orig 2024-03-18 19:30:06 UTC
+++ data/meson.build
@@ -108,6 +108,7 @@ install_data(
install_dir: join_paths(session_datadir, 'glib-2.0', 'schemas'),
)
+if enable_systemd_session
unit_conf = configuration_data()
unit_conf.set('libexecdir', session_libexecdir)
@@ -170,6 +171,7 @@ endforeach
session),
)
endforeach
+endif
data = files('hardware-compatibility')
@@ -0,0 +1,37 @@
--- doc/man/gnome-session.1.orig 2024-03-18 19:30:06 UTC
+++ doc/man/gnome-session.1
@@ -43,6 +43,14 @@ Use the applications defined in \fBSESSION.session\fP.
Use the applications defined in \fBSESSION.session\fP. If not specified,
\fBgnome.session\fP will be used.
.TP
+.I "--builtin"
+Use the legacy non-systemd method of managing the user session. This is the
+opposite of the \fI--systemd\fP option.
+.TP
+.I "--systemd"
+Use the systemd method of managing the user session. This is the opposite of
+the \fI--builtin\fP option.
+.TP
.I "--failsafe"
Run in fail-safe mode. User-specified applications will not be started.
.TP
@@ -82,11 +90,17 @@ The \fB.session\fP files are looked for in
\fB$XDG_CONFIG_DIRS/gnome-session/sessions\fP and
\fB$XDG_DATA_DIRS/gnome-session/sessions\fP.
.SH systemd
-\fIgnome-session\fP can pass much of the session management over to systemd.
-In this case, startup components that have \fBX-GNOME-HiddenUnderSystemd=true\fP
+\fIgnome-session\fP can pass much of the session management over to systemd
+(see the \fI--systemd\fP option which may be the default since 3.34). In this
+case, startup components that have \fBX-GNOME-HiddenUnderSystemd=true\fP
set in their \fB.desktop\fP file will be ignored by \fIgnome-session\fP. It
instead relies on the fact that these components are managed by systemd.
.PP
+As of GNOME 3.34 the systemd support is new and the customizing the
+configuration is not yet easily possible. With GNOME 3.34 it may be best to use
+\fI--builtin\fP if session customizations are required. This is due to the way
+that GNOME currently defines the components that will be started on each session
+type.
.PP
\fBsystemd\fP provides the two special targets \fBgraphical-session.target\fP
and \fBgraphical-session-pre.target\fP which are fully functional and should be
@@ -0,0 +1,44 @@
--- gnome-session/gsm-autostart-app.c.orig 2024-03-18 19:30:06 UTC
+++ gnome-session/gsm-autostart-app.c
@@ -31,8 +31,12 @@
#define GNOME_DESKTOP_USE_UNSTABLE_API
#include <libgnome-desktop/gnome-systemd.h>
+#ifdef HAVE_SYSTEMD
+#ifdef ENABLE_SYSTEMD_JOURNAL
#include <systemd/sd-journal.h>
+#endif
#include <systemd/sd-daemon.h>
+#endif
#include "gsm-autostart-app.h"
#include "gsm-util.h"
@@ -957,6 +961,7 @@ app_launched (GAppLaunchContext *ctx,
NULL, NULL, NULL);
}
+#ifdef ENABLE_SYSTEMD_JOURNAL
static void
on_child_setup (GsmAutostartApp *app)
{
@@ -983,6 +988,7 @@ on_child_setup (GsmAutostartApp *app)
close (standard_error);
}
}
+#endif
static gboolean
autostart_app_start_spawn (GsmAutostartApp *app,
@@ -1033,10 +1039,12 @@ autostart_app_start_spawn (GsmAutostartApp *app,
g_app_launch_context_setenv (ctx, "DESKTOP_AUTOSTART_ID", startup_id);
}
+#ifdef ENABLE_SYSTEMD_JOURNAL
if (sd_booted () > 0) {
child_setup_func = (GSpawnChildSetupFunc) on_child_setup;
child_setup_data = app;
}
+#endif
handler = g_signal_connect (ctx, "launched", G_CALLBACK (app_launched), app);
success = g_desktop_app_info_launch_uris_as_manager (priv->app_info,
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,62 @@
--- gnome-session/gsm-consolekit.h.orig 2024-12-30 10:33:15 UTC
+++ gnome-session/gsm-consolekit.h
@@ -0,0 +1,59 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Jon McCann <jmccann@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Jon McCann <jmccann@redhat.com>
+ */
+
+#ifndef __GSM_CONSOLEKIT_H__
+#define __GSM_CONSOLEKIT_H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define GSM_TYPE_CONSOLEKIT (gsm_consolekit_get_type ())
+#define GSM_CONSOLEKIT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_CONSOLEKIT, GsmConsolekit))
+#define GSM_CONSOLEKIT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_CONSOLEKIT, GsmConsolekitClass))
+#define GSM_IS_CONSOLEKIT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_CONSOLEKIT))
+#define GSM_IS_CONSOLEKIT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_CONSOLEKIT))
+#define GSM_CONSOLEKIT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GSM_TYPE_CONSOLEKIT, GsmConsolekitClass))
+
+typedef struct _GsmConsolekit GsmConsolekit;
+typedef struct _GsmConsolekitClass GsmConsolekitClass;
+typedef struct _GsmConsolekitPrivate GsmConsolekitPrivate;
+
+struct _GsmConsolekit
+{
+ GObject parent;
+
+ GsmConsolekitPrivate *priv;
+};
+
+struct _GsmConsolekitClass
+{
+ GObjectClass parent_class;
+};
+
+GType gsm_consolekit_get_type (void);
+
+GsmConsolekit *gsm_consolekit_new (void) G_GNUC_MALLOC;
+
+G_END_DECLS
+
+#endif /* __GSM_CONSOLEKIT_H__ */
@@ -0,0 +1,86 @@
--- gnome-session/gsm-manager.c.orig 2024-09-19 12:36:55 UTC
+++ gnome-session/gsm-manager.c
@@ -40,9 +40,17 @@
#include "gsm-manager.h"
#include "org.gnome.SessionManager.h"
+#ifdef ENABLE_SYSTEMD_JOURNAL
#include <systemd/sd-journal.h>
+#endif
+#ifdef HAVE_SYSTEMD
#include <systemd/sd-daemon.h>
+#else
+/* So we don't need to add ifdef's everywhere */
+#define sd_notify(u, m) do {} while (0)
+#define sd_notifyf(u, m, ...) do {} while (0)
+#endif
#include "gsm-store.h"
#include "gsm-inhibitor.h"
@@ -280,10 +288,12 @@ on_required_app_failure (GsmManager *manager,
allow_logout = !_log_out_is_locked_down (manager);
}
+#ifdef ENABLE_SYSTEMD_JOURNAL
sd_journal_send ("MESSAGE_ID=%s", GSM_MANAGER_UNRECOVERABLE_FAILURE_MSGID,
"PRIORITY=%d", 3,
"MESSAGE=Unrecoverable failure in required component %s", app_id,
NULL);
+#endif
gsm_fail_whale_dialog_we_failed (FALSE,
allow_logout,
@@ -308,10 +318,12 @@ on_display_server_failure (GsmManager *manager,
extensions = NULL;
}
+#ifdef ENABLE_SYSTEMD_JOURNAL
sd_journal_send ("MESSAGE_ID=%s", GSM_MANAGER_UNRECOVERABLE_FAILURE_MSGID,
"PRIORITY=%d", 3,
"MESSAGE=Unrecoverable failure in required component %s", app_id,
NULL);
+#endif
gsm_quit ();
}
@@ -966,6 +978,7 @@ _client_stop (const char *id,
return FALSE;
}
+#ifdef HAVE_SYSTEMD
static void
maybe_restart_user_bus (GsmManager *manager)
{
@@ -998,6 +1011,7 @@ maybe_restart_user_bus (GsmManager *manager)
g_debug ("GsmManager: reloading user bus failed: %s", error->message);
}
}
+#endif
static void
do_phase_exit (GsmManager *manager)
@@ -1010,8 +1024,10 @@ do_phase_exit (GsmManager *manager)
NULL);
}
+#ifdef HAVE_SYSTEMD
if (!priv->systemd_managed)
maybe_restart_user_bus (manager);
+#endif
end_phase (manager);
}
@@ -1405,10 +1421,12 @@ start_phase (GsmManager *manager)
do_phase_startup (manager);
break;
case GSM_MANAGER_PHASE_RUNNING:
+#ifdef ENABLE_SYSTEMD_JOURNAL
sd_journal_send ("MESSAGE_ID=%s", GSM_MANAGER_STARTUP_SUCCEEDED_MSGID,
"PRIORITY=%d", 5,
"MESSAGE=Entering running state",
NULL);
+#endif
#ifdef HAVE_X11
gsm_xsmp_server_start_accepting_new_clients (priv->xsmp_server);
#endif
@@ -0,0 +1,28 @@
--- gnome-session/gsm-system.c.orig 2024-03-18 19:30:06 UTC
+++ gnome-session/gsm-system.c
@@ -25,6 +25,9 @@
#include "gsm-systemd.h"
+#ifdef HAVE_CONSOLEKIT
+#include "gsm-consolekit.h"
+#endif
enum {
REQUEST_COMPLETED,
@@ -266,6 +269,15 @@ gsm_get_system (void)
g_debug ("Using systemd for session tracking");
}
}
+
+#ifdef HAVE_CONSOLEKIT
+ if (system == NULL) {
+ system = GSM_SYSTEM (gsm_consolekit_new ());
+ if (system != NULL) {
+ g_debug ("Using ConsoleKit for session tracking");
+ }
+ }
+#endif
if (system == NULL) {
system = g_object_new (gsm_system_null_get_type (), NULL);
@@ -0,0 +1,25 @@
--- gnome-session/gsm-systemd.c.orig 2024-03-18 19:30:06 UTC
+++ gnome-session/gsm-systemd.c
@@ -21,6 +21,8 @@
#include "config.h"
#include "gsm-systemd.h"
+#ifdef HAVE_SYSTEMD
+
#include <errno.h>
#include <string.h>
#include <stdlib.h>
@@ -1169,4 +1171,13 @@ sd_proxy_signal_cb (GDBusProxy *proxy,
}
}
+#else
+
+GsmSystemd *
+gsm_systemd_new (void)
+{
+ return NULL;
+}
+
+#endif
@@ -0,0 +1,46 @@
--- gnome-session/gsm-util.c.orig 2024-03-18 19:30:06 UTC
+++ gnome-session/gsm-util.c
@@ -73,12 +73,6 @@ static const char * const variable_unsetlist[] = {
"LC_COLLATE",
"LC_MONETARY",
"LC_MESSAGES",
- "LC_PAPER",
- "LC_NAME",
- "LC_ADDRESS",
- "LC_TELEPHONE",
- "LC_MEASUREMENT",
- "LC_IDENTIFICATION",
"LC_ALL",
NULL
@@ -626,6 +620,7 @@ gsm_util_export_activation_environment (GError **e
return environment_updated;
}
+#ifdef HAVE_SYSTEMD
gboolean
gsm_util_export_user_environment (GError **error)
{
@@ -884,6 +879,7 @@ gsm_util_systemd_reset_failed (GError **error)
return TRUE;
}
+#endif
void
gsm_util_setenv (const char *variable,
@@ -907,12 +903,14 @@ gsm_util_setenv (const char *variable,
g_clear_error (&error);
}
+#ifdef HAVE_SYSTEMD
/* If this fails, the system user session won't get the updated environment
*/
if (!gsm_util_update_user_environment (variable, value, &error)) {
g_debug ("Could not make systemd aware of %s=%s environment variable: %s", variable, value, error->message);
g_clear_error (&error);
}
+#endif
}
const char * const *
@@ -0,0 +1,18 @@
--- gnome-session/gsm-util.h.orig 2024-03-18 19:30:06 UTC
+++ gnome-session/gsm-util.h
@@ -53,6 +53,7 @@ gboolean gsm_util_export_activation_environment (G
const char * const * gsm_util_get_variable_blacklist(void);
gboolean gsm_util_export_activation_environment (GError **error);
+#ifdef HAVE_SYSTEMD
gboolean gsm_util_export_user_environment (GError **error);
gboolean gsm_util_systemd_unit_is_active (const char *unit,
GError **error);
@@ -61,6 +62,7 @@ gboolean gsm_util_systemd_reset_failed (G
GError **error);
gboolean gsm_util_systemd_reset_failed (GError **error);
+#endif
void gsm_quit (void);
@@ -0,0 +1,96 @@
--- gnome-session/main.c.orig 2024-03-18 19:30:06 UTC
+++ gnome-session/main.c
@@ -43,11 +43,14 @@
#include "gsm-system.h"
#include "gsm-fail-whale.h"
+#ifdef ENABLE_SYSTEMD_JOURNAL
#include <systemd/sd-journal.h>
+#endif
#define GSM_DBUS_NAME "org.gnome.SessionManager"
static gboolean systemd_service = FALSE;
+static gboolean use_systemd = USE_SYSTEMD_SESSION;
static gboolean failsafe = FALSE;
static gboolean show_version = FALSE;
static gboolean debug = FALSE;
@@ -280,6 +283,7 @@ initialize_gio (void)
}
}
+#ifdef ENABLE_SYSTEMD_SESSION
static gboolean
leader_term_or_int_signal_cb (gpointer data)
{
@@ -485,6 +489,7 @@ systemd_leader_run(void)
gsm_main ();
exit(0);
}
+#endif /* ENABLE_SYSTEMD_SESSION */
int
main (int argc, char **argv)
@@ -499,7 +504,11 @@ main (int argc, char **argv)
guint name_owner_id;
GOptionContext *options;
static GOptionEntry entries[] = {
+#ifdef ENABLE_SYSTEMD_SESSION
{ "systemd-service", 0, 0, G_OPTION_ARG_NONE, &systemd_service, N_("Running as systemd service"), NULL },
+ { "systemd", 0, 0, G_OPTION_ARG_NONE, &use_systemd, N_("Use systemd session management"), NULL },
+#endif
+ { "builtin", 0, G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE, &use_systemd, N_("Use builtin session management (rather than the systemd based one)"), NULL },
{ "autostart", 'a', 0, G_OPTION_ARG_STRING_ARRAY, &override_autostart_dirs, N_("Override standard autostart directories"), N_("AUTOSTART_DIR") },
{ "session", 0, 0, G_OPTION_ARG_STRING, &opt_session_name, N_("Session to use"), N_("SESSION_NAME") },
{ "debug", 0, 0, G_OPTION_ARG_NONE, &debug, N_("Enable debugging code"), NULL },
@@ -553,6 +562,7 @@ main (int argc, char **argv)
* journald picks ups the nicer "gnome-session" as the program
* name instead of whatever shell script GDM happened to use.
*/
+#ifdef ENABLE_SYSTEMD_JOURNAL
if (!debug) {
int journalfd;
@@ -562,6 +572,7 @@ main (int argc, char **argv)
dup2(journalfd, 2);
}
}
+#endif
gdm_log_init ();
gdm_log_set_debug (debug);
@@ -636,12 +647,15 @@ main (int argc, char **argv)
session_name = opt_session_name;
+#ifdef HAVE_SYSTEMD
gsm_util_export_user_environment (&error);
if (error && !g_getenv ("RUNNING_UNDER_GDM"))
g_warning ("Failed to upload environment to systemd: %s", error->message);
g_clear_error (&error);
+#endif
- if (!systemd_service) {
+#ifdef ENABLE_SYSTEMD_SESSION
+ if (use_systemd && !systemd_service) {
const gchar *session_type = NULL;
g_autofree gchar *gnome_session_target = NULL;
@@ -688,6 +702,7 @@ main (int argc, char **argv)
exit (1);
}
}
+#endif /* ENABLE_SYSTEMD_SESSION */
{
gchar *ibus_path;
@@ -724,7 +739,9 @@ main (int argc, char **argv)
gsm_main ();
+#ifdef HAVE_SYSTEMD
gsm_util_export_user_environment (NULL);
+#endif
g_clear_object (&manager);
g_free (gl_renderer);
@@ -0,0 +1,13 @@
--- gnome-session/meson.build.orig 2024-03-18 19:30:06 UTC
+++ gnome-session/meson.build
@@ -60,6 +60,10 @@ endforeach
)
endforeach
+if enable_consolekit
+ sources += files('gsm-consolekit.c')
+endif
+
cflags = [
'-DLOCALE_DIR="@0@"'.format(session_localedir),
'-DDATA_DIR="@0@"'.format(session_pkgdatadir),
+73
View File
@@ -0,0 +1,73 @@
--- meson.build.orig 2024-03-18 19:30:06 UTC
+++ meson.build
@@ -103,19 +103,52 @@ enable_session_selector = get_option('session_selector
# Check for session selector GTK+ UI
enable_session_selector = get_option('session_selector')
-session_bin_deps += dependency('gio-unix-2.0', version: glib_req_version)
+# Check for session tracking backend
+session_tracking = 'null backend'
-# Check for systemd
-systemd_userunitdir = get_option('systemduserunitdir')
-if systemd_userunitdir == ''
- systemd_dep = dependency('systemd', version: '>= 242', required: true)
- systemd_userunitdir = systemd_dep.get_variable(pkgconfig: 'systemduserunitdir',
- pkgconfig_define: ['prefix', session_prefix])
-endif
+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_consolekit = get_option('consolekit')
+if enable_systemd or enable_consolekit
+ session_bin_deps += dependency('gio-unix-2.0', version: glib_req_version)
-libsystemd_dep = dependency('libsystemd', version: '>= 209', required: true)
-session_bin_deps += libsystemd_dep
+ # Check for systemd
+ if enable_systemd
+ systemd_userunitdir = get_option('systemduserunitdir')
+ if systemd_userunitdir == ''
+ systemd_dep = dependency('systemd', version: '>= 242', required: true)
+ systemd_userunitdir = systemd_dep.get_variable(pkgconfig: 'systemduserunitdir',
+ pkgconfig_define: ['prefix', session_prefix])
+ endif
+ libsystemd_dep = dependency('libsystemd', version: '>= 209', required: true)
+ session_bin_deps += libsystemd_dep
+
+ session_tracking = 'systemd'
+ endif
+
+ # Check for ConsoleKit
+ if enable_consolekit
+ systemd_userunitdir = ''
+
+ if enable_systemd
+ session_tracking += ' (with fallback to ConsoleKit)'
+ else
+ session_tracking = 'ConsoleKit'
+ endif
+ endif
+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('ENABLE_SYSTEMD_SESSION', enable_systemd_session)
+config_h.set('ENABLE_SYSTEMD_JOURNAL', enable_systemd_journal)
+config_h.set('HAVE_CONSOLEKIT', enable_consolekit)
+config_h.set10('USE_SYSTEMD_SESSION', use_systemd_session)
+
configure_file(
output: 'config.h',
configuration: config_h
@@ -151,6 +184,7 @@ summary_options = {
'Build manpages': get_option('man'),
'Systemd Units Directory': systemd_userunitdir,
'Session Selector Enabled': enable_session_selector,
+ 'Session tracking': session_tracking,
}
summary_dirs = {
@@ -0,0 +1,12 @@
--- meson_options.txt.orig 2024-03-18 19:30:06 UTC
+++ meson_options.txt
@@ -1,5 +1,9 @@ option('session_selector', type: 'boolean', value: fal
option('deprecation_flags', type: 'boolean', value: false, description: 'use *_DISABLE_DEPRECATED flags')
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')
+option('systemd_journal', type: 'boolean', value:'true', description: 'Send log to systemd-journal')
option('systemduserunitdir', type: 'string', description: 'Directory for systemd user service files')
+option('consolekit', type: 'boolean', value: false, description: 'Use consolekit')
option('docbook', type: 'boolean', value: true, description: 'build documentation')
option('man', type: 'boolean', value: true, description: 'build documentation (requires xmlto)')
@@ -0,0 +1,18 @@
--- tools/meson.build.orig 2024-09-19 12:36:55 UTC
+++ tools/meson.build
@@ -2,9 +2,14 @@ programs = [
programs = [
# name, deps, cflags, install_dir
- ['gnome-session-ctl', session_bin_deps, cflags, session_libexecdir],
['gnome-session-inhibit', session_deps, cflags, session_bindir],
]
+
+if enable_systemd_session
+ programs += [
+ ['gnome-session-ctl', session_bin_deps, cflags, session_libexecdir],
+ ]
+endif
if have_x11
deps = session_deps + [
+117 -117
View File
@@ -1,5 +1,4 @@
bin/gnome-session
bin/gnome-session-custom-session
bin/gnome-session-inhibit
bin/gnome-session-quit
libexec/gnome-session-binary
@@ -7,126 +6,127 @@ libexec/gnome-session-check-accelerated
libexec/gnome-session-check-accelerated-gl-helper
libexec/gnome-session-check-accelerated-gles-helper
libexec/gnome-session-failed
share/man/man1/gnome-session-inhibit.1.gz
share/man/man1/gnome-session-quit.1.gz
share/man/man1/gnome-session.1.gz
share/GConf/gsettings/gnome-session.convert
%%DATADIR%%/hardware-compatibility
%%DATADIR%%/sessions/gnome-dummy.session
%%DATADIR%%/sessions/gnome.session
share/locale/ab/LC_MESSAGES/gnome-session-42.mo
share/locale/af/LC_MESSAGES/gnome-session-42.mo
share/locale/am/LC_MESSAGES/gnome-session-42.mo
share/locale/an/LC_MESSAGES/gnome-session-42.mo
share/locale/ar/LC_MESSAGES/gnome-session-42.mo
share/locale/as/LC_MESSAGES/gnome-session-42.mo
share/locale/ast/LC_MESSAGES/gnome-session-42.mo
share/locale/az/LC_MESSAGES/gnome-session-42.mo
share/locale/be/LC_MESSAGES/gnome-session-42.mo
share/locale/be@latin/LC_MESSAGES/gnome-session-42.mo
share/locale/bg/LC_MESSAGES/gnome-session-42.mo
share/locale/bn/LC_MESSAGES/gnome-session-42.mo
share/locale/bn_IN/LC_MESSAGES/gnome-session-42.mo
share/locale/br/LC_MESSAGES/gnome-session-42.mo
share/locale/bs/LC_MESSAGES/gnome-session-42.mo
share/locale/ca/LC_MESSAGES/gnome-session-42.mo
share/locale/ca@valencia/LC_MESSAGES/gnome-session-42.mo
share/locale/ckb/LC_MESSAGES/gnome-session-42.mo
share/locale/crh/LC_MESSAGES/gnome-session-42.mo
share/locale/cs/LC_MESSAGES/gnome-session-42.mo
share/locale/csb/LC_MESSAGES/gnome-session-42.mo
share/locale/cy/LC_MESSAGES/gnome-session-42.mo
share/locale/da/LC_MESSAGES/gnome-session-42.mo
share/locale/de/LC_MESSAGES/gnome-session-42.mo
share/locale/dz/LC_MESSAGES/gnome-session-42.mo
share/locale/el/LC_MESSAGES/gnome-session-42.mo
share/locale/en@shaw/LC_MESSAGES/gnome-session-42.mo
share/locale/en_CA/LC_MESSAGES/gnome-session-42.mo
share/locale/en_GB/LC_MESSAGES/gnome-session-42.mo
share/locale/eo/LC_MESSAGES/gnome-session-42.mo
share/locale/es/LC_MESSAGES/gnome-session-42.mo
share/locale/et/LC_MESSAGES/gnome-session-42.mo
share/locale/eu/LC_MESSAGES/gnome-session-42.mo
share/locale/fa/LC_MESSAGES/gnome-session-42.mo
share/locale/fi/LC_MESSAGES/gnome-session-42.mo
share/locale/fr/LC_MESSAGES/gnome-session-42.mo
share/locale/fur/LC_MESSAGES/gnome-session-42.mo
share/locale/fy/LC_MESSAGES/gnome-session-42.mo
share/locale/ga/LC_MESSAGES/gnome-session-42.mo
share/locale/gd/LC_MESSAGES/gnome-session-42.mo
share/locale/gl/LC_MESSAGES/gnome-session-42.mo
share/locale/gu/LC_MESSAGES/gnome-session-42.mo
share/locale/ha/LC_MESSAGES/gnome-session-42.mo
share/locale/he/LC_MESSAGES/gnome-session-42.mo
share/locale/hi/LC_MESSAGES/gnome-session-42.mo
share/locale/hr/LC_MESSAGES/gnome-session-42.mo
share/locale/hu/LC_MESSAGES/gnome-session-42.mo
share/locale/hy/LC_MESSAGES/gnome-session-42.mo
share/locale/id/LC_MESSAGES/gnome-session-42.mo
share/locale/ig/LC_MESSAGES/gnome-session-42.mo
share/locale/is/LC_MESSAGES/gnome-session-42.mo
share/locale/it/LC_MESSAGES/gnome-session-42.mo
share/locale/ja/LC_MESSAGES/gnome-session-42.mo
share/locale/ka/LC_MESSAGES/gnome-session-42.mo
share/locale/kab/LC_MESSAGES/gnome-session-42.mo
share/locale/kk/LC_MESSAGES/gnome-session-42.mo
share/locale/km/LC_MESSAGES/gnome-session-42.mo
share/locale/kn/LC_MESSAGES/gnome-session-42.mo
share/locale/ko/LC_MESSAGES/gnome-session-42.mo
share/locale/ku/LC_MESSAGES/gnome-session-42.mo
share/locale/lt/LC_MESSAGES/gnome-session-42.mo
share/locale/lv/LC_MESSAGES/gnome-session-42.mo
share/locale/mai/LC_MESSAGES/gnome-session-42.mo
share/locale/mg/LC_MESSAGES/gnome-session-42.mo
share/locale/mi/LC_MESSAGES/gnome-session-42.mo
share/locale/mjw/LC_MESSAGES/gnome-session-42.mo
share/locale/mk/LC_MESSAGES/gnome-session-42.mo
share/locale/ml/LC_MESSAGES/gnome-session-42.mo
share/locale/mn/LC_MESSAGES/gnome-session-42.mo
share/locale/mr/LC_MESSAGES/gnome-session-42.mo
share/locale/ms/LC_MESSAGES/gnome-session-42.mo
share/locale/nb/LC_MESSAGES/gnome-session-42.mo
share/locale/nds/LC_MESSAGES/gnome-session-42.mo
share/locale/ne/LC_MESSAGES/gnome-session-42.mo
share/locale/nl/LC_MESSAGES/gnome-session-42.mo
share/locale/nn/LC_MESSAGES/gnome-session-42.mo
share/locale/nso/LC_MESSAGES/gnome-session-42.mo
share/locale/oc/LC_MESSAGES/gnome-session-42.mo
share/locale/or/LC_MESSAGES/gnome-session-42.mo
share/locale/pa/LC_MESSAGES/gnome-session-42.mo
share/locale/pl/LC_MESSAGES/gnome-session-42.mo
share/locale/ps/LC_MESSAGES/gnome-session-42.mo
share/locale/pt/LC_MESSAGES/gnome-session-42.mo
share/locale/pt_BR/LC_MESSAGES/gnome-session-42.mo
share/locale/ro/LC_MESSAGES/gnome-session-42.mo
share/locale/ru/LC_MESSAGES/gnome-session-42.mo
share/locale/rw/LC_MESSAGES/gnome-session-42.mo
share/locale/si/LC_MESSAGES/gnome-session-42.mo
share/locale/sk/LC_MESSAGES/gnome-session-42.mo
share/locale/sl/LC_MESSAGES/gnome-session-42.mo
share/locale/sq/LC_MESSAGES/gnome-session-42.mo
share/locale/sr/LC_MESSAGES/gnome-session-42.mo
share/locale/sr@latin/LC_MESSAGES/gnome-session-42.mo
share/locale/sv/LC_MESSAGES/gnome-session-42.mo
share/locale/ta/LC_MESSAGES/gnome-session-42.mo
share/locale/te/LC_MESSAGES/gnome-session-42.mo
share/locale/tg/LC_MESSAGES/gnome-session-42.mo
share/locale/th/LC_MESSAGES/gnome-session-42.mo
share/locale/tk/LC_MESSAGES/gnome-session-42.mo
share/locale/tr/LC_MESSAGES/gnome-session-42.mo
share/locale/ug/LC_MESSAGES/gnome-session-42.mo
share/locale/uk/LC_MESSAGES/gnome-session-42.mo
share/locale/uz/LC_MESSAGES/gnome-session-42.mo
share/locale/uz@cyrillic/LC_MESSAGES/gnome-session-42.mo
share/locale/vi/LC_MESSAGES/gnome-session-42.mo
share/locale/wa/LC_MESSAGES/gnome-session-42.mo
share/locale/xh/LC_MESSAGES/gnome-session-42.mo
share/locale/yo/LC_MESSAGES/gnome-session-42.mo
share/locale/zh_CN/LC_MESSAGES/gnome-session-42.mo
share/locale/zh_HK/LC_MESSAGES/gnome-session-42.mo
share/locale/zh_TW/LC_MESSAGES/gnome-session-42.mo
share/locale/zu/LC_MESSAGES/gnome-session-42.mo
share/locale/ab/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/af/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/am/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/an/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ar/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/as/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ast/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/az/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/be/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/be@latin/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/bg/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/bn/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/bn_IN/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/br/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/bs/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ca/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ca@valencia/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ckb/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/crh/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/cs/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/csb/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/cy/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/da/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/de/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/dz/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/el/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/en@shaw/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/en_CA/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/en_GB/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/eo/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/es/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/et/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/eu/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/fa/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/fi/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/fr/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/fur/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/fy/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ga/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/gd/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/gl/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/gu/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ha/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/he/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/hi/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/hr/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/hu/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/hy/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/id/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ie/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ig/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/is/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/it/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ja/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ka/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/kab/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/kk/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/km/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/kn/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ko/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ku/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/lt/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/lv/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/mai/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/mg/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/mi/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/mjw/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/mk/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ml/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/mn/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/mr/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ms/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/nb/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/nds/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ne/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/nl/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/nn/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/nso/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/oc/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/or/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/pa/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/pl/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ps/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/pt/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/pt_BR/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ro/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ru/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/rw/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/si/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/sk/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/sl/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/sq/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/sr/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/sr@latin/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/sv/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ta/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/te/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/tg/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/th/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/tk/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/tr/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/ug/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/uk/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/uz/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/uz@cyrillic/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/vi/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/wa/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/xh/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/yo/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/zh_CN/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/zh_HK/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/zh_TW/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/locale/zu/LC_MESSAGES/gnome-session-%%VERSION%%.mo
share/man/man1/gnome-session-inhibit.1.gz
share/man/man1/gnome-session-quit.1.gz
share/man/man1/gnome-session.1.gz
share/wayland-sessions/gnome-wayland.desktop
share/wayland-sessions/gnome.desktop
share/xdg-desktop-portal/gnome-portals.conf
share/xsessions/gnome-xorg.desktop
share/xsessions/gnome.desktop