Branch: refs/heads/master Home: https://github.com/ngircd/ngircd Commit: ccc899c7f4751ba72dcd7330c55614cf986f0fa3 https://github.com/ngircd/ngircd/commit/ccc899c7f4751ba72dcd7330c55614cf986f... Author: Christoph Biedl ngircd.anoy@manchmal.in-ulm.de Date: 2015-08-26 (Wed, 26 Aug 2015)
Changed paths: M src/ngircd/irc-info.c
Log Message: ----------- Reproducible builds
At the moment ngircd fails the tests for reproducible builds in Debian since it uses the __DATE__ and __TIME__ macros for the INFO command.
Instead of patching this out I decided to implement an optional constant BIRTHTIME that allows you to set a time stamp for the "Birth Date" information, in seconds since the epoch, like in
export CFLAGS += -DBIRTHTIME=$(shell date +%s --date="2015/08/15 23:42:22")
In the future, Debian will provide a SOURCE_DATE_EPOCH environment variable, dealing with the situation until then will be my job.
The time format was taken from the NGIRCd_StartStr formatting in ngircd.c so the "Birth Date" and "On-line since" lines in the INFO output look similar:
:irc.example.net 371 nick :ngIRCd 22.1-IDENT+IPv6+IRCPLUS+PAM+SSL+SYSLOG+ZLIB-x86_64/pc/linux-gnu :irc.example.net 371 nick :Birth Date: Tue Aug 25 2015 at 18:11:11 (CEST) :irc.example.net 371 nick :On-line since Tue Aug 25 2015 at 18:11:33 (CEST) :irc.example.net 374 nick :End of INFO list
The format of the time stamped is changed, but as far as I can tell, there's no rule that is violated by that.
Bonus level: Reformat the messages so the time stamps are aligned.