freebsd / portmaster

FreeBSD port management script without external databases or languages
77 stars 40 forks source link

Reproducibile build support for packages #69

Closed ghost closed 2 years ago

ghost commented 2 years ago

Would it be possible to set SOURCE_DATE_EPOCH to the TIMESTAMP in distinfo to allow for reproducible package builds?

stesser commented 2 years ago

While the TIMESTAMP records when the distinfo has been created/updated, this does not correspond with the date of the last relevant change to a port. The port's Makefile, default options, dependencies etc. might have changed without TIMESTAMP having been bumped. If there was a procedure that returned the time of the last relevant change to a port in the main repository, that could be used. But it could only be obtained by fetching Git repository meta-data (and a good strategy which change to consider), which might not even be accessible on a system building the port.