Browse Source

gnome-session package update

Signed-off-by: guibuilder_pel7x64builder0 <guibuilder@powerel.org>
master
guibuilder_pel7x64builder0 5 years ago
parent
commit
6ac9d4facb
  1. 2022
      SOURCES/0001-Revert-Remove-all-references-to-gnome-session-proper.patch
  2. 8
      SOURCES/0001-main-don-t-call-into-gdbus-before-setting-all-enviro.patch
  3. 443
      SOURCES/0002-Revert-Remove-gnome-session-properties.patch
  4. 8
      SOURCES/0002-autostart-ensure-gnome-shell-and-mutter-get-right-au.patch
  5. 243
      SOURCES/0003-Revert-Rename-the-desktop-file-to-gnome-session-prop.patch
  6. 6
      SOURCES/0004-stop-using-gsm_util_get_current_desktop.patch
  7. 18
      SOURCES/0005-session-properties-get-out-of-Other.patch
  8. 6
      SOURCES/0006-session-properties-refresh-from-recent-glade.patch
  9. 8
      SOURCES/0007-manager-Don-t-clear-saved-session-if-autosaving-is-d.patch
  10. 215
      SOURCES/0008-Add-Remember-Currently-Running-Applications-button.patch
  11. 50
      SOURCES/0009-Revert-Allow-saved-session-to-be-a-symlink.patch
  12. 16
      SOURCES/0010-Allow-saved-session-directory-to-be-a-symlink.patch
  13. 212
      SOURCES/0011-Tie-session-selector-to-properties-dialog.patch
  14. 8
      SOURCES/0012-make-save-session-stall-until-it-finishes.patch
  15. 67
      SOURCES/0013-manager-save-session-type-in-session-dir.patch
  16. 6
      SOURCES/0014-session-selector-restore-saved-session-mode.patch
  17. 6
      SOURCES/0015-session-selector-refresh-from-recent-glade.patch
  18. 8
      SOURCES/0016-session-selector-add-toggle-for-classic-normal-selec.patch
  19. 4
      SOURCES/0017-session-selector-use-classic-mode-by-default.patch
  20. 249
      SOURCES/0018-manager-port-away-from-dbus-glib-to-GDBus.patch
  21. 4
      SOURCES/0019-capplet-fix-disable-check-items.patch
  22. 8
      SOURCES/gnome-session-python3.patch
  23. 144
      SPECS/gnome-session.spec

2022
SOURCES/0001-Revert-Remove-all-references-to-gnome-session-proper.patch

File diff suppressed because it is too large Load Diff

8
SOURCES/0001-main-don-t-call-into-gdbus-before-setting-all-enviro.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From 2c0087930a188684e61e71d5b5459e4363471196 Mon Sep 17 00:00:00 2001
From 6294629686aed366210806a911016facd82a7fa7 Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Wed, 14 Feb 2018 09:50:56 -0500
Subject: [PATCH] main: don't call into gdbus before setting all environment
@ -12,7 +12,7 @@ doing all our setenv() work. @@ -12,7 +12,7 @@ doing all our setenv() work.
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnome-session/main.c b/gnome-session/main.c
index e2c3efe..e7a1614 100644
index b1ac385..bfcce83 100644
--- a/gnome-session/main.c
+++ b/gnome-session/main.c
@@ -244,91 +244,96 @@ initialize_gio (void)
@ -91,7 +91,7 @@ index e2c3efe..e7a1614 100644 @@ -91,7 +91,7 @@ index e2c3efe..e7a1614 100644
debug_string = g_getenv ("GNOME_SESSION_DEBUG");
if (debug_string != NULL) {
debug = rpmatch (debug_string) == TRUE || atoi (debug_string) == 1;
debug = atoi (debug_string) == 1;
}
error = NULL;
@ -109,7 +109,7 @@ index e2c3efe..e7a1614 100644 @@ -109,7 +109,7 @@ index e2c3efe..e7a1614 100644
* journald picks ups the nicer "gnome-session" as the program
* name instead of whatever shell script GDM happened to use.
*/
#ifdef HAVE_SYSTEMD
#ifdef ENABLE_SYSTEMD_JOURNAL
if (!debug) {
int journalfd;

443
SOURCES/0002-Revert-Remove-gnome-session-properties.patch

@ -1,31 +1,28 @@ @@ -1,31 +1,28 @@
From e18747f7c52f7d7d56f7d9490f934d59d84f8af9 Mon Sep 17 00:00:00 2001
From e799dc8f049da855bf05edd6f994d802cd59668f Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 8 May 2015 16:24:59 -0400
Subject: [PATCH 02/19] Revert "Remove gnome-session-properties"

This reverts commit ea285af9962313ee2675fff27d3a852bb61e936a.
---
Makefile.am | 1 +
capplet/Makefile.am | 31 +
capplet/gsm-app-dialog.c | 540 +++++++++++++
capplet/gsm-app-dialog.c | 540 +++++++++
capplet/gsm-app-dialog.h | 66 ++
capplet/gsm-properties-dialog.c | 774 +++++++++++++++++++
capplet/gsm-properties-dialog.h | 57 ++
capplet/gsp-app-manager.c | 593 ++++++++++++++
capplet/gsm-properties-dialog.c | 774 +++++++++++++
capplet/gsm-properties-dialog.h | 57 +
capplet/gsp-app-manager.c | 593 ++++++++++
capplet/gsp-app-manager.h | 81 ++
capplet/gsp-app.c | 1102 +++++++++++++++++++++++++++
capplet/gsp-app.h | 108 +++
capplet/gsp-keyfile.c | 201 +++++
capplet/gsp-app.c | 1102 +++++++++++++++++++
capplet/gsp-app.h | 108 ++
capplet/gsp-keyfile.c | 201 ++++
capplet/gsp-keyfile.h | 65 ++
capplet/main.c | 108 +++
configure.ac | 2 +
data/Makefile.am | 8 +-
capplet/main.c | 108 ++
capplet/meson.build | 36 +
data/gnome-session-properties.desktop.in.in | 15 +
doc/man/Makefile.am | 1 +
data/meson.build | 13 +
doc/man/gnome-session-properties.1 | 24 +
meson.build | 1 +
po/POTFILES.in | 5 +
19 files changed, 3781 insertions(+), 1 deletion(-)
create mode 100644 capplet/Makefile.am
17 files changed, 3789 insertions(+)
create mode 100644 capplet/gsm-app-dialog.c
create mode 100644 capplet/gsm-app-dialog.h
create mode 100644 capplet/gsm-properties-dialog.c
@ -37,84 +34,10 @@ This reverts commit ea285af9962313ee2675fff27d3a852bb61e936a. @@ -37,84 +34,10 @@ This reverts commit ea285af9962313ee2675fff27d3a852bb61e936a.
create mode 100644 capplet/gsp-keyfile.c
create mode 100644 capplet/gsp-keyfile.h
create mode 100644 capplet/main.c
create mode 100644 capplet/meson.build
create mode 100644 data/gnome-session-properties.desktop.in.in
create mode 100644 doc/man/gnome-session-properties.1

diff --git a/Makefile.am b/Makefile.am
index 6560a4ec..6b6a47bf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,32 +1,33 @@
SUBDIRS = \
gnome-session \
+ capplet \
tools \
data \
doc \
po
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
EXTRA_DIST = \
HACKING \
MAINTAINERS
MAINTAINERCLEANFILES = \
$(srcdir)/INSTALL \
$(srcdir)/aclocal.m4 \
$(srcdir)/config.guess \
$(srcdir)/config.h.in \
$(srcdir)/config.sub \
$(srcdir)/depcomp \
$(srcdir)/install-sh \
$(srcdir)/ltmain.sh \
$(srcdir)/missing \
$(srcdir)/mkinstalldirs \
$(srcdir)/configure \
$(srcdir)/m4/intltool.m4 \
`find "$(srcdir)" -type f -name Makefile.in -print`
CHANGELOG_GIT_RANGE = GNOME_SESSION_2_26_1..
dist-hook:
$(AM_V_GEN)if test -d "$(srcdir)/.git"; then \
( echo '# Generated by Makefile. Do not edit.'; echo; \
diff --git a/capplet/Makefile.am b/capplet/Makefile.am
new file mode 100644
index 00000000..c2e563cf
--- /dev/null
+++ b/capplet/Makefile.am
@@ -0,0 +1,31 @@
+bin_PROGRAMS = gnome-session-properties
+
+AM_CPPFLAGS = \
+ $(SESSION_PROPERTIES_CFLAGS) \
+ $(GCONF_CFLAGS) \
+ -I$(top_srcdir)/gnome-session \
+ -DLOCALE_DIR=\""$(datadir)/locale"\" \
+ -DGTKBUILDER_DIR=\""$(pkgdatadir)"\" \
+ $(DISABLE_DEPRECATED_CFLAGS)
+
+AM_CFLAGS = $(WARN_CFLAGS)
+
+gnome_session_properties_SOURCES = \
+ main.c \
+ gsm-properties-dialog.h \
+ gsm-properties-dialog.c \
+ gsm-app-dialog.h \
+ gsm-app-dialog.c \
+ gsp-app.h \
+ gsp-app.c \
+ gsp-app-manager.h \
+ gsp-app-manager.c \
+ gsp-keyfile.h \
+ gsp-keyfile.c
+
+gnome_session_properties_LDADD = \
+ $(SESSION_PROPERTIES_LIBS) \
+ $(top_builddir)/gnome-session/libgsmutil.la \
+ $(GCONF_LIBS)
+
+-include $(top_srcdir)/git.mk
diff --git a/capplet/gsm-app-dialog.c b/capplet/gsm-app-dialog.c
new file mode 100644
index 00000000..e7369dda
@ -3876,157 +3799,48 @@ index 00000000..3c7177bc @@ -3876,157 +3799,48 @@ index 00000000..3c7177bc
+
+ return 0;
+}
diff --git a/configure.ac b/configure.ac
index f57dcf3d..b3f285ed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -337,65 +337,67 @@ if test $enable_ipv6 = yes; then
]])],
[have_ipv6=yes],
[have_ipv6=no]
)
AC_MSG_RESULT($have_ipv6)
dnl =================================================================
dnl Now we would check for specific function like getaddrinfo.
dnl =================================================================
have_getaddrinfo=no
if test $have_ipv6=yes; then
AC_CHECK_FUNC(getaddrinfo, have_getaddrinfo=yes)
if test $have_getaddrinfo != yes; then
# getaddrinfo is not in the default libraries. See if it's in some other.
for lib in bsd socket inet; do
AC_CHECK_LIB($lib, getaddrinfo, [LIBS="$LIBS -l$lib";have_getaddrinfo=yes; break])
done
fi
if test $have_getaddrinfo=yes; then
AC_DEFINE(ENABLE_IPV6, 1, [Define if IPV6 is supported])
have_full_ipv6=yes
fi
fi
fi
dnl ==============================================================================
dnl End of IPv6 checks
dnl ==============================================================================
AC_CONFIG_FILES([
Makefile
+capplet/Makefile
doc/Makefile
doc/dbus/Makefile
doc/dbus/gnome-session.xml
doc/man/Makefile
data/Makefile
+data/gnome-session-properties.desktop.in
data/org.gnome.SessionManager.gschema.xml
data/icons/Makefile
data/icons/16x16/Makefile
data/icons/22x22/Makefile
data/icons/24x24/Makefile
data/icons/32x32/Makefile
data/icons/48x48/Makefile
data/icons/scalable/Makefile
data/icons/symbolic/Makefile
gnome-session/Makefile
tools/Makefile
po/Makefile.in
])
AC_OUTPUT
dnl ---------------------------------------------------------------------------
dnl - Show summary
dnl ---------------------------------------------------------------------------
echo "
gnome-session $VERSION
`echo gnome-session $VERSION | sed "s/./=/g"`
prefix: ${prefix}
exec_prefix: ${exec_prefix}
libdir: ${libdir}
bindir: ${bindir}
sbindir: ${sbindir}
sysconfdir: ${sysconfdir}
localstatedir: ${localstatedir}
diff --git a/data/Makefile.am b/data/Makefile.am
index 413279a2..b5c3f5ec 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,67 +1,73 @@
SUBDIRS = icons
uidir = $(pkgdatadir)
ui_DATA = \
session-properties.ui
if BUILD_SESSION_SELECTOR
ui_DATA += session-selector.ui
endif
hwcompatdir = $(pkgdatadir)
hwcompat_DATA = hardware-compatibility
xsessiondir = $(datadir)/xsessions
xsession_in_files = gnome.desktop.in gnome-xorg.desktop.in
if BUILD_SESSION_SELECTOR
xsession_in_files += gnome-custom-session.desktop.in
endif
xsession_DATA = $(xsession_in_files:.desktop.in=.desktop)
wayland_sessiondir = $(datadir)/wayland-sessions
wayland_session_in_files = gnome.desktop.in
wayland_session_DATA = $(wayland_session_in_files:.desktop.in=.desktop)
+desktopdir = $(datadir)/applications
+desktop_in_files = gnome-session-properties.desktop.in
+desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+
sessiondir = $(datadir)/gnome-session/sessions
session_in_in_files = gnome.session.desktop.in.in gnome-dummy.session.desktop.in.in
session_in_files = $(session_in_in_files:.session.desktop.in.in=.session.desktop.in)
session_DATA = $(session_in_files:.session.desktop.in=.session)
%.session.desktop.in: %.session.desktop.in.in Makefile
$(AM_V_GEN)sed \
-e "s|\@LIBEXECDIR\@|$(libexecdir)|" \
$< > $@
%.session: %.session.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
@INTLTOOL_DESKTOP_RULE@
@INTLTOOL_XML_NOMERGE_RULE@
gsettings_SCHEMAS = org.gnome.SessionManager.gschema.xml
@GSETTINGS_RULES@
migrationdir = $(datadir)/GConf/gsettings
dist_migration_DATA = gnome-session.convert
EXTRA_DIST = \
$(xsession_in_files) \
$(session_in_in_files) \
$(wayland_session_in_files) \
$(gsettings_SCHEMAS:.xml=.xml.in) \
session-selector.ui \
gnome-custom-session.desktop.in \
$(ui_DATA) \
$(hwcompat_DATA)
CLEANFILES = \
$(gsettings_SCHEMAS) \
$(xsession_DATA) \
$(wayland_session_DATA) \
+ $(desktop_DATA) \
$(session_DATA)
DISTCLEANFILES = \
- $(gsettings_SCHEMAS)
+ $(gsettings_SCHEMAS) \
+ $(desktop_in_files)
-include $(top_srcdir)/git.mk
diff --git a/capplet/meson.build b/capplet/meson.build
new file mode 100644
index 00000000..8dad9c80
--- /dev/null
+++ b/capplet/meson.build
@@ -0,0 +1,36 @@
+install_data(
+ install_dir: session_bindir
+)
+
+deps = session_deps + [
+ glib_dep,
+ gtk_dep,
+ x11_dep,
+ sm_dep,
+ ice_dep
+]
+
+cflags = [
+ '-DLOCALE_DIR="@0@"'.format(session_localedir),
+ '-DGTKBUILDER_DIR="@0@"'.format(session_pkgdatadir)
+]
+
+sources = files(
+ '../gnome-session/gsm-util.c',
+ 'gsm-app-dialog.c',
+ 'gsm-properties-dialog.c',
+ 'gsp-app.c',
+ 'gsp-app-manager.c',
+ 'gsp-keyfile.c',
+ 'main.c'
+)
+
+executable(
+ 'gnome-session-properties',
+ sources,
+ include_directories: [ top_inc, include_directories('../gnome-session') ],
+ dependencies: deps,
+ c_args: cflags,
+ install: true,
+ install_dir: session_bindir
+)
diff --git a/data/gnome-session-properties.desktop.in.in b/data/gnome-session-properties.desktop.in.in
new file mode 100644
index 00000000..3dc7b033
@ -4048,41 +3862,54 @@ index 00000000..3dc7b033 @@ -4048,41 +3862,54 @@ index 00000000..3dc7b033
+X-GNOME-Bugzilla-Product=gnome-session
+X-GNOME-Bugzilla-Component=gnome-session-properties
+X-GNOME-Bugzilla-Version=@VERSION@
diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am
index 02e5c62a..28794233 100644
--- a/doc/man/Makefile.am
+++ b/doc/man/Makefile.am
@@ -1,29 +1,30 @@
XSLTPROC_FLAGS = \
--nonet \
--stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \
--stringparam man.th.extra1.suppress 1 \
--stringparam man.authors.section.enabled 0 \
--stringparam man.copyright.section.enabled 0
diff --git a/data/meson.build b/data/meson.build
index b79a5fbd..c5b2b0f7 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -72,30 +72,43 @@ configure_file(
)
.xml.1:
$(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
install_data(
'gnome-session.convert',
install_dir: join_paths(session_datadir, 'GConf', 'gsettings')
)
man_MANS = \
gnome-session.1 \
+ gnome-session-properties.1 \
gnome-session-quit.1 \
gnome-session-inhibit.1
data = files('hardware-compatibility')
data += files('session-properties.ui')
if BUILD_SESSION_SELECTOR
man_MANS += gnome-session-selector.1
endif
if enable_session_selector
data += files('session-selector.ui')
EXTRA_DIST = \
gnome-session-inhibit.xml \
gnome-session-selector.xml \
$(man_MANS)
desktop = 'gnome-custom-session.desktop'
CLEANFILES = \
gnome-session-inhibit.1
i18n.merge_file(
desktop,
type: 'desktop',
input: desktop + '.in',
output: desktop,
po_dir: po_dir,
install: true,
install_dir: join_paths(session_datadir, 'xsessions')
)
endif
-include $(top_srcdir)/git.mk
install_data(
data,
install_dir: session_pkgdatadir
)
+
+desktop = 'gnome-session-properties.desktop'
+
+i18n.merge_file(
+ desktop,
+ type: 'desktop',
+ input: desktop + '.in',
+ output: desktop,
+ po_dir: po_dir,
+ install: true,
+ install_dir: join_paths(session_datadir, 'applications')
+)
+
diff --git a/doc/man/gnome-session-properties.1 b/doc/man/gnome-session-properties.1
new file mode 100644
index 00000000..c7ef1af3
@ -4113,8 +3940,74 @@ index 00000000..c7ef1af3 @@ -4113,8 +3940,74 @@ index 00000000..c7ef1af3
+.SH SEE ALSO
+.BR gnome-session(1)
+.BR gnome-session-quit(1)
diff --git a/meson.build b/meson.build
index 0231360b..9a16d5b1 100644
--- a/meson.build
+++ b/meson.build
@@ -152,60 +152,61 @@ if enable_systemd or enable_consolekit
dbus_glib_dep = dependency('dbus-glib-1', version: '>= 0.76')
assert(dbus_glib_dep.found(), 'ConsoleKit support explicitly required, but dbus-glib not found')
session_bin_deps += dbus_glib_dep
if enable_systemd
session_tracking += ' (with fallback to ConsoleKit)'
else
session_tracking = 'ConsoleKit'
endif
endif
endif
config_h.set('HAVE_SYSTEMD', enable_systemd)
config_h.set('ENABLE_SYSTEMD_JOURNAL', enable_systemd_journal)
config_h.set('HAVE_CONSOLEKIT', enable_consolekit)
configure_file(
output: 'config.h',
configuration: config_h
)
gnome = import('gnome')
i18n = import('i18n')
pkg = import('pkgconfig')
po_dir = join_paths(meson.source_root(), 'po')
top_inc = include_directories('.')
subdir('gnome-session')
+subdir('capplet')
subdir('tools')
subdir('data')
enable_docbook = get_option('docbook')
enable_man = get_option('man')
if enable_docbook or enable_man
subdir('doc')
endif
subdir('po')
meson.add_install_script(
'meson_post_install.py',
session_datadir
)
output = '\n gnome-session ' + session_version + '\n'
output += ' ====================\n\n'
output += ' prefix: ' + session_prefix + '\n'
output += ' exec_prefix: ' + session_libexecdir + '\n'
output += ' libdir: ' + session_libdir + '\n'
output += ' bindir: ' + session_bindir + '\n'
output += ' sbindir: ' + session_sbindir + '\n'
output += ' sysconfdir: ' + session_sysconfdir + '\n'
output += ' localstatedir: ' + session_localstatedir + '\n'
output += ' datadir: ' + session_datadir + '\n'
output += ' source code location: ' + meson.source_root() + '\n'
output += ' compiler: ' + cc.get_id() + '\n'
output += ' cflags: ' + ' '.join(compiler_flags) + '\n'
output += ' Debug mode: ' + session_debug.to_string() + '\n'
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 76882645..5cb5123d 100644
index f32040fc..87555685 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,19 +1,24 @@
@ -4130,8 +4023,8 @@ index 76882645..5cb5123d 100644 @@ -4130,8 +4023,8 @@ index 76882645..5cb5123d 100644
data/gnome-dummy.session.desktop.in.in
data/gnome.session.desktop.in.in
+data/gnome-session-properties.desktop.in.in
[type: gettext/glade]data/session-selector.ui
[type: gettext/glade]data/session-properties.ui
data/session-selector.ui
data/session-properties.ui
gnome-session/gsm-fail-whale-dialog.c
gnome-session/gsm-manager.c
gnome-session/gsm-process-helper.c
@ -4143,5 +4036,5 @@ index 76882645..5cb5123d 100644 @@ -4143,5 +4036,5 @@ index 76882645..5cb5123d 100644
tools/gnome-session-selector.c
tools/gnome-session-quit.c
--
2.14.2
2.17.0


8
SOURCES/0002-autostart-ensure-gnome-shell-and-mutter-get-right-au.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From 622e54d54c65eba7c5d8e4172f8aae8a970126f9 Mon Sep 17 00:00:00 2001
From 625609b907e37e30fa29eaf7beb9426fd2405eaa Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Thu, 18 Jan 2018 10:09:36 -0500
Subject: [PATCH 2/2] autostart: ensure gnome-shell and mutter get right
@ -15,10 +15,10 @@ are important for a functioning GNOME desktop. @@ -15,10 +15,10 @@ are important for a functioning GNOME desktop.
1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnome-session/gsm-autostart-app.c b/gnome-session/gsm-autostart-app.c
index 9eb1db5b..5617e549 100644
index 2332b039..584a9105 100644
--- a/gnome-session/gsm-autostart-app.c
+++ b/gnome-session/gsm-autostart-app.c
@@ -621,61 +621,71 @@ load_desktop_file (GsmAutostartApp *app)
@@ -545,61 +545,71 @@ load_desktop_file (GsmAutostartApp *app)
char *startup_id;
char *phase_str;
int phase;
@ -57,7 +57,7 @@ index 9eb1db5b..5617e549 100644 @@ -57,7 +57,7 @@ index 9eb1db5b..5617e549 100644
+ /* These hardcoded checks are to keep upgrades working */
+ if (app_id != NULL && g_str_has_prefix (app_id, "org.gnome.Shell"))
+ phase = GSM_MANAGER_PHASE_DISPLAY_SERVER;
+ else if (app_id != NULL && g_str_has_prefix (app_id, "org.gnome.SettingsDaemon"))
+ else if (app_id != NULL && g_str_equal (app_id, "org.gnome.SettingsDaemon.desktop"))
+ phase = GSM_MANAGER_PHASE_INITIALIZATION;
+ else
+ phase = GSM_MANAGER_PHASE_APPLICATION;

243
SOURCES/0003-Revert-Rename-the-desktop-file-to-gnome-session-prop.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From 808e1598dc50484f62998b4a9e94e956f028d362 Mon Sep 17 00:00:00 2001
From 3e893278df0743bb1682f7bca88d16c90b8c0341 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 8 May 2015 16:27:15 -0400
Subject: [PATCH 03/19] Revert "Rename the desktop file to
@ -6,154 +6,91 @@ Subject: [PATCH 03/19] Revert "Rename the desktop file to @@ -6,154 +6,91 @@ Subject: [PATCH 03/19] Revert "Rename the desktop file to

This reverts commit ac9fd0dc97a17674cb082f80df0b1fcc45bc92bf.
---
configure.ac | 2 +-
data/Makefile.am | 2 +-
...ession-properties.desktop.in.in => session-properties.desktop.in.in} | 0
po/POTFILES.in | 1 +
po/POTFILES.skip | 1 +
5 files changed, 4 insertions(+), 2 deletions(-)
rename data/{gnome-session-properties.desktop.in.in => session-properties.desktop.in.in} (100%)
data/meson.build | 2 +-
...properties.desktop.in.in => session-properties.desktop.in} | 4 ++--
po/POTFILES.in | 2 +-
po/POTFILES.skip | 1 +
4 files changed, 5 insertions(+), 4 deletions(-)
rename data/{gnome-session-properties.desktop.in.in => session-properties.desktop.in} (81%)

diff --git a/configure.ac b/configure.ac
index b3f285ed..5182c09e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -343,61 +343,61 @@ if test $enable_ipv6 = yes; then
dnl =================================================================
dnl Now we would check for specific function like getaddrinfo.
dnl =================================================================
have_getaddrinfo=no
if test $have_ipv6=yes; then
AC_CHECK_FUNC(getaddrinfo, have_getaddrinfo=yes)
if test $have_getaddrinfo != yes; then
# getaddrinfo is not in the default libraries. See if it's in some other.
for lib in bsd socket inet; do
AC_CHECK_LIB($lib, getaddrinfo, [LIBS="$LIBS -l$lib";have_getaddrinfo=yes; break])
done
fi
if test $have_getaddrinfo=yes; then
AC_DEFINE(ENABLE_IPV6, 1, [Define if IPV6 is supported])
have_full_ipv6=yes
fi
fi
fi
dnl ==============================================================================
dnl End of IPv6 checks
dnl ==============================================================================
AC_CONFIG_FILES([
Makefile
capplet/Makefile
doc/Makefile
doc/dbus/Makefile
doc/dbus/gnome-session.xml
doc/man/Makefile
data/Makefile
-data/gnome-session-properties.desktop.in
+data/session-properties.desktop.in
data/org.gnome.SessionManager.gschema.xml
data/icons/Makefile
data/icons/16x16/Makefile
data/icons/22x22/Makefile
data/icons/24x24/Makefile
data/icons/32x32/Makefile
data/icons/48x48/Makefile
data/icons/scalable/Makefile
data/icons/symbolic/Makefile
gnome-session/Makefile
tools/Makefile
po/Makefile.in
])
AC_OUTPUT
dnl ---------------------------------------------------------------------------
dnl - Show summary
dnl ---------------------------------------------------------------------------
echo "
gnome-session $VERSION
`echo gnome-session $VERSION | sed "s/./=/g"`
prefix: ${prefix}
exec_prefix: ${exec_prefix}
libdir: ${libdir}
bindir: ${bindir}
sbindir: ${sbindir}
sysconfdir: ${sysconfdir}
localstatedir: ${localstatedir}
diff --git a/data/Makefile.am b/data/Makefile.am
index b5c3f5ec..0bb25c06 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,58 +1,58 @@
SUBDIRS = icons
uidir = $(pkgdatadir)
ui_DATA = \
session-properties.ui
if BUILD_SESSION_SELECTOR
ui_DATA += session-selector.ui
endif
hwcompatdir = $(pkgdatadir)
hwcompat_DATA = hardware-compatibility
xsessiondir = $(datadir)/xsessions
xsession_in_files = gnome.desktop.in gnome-xorg.desktop.in
if BUILD_SESSION_SELECTOR
xsession_in_files += gnome-custom-session.desktop.in
diff --git a/data/meson.build b/data/meson.build
index c5b2b0f7..3077b19e 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -73,42 +73,42 @@ configure_file(
install_data(
'gnome-session.convert',
install_dir: join_paths(session_datadir, 'GConf', 'gsettings')
)
data = files('hardware-compatibility')
data += files('session-properties.ui')
if enable_session_selector
data += files('session-selector.ui')
desktop = 'gnome-custom-session.desktop'
i18n.merge_file(
desktop,
type: 'desktop',
input: desktop + '.in',
output: desktop,
po_dir: po_dir,
install: true,
install_dir: join_paths(session_datadir, 'xsessions')
)
endif
xsession_DATA = $(xsession_in_files:.desktop.in=.desktop)
wayland_sessiondir = $(datadir)/wayland-sessions
wayland_session_in_files = gnome.desktop.in
wayland_session_DATA = $(wayland_session_in_files:.desktop.in=.desktop)
desktopdir = $(datadir)/applications
-desktop_in_files = gnome-session-properties.desktop.in
+desktop_in_files = session-properties.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
sessiondir = $(datadir)/gnome-session/sessions
session_in_in_files = gnome.session.desktop.in.in gnome-dummy.session.desktop.in.in
session_in_files = $(session_in_in_files:.session.desktop.in.in=.session.desktop.in)
session_DATA = $(session_in_files:.session.desktop.in=.session)
%.session.desktop.in: %.session.desktop.in.in Makefile
$(AM_V_GEN)sed \
-e "s|\@LIBEXECDIR\@|$(libexecdir)|" \
$< > $@
%.session: %.session.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
@INTLTOOL_DESKTOP_RULE@
@INTLTOOL_XML_NOMERGE_RULE@
gsettings_SCHEMAS = org.gnome.SessionManager.gschema.xml
@GSETTINGS_RULES@
migrationdir = $(datadir)/GConf/gsettings
dist_migration_DATA = gnome-session.convert
EXTRA_DIST = \
$(xsession_in_files) \
$(session_in_in_files) \
$(wayland_session_in_files) \
$(gsettings_SCHEMAS:.xml=.xml.in) \
session-selector.ui \
gnome-custom-session.desktop.in \
diff --git a/data/gnome-session-properties.desktop.in.in b/data/session-properties.desktop.in.in
similarity index 100%
install_data(
data,
install_dir: session_pkgdatadir
)
-desktop = 'gnome-session-properties.desktop'
+desktop = 'session-properties.desktop'
i18n.merge_file(
desktop,
type: 'desktop',
input: desktop + '.in',
output: desktop,
po_dir: po_dir,
install: true,
install_dir: join_paths(session_datadir, 'applications')
)
diff --git a/data/gnome-session-properties.desktop.in.in b/data/session-properties.desktop.in
similarity index 81%
rename from data/gnome-session-properties.desktop.in.in
rename to data/session-properties.desktop.in.in
rename to data/session-properties.desktop.in
index 3dc7b033..dcd39ca5 100644
--- a/data/gnome-session-properties.desktop.in.in
+++ b/data/session-properties.desktop.in
@@ -1,15 +1,15 @@
[Desktop Entry]
-_Name=Startup Applications
-_Comment=Choose what applications to start when you log in
+Name=Startup Applications
+Comment=Choose what applications to start when you log in
Exec=gnome-session-properties
Icon=session-properties
Terminal=false
Type=Application
StartupNotify=true
Categories=GTK;GNOME;Settings;X-GNOME-PersonalSettings;
OnlyShowIn=GNOME;Unity;
NoDisplay=true
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-session
X-GNOME-Bugzilla-Component=gnome-session-properties
X-GNOME-Bugzilla-Version=@VERSION@
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 5cb5123d..08d2eb06 100644
index 87555685..e8f0e6eb 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,24 +1,25 @@
@@ -1,24 +1,24 @@
# List of source files containing translatable strings.
# Please keep this file sorted alphabetically.
capplet/gsm-app-dialog.c
@ -165,10 +102,10 @@ index 5cb5123d..08d2eb06 100644 @@ -165,10 +102,10 @@ index 5cb5123d..08d2eb06 100644
data/gnome-xorg.desktop.in
data/gnome-dummy.session.desktop.in.in
data/gnome.session.desktop.in.in
data/gnome-session-properties.desktop.in.in
[type: gettext/glade]data/session-selector.ui
+data/session-properties.desktop.in.in
[type: gettext/glade]data/session-properties.ui
-data/gnome-session-properties.desktop.in.in
+data/session-properties.desktop.in
data/session-selector.ui
data/session-properties.ui
gnome-session/gsm-fail-whale-dialog.c
gnome-session/gsm-manager.c
gnome-session/gsm-process-helper.c
@ -179,17 +116,3 @@ index 5cb5123d..08d2eb06 100644 @@ -179,17 +116,3 @@ index 5cb5123d..08d2eb06 100644
tools/gnome-session-inhibit.c
tools/gnome-session-selector.c
tools/gnome-session-quit.c
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index 91b41569..e6470914 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -1,5 +1,6 @@
# List of source files containing translatable strings that should not be
# translated.
# Please keep this file sorted alphabetically.
data/gnome-dummy.session.desktop.in
data/gnome.session.desktop.in
+data/session-properties.desktop.in
--
2.14.2


6
SOURCES/0004-stop-using-gsm_util_get_current_desktop.patch

@ -1,11 +1,11 @@ @@ -1,11 +1,11 @@
From 2a087ede1b20e8dcac1c37c0b280f9bf6be7c93b Mon Sep 17 00:00:00 2001
From 6bb533cf0a1bd0eb8b60f26ad022753608e519e8 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 13 May 2015 10:56:09 -0400
Subject: [PATCH 04/19] stop using gsm_util_get_current_desktop

It no longer exists.
---
capplet/gsp-app.c | 111 +++++++++++++++++++++++++++++-------------------------
capplet/gsp-app.c | 111 +++++++++++++++++++++++++---------------------
1 file changed, 60 insertions(+), 51 deletions(-)

diff --git a/capplet/gsp-app.c b/capplet/gsp-app.c
@ -437,5 +437,5 @@ index c92b8dad..123ab217 100644 @@ -437,5 +437,5 @@ index c92b8dad..123ab217 100644
char *filename;
char *basename;
--
2.14.2
2.17.0


18
SOURCES/0005-session-properties-get-out-of-Other.patch

@ -1,21 +1,21 @@ @@ -1,21 +1,21 @@
From 119ac97cea3b362e53aaa236f643f9bb916a03cb Mon Sep 17 00:00:00 2001
From 430d26885e3f42e5eb9807fc62265f03eb72ed60 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 20 Dec 2013 15:07:35 -0500
Subject: [PATCH 05/19] session-properties: get out of Other

Put it in the menus next to Settings and Software
---
data/session-properties.desktop.in.in | 2 +-
data/session-properties.desktop.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/data/session-properties.desktop.in.in b/data/session-properties.desktop.in.in
index 3dc7b033..dcfe2f84 100644
--- a/data/session-properties.desktop.in.in
+++ b/data/session-properties.desktop.in.in
diff --git a/data/session-properties.desktop.in b/data/session-properties.desktop.in
index dcd39ca5..2c86b6b6 100644
--- a/data/session-properties.desktop.in
+++ b/data/session-properties.desktop.in
@@ -1,15 +1,15 @@
[Desktop Entry]
_Name=Startup Applications
_Comment=Choose what applications to start when you log in
Name=Startup Applications
Comment=Choose what applications to start when you log in
Exec=gnome-session-properties
Icon=session-properties
Terminal=false
@ -30,5 +30,5 @@ index 3dc7b033..dcfe2f84 100644 @@ -30,5 +30,5 @@ index 3dc7b033..dcfe2f84 100644
X-GNOME-Bugzilla-Component=gnome-session-properties
X-GNOME-Bugzilla-Version=@VERSION@
--
2.14.2
2.17.0


6
SOURCES/0006-session-properties-refresh-from-recent-glade.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From 805c9f995da83c173f9323f55a3f26b627410553 Mon Sep 17 00:00:00 2001
From 625f6e779a23739b1c8e04c810a17b608df129c6 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 20 Dec 2013 10:53:33 -0500
Subject: [PATCH 06/19] session-properties: refresh from recent glade
@ -7,7 +7,7 @@ The ui file is rather old. This commit just opens it up in a recent @@ -7,7 +7,7 @@ The ui file is rather old. This commit just opens it up in a recent
glade and resaves it, so we have a fresh starting point to make
changes.
---
data/session-properties.ui | 43 ++++++++++++++++++++++++++++++++++---------
data/session-properties.ui | 43 ++++++++++++++++++++++++++++++--------
1 file changed, 34 insertions(+), 9 deletions(-)

diff --git a/data/session-properties.ui b/data/session-properties.ui
@ -373,5 +373,5 @@ index 1f0cb9a5..47a30f78 100644 @@ -373,5 +373,5 @@ index 1f0cb9a5..47a30f78 100644
</object>
</interface>
--
2.14.2
2.17.0


8
SOURCES/0007-manager-Don-t-clear-saved-session-if-autosaving-is-d.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From eb9b29eeb55c47d691b65b046e31ede815e3d22c Mon Sep 17 00:00:00 2001
From 89ae27922b1a07f310ca51957294bedca47e54d9 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 20 Dec 2013 16:14:16 -0500
Subject: [PATCH 07/19] manager: Don't clear saved session if autosaving is
@ -11,7 +11,7 @@ we don't wipe that away at log out. @@ -11,7 +11,7 @@ we don't wipe that away at log out.
1 file changed, 1 deletion(-)

diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index bdba38e8..e2fad3b1 100644
index 3cf421cd..4bb81e04 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -1828,61 +1828,60 @@ on_xsmp_client_register_confirmed (GsmXSMPClient *client,
@ -50,7 +50,7 @@ index bdba38e8..e2fad3b1 100644 @@ -50,7 +50,7 @@ index bdba38e8..e2fad3b1 100644
}
error = NULL;
gsm_session_save (manager->priv->clients, &error);
gsm_session_save (manager->priv->clients, manager->priv->apps, &error);
if (error) {
g_warning ("Error saving session: %s", error->message);
@ -77,5 +77,5 @@ index bdba38e8..e2fad3b1 100644 @@ -77,5 +77,5 @@ index bdba38e8..e2fad3b1 100644
cancel_end_session (manager);
return;
--
2.14.2
2.17.0


215
SOURCES/0008-Add-Remember-Currently-Running-Applications-button.patch

@ -1,22 +1,23 @@ @@ -1,22 +1,23 @@
From cae19300c8035b84c71f6ba5fb17d86add2465dd Mon Sep 17 00:00:00 2001
From ade647861a671eca584d25432722ac2661854748 Mon Sep 17 00:00:00 2001
From: Josselin Mouette <joss@malsain.org>
Date: Mon, 21 Jun 2010 15:22:23 -0400
Subject: [PATCH 08/19] Add "Remember Currently Running Applications" button

This adds back session saving that's not at logout.
---
capplet/gsm-properties-dialog.c | 63 +++++++++++-
configure.ac | 1 +
data/session-properties.ui | 12 +++
capplet/gsm-properties-dialog.c | 63 ++++++++-
capplet/meson.build | 3 +-
data/session-properties.ui | 12 ++
gnome-session/gsm-client.c | 10 ++
gnome-session/gsm-client.h | 6 ++
gnome-session/gsm-dbus-client.c | 14 +++
gnome-session/gsm-manager.c | 150 ++++++++++++++++++++++++++++-
gnome-session/gsm-client.h | 6 +
gnome-session/gsm-dbus-client.c | 14 ++
gnome-session/gsm-manager.c | 150 ++++++++++++++++++++-
gnome-session/gsm-manager.h | 3 +
gnome-session/gsm-xsmp-client.c | 37 +++++++
gnome-session/gsm-xsmp-client.c | 37 +++++
gnome-session/gsm-xsmp-client.h | 3 +-
gnome-session/org.gnome.SessionManager.xml | 8 ++
11 files changed, 303 insertions(+), 4 deletions(-)
meson.build | 1 +
12 files changed, 305 insertions(+), 5 deletions(-)

diff --git a/capplet/gsm-properties-dialog.c b/capplet/gsm-properties-dialog.c
index 33812b8b..d2be778b 100644
@ -221,72 +222,49 @@ index 33812b8b..d2be778b 100644 @@ -221,72 +222,49 @@ index 33812b8b..d2be778b 100644
dialog->priv->tree_filter = tree_filter;
gtk_tree_model_filter_set_visible_column (GTK_TREE_MODEL_FILTER (tree_filter),
diff --git a/configure.ac b/configure.ac
index 5182c09e..73e69bc7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -51,60 +51,61 @@ if test "$enable_session_selector" = yes; then
PKG_CHECK_MODULES(SESSION_SELECTOR, gtk+-3.0 gio-2.0)
fi
dnl ====================================================================
dnl Dependency Checks
dnl ====================================================================
dnl Standard vertical stacks
PKG_CHECK_MODULES(GIO, gio-2.0)
PKG_CHECK_MODULES(GIOUNIX, gio-unix-2.0 >= $GLIB_REQUIRED)
PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= $GTK3_REQUIRED)
PKG_CHECK_MODULES(GNOME_SESSION,
glib-2.0 >= $GLIB_REQUIRED
gio-2.0 >= $GLIB_REQUIRED
json-glib-1.0 >= $JSON_GLIB_REQUIRED
gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED
diff --git a/capplet/meson.build b/capplet/meson.build
index 8dad9c80..ae6cb6b9 100644
--- a/capplet/meson.build
+++ b/capplet/meson.build
@@ -1,36 +1,37 @@
install_data(
install_dir: session_bindir
)
dnl We can only support old upower
dnl https://bugzilla.gnome.org/show_bug.cgi?id=710383
PKG_CHECK_MODULES(UPOWER, upower-glib < 0.99.0, have_old_upower=yes, have_old_upower=no)
AS_IF([test x$have_old_upower = xyes], [
AC_DEFINE([HAVE_OLD_UPOWER], [1], [Define if we have an older upower])
])
AM_CONDITIONAL(HAVE_OLD_UPOWER, test x$have_old_upower = xyes)
PKG_CHECK_MODULES(SESSION_PROPERTIES,
glib-2.0 >= $GLIB_REQUIRED
gtk+-3.0 >= $GTK3_REQUIRED
+ dbus-glib-1 >= $DBUS_GLIB_REQUIRED
deps = session_deps + [
glib_dep,
gtk_dep,
x11_dep,
sm_dep,
- ice_dep
+ ice_dep,
+ dbus_glib_dep
]
cflags = [
'-DLOCALE_DIR="@0@"'.format(session_localedir),
'-DGTKBUILDER_DIR="@0@"'.format(session_pkgdatadir)
]
sources = files(
'../gnome-session/gsm-util.c',
'gsm-app-dialog.c',
'gsm-properties-dialog.c',
'gsp-app.c',
'gsp-app-manager.c',
'gsp-keyfile.c',
'main.c'
)
PKG_CHECK_MODULES(X11, x11)
PKG_CHECK_MODULES(SM, sm)
PKG_CHECK_MODULES(ICE, ice)
PKG_CHECK_MODULES(XEXT, xext xau)
PKG_CHECK_MODULES(GL_TEST, xcomposite gl glib-2.0 epoxy)
PKG_CHECK_MODULES(GLES_TEST, egl glesv2)
dnl ====================================================================
dnl Check for gconf
dnl ====================================================================
AC_ARG_ENABLE([gconf],
AS_HELP_STRING([--enable-gconf], [Support gconf-based autostart]),
[enable_gconf=$enableval],
[enable_gconf=auto])
if test x$enable_gconf != xno ; then
PKG_CHECK_MODULES(GCONF, gconf-2.0, [have_gconf=yes], [have_gconf=no])
if test x$enable_gconf = xyes -a x$have_gconf = xno ; then
AC_MSG_ERROR([GConf support explicitly required, but gconf not found])
fi
if test x$have_gconf = xyes ; then
AC_DEFINE([HAVE_GCONF], [1], [Define if we support gconf-based autostart])
fi
fi
executable(
'gnome-session-properties',
sources,
include_directories: [ top_inc, include_directories('../gnome-session') ],
dependencies: deps,
c_args: cflags,
install: true,
install_dir: session_bindir
)
diff --git a/data/session-properties.ui b/data/session-properties.ui
index 47a30f78..b43759ff 100644
--- a/data/session-properties.ui
@ -413,10 +391,10 @@ index 47a30f78..b43759ff 100644 @@ -413,10 +391,10 @@ index 47a30f78..b43759ff 100644
<property name="can_focus">False</property>
<property name="spacing">12</property>
diff --git a/gnome-session/gsm-client.c b/gnome-session/gsm-client.c
index 75edbbff..7b78d9e1 100644
index 6828ad44..3f216b22 100644
--- a/gnome-session/gsm-client.c
+++ b/gnome-session/gsm-client.c
@@ -514,49 +514,59 @@ gsm_client_query_end_session (GsmClient *client,
@@ -514,50 +514,60 @@ gsm_client_query_end_session (GsmClient *client,
g_return_val_if_fail (GSM_IS_CLIENT (client), FALSE);
return GSM_CLIENT_GET_CLASS (client)->impl_query_end_session (client, flags, error);
@ -459,11 +437,12 @@ index 75edbbff..7b78d9e1 100644 @@ -459,11 +437,12 @@ index 75edbbff..7b78d9e1 100644
+
GKeyFile *
gsm_client_save (GsmClient *client,
GsmApp *app,
GError **error)
{
g_return_val_if_fail (GSM_IS_CLIENT (client), FALSE);
return GSM_CLIENT_GET_CLASS (client)->impl_save (client, error);
return GSM_CLIENT_GET_CLASS (client)->impl_save (client, app, error);
}
void
@ -477,10 +456,10 @@ index 75edbbff..7b78d9e1 100644 @@ -477,10 +456,10 @@ index 75edbbff..7b78d9e1 100644
is_ok, do_last, cancel, reason);
}
diff --git a/gnome-session/gsm-client.h b/gnome-session/gsm-client.h
index cd7c06d8..f79896b3 100644
index 78cb15d8..19c9cd8d 100644
--- a/gnome-session/gsm-client.h
+++ b/gnome-session/gsm-client.h
@@ -63,89 +63,95 @@ struct _GsmClient
@@ -64,91 +64,97 @@ struct _GsmClient
GObject parent;
GsmClientPrivate *priv;
};
@ -515,6 +494,7 @@ index cd7c06d8..f79896b3 100644 @@ -515,6 +494,7 @@ index cd7c06d8..f79896b3 100644
+ guint flags,
+ GError **error);
GKeyFile * (*impl_save) (GsmClient *client,
GsmApp *app,
GError **error);
};
@ -560,6 +540,7 @@ index cd7c06d8..f79896b3 100644 @@ -560,6 +540,7 @@ index cd7c06d8..f79896b3 100644
+ guint flags,
+ GError **error);
GKeyFile *gsm_client_save (GsmClient *client,
GsmApp *app,
GError **error);
gboolean gsm_client_stop (GsmClient *client,
@ -577,7 +558,7 @@ index cd7c06d8..f79896b3 100644 @@ -577,7 +558,7 @@ index cd7c06d8..f79896b3 100644
#endif /* __GSM_CLIENT_H__ */
diff --git a/gnome-session/gsm-dbus-client.c b/gnome-session/gsm-dbus-client.c
index dcf96f0b..050ea18f 100644
index 6e9b002b..5793f830 100644
--- a/gnome-session/gsm-dbus-client.c
+++ b/gnome-session/gsm-dbus-client.c
@@ -300,60 +300,73 @@ gsm_dbus_client_get_property (GObject *object,
@ -626,6 +607,7 @@ index dcf96f0b..050ea18f 100644 @@ -626,6 +607,7 @@ index dcf96f0b..050ea18f 100644
+
static GKeyFile *
dbus_client_save (GsmClient *client,
GsmApp *app,
GError **error)
{
g_debug ("GsmDBusClient: saving client with id %s",
@ -653,8 +635,7 @@ index dcf96f0b..050ea18f 100644 @@ -653,8 +635,7 @@ index dcf96f0b..050ea18f 100644
return NULL;
}
static GsmClientRestartStyle
@@ -393,60 +406,61 @@ static gboolean
@@ -394,60 +407,61 @@ static gboolean
dbus_client_end_session (GsmClient *client,
GsmClientEndSessionFlag flags,
GError **error)
@ -717,7 +698,7 @@ index dcf96f0b..050ea18f 100644 @@ -717,7 +698,7 @@ index dcf96f0b..050ea18f 100644
"bus-name", bus_name,
NULL);
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index e2fad3b1..825a6846 100644
index 4bb81e04..ede4186a 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -54,60 +54,61 @@
@ -997,7 +978,7 @@ index e2fad3b1..825a6846 100644 @@ -997,7 +978,7 @@ index e2fad3b1..825a6846 100644
}
error = NULL;
gsm_session_save (manager->priv->clients, &error);
gsm_session_save (manager->priv->clients, manager->priv->apps, &error);
if (error) {
g_warning ("Error saving session: %s", error->message);
@ -1315,7 +1296,7 @@ index bc440cb0..4d14aa34 100644 @@ -1315,7 +1296,7 @@ index bc440cb0..4d14aa34 100644
#endif /* __GSM_MANAGER_H */
diff --git a/gnome-session/gsm-xsmp-client.c b/gnome-session/gsm-xsmp-client.c
index 9358f94c..2846d9b3 100644
index 8a30926f..cbecd68c 100644
--- a/gnome-session/gsm-xsmp-client.c
+++ b/gnome-session/gsm-xsmp-client.c
@@ -39,60 +39,61 @@
@ -1465,7 +1446,7 @@ index 9358f94c..2846d9b3 100644 @@ -1465,7 +1446,7 @@ index 9358f94c..2846d9b3 100644
desktop_file_path =
gsm_util_find_desktop_file_for_app_name (program_name,
TRUE, FALSE);
@@ -955,100 +980,112 @@ xsmp_get_unix_process_id (GsmClient *client)
@@ -964,100 +989,112 @@ xsmp_get_unix_process_id (GsmClient *client)
gboolean res;
g_debug ("GsmXSMPClient: getting pid");
@ -1719,6 +1700,72 @@ index 580ec356..29eb0990 100644 @@ -1719,6 +1700,72 @@ index 580ec356..29eb0990 100644
<doc:term>0</doc:term>
<doc:definition>Normal.</doc:definition>
</doc:item>
diff --git a/meson.build b/meson.build
index 9a16d5b1..24221bb6 100644
--- a/meson.build
+++ b/meson.build
@@ -72,60 +72,61 @@ if enable_deprecation_flags
endif
compiler_flags = []
if session_debug
test_cflags = [
'-Werror=format=2',
'-Werror=implicit-function-declaration',
'-Werror=init-self',
'-Werror=missing-include-dirs',
'-Werror=missing-prototypes',
'-Werror=pointer-arith',
'-Werror=return-type',
'-Wnested-externs',
'-Wstrict-prototypes'
]
compiler_flags += cc.get_supported_arguments(test_cflags)
endif
add_project_arguments(common_flags + compiler_flags, language: 'c')
glib_req_version = '>= 2.46.0'
gio_dep = dependency('gio-2.0', version: glib_req_version)
glib_dep = dependency('glib-2.0', version: glib_req_version)
gtk_dep = dependency('gtk+-3.0', version: '>= 3.18.0')
xtrans_dep = dependency('xtrans')
ice_dep = dependency('ice')
sm_dep = dependency('sm')
x11_dep = dependency('x11')
+dbus_glib_dep = dependency('dbus-glib-1')
session_deps = [
gio_dep,
glib_dep,
dependency('gnome-desktop-3.0', version: '>= 3.18.0'),
dependency('json-glib-1.0', version: '>= 0.10')
]
session_bin_deps = session_deps + [
xtrans_dep,
ice_dep,
sm_dep
]
# Check for session selector GTK+ UI
enable_session_selector = get_option('session_selector')
# Check for session tracking backend
session_tracking = 'null backend'
enable_systemd = get_option('systemd')
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)
# Check for systemd
if enable_systemd
libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
session_bin_deps += libsystemd_dep
--
2.14.2
2.17.0


50
SOURCES/0009-Revert-Allow-saved-session-to-be-a-symlink.patch

@ -1,20 +1,19 @@ @@ -1,20 +1,19 @@
From abf8b3509a0debaf124669d9626a6d9883a1a0d3 Mon Sep 17 00:00:00 2001
From 489166afdd82af3ec4897c8369a89bbaeffea2d9 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 20 Dec 2013 11:22:07 -0500
Subject: [PATCH 09/19] Revert "Allow saved-session to be a symlink"

This reverts commit b733c2ee519b65c3c4eab0d0e93056412f995f3f.
---
gnome-session/gsm-session-save.c | 32 ++++++++++++++++++++++++++++----
gnome-session/gsm-session-save.c | 33 +++++++++++++++++++++++++++-----
gnome-session/gsm-util.c | 6 ++++++
2 files changed, 34 insertions(+), 4 deletions(-)
2 files changed, 34 insertions(+), 5 deletions(-)

diff --git a/gnome-session/gsm-session-save.c b/gnome-session/gsm-session-save.c
index d6000e09..eebc5ff1 100644
index a71a6181..04b5277c 100644
--- a/gnome-session/gsm-session-save.c
+++ b/gnome-session/gsm-session-save.c
@@ -9,61 +9,61 @@
*
@@ -10,61 +10,61 @@
* 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
@ -30,6 +29,7 @@ index d6000e09..eebc5ff1 100644 @@ -30,6 +29,7 @@ index d6000e09..eebc5ff1 100644
#include <glib/gstdio.h>
#include <gio/gio.h>
#include "gsm-app.h"
#include "gsm-util.h"
#include "gsm-autostart-app.h"
#include "gsm-client.h"
@ -47,9 +47,21 @@ index d6000e09..eebc5ff1 100644 @@ -47,9 +47,21 @@ index d6000e09..eebc5ff1 100644
- const char *dir;
+ char *dir;
GHashTable *discard_hash;
GsmStore *app_store;
GError **error;
} SessionSaveData;
static gboolean
_app_has_app_id (const char *id,
GsmApp *app,
const char *app_id_a)
{
const char *app_id_b;
app_id_b = gsm_app_peek_app_id (app);
return g_strcmp0 (app_id_a, app_id_b) == 0;
}
static gboolean
save_one_client (char *id,
GObject *object,
@ -57,27 +69,14 @@ index d6000e09..eebc5ff1 100644 @@ -57,27 +69,14 @@ index d6000e09..eebc5ff1 100644
{
GsmClient *client;
GKeyFile *keyfile;
GsmApp *app = NULL;
const char *app_id;
char *path = NULL;
char *filename = NULL;
char *contents = NULL;
gsize length = 0;
char *discard_exec;
GError *local_error;
client = GSM_CLIENT (object);
local_error = NULL;
keyfile = gsm_client_save (client, &local_error);
if (keyfile == NULL || local_error) {
goto out;
}
contents = g_key_file_to_data (keyfile, &length, &local_error);
@@ -112,89 +112,113 @@ save_one_client (char *id,
}
@@ -130,91 +130,114 @@ save_one_client (char *id,
g_debug ("GsmSessionSave: saved client %s to %s", id, filename);
@ -103,6 +102,7 @@ index d6000e09..eebc5ff1 100644 @@ -103,6 +102,7 @@ index d6000e09..eebc5ff1 100644
void
gsm_session_save (GsmStore *client_store,
GsmStore *app_store,
GError **error)
{
GSettings *settings;
@ -137,6 +137,8 @@ index d6000e09..eebc5ff1 100644 @@ -137,6 +137,8 @@ index d6000e09..eebc5ff1 100644
+ data.dir = tmp_dir;
data.discard_hash = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, NULL);
data.app_store = app_store;
-
- /* remove old saved session */
- gsm_session_clear_saved_session (save_dir, data.discard_hash);
data.error = error;
@ -194,7 +196,7 @@ index d6000e09..eebc5ff1 100644 @@ -194,7 +196,7 @@ index d6000e09..eebc5ff1 100644
goto out;
diff --git a/gnome-session/gsm-util.c b/gnome-session/gsm-util.c
index 4772c6e6..30edb577 100644
index acb446a3..b086568c 100644
--- a/gnome-session/gsm-util.c
+++ b/gnome-session/gsm-util.c
@@ -71,63 +71,69 @@ gsm_util_find_desktop_file_for_app_name (const char *name,
@ -231,7 +233,7 @@ index 4772c6e6..30edb577 100644 @@ -231,7 +233,7 @@ index 4772c6e6..30edb577 100644
+ if (g_file_test (dir, G_FILE_TEST_IS_DIR))
+ return TRUE;
+
if (g_mkdir_with_parents (dir, 0755) == 0)
if (g_mkdir_with_parents (dir, 0700) == 0)
return TRUE;
+ if (errno == EEXIST)
@ -268,5 +270,5 @@ index 4772c6e6..30edb577 100644 @@ -268,5 +270,5 @@ index 4772c6e6..30edb577 100644
if (dir) {
while ((filename = g_dir_read_name (dir))) {
--
2.14.2
2.17.0


16
SOURCES/0010-Allow-saved-session-directory-to-be-a-symlink.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From 7c05176e0db2b4d00971a5baf940ad075a088c70 Mon Sep 17 00:00:00 2001
From 617844d602dd35aceb393b803ed76b15dc125983 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 20 Dec 2013 11:22:53 -0500
Subject: [PATCH 10/19] Allow saved-session directory to be a symlink
@ -6,16 +6,15 @@ Subject: [PATCH 10/19] Allow saved-session directory to be a symlink @@ -6,16 +6,15 @@ Subject: [PATCH 10/19] Allow saved-session directory to be a symlink
This gives us the option of adding a rudimentary session
chooser later.
---
gnome-session/gsm-session-save.c | 36 ++++++++++++++++++++++++++++++------
gnome-session/gsm-session-save.c | 36 ++++++++++++++++++++++++++------
gnome-session/gsm-util.c | 6 ------
2 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/gnome-session/gsm-session-save.c b/gnome-session/gsm-session-save.c
index eebc5ff1..66914b57 100644
index 04b5277c..7cbc72fe 100644
--- a/gnome-session/gsm-session-save.c
+++ b/gnome-session/gsm-session-save.c
@@ -148,67 +148,91 @@ gsm_session_save (GsmStore *client_store,
* one shot only)
@@ -167,67 +167,91 @@ gsm_session_save (GsmStore *client_store,
*/
settings = g_settings_new (GSM_MANAGER_SCHEMA);
g_settings_set_boolean (settings, KEY_AUTOSAVE_ONE_SHOT, FALSE);
@ -38,6 +37,7 @@ index eebc5ff1..66914b57 100644 @@ -38,6 +37,7 @@ index eebc5ff1..66914b57 100644
data.dir = tmp_dir;
data.discard_hash = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, NULL);
data.app_store = app_store;
data.error = error;
gsm_store_foreach (client_store,
@ -113,7 +113,7 @@ index eebc5ff1..66914b57 100644 @@ -113,7 +113,7 @@ index eebc5ff1..66914b57 100644
int argc;
diff --git a/gnome-session/gsm-util.c b/gnome-session/gsm-util.c
index 30edb577..4772c6e6 100644
index b086568c..acb446a3 100644
--- a/gnome-session/gsm-util.c
+++ b/gnome-session/gsm-util.c
@@ -71,69 +71,63 @@ gsm_util_find_desktop_file_for_app_name (const char *name,
@ -150,7 +150,7 @@ index 30edb577..4772c6e6 100644 @@ -150,7 +150,7 @@ index 30edb577..4772c6e6 100644
- if (g_file_test (dir, G_FILE_TEST_IS_DIR))
- return TRUE;
-
if (g_mkdir_with_parents (dir, 0755) == 0)
if (g_mkdir_with_parents (dir, 0700) == 0)
return TRUE;
- if (errno == EEXIST)
@ -187,5 +187,5 @@ index 30edb577..4772c6e6 100644 @@ -187,5 +187,5 @@ index 30edb577..4772c6e6 100644
if (dir) {
while ((filename = g_dir_read_name (dir))) {
--
2.14.2
2.17.0


212
SOURCES/0011-Tie-session-selector-to-properties-dialog.patch

@ -1,15 +1,14 @@ @@ -1,15 +1,14 @@
From 63b277e801d8bce92abe4e52f7de4cf059f1f896 Mon Sep 17 00:00:00 2001
From 7a80fca7e35d35eda415d4823ce54a4d45afb136 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 20 Dec 2013 11:28:53 -0500
Subject: [PATCH 11/19] Tie session selector to properties dialog

---
capplet/gsm-properties-dialog.c | 30 +++++-
configure.ac | 3 +-
capplet/gsm-properties-dialog.c | 30 ++++-
data/session-selector.ui | 2 +-
tools/Makefile.am | 1 +
tools/gnome-session-selector.c | 211 ++++++++++++++++++++++++++++++++--------
5 files changed, 200 insertions(+), 47 deletions(-)
tools/gnome-session-selector.c | 211 +++++++++++++++++++++++++-------
tools/meson.build | 3 +-
4 files changed, 200 insertions(+), 46 deletions(-)

diff --git a/capplet/gsm-properties-dialog.c b/capplet/gsm-properties-dialog.c
index d2be778b..51fa5106 100644
@ -131,103 +130,6 @@ index d2be778b..51fa5106 100644 @@ -131,103 +130,6 @@ index d2be778b..51fa5106 100644
gtk_tree_model_filter_set_visible_column (GTK_TREE_MODEL_FILTER (tree_filter),
STORE_COL_VISIBLE);
diff --git a/configure.ac b/configure.ac
index 73e69bc7..d0eeab8a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,91 +21,90 @@ LT_PREREQ([2.2.6])
LT_INIT([dlopen disable-static])
GNOME_MAINTAINER_MODE_DEFINES
GNOME_COMPILE_WARNINGS([maximum])
AC_ARG_ENABLE(deprecation_flags,
[AS_HELP_STRING([--enable-deprecation-flags],
[use *_DISABLE_DEPRECATED flags @<:@default=no@:>@])],,
[enable_deprecation_flags=no])
if test "x$enable_deprecation_flags" = "xyes"; then
DISABLE_DEPRECATED_CFLAGS=$DISABLE_DEPRECATED
AC_SUBST([DISABLE_DEPRECATED_CFLAGS])
fi
GLIB_REQUIRED=2.46.0
GTK3_REQUIRED=3.18.0
DBUS_GLIB_REQUIRED=0.76
UPOWER_REQUIRED=0.9.0
JSON_GLIB_REQUIRED=0.10
GNOME_DESKTOP_REQUIRED=3.18.0
AC_ARG_ENABLE(session-selector, AS_HELP_STRING([--enable-session-selector],
[enable building a custom session selector dialog]),
enable_session_selector=$enableval,enable_session_selector=no)
AM_CONDITIONAL(BUILD_SESSION_SELECTOR,
[test "$enable_session_selector" = yes])
if test "$enable_session_selector" = yes; then
- PKG_CHECK_MODULES(SESSION_SELECTOR, gtk+-3.0 gio-2.0)
+ PKG_CHECK_MODULES(SESSION_SELECTOR, gtk+-3.0 gio-2.0 dbus-glib-1 >= $DBUS_GLIB_REQUIRED)
fi
dnl ====================================================================
dnl Dependency Checks
dnl ====================================================================
dnl Standard vertical stacks
PKG_CHECK_MODULES(GIO, gio-2.0)
PKG_CHECK_MODULES(GIOUNIX, gio-unix-2.0 >= $GLIB_REQUIRED)
PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= $GTK3_REQUIRED)
PKG_CHECK_MODULES(GNOME_SESSION,
glib-2.0 >= $GLIB_REQUIRED
gio-2.0 >= $GLIB_REQUIRED
json-glib-1.0 >= $JSON_GLIB_REQUIRED
gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED
)
dnl We can only support old upower
dnl https://bugzilla.gnome.org/show_bug.cgi?id=710383
PKG_CHECK_MODULES(UPOWER, upower-glib < 0.99.0, have_old_upower=yes, have_old_upower=no)
AS_IF([test x$have_old_upower = xyes], [
AC_DEFINE([HAVE_OLD_UPOWER], [1], [Define if we have an older upower])
])
AM_CONDITIONAL(HAVE_OLD_UPOWER, test x$have_old_upower = xyes)
PKG_CHECK_MODULES(SESSION_PROPERTIES,
glib-2.0 >= $GLIB_REQUIRED
gtk+-3.0 >= $GTK3_REQUIRED
- dbus-glib-1 >= $DBUS_GLIB_REQUIRED
)
PKG_CHECK_MODULES(X11, x11)
PKG_CHECK_MODULES(SM, sm)
PKG_CHECK_MODULES(ICE, ice)
PKG_CHECK_MODULES(XEXT, xext xau)
PKG_CHECK_MODULES(GL_TEST, xcomposite gl glib-2.0 epoxy)
PKG_CHECK_MODULES(GLES_TEST, egl glesv2)
dnl ====================================================================
dnl Check for gconf
dnl ====================================================================
AC_ARG_ENABLE([gconf],
AS_HELP_STRING([--enable-gconf], [Support gconf-based autostart]),
[enable_gconf=$enableval],
[enable_gconf=auto])
if test x$enable_gconf != xno ; then
PKG_CHECK_MODULES(GCONF, gconf-2.0, [have_gconf=yes], [have_gconf=no])
if test x$enable_gconf = xyes -a x$have_gconf = xno ; then
AC_MSG_ERROR([GConf support explicitly required, but gconf not found])
fi
if test x$have_gconf = xyes ; then
AC_DEFINE([HAVE_GCONF], [1], [Define if we support gconf-based autostart])
fi
fi
diff --git a/data/session-selector.ui b/data/session-selector.ui
index 1c55712d..1534a746 100644
--- a/data/session-selector.ui
@ -295,49 +197,6 @@ index 1c55712d..1534a746 100644 @@ -295,49 +197,6 @@ index 1c55712d..1534a746 100644
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">never</property>
diff --git a/tools/Makefile.am b/tools/Makefile.am
index d3b8bf3f..d6784d1b 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -68,37 +68,38 @@ gnome_session_check_accelerated_gl_helper_CPPFLAGS = \
gnome_session_check_accelerated_gl_helper_LDADD = \
$(GL_TEST_LIBS) \
$(X11_LIBS)
gnome_session_check_accelerated_SOURCES = \
gnome-session-check-accelerated-common.h \
gnome-session-check-accelerated.c
gnome_session_check_accelerated_CPPFLAGS = \
-DLIBEXECDIR=\""$(libexecdir)"\" \
$(AM_CPPFLAGS) \
$(GTK3_CFLAGS) \
$(GL_TEST_CFLAGS)
gnome_session_check_accelerated_LDADD = \
$(GTK3_LIBS) \
$(X11_LIBS) \
$(GL_TEST_LIBS)
if BUILD_SESSION_SELECTOR
gnome_session_selector_CPPFLAGS = \
$(AM_CPPFLAGS) \
$(GNOME_SESSION_CFLAGS) \
$(DBUS_GLIB_CFLAGS) \
-DGTKBUILDER_DIR=\""$(pkgdatadir)"\" \
-DLOCALE_DIR=\""$(datadir)/locale"\" \
$(DISABLE_DEPRECATED_CFLAGS)
gnome_session_selector_LDADD = \
+ $(DBUS_GLIB_CFLAGS) \
$(SESSION_SELECTOR_LIBS)
gnome_session_selector_SOURCES = \
gnome-session-selector.c
endif
-include $(top_srcdir)/git.mk
diff --git a/tools/gnome-session-selector.c b/tools/gnome-session-selector.c
index 71892c43..53822f6c 100644
--- a/tools/gnome-session-selector.c
@ -1157,6 +1016,65 @@ index 71892c43..53822f6c 100644 @@ -1157,6 +1016,65 @@ index 71892c43..53822f6c 100644
return 0;
}
diff --git a/tools/meson.build b/tools/meson.build
index 10ee918c..4bd24220 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -1,52 +1,53 @@
install_data(
'gnome-session-custom-session',
install_dir: session_bindir
)
deps = session_deps + [
sm_dep,
ice_dep
]
cflags = ['-DLOCALE_DIR="@0@"'.format(session_localedir)]
programs = [
# name, deps, cflags, install_dir
['gnome-session-quit', deps, cflags, session_bindir],
['gnome-session-inhibit', session_deps, cflags, session_bindir]
]
if enable_session_selector
deps = [
glib_dep,
- gtk_dep
+ gtk_dep,
+ dbus_glib_dep
]
cflags += '-DGTKBUILDER_DIR="@0@"'.format(session_pkgdatadir)
programs += [['gnome-session-selector', deps, cflags, session_bindir]]
endif
deps = [
gtk_dep,
x11_dep,
dependency('egl'),
dependency('glesv2')
]
cflags = '-DPKGDATADIR="@0@"'.format(session_pkgdatadir)
programs += [['gnome-session-check-accelerated-gles-helper', deps, cflags, session_libexecdir]]
deps = [
glib_dep,
x11_dep,
dependency('gl'),
dependency('epoxy'),
dependency('xcomposite')
]
programs += [['gnome-session-check-accelerated-gl-helper', deps, cflags, session_libexecdir]]
deps += [gtk_dep]
--
2.14.2
2.17.0


8
SOURCES/0012-make-save-session-stall-until-it-finishes.patch

@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
From 7553acfe86151ed6bc6649f3e16e2a42c6435930 Mon Sep 17 00:00:00 2001
From 2c8e2b38a52a09e0710953d77fe8d9072a127e72 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 20 Dec 2013 11:32:52 -0500
Subject: [PATCH 12/19] make save-session stall until it finishes

---
gnome-session/gsm-manager.c | 58 ++++++++++++++++++++++++++----
gnome-session/gsm-manager.c | 58 +++++++++++++++++++---
gnome-session/gsm-manager.h | 2 +-
gnome-session/org.gnome.SessionManager.xml | 1 +
3 files changed, 53 insertions(+), 8 deletions(-)

diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index 825a6846..6630aab8 100644
index ede4186a..31dc67db 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -113,60 +113,61 @@ typedef enum
@ -425,5 +425,5 @@ index 29eb0990..ac73adc9 100644 @@ -425,5 +425,5 @@ index 29eb0990..ac73adc9 100644
<doc:description>
<doc:para>Request a logout dialog</doc:para>
--
2.14.2
2.17.0


67
SOURCES/0013-manager-save-session-type-in-session-dir.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From b92add119aa5b9813556db26477170dd39eca5b6 Mon Sep 17 00:00:00 2001
From 2dad276ed4db5ee510689f41cd96180415ac4745 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 20 Dec 2013 15:32:04 -0500
Subject: [PATCH 13/19] manager: save session type in session dir
@ -7,15 +7,15 @@ If a user saved their session when in classic mode, make sure we @@ -7,15 +7,15 @@ If a user saved their session when in classic mode, make sure we
record that information so subsequent calls to gnome-session will
restore classic mode.
---
gnome-session/gsm-manager.c | 21 ++++++++++++++++++--
gnome-session/gsm-manager.c | 21 ++++++++++++++--
gnome-session/gsm-manager.h | 1 +
gnome-session/gsm-session-save.c | 41 +++++++++++++++++++++++++++++++++++++---
gnome-session/gsm-session-save.h | 5 +++--
gnome-session/main.c | 11 ++++++++++-
5 files changed, 71 insertions(+), 8 deletions(-)
gnome-session/gsm-session-save.c | 43 +++++++++++++++++++++++++++++---
gnome-session/gsm-session-save.h | 7 +++---
gnome-session/main.c | 11 +++++++-
5 files changed, 73 insertions(+), 10 deletions(-)

diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index 6630aab8..135392fd 100644
index 31dc67db..325c6c46 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -1260,61 +1260,61 @@ finish_pending_save_invocations (GsmManager *manager)
@ -50,7 +50,7 @@ index 6630aab8..135392fd 100644 @@ -50,7 +50,7 @@ index 6630aab8..135392fd 100644
}
- gsm_session_save (manager->priv->clients, &error);
+ gsm_session_save (manager->priv->clients, manager->priv->session_name, &error);
+ gsm_session_save (manager->priv->clients, manager->priv->apps, manager->priv->session_name, &error);
if (error) {
g_warning ("Error saving session: %s", error->message);
@ -190,8 +190,8 @@ index 6630aab8..135392fd 100644 @@ -190,8 +190,8 @@ index 6630aab8..135392fd 100644
}
error = NULL;
- gsm_session_save (manager->priv->clients, &error);
+ gsm_session_save (manager->priv->clients, manager->priv->session_name, &error);
- gsm_session_save (manager->priv->clients, manager->priv->apps, &error);
+ gsm_session_save (manager->priv->clients, manager->priv->apps, manager->priv->session_name, &error);
if (error) {
g_warning ("Error saving session: %s", error->message);
@ -280,10 +280,10 @@ index a8de58de..fcf36019 100644 @@ -280,10 +280,10 @@ index a8de58de..fcf36019 100644
#endif /* __GSM_MANAGER_H */
diff --git a/gnome-session/gsm-session-save.c b/gnome-session/gsm-session-save.c
index 66914b57..78b64197 100644
index 7cbc72fe..22706953 100644
--- a/gnome-session/gsm-session-save.c
+++ b/gnome-session/gsm-session-save.c
@@ -1,73 +1,105 @@
@@ -1,75 +1,107 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
* gsm-session-save.c
* Copyright (C) 2008 Lucas Rocha.
@ -310,6 +310,7 @@ index 66914b57..78b64197 100644 @@ -310,6 +310,7 @@ index 66914b57..78b64197 100644
#include <glib/gstdio.h>
#include <gio/gio.h>
#include "gsm-app.h"
#include "gsm-util.h"
#include "gsm-autostart-app.h"
#include "gsm-client.h"
@ -326,6 +327,7 @@ index 66914b57..78b64197 100644 @@ -326,6 +327,7 @@ index 66914b57..78b64197 100644
typedef struct {
char *dir;
GHashTable *discard_hash;
GsmStore *app_store;
GError **error;
} SessionSaveData;
@ -359,6 +361,17 @@ index 66914b57..78b64197 100644 @@ -359,6 +361,17 @@ index 66914b57..78b64197 100644
+ g_free (file);
+}
+
static gboolean
_app_has_app_id (const char *id,
GsmApp *app,
const char *app_id_a)
{
const char *app_id_b;
app_id_b = gsm_app_peek_app_id (app);
return g_strcmp0 (app_id_a, app_id_b) == 0;
}
static gboolean
save_one_client (char *id,
GObject *object,
@ -366,6 +379,7 @@ index 66914b57..78b64197 100644 @@ -366,6 +379,7 @@ index 66914b57..78b64197 100644
{
GsmClient *client;
GKeyFile *keyfile;
GsmApp *app = NULL;
const char *app_id;
char *path = NULL;
char *filename = NULL;
@ -377,19 +391,7 @@ index 66914b57..78b64197 100644 @@ -377,19 +391,7 @@ index 66914b57..78b64197 100644
client = GSM_CLIENT (object);
local_error = NULL;
keyfile = gsm_client_save (client, &local_error);
if (keyfile == NULL || local_error) {
goto out;
}
contents = g_key_file_to_data (keyfile, &length, &local_error);
if (local_error) {
goto out;
}
@@ -107,112 +139,114 @@ save_one_client (char *id,
@@ -124,114 +156,116 @@ save_one_client (char *id,
GSM_AUTOSTART_APP_DISCARD_KEY,
NULL);
if (discard_exec) {
@ -421,8 +423,10 @@ index 66914b57..78b64197 100644 @@ -421,8 +423,10 @@ index 66914b57..78b64197 100644
void
-gsm_session_save (GsmStore *client_store,
- GsmStore *app_store,
- GError **error)
+gsm_session_save (GsmStore *client_store,
+ GsmStore *app_store,
+ const char *type,
+ GError **error)
{
@ -457,6 +461,7 @@ index 66914b57..78b64197 100644 @@ -457,6 +461,7 @@ index 66914b57..78b64197 100644
data.dir = tmp_dir;
data.discard_hash = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, NULL);
data.app_store = app_store;
data.error = error;
gsm_store_foreach (client_store,
@ -507,7 +512,7 @@ index 66914b57..78b64197 100644 @@ -507,7 +512,7 @@ index 66914b57..78b64197 100644
g_hash_table_destroy (data.discard_hash);
g_free (tmp_dir);
@@ -294,31 +328,32 @@ gsm_session_clear_saved_session (const char *directory,
@@ -313,31 +347,32 @@ gsm_session_clear_saved_session (const char *directory,
while ((filename = g_dir_read_name (dir))) {
char *path = g_build_filename (directory,
@ -541,10 +546,10 @@ index 66914b57..78b64197 100644 @@ -541,10 +546,10 @@ index 66914b57..78b64197 100644
+ clear_session_type (save_dir);
}
diff --git a/gnome-session/gsm-session-save.h b/gnome-session/gsm-session-save.h
index e623260f..c91b5615 100644
index f55c9c16..b32673c4 100644
--- a/gnome-session/gsm-session-save.h
+++ b/gnome-session/gsm-session-save.h
@@ -1,33 +1,34 @@
@@ -1,34 +1,35 @@
/* gsm-session-save.h
* Copyright (C) 2008 Lucas Rocha.
*
@ -572,8 +577,10 @@ index e623260f..c91b5615 100644 @@ -572,8 +577,10 @@ index e623260f..c91b5615 100644
G_BEGIN_DECLS
-void gsm_session_save (GsmStore *client_store,
- GsmStore *app_store,
- GError **error);
+void gsm_session_save (GsmStore *client_store,
+ GsmStore *app_store,
+ const char *type,
+ GError **error);
void gsm_session_save_clear (void);
@ -582,7 +589,7 @@ index e623260f..c91b5615 100644 @@ -582,7 +589,7 @@ index e623260f..c91b5615 100644
#endif /* __GSM_SESSION_SAVE_H__ */
diff --git a/gnome-session/main.c b/gnome-session/main.c
index e2c3efef..6e697678 100644
index b1ac3850..cee385d9 100644
--- a/gnome-session/main.c
+++ b/gnome-session/main.c
@@ -119,61 +119,70 @@ sigusr2_cb (gpointer data)
@ -658,5 +665,5 @@ index e2c3efef..6e697678 100644 @@ -658,5 +665,5 @@ index e2c3efef..6e697678 100644
static gboolean
--
2.14.2
2.17.0


6
SOURCES/0014-session-selector-restore-saved-session-mode.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From 2a15240b8653b8fe0f0c1e2804d7c2fe8452a604 Mon Sep 17 00:00:00 2001
From 8ecdc2b44b5c6282722f71dcab0af3c6d27d39d6 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 7 Jan 2014 21:16:23 -0500
Subject: [PATCH 14/19] session-selector: restore saved session mode
@ -13,7 +13,7 @@ session. @@ -13,7 +13,7 @@ session.
1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/tools/gnome-session-custom-session b/tools/gnome-session-custom-session
index 07fdb0cc..358aee01 100644
index 07fdb0cc..358aee01 100755
--- a/tools/gnome-session-custom-session
+++ b/tools/gnome-session-custom-session
@@ -1,4 +1,19 @@
@ -38,5 +38,5 @@ index 07fdb0cc..358aee01 100644 @@ -38,5 +38,5 @@ index 07fdb0cc..358aee01 100644
+
+exec gnome-session "$session_type_argument"
--
2.14.2
2.17.0


6
SOURCES/0015-session-selector-refresh-from-recent-glade.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From 3e35abd4c7d0aae97d868db6e66706c2ccdeeb11 Mon Sep 17 00:00:00 2001
From 59a6dacfe90318a12c1a62e793008719b56aadb1 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 20 Dec 2013 10:53:33 -0500
Subject: [PATCH 15/19] session-selector: refresh from recent glade
@ -7,7 +7,7 @@ The ui file is rather old. This commit just opens it up in a recent @@ -7,7 +7,7 @@ The ui file is rather old. This commit just opens it up in a recent
glade and resaves it, so we have a fresh starting point to make
changes.
---
data/session-selector.ui | 80 ++++++++++++++++++++++++++++++++----------------
data/session-selector.ui | 80 +++++++++++++++++++++++++++-------------
1 file changed, 54 insertions(+), 26 deletions(-)

diff --git a/data/session-selector.ui b/data/session-selector.ui
@ -265,5 +265,5 @@ index 1534a746..4d1e3009 100644 @@ -265,5 +265,5 @@ index 1534a746..4d1e3009 100644
+ </object>
</interface>
--
2.14.2
2.17.0


8
SOURCES/0016-session-selector-add-toggle-for-classic-normal-selec.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From f0f0898da1c1e28d4ad6d6c17ba559e59780bd21 Mon Sep 17 00:00:00 2001
From 9be62bd711a09cdab0cb7f27faa1504b5afe7c76 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 7 Jan 2014 21:02:02 -0500
Subject: [PATCH 16/19] session-selector: add toggle for classic/normal
@ -8,8 +8,8 @@ Since we offer both classic mode and regular mode when @@ -8,8 +8,8 @@ Since we offer both classic mode and regular mode when
not using the session selector, we should also offer it
when using the session selector.
---
data/session-selector.ui | 39 ++++++++++++++-
tools/gnome-session-selector.c | 106 +++++++++++++++++++++++++++++++++++++++++
data/session-selector.ui | 39 +++++++++++-
tools/gnome-session-selector.c | 106 +++++++++++++++++++++++++++++++++
2 files changed, 143 insertions(+), 2 deletions(-)

diff --git a/data/session-selector.ui b/data/session-selector.ui
@ -600,5 +600,5 @@ index 53822f6c..a7361a5b 100644 @@ -600,5 +600,5 @@ index 53822f6c..a7361a5b 100644
return 0;
}
--
2.14.2
2.17.0


4
SOURCES/0017-session-selector-use-classic-mode-by-default.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From 12df4f92bff325fbffcaa4eb0ee0392511f6ebb6 Mon Sep 17 00:00:00 2001
From 976515e5601730a3f74b923eada6805554996794 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 8 Jan 2014 10:15:29 -0500
Subject: [PATCH 17/19] session-selector: use classic mode by default
@ -75,5 +75,5 @@ index a7361a5b..a41cd260 100644 @@ -75,5 +75,5 @@ index a7361a5b..a41cd260 100644
return name;
}
--
2.14.2
2.17.0


249
SOURCES/0018-manager-port-away-from-dbus-glib-to-GDBus.patch

@ -1,15 +1,17 @@ @@ -1,15 +1,17 @@
From 916d9ba86cf2020ffedff331397ed02b5e53f030 Mon Sep 17 00:00:00 2001
From 62a3cf703542e282f6c378cf633dd494b4cc786c Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 8 Mar 2017 16:36:44 -0500
Subject: [PATCH 18/19] manager: port away from dbus-glib to GDBus

---
capplet/gsm-properties-dialog.c | 52 +++++++++++++++++++++--------------------
configure.ac | 2 +-
gnome-session/gsm-manager.c | 16 ++++++-------
gnome-session/gsm-manager.h | 3 ++-
tools/gnome-session-selector.c | 48 ++++++++++++++++++++-----------------
5 files changed, 64 insertions(+), 57 deletions(-)
capplet/gsm-properties-dialog.c | 52 +++++++++++++++++----------------
capplet/meson.build | 3 +-
gnome-session/gsm-manager.c | 16 +++++-----
gnome-session/gsm-manager.h | 3 +-
meson.build | 1 -
tools/gnome-session-selector.c | 48 ++++++++++++++++--------------
tools/meson.build | 3 +-
7 files changed, 65 insertions(+), 61 deletions(-)

diff --git a/capplet/gsm-properties-dialog.c b/capplet/gsm-properties-dialog.c
index 51fa5106..04452c1a 100644
@ -211,75 +213,51 @@ index 51fa5106..04452c1a 100644 @@ -211,75 +213,51 @@ index 51fa5106..04452c1a 100644
}
static void
diff --git a/configure.ac b/configure.ac
index d0eeab8a..5182c09e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,61 +21,61 @@ LT_PREREQ([2.2.6])
LT_INIT([dlopen disable-static])
GNOME_MAINTAINER_MODE_DEFINES
GNOME_COMPILE_WARNINGS([maximum])
AC_ARG_ENABLE(deprecation_flags,
[AS_HELP_STRING([--enable-deprecation-flags],
[use *_DISABLE_DEPRECATED flags @<:@default=no@:>@])],,
[enable_deprecation_flags=no])
if test "x$enable_deprecation_flags" = "xyes"; then
DISABLE_DEPRECATED_CFLAGS=$DISABLE_DEPRECATED
AC_SUBST([DISABLE_DEPRECATED_CFLAGS])
fi
GLIB_REQUIRED=2.46.0
GTK3_REQUIRED=3.18.0
DBUS_GLIB_REQUIRED=0.76
UPOWER_REQUIRED=0.9.0
JSON_GLIB_REQUIRED=0.10
GNOME_DESKTOP_REQUIRED=3.18.0
AC_ARG_ENABLE(session-selector, AS_HELP_STRING([--enable-session-selector],
[enable building a custom session selector dialog]),
enable_session_selector=$enableval,enable_session_selector=no)
AM_CONDITIONAL(BUILD_SESSION_SELECTOR,
[test "$enable_session_selector" = yes])
if test "$enable_session_selector" = yes; then
- PKG_CHECK_MODULES(SESSION_SELECTOR, gtk+-3.0 gio-2.0 dbus-glib-1 >= $DBUS_GLIB_REQUIRED)
+ PKG_CHECK_MODULES(SESSION_SELECTOR, gtk+-3.0 gio-2.0)
fi
dnl ====================================================================
dnl Dependency Checks
dnl ====================================================================
dnl Standard vertical stacks
PKG_CHECK_MODULES(GIO, gio-2.0)
PKG_CHECK_MODULES(GIOUNIX, gio-unix-2.0 >= $GLIB_REQUIRED)
PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= $GTK3_REQUIRED)
PKG_CHECK_MODULES(GNOME_SESSION,
glib-2.0 >= $GLIB_REQUIRED
gio-2.0 >= $GLIB_REQUIRED
json-glib-1.0 >= $JSON_GLIB_REQUIRED
gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED
diff --git a/capplet/meson.build b/capplet/meson.build
index ae6cb6b9..8dad9c80 100644
--- a/capplet/meson.build
+++ b/capplet/meson.build
@@ -1,37 +1,36 @@
install_data(
install_dir: session_bindir
)
dnl We can only support old upower
dnl https://bugzilla.gnome.org/show_bug.cgi?id=710383
PKG_CHECK_MODULES(UPOWER, upower-glib < 0.99.0, have_old_upower=yes, have_old_upower=no)
AS_IF([test x$have_old_upower = xyes], [
AC_DEFINE([HAVE_OLD_UPOWER], [1], [Define if we have an older upower])
])
AM_CONDITIONAL(HAVE_OLD_UPOWER, test x$have_old_upower = xyes)
PKG_CHECK_MODULES(SESSION_PROPERTIES,
glib-2.0 >= $GLIB_REQUIRED
gtk+-3.0 >= $GTK3_REQUIRED
deps = session_deps + [
glib_dep,
gtk_dep,
x11_dep,
sm_dep,
- ice_dep,
- dbus_glib_dep
+ ice_dep
]
cflags = [
'-DLOCALE_DIR="@0@"'.format(session_localedir),
'-DGTKBUILDER_DIR="@0@"'.format(session_pkgdatadir)
]
sources = files(
'../gnome-session/gsm-util.c',
'gsm-app-dialog.c',
'gsm-properties-dialog.c',
'gsp-app.c',
'gsp-app-manager.c',
'gsp-keyfile.c',
'main.c'
)
executable(
'gnome-session-properties',
sources,
include_directories: [ top_inc, include_directories('../gnome-session') ],
dependencies: deps,
c_args: cflags,
install: true,
install_dir: session_bindir
)
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index 135392fd..29c3054d 100644
index 325c6c46..f4a94d1a 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -1210,78 +1210,78 @@ _client_request_save (GsmClient *client,
@ -570,6 +548,72 @@ index fcf36019..88a88ccc 100644 @@ -570,6 +548,72 @@ index fcf36019..88a88ccc 100644
G_END_DECLS
#endif /* __GSM_MANAGER_H */
diff --git a/meson.build b/meson.build
index 24221bb6..9a16d5b1 100644
--- a/meson.build
+++ b/meson.build
@@ -72,61 +72,60 @@ if enable_deprecation_flags
endif
compiler_flags = []
if session_debug
test_cflags = [
'-Werror=format=2',
'-Werror=implicit-function-declaration',
'-Werror=init-self',
'-Werror=missing-include-dirs',
'-Werror=missing-prototypes',
'-Werror=pointer-arith',
'-Werror=return-type',
'-Wnested-externs',
'-Wstrict-prototypes'
]
compiler_flags += cc.get_supported_arguments(test_cflags)
endif
add_project_arguments(common_flags + compiler_flags, language: 'c')
glib_req_version = '>= 2.46.0'
gio_dep = dependency('gio-2.0', version: glib_req_version)
glib_dep = dependency('glib-2.0', version: glib_req_version)
gtk_dep = dependency('gtk+-3.0', version: '>= 3.18.0')
xtrans_dep = dependency('xtrans')
ice_dep = dependency('ice')
sm_dep = dependency('sm')
x11_dep = dependency('x11')
-dbus_glib_dep = dependency('dbus-glib-1')
session_deps = [
gio_dep,
glib_dep,
dependency('gnome-desktop-3.0', version: '>= 3.18.0'),
dependency('json-glib-1.0', version: '>= 0.10')
]
session_bin_deps = session_deps + [
xtrans_dep,
ice_dep,
sm_dep
]
# Check for session selector GTK+ UI
enable_session_selector = get_option('session_selector')
# Check for session tracking backend
session_tracking = 'null backend'
enable_systemd = get_option('systemd')
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)
# Check for systemd
if enable_systemd
libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
session_bin_deps += libsystemd_dep
diff --git a/tools/gnome-session-selector.c b/tools/gnome-session-selector.c
index a41cd260..6ad307b0 100644
--- a/tools/gnome-session-selector.c
@ -751,6 +795,65 @@ index a41cd260..6ad307b0 100644 @@ -751,6 +795,65 @@ index a41cd260..6ad307b0 100644
}
int
diff --git a/tools/meson.build b/tools/meson.build
index 4bd24220..10ee918c 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -1,53 +1,52 @@
install_data(
'gnome-session-custom-session',
install_dir: session_bindir
)
deps = session_deps + [
sm_dep,
ice_dep
]
cflags = ['-DLOCALE_DIR="@0@"'.format(session_localedir)]
programs = [
# name, deps, cflags, install_dir
['gnome-session-quit', deps, cflags, session_bindir],
['gnome-session-inhibit', session_deps, cflags, session_bindir]
]
if enable_session_selector
deps = [
glib_dep,
- gtk_dep,
- dbus_glib_dep
+ gtk_dep
]
cflags += '-DGTKBUILDER_DIR="@0@"'.format(session_pkgdatadir)
programs += [['gnome-session-selector', deps, cflags, session_bindir]]
endif
deps = [
gtk_dep,
x11_dep,
dependency('egl'),
dependency('glesv2')
]
cflags = '-DPKGDATADIR="@0@"'.format(session_pkgdatadir)
programs += [['gnome-session-check-accelerated-gles-helper', deps, cflags, session_libexecdir]]
deps = [
glib_dep,
x11_dep,
dependency('gl'),
dependency('epoxy'),
dependency('xcomposite')
]
programs += [['gnome-session-check-accelerated-gl-helper', deps, cflags, session_libexecdir]]
deps += [gtk_dep]
--
2.14.2
2.17.0


4
SOURCES/0019-capplet-fix-disable-check-items.patch

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
From 0dfb463e126353b17d0c6ec63b99f10bae3fd919 Mon Sep 17 00:00:00 2001
From 76189ca50976f5f146ad86914a0c5ba932e77171 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Mon, 27 Mar 2017 15:34:51 -0400
Subject: [PATCH 19/19] capplet: fix disable check items
@ -87,5 +87,5 @@ index 123ab217..1a0580e6 100644 @@ -87,5 +87,5 @@ index 123ab217..1a0580e6 100644
}
g_clear_pointer (&str, g_free);
--
2.14.2
2.17.0


8
SOURCES/gnome-session-python3.patch

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
--- gnome-session-3.28.1/meson_post_install.py.python3 2018-04-10 15:33:36.000000000 +0200
+++ gnome-session-3.28.1/meson_post_install.py 2018-05-21 14:31:10.725745790 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python
import os
import shutil

144
SPECS/gnome-session.spec

@ -2,16 +2,20 @@ @@ -2,16 +2,20 @@

%define po_package gnome-session-3.0

Summary: GNOME session manager
%global with_session_selector 1

Name: gnome-session
Version: 3.26.1
Release: 11%{?dist}
Version: 3.28.1
Release: 5%{?dist}
Summary: GNOME session manager

License: GPLv2+
URL: http://www.gnome.org
#VCS: git:git://git.gnome.org/gnome-session
Source0: http://download.gnome.org/sources/gnome-session/3.26/%{name}-%{version}.tar.xz
Source0: http://download.gnome.org/sources/gnome-session/3.28/%{name}-%{version}.tar.xz
Source1: session-properties-icons.tar.xz

# Blacklist NV30: https://bugzilla.redhat.com/show_bug.cgi?id=745202
Patch00:gnome-session-3.3.92-nv30.patch
Patch00: gnome-session-3.3.92-nv30.patch
Patch01: gnome-session-3.6.2-swrast.patch

# https://bugzilla.redhat.com/show_bug.cgi?id=1031182
@ -36,28 +40,16 @@ Patch18: 0017-session-selector-use-classic-mode-by-default.patch @@ -36,28 +40,16 @@ Patch18: 0017-session-selector-use-classic-mode-by-default.patch
Patch19: 0018-manager-port-away-from-dbus-glib-to-GDBus.patch
Patch20: 0019-capplet-fix-disable-check-items.patch

Patch30: 0001-save-make-sure-app-state-is-written-into-desktop-fil.patch
# Fix the build with Python 2
Patch21: gnome-session-python3.patch

Patch31: 0002-autostart-ensure-gnome-shell-and-mutter-get-right-au.patch

Patch40: 0001-main-don-t-call-into-gdbus-before-setting-all-enviro.patch

License: GPLv2+
Group: User Interface/Desktops

Requires: system-logos
# Needed for gnome-settings-daemon
Requires: control-center-filesystem

Requires: gsettings-desktop-schemas >= 0.1.7

# pull in dbus-x11, see bug 209924
Requires: dbus-x11

# https://bugzilla.redhat.com/show_bug.cgi?id=1072801
Requires: mesa-dri-drivers

BuildRequires: meson
BuildRequires: gcc
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(gnome-desktop-3.0)
@ -73,54 +65,53 @@ BuildRequires: pkgconfig(xext) @@ -73,54 +65,53 @@ BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xtrans)
BuildRequires: pkgconfig(xtst)
BuildRequires: GConf2-devel
BuildRequires: pango-devel
BuildRequires: desktop-file-utils
BuildRequires: libXrandr-devel
BuildRequires: librsvg2-devel

# this is so the configure checks find /usr/bin/halt etc.
BuildRequires: usermode

BuildRequires: intltool, autoconf, automake
BuildRequires: libtool
BuildRequires: gettext
BuildRequires: libX11-devel libXt-devel
BuildRequires: libXtst-devel
BuildRequires: intltool
BuildRequires: xmlto
BuildRequires: upower-devel
BuildRequires: gnome-common
BuildRequires: systemd-devel
BuildRequires: polkit-devel
BuildRequires: git
BuildRequires: /usr/bin/xsltproc

# an artificial requires to make sure we get dconf, for now
Requires: dconf

Requires: system-logos
# Needed for gnome-settings-daemon
Requires: control-center-filesystem

Requires: gsettings-desktop-schemas >= 0.1.7

# pull in dbus-x11, see bug 209924
Requires: dbus-x11

# https://bugzilla.redhat.com/show_bug.cgi?id=1072801
Requires: mesa-dri-drivers

Conflicts: gnome-settings-daemon < 3.27.90

%description
gnome-session manages a GNOME desktop or GDM login session. It starts up
the other core GNOME components and handles logout and saving the session.

%package wayland-session
Summary: Desktop file for gnome-session (Wayland)
Group: User Interface/Desktops
Requires: gnome-session = %{version}-%{release}
Requires: xorg-x11-server-Xwayland

%description wayland-session
Desktop file to add GNOME (Wayland) to display manager session menu.

%package xsession
Summary: Desktop file for gnome-session
Group: User Interface/Desktops
Requires: gnome-session = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}

%description xsession
Desktop file to add GNOME to display manager session menu.

%package wayland-session
Summary: Desktop file for wayland based gnome session
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: xorg-x11-server-Xwayland%{?_isa}

%description wayland-session
Desktop file to add GNOME on wayland to display manager session menu.

%package custom-session
Summary: A facility to select and store saved sessions
Group: User Interface/Desktop
Requires: %{name}%{?_isa} = %{version}-%{release}

%description custom-session
@ -128,22 +119,22 @@ Installs a 'Custom' entry in the display manager session menu that @@ -128,22 +119,22 @@ Installs a 'Custom' entry in the display manager session menu that
lets the user manage multiple saved sessions.

%prep
%autosetup -S git

echo "ACLOCAL_AMFLAGS = -I m4" >> Makefile.am

autoreconf -i -f
%autosetup -p1
(cd data/icons; tar xvf %{SOURCE1})

%build
%configure --enable-docbook-docs \
--enable-session-selector \
--enable-systemd
make %{?_smp_mflags} V=1
%meson \
%if 0%{?with_session_selector}
-Dsession_selector=true \
%endif
-Dsystemd=true \
-Dsystemd_journal=true
%meson_build

%install
%meson_install

%make_install

rm -f $RPM_BUILD_ROOT%{_datadir}/wayland-sessions/gnome.desktop
mv $RPM_BUILD_ROOT%{_datadir}/xsessions/gnome-xorg.desktop \
$RPM_BUILD_ROOT%{_datadir}/wayland-sessions/gnome-wayland.desktop
sed -i -e 's/Xorg/Wayland/g' $RPM_BUILD_ROOT%{_datadir}/wayland-sessions/gnome-wayland.desktop
@ -166,11 +157,11 @@ fi @@ -166,11 +157,11 @@ fi
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :

%files wayland-session
%{_datadir}/wayland-sessions/*

%files xsession
%{_datadir}/xsessions/*
%{_datadir}/xsessions/gnome.desktop

%files wayland-session
%{_datadir}/wayland-sessions/gnome-wayland.desktop

%files custom-session
%{_datadir}/xsessions/gnome-custom-session.desktop
@ -180,7 +171,8 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || : @@ -180,7 +171,8 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
%doc %{_mandir}/man*/gnome-session-selector*

%files -f %{po_package}.lang
%doc AUTHORS COPYING NEWS README
%doc AUTHORS NEWS README
%license COPYING
%doc %{_mandir}/man*/*
%{_bindir}/*
%{_libexecdir}/gnome-session-binary
@ -198,6 +190,28 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || : @@ -198,6 +190,28 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
%{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml

%changelog
* Thu Jul 26 2018 Ray Strode <rstrode@redhat.com> - 3.28.1-5
- Fix gnome-disk-utility timeout at startup
Resolves: #1593215
- add back session properties icons
Related: #1568620

* Tue Jul 24 2018 Ray Strode <rstrode@redhat.com> - 3.28.1-4
- Fix pot file generation
Resolves: #1371019

* Tue Jul 17 2018 Ray Strode <rstrode@redhat.com> - 3.28.1-3
- Make sure gnome-session-custom-session is only shipped in its subpackage
Resolves: #1600560

* Thu Jun 21 2018 Ray Strode <rstrode@redhat.com> - 3.28.1-2
- Add back GNOME on Wayland session
Resolves: #1591614

* Tue Apr 10 2018 Kalev Lember <klember@redhat.com> - 3.28.1-1
- Update to 3.28.1
- Resolves: #1568620

* Wed Feb 14 2018 Ray Strode <rstrode@redhat.com> - 3.26.1-11
- Fix rare crash at start up for VNC sessions
Resolves: #1545234

Loading…
Cancel
Save