Skip to content

guix: build docker images in the guix process#236

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

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

Conversation

@Retropex

@Retropex Retropex commented Nov 18, 2025

Copy link
Copy Markdown

Source for the original guix package

Comment thread contrib/guix/docker/bitcoin-knots.scm Outdated
Comment thread contrib/guix/docker/bitcoin-knots.scm Outdated
Comment thread contrib/guix/docker/channels.scm
Comment thread contrib/guix/docker/bitcoin-knots.scm Outdated
Comment thread contrib/guix/docker/channels.scm Outdated
Comment thread contrib/guix/guix-build Outdated
Comment thread contrib/guix/guix-build Outdated
Comment thread contrib/guix/guix-build
Comment thread contrib/guix/README.md Outdated
@Retropex Retropex marked this pull request as ready for review November 28, 2025 14:25
Comment thread contrib/guix/README.md
[INSTALL.md](./INSTALL.md)

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

Copy link
Copy Markdown

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"))

Copy link
Copy Markdown

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
Copy Markdown
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")

@kwsantiago kwsantiago Jan 26, 2026

Copy link
Copy Markdown

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.

Comment thread contrib/guix/guix-build
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"

Copy link
Copy Markdown

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

kwsantiago commented Jan 26, 2026

Copy link
Copy Markdown

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