From 66c076c073b600abcc501df10bca8a1f48a462f4bcbefb7f0cc66c0a68b5110f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 22 Oct 2009 08:38:45 +0000 Subject: [PATCH 1/5] Accepting request 22838 from home:Mingxi_Wu:branches:GNOME:Factory Copy from home:Mingxi_Wu:branches:GNOME:Factory/gnome-settings-daemon via accept of submit request 22838 revision 4. Request was accepted with message: BuildRequirs should be ordered alphabetically... I'll take it in and will adjust those minor details. OBS-URL: https://build.opensuse.org/request/show/22838 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-settings-daemon?expand=0&rev=42 --- gnome-settings-daemon.changes | 6 ++++++ gnome-settings-daemon.spec | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gnome-settings-daemon.changes b/gnome-settings-daemon.changes index 317662e..d1ef249 100644 --- a/gnome-settings-daemon.changes +++ b/gnome-settings-daemon.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Oct 22 09:54:35 CEST 2009 - mxwu@novell.com + +- Update spec file to add the missing BuildRequire of + libcanberra-devel. Fix bnc#547565. + ------------------------------------------------------------------- Tue Sep 22 14:25:48 CEST 2009 - dimstar@opensuse.org diff --git a/gnome-settings-daemon.spec b/gnome-settings-daemon.spec index e643157..668adc0 100644 --- a/gnome-settings-daemon.spec +++ b/gnome-settings-daemon.spec @@ -50,6 +50,7 @@ BuildRequires: libnotify-devel BuildRequires: libpulse-devel BuildRequires: update-desktop-files BuildRequires: xorg-x11 +BuildRequires: libcanberra-devel Requires: %{name}-lang = %{version} Obsoletes: resapplet BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -103,9 +104,7 @@ gnome-patch-translation-update autoreconf -f -i %configure\ --libexecdir=%{_prefix}/lib/gnome-settings-daemon\ - --disable-static\ - --disable-scrollkeeper\ - --disable-update-mimedb + --disable-static make %{?jobs:-j%jobs} %install From fcea9f583591789e21d27c664df4a86183e9b218c6d19f3b6974e46e9f03244e Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 22 Oct 2009 08:41:55 +0000 Subject: [PATCH 2/5] Accepting request 22839 from home:dimstar:branches:GNOME:Factory Copy from home:dimstar:branches:GNOME:Factory/gnome-settings-daemon via accept of submit request 22839 revision 2. Request was accepted with message: Forwarding to openSUSE:Factory OBS-URL: https://build.opensuse.org/request/show/22839 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-settings-daemon?expand=0&rev=43 --- gnome-settings-daemon.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnome-settings-daemon.spec b/gnome-settings-daemon.spec index 668adc0..bad8130 100644 --- a/gnome-settings-daemon.spec +++ b/gnome-settings-daemon.spec @@ -45,12 +45,12 @@ BuildRequires: gnome-common BuildRequires: gnome-desktop-devel BuildRequires: gnome-patch-translation BuildRequires: intltool +BuildRequires: libcanberra-devel BuildRequires: libgnomekbd-devel BuildRequires: libnotify-devel BuildRequires: libpulse-devel BuildRequires: update-desktop-files BuildRequires: xorg-x11 -BuildRequires: libcanberra-devel Requires: %{name}-lang = %{version} Obsoletes: resapplet BuildRoot: %{_tmppath}/%{name}-%{version}-build From 6df32865b211f888c4ea5c1d98bff69e6dbc111eda8448787a89c6d8edb676e0 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Thu, 22 Oct 2009 10:52:19 +0000 Subject: [PATCH 3/5] checked in OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-settings-daemon?expand=0&rev=44 --- gnome-settings-daemon.changes | 6 ------ gnome-settings-daemon.spec | 5 +++-- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/gnome-settings-daemon.changes b/gnome-settings-daemon.changes index d1ef249..317662e 100644 --- a/gnome-settings-daemon.changes +++ b/gnome-settings-daemon.changes @@ -1,9 +1,3 @@ -------------------------------------------------------------------- -Thu Oct 22 09:54:35 CEST 2009 - mxwu@novell.com - -- Update spec file to add the missing BuildRequire of - libcanberra-devel. Fix bnc#547565. - ------------------------------------------------------------------- Tue Sep 22 14:25:48 CEST 2009 - dimstar@opensuse.org diff --git a/gnome-settings-daemon.spec b/gnome-settings-daemon.spec index bad8130..e643157 100644 --- a/gnome-settings-daemon.spec +++ b/gnome-settings-daemon.spec @@ -45,7 +45,6 @@ BuildRequires: gnome-common BuildRequires: gnome-desktop-devel BuildRequires: gnome-patch-translation BuildRequires: intltool -BuildRequires: libcanberra-devel BuildRequires: libgnomekbd-devel BuildRequires: libnotify-devel BuildRequires: libpulse-devel @@ -104,7 +103,9 @@ gnome-patch-translation-update autoreconf -f -i %configure\ --libexecdir=%{_prefix}/lib/gnome-settings-daemon\ - --disable-static + --disable-static\ + --disable-scrollkeeper\ + --disable-update-mimedb make %{?jobs:-j%jobs} %install From fe4194eb2bde9bd13cb597ad13aae0767e37404254c396b441750e24f8b55fc7 Mon Sep 17 00:00:00 2001 From: Vincent Untz Date: Fri, 4 Dec 2009 22:48:24 +0000 Subject: [PATCH 4/5] Accepting request 25628 from home:vuntz:branches:GNOME:Factory Copy from home:vuntz:branches:GNOME:Factory/gnome-settings-daemon via accept of submit request 25628 revision 48. Request was accepted with message: Accepting OBS-URL: https://build.opensuse.org/request/show/25628 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-settings-daemon?expand=0&rev=45 --- gnome-settings-daemon-2.28.0.tar.bz2 | 3 - gnome-settings-daemon-2.28.1.tar.bz2 | 3 + ...-settings-daemon-add-layout-switcher.patch | 103 ++---------------- ...e-settings-daemon-gdm-layout-variant.patch | 55 ++++++++++ gnome-settings-daemon.changes | 19 ++++ gnome-settings-daemon.spec | 16 +-- 6 files changed, 98 insertions(+), 101 deletions(-) delete mode 100644 gnome-settings-daemon-2.28.0.tar.bz2 create mode 100644 gnome-settings-daemon-2.28.1.tar.bz2 rename gnome-settings-daemon-try-harder-gdm-layout.patch => gnome-settings-daemon-add-layout-switcher.patch (60%) create mode 100644 gnome-settings-daemon-gdm-layout-variant.patch diff --git a/gnome-settings-daemon-2.28.0.tar.bz2 b/gnome-settings-daemon-2.28.0.tar.bz2 deleted file mode 100644 index 668435c..0000000 --- a/gnome-settings-daemon-2.28.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:df3203d804c6522f5c76a0e4d7d900595ac5942308fcd924ffcc8c3af436a4d5 -size 1175585 diff --git a/gnome-settings-daemon-2.28.1.tar.bz2 b/gnome-settings-daemon-2.28.1.tar.bz2 new file mode 100644 index 0000000..2cb63f2 --- /dev/null +++ b/gnome-settings-daemon-2.28.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1267ef7d4069189b6bd05b915586b5b323688a136d394e571d29991d59bbadb2 +size 1174173 diff --git a/gnome-settings-daemon-try-harder-gdm-layout.patch b/gnome-settings-daemon-add-layout-switcher.patch similarity index 60% rename from gnome-settings-daemon-try-harder-gdm-layout.patch rename to gnome-settings-daemon-add-layout-switcher.patch index 29c871c..2206af1 100644 --- a/gnome-settings-daemon-try-harder-gdm-layout.patch +++ b/gnome-settings-daemon-add-layout-switcher.patch @@ -1,7 +1,7 @@ -Index: gnome-settings-daemon-2.27.4/plugins/keyboard/gsd-keyboard-xkb.c -=================================================================== ---- gnome-settings-daemon-2.27.4.orig/plugins/keyboard/gsd-keyboard-xkb.c -+++ gnome-settings-daemon-2.27.4/plugins/keyboard/gsd-keyboard-xkb.c +diff --git a/plugins/keyboard/gsd-keyboard-xkb.c b/plugins/keyboard/gsd-keyboard-xkb.c +index cb969e3..3a5ed6c 100644 +--- a/plugins/keyboard/gsd-keyboard-xkb.c ++++ b/plugins/keyboard/gsd-keyboard-xkb.c @@ -137,6 +137,103 @@ apply_desktop_settings (void) gkbd_desktop_config_activate (¤t_config); } @@ -28,7 +28,7 @@ Index: gnome-settings-daemon-2.27.4/plugins/keyboard/gsd-keyboard-xkb.c + options = gconf_client_get_list (conf_client, + GKBD_KEYBOARD_CONFIG_KEY_OPTIONS, + GCONF_VALUE_STRING, -+ NULL); ++ NULL); + + if (options == NULL) { + /* nothing in gconf, get the current options from X */ @@ -84,7 +84,7 @@ Index: gnome-settings-daemon-2.27.4/plugins/keyboard/gsd-keyboard-xkb.c + GROUP_SWITCHERS_GROUP, + ci)) { + const char *id; -+ ++ + id = gkbd_keyboard_config_merge_items + (GROUP_SWITCHERS_GROUP, + DEFAULT_GROUP_SWITCH); @@ -106,91 +106,12 @@ Index: gnome-settings-daemon-2.27.4/plugins/keyboard/gsd-keyboard-xkb.c static gboolean try_activating_xkb_config_if_new (GkbdKeyboardConfig *current_sys_kbd_config) { -@@ -211,6 +308,38 @@ filter_xkb_config (void) - return any_change; - } +@@ -274,6 +371,8 @@ apply_xkb_settings (void) -+static int -+_xkb_layout_strcmp (const char *a, -+ const char *b) -+{ -+ char *layout_a; -+ char *layout_b; -+ char *p; -+ int ret; -+ -+ if (!a) -+ return -(a != b); -+ if (!b) -+ return (a != b); -+ -+ layout_a = g_strdup (a); -+ p = strchr (layout_a, '\t'); -+ if (p != NULL) -+ p[0] = '\0'; -+ -+ layout_b = g_strdup (b); -+ p = strchr (layout_b, '\t'); -+ if (p != NULL) -+ p[0] = '\0'; -+ -+ ret = strcmp (layout_a, layout_b); -+ -+ g_free (layout_a); -+ g_free (layout_b); -+ -+ return ret; -+} -+ - static void - apply_xkb_settings (void) - { -@@ -233,18 +362,44 @@ apply_xkb_settings (void) - gdm_keyboard_layout = NULL; - if (gdm_layout != NULL) { - GSList *layouts; -+ GSList *found_node; -+ - layouts = gconf_client_get_list (conf_client, - GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS, - GCONF_VALUE_STRING, NULL); -- if (layouts == NULL) { -- layouts = -- g_slist_append (layouts, -- g_strdup (gdm_layout)); -+ -+ /* Add the layout if it doesn't already exist. XKB limits the -+ * total number of layouts to four. If we already have four -+ * layouts configured, we replace the last one. This prevents the -+ * list from becoming full if the user has a habit of selecting -+ * many different keyboard layouts in GDM. */ -+ -+ found_node = g_slist_find_custom (layouts, gdm_layout, _xkb_layout_strcmp); -+ -+ if (found_node) { -+ if (g_slist_position (layouts, found_node) > 3) { -+ /* If the layout we found appears after the -+ * fourth entry, we move it up to fourth place. -+ * Otherwise, XKB will not activate it. */ -+ g_free (found_node->data); -+ layouts = g_slist_delete_link (layouts, found_node); -+ found_node = NULL; -+ } -+ } -+ -+ if (!found_node) { -+ /* Insert in fourth slot or at the end of list, -+ * whichever comes first */ -+ layouts = g_slist_insert (layouts, g_strdup (gdm_layout), 3); -+ -+ _maybe_add_layout_switcher (layouts, conf_client); + g_slist_foreach (free_layouts, (GFunc) g_free, NULL); + g_slist_free (free_layouts); + ++ _maybe_add_layout_switcher (layouts, conf_client); + } + gconf_client_set_list (conf_client, - GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS, - GCONF_VALUE_STRING, layouts, - NULL); - } -+ - g_slist_foreach (layouts, (GFunc) g_free, NULL); - g_slist_free (layouts); - } diff --git a/gnome-settings-daemon-gdm-layout-variant.patch b/gnome-settings-daemon-gdm-layout-variant.patch new file mode 100644 index 0000000..5c881f6 --- /dev/null +++ b/gnome-settings-daemon-gdm-layout-variant.patch @@ -0,0 +1,55 @@ +commit 3d5189d3984980ec97d794f7bde6159bc97e1379 +Author: Martin Pitt +Date: Mon Oct 19 18:59:07 2009 +0200 + + fix variant handling in $GDM_KEYBOARD_LAYOUT + + gdm's configuration and $GDM_KEYBOARD_LAYOUT separates layout and + variant with a space, but GConf uses tabs. Convert spaces to tabs in + $GDM_KEYBOARD_LAYOUT to work with either format, for more robustness. + + https://bugzilla.gnome.org/show_bug.cgi?id=596897 + +Index: gnome-settings-daemon-2.28.1/plugins/keyboard/gsd-keyboard-xkb.c +=================================================================== +--- gnome-settings-daemon-2.28.1.orig/plugins/keyboard/gsd-keyboard-xkb.c ++++ gnome-settings-daemon-2.28.1/plugins/keyboard/gsd-keyboard-xkb.c +@@ -314,7 +314,8 @@ apply_xkb_settings (void) + GConfClient *conf_client; + GkbdKeyboardConfig current_sys_kbd_config; + int group_to_activate = -1; +- const char *gdm_layout; ++ char *gdm_layout; ++ char *s; + + if (!inited_ok) + return; +@@ -326,8 +327,18 @@ apply_xkb_settings (void) + * We clear gdm_keyboard_layout early, so we don't risk + * recursion from gconf notification. + */ +- gdm_layout = gdm_keyboard_layout; ++ gdm_layout = g_strdup (gdm_keyboard_layout); + gdm_keyboard_layout = NULL; ++ ++ /* gdm's configuration and $GDM_KEYBOARD_LAYOUT separates layout and ++ * variant with a space, but gconf uses tabs; so convert to be robust ++ * with both */ ++ for (s = gdm_layout; s && *s; ++s) { ++ if (*s == ' ') { ++ *s = '\t'; ++ } ++ } ++ + if (gdm_layout != NULL) { + GSList *layouts; + GSList *found_node; +@@ -383,6 +394,8 @@ apply_xkb_settings (void) + gkbd_keyboard_config_load_from_x_current (¤t_sys_kbd_config, + NULL); + ++ g_free (gdm_layout); ++ + if (!try_activating_xkb_config_if_new (¤t_sys_kbd_config)) { + if (filter_xkb_config ()) { + if (!try_activating_xkb_config_if_new (¤t_sys_kbd_config)) { diff --git a/gnome-settings-daemon.changes b/gnome-settings-daemon.changes index 317662e..6183b16 100644 --- a/gnome-settings-daemon.changes +++ b/gnome-settings-daemon.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Wed Dec 2 16:44:02 CET 2009 - vuntz@opensuse.org + +- Update to version 2.28.1: + + Try harder to use the keyboard layout passed by gdm. + + Updated translations. +- Drop gnome-settings-daemon-try-harder-gdm-layout.patch: part of + it is upstream, the other part is in a new patch. +- Add gnome-settings-daemon-add-layout-switcher.patch, which is the + part that was in the old patch. +- Add gnome-settings-daemon-gdm-layout-variant.patch to fix some + bug in the GDM keyboard layout handling. + +------------------------------------------------------------------- +Thu Oct 22 09:54:35 CEST 2009 - mxwu@novell.com + +- Update spec file to add the missing BuildRequire of + libcanberra-devel. Fix bnc#547565. + ------------------------------------------------------------------- Tue Sep 22 14:25:48 CEST 2009 - dimstar@opensuse.org diff --git a/gnome-settings-daemon.spec b/gnome-settings-daemon.spec index e643157..0d525c5 100644 --- a/gnome-settings-daemon.spec +++ b/gnome-settings-daemon.spec @@ -1,5 +1,5 @@ # -# spec file for package gnome-settings-daemon (Version 2.28.0) +# spec file for package gnome-settings-daemon (Version 2.28.1) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,7 +19,7 @@ Name: gnome-settings-daemon %define _name gnome-settings-daemon -Version: 2.28.0 +Version: 2.28.1 Release: 1 License: GPL v2 or later Summary: Settings daemon for the GNOME desktop @@ -38,13 +38,16 @@ Patch10: gnome-settings-daemon-bnc462640-mute-action.patch Patch11: gnome-settings-daemon-bnc461755-randr-rotate-wacom.diff # PATCH-FIX-UPSTREAM gnome-settings-daemon-activate-xkb-with-broken.patch bgo585868 vuntz@novell.com -- Make sure we activate the right layout when broken layouts are in gconf Patch12: gnome-settings-daemon-activate-xkb-with-broken.patch -# PATCH-FIX-UPSTREAM # gnome-settings-daemon-try-harder-gdm-layout.patch bgo585290 vuntz@novell.com -- Try harder to use the keyboard layout passed from GDM -Patch13: gnome-settings-daemon-try-harder-gdm-layout.patch +# PATCH-FIX-UPSTREAM gnome-settings-daemon-add-layout-switcher.patch bgo603806 vuntz@opensuse.org -- Add a layout switching combo if needed; the real fix implies some API change in libgnomekbd (see upstream bug) +Patch13: gnome-settings-daemon-add-layout-switcher.patch +# PATCH-FIX-UPSTREAM gnome-settings-daemon-gdm-layout-variant.patch vuntz@opensuse.org -- Taken from git +Patch14: gnome-settings-daemon-gdm-layout-variant.patch BuildRequires: fdupes BuildRequires: gnome-common BuildRequires: gnome-desktop-devel BuildRequires: gnome-patch-translation BuildRequires: intltool +BuildRequires: libcanberra-devel BuildRequires: libgnomekbd-devel BuildRequires: libnotify-devel BuildRequires: libpulse-devel @@ -97,15 +100,14 @@ gnome-patch-translation-prepare #%patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 gnome-patch-translation-update %build autoreconf -f -i %configure\ --libexecdir=%{_prefix}/lib/gnome-settings-daemon\ - --disable-static\ - --disable-scrollkeeper\ - --disable-update-mimedb + --disable-static make %{?jobs:-j%jobs} %install From 11ec3b6844800cb4d78a7038f42c7c2a6c1b850622be2112e410c45d6e697175 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Tue, 8 Dec 2009 09:41:39 +0000 Subject: [PATCH 5/5] checked in OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-settings-daemon?expand=0&rev=46 --- gnome-settings-daemon.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnome-settings-daemon.spec b/gnome-settings-daemon.spec index 0d525c5..62bda01 100644 --- a/gnome-settings-daemon.spec +++ b/gnome-settings-daemon.spec @@ -21,7 +21,7 @@ Name: gnome-settings-daemon %define _name gnome-settings-daemon Version: 2.28.1 Release: 1 -License: GPL v2 or later +License: GPLv2+ Summary: Settings daemon for the GNOME desktop Url: http://www.gnome.org Group: System/GUI/GNOME @@ -68,7 +68,7 @@ This module was previously part of GNOME Control Center, but has been splitted from it for a more general use. %package devel -License: GPL v2 or later +License: GPLv2+ Summary: Development package for the GNOME settings daemon Group: System/GUI/GNOME Requires: %{name} = %{version}