Bug #80326 [Opn]: Phar does not decompress properly

From: 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

« previous php.bugs (#230161) next »