[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-tar] GNU tar 1.13.92: broken --no-recursion
From: |
Ralf S. Engelschall |
Subject: |
[Bug-tar] GNU tar 1.13.92: broken --no-recursion |
Date: |
Wed, 7 Jan 2004 11:18:24 +0100 |
User-agent: |
Mutt/1.4.1i |
During debugging of a problem in OpenPKG I discovered that the
--no-recursion option in GNU tar 1.13.92 is broken while it still works
as expected (at least by me ;-) in GNU tar 1.13.25. I was able to
deterministically repeat it under a Debian GNU/Linux 3.0 box:
1. test environment:
| $ ls -lRi test
| test:
| total 4
| 1820963 -rw-rw-r-- 4 rse rse 2 Jan 7 09:51 a
| 1820963 -rw-rw-r-- 4 rse rse 2 Jan 7 09:51 b
| 1820964 drwxrwxr-x 2 rse rse 4096 Jan 7 11:06 subdir
|
| test/subdir:
| total 0
| 1820963 -rw-rw-r-- 4 rse rse 2 Jan 7 09:51 c
| 1820963 -rw-rw-r-- 4 rse rse 2 Jan 7 09:51 d
2. GNU tar 1.3.25:
| $ tar-1.13.25/src/tar -cvf - test test/a test/b test/subdir test/subdir/c
test/subdir/d | tar-1.13.25/src/tar tvf -
| test/
| test/a
| test/b
| test/subdir/
| test/subdir/d
| test/subdir/c
| test/a
| test/b
| test/subdir/
| test/subdir/d
| test/subdir/c
| test/subdir/c
| test/subdir/d
| drwxrwxr-x rse/rse 0 2004-01-07 11:07:08 test/
| -rw-rw-r-- rse/rse 2 2004-01-07 09:51:11 test/a
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/b link to test/a
| drwxrwxr-x rse/rse 0 2004-01-07 11:06:57 test/subdir/
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/d link to
test/a
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/c link to
test/a
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/a link to test/a
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/b link to test/a
| drwxrwxr-x rse/rse 0 2004-01-07 11:06:57 test/subdir/
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/d link to
test/a
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/c link to
test/a
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/c link to
test/a
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/d link to
test/a
| $ tar-1.13.25/src/tar --no-recursion -cvf - test test/a test/b test/subdir
test/subdir/c test/subdir/d | tar-1.13.25/src
| /tar tvf -
| test/
| test/a
| test/b
| test/subdir/
| test/subdir/c
| test/subdir/d
| drwxrwxr-x rse/rse 0 2004-01-07 11:07:08 test/
| -rw-rw-r-- rse/rse 2 2004-01-07 09:51:11 test/a
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/b link to test/a
| drwxrwxr-x rse/rse 0 2004-01-07 11:06:57 test/subdir/
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/c link to
test/a
| -rw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/d link to
test/a
3. GNU tar 1.3.92:
| $ tar-1.13.92/src/tar -cvf - test test/a test/b test/subdir test/subdir/c
test/subdir/d | tar-1.13.92/src/tar tvf -
| test/
| test/a
| test/b
| test/subdir/
| test/subdir/d
| test/subdir/c
| test/a
| test/b
| test/subdir/
| test/subdir/d
| test/subdir/c
| test/subdir/c
| test/subdir/d
| drwxrwxr-x rse/rse 0 2004-01-07 11:07:08 test/
| -rw-rw-r-- rse/rse 2 2004-01-07 09:51:11 test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/b link to test/a
| drwxrwxr-x rse/rse 0 2004-01-07 11:06:57 test/subdir/
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/d link to
test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/c link to
test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/a link to test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/b link to test/a
| drwxrwxr-x rse/rse 0 2004-01-07 11:06:57 test/subdir/
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/d link to
test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/c link to
test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/c link to
test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/d link to
test/a
| $ tar-1.13.92/src/tar --no-recursion -cvf - test test/a test/b test/subdir
test/subdir/c test/subdir/d | tar-1.13.92/src/tar tvf -
| test/
| test/a
| test/b
| test/subdir/
| test/subdir/d
| test/subdir/c
| test/a
| test/b
| test/subdir/
| test/subdir/d
| test/subdir/c
| test/subdir/c
| test/subdir/d
| drwxrwxr-x rse/rse 0 2004-01-07 11:07:08 test/
| -rw-rw-r-- rse/rse 2 2004-01-07 09:51:11 test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/b link to test/a
| drwxrwxr-x rse/rse 0 2004-01-07 11:06:57 test/subdir/
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/d link to
test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/c link to
test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/a link to test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/b link to test/a
| drwxrwxr-x rse/rse 0 2004-01-07 11:06:57 test/subdir/
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/d link to
test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/c link to
test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/c link to
test/a
| hrw-rw-r-- rse/rse 0 2004-01-07 09:51:11 test/subdir/d link to
test/a
As you can see, in 1.13.92 the --no-recursion options looks actually
more or less like a no-op.
There is still a chance that I perhaps misunderstand --no-recursion. But
the semantics of the 1.13.25 is very important in OpenPKG (we have to
roll tarballs out of a selected list of files although more are staying
around, so we specify all files explicitly), so if the new behaviour is
not a bug, please tell me how else I can achieve the old semantics.
Thanks.
Ralf S. Engelschall
address@hidden
www.engelschall.com
- [Bug-tar] GNU tar 1.13.92: broken --no-recursion,
Ralf S. Engelschall <=