summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@huawei.com>2023-10-24 17:13:19 +0200
committerOliver Reiche <oliver.reiche@huawei.com>2023-10-24 17:13:19 +0200
commitb0f393ee319f62b8b7488deffd6625582f69f59d (patch)
tree67de670b024fff4ec54cf725fde7a11565f87f93 /README.md
downloadjustbuild-static-binaries-b0f393ee319f62b8b7488deffd6625582f69f59d.tar.gz
Initial commit
Diffstat (limited to 'README.md')
-rw-r--r--README.md50
1 files changed, 50 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..bbc3413
--- /dev/null
+++ b/README.md
@@ -0,0 +1,50 @@
+# Justbuild Static Binaries
+
+Reproducible Justbuild binaries can be obtained by building and *statically*
+linking with the [musl libc](https://musl.libc.org/). To achieve reproducibility
+that is independent of the `x86_64` Linux build host, the
+[compiler toolchain](https://github.com/just-buildsystem/bootstrappable-toolchain)
+is acquired via [**Bootstrappable Builds**](https://bootstrappable.org/).
+
+## Predictable Binaries
+
+Independent of the `x86_64` Linux build host, we can predict that for
+
+- **Justbuild Version:** v1.2.2
+- **Toolchain:** gcc-13.2.0-musl+tools
+
+binaries with the following hashes will be produced:
+
+- [Git blob IDs for `x86_64`](hashes/x86_64.GITBLOBIDS)
+- [Git blob IDs for `arm64`](hashes/arm64.GITBLOBIDS)
+- [SHA256 checksums for `x86_64`](hashes/x86_64.SHA256SUMS)
+- [SHA245 checksums for `arm64`](hashes/arm64.SHA256SUMS)
+
+## How to Build and Verify
+
+First, install [Justbuild](https://github.com/just-buildsystem/justbuild) and
+make sure to fulfill the
+[toolchain requirements](https://github.com/just-buildsystem/bootstrappable-toolchain/README.md#initial-requirements).
+
+For building, clone this repository and run:
+
+``` sh
+$ just-mr build
+```
+
+For verifying Git blob IDs, run:
+
+``` sh
+$ just-mr build --dump-artifacts - | diff hashes/x86_64.GITBLOBIDS -
+```
+
+For verifying SHA256 checksums (requires `install`), run:
+
+``` sh
+$ just-mr install -o .
+$ sha256sum -c hashes/x86_64.SHA256SUMS
+```
+
+*Note that to obtain cross-compiled binaries for `arm64`, you need to specify
+`-D'{"TARGET_ARCH":"arm64"}'` for building and use `arm64.GITBLOBIDS` or
+`arm64.SHA256SUMS` for verification.*