Hello debian-devel and mentors, Recently I found a disagreement with my mentor about proper handling of library transition (bumping SONAME) and we agreed that we need some suggestions.
Transition documentation (written by Release Team) can be found at [1]. Some quick facts: * We have a libdframeworkdbus1 with soname 1; it is a standard Multi-Arch library: % dpkg -L libdframeworkdbus1 /. /usr /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libdframeworkdbus.so.1.0.0 /usr/share /usr/share/doc /usr/share/doc/libdframeworkdbus1 /usr/share/doc/libdframeworkdbus1/changelog.Debian.gz /usr/share/doc/libdframeworkdbus1/changelog.gz /usr/share/doc/libdframeworkdbus1/copyright /usr/lib/x86_64-linux-gnu/libdframeworkdbus.so.1 /usr/lib/x86_64-linux-gnu/libdframeworkdbus.so.1.0 /usr/share/doc/libdframeworkdbus1/CHANGELOG.md.gz * Upstream released new version and bumped SONAME to 2 * -dev package didn't change its name * My mentor suggests that the new library package (libdframeworkdbus2) should add the relationship "Conflicts: libdframeworkdbus1" ...and such necessity is not reflected in the documentation. My personal thought is that with "smooth updates" (as described in [1]), the old library and the new library (with different SONAME) should be able to installed simultaneously on any Debian Unstable / Debian Testing system without any problem during the transition. If that is true, the "Conflicts:" relationship shouldn't appear. The "Replaces:" relationship [2] should not appear as well because there won't be any file conflcts. We'd like to know that with transitions for library soname bump, is "Conflicts:" relationship needed / not needed in all circumstances and what problem might users / developers encounter if it is added / not added. Thank you very much. -- Regards, Boyuan Yang [1] https://wiki.debian.org/Teams/ReleaseTeam/Transitions [2] https://www.debian.org/doc/debian-policy/#s-replaces
signature.asc
Description: This is a digitally signed message part.