Re: git: bcaf25a8c804 - main - Fix CONFLICTS entries of multiple ports

From: Stefan Esser <se_at_FreeBSD.org>
Date: Mon, 10 Jan 2022 23:06:23 UTC
>Am 10.01.22 um 23:10 schrieb Brooks Davis:
> On Mon, Jan 10, 2022 at 03:16:23PM +0000, Stefan Esser wrote:
>> The branch main has been updated by se:
[...]
> The devel/llvm-devel port change (truncated in the email) contains:
> 
> +CONFLICTS_INSTALL=     llvm-devel
> 
> This confuses me.  Why are we adding a self-conflict?

This line is actually incomplete, I'll fix it.

It should read:

CONFLICTS_INSTALL=     llvm-devel llvm-devel-lite

There are 2 flavors, and the resulting packages contain
identically named files.

But due to the "same origin exclusion" no conflict will be
detected, anyway, until my review D31151

	https://reviews.freebsd.org/D31151

is finally reviewed and hopefully accepted.

It fixes a feature from the time when different flavors could
result in identical package base names (e.g. a py- prefix and
not py38- as has long been enforced for all flavored ports).

Currently flavors between different flavors are defined with
much effort (see the devel/git example in D31151), but completely
useless, since they are then ignored.

With D31151 the 2 flavors of this port would correctly be
detected as conflicting with each other, and that is important
if such a port is used as a dependency.

See PR 250335 for an issue this causes:

	https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250335

Here the dependency on git-lite in one port with git already
installed caused an attempt to install git-lite, too, with the
conflict only being detected at install time. The conflicts
check in the ports framework ignored this conflict despite the
CONFLICTS entry, since both git and git-lite share the same origin.

Regards, STefan