Package: faketime Version: 0.9.7-3 Severity: important Tags: patch upstream
faketime fails to build from source with glibc 2.31: | gcc -c -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra timetest.c | ./testframe.sh functests | # Begin Test Suites in functests | | # Begin functests/test_exclude_mono.sh | # PLATFORM=linuxlike | timetest.c: In function ‘main’: | timetest.c:143:5: error: ‘ftime’ is deprecated [-Werror=deprecated-declarations] | 143 | ftime(&tb); | | ^~~~~ | In file included from timetest.c:25: | /usr/include/x86_64-linux-gnu/sys/timeb.h:39:12: note: declared here | 39 | extern int ftime (struct timeb *__timebuf) | | ^~~~~ | cc1: all warnings being treated as errors | make[2]: *** [Makefile:12: timetest.o] Error 1 | make[2]: *** Waiting for unfinished jobs.... The full build log is available there: http://qa-logs.debian.net/2020/06/24/faketime_0.9.7-3_unstable_glibc-exp.log In glibc 2.31, the ftime function has been marked as deprecated, though it's still usable. however the tests are run with -Wall -Wextra -Werror, turning causing this deprecation into an error. Upstream already has a fix for this issue, although the issue is wrongly attributed to gcc 9 instead of glibc 2.31: https://github.com/wolfcw/libfaketime/commit/f19d68ea3231f1af7a6e3913dc6d3c46f73947b2 This patch applies cleanly to the version in debian and correctly fixes the issue. It would be nice if you can apply it relatively soon so that we can start the transition. Regards, Aurelien