Download the per-architecture Rust tarball into sources/rust/ and have the
rocky9 and debian13 Dockerfiles bind that directory and pick the archive
with uname -m. This drops the architecture-neutral hard link and keeps the
Rust layer's cache key independent of other source archives.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Make the libevent install patch take CMAKE_INSTALL_LIBDIR instead of
hardcoding lib/x86_64-linux-gnu, and rename it to
libevent-libdir-install.patch.
- Replace every hardcoded x86_64-linux-gnu in the debian13 Dockerfile with
$(gcc -dumpmachine).
- Download the Rust tarball for `uname -m` and expose it to the Dockerfiles
as the architecture-neutral rust-1.99.1.tar.xz (a hard link refreshed on
every run), because podman cannot expand ARG in a --mount source.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Build the ui extension (pinned duckdb-ui commit for DuckDB 1.5.6) into
DuckDB on debian13 and rocky9 so the shell supports -ui.
- Add fetch-sources.sh, which downloads source archives with aria2c into the
git-ignored sources/ repository.
- debian13: replace per-dependency downloads with
RUN --mount=type=bind,from=sources, passed by build.sh through
--build-context, so archives are not stored in image layers.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>