-
Notifications
You must be signed in to change notification settings - Fork 319
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
Add versioning to shared library #223
Comments
But versioning also results in API / ABI promises. Which will lead us to symbol visibility. Which will somehow collide with the templated and non-virtual coding style of Prometheus-C++. But please get the discussion started with some code. |
I think this will ultimately be driven by linux distributions packaging requirements. |
Sorry for the delay - surprise work commitment required travel. I finally got around to try this (still learning cmake!) and it was quite easy, see 2c17862.
|
Hi, in the
|
What do you think about getting a package into debian? I imagine at the end of that process, all of these issues will be resolved one way or another. Regarding 3: technically in semver, everything goes below 1.0, so if we want to provide these guarantees, we should think about 1.0 at some point. I think it's matured enough to have a somewhat stable interface now. |
I gave the |
I will file an ITP with Debian and add the packaging stuff. Shouldn't be
too hard.
…On Mon, 17 Dec 2018, 19:55 Holger Hoffstätte ***@***.*** wrote:
I gave the symbol-visibility branch a try and it works well - thanks
@gjasny <https://github.com/gjasny> !
My original reason for raising this issue was that I build on Gentoo where
non-versioned shared libs are very unpopular (to put it mildly), since the
package manager is aware of API/ABI changes and can act accordingly
(warnings, automated rebuilds etc.). I plan to eventually contribute this
to Gentoo upstream as well.
Also agree with @jupp0r <https://github.com/jupp0r> that we can and
should break things (for good reason) as long as the version is <1.0. This
was more a long-term/packaging concern.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#223 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABHJHiQrDP_CZoqcNskRhAvl5XFt8-G6ks5u5-iagaJpZM4YcX57>
.
|
This is not urgent until we hit 1.0, but eventually it would be good if the shared library had at least basic x.y.z versioning since right now they look a bit naked, and this is not the most popular thing to do with packagers:
I can look into this for cmake and make a PR in the next few days.
The text was updated successfully, but these errors were encountered: