summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome
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:00 +0100
commit6c97a3291988cec0ac018338cd96aa2e734ca5c4 (patch)
tree0e28227264c1a8df9a4d74202300254ec2815b53 /meta/recipes-gnome
parent85bb47b0703c26dd816a78a927f595359abb8c6e (diff)
downloadopenembedded-core-contrib-6c97a3291988cec0ac018338cd96aa2e734ca5c4.tar.gz
gdk-pixbuf: Make loader.cache reproducible
Make the loader order in the file reliable to enable more reproducible builds. [YOCTO #11610] Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/recipes-gnome')
-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 @@
+From 1049fbd887e52f94afeb03fc7942c01c143ebdfc Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Fri, 9 Jun 2017 12:01:25 +0300
+Subject: [PATCH] queryloaders: Make output more reproducible
+
+Reproducible builds are good: Sort the output by module name so that
+same input always leads to same output.
+
+This should also make gdk-pixbuf-print-mime-types output and
+gdk-pixbuf-thumbnailer.thumbnailer reproducible.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=783592
+
+Upstream-Status: Submitted
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ gdk-pixbuf/queryloaders.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
+index 395674a..4ac9b28 100644
+--- a/gdk-pixbuf/queryloaders.c
++++ b/gdk-pixbuf/queryloaders.c
+@@ -346,6 +346,7 @@ int main (int argc, char **argv)
+ #ifdef USE_GMODULE
+ const char *path;
+ GDir *dir;
++ GList *l, *modules = NULL;
+
+ path = g_getenv ("GDK_PIXBUF_MODULEDIR");
+ #ifdef G_OS_WIN32
+@@ -365,12 +366,19 @@ int main (int argc, char **argv)
+ gint len = strlen (dent);
+ if (len > SOEXT_LEN &&
+ strcmp (dent + len - SOEXT_LEN, SOEXT) == 0) {
++ modules = g_list_prepend (modules,
++ g_strdup (dent));
+- if (!query_module (contents, path, dent))
+- success = FALSE;
+ }
+ }
+ g_dir_close (dir);
+ }
++
++ modules = g_list_sort (modules, (GCompareFunc)strcmp);
++ for (l = modules; l != NULL; l = l->next)
++ if (!query_module (contents, path, l->data))
++ success = FALSE;
++
++ g_list_free_full (modules, g_free);
+ #else
+ g_string_append_printf (contents, "# dynamic loading of modules not supported\n");
+ #endif
+--
+2.1.4
+
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 \
file://run-ptest \
file://fatal-loader.patch \
file://0001-Work-around-thumbnailer-cross-compile-failure.patch \
+ file://0001-queryloaders-Make-output-more-reproducible.patch \
"
SRC_URI[md5sum] = "5dd53760750670d27c194ff6ace7eb51"