[Bug 696480] Re: Natty and Maverick's tar versions generate different tarballs in some cases (when path length is 100 characters)
Iain Lane
iain at orangesquash.org.uk
Sun Jan 2 20:33:02 UTC 2011
** Summary changed:
- Natty and Maverick's tar versions generate different tarballs in some cases (when link is 100 characters)
+ Natty and Maverick's tar versions generate different tarballs in some cases (when path length is 100 characters)
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is a direct subscriber.
https://bugs.launchpad.net/bugs/696480
Title:
Natty and Maverick's tar versions generate different tarballs in some cases (when path length is 100 characters)
Status in “tar” package in Ubuntu:
Confirmed
Bug description:
Binary package hint: tar
Hiya,
I noticed that when trying to recreate tarballs using pristine-tar on Maverick which were created on a Natty system, the following error was produced:
xdelta: /tmp/pristine-tar.btHqNUh80W/f-spot_0.8.2.orig.tar.gz.tmp: Checksum validation failed, expected: 6987fc71fa53c13423c75f42494b8f14, received: 1505f71bf1cc573fcb3b2d9afcc2f6ab
xdelta: /tmp/pristine-tar.58rbIzXoHf/recreatetarball: Checksum validation failed, expected: 3ce9bc1ffb83a38a7707b4cc5f890323, received: 793785f1223e3c5543e14aad5b7129eb
xdelta: expected from file (/tmp/pristine-tar.58rbIzXoHf/recreatetarball) of length 23541760 bytes
/usr/bin/pristine-tar: Failed to reproduce original tarball. Please file a bug report.
/usr/bin/pristine-tar: failed to generate tarball
This is due to the following Debian bugs:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=522858
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=603231
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602907
causing Natty's tar to create different tarballs to Maverick's in some cases (Debian reverted an old patch regarding the representation of paths with exactly 100 characters)
Backporting the patches from the first two bugs linked above restores compatibility by introducing an environment variable that restores the old behaviour (which pristine-tar relies on) when set.
Test case
=========
1. sudo apt-get install tar pristine-tar git
2. git clone git://github.com/iainlane/f-spot.git
3. git branch --track pristine-tar origin/pristine-tar
4. pristine-tar checkout f-spot_0.8.2.orig.tar.gz
<ERROR>
5. <install new tar>
6. pristine-tar checkout f-spot_0.8.2.orig.tar.gz
<NO ERROR>
Regression potential
====================
This changes the default representation of files with exactly 100 characters, so any programs which rely on this will need to ensure the environment variable is set to continue functioning correctly. However, it would be very rare for a program to rely on this (pristine-tar is probably about the only example). Other than this, all compatibility with previous versions should be retained (Natty has also made this change, so we would expect to see breakage there too if there is any).
More information about the Ubuntu-sponsors
mailing list