Edit report at https://bugs.php.net/bug.php?id=64343&edit=1

 ID:                 64343
 Updated by:         ralphschind...@php.net
 Reported by:        njh at aelius dot com
 Summary:            PharData::extractTo fails for tarball created by BSD
                     tar
 Status:             Open
 Type:               Bug
 Package:            PHAR related
 Operating System:   Mac OS 10.7.5
 PHP Version:        5.4.12
-Assigned To:        
+Assigned To:        ralphschindler
 Block user comment: N
 Private report:     N

 New Comment:

How did you create these tar files?  On mac (10.8.2), I did:

tar cvf my-bsd.tar test.txt

This created a ustar format tar file.  Yours seems to be a pax format tar file, 
which I can't see how that is the default format on mac?


Previous Comments:
------------------------------------------------------------------------
[2013-03-03 19:52:02] njh at aelius dot com

Description:
------------
The extractTo() method in Phar doesn't seem to work with tar archives generated 
using the BSD version of the tar tool, which is the version that comes pre-
installed on Mac OS X.

I have uploaded two sample tar files, which both contain a single test.txt file:
http://www.aelius.com/njh/tmp/tartest/test-bsd.tar.gz
http://www.aelius.com/njh/tmp/tartest/test-gnu.tar.gz

When run the GNU generated tar file works correctly but the BSD generated tar 
file fails.

This problem came up with trying to install dependencies using composer, that 
had been generated using BSD tar on Mac OS X:
https://github.com/composer/composer/issues/1492



Test script:
---------------
<?php
  $phar = new PharData('test-gnu.tar.gz');
  $phar->extractTo('extracted-gnu');

  $phar = new PharData('test-bsd.tar.gz');
  $phar->extractTo('extracted-bsd');


Expected result:
----------------
Both the test-bsd.tar.gz and test-gnu.tar.gz should extract the test.txt file.

Actual result:
--------------
Fatal error: Uncaught exception 'UnexpectedValueException' with message 'phar 
error: "/tmp/tartest/test-bsd.tar.gz" is a corrupted tar file (checksum 
mismatch 
of file "18 uid=1451698731
20 ctime=1362335175
20 atime=1362335267
24 SCHILY.dev=234881029
23 SCHILY.ino=1224")' in /tmp/tartest/test.php:5
Stack trace:
#0 /tmp/tartest/test.php(5): PharData->__construct('test-bsd.tar.gz')
#1 {main}
  thrown in /tmp/tartest/test.php on line 5



------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=64343&edit=1

Reply via email to