Bug #80326 [Opn]: Phar does not decompress properly
| From: | requinix@php.net | Date: | Fri, 06 Nov 2020 11:18:36 +0000 |
| Subject: | Bug #80326 [Opn]: Phar does not decompress properly | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-230161@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=80326&edit=1
ID: 80326
Updated by: requinix@php.net
Reported by: corentin dot jacquemet at infomaniak dot com
Summary: Phar does not decompress properly
Status: Open
Type: Bug
Package: PHAR related
Operating System: Debian10/Alpine
PHP Version: 7.4.12
Block user comment: N
Private report: N
New Comment:
WinRAR doesn't like that directory either. This might be an upstream problem.
Ubuntu tar is happy, but I do see that widgets/ didn't seem to be bundled with timestamp data.
And in your output, the subdirectory files are owned by UID 1000 instead of root.
Previous Comments:
------------------------------------------------------------------------
[2020-11-06 07:16:35] corentin dot jacquemet at infomaniak dot com
Description:
------------
Wget the official mediawiki 1.35.0 from the official website, then try to uncompressed the archive
using Phar.
The last archive of mediawiki-1.35.0 is not uncompressed correctly by Phar.
Reproduced on php 7.0.33, 7.1.33, 7.2.34, 7.3.24 and 7.4.12, on debian 10 and alpine (official php
docker image)
The "widgets" file should be a directory, not a file.
If we use tar command, the archive is uncompressed correctly.
If we uncompressed using tar command, then compress it into a new archive, Phar is able to
uncompressed correctly this new archive.
Test script:
---------------
<?php
// decompress from gz
$p = new PharData('mediawiki-1.35.0.tar.gz');
$p->decompress(); // creates xxx.tar
// unarchive from the tar
$phar = new PharData('mediawiki-1.35.0.tar');
$phar->extractTo('extracted_'.date('Y-m-d-H:i'));
Expected result:
----------------
$ ls -lah
extracted_2020-11-06-06\:44/mediawiki-1.35.0/extensions/TemplateData/modules/ext.templateDataGenerator.editTemplatePage/widgets
total 28
drwxr-xr-x 2 root root 4.0K Nov 6 06:48 .
drwxr-xr-x 3 root root 4.0K Nov 6 06:48 ..
-rw-rw-r-- 1 1000 1000 2.3K Sep 25 14:38 LanguageResultWidget.js
-rw-rw-r-- 1 1000 1000 3.6K Sep 25 14:38 LanguageSearchWidget.js
-rw-rw-r-- 1 1000 1000 1.2K Sep 25 14:38 ParamImportWidget.js
-rw-rw-r-- 1 1000 1000 1.0K Sep 25 14:38 ParamSelectWidget.js
-rw-rw-r-- 1 1000 1000 1.7K Sep 25 14:38 ParamWidget.js
$ ls -lhd
extracted_2020-11-06-06\:44/mediawiki-1.35.0/extensions/TemplateData/modules/ext.templateDataGenerator.ed
itTemplatePage/widgets
drwxr-xr-x 2 root root 4.0K Nov 6 06:48
mediawiki-1.35.0/extensions/TemplateData/modules/ext.templateDataGenerator.editTemplatePage/widgets
Actual result:
--------------
$ ls -lah extracted_2020-11-06-06\:44/mediawiki-1.35.0/extensions/TemplateData/modules/
ext.templateDataGenerator.editTemplatePage/widgets
-rw-rw-r-- 1 root root 1.7K Nov 6 06:44
extracted_2020-11-06-06:44/mediawiki-1.35.0/extensions/TemplateData/modules/ext.templateDataGenerator.editTemplatePage/widgets
$ ls -lhd extracted_2020-11-06-06\:44/mediawiki-1.35.0/extensions/TemplateData/modules/
ext.templateDataGenerator.editTemplatePage/widgets
-rw-rw-r-- 1 root root 1.7K Nov 6 06:44
extracted_2020-11-06-06:44/mediawiki-1.35.0/extensions/TemplateData/modules/ext.templateDataGenerator.editTemplatePage/widgets
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=80326&edit=1