From 2bdc53a3ef961e8bccb47eafc0fbbf4112751995 Mon Sep 17 00:00:00 2001 From: Mistral OZ - MIO Date: Tue, 6 Oct 2026 15:43:49 +0200 Subject: [PATCH] Fix ev and event extensions on PHP 7.4 Since install_all.sh fails on extension errors, every PHP 7.4 build fails: - ev: the latest PECL release (1.2.x) requires PHP 8.0. Pin ev-1.1.5 for PHP 7.4 only (the 8.0 link to core is unchanged). - event: libssl1.1 and the libevent packages were renamed on Ubuntu 24.04 (t64 transition). Only PHP 7.4 uses this extension. Also fix "docker --quiet pull" in the legacy v5 workflow: the flag was misplaced, so cached images were never pulled. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/legacy-v5.yml | 2 +- CHANGELOG.md | 3 +++ extensions/7.4/ev | 1 - extensions/7.4/ev/install.sh | 9 +++++++++ extensions/core/event/install.sh | 2 +- 5 files changed, 14 insertions(+), 3 deletions(-) delete mode 120000 extensions/7.4/ev create mode 100755 extensions/7.4/ev/install.sh diff --git a/.github/workflows/legacy-v5.yml b/.github/workflows/legacy-v5.yml index 865bea46..575a2385 100644 --- a/.github/workflows/legacy-v5.yml +++ b/.github/workflows/legacy-v5.yml @@ -30,7 +30,7 @@ jobs: # Get last cached successful builds TARGETS=$(REPO="ghcr.io/${{ github.repository_owner }}/php" TAG_PREFIX="" docker buildx bake php${PHP_VERSION//.}-${{ matrix.variant }}-all --progress=quiet --print | jq -r '.target[].tags[]') for TARGET in $TARGETS; do - docker --quiet pull ${TARGET} || echo "" + docker pull --quiet ${TARGET} || echo "" done; # Build the current builds REPO="ghcr.io/${{ github.repository_owner }}/php" \ diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ff0b1a1..f7837ac5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ ### Minor changes +* **2026-10-06** + * Fix ev and event extensions on PHP 7.4 (ev pinned to 1.1.5, event dependencies updated for Ubuntu 24.04) + * **2026-10-05** * The build now fails when an extension cannot be installed (failures were silently ignored) * Fix rdkafka: installed from the stable package (6.0.5) instead of an alpha version, and now available on PHP 8.5 diff --git a/extensions/7.4/ev b/extensions/7.4/ev deleted file mode 120000 index d523a2c1..00000000 --- a/extensions/7.4/ev +++ /dev/null @@ -1 +0,0 @@ -../core/ev \ No newline at end of file diff --git a/extensions/7.4/ev/install.sh b/extensions/7.4/ev/install.sh new file mode 100755 index 00000000..1265ebe6 --- /dev/null +++ b/extensions/7.4/ev/install.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e +# ev 1.2+ requires PHP 8.0: pin the last version compatible with PHP 7.4. +export USE_PECL=1 +export PECL_EXTENSION=ev-1.1.5 +export PHP_EXT_NAME=ev + +../docker-install.sh diff --git a/extensions/core/event/install.sh b/extensions/core/event/install.sh index 123a2723..a374104a 100755 --- a/extensions/core/event/install.sh +++ b/extensions/core/event/install.sh @@ -6,6 +6,6 @@ set -e export USE_PECL=1 export PECL_EXTENSION="event" export DEV_DEPENDENCIES="libevent-dev libssl-dev" -export DEPENDENCIES="libevent-2.1-7 libevent-core-2.1-7 libevent-extra-2.1-7 libevent-openssl-2.1-7 libevent-pthreads-2.1-7 libssl1.1" +export DEPENDENCIES="libevent-2.1-7t64 libevent-core-2.1-7t64 libevent-extra-2.1-7t64 libevent-openssl-2.1-7t64 libevent-pthreads-2.1-7t64 libssl3t64" ../docker-install.sh