Page MenuHomeFreeBSD

Update CONFLICTS in lang/php?? ports to cover PHP modules
Needs ReviewPublic

Authored by se on Jan 21 2022, 9:30 AM.
Referenced Files
F68317652: D33983.diff
Tue, Sep 26, 8:03 PM
Unknown Object (File)
Mon, Aug 28, 6:04 AM
Unknown Object (File)
Aug 19 2023, 12:31 AM
Unknown Object (File)
Jul 27 2023, 6:18 PM
Unknown Object (File)
Jul 27 2023, 6:12 PM
Unknown Object (File)
Jul 2 2023, 8:25 AM
Unknown Object (File)
Jul 1 2023, 2:20 AM
Unknown Object (File)
Jun 28 2023, 6:18 PM



The CONFLICTS definition of the lang/php?? ports prevents building a new version on the base system (i.e. outside poudriere).
It contains an explicit list of conflicting packages, which has to be maintained - but a wildcard pattern would work as well.
And it does not cover the ports that include lang/php??/Makefile via ${MASTERDIR}/Makefile and which in general do not have any CONFLICTS definitions (but instead rely on the lang/php?? dependency conflicting between versions).

The suggested patch allows the various lang/php?? ports to be built even though a different version is installed. This has been tested to work with a few combinations of installed and newly built version, and the build and all tests succeeded.
The wildcard pattern will work for all ports that have a 2 digit number as part of the php version prefix (i.e. 80 as in php80).
It does extend into other ports that include this Makefile. They have ${PKGNAMESUFFIX} set and thus will correctly and early conflict with different installed versions of the same port (and not only report that the required interpreter could not be built).

The lang/php73 port is not covered by the patch since it is EoL and will have been deleted when this patch is scheduled to be applied.
This patch does not affect package building with Poudriere (i.e. on the official package builders).
It is only relevant for port building on the base system with other PHP ports already installed and visible during the build.

Test Plan

Apply patch and verify that ports can be built (lang/php?? and the modules that include its Makefile).
Verify that no conflicts are reported when upgrading or re-installing an already installed version of an affected port on the base system.
Verify that install conflicts are correctly reported with "make check-install-conflicts" if run for a different version than installed.

(Ignore any messages of "conflicts with itself" from portlint - these messages are false and the logic will be corrected in portlint.)

Diff Detail

R11 FreeBSD ports repository
Lint Skipped
Tests Skipped

Event Timeline

se requested review of this revision.Jan 21 2022, 9:30 AM
se created this revision.
This revision was not accepted when it landed; it landed in state Needs Review.Jan 21 2022, 2:35 PM
This revision was automatically updated to reflect the committed changes.

Oops. Sorry. Seems like my update commit updated this entire commit.