Bug#791238: petsc: library transition may be needed when GCC 5 is the default
Martin Pitt
mpitt at debian.org
Wed Aug 5 14:17:54 UTC 2015
tag 791238 patch
user release.debian.org at packages.debian.org
usertag 791238 + transition
block 791238 by 790756
Hello,
this is a debdiff which we uploaded to Ubuntu (aside from some formal
debian/changelog differences). As debian/rules is really complex and I
don't have a good way of testing this, I'd appreciate a second look
before uploading this.
Thanks,
Martin
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
-------------- next part --------------
diff -Nru petsc-3.4.2.dfsg1/debian/changelog petsc-3.4.2.dfsg1/debian/changelog
--- petsc-3.4.2.dfsg1/debian/changelog 2014-08-06 18:01:01.000000000 +0200
+++ petsc-3.4.2.dfsg1/debian/changelog 2015-08-05 14:57:42.000000000 +0200
@@ -1,3 +1,11 @@
+petsc (3.4.2.dfsg1-8.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Rename library packages for g++5 ABI transition. (Closes: #791238)
+ * debian/rules: Adjust paths for renamed library.
+
+ -- Martin Pitt <mpitt at debian.org> Wed, 05 Aug 2015 14:48:34 +0200
+
petsc (3.4.2.dfsg1-8.1) unstable; urgency=low
* Non-maintainer upload.
diff -Nru petsc-3.4.2.dfsg1/debian/control petsc-3.4.2.dfsg1/debian/control
--- petsc-3.4.2.dfsg1/debian/control 2014-03-01 12:26:19.000000000 +0100
+++ petsc-3.4.2.dfsg1/debian/control 2015-08-05 15:01:56.000000000 +0200
@@ -20,12 +20,12 @@
Package: libpetsc3.4.2-dev
Architecture: linux-any hurd-any
Section: libdevel
-Depends: libpetsc3.4.2 (= ${binary:Version}), ${mpi-dev}, ${linear-algebra-dev}, ${petsc-compilers},
+Depends: libpetsc3.4.2v5 (= ${binary:Version}), ${mpi-dev}, ${linear-algebra-dev}, ${petsc-compilers},
${petsc-extra-dev}, libx11-dev, libsuitesparse-dev, libsuperlu-dev, libspooles-dev,
libhypre-dev (>= 2.0.0.dfsg-7), libptscotch-dev, ${babel-dev}, ${misc:Depends},
${hdf5-dev}, libblacs-mpi-dev, libscalapack-mpi-dev, libmumps-dev,
libfftw3-dev, libfftw3-mpi-dev
-Suggests: petsc-dev (= ${binary:Version}), libpetsc3.4.2-dbg (= ${binary:Version}), petsc3.4.2-doc (= ${binary:Version}), libluminate-dev
+Suggests: petsc-dev (= ${binary:Version}), libpetsc3.4.2v5-dbg (= ${binary:Version}), petsc3.4.2-doc (= ${binary:Version}), libluminate-dev
Provides: petsc3.4.2-dev
Description: Static libraries, shared links, header files for PETSc
PETSc is the "Portable Extensible Toolkit for Scientific Computation", a suite
@@ -39,15 +39,17 @@
Architecture: all
Section: libdevel
Depends: libpetsc3.4.2-dev, ${misc:Depends}
-Suggests: libpetsc3.4.2-dbg
+Suggests: libpetsc3.4.2v5-dbg
Description: Virtual package depending on latest PETSc development package
This metapackage will always depend on the most recent version of petscX-dev
(X=version), so if you install it then you will get upgrades automatically.
-Package: libpetsc3.4.2
+Package: libpetsc3.4.2v5
Architecture: linux-any hurd-any
Section: libs
Depends: ${shlibs:Depends}, ${mpi}, ${misc:Depends}
+Conflicts: libpetsc3.4.2
+Replaces: libpetsc3.4.2
Description: Shared libraries for version 3.4.2 of PETSc
PETSc is the "Portable Extensible Toolkit for Scientific Computation", a suite
of data structures and routines for the scalable (parallel) solution of
@@ -56,11 +58,13 @@
scientific applications, as well as various papers and talks, demonstrate the
features of the PETSc libraries.
-Package: libpetsc3.4.2-dbg
+Package: libpetsc3.4.2v5-dbg
Architecture: linux-any hurd-any
Section: debug
Depends: libpetsc3.4.2-dev (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
Provides: petsc3.4.2-dbg
+Conflicts: libpetsc3.4.2-dbg
+Replaces: libpetsc3.4.2-dbg
Description: Static debugging libraries for PETSc
PETSc is the "Portable Extensible Toolkit for Scientific Computation", a suite
of data structures and routines for the scalable (parallel) solution of
diff -Nru petsc-3.4.2.dfsg1/debian/libpetsc3.4.2-dbg.overrides petsc-3.4.2.dfsg1/debian/libpetsc3.4.2-dbg.overrides
--- petsc-3.4.2.dfsg1/debian/libpetsc3.4.2-dbg.overrides 2013-12-10 20:23:59.000000000 +0100
+++ petsc-3.4.2.dfsg1/debian/libpetsc3.4.2-dbg.overrides 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-# False positive: the copyright notice is somewhat buried in the upstream text
-libpetsc3.4.2-dbg: copyright-without-copyright-notice
diff -Nru petsc-3.4.2.dfsg1/debian/libpetsc3.4.2.overrides petsc-3.4.2.dfsg1/debian/libpetsc3.4.2.overrides
--- petsc-3.4.2.dfsg1/debian/libpetsc3.4.2.overrides 2013-12-10 20:23:59.000000000 +0100
+++ petsc-3.4.2.dfsg1/debian/libpetsc3.4.2.overrides 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-# False positive: the copyright notice is somewhat buried in the upstream text
-libpetsc3.4.2: copyright-without-copyright-notice
diff -Nru petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5-dbg.lintian-overrides petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5-dbg.lintian-overrides
--- petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5-dbg.lintian-overrides 1970-01-01 01:00:00.000000000 +0100
+++ petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5-dbg.lintian-overrides 2015-08-04 12:36:23.000000000 +0200
@@ -0,0 +1,2 @@
+# G++5 ABI transition
+libpetsc3.4.2v5-dbg: package-name-doesnt-match-sonames libpetsc3.4.2-dbg
diff -Nru petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5-dbg.overrides petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5-dbg.overrides
--- petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5-dbg.overrides 1970-01-01 01:00:00.000000000 +0100
+++ petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5-dbg.overrides 2015-08-04 12:36:23.000000000 +0200
@@ -0,0 +1,2 @@
+# False positive: the copyright notice is somewhat buried in the upstream text
+libpetsc3.4.2v5-dbg: copyright-without-copyright-notice
diff -Nru petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5.lintian-overrides petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5.lintian-overrides
--- petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5.lintian-overrides 1970-01-01 01:00:00.000000000 +0100
+++ petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5.lintian-overrides 2015-08-04 12:36:23.000000000 +0200
@@ -0,0 +1,2 @@
+# G++5 ABI transition
+libpetsc3.4.2v5: package-name-doesnt-match-sonames libpetsc3.4.2
diff -Nru petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5.overrides petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5.overrides
--- petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5.overrides 1970-01-01 01:00:00.000000000 +0100
+++ petsc-3.4.2.dfsg1/debian/libpetsc3.4.2v5.overrides 2015-08-04 12:36:23.000000000 +0200
@@ -0,0 +1,2 @@
+# False positive: the copyright notice is somewhat buried in the upstream text
+libpetsc3.4.2v5: copyright-without-copyright-notice
diff -Nru petsc-3.4.2.dfsg1/debian/rules petsc-3.4.2.dfsg1/debian/rules
--- petsc-3.4.2.dfsg1/debian/rules 2014-08-06 18:00:28.000000000 +0200
+++ petsc-3.4.2.dfsg1/debian/rules 2015-08-05 15:12:20.000000000 +0200
@@ -73,7 +73,7 @@
dh_quilt_unpatch
dh_clean -XTAGS
# These are needed for -lam, -dec and -contrib builds
- -rm -rf debian/lib$(PETSC_NAME) debian/lib$(PETSC_NAME)-dev \
+ -rm -rf debian/lib$(PETSC_NAME)v5 debian/lib$(PETSC_NAME)-dev \
debian/lib$(PETSC_NAME)-dbg
-rm -f build* install* debian/*.substvars debian/extemp $(ARCH_GENERATED_FILES)
# This is commented because it really doesn't do anything useful for us
@@ -212,15 +212,15 @@
rm -f debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-opt/conf/*.py
cp -a $(PETSC_ARCH)-c-opt/include debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-opt/
# Now conf and include for the -dbg package
- install -d debian/lib$(PETSC_NAME)-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/conf
- ln -s $(PETSC_ARCH)-c-debug debian/lib$(PETSC_NAME)-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-cxx-debug
+ install -d debian/lib$(PETSC_NAME)v5-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/conf
+ ln -s $(PETSC_ARCH)-c-debug debian/lib$(PETSC_NAME)v5-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-cxx-debug
for cfile in `ls $(PETSC_ARCH)-c-debug/conf`; do \
grep -v top_builddir $(PETSC_ARCH)-c-debug/conf/$$cfile | \
sed "s/`echo $(CURDIR) | sed s/\\\\//\\\\\\\\\\\\//g`/\/usr\/lib\/petscdir\/$(PETSC_VERSION)/g" > \
- debian/lib$(PETSC_NAME)-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/conf/$$cfile ; \
+ debian/lib$(PETSC_NAME)v5-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/conf/$$cfile ; \
done
- rm -f debian/lib$(PETSC_NAME)-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/conf/*.py
- cp -a $(PETSC_ARCH)-c-debug/include debian/lib$(PETSC_NAME)-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/
+ rm -f debian/lib$(PETSC_NAME)v5-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/conf/*.py
+ cp -a $(PETSC_ARCH)-c-debug/include debian/lib$(PETSC_NAME)v5-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/
# Install headers in PETSC_DIR/include
install -d debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/include/finclude
cp -p include/*.h include/*.hh \
@@ -263,13 +263,13 @@
cp -p debian/petsc.m4 debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/aclocal
cp -p debian/math-blaslapack.m4 debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/aclocal
# Install libs in PETSC_DIR, move shared libs to /usr/lib and symlink
- install -d debian/lib$(PETSC_NAME)/usr/lib
+ install -d debian/lib$(PETSC_NAME)v5/usr/lib
cp -a $(PETSC_ARCH)-c-opt/lib debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-opt/
- cp -a $(PETSC_ARCH)-c-debug/lib debian/lib$(PETSC_NAME)-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/
+ cp -a $(PETSC_ARCH)-c-debug/lib debian/lib$(PETSC_NAME)v5-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/
for LIB in `cd $(PETSC_ARCH)-c-opt/lib && ls *.so.*` ; \
do \
mv debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-opt/lib/$$LIB \
- debian/lib$(PETSC_NAME)/usr/lib/$$LIB ; \
+ debian/lib$(PETSC_NAME)v5/usr/lib/$$LIB ; \
ln -s ../../../../$$LIB \
debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-opt/lib/$$LIB ; \
done
@@ -277,21 +277,21 @@
install -d debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/lib
ln -s ../$(PETSC_ARCH)-c-opt/lib debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/lib/libO
ln -s ../$(PETSC_ARCH)-c-opt/lib debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/lib/libO_c++
- install -d debian/lib$(PETSC_NAME)-dbg/usr/lib/petscdir/$(PETSC_VERSION)/lib
- ln -s ../$(PETSC_ARCH)-c-debug/lib debian/lib$(PETSC_NAME)-dbg/usr/lib/petscdir/$(PETSC_VERSION)/lib/libg
- ln -s ../$(PETSC_ARCH)-c-debug/lib debian/lib$(PETSC_NAME)-dbg/usr/lib/petscdir/$(PETSC_VERSION)/lib/libg_c++
+ install -d debian/lib$(PETSC_NAME)v5-dbg/usr/lib/petscdir/$(PETSC_VERSION)/lib
+ ln -s ../$(PETSC_ARCH)-c-debug/lib debian/lib$(PETSC_NAME)v5-dbg/usr/lib/petscdir/$(PETSC_VERSION)/lib/libg
+ ln -s ../$(PETSC_ARCH)-c-debug/lib debian/lib$(PETSC_NAME)v5-dbg/usr/lib/petscdir/$(PETSC_VERSION)/lib/libg_c++
# Legacy symlink so packages for 3.0 can build against 3.4.2
ln -s variables debian/lib$(PETSC_NAME)-dev/usr/lib/petscdir/$(PETSC_VERSION)/conf/base
# Lintian overrides
- install -d debian/lib$(PETSC_NAME)/usr/share/lintian/overrides
+ install -d debian/lib$(PETSC_NAME)v5/usr/share/lintian/overrides
install -d debian/lib$(PETSC_NAME)-dev/usr/share/lintian/overrides
- install -d debian/lib$(PETSC_NAME)-dbg/usr/share/lintian/overrides
- sed "s/petsc3.4.2/$(PETSC_NAME)/" < debian/lib$(PETSC_NAME).overrides > \
- debian/lib$(PETSC_NAME)/usr/share/lintian/overrides/lib$(PETSC_NAME)
+ install -d debian/lib$(PETSC_NAME)v5-dbg/usr/share/lintian/overrides
+ sed "s/petsc3.4.2/$(PETSC_NAME)/" < debian/lib$(PETSC_NAME)v5.overrides > \
+ debian/lib$(PETSC_NAME)v5/usr/share/lintian/overrides/lib$(PETSC_NAME)v5
sed "s/petsc3.4.2/$(PETSC_NAME)/" < debian/lib$(PETSC_NAME)-dev.overrides > \
debian/lib$(PETSC_NAME)-dev/usr/share/lintian/overrides/lib$(PETSC_NAME)-dev
- sed "s/petsc3.4.2/$(PETSC_NAME)/" < debian/lib$(PETSC_NAME)-dbg.overrides > \
- debian/lib$(PETSC_NAME)-dbg/usr/share/lintian/overrides/lib$(PETSC_NAME)-dbg
+ sed "s/petsc3.4.2/$(PETSC_NAME)/" < debian/lib$(PETSC_NAME)v5-dbg.overrides > \
+ debian/lib$(PETSC_NAME)v5-dbg/usr/share/lintian/overrides/lib$(PETSC_NAME)v5-dbg
touch install-arch
# Depends on install-arch because it creates PETSC_DIR
@@ -409,7 +409,7 @@
sed "s/3.4.2/$(PETSC_VERSION)/" < debian/control.in | \
sed "s/$(PETSC_VERSION)-doc/3.4.2-doc/" | \
sed "s/Provides: $(PETSC_NAME)-dev/Provides: petsc3.4.2-dev/" | \
- sed "s/Provides: $(PETSC_NAME)-dbg/Provides: petsc3.4.2-dbg/" \
+ sed "s/Provides: $(PETSC_NAME)v5-dbg/Provides: petsc3.4.2-dbg/" \
> debian/control
if [ "$(DEBIAN_DIST)" = "contrib" ]; then \
sed "s/Section: lib/Section: contrib\/lib/" < debian/control > \
@@ -425,10 +425,10 @@
# Generate substvars for MPI, linear algebra implementations and dist
rm -f debian/*.substvars
if [ "$(PETSC_MPI)" = "openmpi" ]; then \
- echo "mpi=openmpi-bin" > debian/lib$(PETSC_NAME).substvars; \
+ echo "mpi=openmpi-bin" > debian/lib$(PETSC_NAME)v5.substvars; \
echo "mpi-dev=libopenmpi-dev" > debian/lib$(PETSC_NAME)-dev.substvars; \
elif [ "$(PETSC_MPI)" = "mpich" ]; then \
- echo "mpi=mpich" > debian/lib$(PETSC_NAME).substvars; \
+ echo "mpi=mpich" > debian/lib$(PETSC_NAME)v5.substvars; \
echo "mpi-dev=libmpich-dev" > debian/lib$(PETSC_NAME)-dev.substvars; \
else \
echo "Unknown MPI implementation, stopping"; \
@@ -463,10 +463,10 @@
dh_installdirs -a
dh_installdocs -a
dh_installchangelogs -a docs/changes/34.html
- dh_strip -a -Xlibg$(PETSC_BOPT_EXTRA) --dbg-package=libpetsc$(PETSC_VERSION)-dbg
+ dh_strip -a -Xlibg$(PETSC_BOPT_EXTRA) --dbg-package=libpetsc$(PETSC_VERSION)v5-dbg
#
# To avoid slepc complaining about shared libs being out of date
- touch debian/lib$(PETSC_NAME)-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/lib/*.so*
+ touch debian/lib$(PETSC_NAME)v5-dbg/usr/lib/petscdir/$(PETSC_VERSION)/$(PETSC_ARCH)-c-debug/lib/*.so*
dh_makeshlibs -a -m$(PETSC_VERSION)
dh_compress -a
dh_fixperms -a
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20150805/bd828566/attachment-0001.sig>
More information about the debian-science-maintainers
mailing list