Add faketime support for builds and autopkgtests
This MR adds opt-in faketime support for Salsa CI build and autopkgtest jobs on amd64 and i386, so packages can be exercised at simulated future dates and catch Y2038 or other time-related issues earlier in CI.
For build jobs, faketime is injected through sbuild. For autopkgtest jobs, it is injected through autopkgtest. In both cases, the jobs use libfaketime with LD_PRELOAD, FAKETIME, and optional NO_FAKE_STAT.
These jobs are disabled by default and must be enabled explicitly.
The default simulated date is now split by architecture:
-
SALSA_CI_FAKETIME_DATEdefaults to2038-01-19 03:14:08 -
SALSA_CI_FAKETIME_DATE_I386defaults to2037-03-03 00:00:00
This keeps the main amd64 lane on a post-2038 date, while treating i386 as a more diagnostic lane with a safer pre-cutoff default. The README is updated to document how to enable these jobs, how the two faketime defaults are used, and when amd64 versus i386 is the better choice.
The MR also adds pipeline coverage for the faketime jobs in the test pipeline using openvpn, and fixes the faketime build jobs there so they clone the target package repository before running.
Closes: #411 (closed)