[gnome-shell/f17] Add a patch from upstream to avoid a crash when Evolution is not installed (#814401)
Owen Taylor
otaylor at fedoraproject.org
Fri Apr 20 17:08:11 UTC 2012
commit 74140a129194663636b73ddb49d60a44cec8e261
Author: Owen W. Taylor <otaylor at fishsoup.net>
Date: Fri Apr 20 13:07:29 2012 -0400
Add a patch from upstream to avoid a crash when Evolution is not installed (#814401)
...ution-calendar-settings-into-our-own-sche.patch | 92 ++++++++++++++++++++
gnome-shell.spec | 12 ++-
2 files changed, 102 insertions(+), 2 deletions(-)
---
diff --git a/Mirror-Evolution-calendar-settings-into-our-own-sche.patch b/Mirror-Evolution-calendar-settings-into-our-own-sche.patch
new file mode 100644
index 0000000..283d15e
--- /dev/null
+++ b/Mirror-Evolution-calendar-settings-into-our-own-sche.patch
@@ -0,0 +1,92 @@
+From 317b17b26d54e16d8cd1bdcd70fc44c70f9b865a Mon Sep 17 00:00:00 2001
+From: "Owen W. Taylor" <otaylor at fishsoup.net>
+Date: Fri, 20 Apr 2012 10:51:32 -0400
+Subject: [PATCH] Mirror Evolution calendar settings into our own schema
+
+Right now, we are hard-depending on the presence of Evolution by
+using its settings schemas. This is likely to be unpopular, and
+also causes instability if someone happens not to have Evolution
+installed, so install a schema that has the same data path as
+the Evolution schema, but a different name and install that
+for the keys we need.
+
+To avoid a string-freeze break, we rely on the translations in
+Evolution - if Evolution isn't installed, the key descriptions
+will be untranslated in dconf-editor.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=674424
+---
+ data/Makefile.am | 2 +-
+ ...g.gnome.shell.evolution.calendar.gschema.xml.in | 21 ++++++++++++++++++++
+ po/POTFILES.skip | 1 +
+ src/calendar-server/calendar-sources.c | 5 ++++-
+ 4 files changed, 27 insertions(+), 2 deletions(-)
+ create mode 100644 data/org.gnome.shell.evolution.calendar.gschema.xml.in
+
+diff --git a/data/Makefile.am b/data/Makefile.am
+index 4803081..05caf27 100644
+--- a/data/Makefile.am
++++ b/data/Makefile.am
+@@ -53,7 +53,7 @@ dist_theme_DATA = \
+ theme/ws-switch-arrow-up.svg \
+ theme/ws-switch-arrow-down.svg
+
+-gsettings_SCHEMAS = org.gnome.shell.gschema.xml
++gsettings_SCHEMAS = org.gnome.shell.gschema.xml org.gnome.shell.evolution.calendar.gschema.xml
+
+ @INTLTOOL_XML_NOMERGE_RULE@
+ @GSETTINGS_RULES@
+diff --git a/data/org.gnome.shell.evolution.calendar.gschema.xml.in b/data/org.gnome.shell.evolution.calendar.gschema.xml.in
+new file mode 100644
+index 0000000..f0ce82b
+--- /dev/null
++++ b/data/org.gnome.shell.evolution.calendar.gschema.xml.in
+@@ -0,0 +1,21 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<!-- NOTE: This schema is a GNOME 3.4 workaround - it uses the same path
++ as org.gnome.evolution.calendar, but avoids us requiring Evolution
++ be installed. In GNOME 3.6 the selected state will become a flag
++ on the calendar. Because the translations are in Evolution,
++ this is untranslated and in POTFILES.skip.
++ -->
++<schemalist>
++ <schema path="/org/gnome/evolution/calendar/" id="org.gnome.shell.evolution.calendar" gettext-domain="evolution">
++ <key type="as" name="selected-calendars">
++ <default>[]</default>
++ <summary>List of selected calendars</summary>
++ <description>List of calendars to load</description>
++ </key>
++ <key type="as" name="selected-tasks">
++ <default>[]</default>
++ <summary>List of selected task lists</summary>
++ <description>List of task lists to load</description>
++ </key>
++ </schema>
++</schemalist>
+diff --git a/po/POTFILES.skip b/po/POTFILES.skip
+index e032bdc..fe31eda 100644
+--- a/po/POTFILES.skip
++++ b/po/POTFILES.skip
+@@ -1,2 +1,3 @@
+ data/gnome-shell.desktop.in
+ data/gnome-shell-extension-prefs.desktop.in
++data/org.gnome.shell.evolution.calendar.gschema.xml.in
+diff --git a/src/calendar-server/calendar-sources.c b/src/calendar-server/calendar-sources.c
+index a1eb80f..59fa044 100644
+--- a/src/calendar-server/calendar-sources.c
++++ b/src/calendar-server/calendar-sources.c
+@@ -52,7 +52,10 @@
+ #define CALENDAR_SOURCES_APPOINTMENT_SOURCES_KEY CALENDAR_SOURCES_EVO_DIR "/calendar/sources"
+ #define CALENDAR_SOURCES_TASK_SOURCES_KEY CALENDAR_SOURCES_EVO_DIR "/tasks/sources"
+
+-#define CALENDAR_SELECTED_SOURCES_SCHEMA "org.gnome.evolution.calendar"
++/* org.gnome.shell.evolution.calendar has the same data behind it
++ * as org.gnome.evolution.calendar, but is a small schema we install
++ * ourselves */
++#define CALENDAR_SELECTED_SOURCES_SCHEMA "org.gnome.shell.evolution.calendar"
+ #define CALENDAR_SOURCES_SELECTED_APPOINTMENT_SOURCES_KEY "selected-calendars"
+ #define CALENDAR_SOURCES_SELECTED_TASK_SOURCES_KEY "selected-tasks"
+
+--
+1.7.10
+
diff --git a/gnome-shell.spec b/gnome-shell.spec
index 630a722..9fcd848 100644
--- a/gnome-shell.spec
+++ b/gnome-shell.spec
@@ -1,6 +1,6 @@
Name: gnome-shell
Version: 3.4.1
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Window management and application launching for GNOME
Group: User Interface/Desktops
@@ -12,6 +12,8 @@ Source0: http://download.gnome.org/sources/gnome-shell/3.4/%{name}-%{vers
Patch0: gnome-shell-avoid-redhat-menus.patch
# Replace Epiphany with Firefox in the default favourite apps list
Patch1: gnome-shell-favourite-apps-firefox.patch
+# https://bugzilla.gnome.org/show_bug.cgi?id=674424
+Patch2: Mirror-Evolution-calendar-settings-into-our-own-sche.patch
%define clutter_version 1.9.16
%define gobject_introspection_version 0.10.1
@@ -87,12 +89,15 @@ easy to use experience.
%setup -q
%patch0 -p1 -b .avoid-redhat-menus
%patch1 -p1 -b .firefox
+%patch2 -p1 -b .mirror-schemas
rm configure
%build
export CFLAGS="$RPM_OPT_FLAGS -Wno-error=deprecated-declarations"
-(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi;
+# (if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi;
+# reautogen for Mirror-Evolution-calendar-settings-into-our-own-sche.patch
+ (NOCONFIGURE=1 ./autogen.sh;
%configure --disable-static)
make V=1 %{?_smp_mflags}
@@ -147,6 +152,9 @@ glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null
%exclude %{_datadir}/gtk-doc
%changelog
+* Fri Apr 20 2012 Owen Taylor <otaylor at redhat.com> - 3.4.1-3
+- Add a patch from upstream to avoid a crash when Evolution is not installed (#814401)
+
* Wed Apr 18 2012 Kalev Lember <kalevlember at gmail.com> - 3.4.1-2
- Silence glib-compile-schemas scriplets
More information about the scm-commits
mailing list