Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package efl for openSUSE:Factory checked in at 2026-08-01 18:28:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/efl (Old) and /work/SRC/openSUSE:Factory/.efl.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "efl" Sat Aug 1 18:28:51 2026 rev:59 rq:1368538 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/efl/efl.changes 2025-11-19 14:53:42.799576477 +0100 +++ /work/SRC/openSUSE:Factory/.efl.new.16738/efl.changes 2026-08-01 18:29:49.712790243 +0200 @@ -1,0 +2,6 @@ +Mon Jun 29 09:50:47 UTC 2026 - Bernhard Wiedemann <[email protected]> + +- Add reproducible.patch for deterministic .edj file creation + (boo#1052415) + +------------------------------------------------------------------- New: ---- reproducible.patch ----------(New B)---------- New: - Add reproducible.patch for deterministic .edj file creation (boo#1052415) ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ efl.spec ++++++ --- /var/tmp/diff_new_pack.GrDHHE/_old 2026-08-01 18:29:50.856829184 +0200 +++ /var/tmp/diff_new_pack.GrDHHE/_new 2026-08-01 18:29:50.856829184 +0200 @@ -65,6 +65,8 @@ Patch3: efl_scim.patch # PATCH-FIX-UPSTREAM Patch4: efl-1.26.3-header.patch +# PATCH-FIX-UPSTREAM +Patch5: https://git.enlightenment.org/enlightenment/efl/pulls/133.patch#/reproducible.patch BuildRequires: ImageMagick BuildRequires: cmake BuildRequires: gcc-c++ ++++++ reproducible.patch ++++++ >From 3edede0e22b73076cde1f432ae761f63d9d3827a Mon Sep 17 00:00:00 2001 From: "Bernhard M. Wiedemann" <[email protected]> Date: Sun, 19 Jul 2026 06:38:08 +0200 Subject: [PATCH] Make edje_cc script compilation order deterministic Threaded script compilation completes out of order, so compiled embryo scripts are written into the output file in the order the embryo_cc processes happen to finish, making the .edj output non-deterministic. Serializing to 1 in-flight command fixes this at a small build-time cost. Set the EDJE_CC_PENDING_COMMANDS_MAX environment variable to a higher value (the previous hard-coded limit was 8) if you don't care about reproducibility and want to wait a few seconds less. Values below 1 are rejected with a warning, because with a limit of 0 every script would stay in the pending queue forever and never be compiled. See https://reproducible-builds.org/ for why this is good. This patch was done while working on reproducible builds for openSUSE. Fixes #41 --- src/bin/edje/edje_cc_out.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c index 08fbf2d517..f55a47f126 100644 --- a/src/bin/edje/edje_cc_out.c +++ b/src/bin/edje/edje_cc_out.c @@ -2245,7 +2245,9 @@ typedef struct Script_Write *sc; } Pending_Script_Write; -#define PENDING_COMMANDS_MAX 8 +/* 1 by default so compiled scripts get written in deterministic order, + * for reproducible builds; raise via EDJE_CC_PENDING_COMMANDS_MAX */ +static int pending_commands_max = 1; static int pending_write_commands = 0; static Eina_List *pending_script_writes = NULL; @@ -2274,7 +2276,7 @@ data_scripts_exe_del_cb(void *data EINA_UNUSED, int evtype EINA_UNUSED, void *ev if (!ev->exe) return ECORE_CALLBACK_RENEW; if (ecore_exe_data_get(ev->exe) != sc) return ECORE_CALLBACK_RENEW; pending_write_commands--; - if (pending_write_commands < PENDING_COMMANDS_MAX) + if (pending_write_commands < pending_commands_max) { if (pending_script_writes) { @@ -2308,7 +2310,7 @@ data_scripts_exe_del_cb(void *data EINA_UNUSED, int evtype EINA_UNUSED, void *ev static void data_write_script_queue(Script_Write *sc, const char *exeline) { - if (pending_write_commands >= PENDING_COMMANDS_MAX) + if (pending_write_commands >= pending_commands_max) { Pending_Script_Write *pend = malloc(sizeof(Pending_Script_Write)); if (pend) @@ -2347,6 +2349,16 @@ data_write_scripts(Eet_File *ef) char embryo_cc_path[PATH_MAX] = ""; char inc_path[PATH_MAX] = ""; int i; + char *envmax; + + if ((envmax = getenv("EDJE_CC_PENDING_COMMANDS_MAX"))) + { + int newmax = atoi(envmax); + + if (newmax > 0) pending_commands_max = newmax; + else + WRN("Ignoring invalid EDJE_CC_PENDING_COMMANDS_MAX \"%s\"", envmax); + } #ifdef _WIN32 # define BIN_EXT ".exe" -- 2.51.0
