[PureOS] SOURCE_DATE_EPOCH for PureOS ISO builds (was: "Re: Bits from PureOS")

Jeremiah C. Foster jeremiah.foster at puri.sm
Tue Jul 9 08:22:24 PDT 2019

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

> 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

> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puri.sm/pipermail/pureos-project/attachments/20190709/d46db2cb/attachment.sig>

More information about the Pureos-project mailing list