Hi mentors, I am looking for some advice regarding to kazv-vodozemac-bindings[0], which I am packaging for the kazv Matrix client. The dependency chain is: kazv -> libkazv -> kazv-vodozemac-bindings -> rust-vodozemac
kazv-vodozemac-bindings is a community fork of the C++ bindings for the vodozemac Rust crate[1], it's being actively maintained by people behind the kazv project. Since Rust doesn't guarantee ABI stability, the upstream bumps SONAME every time there is a new version of the vodozemac crate.[2] For example, the current SONAME for the bindings is libvodozemac.so.0.2.1. This will change for every new minor version of vodozemac, and each new version will need to go through the NEW queue. My options seem to be: - Change the build system to use libvodozemac.so.0 as SONAME and monitor symbol changes in packaging, bump SOVERSION accordingly. This route can lead to many trips to the NEW queue in the foreseeable future. - Consider kazv-vodozemac-bindings and libkazv as a whole, and statically link libkazv, assume libkazv is the only consumer of the C++ bindings. This can conflict with the policy. Neither option looks ideal to me, and I couldn't find a good package in the archive to use as a precedent. Please let me know how I should proceed. [0]: https://r.lily-is.land/the-kazv-project/vodozemac-bindings [1]: https://crates.io/crates/vodozemac [2]: https://r.lily-is.land/the-kazv-project/vodozemac-bindings/commit/ 3a3b85bf3043ffa43bd6bc70e571b455a276e749 Thanks. Yifei

