simplesamlphp / simplesamlphp/simplesamlphp-module-discopower

Symlinks don't install correctly when Composer falls back on the PHP zip library

Open
#28 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
5
Forks
11
PR merge metrics
No merged PRs in 30d

Description

I couldn't figure out why the Discopower module wasn't installing correctly inside my Docker image of SSP. The symlinks under modules/discopower/public/assets/components were being installed as text files containing the path where they would have pointed had they been symlinks. This obviously didn't work so great when my browser tried to load the Jquery Javascript for Discopower.

After further investigation, I tried installing unzip into my Docker image before running composer, and that fixed it. I now have symlinks instead of text files. Clearly, the PHP zip library doesn't understand symlinks.

If possible, installation of this module should require that the unzip or 7z binary be installed on the system and not just the PHP zip library.

If that's not possible, the documentation should at least include this requirement for proper installation.

Ideally, these symlinks wouldn't be necessary, and the disco.twig code that loads these components would point to the files directly instead of the symlinks inside of the module.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing Composer installation in the described Docker setup, comparing the PHP zip library with unzip or 7z. Inspect modules/discopower/public/assets/components and the disco.twig code that loads these assets. Done means the installation behavior or its documented system requirement clearly handles symlinks.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.