Project

General

Profile

Bug #3475

tar seems broke with E function modifier for long filenames with diacriticals

Added by Richard PALO almost 8 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Start date:
2013-01-17
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:

Description

seems that there are increasing problems identified with solaris tar, in this case with the 'E' function modifier allowing extended headers. I don't see in the documentation where characters supported by the current locale are not acceptable (on the contrary).
here is a reproduction, and attached a gtarball that didn't have any problems with the files.

richard@smicro:~/foo$ tar cvf foo.tar a\\ very\\ long\\ directory\\ name\\ with\\ spaces\\ and\\ special\\ caractères/
a a very long directory name with spaces and special caractères// 0K
tar: a long filename with spaces and special caractères 00112233445566778899 00112233445566778899 terminé - ok -.txt: filename is greater than 100
a a very long directory name with spaces and special caractères//averylongfilenamewithlessthan100characters12345678912345678912346798.txt 0K
a a very long directory name with spaces and special caractères//averylongfilenamewithmorethan100characters123456789123456789123467981234567891234567891234567901.txt 0K
richard@smicro:~/foo$ ls
a very long directory name with spaces and special caractères  foo.tar
richard@smicro:~/foo$ tar cvEf fooE.tar a\\ very\\ long\\ directory\\ name\\ with\\ spaces\\ and\\ special\\ caractères/
a a very long directory name with spaces and special caractères// 0K
a a very long directory name with spaces and special caractères//a long filename with spaces and special caractères 00112233445566778899 00112233445566778899 terminé - ok -.txt 0K
a a very long directory name with spaces and special caractères//averylongfilenamewithlessthan100characters12345678912345678912346798.txt 0K
a a very long directory name with spaces and special caractères//averylongfilenamewithmorethan100characters123456789123456789123467981234567891234567891234567901.txt 0K
richard@smicro:~/foo$ ls
a very long directory name with spaces and special caractères  fooE.tar
foo.tar
richard@smicro:~/foo$ tar tvf foo.tar 
tar: blocksize = 5
drwxr-xr-x 101/101      0 janv. 17 15:19 2013 a very long directory name with spaces and special caractères//
-rw-r--r-- 101/101      0 janv. 17 15:07 2013 a very long directory name with spaces and special caractères//averylongfilenamewithlessthan100characters12345678912345678912346798.txt
-rw-r--r-- 101/101      0 janv. 17 15:09 2013 a very long directory name with spaces and special caractères//averylongfilenamewithmorethan100characters123456789123456789123467981234567891234567891234567901.txt
richard@smicro:~/foo$ tar tvEf foo.tar 
tar: blocksize = 5
drwxr-xr-x 101/101      0 janv. 17 15:19 2013 a very long directory name with spaces and special caractères//
-rw-r--r-- 101/101      0 janv. 17 15:07 2013 a very long directory name with spaces and special caractères//averylongfilenamewithlessthan100characters12345678912345678912346798.txt
-rw-r--r-- 101/101      0 janv. 17 15:09 2013 a very long directory name with spaces and special caractères//averylongfilenamewithmorethan100characters123456789123456789123467981234567891234567891234567901.txt
richard@smicro:~/foo$ tar tvf fooE.tar 
tar: blocksize = 14
tar: Removing leading '/' from '/tmp/PaxHeaders.4141/'
richard@smicro:~/foo$ tar tvEf fooE.tar 
tar: blocksize = 14
richard@smicro:~/foo$ cd ..
richard@smicro:~$ gtar cvfa foo.tar.gz foo
foo/
foo/a very long directory name with spaces and special caractères/
foo/a very long directory name with spaces and special caractères/a long filename with spaces and special caractères 00112233445566778899 00112233445566778899 terminé - ok -.txt
foo/a very long directory name with spaces and special caractères/averylongfilenamewithlessthan100characters12345678912345678912346798.txt
foo/a very long directory name with spaces and special caractères/averylongfilenamewithmorethan100characters123456789123456789123467981234567891234567891234567901.txt
foo/fooE.tar
foo/foo.tar
richard@smicro:~$ gtar tvfa foo.tar.gz 
drwxr-xr-x richard/tntpaca   0 2013-01-17 15:21 foo/
drwxr-xr-x richard/tntpaca   0 2013-01-17 15:19 foo/a very long directory name with spaces and special caractères/
-rw-r--r-- richard/tntpaca   0 2013-01-17 15:17 foo/a very long directory name with spaces and special caractères/a long filename with spaces and special caractères 00112233445566778899 00112233445566778899 terminé - ok -.txt
-rw-r--r-- richard/tntpaca   0 2013-01-17 15:07 foo/a very long directory name with spaces and special caractères/averylongfilenamewithlessthan100characters12345678912345678912346798.txt
-rw-r--r-- richard/tntpaca   0 2013-01-17 15:09 foo/a very long directory name with spaces and special caractères/averylongfilenamewithmorethan100characters123456789123456789123467981234567891234567891234567901.txt
-rw-r--r-- richard/tntpaca 7168 2013-01-17 15:21 foo/fooE.tar
-rw-r--r-- richard/tntpaca 2560 2013-01-17 15:20 foo/foo.tar

Files

foo.tar.gz (1022 Bytes) foo.tar.gz gtar tarball with the problem cases Richard PALO, 2013-01-17 02:35 PM

No data to display

Also available in: Atom PDF