<top post>

Or, if I may be so bold—

Convince the developers to use versioned symbols when they break the
API/ABI.

This is the 21st Century, and we have solutions for this. It's not rocket
surgery.

</top post>


On Thu, Jul 1, 2021 at 11:55 AM Richard Shaw <hobbes1...@gmail.com> wrote:

> I'm still trying to figure out the best way to frame the problem and I
> don't have a specific solution in mind, but there's got to be a better
> solution for dealing with projects that make major API changes.
>
> Pre-side-tag this was even more difficult:
> 1. Make sure the new version builds
> 2. Maybe do some testing with dependencies
> 3. Update the package and break Rawhide
> 4. Deal with the fallout
>
> At least with side tags it buys us some time to port over packages that
> don't build cleanly, but the longer these are open, the more likely other
> people have touched them creating other issues.
>
> I've actually started creating COPRs for this purpose and that helps check
> things out "offline" from the main distro, but it's not a 100% solution.
>
> What do we do with packages where SOME but not all of the dependent
> packages support the new API?
>
> Conservative option: Wait until they do and don't upgrade the package.
>
> This is fine in the short term (3-6 months?) but many upstreams are less
> than aggressive about updating dependencies and could potentially take a
> year or more.
>
> Middle of the road (but a lot of work) option:
> 1. Create a compat or SOVERSION appended package (requires new review)
> 2. Migrate the packages that won't build to it, build the new package and
> working deps.
>
> One big caveat is that in some cases it's all or nothing for the whole
> "stack"
>
> Contrived example:
> OpenImageIO can build with OpenColorIO 2.0 but blender can't (has since
> been fixed).
>
> I can't rebuild OIIO with OCIO 2.0 and leave Blender at OCIO 1.X. Worse,
> while it's a good thing I know about this dep chain, I'm unaware of any
> systematic method to detect this so it completely relies on packager
> knowledge, and we know how problematic that is with all the soname
> breakages even though the guidelines are quite explicit there.
>
> Aggressive option: Build it anyway and deal with the fallout the best we
> can.
>
> I don't actually think this is practical but included it for completeness.
>
> Other recent examples:
> OpenEXR 3 (ongoing saga)
> vtk 9.0 (pretty much done, but was painful)
>
> Thoughts?
>
> Thanks,
> Richard
> _______________________________________________
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct:
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
> Do not reply to spam on the list, report it:
> https://pagure.io/fedora-infrastructure
>
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to