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"

Reply via email to