rpms/gdm/devel gdm-2.8.0.2-prune-lang-list.patch, NONE, 1.1 gdm.spec, 1.89, 1.90 gdm-2.6.0.8-prune-lang-list.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue Aug 30 14:37:03 UTC 2005


Author: rstrode

Update of /cvs/dist/rpms/gdm/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv16865

Modified Files:
	gdm.spec 
Added Files:
	gdm-2.8.0.2-prune-lang-list.patch 
Removed Files:
	gdm-2.6.0.8-prune-lang-list.patch 
Log Message:
- Prune language list of installed languages
- Make config file noreplace again (bug 167087).


gdm-2.8.0.2-prune-lang-list.patch:
 daemon/gdm.in                         |    4 +++
 gui/gdmlanguages.c                    |    2 -
 gui/gdmlogin.c                        |   35 +++++++++++++++++++++++++++++++++
 gui/greeter/greeter_action_language.c |   36 ++++++++++++++++++++++++++++++++++
 4 files changed, 76 insertions(+), 1 deletion(-)

--- NEW FILE gdm-2.8.0.2-prune-lang-list.patch ---
--- gdm-2.8.0.2/gui/gdmlanguages.c.prune-lang-list	2005-04-20 13:46:48.000000000 -0400
+++ gdm-2.8.0.2/gui/gdmlanguages.c	2005-08-30 10:31:04.000000000 -0400
@@ -556,7 +556,7 @@
 					     language);
 		}
 
-		langs = g_list_prepend (langs, g_strdup (lang));
+                langs = g_list_prepend (langs, g_strdup (lang));
 		g_hash_table_insert (dupcheck, g_strdup (lang),
 				     GINT_TO_POINTER (1));
 
--- gdm-2.8.0.2/gui/greeter/greeter_action_language.c.prune-lang-list	2005-04-06 15:37:29.000000000 -0400
+++ gdm-2.8.0.2/gui/greeter/greeter_action_language.c	2005-08-30 10:31:04.000000000 -0400
@@ -46,6 +46,39 @@
 static gchar *current_language = NULL;
 static gchar *dialog_selected_language = NULL;
 
+static gboolean
+lang_is_supported (const char *language_code)
+{
+      const char *supported_language_list;
+      gchar **supported_language_codes;
+      int i;
+      gboolean is_supported;
+
+      supported_language_list = g_getenv ("SUPPORTED");
+
+      /* if we don't have a list of supported languages then
+       * assume all languages are supported
+       */
+      if (supported_language_list == NULL)
+                return TRUE;
+
+      supported_language_codes = g_strsplit (supported_language_list, ":", 0);
+
+      i = 0;
+      is_supported = FALSE;
+      while (supported_language_codes[i] != NULL) {
+                if (strcmp (language_code, supported_language_codes[i]) == 0) {
+                        is_supported = TRUE;
+                        break;
+                }
+                i++;
+      }
+
+      g_strfreev (supported_language_codes);
+
+      return is_supported;
+}
+
 static void
 greeter_langauge_initialize_model (void)
 {
@@ -81,6 +114,9 @@
 
       li->data = NULL;
 
+      if (!lang_is_supported (lang))
+          continue;
+
       name = gdm_lang_name (lang,
 			    FALSE /* never_encoding */,
 			    TRUE /* no_group */,
--- gdm-2.8.0.2/gui/gdmlogin.c.prune-lang-list	2005-08-04 03:04:32.000000000 -0400
+++ gdm-2.8.0.2/gui/gdmlogin.c	2005-08-30 10:31:04.000000000 -0400
@@ -1524,6 +1524,38 @@
     login_window_resize (FALSE /* force */);
 }
 
+static gboolean
+lang_is_supported (const char *language_code)
+{
+      const char *supported_language_list;
+      gchar **supported_language_codes;
+      int i;
+      gboolean is_supported;
+
+      supported_language_list = g_getenv ("SUPPORTED");
+
+      /* if we don't have a list of supported languages then
+       * assume all languages are supported
+       */
+      if (supported_language_list == NULL)
+      		return TRUE;
+
+      supported_language_codes = g_strsplit (supported_language_list, ":", 0);
+
+      i = 0;
+      is_supported = FALSE;
+      while (supported_language_codes[i] != NULL) {
+		if (strcmp (language_code, supported_language_codes[i]) == 0) {
+			is_supported = TRUE;
+			break;
+      		}
+		i++;
+      }
+
+      g_strfreev (supported_language_codes);
+
+      return is_supported;
+}
 
 static GtkWidget *
 gdm_login_language_menu_new (void)
@@ -1620,6 +1652,9 @@
 
 	    li->data = NULL;
 
+            if (!lang_is_supported (lang))
+              continue;
+
 	    group = name = gdm_lang_name (lang,
 					  FALSE /* never_encoding */,
 					  FALSE /* no_group */,
--- gdm-2.8.0.2/daemon/gdm.in.prune-lang-list	2005-03-10 19:15:05.000000000 -0500
+++ gdm-2.8.0.2/daemon/gdm.in	2005-08-30 10:31:04.000000000 -0400
@@ -2,6 +2,10 @@
 # A script so that
 #    1) we read the standard system env vars
 #    2) syadmins/integrators can add their own private options etc...
+if [ -z "$SUPPORTED" ]
+then
+	test -f /etc/sysconfig/i18n && export SUPPORTED=`. /etc/sysconfig/i18n; echo "$SUPPORTED"`
+fi
 
 test -f /etc/profile && . /etc/profile
 


Index: gdm.spec
===================================================================
RCS file: /cvs/dist/rpms/gdm/devel/gdm.spec,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -r1.89 -r1.90
--- gdm.spec	22 Aug 2005 13:47:54 -0000	1.89
+++ gdm.spec	30 Aug 2005 14:37:00 -0000	1.90
@@ -16,7 +16,7 @@
 Summary: The GNOME Display Manager.
 Name: gdm
 Version: 2.8.0.2
-Release: 2
+Release: 3
 Epoch: 1
 License: LGPL/GPL
 Group: User Interface/X
@@ -38,7 +38,7 @@
 Patch10: gdm-2.8.0.2-dont-malloc-in-signal-handlers.patch
 Patch11: gdm-2.6.0.8-xdmcp.patch
 Patch12: gdm-2.8.0.2-process-all-messages.patch
-Patch13: gdm-2.6.0.8-prune-lang-list.patch
+Patch13: gdm-2.8.0.2-prune-lang-list.patch
 Patch14: gdm-2.8.0.2-hide-throbber.patch
 
 BuildRoot: %{_tmppath}/gdm-%{PACKAGE_VERSION}-root
@@ -104,7 +104,7 @@
 %patch10 -p1 -b .dont-malloc-in-signal-handlers
 #%patch11 -p1 -b .xdmcp
 %patch12 -p1 -b .process-all-messages
-#%patch13 -p1 -b .prune-lang-list
+%patch13 -p1 -b .prune-lang-list
 %patch14 -p1 -b .hide-throbber
 
 # fix the time format for ja
@@ -238,7 +238,7 @@
 %doc AUTHORS COPYING ChangeLog NEWS README TODO
 
 %dir /etc/X11/gdm
-%config /etc/X11/gdm/gdm.conf
+%config(noreplace) /etc/X11/gdm/gdm.conf
 /etc/X11/gdm/factory-gdm.conf
 %config /etc/X11/gdm/XKeepsCrashing
 %config /etc/X11/gdm/locale.alias
@@ -274,6 +274,10 @@
 %attr(1770, root, gdm) %dir %{_localstatedir}/gdm
 
 %changelog
+* Tue Aug 30 2005 Ray Strode <rstrode at redhat.com> 1:2.8.0.2-3
+- Prune language list of installed languages
+- Make config file noreplace again (bug 167087).
+
 * Sat Aug 20 2005 Ray Strode <rstrode at redhat.com> 1:2.8.0.2-2
 - hide throbber
 


--- gdm-2.6.0.8-prune-lang-list.patch DELETED ---




More information about the fedora-cvs-commits mailing list