OCI-oriented build engine
1.1 kB
21 lines
1builder
2Copyright (c) 2026 Thomas Gazagnaire
3
4This product includes software developed as part of OBuilder
5(https://github.com/ocurrent/obuilder), Copyright (c) the OBuilder
6contributors, licensed under the Apache License, Version 2.0.
7
8The build-spec layer in lib/spec (module Builder_spec: the spec format, the
9cache/secret types, and the Dockerfile conversion) is adapted from OBuilder's
10obuilder-spec library, with serialization rewritten to use nox-dockerfile
11instead of S-expressions. The sandboxing and snapshotting design
12follows OBuilder's pluggable Store/Sandbox/Fetcher architecture by Thomas
13Leonard and the OCurrent team.
14
15The opam support in lib/opam_cache (module Builder_opam) is vendored from the
16oi project (https://git.recoil.org/gazagnaire.org/oi): the effective-part
17layer-hash algorithm and the layer on-disk layout from oi's d10 cache, and the
18multi-directory opam-0install Dir_context and raw solve from oi's solver. Both
19are adapted to the builder's Plan/Runtime interfaces and trimmed -- the cache
20to its hash and restore primitives, the solver to a stateless solve with no
21switch state, toolchain, or memo.