Hi.
19.01.19 00:24, Harald Welte пишет:
I've been looking at tagging new versions of our libraries. I know Pau in the past already used the abi-{dumper,tracer,...} toolkit, but I couldn't find any instructions about it, nor has it been automatized it seems.
Maybe we could integrate it into 'make release' helper of libosmocore?
gsm0808_cause_name() changes the size of the argumetn from uint8_t to an 'int' that may be 32/64bit in size :( That breaks ABI, so we need to bump soversion, or revert that change. As the gsup changes require a version bump anyway, we should be fine.
In general, is there particular reason why we wouldn't want to bump soversion when making new release? Unless it's a minor bugfix release of course but so far we haven't bothered with those AFAIK.
I've tried to add some general notes to https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release but there's still plenty of room for improvement. In general I thought that releasing new library version is the perfect opportunity to update soversion as well.
gsm0808_create_lcls_conn_ctrl() has changed its argument type. Are we sure there were no users of the function?
The only user I know of is OsmoBSC v1.3.0 which is part of several repositories according to https://repology.org/metapackage/osmo-bsc/versions - shall we change the function name or bumping soversion will take care of ABI incompatibility?
From reading old paper by Ulrich Drepper [1] the latter seems to be the case. If I'm missing something than we should document it by expanding our release wiki [2].
In libosmocore we have some problem related to 'struct log_target': http://people.osmocom.org/laforge/abi-report/compat_report/libosmocore/0.12.... I suppose this is "only" ABI breakage but not API breakage and hence a new libversion can rescue us?
I'm confused by this: I thought that API breakage is taken care by new release version while ABI breakage is handle with new libversion?
Feel free to comment. The most important part is to get the libosmocore/LCLS questions resolved.
Let me know if I should make a patch which will covert ABI breakage into new API by adding gsm0808_create_lcls_conn_ctrl2() for example.
[1] https://www.akkadia.org/drepper/dsohowto.pdf
[2] https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release