Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package cinnamon-session for openSUSE:Factory checked in at 2026-10-13 17:46:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cinnamon-session (Old) and /work/SRC/openSUSE:Factory/.cinnamon-session.new.3698736 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-session" Tue Oct 13 17:46:06 2026 rev:35 rq:1384542 version:6.6.4 Changes: -------- --- /work/SRC/openSUSE:Factory/cinnamon-session/cinnamon-session.changes 2026-03-27 06:37:48.517049207 +0100 +++ /work/SRC/openSUSE:Factory/.cinnamon-session.new.3698736/cinnamon-session.changes 2026-10-13 17:47:12.897016893 +0200 @@ -1,0 +2,10 @@ +Tue Oct 6 21:00:04 UTC 2026 - Bjørn Lie <[email protected]> + +- Update to version 6.6.4: + * wayland: Terminate the session if cinnamon-wayland fails to + load + * Add xfce4-notifyd to -blacklist in SessionManager schema + * session: Add graphical-session.target support +- Update version dependencies according to meson.build. + +------------------------------------------------------------------- Old: ---- cinnamon-session-6.6.3.tar.gz New: ---- cinnamon-session-6.6.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cinnamon-session.spec ++++++ --- /var/tmp/diff_new_pack.CepGSJ/_old 2026-10-13 17:47:13.603046486 +0200 +++ /var/tmp/diff_new_pack.CepGSJ/_new 2026-10-13 17:47:13.605046570 +0200 @@ -17,7 +17,7 @@ Name: cinnamon-session -Version: 6.6.3 +Version: 6.6.4 Release: 0 Summary: The session manager for the Cinnamon Desktop License: GPL-2.0-or-later AND LGPL-2.1-or-later @@ -31,11 +31,11 @@ BuildRequires: tcpd-devel BuildRequires: xmlto BuildRequires: xtrans -BuildRequires: pkgconfig(cinnamon-desktop) +BuildRequires: pkgconfig(cinnamon-desktop) >= 6.0.0 BuildRequires: pkgconfig(dbus-glib-1) BuildRequires: pkgconfig(gl) -BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(glib-2.0) >= 2.37.3 +BuildRequires: pkgconfig(gtk+-3.0) >= 3.0.0 BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(libcanberra) BuildRequires: pkgconfig(libsystemd) @@ -83,4 +83,5 @@ %{_datadir}/glib-2.0/schemas/org.cinnamon.* %{_datadir}/icons/hicolor/*/apps/%{name}-properties.* %{_mandir}/man?/%{name}*.?%{?ext_man} +%{_userunitdir}/cinnamon-session.target ++++++ cinnamon-session-6.6.3.tar.gz -> cinnamon-session-6.6.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-session-6.6.3/cinnamon-session/csm-manager.c new/cinnamon-session-6.6.4/cinnamon-session/csm-manager.c --- old/cinnamon-session-6.6.3/cinnamon-session/csm-manager.c 2026-02-11 17:26:13.000000000 +0100 +++ new/cinnamon-session-6.6.4/cinnamon-session/csm-manager.c 2026-06-18 16:35:02.000000000 +0200 @@ -272,9 +272,19 @@ on_required_app_failure (CsmManager *manager, CsmApp *app) { - csm_util_init_error (FALSE, "A program required by the session failed to start. App ID: '%s'. Startup ID: '%s'.", - csm_app_peek_app_id (app), - csm_app_peek_startup_id (app)); + if (g_strcmp0 (g_getenv ("XDG_SESSION_TYPE"), "wayland") == 0) { + /* In Wayland, if cinnamon-wayland fails to start (required component), there's no compositor. + So if a required component fails, we want to terminate the session and go back to the DM. */ + csm_util_init_error (TRUE, "A program required by the session failed to start. App ID: '%s'. Startup ID: '%s'. The session will be terminated.", + csm_app_peek_app_id (app), + csm_app_peek_startup_id (app)); + } else { + /* In Xorg, even if Cinnamon fails to start we want to show nemo-desktop and cinnamon-killer-daemon. + So if a required component fails, we still keep the session alive. */ + csm_util_init_error (FALSE, "A program required by the session failed to start. App ID: '%s'. Startup ID: '%s'.", + csm_app_peek_app_id (app), + csm_app_peek_startup_id (app)); + } } static gboolean @@ -863,6 +873,8 @@ close_end_session_dialog (manager); + csm_util_stop_systemd_unit ("cinnamon-session.target", "replace", NULL); + if (manager->priv->logout_mode == CSM_MANAGER_LOGOUT_MODE_FORCE) { data.flags |= CSM_CLIENT_END_SESSION_FLAG_FORCEFUL; } @@ -1513,6 +1525,7 @@ csm_xsmp_server_start_accepting_new_clients (manager->priv->xsmp_server); csm_exported_manager_emit_session_running (manager->priv->skeleton); update_idle (manager); + csm_util_start_systemd_unit ("cinnamon-session.target", "replace", NULL); break; case CSM_MANAGER_PHASE_QUERY_END_SESSION: csm_xsmp_server_stop_accepting_new_clients (manager->priv->xsmp_server); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-session-6.6.3/cinnamon-session/csm-util.c new/cinnamon-session-6.6.4/cinnamon-session/csm-util.c --- old/cinnamon-session-6.6.3/cinnamon-session/csm-util.c 2026-02-11 17:26:13.000000000 +0100 +++ new/cinnamon-session-6.6.4/cinnamon-session/csm-util.c 2026-06-18 16:35:02.000000000 +0200 @@ -763,6 +763,72 @@ return environment_updated; } +gboolean +csm_util_start_systemd_unit (const char *unit, + const char *mode, + GError **error) +{ + g_autoptr(GDBusConnection) connection = NULL; + g_autoptr(GVariant) reply = NULL; + GError *bus_error = NULL; + + connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, error); + + if (connection == NULL) + return FALSE; + + reply = g_dbus_connection_call_sync (connection, + "org.freedesktop.systemd1", + "/org/freedesktop/systemd1", + "org.freedesktop.systemd1.Manager", + "StartUnit", + g_variant_new ("(ss)", + unit, mode), + NULL, + G_DBUS_CALL_FLAGS_NONE, + -1, NULL, &bus_error); + + if (bus_error != NULL) { + g_propagate_error (error, bus_error); + return FALSE; + } + + return TRUE; +} + +gboolean +csm_util_stop_systemd_unit (const char *unit, + const char *mode, + GError **error) +{ + g_autoptr(GDBusConnection) connection = NULL; + g_autoptr(GVariant) reply = NULL; + GError *bus_error = NULL; + + connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, error); + + if (connection == NULL) + return FALSE; + + reply = g_dbus_connection_call_sync (connection, + "org.freedesktop.systemd1", + "/org/freedesktop/systemd1", + "org.freedesktop.systemd1.Manager", + "StopUnit", + g_variant_new ("(ss)", + unit, mode), + NULL, + G_DBUS_CALL_FLAGS_NONE, + -1, NULL, &bus_error); + + if (bus_error != NULL) { + g_propagate_error (error, bus_error); + return FALSE; + } + + return TRUE; +} + void csm_util_setenv (const char *variable, const char *value) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-session-6.6.3/cinnamon-session/csm-util.h new/cinnamon-session-6.6.4/cinnamon-session/csm-util.h --- old/cinnamon-session-6.6.3/cinnamon-session/csm-util.h 2026-02-11 17:26:13.000000000 +0100 +++ new/cinnamon-session-6.6.4/cinnamon-session/csm-util.h 2026-06-18 16:35:02.000000000 +0200 @@ -58,6 +58,13 @@ void csm_util_setenv (const char *variable, const char *value); +gboolean csm_util_start_systemd_unit (const char *unit, + const char *mode, + GError **error); +gboolean csm_util_stop_systemd_unit (const char *unit, + const char *mode, + GError **error); + // main.c, exit mainloop void csm_quit (void); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-session-6.6.3/data/meson.build new/cinnamon-session-6.6.4/data/meson.build --- old/cinnamon-session-6.6.3/data/meson.build 2026-02-11 17:26:13.000000000 +0100 +++ new/cinnamon-session-6.6.4/data/meson.build 2026-06-18 16:35:02.000000000 +0200 @@ -20,3 +20,6 @@ # Re-compile gsettings meson.add_install_script('meson_install_schemas.py') + +subdir('systemd/user') + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-session-6.6.3/data/org.cinnamon.SessionManager.gschema.xml new/cinnamon-session-6.6.4/data/org.cinnamon.SessionManager.gschema.xml --- old/cinnamon-session-6.6.3/data/org.cinnamon.SessionManager.gschema.xml 2026-02-11 17:26:13.000000000 +0100 +++ new/cinnamon-session-6.6.4/data/org.cinnamon.SessionManager.gschema.xml 2026-06-18 16:35:02.000000000 +0200 @@ -26,7 +26,7 @@ <description>If enabled, cinnamon-session will not try to use Cinnamon's end-session dialog, instead preferring Gtk fallback.</description> </key> <key name="autostart-blacklist" type="as"> - <default>['gnome-settings-daemon', 'org.gnome.SettingsDaemon', 'gnome-fallback-mount-helper', 'gnome-screensaver', 'mate-screensaver', 'mate-keyring-daemon', 'indicator-session', 'gnome-initial-setup-copy-worker', 'gnome-initial-setup-first-login', 'gnome-welcome-tour', 'xscreensaver-autostart', 'nautilus-autostart', 'nm-applet', 'caja', 'xfce4-power-manager', 'touchegg']</default> + <default>['gnome-settings-daemon', 'org.gnome.SettingsDaemon', 'gnome-fallback-mount-helper', 'gnome-screensaver', 'mate-screensaver', 'mate-keyring-daemon', 'indicator-session', 'gnome-initial-setup-copy-worker', 'gnome-initial-setup-first-login', 'gnome-welcome-tour', 'xscreensaver-autostart', 'nautilus-autostart', 'nm-applet', 'caja', 'xfce4-notifyd', 'xfce4-power-manager', 'touchegg']</default> <summary>Applications to block from autostarting or appearing in the app system</summary> <description> A list of applications or desktop names (without the .desktop extension) to prevent from diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-session-6.6.3/data/systemd/user/cinnamon-session.target new/cinnamon-session-6.6.4/data/systemd/user/cinnamon-session.target --- old/cinnamon-session-6.6.3/data/systemd/user/cinnamon-session.target 1970-01-01 01:00:00.000000000 +0100 +++ new/cinnamon-session-6.6.4/data/systemd/user/cinnamon-session.target 2026-06-18 16:35:02.000000000 +0200 @@ -0,0 +1,14 @@ +[Unit] +Description=Cinnamon graphical session +Documentation=man:systemd.special(7) + +Wants=graphical-session.target +Before=graphical-session.target + +Wants=graphical-session-pre.target +After=graphical-session-pre.target + +PropagatesStopTo=graphical-session.target +PropagatesStopTo=graphical-session-pre.target + +CollectMode=inactive-or-failed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-session-6.6.3/data/systemd/user/meson.build new/cinnamon-session-6.6.4/data/systemd/user/meson.build --- old/cinnamon-session-6.6.3/data/systemd/user/meson.build 1970-01-01 01:00:00.000000000 +0100 +++ new/cinnamon-session-6.6.4/data/systemd/user/meson.build 2026-06-18 16:35:02.000000000 +0200 @@ -0,0 +1,8 @@ +if enable_systemd +install_data( + [ + 'cinnamon-session.target', + ], + install_dir: systemduserunitdir, +) +endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-session-6.6.3/debian/changelog new/cinnamon-session-6.6.4/debian/changelog --- old/cinnamon-session-6.6.3/debian/changelog 2026-02-11 17:26:13.000000000 +0100 +++ new/cinnamon-session-6.6.4/debian/changelog 2026-06-18 16:35:02.000000000 +0200 @@ -1,3 +1,14 @@ +cinnamon-session (6.6.4) zena; urgency=medium + + [ Clement Lefebvre ] + * wayland: Terminate the session if cinnamon-wayland fails to load + + [ Leigh Scott ] + * Add xfce4-notifyd to -blacklist in SessionManager schema (#203) + * session: Add graphical-session.target support (#204) + + -- Clement Lefebvre <[email protected]> Thu, 18 Jun 2026 16:34:49 +0200 + cinnamon-session (6.6.3) zena; urgency=medium [ Michael Webster ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-session-6.6.3/debian/cinnamon-session.install new/cinnamon-session-6.6.4/debian/cinnamon-session.install --- old/cinnamon-session-6.6.3/debian/cinnamon-session.install 2026-02-11 17:26:13.000000000 +0100 +++ new/cinnamon-session-6.6.4/debian/cinnamon-session.install 2026-06-18 16:35:02.000000000 +0200 @@ -1,5 +1,6 @@ usr/bin/cinnamon-session* usr/lib/*/cinnamon-session* +usr/lib/systemd/user/cinnamon-session.target usr/share/cinnamon-session usr/share/glib-2.0/schemas/org.cinnamon.SessionManager.gschema.xml usr/share/man/*/cinnamon-session* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-session-6.6.3/meson.build new/cinnamon-session-6.6.4/meson.build --- old/cinnamon-session-6.6.3/meson.build 2026-02-11 17:26:13.000000000 +0100 +++ new/cinnamon-session-6.6.4/meson.build 2026-06-18 16:35:02.000000000 +0200 @@ -2,7 +2,7 @@ project( 'cinnamon-session', ['c'], - version : '6.6.3', +version : '6.6.4', meson_version : '>=0.56.0' ) @@ -58,6 +58,23 @@ endif conf.set('HAVE_LOGIND', logind.found()) +systemd_opt = get_option('systemd') +systemd_dep = dependency('libsystemd', required: systemd_opt.enabled()) +if systemd_dep.found() + systemduserunitdir = systemd_dep.get_variable( + pkgconfig: 'systemduserunitdir', + default_value: join_paths(get_option('prefix'), 'lib', 'systemd', 'user') + ) + enable_systemd = true +else + enable_systemd = systemd_dep.found() and not systemd_opt.disabled() + systemduserunitdir = join_paths(get_option('prefix'), 'lib', 'systemd', 'user') +endif + +message('Systemd integration: ' + (enable_systemd ? 'enabled' : 'disabled')) +message('Systemd user unit dir: ' + systemduserunitdir) + + if gio_unix.found() and libelogind.found() elogind = declare_dependency(dependencies: [ gio_unix, libelogind ]) else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-session-6.6.3/meson_options.txt new/cinnamon-session-6.6.4/meson_options.txt --- old/cinnamon-session-6.6.3/meson_options.txt 2026-02-11 17:26:13.000000000 +0100 +++ new/cinnamon-session-6.6.4/meson_options.txt 2026-06-18 16:35:02.000000000 +0200 @@ -1,3 +1,5 @@ option('frequent_warnings', type: 'boolean', value: false) option('ipv6', type: 'boolean', value: true) option('xtrans', type: 'boolean', value: true) +option('systemd', type: 'feature', value: 'auto') +
