Date: Thursday, December 12, 2019 @ 13:23:31 Author: andyrtr Revision: 370924
archrelease: copy trunk to extra-x86_64 Added: gconf/repos/extra-x86_64/01_xml-gettext-domain.patch (from rev 370922, gconf/trunk/01_xml-gettext-domain.patch) gconf/repos/extra-x86_64/PKGBUILD (from rev 370922, gconf/trunk/PKGBUILD) gconf/repos/extra-x86_64/gconf-install.hook (from rev 370922, gconf/trunk/gconf-install.hook) gconf/repos/extra-x86_64/gconf-merge-schema (from rev 370922, gconf/trunk/gconf-merge-schema) gconf/repos/extra-x86_64/gconf-reload.patch (from rev 370922, gconf/trunk/gconf-reload.patch) gconf/repos/extra-x86_64/gconf-remove.hook (from rev 370922, gconf/trunk/gconf-remove.hook) gconf/repos/extra-x86_64/gconf.install (from rev 370922, gconf/trunk/gconf.install) gconf/repos/extra-x86_64/gconfpkg (from rev 370922, gconf/trunk/gconfpkg) Deleted: gconf/repos/extra-x86_64/01_xml-gettext-domain.patch gconf/repos/extra-x86_64/PKGBUILD gconf/repos/extra-x86_64/gconf-install.hook gconf/repos/extra-x86_64/gconf-merge-schema gconf/repos/extra-x86_64/gconf-reload.patch gconf/repos/extra-x86_64/gconf-remove.hook gconf/repos/extra-x86_64/gconf.install gconf/repos/extra-x86_64/gconfpkg -----------------------------+ 01_xml-gettext-domain.patch | 724 +++++++++++++++++++++--------------------- PKGBUILD | 147 ++++---- gconf-install.hook | 22 - gconf-merge-schema | 68 +-- gconf-reload.patch | 40 +- gconf-remove.hook | 20 - gconf.install | 6 gconfpkg | 100 ++--- 8 files changed, 566 insertions(+), 561 deletions(-) Deleted: 01_xml-gettext-domain.patch =================================================================== --- 01_xml-gettext-domain.patch 2019-12-12 13:23:30 UTC (rev 370923) +++ 01_xml-gettext-domain.patch 2019-12-12 13:23:31 UTC (rev 370924) @@ -1,362 +0,0 @@ -# Description: Support calling gettext at runtime and putting the gettext domain into the .schemas file instead of replicating translations in /usr/share/gconf/schemas/*.schemas *and* /var/lib/gconf/defaults/%gconf-tree-$LANG.xml. This saves in the order of 90 MB uncompressed/10 MB compressed on hard disks. -# Ubuntu: https://bugs.launchpad.net/bugs/123025 -# Upstream: http://bugzilla.gnome.org/show_bug.cgi?id=568845 ---- GConf-2.26.0/backends/markup-tree.c.gettext 2009-04-26 23:33:05.258484987 -0400 -+++ GConf-2.26.0/backends/markup-tree.c 2009-04-26 23:34:25.026700526 -0400 -@@ -52,6 +52,7 @@ struct _MarkupEntry - char *schema_name; - char *mod_user; - GTime mod_time; -+ const char *gettext_domain; - }; - - static LocalSchemaInfo* local_schema_info_new (void); -@@ -1593,6 +1594,8 @@ markup_entry_set_value (MarkupEntry - gconf_schema_get_type (schema)); - gconf_schema_set_owner (current_schema, - gconf_schema_get_owner (schema)); -+ gconf_schema_set_gettext_domain (current_schema, -+ gconf_schema_get_gettext_domain (schema)); - } - - /* Update mod time */ -@@ -1805,6 +1808,8 @@ markup_entry_get_value (MarkupEntry *ent - else if (c_local_schema && c_local_schema->long_desc) - gconf_schema_set_long_desc (schema, c_local_schema->long_desc); - -+ gconf_schema_set_gettext_domain (schema, entry->gettext_domain); -+ - return retval; - } - } -@@ -2339,8 +2344,9 @@ parse_value_element (GMarkupParseContext - const char *ltype; - const char *list_type; - const char *owner; -+ - GConfValueType vtype; -- const char *dummy1, *dummy2, *dummy3, *dummy4; -+ const char *dummy1, *dummy2, *dummy3, *dummy4, *dummy5; - - #if 0 - g_assert (ELEMENT_IS ("entry") || -@@ -2377,6 +2383,7 @@ parse_value_element (GMarkupParseContext - "muser", &dummy2, - "mtime", &dummy3, - "schema", &dummy4, -+ "gettext_domain", &dummy5, - - NULL)) - return; -@@ -2683,6 +2690,7 @@ parse_entry_element (GMarkupParseContext - const char *mtime; - const char *schema; - const char *type; -+ const char *gettext_domain; - const char *dummy1, *dummy2, *dummy3, *dummy4; - const char *dummy5, *dummy6, *dummy7; - GConfValue *value; -@@ -2693,6 +2701,7 @@ parse_entry_element (GMarkupParseContext - mtime = NULL; - schema = NULL; - type = NULL; -+ gettext_domain = NULL; - - if (!locate_attributes (context, element_name, attribute_names, attribute_values, - error, -@@ -2701,6 +2710,7 @@ parse_entry_element (GMarkupParseContext - "mtime", &mtime, - "schema", &schema, - "type", &type, -+ "gettext_domain", &gettext_domain, - - /* These are allowed but we don't use them until - * parse_value_element -@@ -2768,6 +2778,9 @@ parse_entry_element (GMarkupParseContext - */ - if (schema) - entry->schema_name = g_strdup (schema); -+ -+ if (gettext_domain) -+ entry->gettext_domain = g_intern_string (gettext_domain); - } - else - { -@@ -3716,6 +3729,7 @@ write_value_element (GConfValue *value, - GConfSchema *schema; - GConfValueType stype; - const char *owner; -+ const char *gettext_domain; - - schema = gconf_value_get_schema (value); - -@@ -3741,6 +3755,23 @@ write_value_element (GConfValue *value, - - g_free (s); - } -+ -+ gettext_domain = gconf_schema_get_gettext_domain (schema); -+ -+ if (gettext_domain) -+ { -+ char *s; -+ -+ s = g_markup_escape_text (gettext_domain, -1); -+ -+ if (fprintf (f, " gettext_domain=\"%s\"", s) < 0) -+ { -+ g_free (s); -+ return FALSE; -+ } -+ -+ g_free (s); -+ } - - if (stype == GCONF_VALUE_LIST) - { -diff -up GConf-2.26.0/doc/gconf-1.0.dtd.gettext GConf-2.26.0/doc/gconf-1.0.dtd ---- GConf-2.26.0/doc/gconf-1.0.dtd.gettext 2009-04-26 23:33:17.240736103 -0400 -+++ GConf-2.26.0/doc/gconf-1.0.dtd 2009-04-26 23:34:25.027700384 -0400 -@@ -7,7 +7,7 @@ - <!-- A single schema. What I am trying to say is "this set of - elements, in any order". Duplicate elements (apart from <locale>) are - not allowed). --> --<!ELEMENT schema (key|applyto*|owner?|type|(list_type|(car_type,cdr_type))?|default?|locale*)*> -+<!ELEMENT schema (key|applyto*|owner?|type|(list_type|(car_type,cdr_type))?|default?|locale*|gettext_domain?)*> - - <!-- The key for this schema (e.g. /schemas/apps/foo/bar) --> - <!ELEMENT key (#PCDATA)> -diff -up GConf-2.26.0/gconf/gconf-internals.c.gettext GConf-2.26.0/gconf/gconf-internals.c ---- GConf-2.26.0/gconf/gconf-internals.c.gettext 2009-04-26 23:34:10.994700035 -0400 -+++ GConf-2.26.0/gconf/gconf-internals.c 2009-04-26 23:34:53.767450191 -0400 -@@ -513,6 +513,7 @@ gconf_fill_corba_schema_from_gconf_schem - cs->short_desc = CORBA_string_dup (gconf_schema_get_short_desc (sc) ? gconf_schema_get_short_desc (sc) : ""); - cs->long_desc = CORBA_string_dup (gconf_schema_get_long_desc (sc) ? gconf_schema_get_long_desc (sc) : ""); - cs->owner = CORBA_string_dup (gconf_schema_get_owner (sc) ? gconf_schema_get_owner (sc) : ""); -+ cs->gettext_domain = CORBA_string_dup (gconf_schema_get_gettext_domain (sc) ? gconf_schema_get_gettext_domain (sc) : ""); - - { - gchar* encoded; -@@ -600,6 +601,14 @@ gconf_schema_from_corba_schema(const Con - gconf_schema_set_owner(sc, cs->owner); - } - -+ if (*cs->gettext_domain != '\0') -+ { -+ if (!g_utf8_validate (cs->gettext_domain, -1, NULL)) -+ gconf_log (GCL_ERR, _("Invalid UTF-8 in gettext domain for schema")); -+ else -+ gconf_schema_set_gettext_domain(sc, cs->gettext_domain); -+ } -+ - { - GConfValue* val; - -diff -up GConf-2.26.0/gconf/gconf-schema.c.gettext GConf-2.26.0/gconf/gconf-schema.c ---- GConf-2.26.0/gconf/gconf-schema.c.gettext 2009-04-26 23:33:26.787483545 -0400 -+++ GConf-2.26.0/gconf/gconf-schema.c 2009-04-26 23:35:54.240450142 -0400 -@@ -32,9 +32,10 @@ typedef struct { - GConfValueType car_type; /* Pair car type of the described entry */ - GConfValueType cdr_type; /* Pair cdr type of the described entry */ - gchar* locale; /* Schema locale */ -- gchar* owner; /* Name of creating application */ -+ const gchar* owner; /* Name of creating application */ - gchar* short_desc; /* 40 char or less description, no newlines */ - gchar* long_desc; /* could be a paragraph or so */ -+ const gchar* gettext_domain; /* description gettext domain */ - GConfValue* default_value; /* Default value of the key */ - } GConfRealSchema; - -@@ -63,7 +64,6 @@ gconf_schema_free (GConfSchema* sc) - g_free (real->locale); - g_free (real->short_desc); - g_free (real->long_desc); -- g_free (real->owner); - - if (real->default_value) - gconf_value_free (real->default_value); -@@ -91,7 +91,9 @@ gconf_schema_copy (const GConfSchema* sc - - dest->long_desc = g_strdup (real->long_desc); - -- dest->owner = g_strdup (real->owner); -+ dest->gettext_domain = real->gettext_domain; -+ -+ dest->owner = real->owner; - - dest->default_value = real->default_value ? gconf_value_copy (real->default_value) : NULL; - -@@ -136,6 +138,17 @@ gconf_schema_set_locale (GConfSchema* sc - REAL_SCHEMA (sc)->locale = NULL; - } - -+void -+gconf_schema_set_gettext_domain (GConfSchema* sc, const gchar* domain) -+{ -+ g_return_if_fail (domain == NULL || g_utf8_validate (domain, -1, NULL)); -+ -+ if (domain) -+ REAL_SCHEMA (sc)->gettext_domain = g_intern_string (domain); -+ else -+ REAL_SCHEMA (sc)->gettext_domain = NULL; -+} -+ - void - gconf_schema_set_short_desc (GConfSchema* sc, const gchar* desc) - { -@@ -169,11 +182,8 @@ gconf_schema_set_owner (GConfSchema* sc, - { - g_return_if_fail (owner == NULL || g_utf8_validate (owner, -1, NULL)); - -- if (REAL_SCHEMA (sc)->owner) -- g_free (REAL_SCHEMA (sc)->owner); -- - if (owner) -- REAL_SCHEMA (sc)->owner = g_strdup (owner); -+ REAL_SCHEMA (sc)->owner = g_intern_string (owner); - else - REAL_SCHEMA (sc)->owner = NULL; - } -@@ -228,6 +238,14 @@ gconf_schema_validate (const GConfSchema - return FALSE; - } - -+ if (real->gettext_domain && !g_utf8_validate (real->gettext_domain, -1, NULL)) -+ { -+ g_set_error (err, GCONF_ERROR, -+ GCONF_ERROR_FAILED, -+ _("Schema contains invalid UTF-8")); -+ return FALSE; -+ } -+ - if (real->owner && !g_utf8_validate (real->owner, -1, NULL)) - { - g_set_error (err, GCONF_ERROR, -@@ -299,11 +317,32 @@ gconf_schema_get_locale (const GConfSche - } - - const char* -+gconf_schema_get_gettext_domain (const GConfSchema *schema) -+{ -+ g_return_val_if_fail (schema != NULL, NULL); -+ -+ return REAL_SCHEMA (schema)->gettext_domain; -+} -+ -+static inline const char * -+schema_translate (const GConfSchema *schema, -+ const char *string) -+{ -+ if (REAL_SCHEMA (schema)->gettext_domain) -+ { -+ bind_textdomain_codeset (REAL_SCHEMA (schema)->gettext_domain, "UTF-8"); -+ return g_dgettext(REAL_SCHEMA (schema)->gettext_domain, string); -+ } -+ else -+ return string; -+} -+ -+const char* - gconf_schema_get_short_desc (const GConfSchema *schema) - { - g_return_val_if_fail (schema != NULL, NULL); - -- return REAL_SCHEMA (schema)->short_desc; -+ return schema_translate (schema, REAL_SCHEMA (schema)->short_desc); - } - - const char* -@@ -311,7 +350,7 @@ gconf_schema_get_long_desc (const GConfS - { - g_return_val_if_fail (schema != NULL, NULL); - -- return REAL_SCHEMA (schema)->long_desc; -+ return schema_translate (schema, REAL_SCHEMA (schema)->long_desc); - } - - const char* -diff -up GConf-2.26.0/gconf/gconf-schema.h.gettext GConf-2.26.0/gconf/gconf-schema.h ---- GConf-2.26.0/gconf/gconf-schema.h.gettext 2009-04-26 23:33:33.979744088 -0400 -+++ GConf-2.26.0/gconf/gconf-schema.h 2009-04-26 23:34:25.030737043 -0400 -@@ -48,6 +48,8 @@ void gconf_schema_set_cdr_type - GConfValueType type); - void gconf_schema_set_locale (GConfSchema *sc, - const gchar *locale); -+void gconf_schema_set_gettext_domain (GConfSchema *sc, -+ const gchar *domain); - void gconf_schema_set_short_desc (GConfSchema *sc, - const gchar *desc); - void gconf_schema_set_long_desc (GConfSchema *sc, -@@ -65,6 +67,7 @@ GConfValueType gconf_schema_get_list_typ - GConfValueType gconf_schema_get_car_type (const GConfSchema *schema); - GConfValueType gconf_schema_get_cdr_type (const GConfSchema *schema); - const char* gconf_schema_get_locale (const GConfSchema *schema); -+const char* gconf_schema_get_gettext_domain(const GConfSchema *schema); - const char* gconf_schema_get_short_desc (const GConfSchema *schema); - const char* gconf_schema_get_long_desc (const GConfSchema *schema); - const char* gconf_schema_get_owner (const GConfSchema *schema); -diff -up GConf-2.26.0/gconf/gconftool.c.gettext GConf-2.26.0/gconf/gconftool.c ---- GConf-2.26.0/gconf/gconftool.c.gettext 2009-04-26 23:33:41.907451190 -0400 -+++ GConf-2.26.0/gconf/gconftool.c 2009-04-26 23:34:25.034736752 -0400 -@@ -3295,6 +3295,7 @@ struct _SchemaInfo { - GConfValueType cdr_type; - GConfValue* global_default; - GHashTable* hash; -+ gchar* gettext_domain; - }; - - static int -@@ -3547,6 +3548,15 @@ extract_global_info(xmlNodePtr node, - else - g_printerr (_("WARNING: empty <applyto> node")); - } -+ else if (strcmp((char *)iter->name, "gettext_domain") == 0) -+ { -+ tmp = (char *)xmlNodeGetContent(iter); -+ if (tmp) -+ { -+ info->gettext_domain = g_strdup(tmp); -+ xmlFree(tmp); -+ } -+ } - else - g_printerr (_("WARNING: node <%s> not understood below <schema>\n"), - iter->name); -@@ -3636,6 +3646,9 @@ process_locale_info(xmlNodePtr node, Sch - if (info->owner != NULL) - gconf_schema_set_owner(schema, info->owner); - -+ if (info->gettext_domain != NULL) -+ gconf_schema_set_gettext_domain(schema, info->gettext_domain); -+ - xmlFree(name); - - /* Locale-specific info */ -@@ -3765,6 +3778,7 @@ get_schema_from_xml(xmlNodePtr node, gch - info.apply_to = NULL; - info.owner = NULL; - info.global_default = NULL; -+ info.gettext_domain = NULL; - info.hash = g_hash_table_new(g_str_hash, g_str_equal); - - extract_global_info(node, &info); -@@ -3801,6 +3815,8 @@ get_schema_from_xml(xmlNodePtr node, gch - ; /* nothing */ - else if (strcmp((char *)iter->name, "applyto") == 0) - ; /* nothing */ -+ else if (strcmp((char *)iter->name, "gettext_domain") == 0) -+ ; /* nothing */ - else if (strcmp((char *)iter->name, "locale") == 0) - { - process_locale_info(iter, &info); -diff -up GConf-2.26.0/gconf/GConfX.idl.gettext GConf-2.26.0/gconf/GConfX.idl ---- GConf-2.26.0/gconf/GConfX.idl.gettext 2009-04-26 23:33:58.457483190 -0400 -+++ GConf-2.26.0/gconf/GConfX.idl 2009-04-26 23:34:53.764448732 -0400 -@@ -16,6 +16,7 @@ struct ConfigSchema { - string short_desc; - string long_desc; - string owner; -+ string gettext_domain; - // Work around lack of recursive data types - string encoded_default_value; - }; Copied: gconf/repos/extra-x86_64/01_xml-gettext-domain.patch (from rev 370922, gconf/trunk/01_xml-gettext-domain.patch) =================================================================== --- 01_xml-gettext-domain.patch (rev 0) +++ 01_xml-gettext-domain.patch 2019-12-12 13:23:31 UTC (rev 370924) @@ -0,0 +1,362 @@ +# Description: Support calling gettext at runtime and putting the gettext domain into the .schemas file instead of replicating translations in /usr/share/gconf/schemas/*.schemas *and* /var/lib/gconf/defaults/%gconf-tree-$LANG.xml. This saves in the order of 90 MB uncompressed/10 MB compressed on hard disks. +# Ubuntu: https://bugs.launchpad.net/bugs/123025 +# Upstream: http://bugzilla.gnome.org/show_bug.cgi?id=568845 +--- GConf-2.26.0/backends/markup-tree.c.gettext 2009-04-26 23:33:05.258484987 -0400 ++++ GConf-2.26.0/backends/markup-tree.c 2009-04-26 23:34:25.026700526 -0400 +@@ -52,6 +52,7 @@ struct _MarkupEntry + char *schema_name; + char *mod_user; + GTime mod_time; ++ const char *gettext_domain; + }; + + static LocalSchemaInfo* local_schema_info_new (void); +@@ -1593,6 +1594,8 @@ markup_entry_set_value (MarkupEntry + gconf_schema_get_type (schema)); + gconf_schema_set_owner (current_schema, + gconf_schema_get_owner (schema)); ++ gconf_schema_set_gettext_domain (current_schema, ++ gconf_schema_get_gettext_domain (schema)); + } + + /* Update mod time */ +@@ -1805,6 +1808,8 @@ markup_entry_get_value (MarkupEntry *ent + else if (c_local_schema && c_local_schema->long_desc) + gconf_schema_set_long_desc (schema, c_local_schema->long_desc); + ++ gconf_schema_set_gettext_domain (schema, entry->gettext_domain); ++ + return retval; + } + } +@@ -2339,8 +2344,9 @@ parse_value_element (GMarkupParseContext + const char *ltype; + const char *list_type; + const char *owner; ++ + GConfValueType vtype; +- const char *dummy1, *dummy2, *dummy3, *dummy4; ++ const char *dummy1, *dummy2, *dummy3, *dummy4, *dummy5; + + #if 0 + g_assert (ELEMENT_IS ("entry") || +@@ -2377,6 +2383,7 @@ parse_value_element (GMarkupParseContext + "muser", &dummy2, + "mtime", &dummy3, + "schema", &dummy4, ++ "gettext_domain", &dummy5, + + NULL)) + return; +@@ -2683,6 +2690,7 @@ parse_entry_element (GMarkupParseContext + const char *mtime; + const char *schema; + const char *type; ++ const char *gettext_domain; + const char *dummy1, *dummy2, *dummy3, *dummy4; + const char *dummy5, *dummy6, *dummy7; + GConfValue *value; +@@ -2693,6 +2701,7 @@ parse_entry_element (GMarkupParseContext + mtime = NULL; + schema = NULL; + type = NULL; ++ gettext_domain = NULL; + + if (!locate_attributes (context, element_name, attribute_names, attribute_values, + error, +@@ -2701,6 +2710,7 @@ parse_entry_element (GMarkupParseContext + "mtime", &mtime, + "schema", &schema, + "type", &type, ++ "gettext_domain", &gettext_domain, + + /* These are allowed but we don't use them until + * parse_value_element +@@ -2768,6 +2778,9 @@ parse_entry_element (GMarkupParseContext + */ + if (schema) + entry->schema_name = g_strdup (schema); ++ ++ if (gettext_domain) ++ entry->gettext_domain = g_intern_string (gettext_domain); + } + else + { +@@ -3716,6 +3729,7 @@ write_value_element (GConfValue *value, + GConfSchema *schema; + GConfValueType stype; + const char *owner; ++ const char *gettext_domain; + + schema = gconf_value_get_schema (value); + +@@ -3741,6 +3755,23 @@ write_value_element (GConfValue *value, + + g_free (s); + } ++ ++ gettext_domain = gconf_schema_get_gettext_domain (schema); ++ ++ if (gettext_domain) ++ { ++ char *s; ++ ++ s = g_markup_escape_text (gettext_domain, -1); ++ ++ if (fprintf (f, " gettext_domain=\"%s\"", s) < 0) ++ { ++ g_free (s); ++ return FALSE; ++ } ++ ++ g_free (s); ++ } + + if (stype == GCONF_VALUE_LIST) + { +diff -up GConf-2.26.0/doc/gconf-1.0.dtd.gettext GConf-2.26.0/doc/gconf-1.0.dtd +--- GConf-2.26.0/doc/gconf-1.0.dtd.gettext 2009-04-26 23:33:17.240736103 -0400 ++++ GConf-2.26.0/doc/gconf-1.0.dtd 2009-04-26 23:34:25.027700384 -0400 +@@ -7,7 +7,7 @@ + <!-- A single schema. What I am trying to say is "this set of + elements, in any order". Duplicate elements (apart from <locale>) are + not allowed). --> +-<!ELEMENT schema (key|applyto*|owner?|type|(list_type|(car_type,cdr_type))?|default?|locale*)*> ++<!ELEMENT schema (key|applyto*|owner?|type|(list_type|(car_type,cdr_type))?|default?|locale*|gettext_domain?)*> + + <!-- The key for this schema (e.g. /schemas/apps/foo/bar) --> + <!ELEMENT key (#PCDATA)> +diff -up GConf-2.26.0/gconf/gconf-internals.c.gettext GConf-2.26.0/gconf/gconf-internals.c +--- GConf-2.26.0/gconf/gconf-internals.c.gettext 2009-04-26 23:34:10.994700035 -0400 ++++ GConf-2.26.0/gconf/gconf-internals.c 2009-04-26 23:34:53.767450191 -0400 +@@ -513,6 +513,7 @@ gconf_fill_corba_schema_from_gconf_schem + cs->short_desc = CORBA_string_dup (gconf_schema_get_short_desc (sc) ? gconf_schema_get_short_desc (sc) : ""); + cs->long_desc = CORBA_string_dup (gconf_schema_get_long_desc (sc) ? gconf_schema_get_long_desc (sc) : ""); + cs->owner = CORBA_string_dup (gconf_schema_get_owner (sc) ? gconf_schema_get_owner (sc) : ""); ++ cs->gettext_domain = CORBA_string_dup (gconf_schema_get_gettext_domain (sc) ? gconf_schema_get_gettext_domain (sc) : ""); + + { + gchar* encoded; +@@ -600,6 +601,14 @@ gconf_schema_from_corba_schema(const Con + gconf_schema_set_owner(sc, cs->owner); + } + ++ if (*cs->gettext_domain != '\0') ++ { ++ if (!g_utf8_validate (cs->gettext_domain, -1, NULL)) ++ gconf_log (GCL_ERR, _("Invalid UTF-8 in gettext domain for schema")); ++ else ++ gconf_schema_set_gettext_domain(sc, cs->gettext_domain); ++ } ++ + { + GConfValue* val; + +diff -up GConf-2.26.0/gconf/gconf-schema.c.gettext GConf-2.26.0/gconf/gconf-schema.c +--- GConf-2.26.0/gconf/gconf-schema.c.gettext 2009-04-26 23:33:26.787483545 -0400 ++++ GConf-2.26.0/gconf/gconf-schema.c 2009-04-26 23:35:54.240450142 -0400 +@@ -32,9 +32,10 @@ typedef struct { + GConfValueType car_type; /* Pair car type of the described entry */ + GConfValueType cdr_type; /* Pair cdr type of the described entry */ + gchar* locale; /* Schema locale */ +- gchar* owner; /* Name of creating application */ ++ const gchar* owner; /* Name of creating application */ + gchar* short_desc; /* 40 char or less description, no newlines */ + gchar* long_desc; /* could be a paragraph or so */ ++ const gchar* gettext_domain; /* description gettext domain */ + GConfValue* default_value; /* Default value of the key */ + } GConfRealSchema; + +@@ -63,7 +64,6 @@ gconf_schema_free (GConfSchema* sc) + g_free (real->locale); + g_free (real->short_desc); + g_free (real->long_desc); +- g_free (real->owner); + + if (real->default_value) + gconf_value_free (real->default_value); +@@ -91,7 +91,9 @@ gconf_schema_copy (const GConfSchema* sc + + dest->long_desc = g_strdup (real->long_desc); + +- dest->owner = g_strdup (real->owner); ++ dest->gettext_domain = real->gettext_domain; ++ ++ dest->owner = real->owner; + + dest->default_value = real->default_value ? gconf_value_copy (real->default_value) : NULL; + +@@ -136,6 +138,17 @@ gconf_schema_set_locale (GConfSchema* sc + REAL_SCHEMA (sc)->locale = NULL; + } + ++void ++gconf_schema_set_gettext_domain (GConfSchema* sc, const gchar* domain) ++{ ++ g_return_if_fail (domain == NULL || g_utf8_validate (domain, -1, NULL)); ++ ++ if (domain) ++ REAL_SCHEMA (sc)->gettext_domain = g_intern_string (domain); ++ else ++ REAL_SCHEMA (sc)->gettext_domain = NULL; ++} ++ + void + gconf_schema_set_short_desc (GConfSchema* sc, const gchar* desc) + { +@@ -169,11 +182,8 @@ gconf_schema_set_owner (GConfSchema* sc, + { + g_return_if_fail (owner == NULL || g_utf8_validate (owner, -1, NULL)); + +- if (REAL_SCHEMA (sc)->owner) +- g_free (REAL_SCHEMA (sc)->owner); +- + if (owner) +- REAL_SCHEMA (sc)->owner = g_strdup (owner); ++ REAL_SCHEMA (sc)->owner = g_intern_string (owner); + else + REAL_SCHEMA (sc)->owner = NULL; + } +@@ -228,6 +238,14 @@ gconf_schema_validate (const GConfSchema + return FALSE; + } + ++ if (real->gettext_domain && !g_utf8_validate (real->gettext_domain, -1, NULL)) ++ { ++ g_set_error (err, GCONF_ERROR, ++ GCONF_ERROR_FAILED, ++ _("Schema contains invalid UTF-8")); ++ return FALSE; ++ } ++ + if (real->owner && !g_utf8_validate (real->owner, -1, NULL)) + { + g_set_error (err, GCONF_ERROR, +@@ -299,11 +317,32 @@ gconf_schema_get_locale (const GConfSche + } + + const char* ++gconf_schema_get_gettext_domain (const GConfSchema *schema) ++{ ++ g_return_val_if_fail (schema != NULL, NULL); ++ ++ return REAL_SCHEMA (schema)->gettext_domain; ++} ++ ++static inline const char * ++schema_translate (const GConfSchema *schema, ++ const char *string) ++{ ++ if (REAL_SCHEMA (schema)->gettext_domain) ++ { ++ bind_textdomain_codeset (REAL_SCHEMA (schema)->gettext_domain, "UTF-8"); ++ return g_dgettext(REAL_SCHEMA (schema)->gettext_domain, string); ++ } ++ else ++ return string; ++} ++ ++const char* + gconf_schema_get_short_desc (const GConfSchema *schema) + { + g_return_val_if_fail (schema != NULL, NULL); + +- return REAL_SCHEMA (schema)->short_desc; ++ return schema_translate (schema, REAL_SCHEMA (schema)->short_desc); + } + + const char* +@@ -311,7 +350,7 @@ gconf_schema_get_long_desc (const GConfS + { + g_return_val_if_fail (schema != NULL, NULL); + +- return REAL_SCHEMA (schema)->long_desc; ++ return schema_translate (schema, REAL_SCHEMA (schema)->long_desc); + } + + const char* +diff -up GConf-2.26.0/gconf/gconf-schema.h.gettext GConf-2.26.0/gconf/gconf-schema.h +--- GConf-2.26.0/gconf/gconf-schema.h.gettext 2009-04-26 23:33:33.979744088 -0400 ++++ GConf-2.26.0/gconf/gconf-schema.h 2009-04-26 23:34:25.030737043 -0400 +@@ -48,6 +48,8 @@ void gconf_schema_set_cdr_type + GConfValueType type); + void gconf_schema_set_locale (GConfSchema *sc, + const gchar *locale); ++void gconf_schema_set_gettext_domain (GConfSchema *sc, ++ const gchar *domain); + void gconf_schema_set_short_desc (GConfSchema *sc, + const gchar *desc); + void gconf_schema_set_long_desc (GConfSchema *sc, +@@ -65,6 +67,7 @@ GConfValueType gconf_schema_get_list_typ + GConfValueType gconf_schema_get_car_type (const GConfSchema *schema); + GConfValueType gconf_schema_get_cdr_type (const GConfSchema *schema); + const char* gconf_schema_get_locale (const GConfSchema *schema); ++const char* gconf_schema_get_gettext_domain(const GConfSchema *schema); + const char* gconf_schema_get_short_desc (const GConfSchema *schema); + const char* gconf_schema_get_long_desc (const GConfSchema *schema); + const char* gconf_schema_get_owner (const GConfSchema *schema); +diff -up GConf-2.26.0/gconf/gconftool.c.gettext GConf-2.26.0/gconf/gconftool.c +--- GConf-2.26.0/gconf/gconftool.c.gettext 2009-04-26 23:33:41.907451190 -0400 ++++ GConf-2.26.0/gconf/gconftool.c 2009-04-26 23:34:25.034736752 -0400 +@@ -3295,6 +3295,7 @@ struct _SchemaInfo { + GConfValueType cdr_type; + GConfValue* global_default; + GHashTable* hash; ++ gchar* gettext_domain; + }; + + static int +@@ -3547,6 +3548,15 @@ extract_global_info(xmlNodePtr node, + else + g_printerr (_("WARNING: empty <applyto> node")); + } ++ else if (strcmp((char *)iter->name, "gettext_domain") == 0) ++ { ++ tmp = (char *)xmlNodeGetContent(iter); ++ if (tmp) ++ { ++ info->gettext_domain = g_strdup(tmp); ++ xmlFree(tmp); ++ } ++ } + else + g_printerr (_("WARNING: node <%s> not understood below <schema>\n"), + iter->name); +@@ -3636,6 +3646,9 @@ process_locale_info(xmlNodePtr node, Sch + if (info->owner != NULL) + gconf_schema_set_owner(schema, info->owner); + ++ if (info->gettext_domain != NULL) ++ gconf_schema_set_gettext_domain(schema, info->gettext_domain); ++ + xmlFree(name); + + /* Locale-specific info */ +@@ -3765,6 +3778,7 @@ get_schema_from_xml(xmlNodePtr node, gch + info.apply_to = NULL; + info.owner = NULL; + info.global_default = NULL; ++ info.gettext_domain = NULL; + info.hash = g_hash_table_new(g_str_hash, g_str_equal); + + extract_global_info(node, &info); +@@ -3801,6 +3815,8 @@ get_schema_from_xml(xmlNodePtr node, gch + ; /* nothing */ + else if (strcmp((char *)iter->name, "applyto") == 0) + ; /* nothing */ ++ else if (strcmp((char *)iter->name, "gettext_domain") == 0) ++ ; /* nothing */ + else if (strcmp((char *)iter->name, "locale") == 0) + { + process_locale_info(iter, &info); +diff -up GConf-2.26.0/gconf/GConfX.idl.gettext GConf-2.26.0/gconf/GConfX.idl +--- GConf-2.26.0/gconf/GConfX.idl.gettext 2009-04-26 23:33:58.457483190 -0400 ++++ GConf-2.26.0/gconf/GConfX.idl 2009-04-26 23:34:53.764448732 -0400 +@@ -16,6 +16,7 @@ struct ConfigSchema { + string short_desc; + string long_desc; + string owner; ++ string gettext_domain; + // Work around lack of recursive data types + string encoded_default_value; + }; Deleted: PKGBUILD =================================================================== --- PKGBUILD 2019-12-12 13:23:30 UTC (rev 370923) +++ PKGBUILD 2019-12-12 13:23:31 UTC (rev 370924) @@ -1,71 +0,0 @@ -# Maintainer: Jan de Groot <j...@archlinux.org> - -pkgname=gconf -pkgver=3.2.6+11+g07808097 -pkgrel=4 -pkgdesc="An obsolete configuration database system" -url="https://projects-old.gnome.org/gconf/" -arch=(x86_64) -license=(LGPL) -depends=(libxml2 polkit libldap dbus-glib python2) -makedepends=(intltool gtk-doc gobject-introspection git gnome-common) -install=gconf.install -_commit=0780809731c8ab1c364202b1900d3df106b28626 # master -source=("git+https://gitlab.gnome.org/Archive/gconf.git#commit=$_commit" - 01_xml-gettext-domain.patch gconf-reload.patch - gconf-merge-schema gconfpkg gconf-{install,remove}.hook) -sha256sums=('SKIP' - 'c883dec2b96978874a53700cfe7f26f24f8296767203e970bc6402b4b9945eb8' - '567b78d8b4b4bbcb77c5f134d57bc503c34867fcc6341c0b01716bcaa4a21694' - 'ee6b6e6f4975dad13a8c45f1c1f0547a99373bdecdcd6604bfc12965c328a028' - 'bf1928718caa5df2b9e54a13cfd0f15a8fe0e09e86b84385ce023616a114e898' - '2732b2a6b187c5620105a036bde12edee99669605f70cbde56fe5f39619c3dc0' - '436a65ff290095bc3d35d7d6297cf4d647f61e9f9922cea7ef9f1e251b447ff7') - -pkgver() { - cd $pkgname - git describe --tags | sed 's/-/+/g' -} - -prepare() { - cd $pkgname - - # Patch from fedora - reloads gconf after installing schemas - patch -Np1 -i ../gconf-reload.patch - - # http://bugzilla.gnome.org/show_bug.cgi?id=568845 - patch -Np1 -i ../01_xml-gettext-domain.patch - - # Python2 fix - sed -i '1s|#!/usr/bin/env python$|&2|' gsettings/gsettings-schema-convert - - NOCONFIGURE=1 ./autogen.sh -} - -build() { - cd $pkgname - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --libexecdir=/usr/lib \ - --enable-defaults-service \ - --disable-gtk-doc \ - --disable-static \ - --disable-orbit - sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool - make -} - -check() { - cd $pkgname - make check -} - -package() { - DESTDIR="$pkgdir" make -C $pkgname install - - install -d "$pkgdir/etc/gconf/gconf.xml.system" - install -Dt "$pkgdir/usr/bin" gconf-merge-schema gconfpkg - install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook -} Copied: gconf/repos/extra-x86_64/PKGBUILD (from rev 370922, gconf/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2019-12-12 13:23:31 UTC (rev 370924) @@ -0,0 +1,76 @@ +# Maintainer: Jan de Groot <j...@archlinux.org> + +pkgname=gconf +pkgver=3.2.6+11+g07808097 +pkgrel=5 +pkgdesc="An obsolete configuration database system" +url="https://projects-old.gnome.org/gconf/" +arch=(x86_64) +license=(LGPL) +depends=(libxml2 polkit libldap dbus-glib python2) +makedepends=(intltool gtk-doc gobject-introspection git gnome-common) +install=gconf.install +_commit=0780809731c8ab1c364202b1900d3df106b28626 # master +source=("git+https://gitlab.gnome.org/Archive/gconf.git#commit=$_commit" + 01_xml-gettext-domain.patch gconf-reload.patch + gconf-merge-schema gconfpkg gconf-{install,remove}.hook) +sha256sums=('SKIP' + 'c883dec2b96978874a53700cfe7f26f24f8296767203e970bc6402b4b9945eb8' + '567b78d8b4b4bbcb77c5f134d57bc503c34867fcc6341c0b01716bcaa4a21694' + 'ee6b6e6f4975dad13a8c45f1c1f0547a99373bdecdcd6604bfc12965c328a028' + 'bf1928718caa5df2b9e54a13cfd0f15a8fe0e09e86b84385ce023616a114e898' + '2732b2a6b187c5620105a036bde12edee99669605f70cbde56fe5f39619c3dc0' + '436a65ff290095bc3d35d7d6297cf4d647f61e9f9922cea7ef9f1e251b447ff7') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgname + + # Patch from fedora - reloads gconf after installing schemas + patch -Np1 -i ../gconf-reload.patch + + # http://bugzilla.gnome.org/show_bug.cgi?id=568845 + patch -Np1 -i ../01_xml-gettext-domain.patch + + # Python2 fix + sed -i '1s|#!/usr/bin/env python$|&2|' gsettings/gsettings-schema-convert + + NOCONFIGURE=1 ./autogen.sh +} + +build() { + cd $pkgname + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib \ + --enable-defaults-service \ + --disable-gtk-doc \ + --disable-static \ + --disable-orbit + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname + make check +} + +package() { + DESTDIR="$pkgdir" make -C $pkgname install + + install -d "$pkgdir/etc/gconf/gconf.xml.system" + install -Dt "$pkgdir/usr/bin" gconf-merge-schema gconfpkg + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook + + # fix dbus policy location - --with-dbusdir doens't work + install -dm755 ${pkgdir}/usr/share/dbus-1/system.d + mv ${pkgdir}/etc/dbus-1/system.d/* ${pkgdir}/usr/share/dbus-1/system.d + rm -rf ${pkgdir}/etc/dbus-1 +} Deleted: gconf-install.hook =================================================================== --- gconf-install.hook 2019-12-12 13:23:30 UTC (rev 370923) +++ gconf-install.hook 2019-12-12 13:23:31 UTC (rev 370924) @@ -1,11 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Target = usr/share/gconf/schemas/*.schemas - -[Action] -Description = Installing GConf schemas... -When = PostTransaction -Exec = /bin/bash -c 'while read -r f; do f=$(basename "$f" .schemas); /usr/bin/gconfpkg --install $f; done' -NeedsTargets Copied: gconf/repos/extra-x86_64/gconf-install.hook (from rev 370922, gconf/trunk/gconf-install.hook) =================================================================== --- gconf-install.hook (rev 0) +++ gconf-install.hook 2019-12-12 13:23:31 UTC (rev 370924) @@ -0,0 +1,11 @@ +[Trigger] +Type = File +Operation = Install +Operation = Upgrade +Target = usr/share/gconf/schemas/*.schemas + +[Action] +Description = Installing GConf schemas... +When = PostTransaction +Exec = /bin/bash -c 'while read -r f; do f=$(basename "$f" .schemas); /usr/bin/gconfpkg --install $f; done' +NeedsTargets Deleted: gconf-merge-schema =================================================================== --- gconf-merge-schema 2019-12-12 13:23:30 UTC (rev 370923) +++ gconf-merge-schema 2019-12-12 13:23:31 UTC (rev 370924) @@ -1,34 +0,0 @@ -#!/bin/bash -if [ ! "$1" -a ! "$2" ]; then - echo "Usage: $0 output.schemas [--domain gettextdomain] file1.schemas [file2.schemas [...]]" - exit 1 -fi - -OUTFILE="$1" -DOMAIN="" -shift - -if [ "$1" = "--domain" ]; then - shift - DOMAIN=$1 - shift -fi - -echo '<?xml version="1.0"?>' > "$OUTFILE" -echo '<gconfschemafile><schemalist>' >> "$OUTFILE" - -while [ "$1" ]; do - if [ -f "$1" ]; then - sed -e '/<?xml/d' \ - -e 's|<gconfschemafile>||g' \ - -e 's|</gconfschemafile>||g' \ - -e 's|<schemalist>||g' \ - -e 's|</schemalist>||g' "$1" >> "$OUTFILE" - fi - shift -done - -echo '</schemalist></gconfschemafile>' >> "$OUTFILE" -if [ "$DOMAIN" != "" ]; then - sed -ri "s/^([[:space:]]*)(<locale name=\"C\">)/\1<gettext_domain>$DOMAIN<\/gettext_domain>\n\1\2/; /^[[:space:]]*<locale name=\"[^C]/,/^[[:space:]]*<\/locale>[[:space:]]*\$/ d; /^$/d; s/<\/schema>$/&\n/" "$OUTFILE" -fi Copied: gconf/repos/extra-x86_64/gconf-merge-schema (from rev 370922, gconf/trunk/gconf-merge-schema) =================================================================== --- gconf-merge-schema (rev 0) +++ gconf-merge-schema 2019-12-12 13:23:31 UTC (rev 370924) @@ -0,0 +1,34 @@ +#!/bin/bash +if [ ! "$1" -a ! "$2" ]; then + echo "Usage: $0 output.schemas [--domain gettextdomain] file1.schemas [file2.schemas [...]]" + exit 1 +fi + +OUTFILE="$1" +DOMAIN="" +shift + +if [ "$1" = "--domain" ]; then + shift + DOMAIN=$1 + shift +fi + +echo '<?xml version="1.0"?>' > "$OUTFILE" +echo '<gconfschemafile><schemalist>' >> "$OUTFILE" + +while [ "$1" ]; do + if [ -f "$1" ]; then + sed -e '/<?xml/d' \ + -e 's|<gconfschemafile>||g' \ + -e 's|</gconfschemafile>||g' \ + -e 's|<schemalist>||g' \ + -e 's|</schemalist>||g' "$1" >> "$OUTFILE" + fi + shift +done + +echo '</schemalist></gconfschemafile>' >> "$OUTFILE" +if [ "$DOMAIN" != "" ]; then + sed -ri "s/^([[:space:]]*)(<locale name=\"C\">)/\1<gettext_domain>$DOMAIN<\/gettext_domain>\n\1\2/; /^[[:space:]]*<locale name=\"[^C]/,/^[[:space:]]*<\/locale>[[:space:]]*\$/ d; /^$/d; s/<\/schema>$/&\n/" "$OUTFILE" +fi Deleted: gconf-reload.patch =================================================================== --- gconf-reload.patch 2019-12-12 13:23:30 UTC (rev 370923) +++ gconf-reload.patch 2019-12-12 13:23:31 UTC (rev 370924) @@ -1,20 +0,0 @@ ---- GConf-2.16.0/gconf/gconftool.c.orig 2006-10-14 17:37:14.000000000 +0000 -+++ GConf-2.16.0/gconf/gconftool.c 2006-10-14 17:39:27.000000000 +0000 -@@ -963,6 +963,8 @@ main (int argc, char** argv) - - gconf_engine_unref (conf); - -+ g_spawn_command_line_sync ("/usr/bin/killall -q -TERM " GCONF_SERVERDIR "/" GCONFD, NULL, NULL, NULL, NULL); -+ - return retval; - } - -@@ -975,6 +977,8 @@ main (int argc, char** argv) - - gconf_engine_unref (conf); - -+ g_spawn_command_line_sync ("/usr/bin/killall -q -TERM " GCONF_SERVERDIR "/" GCONFD, NULL, NULL, NULL, NULL); -+ - return retval; - } - Copied: gconf/repos/extra-x86_64/gconf-reload.patch (from rev 370922, gconf/trunk/gconf-reload.patch) =================================================================== --- gconf-reload.patch (rev 0) +++ gconf-reload.patch 2019-12-12 13:23:31 UTC (rev 370924) @@ -0,0 +1,20 @@ +--- GConf-2.16.0/gconf/gconftool.c.orig 2006-10-14 17:37:14.000000000 +0000 ++++ GConf-2.16.0/gconf/gconftool.c 2006-10-14 17:39:27.000000000 +0000 +@@ -963,6 +963,8 @@ main (int argc, char** argv) + + gconf_engine_unref (conf); + ++ g_spawn_command_line_sync ("/usr/bin/killall -q -TERM " GCONF_SERVERDIR "/" GCONFD, NULL, NULL, NULL, NULL); ++ + return retval; + } + +@@ -975,6 +977,8 @@ main (int argc, char** argv) + + gconf_engine_unref (conf); + ++ g_spawn_command_line_sync ("/usr/bin/killall -q -TERM " GCONF_SERVERDIR "/" GCONFD, NULL, NULL, NULL, NULL); ++ + return retval; + } + Deleted: gconf-remove.hook =================================================================== --- gconf-remove.hook 2019-12-12 13:23:30 UTC (rev 370923) +++ gconf-remove.hook 2019-12-12 13:23:31 UTC (rev 370924) @@ -1,10 +0,0 @@ -[Trigger] -Type = File -Operation = Remove -Target = usr/share/gconf/schemas/*.schemas - -[Action] -Description = Uninstalling GConf schemas... -When = PreTransaction -Exec = /bin/bash -c 'while read -r f; do f=$(basename "$f" .schemas); /usr/bin/gconfpkg --uninstall $f; done' -NeedsTargets Copied: gconf/repos/extra-x86_64/gconf-remove.hook (from rev 370922, gconf/trunk/gconf-remove.hook) =================================================================== --- gconf-remove.hook (rev 0) +++ gconf-remove.hook 2019-12-12 13:23:31 UTC (rev 370924) @@ -0,0 +1,10 @@ +[Trigger] +Type = File +Operation = Remove +Target = usr/share/gconf/schemas/*.schemas + +[Action] +Description = Uninstalling GConf schemas... +When = PreTransaction +Exec = /bin/bash -c 'while read -r f; do f=$(basename "$f" .schemas); /usr/bin/gconfpkg --uninstall $f; done' +NeedsTargets Deleted: gconf.install =================================================================== --- gconf.install 2019-12-12 13:23:30 UTC (rev 370923) +++ gconf.install 2019-12-12 13:23:31 UTC (rev 370924) @@ -1,3 +0,0 @@ -post_upgrade() { - pkill -fx /usr/lib/gconfd-2 || : -} Copied: gconf/repos/extra-x86_64/gconf.install (from rev 370922, gconf/trunk/gconf.install) =================================================================== --- gconf.install (rev 0) +++ gconf.install 2019-12-12 13:23:31 UTC (rev 370924) @@ -0,0 +1,3 @@ +post_upgrade() { + pkill -fx /usr/lib/gconfd-2 || : +} Deleted: gconfpkg =================================================================== --- gconfpkg 2019-12-12 13:23:30 UTC (rev 370923) +++ gconfpkg 2019-12-12 13:23:31 UTC (rev 370924) @@ -1,50 +0,0 @@ -#!/bin/sh - -usage() { -cat << _EOF -Usage: - gconfpkg [OPTION] [PACKAGE] - - Help Options: - -?, --help Show help options - - Application Options: - --install Install schemas for a given package - --uninstall Uninstall schemas for a given package - -_EOF -} - -install() { - GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ - /usr/bin/gconftool-2 --makefile-install-rule /usr/share/gconf/schemas/${pkgname}.schemas >/dev/null -} - -uninstall() { - if [ -f /usr/share/gconf/schemas/${pkgname}.schemas ]; then - schemas=/usr/share/gconf/schemas/${pkgname}.schemas - elif [ -f /opt/gnome/share/gconf/schemas/${pkgname}.schemas ]; then - schemas=/opt/gnome/share/gconf/schemas/${pkgname}.schemas - else - schemas=`pacman -Ql ${pkgname} | grep 'gconf/schemas/.*schemas$' | awk '{ print $2 }'` - fi - GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ - /usr/bin/gconftool-2 --makefile-uninstall-rule ${schemas} >/dev/null -} - -if [ -z "$2" ]; then - usage -else - pkgname="$2" - case "$1" in - --install) - install - ;; - --uninstall) - uninstall - ;; - *) - usage - ;; - esac -fi Copied: gconf/repos/extra-x86_64/gconfpkg (from rev 370922, gconf/trunk/gconfpkg) =================================================================== --- gconfpkg (rev 0) +++ gconfpkg 2019-12-12 13:23:31 UTC (rev 370924) @@ -0,0 +1,50 @@ +#!/bin/sh + +usage() { +cat << _EOF +Usage: + gconfpkg [OPTION] [PACKAGE] + + Help Options: + -?, --help Show help options + + Application Options: + --install Install schemas for a given package + --uninstall Uninstall schemas for a given package + +_EOF +} + +install() { + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-install-rule /usr/share/gconf/schemas/${pkgname}.schemas >/dev/null +} + +uninstall() { + if [ -f /usr/share/gconf/schemas/${pkgname}.schemas ]; then + schemas=/usr/share/gconf/schemas/${pkgname}.schemas + elif [ -f /opt/gnome/share/gconf/schemas/${pkgname}.schemas ]; then + schemas=/opt/gnome/share/gconf/schemas/${pkgname}.schemas + else + schemas=`pacman -Ql ${pkgname} | grep 'gconf/schemas/.*schemas$' | awk '{ print $2 }'` + fi + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-uninstall-rule ${schemas} >/dev/null +} + +if [ -z "$2" ]; then + usage +else + pkgname="$2" + case "$1" in + --install) + install + ;; + --uninstall) + uninstall + ;; + *) + usage + ;; + esac +fi