Merkle trees and build systems
Merkle trees and build systems
Posted May 28, 2020 15:42 UTC (Thu) by dezgeg (guest, #92243)Parent article: Merkle trees and build systems
This seems very similar to Nix (https://nixos.org/nix/) which also effectively uses an object store with Merkle tree structure. Except that in the Nix object store, objects are not named by the SHA hash of their contents, but rather SHA hash of their build rules + their direct dependencies.
Thu I did not quite understand from this article is how does this system deal with changes to the build rules, e.g. if a package d is added to the rootfs example or that some option to ./configure is added to some dependency. How does it know that the resulting ninja target of ostree_combine() now needs to be rebuilt? Or is the name of the target somehow dependant on the input parameters of the ostree_combine() call (i.e. same as Nix)?
