Toward a fully reproducible Debian
Toward a fully reproducible Debian
Posted Jun 16, 2018 14:17 UTC (Sat) by pizza (subscriber, #46)In reply to: Toward a fully reproducible Debian by jani
Parent article: Toward a fully reproducible Debian
In my experience supporting users, it's quite useful to have both an actual source "timestamp" (actually, two -- one that is derived from revision control at compile time, and another that is derived and fixed when the source was snapshotted/released) plus a build timestamp.
Saves a lot of going back and forth.
Posted Jun 16, 2018 16:02 UTC (Sat)
by niner (subscriber, #26151)
[Link]
Posted Jun 18, 2018 12:45 UTC (Mon)
by error27 (subscriber, #8346)
[Link] (3 responses)
Posted Jun 18, 2018 13:07 UTC (Mon)
by pizza (subscriber, #46)
[Link] (2 responses)
And I'm saying (for a third time) that this "very little" is still quite useful in certain contexts.
> Most of the time a git commit works fine and a + character on the end to show it has
That only tells you if something has been modified since the last commit, which is simultaneously more info, and less info, than a simple build timestamp can provide.
Posted Jun 18, 2018 15:02 UTC (Mon)
by johill (subscriber, #25196)
[Link]
Posted Jun 21, 2018 0:19 UTC (Thu)
by Comet (subscriber, #11646)
[Link]
For instance, immediately post-heartbleed I wrote an nginx module `nginx-openssl-version` which lets you make into a runtime configuration error a situation where the loaded version of OpenSSL is too old. For various deployment scenarios, I was facing people messing with builds without understanding them and knowing that if nothing was done, we'd regress the Heartbleed fixes. For stuff we deployed, we just included new versions of OpenSSL and were able to pick up off version numbers. Yes, this did save us at least once, thanks to the predicted less-than-informed tinkering.
After publishing the code as open source, the very first issue filed was Debian/Ubuntu support, because those distributions were backporting security fixes and not changing the version number. Frustrating for me, but fair for their goals, with the limits of the version numbers they could propagate through the library. But ... there was a library build date. So the first feature developed after publication was "be able to enforce a minimum build timestamp". Cue happy Debian/Ubuntu users.
Reproducible builds are just fine: the OpenSSL code gets patched, the reproducible timestamp gets updated, everyone's happy. There would only be an issue if a patch were applied in 2018 but the code still claimed that it was built in 2015.
From the other side of the fence, it was fairly simple to adapt even Exim's codebase to be able to use `$SOURCE_DATE_EPOCH` if found in environ during build; this was committed in 2017-04.
Toward a fully reproducible Debian
Toward a fully reproducible Debian
been modified locally. That actually gives you more information than just the time stamps.
Toward a fully reproducible Debian
been modified locally. That actually gives you more information than just the time stamps.
Toward a fully reproducible Debian
Toward a fully reproducible Debian
