Holger Levsen <hol...@layer-acht.org> writes:

> On Wed, May 07, 2025 at 05:58:11PM +0200, Simon Josefsson wrote:
>> My take is that it is a bug to use SOURCE_DATE_EPOCH to populate the
>> timestamp inside a man page. 
>
> SOURCE_DATE_EPOCH was specifically designed for use cases like this: replace
> the build date with source_date_epoch based dates. (while obviously striving
> to drop dates and replace them with version numbers...)

I don't think the purpose described in the specification for
SOURCE_DATE_EPOCH matches the use case here.  It seems there is push to
use SOURCE_DATE_EPOCH timestamps in places where that timestamp is the
wrong value, just for the sake of reproducibility.

I agree replacing it with version number is better.  Or just remove the
information completely, the cost to maintain this variable information
(and dealing with breakage like this) is probably not worth the small
benefits for humans to easily tell what version of a manpage they are
reading.

>> This is just one of many symptoms that
>> will arise from trying to use SOURCE_DATE_EPOCH in an upstream context.
>
> I'm not sure I understand what you mean.

I meant that the timestamp field in a manpage is something that should
be coming from upstream in the same way that the text of the manpage is
coming from upstream.

>> It seems generally better if upstream derive timestamps inside artifacts
>> from the source code for that artifact, or the last upstream release if
>> tracking the source code is problematic.  Then these timestamps will be
>> stable during all future rebuilds of the same artifact.
>
> the (last modification date of the) source code of the artifact has been
> changed, i'm not sure why you expect stable artifacts built from changed 
> source.

I don't understand, can you elaborate?  Looking at the code here, my
reading is that debian/rules put the date of binNMU into
SOURCE_DATE_EPOCH and that ended up in the manpage, causing ma-same
problems.  There is no source code change.

What I would prefer is that the timestamp in the manpage corresponds to
the change time of source code involved in generating that particular
manpage.  It may be different for each manpage.  Yes, I know this is not
easy to implement (and many people will refuse to do it), but practical
obstacles doesn't take away that this seems like a better solution.

/Simon

Attachment: signature.asc
Description: PGP signature

Reply via email to