Source: libarchive Version: 3.2.0-1 Severity: important Tags: upstream User: debian-bsd@lists.debian.org Usertags: kfreebsd X-Debbugs-Cc: debian-bsd@lists.debian.org
As already reported to debian-bsd by the libarchive maintainer, libarchive 3.2.0 fails to build from source on kFreeBSD due to this test failure: 40: test_option_older_than tar/test/test_option_older_than.c:70: File should exist: a/b/old.txt tar/test/test_option_older_than.c:83: File should exist: a/b/old.txt This would normally be Severity: serious, but kFreeBSD isn't a release architecture, so I'm filing it as important instead. This test creates files named old.txt and middle.txt with mtimes in sequence, using this pseudocode: create old.txt while old.txt's mtime in seconds >= time(NULL): sleep 1 create middle.txt while middle.txt's mtime in seconds >= time(NULL): sleep 1 This looks as though it should work, and result in old.txt being strictly older than middle.txt (even if timestamps are rounded down to the next earlier second), which is strictly older than the time at which that pseudocode ends. However, perhaps there's some kFreeBSD quirk that I'm not aware of? Alternatively, this could probably be addressed by artificially aging old.txt and middle.txt, like I do in ikiwiki's test suite. For example, it could use utimes() to make old.txt 2 years old and make middle.txt 1 year old. This might not be acceptable to upstream if utimes() is not portable to all the platforms they care about, but a portable wrapper could use _utime64() on Windows if desired. Regards, S -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.5.0-2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)