Reproducible builds of ports
cen <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.ports |
|---|---|
| Message-ID | <[email protected]> |
Hi, I would like to know if there is any conceivable way to do independent reproducible builds of the ports tree packages today? The biggest obstacle seems to be the fact that FreeBSD does not have a snapshot/archive repo equivalent to snapshot.debian.org. My current approach is to fetch the .pkg, extract the ports_top_git_hash metadata, checkout the ports tree to that commit and run e.g. poudriere bulk -j "$JAIL" -p "$PORTS_TREE" "$ORIGIN" But I am not sure how poudriere handles changes in port tree commit hash. If a next package comes in with a different ports_top_git_hash, will poudriere be able to reuse any common dependencies that were already built or will it have to rebuild the whole tree again? The latter scenario is obviously a huge resource waste and an automatic no. My first question is whether my approach is generally sound for trying to reproduce a single package? If not, how should I correct my workflow? My second one is for any workarounds or "close enough" techniques that would at least be able to reproduce some amount of packages. I'd be happy even with 10% reproducibility. If I can find some path forward, I'd like to ultimately add FreeBSD support to rebuilderd, a cross-distro effort to make distro packages independently reproducible. Best regards