The Linux build base is past end-of-life and its apt index EXPIRES 2026-09-07
Measured directly from deb.debian.org on 2026-09-05:
Suite: oldoldstable-security
Codename: bullseye-security
Date: Mon, 31 Aug 2026 21:13:04 UTC
Valid-Until: Mon, 07 Sep 2026 21:13:04 UTC
Debian 11 "bullseye" is oldoldstable, and the Release file it is built against expires in two days. Once Valid-Until lapses, apt rejects the index outright — Release file ... is not valid yet / has expired — and every .deb build fails, on every architecture, for a reason unrelated to whatever else is fixed by then.
This is NOT the same defect as the current red
The deb legs are red right now for a different cause, already root-caused: deb.debian.org's security pool is missing objects that canonical security.debian.org serves.
404 http://deb.debian.org/debian-security/pool/updates/main/p/perl/libperl5.32_5.32.1-4%2bdeb11u5_amd64.deb
200 http://security.debian.org/debian-security/pool/updates/main/p/perl/libperl5.32_5.32.1-4%2bdeb11u5_amd64.deb
Same path, same filename, different host. The index was verified fresh and correct (Last-Modified recent, Age: 67, naming a real current version). That fix is in flight in dig-node PR #564 and will make CI green. It buys days, not a solution — this ticket is the solution.
Why the obvious workaround is the wrong answer
Acquire::Check-Valid-Until "false" will silence the expiry and keep builds green. Do not reach for it as the fix. It disables the freshness signal on a security suite that has stopped being maintained — so the build would silently keep installing packages from an archive nobody is patching, and the next real problem arrives with no warning at all.
It is acceptable only as an explicitly-labelled, dated stopgap while the real decision below is made.
The real decision, which needs a person to make it
The base is bullseye on purpose — it sets the glibc floor for the shipped binaries, and dig-node has a live, tracked platform-floor concern (#1741 / #1736, plus dig-app#238's missing glibc guard). Raising the base raises the floor and drops support for older Linux hosts, which is precisely the audience the old base exists to serve.
So this is not a mechanical bump. State, explicitly, in whatever change lands:
- What glibc floor the new base implies, and which distributions that excludes.
- Whether the floor is still asserted after the change — the composite action has a
Verify the container glibc IS the declared floor step, and that assertion must be updated deliberately rather than allowed to pass vacuously against a new base.
- Whether bookworm (current oldstable, glibc 2.36) is acceptable, or whether the floor genuinely requires staying on an EOL base with a pinned snapshot mirror.
A pinned snapshot.debian.org source is the option that keeps the floor AND stops the rot — it makes the build reproducible and immune to both pool pruning and index expiry, at the cost of never receiving security updates for the build container. That trade may well be right for a build container; it should be chosen, not defaulted into.
Done when
- The deb builds are green after 2026-09-07 without
Check-Valid-Until disabled, or with it disabled behind an explicit dated comment naming this ticket and the chosen long-term path.
- The declared glibc floor and its verification step agree with whatever base is in use.
Related
The Linux build base is past end-of-life and its apt index EXPIRES 2026-09-07
Measured directly from
deb.debian.orgon 2026-09-05:Debian 11 "bullseye" is
oldoldstable, and the Release file it is built against expires in two days. OnceValid-Untillapses, apt rejects the index outright —Release file ... is not valid yet / has expired— and every.debbuild fails, on every architecture, for a reason unrelated to whatever else is fixed by then.This is NOT the same defect as the current red
The deb legs are red right now for a different cause, already root-caused:
deb.debian.org's security pool is missing objects that canonicalsecurity.debian.orgserves.Same path, same filename, different host. The index was verified fresh and correct (
Last-Modifiedrecent,Age: 67, naming a real current version). That fix is in flight indig-nodePR #564 and will make CI green. It buys days, not a solution — this ticket is the solution.Why the obvious workaround is the wrong answer
Acquire::Check-Valid-Until "false"will silence the expiry and keep builds green. Do not reach for it as the fix. It disables the freshness signal on a security suite that has stopped being maintained — so the build would silently keep installing packages from an archive nobody is patching, and the next real problem arrives with no warning at all.It is acceptable only as an explicitly-labelled, dated stopgap while the real decision below is made.
The real decision, which needs a person to make it
The base is bullseye on purpose — it sets the glibc floor for the shipped binaries, and dig-node has a live, tracked platform-floor concern (#1741 / #1736, plus dig-app#238's missing glibc guard). Raising the base raises the floor and drops support for older Linux hosts, which is precisely the audience the old base exists to serve.
So this is not a mechanical bump. State, explicitly, in whatever change lands:
Verify the container glibc IS the declared floorstep, and that assertion must be updated deliberately rather than allowed to pass vacuously against a new base.A pinned
snapshot.debian.orgsource is the option that keeps the floor AND stops the rot — it makes the build reproducible and immune to both pool pruning and index expiry, at the cost of never receiving security updates for the build container. That trade may well be right for a build container; it should be chosen, not defaulted into.Done when
Check-Valid-Untildisabled, or with it disabled behind an explicit dated comment naming this ticket and the chosen long-term path.Related
dig-nodePR ci: harden the .deb job's apt bootstrap against bullseye mirror-skew 404s #564 — the mirror-host fix that makes CI green now (does not address expiry)