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

policy towards abi-dumper backwards and forward compatibility #15

Open
nmav opened this issue Mar 16, 2018 · 0 comments
Open

policy towards abi-dumper backwards and forward compatibility #15

nmav opened this issue Mar 16, 2018 · 0 comments

Comments

@nmav
Copy link

nmav commented Mar 16, 2018

abi-dumper is easy to use and combine with abi-compliance-checker and has it been used in several projects to track backwards compatibility. The way it was been used in the projects I was involved is keep a dump of old libraries, and then compare the current build against them.

Unfortunately at 1.1 abi-dumper broke compatibility with older files.

That caused the following issues.

  1. The abi-compliance-checker suddently stopped working within updates in distributions [0]
  2. Dumps of old libraries are no longer useful, and even worse, most of the times it is impossible to re-create (for the libidn2 library which I was trying the first versions are notoriously hard to compile on modern systems) - see [1]
  3. abi-dumper and abi-compliance-checker can now be used only if the dump is generated in the same system as the compliance-checker is run.

(3) is the worst of them as it makes relying to abi-dumper for continuous testing purposes impossible. It is very hard to guarrantee indefinitely that the system where these files are generated is exactly the same as the one abi-compliance-checker is run (as I said old libraries cannot be compiled in any arbitrary system, I have to compile them on the old systems they were intended to be run).

The question is what are the best practices for running these tools for that purpose? Would it make sense to have a minimal baseline format which will be portable and be always supported?

[0]. https://bugzilla.redhat.com/show_bug.cgi?id=1502214
[1]. https://gitlab.com/libidn/libidn2/issues/42

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

1 participant