Bug #38453 | File name (of incude test file) too long for HP-UX tar | ||
---|---|---|---|
Submitted: | 30 Jul 2008 11:05 | Modified: | 20 Aug 2008 19:39 |
Reporter: | Joerg Bruehe | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | Tests: Server | Severity: | S3 (Non-critical) |
Version: | 5.1 | OS: | Other (HP-UX, AIX, I5/OS, Solaris) |
Assigned to: | CPU Architecture: | Any |
[30 Jul 2008 11:05]
Joerg Bruehe
[20 Aug 2008 19:17]
Lars Thalmann
The tools need to be able to handle long file names.
[20 Aug 2008 19:39]
Joerg Bruehe
I immediately agree with "the tools should be able". I will agree with "need to" if you manage - either to change the native "tar" provided by our target platforms - or to strike all platforms with such software from the list of supported platforms. Assuming you can do neither, I want to see a compelling reason for your "Won't fix" statement before I accept that.
[21 Aug 2008 5:30]
Daniel Fischer
Lars, this is not an acceptable answer. We can use GNU tar to create our packages; however, if there is a file name that is longer than the maximum specified in POSIX, GNU tar will store it in a way that is incompatible with POSIX-compliant tar implementations. Some files missing when the package is extracted with a POSIX-compliant tar is the best case; the behaviour is really undefined. As long as we officially support platforms where there typically is no GNU tar, we need to be able to build packages that can be installed without GNU tar.
[6 Jan 2011 17:43]
Luis Soares
I have found that this has much broader scope than just replication test names or include files. As a matter of fact, replication files seem to be a small part of it: grep -v -E "rpl|binlog" offending_names.txt | wc -l 1063 grep -E "rpl|binlog" offending_names.txt | wc -l 415 From a total of 1478 files that exceed the 100 chars filename limit imposed by HPUX tar, only 415 were related to replication. The other ones are spread among parts, funcs, innodb_plugin, engines, ndb, ... The states were taken from a mysql-enterprise-gpl-5.1.54-hpux11.31-ia64-64bit package.
[6 Jan 2011 20:30]
Joerg Bruehe
A shell one-liner to get the base names above 50 characters (off by one, the trailing new line): ls -R1 mysql-test/ | while read F; do if echo $F | fgrep / >/dev/null; then echo; fi; echo `echo $F | wc -c` $F; done | egrep '/|^[5-9][0-9]|^$' | more