Hi,<br><br><div class="gmail_quote">On Thu, Jun 21, 2012 at 7:58 PM, Michael Jansen <span dir="ltr"><<a href="mailto:info@michael-jansen.biz" target="_blank">info@michael-jansen.biz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<u></u>
<div style="font-family:'Monospace';font-size:10pt;font-weight:400;font-style:normal"><div class="im">
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">On Wednesday, June 20, 2012 11:56:51 PM Andreas Pakulat wrote:</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> Hi,</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> On Wed, Jun 20, 2012 at 9:30 PM, Michael Jansen <<a href="mailto:info@michael-jansen.biz" target="_blank">info@michael-jansen.biz</a>>wrote:</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> > 2. Make the necessary build-system changes to use this version information</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> > for the .SO names.</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> IMHO this is wrong, the numbers tagged to the end of a shared-object thats</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> used as a shared library really have nothing to do with the release version</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> number. The number is only used to distinguish compatibility of different</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> release of the same library.</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
</div><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">I do not disagree. But this is how it is currently done unless i am mistaken. Which is certainly possible.</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">So unless someone comes up with a better solution or explains why and how i am wrong i will keep that because i am pretty sure requiring people to manually update the soname for each release is a recipe to disaster and a way to annoy our packagers.</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">But if you have a solution or idea for that? Keep it coming. We could define the soversion too in that configuration file. But how and when to increase? On each major and minor release increase it automatically too?</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">Btw. kdelibs/cmake/modules/KDE4Defaults.cmake:22 ++</p><div class="im">
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> And you cannot really go back to 4.2.0 now that 4.9.0 is going to be</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> released. The only option would be to move forward to 5.2.0. So still no</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">> exact match between release-version and soname.</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
</div><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">I don't want to go back. kdepim4.x will always use the kdelibs versions for its soname and not its own version. Unless we rerelease it i can't and don't want to change that.</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">So the sonames we are talking of are 4.1x or 5.0 depending on the versions we put the changes live.</p></div></blockquote><div>
<br></div><div>Hmm, I may have to retract here, it seems my mail was led by false assumptions based on the shared libs I have here.</div><div><br></div><div>So, I now think that generating the second and third digit of the version from a file automatically, so it matches the minor and bugfix version of the project that the shared library belongs to is just fine. As far as I can see from <a href="http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html">http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html</a> the soversion and the first digit of the three-digit version number need to match. Since you don't want to update the soversion automatically as it has far-reaching consequences to do that, that part should not be auto-generated for the VERSION property. So read out minor and bugfix version and append that to the SOVERSION property to create a value for VERSION in cmake.</div>
<div><br></div><div>Andreas</div></div>