Relocatable git builds for containerbase/base.
- Built from the kernel.org tarballs on Ubuntu
nobleforx86_64andaarch64, and used onnobleandresolute. - Relocatable (
RUNTIME_PREFIX), system config in/etc/gitconfig, no Perl, Python, Tcl/Tk, translations or docs, stripped binaries; see build options. - Upstream fixes from
patches/are applied when the git version doesn't contain them yet; see patches. - Every git release since
2.48.0is built, the oldest minor git still backports security fixes to; containerbase falls back to the newest prebuild for older versions. - Releases are tagged with the git version and contain
git-<version>-noble-<arch>.tar.xzplus a.sha512checksum. Thejammyfiles of older releases are kept but no longer built.
Runtime packages:
| Distro | Packages |
|---|---|
noble, resolute |
ca-certificates libcurl3t64-gnutls libexpat1 libpcre2-8-0 zlib1g |
Before each upload, binary-builder runs bin/test.sh, which tests the archive in a plain container of each distro, including a clone with credentials in the url against a local basic auth server.
Install the linters with mise install, then run jactionlint, zizmor .github/ and shellcheck; the pre-commit hook runs them on the staged files too.
# build and pack a version into .cache/
docker build -t builder --build-arg DISTRO=noble .
docker run --rm -v ${PWD}/.cache:/cache builder 2.56.0
# test the archive on all distros
bin/test.sh .cache/git-2.56.0-noble-x86_64.tar.xz 2.56.0Optional: APT_PROXY (build arg) for an apt proxy, DEBUG=true (run env) for verbose make output, DOCKER_RUN_ARGS for extra docker run arguments in bin/test.sh (e.g. --network=host).