Hello community,

here is the log from the commit of package fossil for openSUSE:Factory checked 
in at 2020-06-15 20:33:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fossil (Old)
 and      /work/SRC/openSUSE:Factory/.fossil.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fossil"

Mon Jun 15 20:33:31 2020 rev:25 rq:814710 version:2.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/fossil/fossil.changes    2020-05-28 
09:16:15.644813857 +0200
+++ /work/SRC/openSUSE:Factory/.fossil.new.3606/fossil.changes  2020-06-15 
20:33:49.483080814 +0200
@@ -1,0 +2,5 @@
+Thu Jun 11 19:27:25 UTC 2020 - Bernhard Wiedemann <bwiedem...@suse.com>
+
+- Add fossil-2.11-reproducible.patch to override build date (boo#1047218)
+
+-------------------------------------------------------------------

New:
----
  fossil-2.11-reproducible.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fossil.spec ++++++
--- /var/tmp/diff_new_pack.tQOEqN/_old  2020-06-15 20:33:52.359091137 +0200
+++ /var/tmp/diff_new_pack.tQOEqN/_new  2020-06-15 20:33:52.359091137 +0200
@@ -30,6 +30,8 @@
 URL:            https://www.fossil-scm.org/
 Source:         
https://www.fossil-scm.org/index.html/uv/%{name}-src-%{version}.tar.gz
 Patch1:         fossil-2.7-remove_date_time.patch
+# PATCH-FIX-UPSTREAM https://fossil-scm.org/fossil/info/1a894c08206f4c71bcc3
+Patch2:         fossil-2.11-reproducible.patch
 BuildRequires:  fuse-devel
 BuildRequires:  gcc
 BuildRequires:  openssl-devel
@@ -53,9 +55,10 @@
 # test package version and source version match
 grep -qFx %{version} VERSION
 %patch1 -p1
+%patch2 -p1
 
 %build
-export CFLAGS="%{optflags}"
+export CFLAGS="%{optflags} -DFOSSIL_BUILD_EPOCH=${SOURCE_DATE_EPOCH:-42}"
 # FIXME: you should use the %%configure macro
 ./configure \
         --prefix=%{_prefix} \

++++++ fossil-2.11-reproducible.patch ++++++
Date: 2020-06-11
https://fossil-scm.org/fossil/info/99038b83b489dddb

Index: src/mkversion.c
==================================================================
--- a/src/mkversion.c
+++ b/src/mkversion.c
@@ -4,10 +4,38 @@
 ** Call this program with three arguments:
 **
 **     ./a.out manifest.uuid manifest VERSION
 **
 ** Note that the manifest.uuid and manifest files are generated by Fossil.
+**
+** The output becomes the "VERSION.h" file.  The output is a C-language
+** header that contains #defines for various properties of the build:
+**
+**   MANIFEST_UUID              These values are text strings that
+**   MANIFEST_VERSION           identify the Fossil check-in to which
+**                              the source tree belongs.  They do not
+**                              take into account any uncommitted edits.
+**
+**   FOSSIL_BUILD_HASH          A hexadecimal string that is a strong hash
+**                              of the MANIFEST_UUID together with the
+**                              current time of the build.  We normally want
+**                              this to be different on each build, as the
+**                              value is used to expire ETag: fields in
+**                              HTTP requests.  But if you need to do
+**                              repeatable byte-for-byte identical builds,
+**                              add the -DFOSSIL_BUILD_EPOCH=n option.
+**
+**   MANIFEST_DATE              The date/time of the source-code check-in
+**   MANIFEST_YEAR              in various formats.
+**   MANIFEST_NUMERIC_DATE
+**   MANIFEST_NUMERIC_TIME
+**
+**   RELEASE_VERSION            The version number (from the VERSION source
+**   RELEASE_VERSION_NUMBER     file) in various format.
+**   RELEASE_RESOURCE_VERSION
+**
+** New #defines may be added in the future.
 */
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <ctype.h>
@@ -79,11 +107,16 @@
     *z = 0;
     printf("#define MANIFEST_UUID \"%s\"\n",b);
     printf("#define MANIFEST_VERSION \"[%10.10s]\"\n",b);
     n = strlen(b);
     if( n + 50 < sizeof(b) ){
+#ifdef FOSSIL_BUILD_EPOCH
+#define str(s) #s
+      sprintf(b+n, "%d", (int)strtoll(str(FOSSIL_BUILD_EPOCH), 0, 10));
+#else
       sprintf(b+n, "%d", (int)time(0));
+#endif
       hash(b,33,vx);
       printf("#define FOSSIL_BUILD_HASH \"%s\"\n", vx);
     }
     m = open_for_reading(argv[2]);
     while(b ==  fgets(b, sizeof(b)-1,m)){


Reply via email to