On 24. 09. 24 18:37, Adam Williamson wrote:
> On Tue, 2024-09-24 at 14:50 +0200, Miro Hrončok wrote:
>> On 22. 09. 24 1:00, Adam Williamson wrote:
>>> So, arguably, the error here is in the package: clang18 should
>>> explicitly conflict with clang < 19, compiler-rt18 should explicitly
>>> conflict with compiler-rt < 19, libomp should explicitly conflict with
>>> libomp18 < 18.1.7-4 . (currently compiler-rt18 has an explicit
>>> conflicts with 'compiler-rt = 18', but that definitely seems wrong; I
>>> don't think that could ever be satisfied.)
>>
>> I think the conflict in clang18 should actually be (clang >= 18 with clang < 19~~).
>>
>> Anyway, we don't have such conflict in Pythons, we have Obsoletes.
>>
>> - python3 version 3.13 has an unversioned Obsoletes for python3.13
>> - python3 version 3.12 has an unversioned Obsoletes for python3.12
>>
>> Same for various subpackages, such as -libs or -devel.
>>
>> ---
>>
>> The Obsoletes exists to upgrade python3.13 to python3 version 3.13 cleanly.
>> Surely, this is desired in clang as well?
>
> I don't believe clang does builds *ahead* like Python does. These are
> purely *backwards-compatibility* builds. So when bumping the main
> package from 18 to 19, the clang18 package is created to keep things
> working which cannot yet work with 19.
But at the same time, we can e.g. build clang18 on Fedora 39 today.
The Obsoletes approach works both ways.
E.g. postgresql also does it that way.
--
Miro Hrončok
--
Phone: +420777974800
Fedora Matrix: mhroncok