Skip to content

guix: build docker images in the guix process#236

Open
Retropex wants to merge 1 commit intobitcoinknots:29.x-knotsfrom
Retropex:guix-docker
Open

guix: build docker images in the guix process#236
Retropex wants to merge 1 commit intobitcoinknots:29.x-knotsfrom
Retropex:guix-docker

Conversation

@Retropex
Copy link

@Retropex Retropex commented Nov 18, 2025

Source for the original guix package

@Retropex Retropex marked this pull request as ready for review November 28, 2025 14:25
[INSTALL.md](./INSTALL.md)

Additionally the `guix-build` script will build a docker compatible image
which require to install QEMU user static binary.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
which require to install QEMU user static binary.
which requires installing the QEMU user static binary.

(define-public bitcoin-knots
(package
(name "bitcoin-knots")
(version (getenv "VERSION"))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(getenv "VERSION") returns #f if unset, causing (string-append "v" version) on line 28 to fail or produce v#f.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But VERSION is entirely part of the script and is used even by non docker build, i don't see a case where VERSION is missing.

(url "https://git.savannah.gnu.org/git/guix.git")
(branch "master")
(commit
"8eed773a70afa696b3b67ca49ee67257b8a44b03")
Copy link

@kwsantiago kwsantiago Jan 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Different Guix commit than prelude.bash (53396a22afc0). Breaks reproducibility.

docker and non-docker builds use different toolchains.

if [ -n "$dockerpath" ]; then
cp "$dockerpath" "$OUTDIR_BASE/docker/${DISTNAME}-${host}.tar.gz"
chmod 644 "$OUTDIR_BASE/docker/${DISTNAME}-${host}.tar.gz"
sha256sum "$OUTDIR_BASE/docker/${DISTNAME}-${host}.tar.gz" >> "$OUTDIR_BASE/docker/SHA256SUMS.part"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SHA256SUMS.part is appended to but never finalized. Re-runs will duplicate entries.

@kwsantiago
Copy link

kwsantiago commented Jan 26, 2026

Docker hosts fall through to *) required_KiB=6400000 in the space check (lines ~155-160), adding 12.8GB for two docker builds. Docker builds use guix pack, not depends.

Might want to add docker*) required_KiB=1000000 ;; or skipping docker hosts in that loop.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments