Bug#867848: gconf: please make the output of /var/lib/gconf/defaults/%gconf-tree-*.xml files reproducible
Chris Lamb
lamby at debian.org
Sun Jul 9 20:59:23 UTC 2017
Source: gconf
Version: 3.2.6-4
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: timestamps toolchain
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org
Hi,
Whilst working on the Reproducible Builds effort [0], we noticed
that gconf can generate /var/lib/gconf/defaults/%gconf-tree-*.xml files
with non-reproducible contents:
├── /var/lib/gconf/defaults/%gconf-tree-af.xml
│ │ @@ -1,11 +1,17 @@
│ │ <?xml version="1.0"?>
│ │ <gconf>
│ │ <dir name="schemas">
│ │ <dir name="system">
│ │ + <dir name="smb">
│ │ + <entry name="workgroup">
│ │ + <local_schema short_desc="SMB-werkgroep">
│ │ + </local_schema>
│ │ + </entry>
│ │ + </dir>
│ │ <dir name="proxy">
│ │ <entry name="autoconfig_url">
│ │ <local_schema short_desc="Outomatiese instaanopstelling-URL">
│ │ <longdesc>URL wat instaanopstellingswaardes verskaf.</longdesc>
│ │ </local_schema>
│ │ </entry>
│ │ <entry name="socks_port">
│ │ @@ -76,20 +82,14 @@
│ │ </entry>
│ │ <entry name="use_http_proxy">
│ │ <local_schema short_desc="Gebruik HTTP-instaanbediener">
│ │ <longdesc>Aktiveer die instaanopstelling wanneer toegang tot HTTP oor die internet verkry word.</longdesc>
│ │ </local_schema>
│ │ </entry>
│ │ </dir>
│ │ - <dir name="smb">
│ │ - <entry name="workgroup">
│ │ - <local_schema short_desc="SMB-werkgroep">
│ │ - </local_schema>
│ │ - </entry>
│ │ - </dir>
│ │ </dir>
│ │ <dir name="desktop">
│ │ <dir name="gnome">
│ │ <dir name="url-handlers">
Patch attached.
[0] https://reproducible-builds.org/
Regards,
--
,''`.
: :' : Chris Lamb, Debian Project Leader
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
-------------- next part --------------
diff --git a/backends/markup-tree.c b/backends/markup-tree.c
index 4857cae..fc508dd 100644
--- a/backends/markup-tree.c
+++ b/backends/markup-tree.c
@@ -255,6 +255,13 @@ struct _MarkupDir
guint is_dir_empty : 1;
};
+static gint
+compare_markupdirs (MarkupDir *a,
+ MarkupDir *b)
+{
+ return strcmp(a->name, b->name);
+}
+
static MarkupDir*
markup_dir_new (MarkupTree *tree,
MarkupDir *parent,
@@ -271,7 +278,9 @@ markup_dir_new (MarkupTree *tree,
if (parent)
{
dir->subtree_root = parent->subtree_root;
- parent->subdirs = g_slist_prepend (parent->subdirs, dir);
+ parent->subdirs = g_slist_insert_sorted (parent->subdirs,
+ dir,
+ (GCompareFunc)compare_markupdirs);
}
else
{
More information about the pkg-gnome-maintainers
mailing list