elementary / elementary/wingpanel
forwards-incompatible change to libwingpanel.so library name / soname after GTK4 port
- Dominant language
- Vala
- Stars
- 144
- Forks
- 53
- Avg merge
- 13h 44m
- Merged PRs (30d)
- 22
Description
It looks like the GTK4 port (https://github.com/elementary/wingpanel/pull/579) introduced changes to how the library is named and versioned (i.e. `libwingpanel.so.8.0.4` → `libwingpanel-9.so.8.0.4`). This looks potentially problematic, because it changed the library *name* to have the `-9` suffix, but kept the library versioning (i.e. "use project version, and use project major version for the ABI version").
This means that as soon wingpanel 9.0.0 is tagged, it will be immediately "ABI-incompatible" because it will ship `libwingpanel-9.so.9` instead of `libwingpanel-9.so.8` - requiring a rebuild of everything that links against libwingpanel even though the ABI doesn't actually change with the "Release 9.0.0" commit.
If you rename the library to have the `-9` suffix in the library *name* instead of the library *version*, then I would suggest to just statically set `library(soversion: "0")` until such time as the libwingpanel-9 ABI actually changes again, and then increment it to "1" (i.e. make it independent of the meson project version, since it doesn't actually reflect the library ABI).
→ see also my comment [here](https://github.com/elementary/wingpanel/pull/579#issuecomment-4169834889), but also filing as an issue for better visibility since I do think this is an actual bug
Contributor guide
Assessment
This issue has not been assessed yet.