Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify module ABI stability #1680

Open
fsateler opened this issue Aug 9, 2019 · 3 comments
Open

Clarify module ABI stability #1680

fsateler opened this issue Aug 9, 2019 · 3 comments

Comments

@fsateler
Copy link

fsateler commented Aug 9, 2019

Hi,

It would be great for ZNC to track the stability of its plugin ABIs. The lack of ABI versioning forces downstreams to set very strict dependencies, with the resulting problem that any znc change needs rebuilds of plugins. See for example debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=917222

Keeping track of which changes are ABI compatible is not really easy with c++ libraries (see these KDE guidelines for example). Thus, I propose to be overly conservative and assume that everytime a header file changes, the versioning should be bumped. This would allow downstreams to relax module dependencies a little bit.

Thanks

@DarthGandalf
Copy link
Member

I think https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916764 is a better link.

We attempted this already, and failed. #1353 has more details, including links to more ABI-related issues.

@psychon
Copy link
Member

psychon commented Aug 10, 2019

The lack of ABI versioning forces downstreams to set very strict dependencies, with the resulting problem that any znc change needs rebuilds of plugins.
[...]
Thus, I propose to be overly conservative and assume that everytime a header file changes, the versioning should be bumped.

Am I missing something or is your proposal pretty much equivalent to the status quo? (but requires extra work since there would be an explicit ABI version number that needs to be bumped all the time?)
There are not many ZNC versions that do not differ in at least some header file, I think.

@fsateler
Copy link
Author

Am I missing something or is your proposal pretty much equivalent to the status quo? (but requires extra work since there would be an explicit ABI version number that needs to be bumped all the time?)
There are not many ZNC versions that do not differ in at least some header file, I think.

It would be mostly the same if the header files change all the time. It would make a bigger difference if they didn't change so often.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants