[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-tar] Re: GNU tar 1.22
From: |
Sebastian Pipping |
Subject: |
[Bug-tar] Re: GNU tar 1.22 |
Date: |
Thu, 05 Mar 2009 20:32:35 +0100 |
User-agent: |
Thunderbird 2.0.0.19 (X11/20090216) |
Sergey Poznyakoff wrote:
> Sebastian Pipping <address@hidden> ha escrit:
>
>> Do I understand correctly, that the .lzma and .xz file formats ares
>> not compatible?
>
> If I'm not mistaken, they are backward compatible.
>
>> If that's true, why did you still decide to break
>> the API? There were no other letters free to use for a new option?
>
> No, there are not.
Are you sure? It seems to me these letters are theoretically still
available:
D E Q Y e n q y
I have collected these letters through 1) and 2) from the tar 1.21
man page as follows:
1) == Command ==
for i in $(echo $(seq 65 90) $(seq 97 122) \
| awk '{for(i=1;i<NF;i++){printf "%c\n", $i}}'); do \
bzcat /usr/share/man/man1/tar.1.bz2 \
| grep -- '-\b'$i'\b' >/dev/null \
|| echo "Unused letter $i" ; \
done
== Output (plus comments) ==
Unused letter D
Unused letter E
Unused letter H // Undocumented?
Unused letter I // Added in 1.22
Unused letter J // Undocumented?
Unused letter Q
Unused letter Y
Unused letter a // Undocumented?
Unused letter e
Unused letter n
Unused letter q
Unused letter y
2) == Command ==
for i in $(echo $(seq 65 90) $(seq 97 122) \
| awk '{for(i=1;i<NF;i++){printf "%c\n", $i}}'); do \
bzcat /usr/share/man/man1/tar.1.bz2 \
| grep -- '-\b'$i'\b' >/dev/null \
|| ( echo "[$i]" ; cd /var/tmp ; \
tar -$i 2>&1 | sed 's/^/\t/' ) ; \
done
== Output ==
<See attachment>
== Conclusion ==
If
- .lzma and .xz are not 100% compatible and
- Other option letters are available
I suggest to
- revert -J to plain LZMA
- add a new letter for XZ
- do a new release asap
As neither Debian nor Gentoo seem to have release-based
xz-utils packages, they will need a few extra hours to package
that before bumping tar, so there might be time left to undo
damage done here in my eyes.
Looking forward to your feedback.
Sebastian
[D]
tar: invalid option -- D
Try `tar --help' or `tar --usage' for more information.
[E]
tar: invalid option -- E
Try `tar --help' or `tar --usage' for more information.
[H]
tar: option requires an argument -- H
Try `tar --help' or `tar --usage' for more information.
[I]
tar: invalid option -- I
Try `tar --help' or `tar --usage' for more information.
[J]
tar: You must specify one of the `-Acdtrux' options
Try `tar --help' or `tar --usage' for more information.
[Q]
tar: invalid option -- Q
Try `tar --help' or `tar --usage' for more information.
[Y]
tar: invalid option -- Y
Try `tar --help' or `tar --usage' for more information.
[a]
tar: You must specify one of the `-Acdtrux' options
Try `tar --help' or `tar --usage' for more information.
[e]
tar: invalid option -- e
Try `tar --help' or `tar --usage' for more information.
[n]
tar: You must specify one of the `-Acdtrux' options
Try `tar --help' or `tar --usage' for more information.
[q]
tar: invalid option -- q
Try `tar --help' or `tar --usage' for more information.
[y]
tar: invalid option -- y
Try `tar --help' or `tar --usage' for more information.