On Thu, Jan 16, 2014 at 2:20 PM, Dirkjan Ochtman <[email protected]> wrote:
> On Wed, Jan 15, 2014 at 10:46 PM, Alexander Shorin <[email protected]> wrote:
>> Fixed in http://git-wip-us.apache.org/repos/asf/couchdb/commit/f0425383
>>
>> Dirkjan, try it now - there shouldn't be any issues
>
> Awesome!
>
> That's a pretty obscure fix, though. Do you have any details on what
> went wrong and why this fixes it?

I think this page explains the change:

http://www.gnu.org/software/tar/manual/html_chapter/Formats.html

> v7
> Archive format, compatible with the V7 implementation of tar. This format 
> imposes a number of limitations. The most important of them are:
>
> 1. The maximum length of a file name is limited to 99 characters.
> ...
> This format has traditionally been used by Automake when producing Makefiles. 
> This practice will change in the future, in the meantime, however this means 
> that projects containing file names more than 99 characters long will not be 
> able to use GNU tar 1.27 and Automake prior to 1.9.

And this is our ustar fix:

> ustar
>
> Archive format defined by POSIX.1-1988 specification. It stores symbolic 
> ownership information. It is also able to store special files. However, it 
> imposes several restrictions as well:
>
> 1. The maximum length of a file name is limited to 256 characters, provided 
> that the file name can be split at a directory separator in two parts, first 
> of them being at most 155 bytes long. So, in most cases the maximum file name 
> length will be shorter than 256 characters.
> 2. The maximum length of a symbolic link name is limited to 100 characters.
> 3. Maximum size of a file the archive is able to accommodate is 8GB
> 4. Maximum value of UID/GID is 2097151.
> 5. Maximum number of bits in device major and minor numbers is 21.

According last paragraph for v7 format, I think we'd hit this issue on
Gentoo due to stable app-arch/tar package - it's 1.26 while 1.27.x are
marked as unstable:

$ tar --version
tar (GNU tar) 1.26

$ eix app-arch/tar
[I] app-arch/tar
     Available versions:  1.26-r1{tbz2} ~1.27-r2 ~1.27.1 ~1.27.1-r1
     Installed versions:  1.26-r1{tbz2}(07:08:33 PM 10/08/2013)(nls
-minimal -static -xattr USERLAND="GNU")

While others distros seems are providing more recent version of tar.
However, I didn't run any tests to proof this fact and tar-1.27 change
log has no mentions about related change, but I have no any other
explanation of such behaviour for now.

--
,,,^..^,,,

Reply via email to