From b5be9c8180604ff00dcc202b5a0facfcf391088b8e8b8c6e78b9bda25579c1ed Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Fri, 6 Feb 2009 16:03:35 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glib2?expand=0&rev=60 --- glib-2.17.3-implicitdecl.patch | 12 - glib-2.18.2.tar.bz2 | 3 - glib-2.19.6.tar.bz2 | 3 + glib2-bgo569829-gettext-gkeyfile.patch | 142 +++++++++++ glib2-bnc402256-filename-leak.diff | 15 -- glib2-fate300461-desktop-gettext.patch | 243 ------------------- glib2-fate300461-gettext-gkeyfile-suse.patch | 168 +++++++++++++ glib2-libtool.diff | 10 - glib2.changes | 127 ++++++++++ glib2.spec | 170 ++++++++++--- 10 files changed, 576 insertions(+), 317 deletions(-) delete mode 100644 glib-2.17.3-implicitdecl.patch delete mode 100644 glib-2.18.2.tar.bz2 create mode 100644 glib-2.19.6.tar.bz2 create mode 100644 glib2-bgo569829-gettext-gkeyfile.patch delete mode 100644 glib2-bnc402256-filename-leak.diff delete mode 100644 glib2-fate300461-desktop-gettext.patch create mode 100644 glib2-fate300461-gettext-gkeyfile-suse.patch delete mode 100644 glib2-libtool.diff diff --git a/glib-2.17.3-implicitdecl.patch b/glib-2.17.3-implicitdecl.patch deleted file mode 100644 index dc7ad23..0000000 --- a/glib-2.17.3-implicitdecl.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: gio/fam/fam-helper.c -=================================================================== ---- gio/fam/fam-helper.c.orig 2008-07-02 23:13:12.000000000 +0200 -+++ gio/fam/fam-helper.c 2008-07-20 02:02:36.297108000 +0200 -@@ -24,6 +24,7 @@ - - #include "config.h" - #include -+#include - #include - - #include "fam-helper.h" diff --git a/glib-2.18.2.tar.bz2 b/glib-2.18.2.tar.bz2 deleted file mode 100644 index bb9bebf..0000000 --- a/glib-2.18.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95e99ab4f1ccc9abd48636ae2aeefa102d9749a5fc8ea6386e44683942fd7333 -size 4760532 diff --git a/glib-2.19.6.tar.bz2 b/glib-2.19.6.tar.bz2 new file mode 100644 index 0000000..5bc2c30 --- /dev/null +++ b/glib-2.19.6.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a720e3889179d6d0707b191c8529d3628bd2538517f0a009c643dd8d84c94e4d +size 4859239 diff --git a/glib2-bgo569829-gettext-gkeyfile.patch b/glib2-bgo569829-gettext-gkeyfile.patch new file mode 100644 index 0000000..1272bd5 --- /dev/null +++ b/glib2-bgo569829-gettext-gkeyfile.patch @@ -0,0 +1,142 @@ +Index: glib-2.19.5/glib/gkeyfile.c +=================================================================== +--- glib-2.19.5.orig/glib/gkeyfile.c ++++ glib-2.19.5/glib/gkeyfile.c +@@ -83,6 +83,7 @@ struct _GKeyFile + GKeyFileFlags flags; + + gchar **locales; ++ gchar *gettext_domain; + }; + + typedef struct _GKeyFileKeyValuePair GKeyFileKeyValuePair; +@@ -209,6 +210,7 @@ g_key_file_init (GKeyFile *key_file) + key_file->list_separator = ';'; + key_file->flags = 0; + key_file->locales = g_strdupv ((gchar **)g_get_language_names ()); ++ key_file->gettext_domain = NULL; + } + + static void +@@ -228,6 +230,12 @@ g_key_file_clear (GKeyFile *key_file) + key_file->parse_buffer = NULL; + } + ++ if (key_file->gettext_domain) ++ { ++ g_free (key_file->gettext_domain); ++ key_file->gettext_domain = NULL; ++ } ++ + tmp = key_file->groups; + while (tmp != NULL) + { +@@ -448,6 +456,11 @@ g_key_file_load_from_fd (GKeyFile + return FALSE; + } + ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, ++ NULL); ++ + return TRUE; + } + +@@ -554,6 +567,11 @@ g_key_file_load_from_data (GKeyFile + return FALSE; + } + ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, ++ NULL); ++ + return TRUE; + } + +@@ -1662,6 +1680,8 @@ g_key_file_get_locale_string (GKeyFile + GError *key_file_error; + gchar **languages; + gboolean free_languages = FALSE; ++ gboolean try_gettext = FALSE; ++ const gchar *msg_locale; + gint i; + + g_return_val_if_fail (key_file != NULL, NULL); +@@ -1692,6 +1712,23 @@ g_key_file_get_locale_string (GKeyFile + free_languages = FALSE; + } + ++ /* we're only interested in gettext translation if we don't have a ++ * translation in the .desktop file itself and if the key is one of the keys ++ * we know we want to translate: Name, GenericName, Comment. Blindly doing ++ * this for all keys can give strange result for the icons, since the Icon is ++ * a locale string in the spec, eg. We also only get translation in the mo ++ * file if the requested locale is the LC_MESSAGES one. Ideally, we should do ++ * more and change LC_MESSAGES to use the requested locale, but there's no ++ * guarantee it's installed on the system and it might have some ++ * side-effects. Since this is a corner case, let's ignore it. */ ++ ++ msg_locale = setlocale (LC_MESSAGES, NULL); ++ try_gettext = msg_locale && key_file->gettext_domain && ++ strcmp (group_name, G_KEY_FILE_DESKTOP_GROUP) == 0 && ++ (strcmp (key, G_KEY_FILE_DESKTOP_KEY_NAME) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_COMMENT) == 0); ++ + for (i = 0; languages[i]; i++) + { + candidate_key = g_strdup_printf ("%s[%s]", key, languages[i]); +@@ -1708,6 +1745,39 @@ g_key_file_get_locale_string (GKeyFile + translated_value = NULL; + } + ++ /* Fallback to gettext */ ++ if (try_gettext && !translated_value) ++ { ++ gchar *orig_value = g_key_file_get_string (key_file, group_name, key, NULL); ++ ++ if (orig_value) ++ { ++ gboolean codeset_set; ++ const gchar *translated; ++ gboolean has_gettext; ++ ++ codeset_set = bind_textdomain_codeset (key_file->gettext_domain, "UTF-8") != NULL; ++ translated = NULL; ++ ++ translated = g_dgettext (key_file->gettext_domain, ++ orig_value); ++ has_gettext = translated != orig_value; ++ ++ g_free (orig_value); ++ ++ if (has_gettext) ++ { ++ if (codeset_set) ++ translated_value = g_strdup (translated); ++ else ++ translated_value = g_locale_to_utf8 (translated, ++ -1, NULL, NULL, NULL); ++ } ++ else ++ translated_value = NULL; ++ } ++ } ++ + /* Fallback to untranslated key + */ + if (!translated_value) +Index: glib-2.19.5/glib/gkeyfile.h +=================================================================== +--- glib-2.19.5.orig/glib/gkeyfile.h ++++ glib-2.19.5/glib/gkeyfile.h +@@ -240,6 +240,7 @@ gboolean g_key_file_remove_group + #define G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY "StartupNotify" + #define G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS "StartupWMClass" + #define G_KEY_FILE_DESKTOP_KEY_URL "URL" ++#define G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN "X-GNOME-Gettext-Domain" + + #define G_KEY_FILE_DESKTOP_TYPE_APPLICATION "Application" + #define G_KEY_FILE_DESKTOP_TYPE_LINK "Link" diff --git a/glib2-bnc402256-filename-leak.diff b/glib2-bnc402256-filename-leak.diff deleted file mode 100644 index 8235280..0000000 --- a/glib2-bnc402256-filename-leak.diff +++ /dev/null @@ -1,15 +0,0 @@ -bnc402256 - Fix leak inside g_local_file_get_parse_name() - -diff --git a/gio/glocalfile.c b/gio/glocalfile.c -index eec7480..7f16823 100644 ---- a/gio/glocalfile.c -+++ b/gio/glocalfile.c -@@ -431,6 +431,8 @@ g_local_file_get_parse_name (GFile *file) - g_free (utf8_filename); - utf8_filename = NULL; - } -+ -+ g_free (roundtripped_filename); - } - } - diff --git a/glib2-fate300461-desktop-gettext.patch b/glib2-fate300461-desktop-gettext.patch deleted file mode 100644 index 90b9ed3..0000000 --- a/glib2-fate300461-desktop-gettext.patch +++ /dev/null @@ -1,243 +0,0 @@ -Index: glib/gkeyfile.c -=================================================================== ---- glib/gkeyfile.c.orig -+++ glib/gkeyfile.c -@@ -83,6 +83,8 @@ struct _GKeyFile - GKeyFileFlags flags; - - gchar **locales; -+ gchar *gettext_domain; -+ gchar *file_basename; - }; - - typedef struct _GKeyFileKeyValuePair GKeyFileKeyValuePair; -@@ -209,6 +211,8 @@ g_key_file_init (GKeyFile *key_file) - key_file->list_separator = ';'; - key_file->flags = 0; - key_file->locales = g_strdupv ((gchar **)g_get_language_names ()); -+ key_file->gettext_domain = NULL; -+ key_file->file_basename = NULL; - } - - static void -@@ -228,6 +232,18 @@ g_key_file_clear (GKeyFile *key_file) - key_file->parse_buffer = NULL; - } - -+ if (key_file->gettext_domain) -+ { -+ g_free (key_file->gettext_domain); -+ key_file->gettext_domain = NULL; -+ } -+ -+ if (key_file->file_basename) -+ { -+ g_free (key_file->file_basename); -+ key_file->file_basename = NULL; -+ } -+ - tmp = key_file->groups; - while (tmp != NULL) - { -@@ -367,6 +383,39 @@ find_file_in_data_dirs (const gchar *f - return fd; - } - -+static int _g_key_file_default_textdomain_codeset_bound = 0; -+#define _G_KEY_FILE_DEFAULT_DOMAIN "desktop_translations" -+ -+static char * -+_g_key_file_get_default_gettext_domain (void) -+{ -+ if (!_g_key_file_default_textdomain_codeset_bound) -+ { -+ const char *codeset; -+ -+ _g_key_file_default_textdomain_codeset_bound = 1; -+ -+ codeset = bind_textdomain_codeset (_G_KEY_FILE_DEFAULT_DOMAIN, "UTF-8"); -+ -+ if (codeset) -+ _g_key_file_default_textdomain_codeset_bound |= 1 << 1; -+ } -+ -+ return g_strdup (_G_KEY_FILE_DEFAULT_DOMAIN); -+} -+ -+static inline gboolean -+_g_key_file_is_default_gettext_domain (const char *domain) -+{ -+ return (domain && strcmp (domain, _G_KEY_FILE_DEFAULT_DOMAIN) == 0); -+} -+ -+static inline gboolean -+_g_key_file_default_gettext_domain_is_bound (void) -+{ -+ return _g_key_file_default_textdomain_codeset_bound & (1 << 1); -+} -+ - static gboolean - g_key_file_load_from_fd (GKeyFile *key_file, - gint fd, -@@ -448,6 +497,14 @@ g_key_file_load_from_fd (GKeyFile - return FALSE; - } - -+ key_file->gettext_domain = g_key_file_get_string (key_file, -+ G_KEY_FILE_DESKTOP_GROUP, -+ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, -+ NULL); -+ -+ if (!key_file->gettext_domain) -+ key_file->gettext_domain = _g_key_file_get_default_gettext_domain (); -+ - return TRUE; - } - -@@ -497,6 +554,8 @@ g_key_file_load_from_file (GKeyFile - return FALSE; - } - -+ key_file->file_basename = g_path_get_basename (file); -+ - return TRUE; - } - -@@ -554,6 +613,14 @@ g_key_file_load_from_data (GKeyFile - return FALSE; - } - -+ key_file->gettext_domain = g_key_file_get_string (key_file, -+ G_KEY_FILE_DESKTOP_GROUP, -+ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, -+ NULL); -+ -+ if (!key_file->gettext_domain) -+ key_file->gettext_domain = _g_key_file_get_default_gettext_domain (); -+ - return TRUE; - } - -@@ -623,6 +690,9 @@ g_key_file_load_from_dirs (GKeyFile - } - } - -+ if (found_file) -+ key_file->file_basename = g_path_get_basename (output_path); -+ - if (found_file && full_path) - *full_path = output_path; - else -@@ -1653,6 +1723,8 @@ g_key_file_get_locale_string (GKeyFile - GError *key_file_error; - gchar **languages; - gboolean free_languages = FALSE; -+ gboolean try_gettext = FALSE; -+ const gchar *msg_locale; - gint i; - - g_return_val_if_fail (key_file != NULL, NULL); -@@ -1682,7 +1754,24 @@ g_key_file_get_locale_string (GKeyFile - languages = (gchar **) g_get_language_names (); - free_languages = FALSE; - } -- -+ -+ /* we're only interested in gettext translation if we don't have a -+ * translation in the .desktop file itself and if the key is one of the keys -+ * we know we want to translate: Name, GenericName, Comment. Blindly doing -+ * this for all keys can give strange result for the icons, since the Icon is -+ * a locale string in the spec, eg. We also only get translation in the mo -+ * file if the requested locale is the LC_MESSAGES one. Ideally, we should do -+ * more and change LC_MESSAGES to use the requested locale, but there's no -+ * guarantee it's installed on the system and it might have some -+ * side-effects. Since this is a corner case, let's ignore it. */ -+ -+ msg_locale = setlocale (LC_MESSAGES, NULL); -+ try_gettext = msg_locale && key_file->gettext_domain && -+ strcmp (group_name, G_KEY_FILE_DESKTOP_GROUP) == 0 && -+ (strcmp (key, G_KEY_FILE_DESKTOP_KEY_NAME) == 0 || -+ strcmp (key, G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME) == 0 || -+ strcmp (key, G_KEY_FILE_DESKTOP_KEY_COMMENT) == 0); -+ - for (i = 0; languages[i]; i++) - { - candidate_key = g_strdup_printf ("%s[%s]", key, languages[i]); -@@ -1697,6 +1786,65 @@ g_key_file_get_locale_string (GKeyFile - - g_free (translated_value); - translated_value = NULL; -+ -+ if (try_gettext && strcmp (msg_locale, languages[i]) == 0) -+ { -+ gchar *orig_value = g_key_file_get_string (key_file, group_name, key, NULL); -+ -+ if (orig_value) -+ { -+ gboolean codeset_set; -+ const gchar *translated; -+ gboolean has_gettext; -+ -+ if (!_g_key_file_is_default_gettext_domain (key_file->gettext_domain)) -+ codeset_set = bind_textdomain_codeset (key_file->gettext_domain, "UTF-8") != NULL; -+ else -+ codeset_set = _g_key_file_default_gettext_domain_is_bound (); -+ translated = NULL; -+ -+ /* first try to translate with the context */ -+ if (key_file->file_basename) -+ { -+ gchar *context; -+ gchar *context_value; -+ -+ context = g_strdup_printf ("%s(%s)", key, -+ key_file->file_basename); -+ context_value = g_strdup_printf ("%s%s%s", -+ context, ": ", orig_value); -+ -+ translated = g_dgettext (key_file->gettext_domain, -+ context_value); -+ has_gettext = translated != context_value; -+ -+ g_free (context_value); -+ g_free (context); -+ } -+ -+ /* no translation with the context: try without context */ -+ if (!has_gettext) -+ { -+ translated = g_dgettext (key_file->gettext_domain, -+ orig_value); -+ has_gettext = translated != orig_value; -+ } -+ -+ g_free (orig_value); -+ -+ if (has_gettext) -+ { -+ if (codeset_set) -+ translated_value = g_strdup (translated); -+ else -+ translated_value = g_locale_to_utf8 (translated, -+ -1, NULL, NULL, NULL); -+ break; -+ } -+ else -+ translated_value = NULL; -+ } -+ } - } - - /* Fallback to untranslated key -Index: glib/gkeyfile.h -=================================================================== ---- glib/gkeyfile.h.orig -+++ glib/gkeyfile.h -@@ -240,6 +240,7 @@ gboolean g_key_file_remove_group - #define G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY "StartupNotify" - #define G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS "StartupWMClass" - #define G_KEY_FILE_DESKTOP_KEY_URL "URL" -+#define G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN "X-SUSE-Gettext-Domain" - - #define G_KEY_FILE_DESKTOP_TYPE_APPLICATION "Application" - #define G_KEY_FILE_DESKTOP_TYPE_LINK "Link" diff --git a/glib2-fate300461-gettext-gkeyfile-suse.patch b/glib2-fate300461-gettext-gkeyfile-suse.patch new file mode 100644 index 0000000..bfc5bf7 --- /dev/null +++ b/glib2-fate300461-gettext-gkeyfile-suse.patch @@ -0,0 +1,168 @@ +Index: glib-2.19.5/glib/gkeyfile.c +=================================================================== +--- glib-2.19.5.orig/glib/gkeyfile.c ++++ glib-2.19.5/glib/gkeyfile.c +@@ -84,6 +84,7 @@ struct _GKeyFile + + gchar **locales; + gchar *gettext_domain; ++ gchar *file_basename; + }; + + typedef struct _GKeyFileKeyValuePair GKeyFileKeyValuePair; +@@ -211,6 +212,7 @@ g_key_file_init (GKeyFile *key_file) + key_file->flags = 0; + key_file->locales = g_strdupv ((gchar **)g_get_language_names ()); + key_file->gettext_domain = NULL; ++ key_file->file_basename = NULL; + } + + static void +@@ -236,6 +238,12 @@ g_key_file_clear (GKeyFile *key_file) + key_file->gettext_domain = NULL; + } + ++ if (key_file->file_basename) ++ { ++ g_free (key_file->file_basename); ++ key_file->file_basename = NULL; ++ } ++ + tmp = key_file->groups; + while (tmp != NULL) + { +@@ -375,6 +383,39 @@ find_file_in_data_dirs (const gchar *f + return fd; + } + ++static int _g_key_file_default_textdomain_codeset_bound = 0; ++#define _G_KEY_FILE_DEFAULT_DOMAIN "desktop_translations" ++ ++static char * ++_g_key_file_get_default_gettext_domain (void) ++{ ++ if (!_g_key_file_default_textdomain_codeset_bound) ++ { ++ const char *codeset; ++ ++ _g_key_file_default_textdomain_codeset_bound = 1; ++ ++ codeset = bind_textdomain_codeset (_G_KEY_FILE_DEFAULT_DOMAIN, "UTF-8"); ++ ++ if (codeset) ++ _g_key_file_default_textdomain_codeset_bound |= 1 << 1; ++ } ++ ++ return g_strdup (_G_KEY_FILE_DEFAULT_DOMAIN); ++} ++ ++static inline gboolean ++_g_key_file_is_default_gettext_domain (const char *domain) ++{ ++ return (domain && strcmp (domain, _G_KEY_FILE_DEFAULT_DOMAIN) == 0); ++} ++ ++static inline gboolean ++_g_key_file_default_gettext_domain_is_bound (void) ++{ ++ return _g_key_file_default_textdomain_codeset_bound & (1 << 1); ++} ++ + static gboolean + g_key_file_load_from_fd (GKeyFile *key_file, + gint fd, +@@ -461,6 +502,9 @@ g_key_file_load_from_fd (GKeyFile + G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, + NULL); + ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = _g_key_file_get_default_gettext_domain (); ++ + return TRUE; + } + +@@ -510,6 +554,8 @@ g_key_file_load_from_file (GKeyFile + return FALSE; + } + ++ key_file->file_basename = g_path_get_basename (file); ++ + return TRUE; + } + +@@ -572,6 +618,9 @@ g_key_file_load_from_data (GKeyFile + G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, + NULL); + ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = _g_key_file_get_default_gettext_domain (); ++ + return TRUE; + } + +@@ -641,6 +690,9 @@ g_key_file_load_from_dirs (GKeyFile + } + } + ++ if (found_file) ++ key_file->file_basename = g_path_get_basename (output_path); ++ + if (found_file && full_path) + *full_path = output_path; + else +@@ -1756,12 +1808,38 @@ g_key_file_get_locale_string (GKeyFile + const gchar *translated; + gboolean has_gettext; + +- codeset_set = bind_textdomain_codeset (key_file->gettext_domain, "UTF-8") != NULL; ++ if (_g_key_file_is_default_gettext_domain (key_file->gettext_domain)) ++ codeset_set = _g_key_file_default_gettext_domain_is_bound (); ++ else ++ codeset_set = bind_textdomain_codeset (key_file->gettext_domain, "UTF-8") != NULL; + translated = NULL; + +- translated = g_dgettext (key_file->gettext_domain, +- orig_value); +- has_gettext = translated != orig_value; ++ /* first try to translate with the context */ ++ if (key_file->file_basename) ++ { ++ gchar *context; ++ gchar *context_value; ++ ++ context = g_strdup_printf ("%s(%s)", key, ++ key_file->file_basename); ++ context_value = g_strdup_printf ("%s%s%s", ++ context, ": ", orig_value); ++ ++ translated = g_dgettext (key_file->gettext_domain, ++ context_value); ++ has_gettext = translated != context_value; ++ ++ g_free (context_value); ++ g_free (context); ++ } ++ ++ /* no translation with the context: try without context */ ++ if (!has_gettext) ++ { ++ translated = g_dgettext (key_file->gettext_domain, ++ orig_value); ++ has_gettext = translated != orig_value; ++ } + + g_free (orig_value); + +Index: glib-2.19.5/glib/gkeyfile.h +=================================================================== +--- glib-2.19.5.orig/glib/gkeyfile.h ++++ glib-2.19.5/glib/gkeyfile.h +@@ -240,7 +240,7 @@ gboolean g_key_file_remove_group + #define G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY "StartupNotify" + #define G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS "StartupWMClass" + #define G_KEY_FILE_DESKTOP_KEY_URL "URL" +-#define G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN "X-GNOME-Gettext-Domain" ++#define G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN "X-SUSE-Gettext-Domain" + + #define G_KEY_FILE_DESKTOP_TYPE_APPLICATION "Application" + #define G_KEY_FILE_DESKTOP_TYPE_LINK "Link" diff --git a/glib2-libtool.diff b/glib2-libtool.diff deleted file mode 100644 index 810cee3..0000000 --- a/glib2-libtool.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- configure.in -+++ configure.in -@@ -1261,6 +1261,7 @@ if test "x$glib_cv_va_val_copy" = "xno"; - AC_DEFINE(G_VA_COPY_AS_ARRAY,1, ['va_lists' cannot be copies as values]) - fi - -+m4_ifdef([LT_OUTPUT], [LT_OUTPUT]) - dnl *********************** - dnl *** g_module checks *** - dnl *********************** diff --git a/glib2.changes b/glib2.changes index c54cb62..66f60c2 100644 --- a/glib2.changes +++ b/glib2.changes @@ -1,9 +1,136 @@ +------------------------------------------------------------------- +Tue Feb 3 11:17:27 EST 2009 - mboman@suse.de + +- Update to version 2.19.6: + + New format macro to print goffset data: G_OFFSET_FORMAT + + GIO: + * Add a GFilter{Input,Output}Stream::close-base-stream + properties which determine whether the base stream will be + closed when the filter stream is finalized. + * g_data_input_stream_read_line and ..._read_until have + asynchronous variants now. + + Bugs fixed: + * bgo#568294 A wrong reference in the description of + g_bookmark_file_... + * bgo#563141 RFE: define G_OFFSET_FORMAT + * bgo#569105 g_time_val_to_iso8601() assumes time_t==long + * bgo#568394 dropping the last reference to a stream filter + closes... + * bgo#568741 g_buffered_input_stream_fill_async doesn't work + * bgo#568723 g_buffered_input_stream_fill_async doesn't take + count == -1 + * bgo#568575 _async functions for GDataInputStream + + Translation updates + +------------------------------------------------------------------- +Sat Jan 31 23:39:29 CET 2009 - vuntz@novell.com + +- Split glib2-fate300461-desktop-gettext.patch in two patches: + + glib2-bgo569829-gettext-gkeyfile.patch: this is the part that + is being discussed upstream. + + glib2-fate300461-gettext-gkeyfile-suse.patch: this is the + openSUSE specific part. + + this should be easier to maintain in the long term. +- With this split, we also fix a bug where translations in the + desktop files were always ignored, and gettext was always used. + This was not the intended behavior, and made it impossible to + customize the name/comment of a launcher, eg. +- Drop glib2-libtool.diff: upstream configure.in already contains + the change in another place. +- Drop glib-2.17.3-implicitdecl.patch: seems to compile fine + without this now. + +------------------------------------------------------------------- +Sat Jan 31 08:45:48 EST 2009 - mboman@suse.de + +- Update to version 2.19.5: + + Update included PCRE to 7.8 + + g_base64_decode_inplace: New function to do base64 decoding in place + + Bugs fixed: bgo#567138, bgo#566569, bgo#566573, bgo#564728, bgo#567838, + bgo#567977, bgo#512779, bgo#566770, bgo#565484 + + Translation updates + +------------------------------------------------------------------- +Thu Jan 22 22:27:44 CET 2009 - vuntz@novell.com + +- Do not BuildRequires desktop-file-utils. +- Fix rpmlint warning about usage of packageand. +- Do not put executable bits for files in /etc/profile.d + +------------------------------------------------------------------- +Tue Jan 6 07:57:07 EST 2009 - mboman@suse.de + +- Update to version 2.19.4: + + Use O_NOATIME when sniffing mimetypes + + Add a convenience method to check if a GSimpleAsyncResult + is valid + + bgo#560676 function access for g_threads_supported + + bgo#565905 There is no g_context_group_set_translation_domain + + bgo#564210 SUN Studio 12 has supported visibility attribute + + bgo#565136 GObject's "notify" signal parameters are wrong in gtk-doc + + bgo#565831 error in interface creation sample + + bgo#566348 g_file_open_tmp uses the wrong g_mkstemp on win32 + + bgo#566064 Add NOATIME flag to query_info_flags + + bgo#566170 g_async_result_verify_source_object + + Translation updates + +------------------------------------------------------------------- +Sat Dec 20 09:57:41 EST 2008 - mboman@suse.de + +- Update to version 2.19.3: + + bgo#508021 Add support for the CRIS and CRISv32 architectures + + bgo#526320 should not list mounts that the user doesn't have permission + to use + + bgo#558458 Cannot build gio tests on Solaris using SUN cc + + bgo#555465 GUnix{Input,Output}Stream lacks fd/close_fd_at_close property + + bgo#558298 Hide ecryptfs mounts + + bgo#515777 incorrect date&time on copy + + bgo#562452 Ensure we return G_IO_ERROR_CANCELLED if cancelling + g_simple_async_result_run_in_thread + + bgo#473150 g_type_module_use inconsistently increases the use + counter in case of error + + bgo#563150 G_GU?INT*_MODIFIER/FORMAT docs + + bgo#563156 Document printing and scanning gunichar values + + Translation updates + ------------------------------------------------------------------- Wed Dec 10 12:34:56 CET 2008 - olh@suse.de - use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade (bnc#437293) +------------------------------------------------------------------- +Tue Dec 9 06:30:50 EST 2008 - mboman@suse.de +- Update to version 2.19.2: + + GIO: + - GIcon serialization support + - new file attribute for preview images + - new function to get the full commandline + - New functions to 'shadow' mounts + + Bugs fixed: bgo#556186, bgo#557087, bgo#556921, bgo#557210, bgo#558381, + bgo#558185, bgo#558513, bgo#558672, bgo#555740, bgo#557182, bgo#528320, + bgo#556910, bgo#557592, bgo#556415, bgo#555935, bgo#552776, bgo#559448, + bgo#561212, bgo#560569, bgo#560568, bgo#559413, bgo#562378, bgo#559110, + bgo#557603, bgo#562544, bgo#547264, bgo#562638, bgo#562639, bgo#562549, + bgo#559452, bgo#559462, bgo#559517, bgo#562538, bgo#561352, bgo#561375, + bgo#561807, bgo#562393, bgo#541715, bgo#547481, bgo#548163, bgo#559633, + bgo#555486, bgo#505361, bgo#509446, bgo#553820, bgo#553724, bgo#553857, + bgo#553447, bgo#554092, bgo#528670, bgo#555224, bgo#555309, bgo#554790, + bgo#555314, bgo#555313, bgo#552861, bgo#554557, bgo#552107, bgo#551355, + bgo#555311, bgo#556101, bgo#556186, bgo#526456, bgo#553426, bgo#545350, + bgo#545351, bgo#552168, bgo#554970, bgo#554745, bgo#555121, bgo#555711, + bgo#555331, bgo#556335, bgo#556334, bgo#556422 + + Rewrite GHashTable to use open addressing with quadratic probing + + Make g_poll available as public api + + New macros g_assert_error and g_assert_no_error to assert + that a GError is set or unset + + New method to make a GPollFD for a cancellable + + When launching applications, always pass fuse file:// uris when possible, + and let gio convert such uris back to gio uris. + + Translation updates +- Disable 'make check'. See bgo#554969 +- Remove glib2-bnc402256-filename-leak.diff. Fixed upstream + ------------------------------------------------------------------- Mon Dec 8 13:22:24 CET 2008 - vuntz@novell.com diff --git a/glib2.spec b/glib2.spec index a8a6fd0..37d3ff5 100644 --- a/glib2.spec +++ b/glib2.spec @@ -1,7 +1,7 @@ # -# spec file for package glib2 (Version 2.18.2) +# spec file for package glib2 (Version 2.19.6) # -# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -32,8 +32,8 @@ AutoReqProv: on Obsoletes: glib2-64bit %endif # -Version: 2.18.2 -Release: 5 +Version: 2.19.6 +Release: 1 Summary: A Library with Convenient Functions Written in C Url: http://www.gtk.org/ Source: ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.14/%{_name}-%{version}.tar.bz2 @@ -49,18 +49,14 @@ Source5: gtk-doc.m4 Patch0: glib2-mkinstalldirs.patch # PATCH-FIX-OPENSUSE glib2-aclocal.patch Patch1: glib2-aclocal.patch -# PATCH-FIX-UPSTREAM glib2-libtool.diff schwab@suse.de -- apparently configure.in is invoking libtool in a bad way -Patch6: glib2-libtool.diff # PATCH-FIX-OPENSUSE glib2-bnc379332-desktop-su.patch bnc379332 vuntz@novell.com -- Use X-KDE-SubstituteUID Patch8: glib2-bnc379332-desktop-su.patch # PATCH-FIX-UPSTREAM glib2-base64.patch pchenthill@novell.com bnc382708 Patch9: glib2-base64.patch -# PATCH-FIX-OPENSUSE glib-2.17.3-implicitdecl.patch crrodriguez@suse.de -Patch10: glib-2.17.3-implicitdecl.patch -# PATCH-FEATURE-OPENSUSE glib2-fate300461-desktop-gettext.patch fate300461 vuntz@novell.com -- Look for translation of desktop entry strings via gettext -Patch11: glib2-fate300461-desktop-gettext.patch -# PATCH-FIX-UPSTREAM glib2-bnc402256-filename-leak.diff bnc402256 federico@novell.com - Fix leak in g_local_file_get_parse_name() -Patch12: glib2-bnc402256-filename-leak.diff +# PATCH-FEATURE-UPSTREAM glib2-bgo569829-gettext-gkeyfile.patch fate300461 bgo569829 vuntz@novell.com -- Look for translation of desktop entry strings via gettext, part that we share with Ubuntu and try to push upstream +Patch10: glib2-bgo569829-gettext-gkeyfile.patch +# PATCH-FEATURE-OPENSUSE glib2-fate300461-gettext-gkeyfile-suse.patch fate300461 vuntz@novell.com -- Look for translation of desktop entry strings via gettext, part that deals with the openSUSE specific infrastructure (with desktop_translations) +Patch11: glib2-fate300461-gettext-gkeyfile-suse.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: %{name}-lang = %{version} # For temporary %%pre script only. @@ -99,7 +95,7 @@ Summary: Definition of GNOME Default Applications Group: Development/Libraries/C and C++ Provides: %{name}-branding = %{version} Conflicts: otherproviders(%{name}-branding) -Supplements: packageand(branding-upstream:%{name}) +Supplements: packageand(%{name}:branding-upstream) #BRAND: The /etc/gnome_defaults.conf allows to define arbitrary #BRAND: applications as preferred defaults. # NOTE: gnome_defaults is not an upstream feature, but a SuSE @@ -415,12 +411,10 @@ Authors: %setup -q -n %{_name}-%{version} %patch0 %patch1 -%patch6 %patch8 %patch9 -%patch10 -%patch11 -%patch12 -p1 +%patch10 -p1 +%patch11 -p1 cp -a %{S:1} %{S:2} %{S:3} . cp -a %{S:4} gnome_defaults.conf if ! test -f %{_datadir}/aclocal/gtk-doc.m4 ; then @@ -440,13 +434,14 @@ export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %{__make} %{?jobs:-j%jobs} %check -%{__make} %{?jobs:-j%jobs} check +# make check does not work on x86_64. See http://bugzilla.gnome.org/show_bug.cgi?id=554969 +# %{__make} %{?jobs:-j%jobs} check %install make install DESTDIR=$RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/etc/profile.d -install -D -m0755 glib2.sh $RPM_BUILD_ROOT/etc/profile.d/zzz-glib2.sh -install -D -m0755 glib2.csh $RPM_BUILD_ROOT/etc/profile.d/zzz-glib2.csh +install -D -m0644 glib2.sh $RPM_BUILD_ROOT/etc/profile.d/zzz-glib2.sh +install -D -m0644 glib2.csh $RPM_BUILD_ROOT/etc/profile.d/zzz-glib2.csh install -D -m0755 SuSEconfig.glib2 $RPM_BUILD_ROOT/sbin/conf.d/SuSEconfig.glib2 install -D -m0644 gnome_defaults.conf $RPM_BUILD_ROOT%{_sysconfdir}/gnome_defaults.conf mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/gio-2.0 $RPM_BUILD_ROOT%{_datadir}/applications @@ -559,9 +554,116 @@ rm -rf $RPM_BUILD_ROOT %dir %{_datadir}/gtk-doc/html %changelog +* Tue Feb 03 2009 mboman@suse.de +- Update to version 2.19.6: + + New format macro to print goffset data: G_OFFSET_FORMAT + + GIO: + * Add a GFilter{Input,Output}Stream::close-base-stream + properties which determine whether the base stream will be + closed when the filter stream is finalized. + * g_data_input_stream_read_line and ..._read_until have + asynchronous variants now. + + Bugs fixed: + * bgo#568294 A wrong reference in the description of + g_bookmark_file_... + * bgo#563141 RFE: define G_OFFSET_FORMAT + * bgo#569105 g_time_val_to_iso8601() assumes time_t==long + * bgo#568394 dropping the last reference to a stream filter + closes... + * bgo#568741 g_buffered_input_stream_fill_async doesn't work + * bgo#568723 g_buffered_input_stream_fill_async doesn't take + count == -1 + * bgo#568575 _async functions for GDataInputStream + + Translation updates +* Sat Jan 31 2009 vuntz@novell.com +- Split glib2-fate300461-desktop-gettext.patch in two patches: + + glib2-bgo569829-gettext-gkeyfile.patch: this is the part that + is being discussed upstream. + + glib2-fate300461-gettext-gkeyfile-suse.patch: this is the + openSUSE specific part. + + this should be easier to maintain in the long term. +- With this split, we also fix a bug where translations in the + desktop files were always ignored, and gettext was always used. + This was not the intended behavior, and made it impossible to + customize the name/comment of a launcher, eg. +- Drop glib2-libtool.diff: upstream configure.in already contains + the change in another place. +- Drop glib-2.17.3-implicitdecl.patch: seems to compile fine + without this now. +* Sat Jan 31 2009 mboman@suse.de +- Update to version 2.19.5: + + Update included PCRE to 7.8 + + g_base64_decode_inplace: New function to do base64 decoding in place + + Bugs fixed: bgo#567138, bgo#566569, bgo#566573, bgo#564728, bgo#567838, + bgo#567977, bgo#512779, bgo#566770, bgo#565484 + + Translation updates +* Thu Jan 22 2009 vuntz@novell.com +- Do not BuildRequires desktop-file-utils. +- Fix rpmlint warning about usage of packageand. +- Do not put executable bits for files in /etc/profile.d +* Tue Jan 06 2009 mboman@suse.de +- Update to version 2.19.4: + + Use O_NOATIME when sniffing mimetypes + + Add a convenience method to check if a GSimpleAsyncResult + is valid + + bgo#560676 function access for g_threads_supported + + bgo#565905 There is no g_context_group_set_translation_domain + + bgo#564210 SUN Studio 12 has supported visibility attribute + + bgo#565136 GObject's "notify" signal parameters are wrong in gtk-doc + + bgo#565831 error in interface creation sample + + bgo#566348 g_file_open_tmp uses the wrong g_mkstemp on win32 + + bgo#566064 Add NOATIME flag to query_info_flags + + bgo#566170 g_async_result_verify_source_object + + Translation updates +* Sat Dec 20 2008 mboman@suse.de +- Update to version 2.19.3: + + bgo#508021 Add support for the CRIS and CRISv32 architectures + + bgo#526320 should not list mounts that the user doesn't have permission + to use + + bgo#558458 Cannot build gio tests on Solaris using SUN cc + + bgo#555465 GUnix{Input,Output}Stream lacks fd/close_fd_at_close property + + bgo#558298 Hide ecryptfs mounts + + bgo#515777 incorrect date&time on copy + + bgo#562452 Ensure we return G_IO_ERROR_CANCELLED if cancelling + g_simple_async_result_run_in_thread + + bgo#473150 g_type_module_use inconsistently increases the use + counter in case of error + + bgo#563150 G_GU?INT*_MODIFIER/FORMAT docs + + bgo#563156 Document printing and scanning gunichar values + + Translation updates * Wed Dec 10 2008 olh@suse.de - use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade (bnc#437293) +* Tue Dec 09 2008 mboman@suse.de +- Update to version 2.19.2: + + GIO: + - GIcon serialization support + - new file attribute for preview images + - new function to get the full commandline + - New functions to 'shadow' mounts + + Bugs fixed: bgo#556186, bgo#557087, bgo#556921, bgo#557210, bgo#558381, + bgo#558185, bgo#558513, bgo#558672, bgo#555740, bgo#557182, bgo#528320, + bgo#556910, bgo#557592, bgo#556415, bgo#555935, bgo#552776, bgo#559448, + bgo#561212, bgo#560569, bgo#560568, bgo#559413, bgo#562378, bgo#559110, + bgo#557603, bgo#562544, bgo#547264, bgo#562638, bgo#562639, bgo#562549, + bgo#559452, bgo#559462, bgo#559517, bgo#562538, bgo#561352, bgo#561375, + bgo#561807, bgo#562393, bgo#541715, bgo#547481, bgo#548163, bgo#559633, + bgo#555486, bgo#505361, bgo#509446, bgo#553820, bgo#553724, bgo#553857, + bgo#553447, bgo#554092, bgo#528670, bgo#555224, bgo#555309, bgo#554790, + bgo#555314, bgo#555313, bgo#552861, bgo#554557, bgo#552107, bgo#551355, + bgo#555311, bgo#556101, bgo#556186, bgo#526456, bgo#553426, bgo#545350, + bgo#545351, bgo#552168, bgo#554970, bgo#554745, bgo#555121, bgo#555711, + bgo#555331, bgo#556335, bgo#556334, bgo#556422 + + Rewrite GHashTable to use open addressing with quadratic probing + + Make g_poll available as public api + + New macros g_assert_error and g_assert_no_error to assert + that a GError is set or unset + + New method to make a GPollFD for a cancellable + + When launching applications, always pass fuse file:// uris when possible, + and let gio convert such uris back to gio uris. + + Translation updates +- Disable 'make check'. See bgo#554969 +- Remove glib2-bnc402256-filename-leak.diff. Fixed upstream * Mon Dec 08 2008 vuntz@novell.com - Update glib2-fate300461-desktop-gettext.patch: correctly use bind_textdomain_codeset(), and also only do it once for the @@ -617,7 +719,7 @@ rm -rf $RPM_BUILD_ROOT - Add require on libselinux for devel package. * Fri Aug 22 2008 prusnak@suse.cz - enabled SELinux support [Fate#303662] -* Thu Aug 21 2008 maw@suse.de +* Wed Aug 20 2008 maw@suse.de - Version the devel subpackage's requirements to avoid update breakage. * Wed Aug 06 2008 maw@suse.de @@ -660,14 +762,14 @@ rm -rf $RPM_BUILD_ROOT bgo#543220, bgo#530759, bgo#535223, and bgo#543504 + Updated translations - Tag glib-2.17.3-implicitdecl.patch. -* Tue Jul 29 2008 vuntz@novell.com +* Mon Jul 28 2008 vuntz@novell.com - Add glib2-fate300461-desktop-gettext.patch to support translation of desktop entries via gettext, using the X-SUSE-Gettext-Domain key. The patch is based on a similar patch from Ubuntu. This is part of fate#300461 * Fri Jul 25 2008 sbrabec@suse.cz - nautilus-folder-handler added to gnome-defaults.conf (bnc#410728) -* Sun Jul 20 2008 crrodriguez@suse.de +* Sat Jul 19 2008 crrodriguez@suse.de - fix build - incidentally, this also fixes a problem on PPC caused by an endianness bug; the GTK2 build failed causing a chain of errors @@ -744,10 +846,10 @@ rm -rf $RPM_BUILD_ROOT glib2-fix-bookmark-leak.diff, glib2-bnc379739-handle-blank-tryexec.patch, and glib2-bnc387387-gio-hide-inaccessible-mounts.patch. -* Tue May 20 2008 hpj@suse.de +* Mon May 19 2008 hpj@suse.de - Add glib2-bnc387387-gio-hide-inaccessible-mounts.patch (bnc#387387). -* Wed May 14 2008 hpj@suse.de +* Tue May 13 2008 hpj@suse.de - Add glib2-bnc379739-handle-blank-tryexec.patch (bnc#379739). * Mon May 12 2008 maw@suse.de - Add glib2-base64.patch (bnc#382708). @@ -764,7 +866,7 @@ rm -rf $RPM_BUILD_ROOT Fix bnc#379332. * Tue Apr 29 2008 cthiel@suse.de - obsolete glib2- via baselibs.conf -* Tue Apr 22 2008 hpj@suse.de +* Mon Apr 21 2008 hpj@suse.de - Dropped previously disabled glib2-cast.patch. * Mon Apr 14 2008 maw@suse.de - Add glib2-fix-bookmark-leak.diff. @@ -827,7 +929,7 @@ rm -rf $RPM_BUILD_ROOT - moved recommendation of gvfs to gtk2 * Tue Apr 01 2008 sbrabec@suse.cz - SuSEconfig script moved from gnome-vfs2 (bnc#372783). -* Tue Apr 01 2008 federico@novell.com +* Mon Mar 31 2008 federico@novell.com - Added glib2-bnc373149-bgo518160-gbookmark-optimizations.diff and glib2-bnc373149-bgo523877-gbookmark-optimizations.diff to fix https://bugzilla.novell.com/show_bug.cgi?id=373149 - backport @@ -839,7 +941,7 @@ rm -rf $RPM_BUILD_ROOT * Fix a crash in g_themed_icon_new * Update the included PCRE to 7.6 - Tag patches -* Fri Feb 29 2008 jpr@suse.de +* Thu Feb 28 2008 jpr@suse.de - Update to version 2.15.6: + GIO: * New file attributes: trash::item-count, filesystem::use-preview @@ -858,7 +960,7 @@ rm -rf $RPM_BUILD_ROOT * Fix race conditions in g_spawn implementation on win32 * g_uri_get_scheme has been renamed go g_uri_parse_scheme + Updated translations -* Tue Feb 19 2008 maw@suse.de +* Mon Feb 18 2008 maw@suse.de - Remove glib-cast.patch at least temporarily. * Mon Feb 18 2008 maw@suse.de - Update to version 2.15.5: @@ -1159,7 +1261,7 @@ rm -rf $RPM_BUILD_ROOT - 351853 GKeyFile creates non-UTF-8 error messages - Translation updates (fr,hu,ja,ku,lt,lv,ml,or, pt,ru,sv,vi,zh_CN) -* Wed Aug 30 2006 jhargadon@suse.de +* Tue Aug 29 2006 jhargadon@suse.de - update to version 2.12.2 - Normalization is following Unicode TR #29 - 348491 g_utf8_strup() and g_utf8_strdown() returns @@ -1197,11 +1299,11 @@ rm -rf $RPM_BUILD_ROOT * Thu Mar 30 2006 sbrabec@suse.cz - Renamed profile to be executed after lang.*, otherwise G_FILENAME_ENCODING cannot be set. -* Fri Jan 27 2006 mls@suse.de +* Thu Jan 26 2006 mls@suse.de - converted neededforbuild to BuildRequires -* Wed Jan 18 2006 gekker@suse.de +* Tue Jan 17 2006 gekker@suse.de - Fix gstaticmutex define (#141215 patch byjblunck) -* Tue Jan 17 2006 zsu@suse.de +* Mon Jan 16 2006 zsu@suse.de - Fixed implicit cast issue introduced by bugfix #316221 http://bugzilla.gnome.org/show_bug.cgi?id=327022 * Fri Jan 13 2006 sbrabec@suse.cz @@ -1259,7 +1361,7 @@ rm -rf $RPM_BUILD_ROOT - Update to version 2.6.0 * Wed Dec 22 2004 ro@suse.de - remove no translation (obsolete with nb present) -* Wed Dec 15 2004 gekker@suse.de +* Tue Dec 14 2004 gekker@suse.de - Update version to 2.5.7. - Remove the no-no patch, as it is upstreamed. * Tue Nov 16 2004 clahey@suse.de