summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2017-06-22 12:52:06 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-28 15:52:19 +0100
commit01266607aa4d3d4905d2c07b4bdf46ea9f5372f0 (patch)
treebabca9eb262ea371ad1b4529935ee732c6fb54aa
parent26d1f906258e1d5a933830ee0e4f051d29ee7585 (diff)
downloadpoky-01266607aa4d3d4905d2c07b4bdf46ea9f5372f0.tar.gz
gdk-pixbuf: Make loader.cache reproducible
Make the loader order in the file reliable to enable more reproducible builds. [YOCTO #11610] (From OE-Core rev: 6c97a3291988cec0ac018338cd96aa2e734ca5c4) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-queryloaders-Make-output-more-reproducible.patch56
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.6.bb1
2 files changed, 57 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-queryloaders-Make-output-more-reproducible.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-queryloaders-Make-output-more-reproducible.patch
new file mode 100644
index 0000000000..aa21419faf
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-queryloaders-Make-output-more-reproducible.patch
@@ -0,0 +1,56 @@
1From 1049fbd887e52f94afeb03fc7942c01c143ebdfc Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Fri, 9 Jun 2017 12:01:25 +0300
4Subject: [PATCH] queryloaders: Make output more reproducible
5
6Reproducible builds are good: Sort the output by module name so that
7same input always leads to same output.
8
9This should also make gdk-pixbuf-print-mime-types output and
10gdk-pixbuf-thumbnailer.thumbnailer reproducible.
11
12https://bugzilla.gnome.org/show_bug.cgi?id=783592
13
14Upstream-Status: Submitted
15Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
16---
17 gdk-pixbuf/queryloaders.c | 12 ++++++++++--
18 1 file changed, 10 insertions(+), 2 deletions(-)
19
20diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
21index 395674a..4ac9b28 100644
22--- a/gdk-pixbuf/queryloaders.c
23+++ b/gdk-pixbuf/queryloaders.c
24@@ -346,6 +346,7 @@ int main (int argc, char **argv)
25 #ifdef USE_GMODULE
26 const char *path;
27 GDir *dir;
28+ GList *l, *modules = NULL;
29
30 path = g_getenv ("GDK_PIXBUF_MODULEDIR");
31 #ifdef G_OS_WIN32
32@@ -365,12 +366,19 @@ int main (int argc, char **argv)
33 gint len = strlen (dent);
34 if (len > SOEXT_LEN &&
35 strcmp (dent + len - SOEXT_LEN, SOEXT) == 0) {
36+ modules = g_list_prepend (modules,
37+ g_strdup (dent));
38- if (!query_module (contents, path, dent))
39- success = FALSE;
40 }
41 }
42 g_dir_close (dir);
43 }
44+
45+ modules = g_list_sort (modules, (GCompareFunc)strcmp);
46+ for (l = modules; l != NULL; l = l->next)
47+ if (!query_module (contents, path, l->data))
48+ success = FALSE;
49+
50+ g_list_free_full (modules, g_free);
51 #else
52 g_string_append_printf (contents, "# dynamic loading of modules not supported\n");
53 #endif
54--
552.1.4
56
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.6.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.6.bb
index 8ea2ea6598..fe3e63620d 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.6.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.6.bb
@@ -18,6 +18,7 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
18 file://run-ptest \ 18 file://run-ptest \
19 file://fatal-loader.patch \ 19 file://fatal-loader.patch \
20 file://0001-Work-around-thumbnailer-cross-compile-failure.patch \ 20 file://0001-Work-around-thumbnailer-cross-compile-failure.patch \
21 file://0001-queryloaders-Make-output-more-reproducible.patch \
21 " 22 "
22 23
23SRC_URI[md5sum] = "5dd53760750670d27c194ff6ace7eb51" 24SRC_URI[md5sum] = "5dd53760750670d27c194ff6ace7eb51"