When a filename is longer than 99 characters, tar will add a member name ././@LongLink. Its modification time used to be the time when tar was started.

The issue has been fixed in tar 1.27.1.

See create.c:546.

Reference: What exactly is the GNU Tar longlink trick? on ?StackOverflow

Detection

This one was tricky to figure out.

Comparing the output of hachoir-metadata --raw --quality=1 --maxlen=0 (from python-hachoir-metadata) works.

$ diff -u8 <(hachoir-metadata --raw --quality=1 --maxlen=0 <(xzcat /tmp/d1.tar.xz )) <(hachoir-metadata --raw --quality=1 --maxlen=0 <(xzcat /tmp/d2.tar.xz))
--- /dev/fd/63  2014-02-14 13:11:41.001750806 +0100
+++ /dev/fd/62  2014-02-14 13:11:41.005750927 +0100
@@ -79,17 +79,17 @@
 - file_type: Normal disk file
 - last_modification: 2014-02-14 08:14:12
 file[11]:
 - author: root (uid=0), group root (gid=0)
 - filename: ././@LongLink
 - file_size: 104
 - file_attr: -rw-r--r-- (644)
 - file_type: 76
-- last_modification: 2014-02-14 08:29:02
+- last_modification: 2014-02-14 11:25:52
 file[12]:
 - author: root (uid=0), group root (gid=0)
 - filename: ./usr/lib/haskell-packages/ghc/lib/data-default-class-0.0.1/ghc-7.6.3/libHSdata-default-class-0.0.1_
 - file_size: 3946
 - file_attr: -rw-r--r-- (644)
 - file_type: Normal disk file
 - last_modification: 2014-02-14 08:14:12
 file[13]:

Solution

Add a Build-Depends on tar (>= 1.27.1).