elementary / elementary/wingpanel

forwards-incompatible change to libwingpanel.so library name / soname after GTK4 port

Open
#687 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.