On 24.06.2016 19:21, Emil Velikov wrote: > On 24 June 2016 at 03:32, Michel Dänzer <mic...@daenzer.net> wrote: >> On 23.06.2016 22:25, Emil Velikov wrote: >>> On 23 June 2016 at 03:49, Michel Dänzer <mic...@daenzer.net> wrote: >>>> On 22.06.2016 21:04, Emil Velikov wrote: >>>>> From: Emil Velikov <emil.veli...@collabora.com> >>>>> >>>>> Do not rely on the git sha1: >>>>> - its current truncated form makes it less unique >>>>> - it does not attribute for local (Vulkand or otherwise) changes >>>>> >>>>> Use a timestamp produced at the time of build. It's perfectly unique, >>>>> unless someone explicitly thinkers with their system clock. Even then >>>>> chances of producing the exact same one are very small, if not zero. >>>>> >>>>> Cc: Jason Ekstrand <ja...@jlekstrand.net> >>>>> Cc: mesa-sta...@lists.freedesktop.org >>>>> Signed-off-by: Emil Velikov <emil.veli...@collabora.com> >>>>> --- >>>>> Current approach uses seconds since Epoch, but if people prefer we >>>>> can use nano seconds, combination of the two and/or other. >>>>> --- >>>>> src/intel/vulkan/.gitignore | 2 ++ >>>>> src/intel/vulkan/Makefile.am | 15 ++++++++++++++- >>>>> src/intel/vulkan/anv_device.c | 4 ++-- >>>>> 3 files changed, 18 insertions(+), 3 deletions(-) >>>>> >>>>> diff --git a/src/intel/vulkan/.gitignore b/src/intel/vulkan/.gitignore >>>>> index a496146..7ef6a48 100644 >>>>> --- a/src/intel/vulkan/.gitignore >>>>> +++ b/src/intel/vulkan/.gitignore >>>>> @@ -2,3 +2,5 @@ >>>>> /anv_entrypoints.c >>>>> /anv_entrypoints.h >>>>> /dev_icd.json >>>>> +/anv_timestamp.h.tmp >>>>> +/anv_timestamp.h >>>>> diff --git a/src/intel/vulkan/Makefile.am b/src/intel/vulkan/Makefile.am >>>>> index 4d9ff90..8332ae5 100644 >>>>> --- a/src/intel/vulkan/Makefile.am >>>>> +++ b/src/intel/vulkan/Makefile.am >>>>> @@ -131,7 +131,20 @@ anv_entrypoints.c : anv_entrypoints_gen.py >>>>> $(vulkan_include_HEADERS) >>>>> $(AM_V_GEN) cat $(vulkan_include_HEADERS) |\ >>>>> $(PYTHON2) $(srcdir)/anv_entrypoints_gen.py code > $@ >>>>> >>>>> -BUILT_SOURCES = $(VULKAN_GENERATED_FILES) >>>>> + >>>>> +.PHONY: anv_timestamp.h.tmp >>>>> +anv_timestamp.h.tmp: >>>>> + $(AM_V_GEN) echo "#define ANV_TIMESTAMP `date +%s`" > $@ >>>> >>>> This conflicts with efforts to make builds reproducible, see e.g. >>>> https://wiki.debian.org/ReproducibleBuilds . One technique used by such >>>> efforts is to replace any timestamps with all 0s. >>>> >>> Thanks to letting me know before things got swapped with 0s. Is there >>> a way to contact/check how other projects have handled/resolved this ? >> >> The wiki page above has a link to >> https://wiki.debian.org/ReproducibleBuilds/Contribute which lists >> several ways to get in touch with people working on this. >> > Sweet, thanks. > >> >>>> Would it be possible to generate a hash over all source files listed in >>>> any Makefile.sources, or something like that? >>>> >>> If you want to pursue that task please do. >> >> I'm not going to work on this, I merely suggested a possible alternative. >> > JFYI Pekka did mention the exact same alternative, and the above > mentioned 'limitations' came to play. Would be great if we didn't have > to care for either one, but I suspect that there's at least dozen of > people who do. > > I'll check with the people leading the initiative for other ways, > meanwhile do you feel strongly against the patch ?
Yes, I agree with Dave that this approach is a dead end due to the above conflict. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev