From d32b7d13a2821c6512b00a958cade8e98d6f3a27 Mon Sep 17 00:00:00 2001 From: dma Date: Thu, 2 May 2019 15:42:13 -0400 Subject: [PATCH] icon-themes.cache reproducibility patch --- ...pdate-icon-cache-reproducibility-fix.patch | 33 +++++++++++++++++++ .../recipes-desktop/gtk+3/gtk+3_%.bbappend | 3 ++ 2 files changed, 36 insertions(+) create mode 100644 meta-citadel/recipes-desktop/gtk+3/files/gtk-update-icon-cache-reproducibility-fix.patch create mode 100644 meta-citadel/recipes-desktop/gtk+3/gtk+3_%.bbappend diff --git a/meta-citadel/recipes-desktop/gtk+3/files/gtk-update-icon-cache-reproducibility-fix.patch b/meta-citadel/recipes-desktop/gtk+3/files/gtk-update-icon-cache-reproducibility-fix.patch new file mode 100644 index 0000000..c03d687 --- /dev/null +++ b/meta-citadel/recipes-desktop/gtk+3/files/gtk-update-icon-cache-reproducibility-fix.patch @@ -0,0 +1,33 @@ +--- a/gtk/updateiconcache.c 2019-04-29 02:43:13.876445467 -0400 ++++ b/gtk/updateiconcache.c 2019-04-29 02:47:17.913457103 -0400 +@@ -600,6 +600,7 @@ + { + GHashTable *dir_hash; + GDir *dir; ++ GList *list = NULL, *iterator = NULL; + const gchar *name; + gchar *dir_path; + gboolean dir_added = FALSE; +@@ -617,6 +618,14 @@ + + while ((name = g_dir_read_name (dir))) + { ++ list = g_list_prepend (list, g_strdup (name)); ++ } ++ ++ list = g_list_sort (list, (GCompareFunc) strcmp); ++ for (iterator = list; iterator; iterator = iterator->next) ++ { ++ name = iterator->data; ++ + gchar *path; + gboolean retval; + int flags = 0; +@@ -695,6 +704,7 @@ + g_free (path); + } + ++ g_list_free_full (list, g_free); + g_dir_close (dir); + + /* Move dir into the big file hash */ diff --git a/meta-citadel/recipes-desktop/gtk+3/gtk+3_%.bbappend b/meta-citadel/recipes-desktop/gtk+3/gtk+3_%.bbappend new file mode 100644 index 0000000..0cb2707 --- /dev/null +++ b/meta-citadel/recipes-desktop/gtk+3/gtk+3_%.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI += "file://gtk-update-icon-cache-reproducibility-fix.patch"