Problem/Motivation

Installation unzip error using the recommended composer installation: "composer create-project Vardot/varbase-project PROJECT_DIR_NAME --no-dev --no-interaction"

Appears to be an encoding issue with a file in ->tests->assets->, named XXXXX.pdf. The file causing the unzip failure is a 3rd party Guide to Drupal, written in Arabic. See attached images. The uncomressed file opens in PDF without any problem, and looks like it was written with considerable effort and it is very well formatted.

Directly downloading the compressed container file using Safari, automatically unzipped the container and placed it into the downloads folder, making the filename readable. ( https://codeload.github.com/Vardot/varbase/legacy.zip/f9fcfff1a39c5adf56...)

@Joachim on Slack helped identify the problem.

Steps to reproduce

macOS 10.15.6
PHP 7.3.20
UnZip 6.00
Composer clear-cache (tried a fresh download and from cache)
composer create-project Vardot/varbase-project PROJECT_DIR_NAME --no-dev --no-interaction

Same results for: 8.4, 8.5, and 8.5-dev

Error message:
- Installing vardot/varbase (8.8.5): Loading from cache
Failed to execute (50) unzip -qq 'docroot/profiles/varbase/9a5dfafff49b4ad94310513630c3e8d5' -d '/Users/XXXXXX/Sites/test/varbasenewcurrentversion/vendor/composer/a3d18501'

error: cannot create /Users/XXXXXX/Sites/test/varbasenewcurrentversion/vendor/composer/a3d18501/Vardot-varbase-f9fcfff/tests/assets/+�+�+� ϦϦϿ+� +�Ϧ +�ϦϺ+�ϺϬ.pdf
Illegal byte sequence

The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems)
Unzip with unzip command failed, falling back to ZipArchive class

Proposed resolution

Confirm correct the encoding of filename to be standards compliant.

Remaining tasks

User interface changes

API changes

Data model changes

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

staniel25 created an issue. See original summary.

staniel25’s picture

Anyone have any ideas on what else I can try? I have tried loading it using composer, git, pantheon, lando. All fail. I have reloaded my OS and unload most Daemons and Agents. I really want to try this out. Thanks

Mohammed J. Razem’s picture

This is a very annoying bug in macOS. It's due to the shipped unzip package being unable to understand non-UTF8 file names in archives.
See https://discussions.apple.com/thread/8209482 and https://discussions.apple.com/thread/250741052

The solution in macOS is to use a third-party compress/decompress tool such as The Unarchiver from the App Store.

However, since you're using composer, so the quick recommend option is:

I use macOS myself. I will look into a way or workaround for this if you don't want to use Lando or similar tool.

staniel25’s picture

If this is a long standing macOS bug, would it not be best to address the larger use case?

If I had not been so determined to try Varbase, I would not have spent almost a month fighting its installation. After three attempts, I would have stopped. Returning every three or four months to try it again. I do not think I am alone in this approach.

Doing whatever is needed to resolve this one file issue, will allow (all?) potential MacOS users to not encounter the issue, will hopefully result in larger adoption numbers for the distro. Can it be configured as a separate zip file? Create a text file with a link? Not include the file at all; clearly not the preferred option.

I will try installing with Lando as you suggest, though I did try it before without success. I will play around with it more to be sure I tried everything. But I will admit, hearing this is a known MacOS unzip version issue breaks my spirit a bit, as I am tired of trying. I learned a lot about my system trying to debug the issue, but I still spent many unfruitful weeks on the problem.

Lastly, I did download the 3d party app you mentioned, but it did not override the OS version and the installation had the same result.

Thanks.

Rajab Natshah’s picture

Thank you, Dan for following up even tho this issue had not been solved

Agrees with you
Removing the English file with spaces and CAPITAL Letters.pdf and the other RTL - PDF file with other languages

In Varbase 8.4.x we used to have other languages in the automated testing like French for LTR , Arabic for RTL

Seems that .. OS in the US has no support for other languages
To be changed not to have issues with composer, PHP, and not supported languages.

We could add these files on demand for projects to support other languages

Rajab Natshah’s picture

Title: Install Failure » Fix Install Failure by Removing the English file with spaces and CAPITAL Letters.pdf and the other RTL - PDF file with other languages

  • RajabNatshah committed e1c4769 on 8.x-8.x
    Issue #3165419: Fix Install Failure by Removing the English file with...
Rajab Natshah’s picture

Assigned: Unassigned » Mohammed J. Razem
Status: Active » Needs review
Issue tags: +varbase-8.8.6, +varbase-9.0.0
Rajab Natshah’s picture

Assigned: Mohammed J. Razem » Unassigned
Rajab Natshah’s picture

Status: Needs review » Fixed
Rajab Natshah’s picture

Status: Fixed » Closed (fixed)
lanetterm’s picture

Did this actually get fixed? I am installing 9.0.0 with composer and I am getting this error.

Rajab Natshah’s picture

Thank you, Lanette for following up and reporting.

No it was only fixed for the 8.x-8.x branch. We should have committed changes to the 9.0.x branch too. Not sure how we missed that.
It could be just right after the split of branches.

Created a new issue for that at
#3222020: Remove not used automated testing asset files, like the English file with spaces and CAPITAL Letters.pdf and the other RTL - PDF file

Rajab Natshah’s picture

Issue tags: -varbase-9.0.0