home  bbs  files  messages ]

      ZZLI4422             linux.debian.devel             1194 messages      

[ previous | next | reply ]

[ list messages | list forums ]

  Msg # 241 of 1194 on ZZLI4422, Saturday 10-03-25, 1:15  
  From: SIMON MCVITTIE  
  To: SOREN STOUTNER  
  Subj: Re: Question about reproducibility tests  
 From: smcv@debian.org 
  
 On Thu, 02 Oct 2025 at 07:02:49 -0700, Soren Stoutner wrote: 
 >On Thursday, October 2, 2025 12:08:28€€€AM Mountain Standard Time Holger 
 Levsen 
 >wrote: 
 >> On Wed, Oct 01, 2025 at 04:20:16PM -0700, Soren Stoutner wrote: 
 >> > I maintain pyinstaller-hooks-contrib, which includes a test (run during 
 >> > build 
 >> > and in autopkgtests) that parses the system timezone.  This test 
 currently 
 >> > fails Salsa CI reprotest and other reproducibility tests because they 
 >modify 
 >> > the timezone in the build environment using syntax like GMT+12 instead 
 of 
 >> > the 
 >> > Continent/City syntax. 
  
 This seems like a missing feature in the code under test or one of its 
 dependencies, to be honest, and I think it should be reported as a 
 (non-RC) bug. GMT+12 is a valid (if unusual) time zone, and most 
 geographic time zones have a clock change twice a year, which sometimes 
 makes it desirable to use a non-geographic time zone like Etc/UTC. 
  
 >> a.) set the timezone in the test (not 100% you can do this) 
  
 This should certainly be possible, TZ is just an environment variable 
 like any other. 
  
 >This is why I asked the question about whether 
 >using the GMT+12 syntax catches some actual problem that using 
 Continent/City 
 >does not. 
  
 I believe reproducible-builds intentionally uses the most extreme 
 possible time zones (GMT+12 and GMT-12) to maximize the chance that 
 build 1 and build 2 would get different results for something like: 
  
      echo "#define BUILDDATE \\"$(date '+%Y-m-d')\\"" > builddate.h 
  
 which is a source of non-reproducibility, even if the `date` command was 
 modified to use $SOURCE_DATE_EPOCH if set, because it's printing the 
 date in the local time zone. For example compare: 
  
      TZ=GMT+12 date -d '2025-10-02T15:26:00Z' '+%Y-%m-%d' 
      TZ=GMT-12 date -d '2025-10-02T15:26:00Z' '+%Y-%m-%d' 
  
 >(this is the currently recommended way to set timezones in Linux) 
  
 "Currently recommended" prompts the obvious question: recommended by who? 
  
      smcv 
  
 --- SoupGate-Win32 v1.05 
  * Origin: you cannot sedate... all the things you hate (1:229/2) 

[ list messages | list forums | previous | next | reply ]

search for:

328,136 visits
(c) 1994,  bbs@darkrealms.ca