On Fri, 2019-07-05 at 16:01 -0300, Chris Lamb wrote:
Hi Jeremiah,
One remaining "policy" question here is what value we use for the SOURCE_DATE_EPOCH environment variable
[…]
I'm currently using debspawn but that wraps a container around Debian's live-build I believe. The build script recommended in the PureOS documentation requires cloning make-live, so perhaps the latest git commit can be used for source date epoch? Line 24 in the URL below;
https://source.puri.sm/pureos/infra/make-live/blob/master/auto/config
I fear you might be slightly misunderstanding this environment variable;
That is likely the case. ;-)
it shouldn't be hardcoded into some repo
I didn't mean it should be hardcoded into a repo, I was rather trying to find a relevant timestamp that might serve as the source of the environment variable. I thought that using something like a git commit might show the "state of the world" in a relevant fashion, i.e. the last commit to a given repo.
and nor should it depend on whether we are using debspawn, etc.
I was musing about whether and how environment variables get passed along across various boundaries (container, ssh).
Rather, it should reflect the repo or the "state of the world" itself.
I'm uncertain as to exactly what "state of the world" means in this context.
Thus using the date from the HEAD commit of:
https://source.puri.sm/pureos/infra/make-live
… seems to be a good start for now. We can always change it later, so we need not spend many brain cycles beyond this on this topic.
Sounds great. I'll reuse this. :-)
The question otherwise is where do I put SOURCE_DATE_EPOCH? I assume in some makefile as a variable.
You should export it in your build script/cron that is doing the two builds, or otherwise ensure that it is exported to the build process.
Excellent, I'll start there and test to see if it is seen by the build process.
Everything "downstream" from there in the build process should not care or really even know about it.
Understood. Everything downstream should just "consume" that environment variable.
I believe:
$ git --git-dir=/path/to/your/pureos/infra/make-live/.git log -1 --pretty=%ct
… will return the value we would use.
Thank you.
Huzzah! Indeed, this "Debian" thing you refer to sounds like they have a bunch of good ideas. How can I find out more about it? ;)
It's complex. It's anarchic. You have to be technical. But it returns on your investment of time and energy a thousand fold - in bug reports.
Oh? Nah, I think I'll give it a miss…
Really? I think they could use someone like you. :D