Comment 9 for bug 2025519

Revision history for this message
Lukas Märdian (slyon) wrote :

Thank you for the reviews!

> It was initially confusing to me that this was a backport of a version that's been superseded in mantic, and also that it includes the addition of a number of files under debian/patches; I wondered why these had not been committed upstream. Then I saw that these were present in the -7 package, so this is ok from that perspective.

Right, I backported the 0.106.1-7 version, as I didn't want to introduce the package split into the LTS for now. It's not needed and only makes things more complicated. Also, the (non-superseeded) 0.107 version in Mantic is not yet ready for SRU, as it didn't see lots of real-world usage yet, thus the backport of 0.106.1.

> [...] But the net effect here is that you are now introducing a libnetplan0 package in the archive, whose version number is >= 0.106, but whose ABI does not match what is declared in later versions - so if someone installs this package in jammy, then upgrades to mantic, apt may not have correct information about the necessary order in which packages must be upgraded, because a new package using these symbols in mantic will think that the version in jammy satisfies the dependency!

Those symbols were exported by accident in 0.106[.1] and are (supposed to be) unused. They will be dropped with an SOVER bump in 24.04. I thought it would be better to not export them in the stable series, so people don't start to depend on it. But I see the ordering issue you're describing on the Jammy -> Mantic dist upgrade. We can easily drop that patch (and update the .symbols file accordingly).

> debian/netplan.io.install => lib/netplan/*

In Mantic we're dropping a legacy symlink for the Netplan generator in "lib/netplan/generate" (see debian/rules:execute_after_dh_auto_install), in order to make room for a fully usrmerge-ready package (still depends on some updated systemd "generator path" pkgconf data). In the stable series we want to keep that symlink on disk for backwards compatibility. In case anybody depends on it.