Commit 1487f08
committed
Add unzip to required build tools
When an extension declares `download-url-method:
["pre-packaged-binary", ...]`, PIE calls `setDistUrl(zip-url)` so
composer downloads and extracts the .so into the vendor dir.
composer's archive downloader probes for `/usr/bin/unzip` first.
When it isn't present, composer doesn't fall back to PHP's ZipArchive;
it falls back to git-cloning the source. The prebuilt dist is
silently discarded, the .so never lands in the vendor dir, and
`UnixBuild::prePackagedBinary` trips `ExtensionBinaryNotFound`
looking for it.
`php:X.Y-cli` Debian images don't ship `/usr/bin/unzip`, so this
hits any `pie install <pkg>` on a minimal container when the
extension publishes prebuilt binaries.
Adds `unzip` to `CheckAllBuildTools::buildToolsFactory()` alongside
the existing tools. Package name is `unzip` on apt/apk/dnf/yum/brew.
With `--auto-install-build-tools`, PIE installs it and the
prebuilt-binary lane works.
Caught while releasing iliaal/fastchart 1.1.1.1 parent 2d228f1 commit 1487f08
1 file changed
Lines changed: 19 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
73 | 92 | | |
74 | 93 | | |
75 | 94 | | |
| |||
0 commit comments