[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#476284: bullet package name/numbering



On Sat, Jan 26, 2013 at 10:05 AM, Markus Koschany <apo@gambaru.de> wrote:
> Hi Scott and Vincent,
>
> thank you for your feedback. At the moment i see two alternatives
> (three if a static library is not a taboo)

Static is not taboo and can be included in -dev packages. Depending
maintainers, however, are strongly encouraged against using your
static package since it increases the burden of security and
maintenance. I think that you really should include .so to be useful
though.


> I'm using CMAKE as build system because it is better supported by
> upstream. I can achieve something similar to the autotools -release
> LDFLAG with
>
> SET_TARGET_PROPERTIES(
>         BulletCollision
>         PROPERTIES
>                 VERSION 2
>                 SOVERSION 2.8.1
> )
>
> although you can find the following lines in upstream's CMakelists.txt
> files:
>
> SET_TARGET_PROPERTIES(BulletCollision PROPERTIES VERSION ${BULLET_VERSION})
> SET_TARGET_PROPERTIES(BulletCollision PROPERTIES SOVERSION ${BULLET_VERSION})

Oh, well that helps - if the soversion is bumped every time then you
might be OK with upstream's build system as is (just enable shared
libraries).

> As Vincent has already said, the Release Team won't like the thought to
> make a transition every time a new Bullet version is released. But is
> this really so bad? I mean, there are only a few packages which would
> depend on Bullet like Blender, perhaps Supertuxkart and probably
> FreeOrion.

FYI: check out OpenMW, they're making good progress and may make it
into Debian in the future.

Although the release team might not like the transitions, I bet they
prefer it to statically linked code throughout the archive. You can
talk with them ahead of time to find ways of responsibly managing
transitions.

> So if i understand the choices correctly, only bumping the SONAME is a
> sane solution.

Yes, if SONAME is bumped with every release, then that is acceptable
and borderline "sane" (sane in that it avoids breakage, however it
also will trigger a large number of transitions). I'm used to projects
that either never set the SONAME or screw up the ABI but not bump
SONAME. This is a different case, where the project is bumping the
SONAME frequently.


> Provided the aforementioned assumption is true, is there really a difference
> between
>
> libbulletcollision-2.81 -> libbulletcollision-2.81.so.0.0.0
>
> libbulletcollision2.81 -> libbulletcollision.so.2.81
>
> ? In the end the name of the package has to change, correct?

Yes - both would be ok (although the first case might not have the
0.0.0, it would just be libbulletcollision-2.81.so or the package name
would have to be libbulletcollision-2.81-0). That's all I wanted, was
to make sure the package name changes.

To get really confused, see the SDL packages
libsdl1.2debian0 -> libSDL-1.2.so.0.11.4  (Lintian says should be libsdl-1.2-0)
libsdl-1.3-0  -> libSDL-1.3.so.0.0.0
libsdl2-2.0-0 -> libSDL2-2.0.so.0.0.0

> I will also talk to the Multimedia Team who maintains Blender at the
> moment, perhaps they know best what kind of library they need and which
> approach is successful in the end.

Yes, please talk with those that would build with it - their opinions
count a lot
Cheers,
Scott


Reply to: