[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#824183: texlive-bin: please set default value of SOURCE_DATE_EPOCH_TEX_PRIMITIVES to 1



Control: tags -1 + patch

With a proposed patch.

Thanks,
Alexis Bienvenüe.
Description: SOURCE_DATE_EPOCH_TEX_PRIMITIVES defaults to 1
 If SOURCE_DATE_EPOCH is set, the tex primitives \year, \month, \day, \time
 will be set from its value if SOURCE_DATE_EPOCH_TEX_PRIMITIVES is not set
 or if SOURCE_DATE_EPOCH_TEX_PRIMITIVES is set to 1.
 This helps to make reproducible builds using only the environment variable
 SOURCE_DATE_EPOCH - setting some more *tool-specific* environment variables
 from dpkg-buildpackage is not possible.
Author: Alexis Bienvenüe <pado@passoire.fr>
Bug-Debian: https://bugs.debian.org/824183

--- texlive-bin-2016.20160512.41045.orig/texk/web2c/lib/texmfmp.c
+++ texlive-bin-2016.20160512.41045/texk/web2c/lib/texmfmp.c
@@ -2248,7 +2248,14 @@ get_date_and_time (integer *minutes,  in
   struct tm *tmptr;
 #ifndef onlyTeX
   string sde_texprim = getenv ("SOURCE_DATE_EPOCH_TEX_PRIMITIVES");
-  if (sde_texprim && STREQ (sde_texprim, "1")) {
+  /* warn if they gave an invalid value, empty (null string) ok.  */
+  if (sde_texprim && strlen (sde_texprim) > 0
+      && !STREQ (sde_texprim, "0") && !STREQ (sde_texprim, "1")) {
+    WARNING1 ("invalid value (expected 0 or 1) for environment variable $SOURCE_DATE_EPOCH_TEX_PRIMITIVES: %s", 
+              sde_texprim);
+  }
+  if (getenv ("SOURCE_DATE_EPOCH") &&
+      !(sde_texprim && STREQ (sde_texprim, "0"))) {
     init_start_time ();
     tmptr = gmtime (&start_time);
   } else
@@ -2258,15 +2265,6 @@ get_date_and_time (integer *minutes,  in
        use current time.  */
     time_t myclock = time ((time_t *) 0);
     tmptr = localtime (&myclock);
-
-#ifndef onlyTeX
-    /* warn if they gave an invalid value, empty (null string) ok.  */
-    if (sde_texprim && strlen (sde_texprim) > 0
-        && !STREQ (sde_texprim, "0")) {
-WARNING1 ("invalid value (expected 0 or 1) for environment variable $SOURCE_DATE_EPOCH_TEX_PRIMITIVES: %s", 
-          sde_texprim);
-    }
-#endif /* not onlyTeX */
   }
 
   *minutes = tmptr->tm_hour * 60 + tmptr->tm_min;
--- texlive-bin-2016.20160512.41045.orig/texk/web2c/man/pdftex.man
+++ texlive-bin-2016.20160512.41045/texk/web2c/man/pdftex.man
@@ -380,7 +380,7 @@ timestamps in the PDF output, such as th
 This is useful for making reproducible builds.
 .TP
 .B SOURCE_DATE_EPOCH_TEX_PRIMITIVES
-If set to the value "1", the time-related \*(TX primitives
+If not set to the value "0", the time-related \*(TX primitives
 .RI ( \eyear ,
 .IR \emonth ,
 .IR \eday ,

Reply to: