Differences between revisions 3 and 4
Revision 3 as of 2014-02-17 19:41:06
Size: 4107
Comment: +ask
Revision 4 as of 2014-02-18 13:19:34
Size: 1877
Comment: ask and archipel-* were misclassified because of an error in my setup
Deletions are marked like this. Additions are marked like this.
Line 47: Line 47:
||[[DebianPts:archipel-agent-action-scheduler]] ||[[http://reproducible.alioth.debian.org/logs-20140126/archipel-agent-action-scheduler_0.6.0-1_unstable_build.diffp.gz|0.6.0-1]] ||
||[[DebianPts:archipel-agent-hypervisor-geolocalization]] ||[[http://reproducible.alioth.debian.org/logs-20140126/archipel-agent-hypervisor-geolocalization_0.6.0-1_unstable_build.diffp.gz|0.6.0-1]] ||
||[[DebianPts:archipel-agent-hypervisor-health]] ||[[http://reproducible.alioth.debian.org/logs-20140126/archipel-agent-hypervisor-health_0.6.0-1_unstable_build.diffp.gz|0.6.0-1]] ||
||[[DebianPts:archipel-agent-hypervisor-network]] ||[[http://reproducible.alioth.debian.org/logs-20140126/archipel-agent-hypervisor-network_0.6.0-1_unstable_build.diffp.gz|0.6.0-1]] ||
||[[DebianPts:archipel-agent-hypervisor-platformrequest]] ||[[http://reproducible.alioth.debian.org/logs-20140126/archipel-agent-hypervisor-platformrequest_0.6.0-1_unstable_build.diffp.gz|0.6.0-1]] ||
||[[DebianPts:archipel-agent-iphone-notification]] ||[[http://reproducible.alioth.debian.org/logs-20140126/archipel-agent-iphone-notification_0.6.0-1_unstable_build.diffp.gz|0.6.0-1]] ||
||[[DebianPts:archipel-agent-virtualmachine-oomkiller]] ||[[http://reproducible.alioth.debian.org/logs-20140126/archipel-agent-virtualmachine-oomkiller_0.6.0-1_unstable_build.diffp.gz|0.6.0-1]] ||
||[[DebianPts:archipel-agent-virtualmachine-snapshoting]] ||[[http://reproducible.alioth.debian.org/logs-20140126/archipel-agent-virtualmachine-snapshoting_0.6.0-1_unstable_build.diffp.gz|0.6.0-1]] ||
||[[DebianPts:archipel-agent-virtualmachine-vnc]] ||[[http://reproducible.alioth.debian.org/logs-20140126/archipel-agent-virtualmachine-vnc_0.6.0-1_unstable_build.diffp.gz|0.6.0-1]] ||
||[[DebianPts:ask]] ||[[http://reproducible.alioth.debian.org/logs-20140126/ask_1.0.1-1_unstable_build.diffp.gz|1.0.1-1]] ||

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

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

Is that value important? Can we always set mtime to 0? Otherwise, tar should use the value of the --mtime flag when it is set.

Packages known to be affected

Source

Tested version

haskell-data-default-class

0.0.1-1