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

Re: transition: libmusicbrainz3 (GCC 5)



On Sun, Aug 16, 2015 at 11:26:51 +0200, Julien Cristau wrote:

> any particular reason you're changing the library's SONAME instead of
> leaving it alone and adding Conflicts/Replaces on the old package, which
> seems to be the more usual pattern?

Indeed, the standard practice here is to change the binary package name, but
not to change the library soname without upstream coordination because this
will make the Debian binary incompatible with any other third-party binaries
built against the new C++ ABI using upstream sources rather than the Debian
package.

If you want an soname change, this should be done via upstream, not via a
Debian patch to the upstream build system in an NMU.

I'm uploading a new NMU with the attached patch, which brings
libmusicbrainz3 in line with best practices for this transition.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org
diff -u libmusicbrainz3-3.0.2/debian/changelog libmusicbrainz3-3.0.2/debian/changelog
--- libmusicbrainz3-3.0.2/debian/changelog
+++ libmusicbrainz3-3.0.2/debian/changelog
@@ -1,3 +1,12 @@
+libmusicbrainz3 (3.0.2-2.5) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Revert changes to upstream SONAME is previous NMU.  The g++5 transition
+    should not change upstream sonames without coordination.
+    Closes: #791141.
+
+ -- Steve Langasek <vorlon@debian.org>  Sun, 16 Aug 2015 09:41:05 +0000
+
 libmusicbrainz3 (3.0.2-2.4) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -u libmusicbrainz3-3.0.2/debian/control libmusicbrainz3-3.0.2/debian/control
--- libmusicbrainz3-3.0.2/debian/control
+++ libmusicbrainz3-3.0.2/debian/control
@@ -9,6 +9,8 @@
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libmusicbrainz3-6
+Replaces: libmusicbrainz3-6
 Description: library to access the MusicBrainz.org database
  MusicBrainz is a community music metadatabase that attempts to create a
  comprehensive music information site.
reverted:
--- libmusicbrainz3-3.0.2/debian/patches/gcc-5.patch
+++ libmusicbrainz3-3.0.2.orig/debian/patches/gcc-5.patch
@@ -1,18 +0,0 @@
-Description: Bump SONAME for GCC 5 transition
-Author: Sebastian Ramacher <sramacher@debian.org>
-Last-Update: 2015-08-02
-
---- libmusicbrainz3-3.0.2.orig/CMakeLists.txt
-+++ libmusicbrainz3-3.0.2/CMakeLists.txt
-@@ -15,8 +15,8 @@
- MATH(EXPR musicbrainz3_SOVERSION_MINOR "${musicbrainz3_SOVERSION_AGE}")
- MATH(EXPR musicbrainz3_SOVERSION_PATCH "${musicbrainz3_SOVERSION_REVISION}")
- 
--SET(musicbrainz3_VERSION ${musicbrainz3_SOVERSION_MAJOR}.${musicbrainz3_SOVERSION_MINOR}.${musicbrainz3_SOVERSION_PATCH})
--SET(musicbrainz3_SOVERSION ${musicbrainz3_SOVERSION_MAJOR})
-+SET(musicbrainz3_VERSION ${musicbrainz3_SOVERSION_MAJOR}v5.${musicbrainz3_SOVERSION_MINOR}.${musicbrainz3_SOVERSION_PATCH})
-+SET(musicbrainz3_SOVERSION ${musicbrainz3_SOVERSION_MAJOR}v5)
- 
- SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
- FIND_PACKAGE(Neon REQUIRED)
-

Attachment: signature.asc
Description: Digital signature


Reply to: