bug-tar
[Top][All Lists]
Advanced

[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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]