Debian has this goal
https://wiki.debian.org/ReproducibleBuilds/

As you can see here https://reproducible.debian.net/rb-pkg/kamailio.html we are using TIME and DATE macros

gcc -funroll-loops -Wcast-align -m64 -minline-all-stringops -falign-loops -ftree-vectorize -fno-strict-overflow -Wall -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Werror=date-time -D_FORTIFY_SOURCE=2   -DNAME='"kamailio"' -DVERSION='"4.2.0"' -DARCH='"x86_64"' -DOS='linux_' -DOS_QUOTED='"linux"' -DCOMPILER='"gcc 4.9.2"' -D__CPU_x86_64 -D__OS_linux -DSER_VER=4002000 -DCFG_DIR='"/etc/kamailio/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -DUSE_NAPTR -DWITH_XAVP -DF_MALLOC -DDBG_F_MALLOC -DMEM_JOIN_FREE -DUSE_TLS -DTLS_HOOKS -DUSE_CORE_STATS -DSTATISTICS -DMALLOC_STATS -DWITH_AS_SUPPORT -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER -DUSE_RAW_SOCKS -
 DHAVE_EP
 OLL -DHAVE_SIGIO_RT -DSIGINFO64_WORKARROUND -DUSE_FUTEX -DHAVE_SELECT   -c ver.c -o ver.o -MMD -MP
ver.c:38:35: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
 const char ver_compiled_time[] =  __TIME__ " " __DATE__ ;
                                   ^
ver.c:38:48: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
 const char ver_compiled_time[] =  __TIME__ " " __DATE__ ;
                                                ^
cc1: some warnings being treated as errors

Can we introduce a Make option to avoid this?


Reply to this email directly or view it on GitHub.