Bug#791046: getfem++: library transition may be needed when GCC 5 is the default

2015-08-12 Thread Steve Langasek
Package: getfem++
Version: 4.2.1~beta1~svn4635~dfsg-3
Followup-For: Bug #791046
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu wily ubuntu-patch

Dear maintainers,

Since the new C++11 symbols reported in this bug report include things other
than libstdc++ templates, and since getfem++ has reverse-dependencies in the
archive, in Ubuntu we've proceeded with a package rename for this
ABI-breaking change.

Should you agree and wish to make this same change in Debian, you can find
the patch attached.

Regards,
-- 
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 Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org
diff -Nru getfem++-4.2.1~beta1~svn4635~dfsg/debian/changelog getfem++-4.2.1~beta1~svn4635~dfsg/debian/changelog
diff -Nru getfem++-4.2.1~beta1~svn4635~dfsg/debian/control getfem++-4.2.1~beta1~svn4635~dfsg/debian/control
--- getfem++-4.2.1~beta1~svn4635~dfsg/debian/control	2014-05-03 01:27:48.0 -0700
+++ getfem++-4.2.1~beta1~svn4635~dfsg/debian/control	2015-08-12 14:47:58.0 -0700
@@ -35,7 +35,7 @@
 Section: debug
 Architecture: any
 Depends:
- libgetfem4++ (= ${binary:Version}),
+ libgetfem4++v5 (= ${binary:Version}),
  ${misc:Depends},
  ${shlibs:Depends}
 Description: Debugging symbols for the GETFEM++ generic finite element library
@@ -51,7 +51,7 @@
 Architecture: any
 Depends:
  libboost-dev,
- libgetfem4++ (= ${binary:Version}),
+ libgetfem4++v5 (= ${binary:Version}),
  libgmm++-dev,
  libmuparser-dev [!hurd-i386],
  libsuperlu-dev,
@@ -64,7 +64,7 @@
  This package contains development files for building software that uses the
  GETFEM++ library.
 
-Package: libgetfem4++
+Package: libgetfem4++v5
 Pre-Depends:
  ${misc:Pre-Depends}
 Multi-Arch: same
@@ -72,6 +72,8 @@
 Depends:
  ${misc:Depends},
  ${shlibs:Depends}
+Conflicts: libgetfem4++
+Replaces: libgetfem4++
 Description: GETFEM++ generic finite element library
  GETFEM++ is a library allowing the computation of any elementary matrix (even
  for mixed finite element methods) on the largest class of methods and elements,
@@ -96,7 +98,7 @@
 Section: python
 Architecture: any
 Depends:
- libgetfem4++ (= ${binary:Version}),
+ libgetfem4++v5 (= ${binary:Version}),
  python (2.8),
  python (= 2.7),
  python-numpy,
@@ -119,7 +121,7 @@
 Multi-Arch: same
 Architecture: alpha amd64 armel armhf i386 ia64 mips mipsel powerpc s390 s390x sparc
 Depends:
- libgetfem4++ (= ${binary:Version}),
+ libgetfem4++v5 (= ${binary:Version}),
  scilab,
  ${misc:Depends},
  ${shlibs:Depends}
diff -Nru getfem++-4.2.1~beta1~svn4635~dfsg/debian/libgetfem4++.install getfem++-4.2.1~beta1~svn4635~dfsg/debian/libgetfem4++.install
--- getfem++-4.2.1~beta1~svn4635~dfsg/debian/libgetfem4++.install	2013-12-05 09:06:53.0 -0800
+++ getfem++-4.2.1~beta1~svn4635~dfsg/debian/libgetfem4++.install	1969-12-31 16:00:00.0 -0800
@@ -1 +0,0 @@
-usr/lib/*/libgetfem.so.4*
diff -Nru getfem++-4.2.1~beta1~svn4635~dfsg/debian/libgetfem4++v5.install getfem++-4.2.1~beta1~svn4635~dfsg/debian/libgetfem4++v5.install
--- getfem++-4.2.1~beta1~svn4635~dfsg/debian/libgetfem4++v5.install	1969-12-31 16:00:00.0 -0800
+++ getfem++-4.2.1~beta1~svn4635~dfsg/debian/libgetfem4++v5.install	2015-08-03 16:42:08.0 -0700
@@ -0,0 +1 @@
+usr/lib/*/libgetfem.so.4*
-- 
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers

Bug#791046: getfem++: library transition may be needed when GCC 5 is the default

2015-07-03 Thread Matthias Klose
Package: src:getfem++
Version: 4.2.1~beta1~svn4635~dfsg-3
Severity: important
Tags: sid stretch
User: debian-...@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
   cont...@bugs.debian.org:
   
 user release.debian@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

-- 
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers