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

Reply via email to