[hdf5] 06/08: Soname bump for c++ libs.
Gilles Filippini
pini at debian.org
Tue Nov 17 07:00:32 UTC 2015
This is an automated email from the git hooks/post-receive script.
pini pushed a commit to branch master
in repository hdf5.
commit 418b702a9b9bd2846977146e0c1d41dc504fa49d
Author: Gilles Filippini <pini at debian.org>
Date: Mon Nov 16 18:03:14 2015 +0100
Soname bump for c++ libs.
---
debian/changelog | 2 ++
debian/control | 8 ++---
debian/control.in | 8 ++---
debian/libhdf5-cpp-10.lintian-overrides | 3 --
debian/libhdf5-cpp-11.lintian-overrides | 3 ++
...bhdf5-cpp-10.symbols => libhdf5-cpp-11.symbols} | 4 +--
...in => libhdf5-flavor-cpp-soname_cxx.install.in} | 0
debian/make-version-scripts | 7 +++--
debian/process-symbols-files | 9 +++---
debian/rules | 34 +++++++++++++++-------
10 files changed, 47 insertions(+), 31 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 6a35bc5..01b4e0c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
hdf5 (1.8.16+docs-1) UNRELEASED; urgency=medium
* New upstream release.
+ * Starting with this release, each library has its own soname. Only
+ the cpp libs' soname was bumped this time.
-- Gilles Filippini <pini at debian.org> Mon, 16 Nov 2015 11:03:02 +0100
diff --git a/debian/control b/debian/control
index 89ae9f6..d8a55bc 100644
--- a/debian/control
+++ b/debian/control
@@ -41,7 +41,7 @@ Description: Hierarchical Data Format 5 (HDF5) - Debug package
.
This package contains debug libraries.
-Package: libhdf5-cpp-10
+Package: libhdf5-cpp-11
Section: libs
Architecture: any
Depends:
@@ -57,14 +57,14 @@ Description: Hierarchical Data Format 5 (HDF5) - C++ libraries
.
This package contains C++ libraries.
-Package: libhdf5-cpp-10-dbg
+Package: libhdf5-cpp-11-dbg
Section: debug
Priority: extra
Architecture: any
Depends:
${shlibs:Depends},
${misc:Depends},
- libhdf5-cpp-10 (= ${binary:Version}), libhdf5-10-dbg (= ${binary:Version})
+ libhdf5-cpp-11 (= ${binary:Version}), libhdf5-10-dbg (= ${binary:Version})
Multi-Arch: same
Description: Hierarchical Data Format 5 (HDF5) - C++ Debug package
HDF5 is a file format and library for storing scientific data.
@@ -78,7 +78,7 @@ Package: libhdf5-dev
Section: libdevel
Architecture: any
Depends: libhdf5-10 (= ${binary:Version}), zlib1g-dev, libjpeg-dev,
- ${misc:Depends}, hdf5-helpers, libhdf5-cpp-10 (= ${binary:Version})
+ ${misc:Depends}, hdf5-helpers, libhdf5-cpp-11 (= ${binary:Version})
Suggests: libhdf5-doc
Provides: libhdf5-serial-dev
Replaces: libhdf5-serial-dev (<< 1.8.12-9~)
diff --git a/debian/control.in b/debian/control.in
index e1510bb..20f6fc1 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -41,7 +41,7 @@ Description: Hierarchical Data Format 5 (HDF5) - Debug package
.
This package contains debug libraries.
-Package: libhdf5-cpp- at SONAME@
+Package: libhdf5-cpp- at SONAME_CXX@
Section: libs
Architecture: any
Depends:
@@ -57,14 +57,14 @@ Description: Hierarchical Data Format 5 (HDF5) - C++ libraries
.
This package contains C++ libraries.
-Package: libhdf5-cpp- at SONAME@-dbg
+Package: libhdf5-cpp- at SONAME_CXX@-dbg
Section: debug
Priority: extra
Architecture: any
Depends:
${shlibs:Depends},
${misc:Depends},
- libhdf5-cpp- at SONAME@ (= ${binary:Version}), libhdf5- at SONAME@-dbg (= ${binary:Version})
+ libhdf5-cpp- at SONAME_CXX@ (= ${binary:Version}), libhdf5- at SONAME@-dbg (= ${binary:Version})
Multi-Arch: same
Description: Hierarchical Data Format 5 (HDF5) - C++ Debug package
HDF5 is a file format and library for storing scientific data.
@@ -78,7 +78,7 @@ Package: libhdf5-dev
Section: libdevel
Architecture: any
Depends: libhdf5- at SONAME@ (= ${binary:Version}), zlib1g-dev, libjpeg-dev,
- ${misc:Depends}, hdf5-helpers, libhdf5-cpp- at SONAME@ (= ${binary:Version})
+ ${misc:Depends}, hdf5-helpers, libhdf5-cpp- at SONAME_CXX@ (= ${binary:Version})
Suggests: libhdf5-doc
Provides: libhdf5-serial-dev
Replaces: libhdf5-serial-dev (<< 1.8.12-9~)
diff --git a/debian/libhdf5-cpp-10.lintian-overrides b/debian/libhdf5-cpp-10.lintian-overrides
deleted file mode 100644
index 3d1e9e4..0000000
--- a/debian/libhdf5-cpp-10.lintian-overrides
+++ /dev/null
@@ -1,3 +0,0 @@
-libhdf5-cpp-10: package-name-doesnt-match-sonames libhdf5-cpp10 libhdf5-hl-cpp10
-# false positive because upstream release is 1.8.15-patch1
-libhdf5-cpp-10: symbols-file-contains-debian-revision on symbol HDF5_CPP_1.8.15.1 at HDF5_CPP_1.8.15.1 and 153 others
diff --git a/debian/libhdf5-cpp-11.lintian-overrides b/debian/libhdf5-cpp-11.lintian-overrides
new file mode 100644
index 0000000..56620a9
--- /dev/null
+++ b/debian/libhdf5-cpp-11.lintian-overrides
@@ -0,0 +1,3 @@
+libhdf5-cpp-11: package-name-doesnt-match-sonames libhdf5-cpp11 libhdf5-hl-cpp11
+# false positive because upstream release is 1.8.15-patch1
+libhdf5-cpp-11: symbols-file-contains-debian-revision on symbol HDF5_CPP_1.8.15.1 at HDF5_CPP_1.8.15.1 and 153 others
diff --git a/debian/libhdf5-cpp-10.symbols b/debian/libhdf5-cpp-11.symbols
similarity index 99%
rename from debian/libhdf5-cpp-10.symbols
rename to debian/libhdf5-cpp-11.symbols
index d5b6c9f..aa76ab6 100644
--- a/debian/libhdf5-cpp-10.symbols
+++ b/debian/libhdf5-cpp-11.symbols
@@ -1,4 +1,4 @@
-libhdf5_cpp.so.10 libhdf5-cpp-10 #MINVER#
+libhdf5_cpp.so.11 libhdf5-cpp-11 #MINVER#
(optional|c++)"H5::AbstractDs::AbstractDs()@HDF5_CPP_1.8.9" 1.8.13
(optional|c++)"H5::AbstractDs::AbstractDs(int)@HDF5_CPP_1.8.9" 1.8.13
(optional|c++)"H5::AbstractDs::getArrayType() const at HDF5_CPP_1.8.9" 1.8.13
@@ -1044,7 +1044,7 @@ libhdf5_cpp.so.10 libhdf5-cpp-10 #MINVER#
(optional|c++)"vtable for H5::ReferenceException at HDF5_CPP_1.8.9" 1.8.13
(optional|c++)"vtable for H5::StrType at HDF5_CPP_1.8.9" 1.8.13
(optional|c++)"vtable for H5::VarLenType at HDF5_CPP_1.8.9" 1.8.13
-libhdf5_hl_cpp.so.10 libhdf5-cpp-10 #MINVER#
+libhdf5_hl_cpp.so.11 libhdf5-cpp-11 #MINVER#
(optional|c++)"FL_PacketTable::AppendPacket(void*)@HDF5_CPP_1.8.9" 1.8.13
(optional|c++)"FL_PacketTable::AppendPackets(unsigned long, void*)@HDF5_CPP_1.8.13" 1.8.13
(optional|c++)"FL_PacketTable::FL_PacketTable(int, char*)@HDF5_CPP_1.8.9" 1.8.13
diff --git a/debian/libhdf5-flavor-cpp-soname.install.in b/debian/libhdf5-flavor-cpp-soname_cxx.install.in
similarity index 100%
rename from debian/libhdf5-flavor-cpp-soname.install.in
rename to debian/libhdf5-flavor-cpp-soname_cxx.install.in
diff --git a/debian/make-version-scripts b/debian/make-version-scripts
index e0becbe..c9d2e72 100755
--- a/debian/make-version-scripts
+++ b/debian/make-version-scripts
@@ -7,8 +7,9 @@ set -e
debian_dir="$(dirname "$(readlink -f "$0")")"
cd "$debian_dir"
-# 2- Get soname
-soname=$(./rules soname)
+# 2- Get sonames
+soname=$(./rules SONAME)
+soname_cxx=$(./rules SONAME_CXX)
# 3- Read mangled C++ symbols table and declare tne new table
declare -A mangled
@@ -83,7 +84,7 @@ function map_symbols_file {
rm -f mangled-symbols-table.new
map_symbols_file "libhdf5-$soname.symbols" | sed 's/@MAP@/SERIAL/' >map_serial.ver
-map_symbols_file "libhdf5-cpp-$soname.symbols" | sed 's/@MAP@/CPP/' >>map_serial.ver
+map_symbols_file "libhdf5-cpp-$soname_cxx.symbols" | sed 's/@MAP@/CPP/' >>map_serial.ver
map_symbols_file "libhdf5-openmpi-$soname.symbols" | sed 's/@MAP@/MPI/' >map_mpi.ver
# 5- Replace the mangled C++ symbols table with the updated one
diff --git a/debian/process-symbols-files b/debian/process-symbols-files
index 57c8494..bbb689c 100755
--- a/debian/process-symbols-files
+++ b/debian/process-symbols-files
@@ -6,9 +6,10 @@ set -e
debian_dir="$(dirname "$(readlink -f "$0")")"
cd "$debian_dir"
-# 2- Get version an soname
+# 2- Get version and sonames
version="$(grep 'HDF5 config.lt' ../configure | awk '{print $3}' | sed 's/-patch/./')"
-soname=$(./rules soname)
+soname=$(./rules SONAME)
+soname_cxx=$(./rules SONAME_CXX)
# 3- Unmangle c++ symbols in symbols file
# While doing this we keep trac of the mangled symbol in the file
@@ -39,7 +40,7 @@ if [ -f mangled-symbols-table ]; then
cp mangled-symbols-table mangled-symbols-table.new
fi
unmangle_symbols_file "libhdf5-$soname.symbols" | sed 's/#MAP#/SERIAL/' >"libhdf5-$soname.symbols.new"
-unmangle_symbols_file "libhdf5-cpp-$soname.symbols" | sed 's/#MAP#/CPP/' >"libhdf5-cpp-$soname.symbols.new"
+unmangle_symbols_file "libhdf5-cpp-$soname_cxx.symbols" | sed 's/#MAP#/CPP/' >"libhdf5-cpp-$soname_cxx.symbols.new"
unmangle_symbols_file "libhdf5-openmpi-$soname.symbols" | sed 's/#MAP#/MPI/' >"libhdf5-openmpi-$soname.symbols.new"
unmangle_symbols_file "libhdf5-mpich-$soname.symbols" | sed 's/#MAP#/MPI/' >"libhdf5-mpich-$soname.symbols.new"
if [ -f mangled-symbols-table.new ]; then
@@ -48,7 +49,7 @@ fi
# 4- Sort symbols in symbols file to workaround bug #773718
./sort-symbols "libhdf5-$soname.symbols.new" >"libhdf5-$soname.symbols"
-./sort-symbols "libhdf5-cpp-$soname.symbols.new" >"libhdf5-cpp-$soname.symbols"
+./sort-symbols "libhdf5-cpp-$soname_cxx.symbols.new" >"libhdf5-cpp-$soname_cxx.symbols"
./sort-symbols "libhdf5-openmpi-$soname.symbols.new" >"libhdf5-openmpi-$soname.symbols"
./sort-symbols "libhdf5-mpich-$soname.symbols.new" >"libhdf5-mpich-$soname.symbols"
diff --git a/debian/rules b/debian/rules
index b320a68..bff4ebc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -15,17 +15,28 @@ include /usr/share/dpkg/buildflags.mk
package = libhdf5
pkgversion ?= $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}')
version ?= $(shell echo $(pkgversion) | sed 's/\([0-9\.]\)\(+docs[0-9]*\)\?-[^-]*$$/\1/')
-soname = 10
-# Target used by helper script make-version-scripts
-soname:
- @echo $(soname)
+# Get sonames from config/lt_vers.am
+include config/lt_vers.am
+INTERFACES := @ _CXX _F _HL _HL_CXX _F _TOOLS
+istr = $(subst @,,$(interface))
+$(foreach interface,$(INTERFACES),$(eval \
+ SONAME$(istr) := $(shell echo $$(($(LT$(istr)_VERS_INTERFACE) - $(LT$(istr)_VERS_AGE))))))
+
+# Informative target
+sonames:
+ @$(foreach interface,$(INTERFACES),echo "SONAME$(istr) = $(SONAME$(istr))" &&) true
+
+# Targets used by helper script make-version-scripts
+SONAM%: interface = $(subst SONAME,,$@)
+SONAM%:
+ @echo $(SONAME$(istr))
major_version = $(shell echo $(version) | cut -d. -f1,2)
-serpack = $(package)-$(soname)
-sercpppack = $(package)-cpp-$(soname)
-openmpipack = $(package)-openmpi-$(soname)
-mpichpack = $(package)-mpich-$(soname)
+serpack = $(package)-$(SONAME)
+sercpppack = $(package)-cpp-$(SONAME_CXX)
+openmpipack = $(package)-openmpi-$(SONAME)
+mpichpack = $(package)-mpich-$(SONAME)
virtpack = $(package)-$(major_version)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
@@ -112,7 +123,7 @@ configure-stamp-debian: debian/control.in
# This loop generates helper files from debian/*.*.in templates
cd debian && for file in *.*.in; do \
for flavor in serial openmpi mpich; do \
- helper=`basename $$file .in | sed 's/soname/$(soname)/g'` ; \
+ helper=`basename $$file .in | sed 's/soname_cxx/$(SONAME_CXX)/g;s/soname/$(SONAME)/g'` ; \
flavorpkgstr="" ; \
flavorlibstr="" ; \
ifmpi="#"; \
@@ -133,7 +144,8 @@ configure-stamp-debian: debian/control.in
-e 's/@IFMPI@/'$$ifmpi'/g' \
-e 's/@IFSERIAL@/'$$ifserial'/g' \
-e 's/@MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
- -e 's/@SONAME@/$(soname)/g' \
+ -e 's/@SONAME_CXX@/$(SONAME_CXX)/g' \
+ -e 's/@SONAME@/$(SONAME)/g' \
$$file >$$helper ; \
done ; \
done
@@ -223,7 +235,7 @@ clean:
-rm -rf debian/build
-rm -rf debian/build-openmpi
-rm -rf debian/build-mpich
- grep -v ^\% debian/control.in | sed -e "s/@SONAME@/$(soname)/g" -e "s/@OMPIARCHS@/$(OMPIARCHS)/" -e "s/@MPICHARCHS@/$(MPICHARCHS)/" -e "s/@MAJOR_VERSION@/$(major_version)/" > debian/control
+ grep -v ^\% debian/control.in | sed -e "s/@SONAME@/$(SONAME)/g" -e "s/@SONAME_CXX@/$(SONAME_CXX)/g" -e "s/@OMPIARCHS@/$(OMPIARCHS)/" -e "s/@MPICHARCHS@/$(MPICHARCHS)/" -e "s/@MAJOR_VERSION@/$(major_version)/" > debian/control
dh_autoreconf_clean
rm -f m4/l*
-cd debian && rm -f `ls libhdf5-*.install libhdf5-*.shlibs libhdf5-*.doc | grep -v 'libhdf5-doc'`
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/hdf5.git
More information about the Pkg-grass-devel
mailing list