Description
The official Bisq v1.10.0 Linux DEB does not match builds produced by the reproducible-build
environment included in the v1.10.0 tag.
Two clean builds using docker/release-builder/linux/Dockerfile produced byte-identical DEBs,
confirming deterministic output. However, both differ from the official DEB.
The official package embeds Zulu/OpenJDK 21.0.11, while the tagged Dockerfile pins Zulu/OpenJDK
21.0.6. The packages also show different OS dependency environments and substantial runtime payload
differences.
Version
- Tag: v1.10.0
- Commit: a33ece9
- Artifact: Bisq-64bit-1.10.0.deb
- Architecture: x86_64
Steps to reproduce
- Create two clean checkouts of v1.10.0 and initialize submodules.
- Build the tagged release-builder image:
docker build --pull=false -t bisq-release-builder-linux:java-21.0.6 docker/release-builder/linux
- In each checkout, run the documented verification build:
docker run --rm --platform linux/amd64 --user "$(id -u):$(id -g)" -v "$PWD:/workspace" -w /
workspace bisq-release-builder-linux:java-21.0.6 ./gradlew clean verifyReleaseBuild
verifyInstallerEvidenceBundle
- Compare both rebuilt DEBs with the official release DEB using SHA-256 and dpkg-deb -R.
Expected behaviour
The environment pinned in the v1.10.0 tag should reproduce the published v1.10.0 Linux DEB, or the
release should provide authoritative provenance identifying the environment actually used.
Actual behaviour
Both clean builds produced the same DEB:
- Build A: b0b1d9a7e04890e80ecceba74d95001e9399ab624cc9d9dc765cee97460bbf0e
- Build B: b0b1d9a7e04890e80ecceba74d95001e9399ab624cc9d9dc765cee97460bbf0e
The official DEB differs:
- Official: 19ba825d09b94925ff16fb92b06e5259bfeabc8b3df9afa2f74395a04a591fed
Embedded runtime:
Official DEB Tagged builder
━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━
JDK Zulu/OpenJDK 21.0.11 Zulu/OpenJDK 21.0.6
───────── ────────────────────── ─────────────────────
Runtime Zulu21.50+19-CA Zulu21.40+17-CA
───────── ────────────────────── ─────────────────────
Date 2026-04-21 2025-01-21
Other observed differences include:
- Official dependency: libasound2t64
- Rebuilt dependency: libasound2
- Different Java runtime binaries, security policies, CA store and timezone data
- Nine differing application JARs
The JAR differences have not yet been reduced to class-level differences, so they are not being
attributed to source changes.
Screenshots
Not applicable.
Device or machine
- Host: nc-ph-3376
- Architecture: x86_64
- Docker: linux/amd64
- Release-builder container: Ubuntu 22.04.5
- Gradle: 8.9
Additional info
All v1.10.0–v1.10.2 tags currently pin the same azul/zulu-openjdk:21.0.6 image. Only the official
v1.10.0 DEB has been inspected so far.
Could you clarify:
- Which Docker image, JDK and OS environment produced the official v1.10.0 DEB?
- Is signed build provenance or installer evidence available for the published artifact?
- Should the tagged release-builder pin be updated, or was the official artifact built through a
different release process?
Description
The official Bisq v1.10.0 Linux DEB does not match builds produced by the reproducible-build
environment included in the v1.10.0 tag.
Two clean builds using docker/release-builder/linux/Dockerfile produced byte-identical DEBs,
confirming deterministic output. However, both differ from the official DEB.
The official package embeds Zulu/OpenJDK 21.0.11, while the tagged Dockerfile pins Zulu/OpenJDK
21.0.6. The packages also show different OS dependency environments and substantial runtime payload
differences.
Version
Steps to reproduce
docker build --pull=false -t bisq-release-builder-linux:java-21.0.6 docker/release-builder/linux
docker run --rm --platform linux/amd64 --user "$(id -u):$(id -g)" -v "$PWD:/workspace" -w /
workspace bisq-release-builder-linux:java-21.0.6 ./gradlew clean verifyReleaseBuild
verifyInstallerEvidenceBundle
Expected behaviour
The environment pinned in the v1.10.0 tag should reproduce the published v1.10.0 Linux DEB, or the
release should provide authoritative provenance identifying the environment actually used.
Actual behaviour
Both clean builds produced the same DEB:
The official DEB differs:
Embedded runtime:
━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━
JDK Zulu/OpenJDK 21.0.11 Zulu/OpenJDK 21.0.6
───────── ────────────────────── ─────────────────────
Runtime Zulu21.50+19-CA Zulu21.40+17-CA
───────── ────────────────────── ─────────────────────
Date 2026-04-21 2025-01-21
Other observed differences include:
The JAR differences have not yet been reduced to class-level differences, so they are not being
attributed to source changes.
Screenshots
Not applicable.
Device or machine
Additional info
All v1.10.0–v1.10.2 tags currently pin the same azul/zulu-openjdk:21.0.6 image. Only the official
v1.10.0 DEB has been inspected so far.
Could you clarify:
different release process?