Ticket #467 (closed defect: fixed)

Opened 5 years ago

Last modified 4 years ago

please use library versioning

Reported by: marcusb Owned by: pmarat
Priority: normal Milestone: OpenSync 0.40
Component: OpenSync Version: 0.30
Severity: normal Keywords:
Cc:

Description

I've noticed that OpenSync? does not use library versioning. This causes problems [1] for binary distributions like Debian, because they need to keep track of ABI changes so that apps can be linked against the correct library.

If would simplify things a lot if you would use the -version-info option of libtool, and bump the version number each time the ABI breaks.

[1]  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=404856

Change History

comment:1 Changed 5 years ago by marcusb

  • Version changed from 0.21 to 0.30

comment:2 Changed 5 years ago by marcusb

Hi. Let me explain why library versioning is important to us Debian maintainers.

If we package 0.30, which breaks ABI and doesn't use versioning, then there are two options:

  1. Retain the library name. This will require a rebuild and simultaneous upgrade of all dependent packages, and their recursive dependencies. That can cause upgrade problems for users. What's worse, any binaries the user may have built against the old version will start to crash, or worse.
  1. Change the library name to avoid conflicts. This means that users can no longer build an application against libopensync on a system with another Linux distribution, or with the upstream sources, and have it run on a Debian system. Since we want to support such uses, this is not a good option either.

Both ways will lead to irritated users and additional unnecessary bug reports for you and us, and will ultimately prevent the success and widespread use of OpenSync?.

Thanks for working on OpenSync?! Regards,

Marcus

comment:3 Changed 5 years ago by dgollub

  • Status changed from new to closed
  • Resolution set to invalid

At the moment we're lacking at SO-NAMING support in our scons environment. Sorry about that .. the implementation of SO-NAMING support in our scons env is planned. I don't recommend to package 0.30 yet .. it's only interesting for developers and advanced testing and maybe for packagers which need some time to get familiar with scons.

There are several reason at the moment to not package/use 0.30 yet: There are some known regression (see release announcement). There are only a few - or only the file-sync plugin - which got fully ported to 0.30 Event the vformat plugin isn't in a productive/stable state...

Patches for SO-Naming support in our scons environment are welcome...

I hope we have some versioning with 0.31 or 0.32 ...

Again, i can't recommend to package 0.30! Maybe it wasn't obvious enough in the announcement .. i try to do better next time :)

comment:4 Changed 5 years ago by dgollub

  • Status changed from closed to reopened
  • Resolution invalid deleted

comment:5 Changed 5 years ago by pmarat

  • Owner changed from abauer to pmarat
  • Status changed from reopened to new
  • Milestone set to 0.31

comment:6 Changed 5 years ago by pmarat

  • Status changed from new to assigned

comment:7 Changed 5 years ago by dgollub

  • Status changed from assigned to closed
  • Resolution set to fixed

With 0.31 we have so-naming (1.0.0).

comment:8 Changed 4 years ago by cstender

  • Milestone changed from 0.31 to OpenSync 0.40

Milestone 0.31 deleted

Note: See TracTickets for help on using tickets.