frankenphp icon indicating copy to clipboard operation
frankenphp copied to clipboard

Create .rpm, .deb and .apk packages.

Open henderkes opened this issue 6 months ago • 5 comments

Describe you feature request

Is your feature request related to a problem? Please describe. There is no easy way to install FrankenPHP with flexibility around adding extensions.

I've been tackling this with https://github.com/static-php/spc-packages and just finished commands to build .rpm packages and build/update a modular repo.

However, I ran into a bit of a roadblock: debian and alpine packages default to very different names and installation locations.

So I'm looking for people interested in contributing to this. You don't need to have any experience in compiling php or extensions. Experience in using php through ubuntu packages would be great, optionally experience in creating dpkg repositories might prove beneficial.

The general infrastructure exists - it's only about adjusting paths/names for deb and apk packages.

And maybe for macOS, too? I've tried homebrew the other day, but it seems all the extensions are only available for the regular NTS version of php? Compiling through Homebrew on aarch64-linux also failed miserably. @dunglas could you tag this "Help wanted"? I just don't have the time and motivation to create packaging for operating systems I have and never will use php on.

henderkes avatar Jul 10 '25 13:07 henderkes

I've just finished the devel package too. Can now install extensions that we don't precompile with pie or pecl using --with-php-config=php-config-zts. For most common extensions, we offer php-zts-ext packages: https://github.com/static-php/spc-packages/blob/master/config/templates/craft.yml.twig#L2-L3

Packages are built daily with this workflow here: https://github.com/static-php/spc-packages/actions/runs/16375225160

henderkes avatar Jul 18 '25 16:07 henderkes

I've put together ubuntu packages (8.4 only!). Will add stable debian versions over time.

Edit: to try them out:

sudo curl -fsSL https://key.henderkes.com/static-php.gpg -o /usr/share/keyrings/static-php.gpg && \
echo "deb [signed-by=/usr/share/keyrings/static-php.gpg] https://deb.henderkes.com/ stable main" | sudo tee /etc/apt/sources.list.d/static-php.list && \
sudo apt update
sudo apt install php-zts

henderkes avatar Sep 09 '25 12:09 henderkes

The same installation method works for jammy, noble, bookworm and trixie now.

Edit: works for all operating systems in general support now. (glibc 2.31+).

henderkes avatar Sep 09 '25 23:09 henderkes

Many thanks for your effort 🙏🏼 Probably the only php-zts/frankenphp debian repo in existence, and with extensions! Awesome 👍

Are you planning on adding v8.5?

cyformatician avatar Dec 19 '25 11:12 cyformatician

I have a versioned branch on my repo but I'm running into errors with the apk registry. I'm currently looking into artifact hosts like @cloudsmith to make my life a bit easier maybe.

henderkes avatar Dec 19 '25 11:12 henderkes

Thanks to forgejo we have alpine and debian 8.2-8.5 packages fully supported now. RHEL stays unchanged.

Edit: https://pkgs.henderkes.com

henderkes avatar Dec 29 '25 09:12 henderkes