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

Bug#1030586: lintian: Testsuite failure on some systems: 1h time offset in test ancient-source



Axel Beckert <abe@debian.org> writes:

> While running Lintian's testsuite on a much faster system compared to
> my Sid amd64 running development workstation, I noticed the following
> test suite failure when running "private/runtests" or trying to build
> the package on a more modern and more performant box with Bookworm
> amd64. (Use "private/runtests -o test:ancient-source" to just run the
> affected test.)

> # Hints do not match
> # 
> # --- debian/test-out/eval/checks/unpack/ancient-source/hints.specified.calibrated
> # +++ debian/test-out/eval/checks/unpack/ancient-source/hints.actual.parsed
> # -ancient-source (source): unpack-message-for-source tar: ancient-source-1.0/README: implausibly old time stamp 1969-12-31 23:59:59
> # +ancient-source (source): unpack-message-for-source tar: ancient-source-1.0/README: implausibly old time stamp 1970-01-01 00:59:59

The exactly one hour difference makes me suspicious something is going on
with time zone conversions.  That's also consistent with the one hour time
difference between UTC and Europe/Zurich at New Years.

Looking at the source of tar, the output timestamp for this error seems to
be in local time by default, which would certainly explain the problem but
not why we're not seeing it everywhere.  I would be curious if it went
away if you added --utc to the flags to tar in
Lintian::IO::Select::unpack_and_index_piped_tar or (bigger hammer) just
set TZ=UTC when running Lintian.

Lintian should probably force all output it controls to UTC for
reproducibility, including tar's, but I'm still mystified as to why it
works on the other system.  This part of tar doesn't seem to have changed,
and as you mentioned replacing tar didn't change anything.

-- 
Russ Allbery (rra@debian.org)              <https://www.eyrie.org/~eagle/>


Reply to: