Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Please login to access the resource
openSUSE:Leap:15.0:Ports
efl
reproducible-edje.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File reproducible-edje.patch of Package efl
From 8800eb0ba29fe56855e3d521387635fc3aebd515 Mon Sep 17 00:00:00 2001 From: Stefan Schmidt <stefan@osg.samsung.com> Date: Tue, 16 May 2017 17:58:36 +0200 Subject: edje: make the generated default program name reproducible over builds For programs without specific names edje_cc generated default names in the form of program_$MEMORY_ADDRESS. That worked well enough for keeping the names unique, but it causes problems if one wants to have these files being binary reproducible due to different memory layouts, compilers, etc. Simply using a counter as unique part should work well enough for our use case and help people who want to verify builds. Ref T5113 --- src/bin/edje/edje_cc_handlers.c | 5 +++-- src/lib/edje/edje_private.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index a3f5ddd..cd6b353 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -14608,14 +14608,15 @@ ob_collections_group_programs_program(void) epp->can_override = EINA_FALSE; /* generate new name */ - def_name = alloca(strlen("program_") + strlen("0xFFFFFFFFFFFFFFFF") + 1); - sprintf(def_name, "program_%p", ep); + def_name = alloca(strlen("program_") + strlen("FFFFFFFFFFFFFFFF") + 1); + sprintf(def_name, "program_%X", pc->programs.total_count); ep->name = strdup(def_name); if (pcp->default_source) ep->source = strdup(pcp->default_source); _edje_program_insert(pc, ep); current_program = ep; + pc->programs.total_count++; } static void diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h index 94c994a..9c01861 100644 --- a/src/lib/edje/edje_private.h +++ b/src/lib/edje/edje_private.h @@ -1087,6 +1087,7 @@ struct _Edje_Part_Collection unsigned int strncmp_count; unsigned int strrncmp_count; unsigned int nocmp_count; + unsigned int total_count; } programs; struct { /* list of limit that need to be monitored */ -- cgit v0.12
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor