[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [nmh-workers] Reproducible build patch
From: |
Ralph Corderoy |
Subject: |
Re: [nmh-workers] Reproducible build patch |
Date: |
Fri, 27 Jul 2018 12:57:36 +0100 |
Hi kre,
> As I said, I know (somewhat) the -d parser on netbsd, which I know
> handles the @N form, but I kind of doubt has much in the way of error
> checking there.
No, it calls the hoary parsedate(3),
http://cvsweb.netbsd.org/bsdweb.cgi/src/bin/date/date.c?rev=1.61&content-type=text/x-cvsweb-markup&only_with_tag=MAIN
http://netbsd.gw.com/cgi-bin/man-cgi?parsedate++NetBSD-current
but despite the man page, it's not obvious to me that the `epochdate'
rule indicates the gmtime_r(3) error.
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libutil/parsedate.y?rev=1.32&content-type=text/x-cvsweb-markup
GNU date also accepts text that doesn't match the Reproducible-Builds
spec.
$ date -ud '@ 003.1415'
1970-01-01 00:00:03 +0000 Thu
> If you really believe in that, then you need to do the validation.
Here's the specification again.
https://reproducible-builds.org/specs/source-date-epoch/#idm53
It doesn't sufficiently spell out what's valid.
The value MUST be an ASCII representation of an integer with no
fractional component, identical to the output format of date +%s.
So that means it matches /^(0|-?[1-9][0-9]*)$/ in the interval
[-67768040609740800, 67768036191676800) given a 64-bit signed time_t
with a 32-bit signed year. (Though POSIX doesn't state time_t need be
bigger than 32 bits, or if it's signed.)
It SHOULD be set to the last modification time of the source,
incorporating any packaging-specific modifications.
That would bring it back into reasonable bounds, but it's only a SHOULD.
I'm thinking if it matches the above regexp, and gmtime(3) is happy,
then that's good enough.
--
Cheers, Ralph.
https://plus.google.com/+RalphCorderoy
- Re: [nmh-workers] Reproducible build patch, (continued)
- Re: [nmh-workers] Reproducible build patch, Robert Elz, 2018/07/24
- Re: [nmh-workers] Reproducible build patch, Ralph Corderoy, 2018/07/26
- Re: [nmh-workers] Reproducible build patch, Robert Elz, 2018/07/26
- Re: [nmh-workers] Reproducible build patch,
Ralph Corderoy <=
- Re: [nmh-workers] Reproducible build patch, Robert Elz, 2018/07/28
- Re: [nmh-workers] Reproducible build patch, Robert Elz, 2018/07/28
- Re: [nmh-workers] Reproducible build patch, Ralph Corderoy, 2018/07/30
- Re: [nmh-workers] Reproducible build patch, Robert Elz, 2018/07/30