Sync from SUSE:SLFO:Main glib2 revision 70e7a700275748dc36937490dec781ea
This commit is contained in:
commit
e48dba8eb3
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
19
README.Gsettings-overrides
Normal file
19
README.Gsettings-overrides
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Quoting the "Vendor overrides" section from [1]:
|
||||||
|
|
||||||
|
Default values are defined in the schemas that get installed by an application.
|
||||||
|
Sometimes, it is necessary for a vendor or distributor to adjust these
|
||||||
|
defaults. Since patching the XML source for the schema is inconvenient and
|
||||||
|
error-prone, glib-compile-schemas reads so-called 'vendor override' files.
|
||||||
|
These are keyfiles in the same directory as the XML schema sources which can
|
||||||
|
override default values. The schema id serves as the group name in the key
|
||||||
|
file, and the values are expected in serialized GVariant form, as in the
|
||||||
|
following example:
|
||||||
|
|
||||||
|
[org.gtk.Example]
|
||||||
|
key1='string'
|
||||||
|
key2=1.5
|
||||||
|
|
||||||
|
glib-compile-schemas expects schema files to have the extension
|
||||||
|
.gschema.override
|
||||||
|
|
||||||
|
[1] http://developer.gnome.org/gio/stable/GSettings.html
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<multibuild>
|
||||||
|
<package>doc</package>
|
||||||
|
</multibuild>
|
19
baselibs.conf
Normal file
19
baselibs.conf
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
glib2-devel
|
||||||
|
requires -glib2-<targettype>
|
||||||
|
requires "glib2-tools-<targettype> = <version>"
|
||||||
|
requires "libgio-2_0-0-<targettype> = <version>"
|
||||||
|
requires "libgmodule-2_0-0-<targettype> = <version>"
|
||||||
|
requires "libgobject-2_0-0-<targettype> = <version>"
|
||||||
|
requires "libgthread-2_0-0-<targettype> = <version>"
|
||||||
|
+^/usr/lib.*/glib-2.0/include/glibconfig.h
|
||||||
|
+^/usr/lib.*/pkgconfig/glib-2.0.pc
|
||||||
|
glib2-tools
|
||||||
|
+/usr/bin/gio-querymodules(-64)?
|
||||||
|
libglib-2_0-0
|
||||||
|
obsoletes "glib2-<targettype> <= <version>"
|
||||||
|
provides "glib2-<targettype> = <version>"
|
||||||
|
libgmodule-2_0-0
|
||||||
|
libgio-2_0-0
|
||||||
|
libgthread-2_0-0
|
||||||
|
libgobject-2_0-0
|
||||||
|
|
BIN
glib-2.76.2.tar.xz
(Stored with Git LFS)
Normal file
BIN
glib-2.76.2.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
142
glib2-bgo569829-gettext-gkeyfile.patch
Normal file
142
glib2-bgo569829-gettext-gkeyfile.patch
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
Index: glib-2.75.4/glib/gkeyfile.c
|
||||||
|
===================================================================
|
||||||
|
--- glib-2.75.4.orig/glib/gkeyfile.c
|
||||||
|
+++ glib-2.75.4/glib/gkeyfile.c
|
||||||
|
@@ -519,6 +519,7 @@ struct _GKeyFile
|
||||||
|
|
||||||
|
gboolean checked_locales; /* TRUE if @locales has been initialised */
|
||||||
|
gchar **locales; /* (nullable) */
|
||||||
|
+ gchar *gettext_domain;
|
||||||
|
|
||||||
|
gint ref_count; /* (atomic) */
|
||||||
|
};
|
||||||
|
@@ -645,6 +646,7 @@ g_key_file_init (GKeyFile *key_file)
|
||||||
|
key_file->parse_buffer = NULL;
|
||||||
|
key_file->list_separator = ';';
|
||||||
|
key_file->flags = 0;
|
||||||
|
+ key_file->gettext_domain = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -665,6 +667,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)
|
||||||
|
{
|
||||||
|
@@ -885,6 +893,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;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -997,6 +1010,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;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -2246,6 +2264,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);
|
||||||
|
@@ -2267,6 +2287,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]);
|
||||||
|
@@ -2280,6 +2317,39 @@ g_key_file_get_locale_string (GKeyFile
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* 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.75.4/glib/gkeyfile.h
|
||||||
|
===================================================================
|
||||||
|
--- glib-2.75.4.orig/glib/gkeyfile.h
|
||||||
|
+++ glib-2.75.4/glib/gkeyfile.h
|
||||||
|
@@ -322,6 +322,7 @@ gboolean g_key_file_remove_group
|
||||||
|
#define G_KEY_FILE_DESKTOP_KEY_URL "URL"
|
||||||
|
#define G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE "DBusActivatable"
|
||||||
|
#define G_KEY_FILE_DESKTOP_KEY_ACTIONS "Actions"
|
||||||
|
+#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"
|
171
glib2-fate300461-gettext-gkeyfile-suse.patch
Normal file
171
glib2-fate300461-gettext-gkeyfile-suse.patch
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
Index: glib-2.75.4/glib/gkeyfile.c
|
||||||
|
===================================================================
|
||||||
|
--- glib-2.75.4.orig/glib/gkeyfile.c
|
||||||
|
+++ glib-2.75.4/glib/gkeyfile.c
|
||||||
|
@@ -520,6 +520,7 @@ struct _GKeyFile
|
||||||
|
gboolean checked_locales; /* TRUE if @locales has been initialised */
|
||||||
|
gchar **locales; /* (nullable) */
|
||||||
|
gchar *gettext_domain;
|
||||||
|
+ gchar *file_basename;
|
||||||
|
|
||||||
|
gint ref_count; /* (atomic) */
|
||||||
|
};
|
||||||
|
@@ -647,6 +648,7 @@ g_key_file_init (GKeyFile *key_file)
|
||||||
|
key_file->list_separator = ';';
|
||||||
|
key_file->flags = 0;
|
||||||
|
key_file->gettext_domain = NULL;
|
||||||
|
+ key_file->file_basename = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -673,6 +675,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)
|
||||||
|
{
|
||||||
|
@@ -817,6 +825,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,
|
||||||
|
@@ -898,6 +939,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;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -954,6 +998,8 @@ g_key_file_load_from_file (GKeyFile
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ key_file->file_basename = g_path_get_basename (file);
|
||||||
|
+
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1015,6 +1061,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;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1119,6 +1168,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
|
||||||
|
@@ -2326,14 +2378,40 @@ g_key_file_get_locale_string (GKeyFile
|
||||||
|
{
|
||||||
|
gboolean codeset_set;
|
||||||
|
const gchar *translated;
|
||||||
|
- gboolean has_gettext;
|
||||||
|
+ gboolean has_gettext = FALSE;
|
||||||
|
|
||||||
|
- 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.75.4/glib/gkeyfile.h
|
||||||
|
===================================================================
|
||||||
|
--- glib-2.75.4.orig/glib/gkeyfile.h
|
||||||
|
+++ glib-2.75.4/glib/gkeyfile.h
|
||||||
|
@@ -322,7 +322,7 @@ gboolean g_key_file_remove_group
|
||||||
|
#define G_KEY_FILE_DESKTOP_KEY_URL "URL"
|
||||||
|
#define G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE "DBusActivatable"
|
||||||
|
#define G_KEY_FILE_DESKTOP_KEY_ACTIONS "Actions"
|
||||||
|
-#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"
|
44
glib2-gdbus-codegen-version.patch
Normal file
44
glib2-gdbus-codegen-version.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
Index: glib-2.70.0/gio/gdbus-2.0/codegen/codegen.py
|
||||||
|
===================================================================
|
||||||
|
--- glib-2.70.0.orig/gio/gdbus-2.0/codegen/codegen.py
|
||||||
|
+++ glib-2.70.0/gio/gdbus-2.0/codegen/codegen.py
|
||||||
|
@@ -95,8 +95,7 @@ class HeaderCodeGenerator:
|
||||||
|
# ----------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def generate_header_preamble(self):
|
||||||
|
- basenames = ", ".join(self.input_files_basenames)
|
||||||
|
- self.outfile.write(LICENSE_STR.format(config.VERSION, basenames))
|
||||||
|
+ self.outfile.write(LICENSE_STR)
|
||||||
|
self.outfile.write("\n")
|
||||||
|
|
||||||
|
if self.use_pragma:
|
||||||
|
@@ -1040,8 +1039,7 @@ class InterfaceInfoHeaderCodeGenerator:
|
||||||
|
# ----------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def generate_header_preamble(self):
|
||||||
|
- basenames = ", ".join(self.input_files_basenames)
|
||||||
|
- self.outfile.write(LICENSE_STR.format(config.VERSION, basenames))
|
||||||
|
+ self.outfile.write(LICENSE_STR)
|
||||||
|
self.outfile.write("\n")
|
||||||
|
|
||||||
|
if self.use_pragma:
|
||||||
|
@@ -1112,8 +1110,7 @@ class InterfaceInfoBodyCodeGenerator:
|
||||||
|
# ----------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def generate_body_preamble(self):
|
||||||
|
- basenames = ", ".join(self.input_files_basenames)
|
||||||
|
- self.outfile.write(LICENSE_STR.format(config.VERSION, basenames))
|
||||||
|
+ self.outfile.write(LICENSE_STR)
|
||||||
|
|
||||||
|
if self.symbol_decoration_define is not None:
|
||||||
|
self.outfile.write("\n")
|
||||||
|
@@ -1466,8 +1463,7 @@ class CodeGenerator:
|
||||||
|
# ----------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def generate_body_preamble(self):
|
||||||
|
- basenames = ", ".join(self.input_files_basenames)
|
||||||
|
- self.outfile.write(LICENSE_STR.format(config.VERSION, basenames))
|
||||||
|
+ self.outfile.write(LICENSE_STR)
|
||||||
|
if self.symbol_decoration_define is not None:
|
||||||
|
self.outfile.write("\n")
|
||||||
|
self.outfile.write("#define %s\n" % self.symbol_decoration_define)
|
17
glib2-rpmlintrc
Normal file
17
glib2-rpmlintrc
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Adding gio-branding for the following filter
|
||||||
|
addFilter(".*shlib-fixed-dependency.*[glib2|gio\-branding].*")
|
||||||
|
# Filter for non-conffile-in-etc warning for the following files
|
||||||
|
# under /etc/profile.d/ and /etc/rpm/ directories, respectively:
|
||||||
|
# zzz-glib2.csh and zzz-glib2.sh, and macros.glib2
|
||||||
|
addFilter("glib2.*non-conffile-in-etc.*[zzz\-glib2.*|macros\.glib2]")
|
||||||
|
# Filter for env-script-intepreter for the following files under
|
||||||
|
# /usr/bin directory: gdbus-codegen, glib-genmarshal and glib-mkenums
|
||||||
|
addFilter(".*env-script-interpreter.*/usr/bin/[gdbus\-codegen|glib\-.*].*")
|
||||||
|
# allow empty files and certificates in tests
|
||||||
|
#addFilter(".*: W: zero-length /usr/libexec/installed-tests/glib/.*")
|
||||||
|
#addFilter(".*: W: pem-certificate /usr/libexec/installed-tests/.*")
|
||||||
|
# disable bogus warnings, as instructed by upstream
|
||||||
|
#addFilter(".*: W: shared-lib-without-dependency-information .*")
|
||||||
|
# the maintainers prefer to keep the following internal SUSE naming conflicts
|
||||||
|
#addFilter(".*: W: no-dependency-on glib2.*")
|
||||||
|
#addFilter(".*: W: suse-branding-.*")
|
20
glib2-suppress-schema-deprecated-path-warning.patch
Normal file
20
glib2-suppress-schema-deprecated-path-warning.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Index: glib-2.75.3/gio/glib-compile-schemas.c
|
||||||
|
===================================================================
|
||||||
|
--- glib-2.75.3.orig/gio/glib-compile-schemas.c
|
||||||
|
+++ glib-2.75.3/gio/glib-compile-schemas.c
|
||||||
|
@@ -1231,6 +1231,7 @@ parse_state_start_schema (ParseState *s
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
+/*
|
||||||
|
if (path && (g_str_has_prefix (path, "/apps/") ||
|
||||||
|
g_str_has_prefix (path, "/desktop/") ||
|
||||||
|
g_str_has_prefix (path, "/system/")))
|
||||||
|
@@ -1243,6 +1244,7 @@ parse_state_start_schema (ParseState *s
|
||||||
|
g_printerr ("%s\n", message);
|
||||||
|
g_free (message);
|
||||||
|
}
|
||||||
|
+*/
|
||||||
|
|
||||||
|
state->schema_state = schema_state_new (path, gettext_domain,
|
||||||
|
extends, extends_name, list_of);
|
46
glib2-upstream-gnome_defaults.conf
Normal file
46
glib2-upstream-gnome_defaults.conf
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# GNOME Default Applications Source
|
||||||
|
# /etc/gnome-defaults.conf
|
||||||
|
#
|
||||||
|
# WARNING: This is a dumb file, which provides only upstream GNOME
|
||||||
|
# packages as preferred defaults. You most probably don't want this
|
||||||
|
# package!
|
||||||
|
# You probably want to install distribution glib2-branding and prefer
|
||||||
|
# distribution wise GNOME defaults.
|
||||||
|
#
|
||||||
|
# After any change of this file run
|
||||||
|
# suse-update-mime-defaults
|
||||||
|
#
|
||||||
|
# This list is a source for defaults.list.
|
||||||
|
#
|
||||||
|
# If application in this list is installed, it is used as default in GNOME.
|
||||||
|
# It works in following way:
|
||||||
|
# 1. Read this file.
|
||||||
|
# 2. Collect all available desktop files.
|
||||||
|
# 3. Go through all declared MIME types and search for default application
|
||||||
|
# for defaults.list in following order:
|
||||||
|
# 3.1 Installed application listed here for certain MIME type.
|
||||||
|
# 3.2 Installed application listed here as preferred default.
|
||||||
|
# 3.3 Installed application listed here as default.
|
||||||
|
# 3.4 Installed application with GNOME in Categories.
|
||||||
|
# 3.5 Installed application with GTK in Categories.
|
||||||
|
# 3.6 Installed application.
|
||||||
|
# If there are more applications in the same order, it uses pseudo-randomly
|
||||||
|
# one of them (last in aplhabetical order).
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# Use xxx as default for all MIME types it declares (see 3.3):
|
||||||
|
# xxx.desktop
|
||||||
|
# Use xxx as preferred default for all MIME types it declares (see 3.2):
|
||||||
|
# !xxx.desktop
|
||||||
|
# Use xxx as default for mime/type (see 3.1):
|
||||||
|
# mime/type=xxx.desktop
|
||||||
|
|
||||||
|
# Upstream GNOME default applications
|
||||||
|
eog.desktop
|
||||||
|
evince.desktop
|
||||||
|
gedit.desktop
|
||||||
|
file-roller.desktop
|
||||||
|
epiphany.desktop
|
||||||
|
nautilus.desktop
|
||||||
|
# evince supports multi-page tiff, but most people will prefer eog:
|
||||||
|
image/tiff=eog.desktop
|
7890
glib2.changes
Normal file
7890
glib2.changes
Normal file
File diff suppressed because it is too large
Load Diff
468
glib2.csh
Normal file
468
glib2.csh
Normal file
@ -0,0 +1,468 @@
|
|||||||
|
# GLib filename encoding guesser.
|
||||||
|
# Author: Stanislav Brabec <sbrabec@suse.cz>
|
||||||
|
# Additions are welcome.
|
||||||
|
# This script must be executed after setting LANG variable.
|
||||||
|
|
||||||
|
# Try filenames which are invalid in UTF-8 as locale specific.
|
||||||
|
# For selected locales, G_FILENAME_ENCODING takes precedence.
|
||||||
|
setenv G_BROKEN_FILENAMES 1
|
||||||
|
|
||||||
|
# In West Europe there was used both ISO-8859-15 and ISO-8859-1.
|
||||||
|
# There is no chance to recognize it, so we must guess.
|
||||||
|
#set west_europe_legacy_encoding=ISO-8859-1
|
||||||
|
set west_europe_legacy_encoding=ISO-8859-15
|
||||||
|
|
||||||
|
# In Russia, "official" encoding is ISO-8859-5, but most GNOME users
|
||||||
|
# preferred KOI8-R. We must guess.
|
||||||
|
#set russian_legacy_encoding=ISO-8859-5
|
||||||
|
set russian_legacy_encoding=KOI8-R
|
||||||
|
|
||||||
|
# In former Yugoslavia sr_YU have covered two different alphabets -
|
||||||
|
# one Latin and on Cyrillic. No chance to guess.
|
||||||
|
set sr_YU_legacy_encoding=ISO-8859-2,CP1250
|
||||||
|
#set sr_YU_legacy_encoding=ISO-8859-5
|
||||||
|
|
||||||
|
# Japanese uses two legacy encodings. Guess sometimes fails, sometimes not.
|
||||||
|
# Defining preferred encoding increases chance for success.
|
||||||
|
set japanese_legacy_encoding=EUC-JP
|
||||||
|
#set japanese_legacy_encoding=SHIFT_JIS
|
||||||
|
|
||||||
|
if (! ${?LANG} ) goto skip
|
||||||
|
|
||||||
|
switch ( $LANG )
|
||||||
|
case aa_DJ*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case af_ZA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case an_ES*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-15,CP1252
|
||||||
|
breaksw
|
||||||
|
case ar_AE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_BH*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_DZ*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_EG*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_IQ*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_JO*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_KW*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_LB*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_LY*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_MA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_OM*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_QA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_SA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_SD*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_SY*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_TN*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case ar_YE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6
|
||||||
|
breaksw
|
||||||
|
case be_BY*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,CP1251
|
||||||
|
breaksw
|
||||||
|
case bg_BG*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,CP1251
|
||||||
|
breaksw
|
||||||
|
case br_FR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case bs_BA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
breaksw
|
||||||
|
case ca_ES*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case cs_CZ*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
breaksw
|
||||||
|
case cy_GB*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-14,CP1252
|
||||||
|
breaksw
|
||||||
|
case da_DK*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case de_AT*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case de_BE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case de_DE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case de_CH*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case de_LU*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case el_GR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-7
|
||||||
|
breaksw
|
||||||
|
case en_AU*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_BE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_BW*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_CA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_DK*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_GB*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_HK*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_IE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_NZ*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_PH*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_SG*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_US*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_ZA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case en_ZW*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_AR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_BO*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_CL*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_CO*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_CR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_DO*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_EC*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_ES*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_GT*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_HN*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_MX*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_NI*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_PA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_PE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_PR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_PY*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_SV*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_US*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_UY*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case es_VE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case et_EE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case eu_ES*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case fa_IR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,CP1256
|
||||||
|
breaksw
|
||||||
|
case fi_FI*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case fo_FO*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case fr_BE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case fr_CA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case fr_FR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case fr_CH*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case fr_LU*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case ga_IE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case gd_GB*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-15,CP1252
|
||||||
|
breaksw
|
||||||
|
case gl_ES*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case gv_GB*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case he_IL*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-8
|
||||||
|
breaksw
|
||||||
|
case hr_HR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
breaksw
|
||||||
|
case hu_HU*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
breaksw
|
||||||
|
case hy_AM*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ARMSCII-8
|
||||||
|
breaksw
|
||||||
|
case id_ID*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case is_IS*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case it_CH*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case it_IT*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case iw_IL*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-8
|
||||||
|
breaksw
|
||||||
|
case ja_JP*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$japanese_legacy_encoding,EUC-JP,SHIFT_JIS,ISO-8859-1
|
||||||
|
breaksw
|
||||||
|
case ka_GE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,GEORGIAN-PS
|
||||||
|
breaksw
|
||||||
|
case kl_GL*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case km_KH*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,GB18030
|
||||||
|
breaksw
|
||||||
|
case ko_KR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,EUC-KR,ISO-8859-1
|
||||||
|
breaksw
|
||||||
|
case kw_GB*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case lg_UG*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-10,CP1252
|
||||||
|
breaksw
|
||||||
|
case lt_LT*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-13,CP1252
|
||||||
|
breaksw
|
||||||
|
case lv_LV*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-13,CP1252
|
||||||
|
breaksw
|
||||||
|
case mi_NZ*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-13,CP1252
|
||||||
|
breaksw
|
||||||
|
case mk_MK*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-5,CP1251
|
||||||
|
breaksw
|
||||||
|
case ms_MY*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case mt_MT*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-3
|
||||||
|
breaksw
|
||||||
|
case nb_NO*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case nl_BE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case nl_NL*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case nn_NO*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case no_NO*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case oc_FR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case om_KE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case pl_PL*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
breaksw
|
||||||
|
case pt_BR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case pt_PT*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case ro_RO*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
breaksw
|
||||||
|
case ru_RU*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$russian_legacy_encoding,CP1251
|
||||||
|
breaksw
|
||||||
|
case ru_UA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,KOI8-U
|
||||||
|
breaksw
|
||||||
|
case sh_YU*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
breaksw
|
||||||
|
case sk_SK*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
breaksw
|
||||||
|
case sl_SI*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
breaksw
|
||||||
|
case so_DJ*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case so_KE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case so_SO*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case sq_AL*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case sr_YU*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$sr_YU_legacy_encoding
|
||||||
|
breaksw
|
||||||
|
case st_ZA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case sv_FI*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case sv_SE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case tg_TJ*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,KOI8-T
|
||||||
|
breaksw
|
||||||
|
case th_TH*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,TIS-620,ISO-8859-1
|
||||||
|
breaksw
|
||||||
|
case tl_PH*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case tr_TR*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-9
|
||||||
|
breaksw
|
||||||
|
case uk_UA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,KOI8-U
|
||||||
|
breaksw
|
||||||
|
case uz_UZ*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case vi_VN*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,TCVN5712-1,ISO-8859-1
|
||||||
|
breaksw
|
||||||
|
case wa_BE*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
breaksw
|
||||||
|
case xh_ZA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
case yi_US*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,CP1255
|
||||||
|
breaksw
|
||||||
|
case zh_CN*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1
|
||||||
|
breaksw
|
||||||
|
case zh_HK*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,BIG5-HKSCS,ISO-8859-1
|
||||||
|
breaksw
|
||||||
|
case zh_SG*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1
|
||||||
|
breaksw
|
||||||
|
case zh_TW*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,BIG5,EUC-TW,ISO-8859-1
|
||||||
|
breaksw
|
||||||
|
case zu_ZA*:
|
||||||
|
setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
breaksw
|
||||||
|
endsw
|
||||||
|
|
||||||
|
skip:
|
||||||
|
|
||||||
|
unset west_europe_legacy_encoding
|
||||||
|
unset russian_legacy_encoding
|
||||||
|
unset sr_YU_legacy_encoding
|
465
glib2.sh
Normal file
465
glib2.sh
Normal file
@ -0,0 +1,465 @@
|
|||||||
|
# GLib filename encoding guesser.
|
||||||
|
# Author: Stanislav Brabec <sbrabec@suse.cz>
|
||||||
|
# Additions are welcome.
|
||||||
|
# This script must be executed after setting LANG variable.
|
||||||
|
|
||||||
|
# Try filenames which are invalid in UTF-8 as locale specific.
|
||||||
|
# For selected locales, G_FILENAME_ENCODING takes precedence.
|
||||||
|
export G_BROKEN_FILENAMES=1
|
||||||
|
|
||||||
|
# In West Europe there was used both ISO-8859-15 and ISO-8859-1.
|
||||||
|
# There is no chance to recognize it, so we must guess.
|
||||||
|
#west_europe_legacy_encoding=ISO-8859-1
|
||||||
|
west_europe_legacy_encoding=ISO-8859-15
|
||||||
|
|
||||||
|
# In Russia, "official" encoding is ISO-8859-5, but most GNOME users
|
||||||
|
# preferred KOI8-R. We must guess.
|
||||||
|
#russian_legacy_encoding=ISO-8859-5
|
||||||
|
russian_legacy_encoding=KOI8-R
|
||||||
|
|
||||||
|
# In former Yugoslavia sr_YU have covered two different alphabets -
|
||||||
|
# one Latin and on Cyrillic. No chance to guess.
|
||||||
|
sr_YU_legacy_encoding=ISO-8859-2,CP1250
|
||||||
|
#sr_YU_legacy_encoding=ISO-8859-5
|
||||||
|
|
||||||
|
# Japanese uses two legacy encodings. Guess sometimes fails, sometimes not.
|
||||||
|
# Defining preferred encoding increases chance for success.
|
||||||
|
japanese_legacy_encoding=EUC-JP
|
||||||
|
#japanese_legacy_encoding=SHIFT_JIS
|
||||||
|
|
||||||
|
case $LANG in
|
||||||
|
aa_DJ* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
af_ZA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
an_ES* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252
|
||||||
|
;;
|
||||||
|
ar_AE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_BH* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_DZ* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_EG* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_IQ* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_JO* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_KW* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_LB* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_LY* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_MA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_OM* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_QA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_SA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_SD* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_SY* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_TN* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
ar_YE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||||||
|
;;
|
||||||
|
be_BY* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,CP1251
|
||||||
|
;;
|
||||||
|
bg_BG* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,CP1251
|
||||||
|
;;
|
||||||
|
br_FR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
bs_BA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
;;
|
||||||
|
ca_ES* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
cs_CZ* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
;;
|
||||||
|
cy_GB* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-14,CP1252
|
||||||
|
;;
|
||||||
|
da_DK* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
de_AT* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
de_BE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
de_DE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
de_CH* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
de_LU* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
el_GR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-7
|
||||||
|
;;
|
||||||
|
en_AU* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
en_BE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
en_BW* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
en_CA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
en_DK* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
en_GB* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
en_HK* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
en_IE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
en_NZ* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
en_PH* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
en_SG* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
en_US* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
en_ZA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
en_ZW* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_AR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_BO* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_CL* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_CO* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_CR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_DO* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_EC* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_ES* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
es_GT* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_HN* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_MX* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_NI* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_PA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_PE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_PR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_PY* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_SV* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_US* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_UY* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
es_VE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
et_EE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
eu_ES* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
fa_IR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,CP1256
|
||||||
|
;;
|
||||||
|
fi_FI* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
fo_FO* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
fr_BE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
fr_CA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
fr_FR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
fr_CH* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
fr_LU* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
ga_IE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
gd_GB* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252
|
||||||
|
;;
|
||||||
|
gl_ES* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
gv_GB* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
he_IL* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-8
|
||||||
|
;;
|
||||||
|
hr_HR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
;;
|
||||||
|
hu_HU* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
;;
|
||||||
|
hy_AM* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ARMSCII-8
|
||||||
|
;;
|
||||||
|
id_ID* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
is_IS* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
it_CH* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
it_IT* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
iw_IL* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-8
|
||||||
|
;;
|
||||||
|
ja_JP* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$japanese_legacy_encoding,EUC-JP,SHIFT_JIS,ISO-8859-1
|
||||||
|
;;
|
||||||
|
ka_GE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,GEORGIAN-PS
|
||||||
|
;;
|
||||||
|
kl_GL* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
km_KH* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,GB18030
|
||||||
|
;;
|
||||||
|
ko_KR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,EUC-KR,ISO-8859-1
|
||||||
|
;;
|
||||||
|
kw_GB* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
lg_UG* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-10,CP1252
|
||||||
|
;;
|
||||||
|
lt_LT* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252
|
||||||
|
;;
|
||||||
|
lv_LV* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252
|
||||||
|
;;
|
||||||
|
mi_NZ* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252
|
||||||
|
;;
|
||||||
|
mk_MK* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-5,CP1251
|
||||||
|
;;
|
||||||
|
ms_MY* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
mt_MT* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-3
|
||||||
|
;;
|
||||||
|
nb_NO* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
nl_BE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
nl_NL* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
nn_NO* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
no_NO* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
oc_FR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
om_KE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
pl_PL* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
;;
|
||||||
|
pt_BR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
pt_PT* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
ro_RO* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
;;
|
||||||
|
ru_RU* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$russian_legacy_encoding,CP1251
|
||||||
|
;;
|
||||||
|
ru_UA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,KOI8-U
|
||||||
|
;;
|
||||||
|
sh_YU* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
;;
|
||||||
|
sk_SK* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
;;
|
||||||
|
sl_SI* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||||||
|
;;
|
||||||
|
so_DJ* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
so_KE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
so_SO* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
sq_AL* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
sr_YU* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$sr_YU_legacy_encoding
|
||||||
|
;;
|
||||||
|
st_ZA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
sv_FI* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
sv_SE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
tg_TJ* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,KOI8-T
|
||||||
|
;;
|
||||||
|
th_TH* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,TIS-620,ISO-8859-1
|
||||||
|
;;
|
||||||
|
tl_PH* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
tr_TR* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-9
|
||||||
|
;;
|
||||||
|
uk_UA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,KOI8-U
|
||||||
|
;;
|
||||||
|
uz_UZ* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
vi_VN* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,TCVN5712-1,ISO-8859-1
|
||||||
|
;;
|
||||||
|
wa_BE* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||||||
|
;;
|
||||||
|
xh_ZA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
yi_US* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,CP1255
|
||||||
|
;;
|
||||||
|
zh_CN* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1
|
||||||
|
;;
|
||||||
|
zh_HK* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,BIG5-HKSCS,ISO-8859-1
|
||||||
|
;;
|
||||||
|
zh_SG* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1
|
||||||
|
;;
|
||||||
|
zh_TW* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,BIG5,EUC-TW,ISO-8859-1
|
||||||
|
;;
|
||||||
|
zu_ZA* )
|
||||||
|
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
export G_FILENAME_ENCODING
|
||||||
|
|
||||||
|
unset west_europe_legacy_encoding
|
||||||
|
unset russian_legacy_encoding
|
||||||
|
unset sr_YU_legacy_encoding
|
517
glib2.spec
Normal file
517
glib2.spec
Normal file
@ -0,0 +1,517 @@
|
|||||||
|
#
|
||||||
|
# spec file
|
||||||
|
#
|
||||||
|
# Copyright (c) 2023 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
|
%if "%{flavor}" == "doc"
|
||||||
|
%global psuffix -doc
|
||||||
|
%else
|
||||||
|
%global psuffix %{nil}
|
||||||
|
%endif
|
||||||
|
%define libver 2_0-0
|
||||||
|
%define libgio libgio-%{libver}
|
||||||
|
%define libglib libglib-%{libver}
|
||||||
|
%define libgmodule libgmodule-%{libver}
|
||||||
|
%define libgobject libgobject-%{libver}
|
||||||
|
%define libgthread libgthread-%{libver}
|
||||||
|
%bcond_without systemtap
|
||||||
|
Name: glib2%{psuffix}
|
||||||
|
Version: 2.76.2
|
||||||
|
Release: 0
|
||||||
|
Summary: General-Purpose Utility Library
|
||||||
|
License: LGPL-2.1-or-later
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
URL: https://wiki.gnome.org/Projects/GLib
|
||||||
|
Source0: https://download.gnome.org/sources/glib/2.76/glib-%{version}.tar.xz
|
||||||
|
Source1: glib2.sh
|
||||||
|
Source2: glib2.csh
|
||||||
|
# Not upstream file. Only proposes upstream packages:
|
||||||
|
Source4: glib2-upstream-gnome_defaults.conf
|
||||||
|
# Some documentation for people writing branding packages, shipped in the branding-upstream package
|
||||||
|
Source5: README.Gsettings-overrides
|
||||||
|
Source6: macros.glib2
|
||||||
|
# zsh completion from https://github.com/jmatsuzawa/zsh-comp-gsettings
|
||||||
|
Source8: gsettings.zsh
|
||||||
|
Source98: glib2-rpmlintrc
|
||||||
|
Source99: baselibs.conf
|
||||||
|
# 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
|
||||||
|
Patch0: 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)
|
||||||
|
Patch1: glib2-fate300461-gettext-gkeyfile-suse.patch
|
||||||
|
# PATCH-FIX-OPENSUSE glib2-suppress-schema-deprecated-path-warning.patch rh#814053 badshah400@gmail.com -- Suppress the deprecated path warning since it fills up screen unnecessarily during package installations/upgrade.
|
||||||
|
Patch2: glib2-suppress-schema-deprecated-path-warning.patch
|
||||||
|
# PATCH-FIX-OPENSUSE glib2-gdbus-codegen-version.patch olaf@aepfle.de -- Remove version string from files generated by gdbus-codegen
|
||||||
|
Patch4: glib2-gdbus-codegen-version.patch
|
||||||
|
|
||||||
|
BuildRequires: docbook-xsl-stylesheets
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: libselinux-devel
|
||||||
|
BuildRequires: m4
|
||||||
|
BuildRequires: meson >= 0.60.0
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: python3-base >= 3.5
|
||||||
|
# gdbus-codegen is run during the build, so we need python3-xml
|
||||||
|
BuildRequires: python3-xml
|
||||||
|
BuildRequires: xsltproc
|
||||||
|
# Needed for gresource
|
||||||
|
BuildRequires: pkgconfig(libelf) >= 0.8.12
|
||||||
|
BuildRequires: pkgconfig(libffi) >= 3.0.0
|
||||||
|
BuildRequires: pkgconfig(libpcre2-8) >= 10.32
|
||||||
|
BuildRequires: pkgconfig(mount) >= 2.28
|
||||||
|
BuildRequires: pkgconfig(zlib)
|
||||||
|
%if "%{flavor}" == "doc"
|
||||||
|
# Split-provides
|
||||||
|
Provides: glib2-devel:%{_datadir}/gtk-doc/html/gobject/index.html
|
||||||
|
%endif
|
||||||
|
%if "%{flavor}" == "doc"
|
||||||
|
BuildRequires: glib2-devel
|
||||||
|
BuildRequires: gtk-doc >= 1.32
|
||||||
|
%endif
|
||||||
|
%if %{with systemtap}
|
||||||
|
BuildRequires: systemtap-dtrace
|
||||||
|
BuildRequires: systemtap-headers
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
GLib is a general-purpose utility library, which provides many useful
|
||||||
|
data types, macros, type conversions, string utilities, file utilities,
|
||||||
|
a main loop abstraction, and so on.
|
||||||
|
|
||||||
|
%if %{with doc}
|
||||||
|
This package provides the documentation for the GLib library.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package tools
|
||||||
|
Summary: Tools from glib2, a general-purpose utility library
|
||||||
|
# ensure libgio-2_0-0 is updated before glib2-tools' ensures glib-compile-schema to
|
||||||
|
# be functional when the file trigger fires (boo#1178713)
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires(post): %{libgio} = %{version}
|
||||||
|
|
||||||
|
%description tools
|
||||||
|
GLib is a general-purpose utility library, which provides many useful
|
||||||
|
data types, macros, type conversions, string utilities, file utilities,
|
||||||
|
a main loop abstraction, and so on.
|
||||||
|
|
||||||
|
%package -n gio-branding-upstream
|
||||||
|
Summary: Upstream definitions of default settings and applications
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: %{libgio} = %{version}
|
||||||
|
Supplements: (%{libgio} and branding-upstream)
|
||||||
|
Conflicts: gio-branding
|
||||||
|
Provides: %{name}-branding-upstream = %{version}
|
||||||
|
Obsoletes: %{name}-branding-upstream < %{version}
|
||||||
|
Provides: gio-branding = %{version}
|
||||||
|
BuildArch: noarch
|
||||||
|
#BRAND: The /etc/gnome_defaults.conf allows to define arbitrary
|
||||||
|
#BRAND: applications as preferred defaults.
|
||||||
|
#BRAND: A /usr/share/glib-2.0/schemas/$NAME.gschema.override file can
|
||||||
|
#BRAND: be used to override the default value for GSettings keys. See
|
||||||
|
#BRAND: README.Gsettings-overrides for more details. The branding
|
||||||
|
#BRAND: package should then have proper Requires for features changed
|
||||||
|
#BRAND: with such an override file.
|
||||||
|
# NOTE: gnome_defaults is not an upstream feature, but a SuSE
|
||||||
|
# enhancement, but to conform branding conventions, the package is named
|
||||||
|
# as gio-branding-upstream.
|
||||||
|
|
||||||
|
%description -n gio-branding-upstream
|
||||||
|
This package provides upstream defaults for settings stored with
|
||||||
|
GSettings and applications used by the MIME system.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for glib, a general-purpose utility library
|
||||||
|
# Now require the subpackages too
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{libgio} = %{version}
|
||||||
|
Requires: %{libglib} = %{version}
|
||||||
|
Requires: %{libgmodule} = %{version}
|
||||||
|
Requires: %{libgobject} = %{version}
|
||||||
|
Requires: %{libgthread} = %{version}
|
||||||
|
Requires: glib2-tools = %{version}
|
||||||
|
Requires: glibc-devel
|
||||||
|
Requires: pkgconfig
|
||||||
|
# Required by gdbus-codegen
|
||||||
|
Requires: python3-xml
|
||||||
|
#
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
GLib is a general-purpose utility library, which provides many useful
|
||||||
|
data types, macros, type conversions, string utilities, file utilities,
|
||||||
|
a main loop abstraction, and so on.
|
||||||
|
|
||||||
|
This package contains the development files for GLib.
|
||||||
|
|
||||||
|
%package devel-static
|
||||||
|
Summary: Static libraries for glib, a general-purpose utility library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{name}-devel = %{version}
|
||||||
|
|
||||||
|
%description devel-static
|
||||||
|
GLib is a general-purpose utility library, which provides many useful
|
||||||
|
data types, macros, type conversions, string utilities, file utilities,
|
||||||
|
a main loop abstraction, and so on.
|
||||||
|
|
||||||
|
This package contains static versions of the GLib libraries.
|
||||||
|
|
||||||
|
%package -n %{libglib}
|
||||||
|
Summary: General-Purpose Utility Library
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: %{name} = %{version}
|
||||||
|
Obsoletes: %{name} < %{version}
|
||||||
|
#
|
||||||
|
|
||||||
|
%description -n %{libglib}
|
||||||
|
GLib is a general-purpose utility library, which provides many useful
|
||||||
|
data types, macros, type conversions, string utilities, file utilities,
|
||||||
|
a main loop abstraction, and so on.
|
||||||
|
|
||||||
|
%package -n %{libgmodule}
|
||||||
|
Summary: General-Purpose Utility Library -- Library for Modules
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n %{libgmodule}
|
||||||
|
GLib is a general-purpose utility library, which provides many useful
|
||||||
|
data types, macros, type conversions, string utilities, file utilities,
|
||||||
|
a main loop abstraction, and so on.
|
||||||
|
|
||||||
|
The libgmodule library provides a portable way to dynamically load
|
||||||
|
object files (commonly known as 'plug-ins').
|
||||||
|
|
||||||
|
%package -n %{libgio}
|
||||||
|
Summary: A virtual file system library API
|
||||||
|
Group: System/Libraries
|
||||||
|
# The tools are useful for people having libgio
|
||||||
|
# bnc#555605: shared-mime-info is required by libgio to properly detect mime types, but not during build
|
||||||
|
#!BuildIgnore: shared-mime-info
|
||||||
|
Requires: %{name}-tools
|
||||||
|
# bnc#678518: libgio interacts with others by means of dbus-launch
|
||||||
|
Requires: dbus-launch
|
||||||
|
Requires: gio-branding = %{version}
|
||||||
|
Requires: shared-mime-info
|
||||||
|
# Needed for branding packages
|
||||||
|
Provides: gio = %{version}
|
||||||
|
# Temporarily disable this, pending further discussion
|
||||||
|
# Recommends: gvfs
|
||||||
|
|
||||||
|
%description -n %{libgio}
|
||||||
|
GLib is a general-purpose utility library, which provides many useful
|
||||||
|
data types, macros, type conversions, string utilities, file utilities,
|
||||||
|
a main loop abstraction, and so on.
|
||||||
|
|
||||||
|
GIO provides a modern, easy-to-use VFS API.
|
||||||
|
|
||||||
|
%package -n %{libgthread}
|
||||||
|
Summary: Portable API from glib wrapping system threads
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n %{libgthread}
|
||||||
|
GLib is a general-purpose utility library, which provides many useful
|
||||||
|
data types, macros, type conversions, string utilities, file utilities,
|
||||||
|
a main loop abstraction, and so on.
|
||||||
|
|
||||||
|
The libgthread library provides a portable way to write multi-threaded
|
||||||
|
software.
|
||||||
|
|
||||||
|
%package -n %{libgobject}
|
||||||
|
Summary: Object-Oriented Framework for C
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n %{libgobject}
|
||||||
|
GLib is a general-purpose utility library, which provides many useful
|
||||||
|
data types, macros, type conversions, string utilities, file utilities,
|
||||||
|
a main loop abstraction, and so on.
|
||||||
|
|
||||||
|
The GObject library provides an object-oriented framework for C.
|
||||||
|
|
||||||
|
%package tests-devel
|
||||||
|
Summary: Tests for the glib2 package
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{name}-devel = %{version}
|
||||||
|
Requires: %{name}-tests = %{version}-%{release}
|
||||||
|
Provides: %{name}-tests = %{version}-%{release}
|
||||||
|
Obsoletes: %{name}-tests < %{version}-%{release}
|
||||||
|
|
||||||
|
%description tests-devel
|
||||||
|
The glib2-tests-devel package contains tests that can be used to verify
|
||||||
|
the functionality of the installed glib2 package.
|
||||||
|
|
||||||
|
%lang_package
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n glib-%{version}
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
|
||||||
|
cp -a %{SOURCE1} %{SOURCE2} %{SOURCE5} .
|
||||||
|
cp -a %{SOURCE4} gnome_defaults.conf
|
||||||
|
# replace /usr/bin/env shebangs
|
||||||
|
# /usr/bin/env @PYTHON@ -> /usr/bin/python3
|
||||||
|
grep "%{_bindir}/env @PYTHON@" . -rl | xargs sed -i "s|%{_bindir}/env @PYTHON@|%{_bindir}/python3|g"
|
||||||
|
sed -i "s/1.32.1/1.32/" docs/reference/meson.build
|
||||||
|
|
||||||
|
%build
|
||||||
|
%if %{with systemtap}
|
||||||
|
%global _lto_cflags %{nil}
|
||||||
|
%else
|
||||||
|
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||||
|
%endif
|
||||||
|
%meson \
|
||||||
|
--default-library=both \
|
||||||
|
-Dselinux=enabled \
|
||||||
|
-Dman=true \
|
||||||
|
%if "%{flavor}" == "doc"
|
||||||
|
-Dgtk_doc=true \
|
||||||
|
%endif
|
||||||
|
%if %{with systemtap}
|
||||||
|
-Dsystemtap=true \
|
||||||
|
-Ddtrace=true \
|
||||||
|
%else
|
||||||
|
-Dsystemtap=false \
|
||||||
|
-Ddtrace=false \
|
||||||
|
%endif
|
||||||
|
-Dinstalled_tests=true \
|
||||||
|
%{nil}
|
||||||
|
%meson_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%meson_install
|
||||||
|
%if "%{flavor}" == "doc"
|
||||||
|
find %{buildroot}/%{_prefix} -not -path "*%{_datadir}/gtk-doc/*" -delete || :
|
||||||
|
%else
|
||||||
|
%find_lang glib20 %{?no_lang_C}
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
|
||||||
|
install -D -m0644 glib2.sh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.sh
|
||||||
|
install -D -m0644 glib2.csh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.csh
|
||||||
|
install -D -m0644 gnome_defaults.conf %{buildroot}%{_sysconfdir}/gnome_defaults.conf
|
||||||
|
# default apps magic
|
||||||
|
mkdir -p %{buildroot}%{_localstatedir}/cache/gio-2.0 %{buildroot}%{_datadir}/applications
|
||||||
|
>> %{buildroot}%{_localstatedir}/cache/gio-2.0/gnome-mimeapps.list
|
||||||
|
>> %{buildroot}%{_localstatedir}/cache/gio-2.0/xfce-mimeapps.list
|
||||||
|
>> %{buildroot}%{_localstatedir}/cache/gio-2.0/lxde-mimeapps.list
|
||||||
|
>> %{buildroot}%{_localstatedir}/cache/gio-2.0/pantheon-mimeapps.list
|
||||||
|
>> %{buildroot}%{_localstatedir}/cache/gio-2.0/budgie-mimeapps.list
|
||||||
|
>> %{buildroot}%{_localstatedir}/cache/gio-2.0/mate-mimeapps.list
|
||||||
|
ln -s %{_localstatedir}/cache/gio-2.0/gnome-mimeapps.list %{buildroot}%{_datadir}/applications/gnome-mimeapps.list
|
||||||
|
# gio-querymodules magic
|
||||||
|
%if "%{_lib}" == "lib64"
|
||||||
|
mv -T %{buildroot}%{_bindir}/gio-querymodules %{buildroot}%{_bindir}/gio-querymodules-64
|
||||||
|
%endif
|
||||||
|
mkdir -p %{buildroot}%{_libdir}/gio/modules
|
||||||
|
>> %{buildroot}%{_libdir}/gio/modules/giomodule.cache
|
||||||
|
# gsettings magic
|
||||||
|
>> %{buildroot}%{_datadir}/glib-2.0/schemas/gschemas.compiled
|
||||||
|
# Install rpm macros
|
||||||
|
mkdir -p %{buildroot}%{_rpmmacrodir}
|
||||||
|
cp -t%{buildroot}%{_rpmmacrodir} %{SOURCE6}
|
||||||
|
# Install zsh completion for gsettings
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/zsh/site-functions/
|
||||||
|
cp -T %{SOURCE8} %{buildroot}%{_datadir}/zsh/site-functions/_gsettings
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/gtk-doc/html
|
||||||
|
%fdupes %{buildroot}/%{_prefix}
|
||||||
|
|
||||||
|
# Too many users complain about schemas compiled with wrong permissions
|
||||||
|
# when in fact the system just honours their umask setting
|
||||||
|
# subshell restores umask for paranoia mode
|
||||||
|
%define compile_schemas \
|
||||||
|
(umask 022 && %{_bindir}/glib-compile-schemas %{_datadir}/glib-2.0/schemas)
|
||||||
|
|
||||||
|
%filetriggerin -n glib2-tools -- %{_datadir}/glib-2.0/schemas
|
||||||
|
%{compile_schemas}
|
||||||
|
|
||||||
|
%filetriggerpostun -n glib2-tools -- %{_datadir}/glib-2.0/schemas
|
||||||
|
%{compile_schemas}
|
||||||
|
|
||||||
|
%post -n %{libglib} -p /sbin/ldconfig
|
||||||
|
%post -n %{libgobject} -p /sbin/ldconfig
|
||||||
|
%post -n %{libgthread} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n %{libgio}
|
||||||
|
%{ldconfig}
|
||||||
|
for ENV in gnome xfce lxde pantheon mate
|
||||||
|
do mimeapps="%{_localstatedir}/cache/gio-2.0/$ENV-mimeapps.list" &&
|
||||||
|
2>/dev/null <"${mimeapps}" || cat >"${mimeapps}" <<EOF
|
||||||
|
# Dummy file. Install desktop-file-utils to get better defaults.
|
||||||
|
[Default Applications]
|
||||||
|
EOF
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%check
|
||||||
|
### FIXME ### Figure out how to run the "stable tests" only ref info from upstream.
|
||||||
|
#%%meson_test
|
||||||
|
|
||||||
|
%post -n libgmodule-2_0-0 -p /sbin/ldconfig
|
||||||
|
%postun -n %{libglib} -p %{ldconfig}
|
||||||
|
%postun -n %{libgobject} -p %{ldconfig}
|
||||||
|
%postun -n %{libgthread} -p %{ldconfig}
|
||||||
|
%postun -n %{libgio} -p %{ldconfig}
|
||||||
|
%postun -n %{libgmodule} -p %{ldconfig}
|
||||||
|
|
||||||
|
%if "%{flavor}" == "doc"
|
||||||
|
%files
|
||||||
|
%{_datadir}/gtk-doc/html/gio
|
||||||
|
%{_datadir}/gtk-doc/html/glib
|
||||||
|
%{_datadir}/gtk-doc/html/gobject
|
||||||
|
%else
|
||||||
|
|
||||||
|
%files tools
|
||||||
|
%license LICENSES/LGPL-2.1-or-later.txt
|
||||||
|
%doc README.md
|
||||||
|
%{_bindir}/gapplication
|
||||||
|
%{_bindir}/gdbus
|
||||||
|
%{_bindir}/gio
|
||||||
|
%{_bindir}/gio-querymodules*
|
||||||
|
%{_bindir}/glib-compile-schemas
|
||||||
|
%{_bindir}/gresource
|
||||||
|
%{_bindir}/gsettings
|
||||||
|
%{_libexecdir}/gio-launch-desktop
|
||||||
|
%dir %{_datadir}/bash-completion
|
||||||
|
%dir %{_datadir}/bash-completion/completions
|
||||||
|
%{_datadir}/bash-completion/completions/gapplication
|
||||||
|
%{_datadir}/bash-completion/completions/gdbus
|
||||||
|
%{_datadir}/bash-completion/completions/gio
|
||||||
|
%{_datadir}/bash-completion/completions/gresource
|
||||||
|
%{_datadir}/bash-completion/completions/gsettings
|
||||||
|
%dir %{_datadir}/zsh
|
||||||
|
%dir %{_datadir}/zsh/site-functions
|
||||||
|
%{_datadir}/zsh/site-functions/_gsettings
|
||||||
|
%{_mandir}/man1/gapplication.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/gdbus.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/gio.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/gio-querymodules.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/glib-compile-schemas.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/gresource.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/gsettings.1%{?ext_man}
|
||||||
|
# We put those files here, but they don't really belong here. They just don't
|
||||||
|
# have a better home... The zzz-glib2 scripts could arguably be in
|
||||||
|
# libglib-2_0-0 but that would break the shared library policy.
|
||||||
|
%{_sysconfdir}/profile.d/zzz-glib2.*
|
||||||
|
|
||||||
|
%files -n gio-branding-upstream
|
||||||
|
%license LICENSES/LGPL-2.1-or-later.txt
|
||||||
|
%doc README.Gsettings-overrides
|
||||||
|
%config (noreplace) %{_sysconfdir}/gnome_defaults.conf
|
||||||
|
|
||||||
|
%files -n %{libglib}
|
||||||
|
%license LICENSES/LGPL-2.1-or-later.txt
|
||||||
|
%doc NEWS
|
||||||
|
%{_libdir}/libglib*.so.*
|
||||||
|
|
||||||
|
%files -n %{libgmodule}
|
||||||
|
%license LICENSES/LGPL-2.1-or-later.txt
|
||||||
|
%{_libdir}/libgmodule*.so.*
|
||||||
|
|
||||||
|
%files -n %{libgobject}
|
||||||
|
%license LICENSES/LGPL-2.1-or-later.txt
|
||||||
|
%{_libdir}/libgobject*.so.*
|
||||||
|
|
||||||
|
%files -n %{libgthread}
|
||||||
|
%license LICENSES/LGPL-2.1-or-later.txt
|
||||||
|
%{_libdir}/libgthread*.so.*
|
||||||
|
|
||||||
|
%files -n %{libgio}
|
||||||
|
%license LICENSES/LGPL-2.1-or-later.txt
|
||||||
|
%{_libdir}/libgio*.so.*
|
||||||
|
%dir %{_libdir}/gio
|
||||||
|
%dir %{_libdir}/gio/modules
|
||||||
|
%ghost %{_libdir}/gio/modules/giomodule.cache
|
||||||
|
%dir %{_datadir}/glib-2.0/
|
||||||
|
%dir %{_datadir}/glib-2.0/schemas/
|
||||||
|
%ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled
|
||||||
|
%{_datadir}/applications/gnome-mimeapps.list
|
||||||
|
%dir %{_localstatedir}/cache/gio-2.0
|
||||||
|
%ghost %{_localstatedir}/cache/gio-2.0/gnome-mimeapps.list
|
||||||
|
%ghost %{_localstatedir}/cache/gio-2.0/xfce-mimeapps.list
|
||||||
|
%ghost %{_localstatedir}/cache/gio-2.0/lxde-mimeapps.list
|
||||||
|
%ghost %{_localstatedir}/cache/gio-2.0/pantheon-mimeapps.list
|
||||||
|
%ghost %{_localstatedir}/cache/gio-2.0/budgie-mimeapps.list
|
||||||
|
%ghost %{_localstatedir}/cache/gio-2.0/mate-mimeapps.list
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%license LICENSES/LGPL-2.1-or-later.txt
|
||||||
|
%{_bindir}/gdbus-codegen
|
||||||
|
%{_bindir}/glib-compile-resources
|
||||||
|
%{_bindir}/glib-genmarshal
|
||||||
|
%{_bindir}/glib-gettextize
|
||||||
|
%{_bindir}/glib-mkenums
|
||||||
|
%{_bindir}/gobject-query
|
||||||
|
%{_bindir}/gtester
|
||||||
|
%{_bindir}/gtester-report
|
||||||
|
%{_mandir}/man?/gdbus-codegen*%{ext_man}
|
||||||
|
%{_mandir}/man?/glib-compile-resources*%{ext_man}
|
||||||
|
%{_mandir}/man?/glib-genmarshal*%{ext_man}
|
||||||
|
%{_mandir}/man?/glib-gettextize*%{ext_man}
|
||||||
|
%{_mandir}/man?/glib-mkenums*%{ext_man}
|
||||||
|
%{_mandir}/man?/gobject-query*%{ext_man}
|
||||||
|
%{_mandir}/man?/gtester*%{ext_man}
|
||||||
|
%dir %{_datadir}/aclocal
|
||||||
|
%{_datadir}/aclocal/glib-2.0.m4
|
||||||
|
%{_datadir}/aclocal/glib-gettext.m4
|
||||||
|
%{_datadir}/aclocal/gsettings.m4
|
||||||
|
%dir %{_datadir}/gettext/its/
|
||||||
|
%{_datadir}/gettext/its/gschema*
|
||||||
|
%dir %{_datadir}/glib-2.0/
|
||||||
|
%{_datadir}/glib-2.0/gdb/
|
||||||
|
%{_datadir}/glib-2.0/gettext/
|
||||||
|
%{_datadir}/glib-2.0/codegen/
|
||||||
|
%{_datadir}/glib-2.0/schemas/gschema.dtd
|
||||||
|
%{_datadir}/glib-2.0/valgrind/
|
||||||
|
%{_includedir}/glib-2.0
|
||||||
|
%{_includedir}/gio-unix-2.0
|
||||||
|
%{_libdir}/lib*.so
|
||||||
|
%dir %{_libdir}/glib-2.0/
|
||||||
|
%{_libdir}/glib-2.0/include/
|
||||||
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
%{_datadir}/gdb/auto-load/%{_libdir}/*-gdb.py
|
||||||
|
%if %{with systemtap}
|
||||||
|
%dir %{_datadir}/systemtap
|
||||||
|
%dir %{_datadir}/systemtap/tapset
|
||||||
|
%dir %{_datadir}/systemtap/tapset/*
|
||||||
|
%{_datadir}/systemtap/tapset/*/libgio-*.so.*.stp
|
||||||
|
%{_datadir}/systemtap/tapset/*/libglib-*.so.*.stp
|
||||||
|
%{_datadir}/systemtap/tapset/*/libgobject-*.so.*.stp
|
||||||
|
%endif
|
||||||
|
%{_rpmmacrodir}/macros.glib2
|
||||||
|
# Own these directories to avoid build requirement on gdb
|
||||||
|
# only for directories ownership
|
||||||
|
%dir %{_datadir}/gdb
|
||||||
|
%dir %{_datadir}/gdb/auto-load
|
||||||
|
%dir %{_datadir}/gdb/auto-load%{_prefix}
|
||||||
|
%dir %{_datadir}/gdb/auto-load%{_libdir}
|
||||||
|
# Own these directories to not avoid breakages throughout the project
|
||||||
|
%dir %{_datadir}/gtk-doc
|
||||||
|
%dir %{_datadir}/gtk-doc/html
|
||||||
|
|
||||||
|
%files devel-static
|
||||||
|
%license LICENSES/LGPL-2.1-or-later.txt
|
||||||
|
%{_libdir}/lib*.a
|
||||||
|
|
||||||
|
%files lang -f glib20.lang
|
||||||
|
%license LICENSES/LGPL-2.1-or-later.txt
|
||||||
|
|
||||||
|
%files tests-devel
|
||||||
|
%license LICENSES/LGPL-2.1-or-later.txt
|
||||||
|
%{_libexecdir}/installed-tests
|
||||||
|
%attr(0755 - -) %{_libexecdir}/installed-tests/glib/taptestrunner.py
|
||||||
|
%attr(0755 - -) %{_libexecdir}/installed-tests/glib/x-content/unix-software/autorun.sh
|
||||||
|
%{_datadir}/installed-tests
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
151
gsettings.zsh
Normal file
151
gsettings.zsh
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
#compdef gsettings
|
||||||
|
|
||||||
|
_gsettings() {
|
||||||
|
_arguments : \
|
||||||
|
'--schemadir[A directory to search for additional schemas]:additional schema:_path_files -/' \
|
||||||
|
':gsettings command:_gsettings_commands' \
|
||||||
|
'*: :_gsettings_rest_args'
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_gsettings_commands] )) || _gsettings_commands() {
|
||||||
|
local -a command_list
|
||||||
|
command_list=(
|
||||||
|
'help:show the help'
|
||||||
|
'list-schemas:list installed schemas'
|
||||||
|
'list-relocatable-schemas:list relocatable schemas'
|
||||||
|
'list-keys:list keys in a schema'
|
||||||
|
'list-children:list children of a schema'
|
||||||
|
'list-recursively:list keys and values, recursively'
|
||||||
|
'range:queries the range of a key'
|
||||||
|
'get:get the value of a key'
|
||||||
|
'set:set the value of a key'
|
||||||
|
'reset:reset the value of a key'
|
||||||
|
'reset-recursively:reset all values in a given schema'
|
||||||
|
'writable:check if a key is writable'
|
||||||
|
'monitor:watch for changes'
|
||||||
|
)
|
||||||
|
_describe -t commands 'gsettings commands' command_list
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_gsettings_rest_args] )) || _gsettings_rest_args() {
|
||||||
|
local CMD_IDX=2
|
||||||
|
local SCHEMA_IDX=3
|
||||||
|
local KEY_IDX=4
|
||||||
|
local VALUE_IDX=5
|
||||||
|
local offset=0
|
||||||
|
local opt_schemadir schemadir cmd schema key
|
||||||
|
|
||||||
|
if [[ $#words -ge 4 && "${(Q)words[2]}" == --schemadir ]]; then
|
||||||
|
opt_schemadir=--schemadir
|
||||||
|
schemadir="${(Q)words[3]}"
|
||||||
|
offset=2
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmd="${(Q)words[CMD_IDX+offset]}"
|
||||||
|
|
||||||
|
case $((CURRENT-offset)) in
|
||||||
|
$SCHEMA_IDX)
|
||||||
|
case "$cmd" in
|
||||||
|
help)
|
||||||
|
_gsettings_help_targets
|
||||||
|
;;
|
||||||
|
list-keys|list-children|list-recursively|range|get|set|reset| \
|
||||||
|
reset-recursively|writable|monitor)
|
||||||
|
_gsettings_schemas "$opt_schemadir" "$schemadir"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
$KEY_IDX)
|
||||||
|
case "$cmd" in
|
||||||
|
get|set|range|reset|writable|monitor)
|
||||||
|
schema="${(Q)words[SCHEMA_IDX+offset]}"
|
||||||
|
_gsettings_keys "$opt_schemadir" "$schemadir" "$schema"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
$VALUE_IDX)
|
||||||
|
case "$cmd" in
|
||||||
|
set)
|
||||||
|
schema="${(Q)words[SCHEMA_IDX+offset]}"
|
||||||
|
key="${(Q)words[KEY_IDX+offset]}"
|
||||||
|
_gsettings_values "$opt_schemadir" "$schemadir" "$schema" "$key"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_gsettings_help_targets] )) || _gsettings_help_targets() {
|
||||||
|
local -a target_list
|
||||||
|
target_list=(
|
||||||
|
'help:show the help'
|
||||||
|
'list-schemas:list installed schemas'
|
||||||
|
'list-relocatable-schemas:list relocatable schemas'
|
||||||
|
'list-keys:list keys in a schema'
|
||||||
|
'list-children:list children of a schema'
|
||||||
|
'list-recursively:list keys and values, recursively'
|
||||||
|
'range:queries the range of a key'
|
||||||
|
'get:get the value of a key'
|
||||||
|
'set:set the value of a key'
|
||||||
|
'reset:reset the value of a key'
|
||||||
|
'reset-recursively:reset all values in a given schema'
|
||||||
|
'writable:check if a key is writable'
|
||||||
|
'monitor:watch for changes'
|
||||||
|
)
|
||||||
|
_describe -t help-target 'help targets' target_list
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_gsettings_schemas] )) || _gsettings_schemas() {
|
||||||
|
local -a schema_list
|
||||||
|
schema_list=(
|
||||||
|
${(@f)"$(gsettings $1 $2 list-schemas 2>/dev/null)"}
|
||||||
|
${(@f)"$(gsettings $1 $2 list-relocatable-schemas 2>/dev/null)"}
|
||||||
|
)
|
||||||
|
if [[ $#schema_list == 0 ]]; then
|
||||||
|
schema_list=(
|
||||||
|
${(@f)"$(gsettings list-schemas 2>/dev/null)"}
|
||||||
|
${(@f)"$(gsettings list-relocatable-schemas 2>/dev/null)"}
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
_describe -t schemas 'schemas' schema_list -V
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_gsettings_keys] )) || _gsettings_keys() {
|
||||||
|
local -a key_list
|
||||||
|
key_list=(${(@f)"$(gsettings $1 $2 list-keys $3 2>/dev/null)"})
|
||||||
|
if [[ $#key_list == 0 ]]; then
|
||||||
|
key_list=(${(@f)"$(gsettings list-keys $3 2>/dev/null)"})
|
||||||
|
fi
|
||||||
|
_describe -t keys 'keys' key_list -V
|
||||||
|
}
|
||||||
|
|
||||||
|
# Complete possible values including bool and enum
|
||||||
|
(( $+functions[_gsettings_values] )) || _gsettings_values() {
|
||||||
|
local -a range
|
||||||
|
range=(${(@f)"$(gsettings $1 $2 range $3 $4 2>/dev/null)"})
|
||||||
|
if [[ $#range == 0 ]]; then
|
||||||
|
range=(${(@f)"$(gsettings range $3 $4 2>/dev/null)"})
|
||||||
|
fi
|
||||||
|
case "$range[1]" in
|
||||||
|
'type b')
|
||||||
|
_gsettings_complete_bool
|
||||||
|
;;
|
||||||
|
'enum')
|
||||||
|
_gsettings_complete_enum $range[2,-1]
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_gsettings_complete_bool] )) || _gsettings_complete_bool() {
|
||||||
|
local -a bool_list
|
||||||
|
bool_list=('true' 'false')
|
||||||
|
_describe -t val-bool 'possible values (bool)' bool_list -V
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_gsettings_complete_enum] )) || _gsettings_complete_enum() {
|
||||||
|
local -a enum_list
|
||||||
|
enum_list=(${(@Q)"${@}"})
|
||||||
|
_describe -t val-enum 'possible values' enum_list -V
|
||||||
|
}
|
||||||
|
|
||||||
|
_gsettings
|
69
macros.glib2
Normal file
69
macros.glib2
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# RPM macros for packages installing a GSettings schema or GIO module
|
||||||
|
#
|
||||||
|
###
|
||||||
|
#
|
||||||
|
# When a package installs a GSettings schemas, it should use all
|
||||||
|
# three macros:
|
||||||
|
#
|
||||||
|
# - %glib2_gsettings_schema_requires in the preamble
|
||||||
|
# - %glib2_gsettings_schema_post in %post
|
||||||
|
# - %glib2_gsettings_schema_postun in %postun
|
||||||
|
#
|
||||||
|
###
|
||||||
|
#
|
||||||
|
# When a package installs a GIO module, it should use all
|
||||||
|
# three macros:
|
||||||
|
#
|
||||||
|
# - %glib2_gio_module_requires in the preamble
|
||||||
|
# - %glib2_gio_module_post in %post
|
||||||
|
# - %glib2_gio_module_postun in %postun
|
||||||
|
#
|
||||||
|
# Note that %glib2_gio_module_post and %glib2_gio_module_postun can
|
||||||
|
# optionally take the path to the directory where modules live. This
|
||||||
|
# is useful for applications using the GIO module system on their own,
|
||||||
|
# since they will install modules in their own directory. If no
|
||||||
|
# argument is passed, the path for the modules for GIO itself is used.
|
||||||
|
#
|
||||||
|
###
|
||||||
|
|
||||||
|
%glib2_gsettings_schema_requires \
|
||||||
|
%nil
|
||||||
|
|
||||||
|
%glib2_gsettings_schema_post \
|
||||||
|
%nil
|
||||||
|
|
||||||
|
%glib2_gsettings_schema_postun \
|
||||||
|
%nil
|
||||||
|
|
||||||
|
%glib2_gio_module_requires \
|
||||||
|
Requires(post): glib2-tools \
|
||||||
|
Requires(postun): glib2-tools
|
||||||
|
|
||||||
|
# On install, update the cache
|
||||||
|
%glib2_gio_module_post() \
|
||||||
|
%if "x%1" != "x%%1" \
|
||||||
|
GIO_MODULES_DIR="%1" \
|
||||||
|
%else \
|
||||||
|
GIO_MODULES_DIR="%{_libdir}/gio/modules" \
|
||||||
|
%endif \
|
||||||
|
%if "%{_lib}" == "lib64" \
|
||||||
|
%{_bindir}/gio-querymodules-64 "${GIO_MODULES_DIR}" \
|
||||||
|
%else \
|
||||||
|
%{_bindir}/gio-querymodules "${GIO_MODULES_DIR}" \
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# On uninstall, update the cache. Note: we ignore upgrades (already
|
||||||
|
# handled in %post of the new package).
|
||||||
|
%glib2_gio_module_postun() \
|
||||||
|
if [ $1 -eq 0 ]; then \
|
||||||
|
%if "x%1" != "x%%1" \
|
||||||
|
GIO_MODULES_DIR="%1" \
|
||||||
|
%else \
|
||||||
|
GIO_MODULES_DIR="%{_libdir}/gio/modules" \
|
||||||
|
%endif \
|
||||||
|
%if "%_lib" == "lib64" \
|
||||||
|
%{_bindir}/gio-querymodules-64 "${GIO_MODULES_DIR}" \
|
||||||
|
%else \
|
||||||
|
%{_bindir}/gio-querymodules "${GIO_MODULES_DIR}" \
|
||||||
|
%endif \
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user