Package: tar
Version: 1.14-2
Followup-For: Bug #354847
Hi,
the test failures seem to be caused by the dir_index feature of
ext2/3. Unlike older ext2/3 this does not return files in the order of
creation. Due to this tar -c will add files to an archive in a
different order. The attached patch sorts the tar output in the two
failed tests. There might be other failures on xfs or reiserfs though.
MfG
Goswin
-- System Information:
Debian Release: 3.1
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.8-frosties-2
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Versions of packages tar depends on:
ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an
-- no debconf information
diff -u tar-1.15.1/debian/changelog tar-1.15.1/debian/changelog
--- tar-1.15.1/debian/changelog
+++ tar-1.15.1/debian/changelog
@@ -1,3 +1,9 @@
+tar (1.15.1-4c0.mrvn.1) unstable; urgency=low
+
+ * Sort tar output to compensate for different file order on the fs
+
+ -- Goswin von Brederlow <[EMAIL PROTECTED]> Thu, 16 Mar 2006 16:52:56 +0100
+
tar (1.15.1-4) unstable; urgency=low
* change section from base to utils to resolve override disparity
only in patch2:
unchanged:
--- tar-1.15.1.orig/tests/listed02.at
+++ tar-1.15.1/tests/listed02.at
@@ -29,6 +29,7 @@
AT_KEYWORDS([listed02])
AT_TAR_CHECK([
+set -e
mkdir directory
echo Create directories
@@ -47,7 +48,8 @@
sleep 1
echo Creating main archive
-tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart || exit 1
+tar >tar.create -c -v --listed-incremental=tart.incr1 -f archive.1 tart ||
exit 1
+sort tar.create
sleep 1
echo Modifying filesystem
@@ -62,13 +64,15 @@
sleep 1
echo Creating incremental archive
cp -p tart.incr1 tart.incr2
-tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1
+tar >tar.incr -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit
1
+sort tar.incr
sleep 1
rm -rf tart/*
echo Extracting main archive
-tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
+tar >tar.extract -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
+sort tar.extract
echo Extracting incremental archive
# This command should produce three messages about deletion
# of the existing files, that may appear in any order. Piping
@@ -82,12 +86,12 @@
[Create directories
Creating main archive
tart/
-tart/c0/
-tart/c1/
tart/a1
tart/b1
+tart/c0/
tart/c0/cq1
tart/c0/cq2
+tart/c1/
tart/c1/ca1
tart/c1/ca2
Modifying filesystem
@@ -103,20 +107,20 @@
tart/c2/ca3
Creating incremental archive
tart/
+tart/b2
tart/c0/
tart/c2/
-tart/b2
tart/c2/ca1
tart/c2/ca2
tart/c2/ca3
Extracting main archive
tart/
-tart/c0/
-tart/c1/
tart/a1
tart/b1
+tart/c0/
tart/c0/cq1
tart/c0/cq2
+tart/c1/
tart/c1/ca1
tart/c1/ca2
Extracting incremental archive
only in patch2:
unchanged:
--- tar-1.15.1.orig/tests/pipe.at
+++ tar-1.15.1/tests/pipe.at
@@ -36,7 +36,7 @@
genfile --length 13 > directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv -
+cat archive | tar xfv - | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"