Bug#791205: movit: library transition may be needed when GCC 5 is the default
tags 791205 patch
user release.debian.org@packages.debian.org
usertag 791205 + transition
block 791205 by 790756
reassign 791205 release.debian.org
thanks
On Fri, Jul 03, 2015 at 01:12:53PM +0000, Matthias Klose wrote:
> Package: src:movit
> Version: 1.1.3-1
> Severity: important
> Tags: sid stretch
> User: debian-gcc@lists.debian.org
> Usertags: libstdc++-cxx11
>
> Background [1]: libstdc++6 introduces a new ABI to conform to the
> C++11 standard, but keeps the old ABI to not break existing binaries.
> Packages which are built with g++-5 from experimental (not the one
> from testing/unstable) are using the new ABI. Libraries built from
> this source package export some of the new __cxx11 or B5cxx11 symbols,
> and dropping other symbols. If these symbols are part of the API of
> the library, then this rebuild with g++-5 will trigger a transition
> for the library.
>
> What is needed:
>
> - Rebuild the library using g++/g++-5 from experimental. Note that
> most likely all C++ libraries within the build dependencies need
> a rebuild too. You can find the log for a rebuild in
> https://people.debian.org/~doko/logs/gcc5-20150701/
> Search for "BEGIN GCC CXX11" in the log.
>
> - Decide if the symbols matching __cxx11 or B5cxx11 are part of the
> library API, and are used by the reverse dependencies of the
> library.
>
> - If there are no symbols matching __cxx11 or B5cxx11 in the symbols
> forming the library API, you should close this issue with a short
> explanation.
>
> - If there are no reverse dependencies, it should be the package
> maintainers decision if a transition is needed. However this might
> break software which is not in the Debian archive, and built
> against these packages.
>
> - If a library transition is needed, please prepare for the change.
> Rename the library package, append "v5" to the name of the package
> (e.g. libfoo2 -> libfoo2v5). Such a change can be avoided, if you
> have a soversion bump and you upload this version instead of the
> renamed package. Prepare a patch and attach it to this issue (mark
> this issue with patch), so that it is possible to NMU such a
> package. We'll probably have more than hundred transitions
> triggered. Then reassign the issue to release.debian.org and
> properly tag it as a transition issue, by sending an email to
> control@bugs.debian.org:
>
> user release.debian.org@packages.debian.org
> usertag <this issue> + transition
> block <this issue> by 790756
> reassign <this issue> release.debian.org
>
> - If unsure if a transition is needed, please tag the issue with help
> to ask for feedback from other Debian developers.
>
> The libstdc++6 transition will be a large one, and it will come with a
> lot of pain. Please help it by preparing the follow-up transitions.
>
> [1] https://wiki.debian.org/GCC5#libstdc.2B-.2B-_ABI_transition
--
Homepage: http://www.sesse.net/
diff -Nru movit-1.1.3/debian/changelog movit-1.1.3/debian/changelog
--- movit-1.1.3/debian/changelog 2015-03-29 01:10:31.000000000 +0100
+++ movit-1.1.3/debian/changelog 2015-07-03 23:50:13.000000000 +0200
@@ -1,3 +1,10 @@
+movit (1.1.3-2) unstable; urgency=medium
+
+ * Change package name to libmovit2v5 for rebuild with g++-5.0 with the
+ C++11 ABI; conflict with libmovit2. (Closes: #791205)
+
+ -- Steinar H. Gunderson <sesse@debian.org> Fri, 03 Jul 2015 23:44:52 +0200
+
movit (1.1.3-1) unstable; urgency=medium
* New upstream release.
diff -Nru movit-1.1.3/debian/control movit-1.1.3/debian/control
--- movit-1.1.3/debian/control 2014-04-12 02:37:06.000000000 +0200
+++ movit-1.1.3/debian/control 2015-07-03 23:50:03.000000000 +0200
@@ -9,7 +9,8 @@
Package: libmovit-dev
Section: libdevel
Architecture: any
-Depends: libmovit2 (= ${binary:Version}), ${misc:Depends}
+Depends: libmovit2v5 (= ${binary:Version}), ${misc:Depends}
+Conflicts: libmovit2
Description: GPU video filter library - development files
Movit is a high-quality, high performance, open-source library for video
filters. It uses the GPU present in almost any modern computer to
@@ -18,7 +19,7 @@
.
This package contains the header files and static libraries.
-Package: libmovit2
+Package: libmovit2v5
Section: libs
Architecture: any
Pre-Depends: ${misc:Pre-Depends}
diff -Nru movit-1.1.3/debian/libmovit2.dirs movit-1.1.3/debian/libmovit2.dirs
--- movit-1.1.3/debian/libmovit2.dirs 2014-03-16 22:41:42.000000000 +0100
+++ movit-1.1.3/debian/libmovit2.dirs 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/lib
diff -Nru movit-1.1.3/debian/libmovit2.install movit-1.1.3/debian/libmovit2.install
--- movit-1.1.3/debian/libmovit2.install 2014-03-16 22:57:27.000000000 +0100
+++ movit-1.1.3/debian/libmovit2.install 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-usr/lib/*/libmovit.so.*
-usr/share/movit/*
diff -Nru movit-1.1.3/debian/libmovit2v5.dirs movit-1.1.3/debian/libmovit2v5.dirs
--- movit-1.1.3/debian/libmovit2v5.dirs 1970-01-01 01:00:00.000000000 +0100
+++ movit-1.1.3/debian/libmovit2v5.dirs 2014-03-16 22:41:42.000000000 +0100
@@ -0,0 +1 @@
+usr/lib
diff -Nru movit-1.1.3/debian/libmovit2v5.install movit-1.1.3/debian/libmovit2v5.install
--- movit-1.1.3/debian/libmovit2v5.install 1970-01-01 01:00:00.000000000 +0100
+++ movit-1.1.3/debian/libmovit2v5.install 2014-03-16 22:57:27.000000000 +0100
@@ -0,0 +1,2 @@
+usr/lib/*/libmovit.so.*
+usr/share/movit/*
Reply to: