--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: 984...@bugs.debian.org
[ Reason ]
Bug#984638 has requested a backport of h5py to buster in order to
support other packages used on it.
I've prepared a backport of 2.10.0-9 and am ready to upload if
approved.
Current h5py 2.10 from testing uses python3-mpi4py-dbg, which is not
available in buster. I therefore removed the python3-h5py-dbg package
(i.e. the build for python3-dbg) from the backport.
The backport builds cleanly in a pbuilder buster chroot, including
passing build-time tests.
[ Impact ]
If not approved, the bug requester will be unable to complete the
tasks they wanted to perform on buster.
[ Tests ]
Build-time tests pass. debian/tests is available.
[ Risks ]
Loses python3-h5py-dbg.
Build using the pkg-config hdf5-mpi.pc file set by alternatives had to
be dropped. The build uses the old mechanism of selected
hdf5-openmpi.pc or hdf5-mpich.pc, which should still work. Release
arches use hdf5-openmpi.pc, which is tested.
Dependent packages in buster have not been tested against this backport.
[ Checklist ]
[✓] *all* changes are documented in the d/changelog
[✓] I reviewed all changes and I approve them
[o] attach debdiff against the package in testing
(debdiff against package in stable is large)
[✓] the issue is verified as fixed in unstable
[ Changes ]
* Backport to stable (buster). Closes: #984638.
- Standards-Version: 4.3.0
- revert building python3-h5py-dbg from 2.9.0-7
(python3-mpi4py-dbg is not available on buster)
i.e. drop python3-h5py*-dbg packages,
drop Build-Depends: python3-all-dbg, cython3-dbg
- revert change in 2.10.0-6 using hdf5-mpi.pc as pkg-config file
(not available in libhdf5-mpi-dev 1.10.4+repack-10 for buster)
- revert use of system liblzf-dev from 2.10.0-8
* use wildcard for mathjax version when replacing references
(but only replace references if they are found)
diff -Nru h5py-2.10.0/debian/changelog h5py-2.10.0/debian/changelog
--- h5py-2.10.0/debian/changelog 2020-08-17 13:54:50.000000000 +0200
+++ h5py-2.10.0/debian/changelog 2021-03-30 13:01:26.000000000 +0200
@@ -1,3 +1,20 @@
+h5py (2.10.0-9~bpo1+buster1) stable; urgency=medium
+
+ * Team upload.
+ * Backport to stable (buster). Closes: #984638.
+ - Standards-Version: 4.3.0
+ - revert building python3-h5py-dbg from 2.9.0-7
+ (python3-mpi4py-dbg is not available on buster)
+ i.e. drop python3-h5py*-dbg packages,
+ drop Build-Depends: python3-all-dbg, cython3-dbg
+ - revert change in 2.10.0-6 using hdf5-mpi.pc as pkg-config file
+ (not available in libhdf5-mpi-dev 1.10.4+repack-10 for buster)
+ - revert use of system liblzf-dev from 2.10.0-8
+ * use wildcard for mathjax version when replacing references
+ (but only replace references if they are found)
+
+ -- Drew Parsons <dpars...@debian.org> Tue, 30 Mar 2021 13:01:26 +0200
+
h5py (2.10.0-9) unstable; urgency=medium
* Team upload.
diff -Nru h5py-2.10.0/debian/control h5py-2.10.0/debian/control
--- h5py-2.10.0/debian/control 2020-08-17 13:54:50.000000000 +0200
+++ h5py-2.10.0/debian/control 2021-03-30 13:01:26.000000000 +0200
@@ -5,28 +5,23 @@
Section: python
Priority: optional
Build-Depends: cython3,
- cython3-dbg,
debhelper-compat (= 12),
dh-python,
dpkg-dev (>= 1.17.14),
libhdf5-dev,
- libhdf5-mpi-dev (>= 1.10.6+repack-1),
+ libhdf5-mpi-dev,
libjs-mathjax,
- liblzf-dev,
mpi-default-dev,
- python3-all-dbg,
python3-all-dev,
python3-mpi4py,
- python3-mpi4py-dbg,
python3-numpy,
- python3-numpy-dbg,
python3-pkgconfig,
python3-pytest,
python3-setuptools,
python3-six,
python3-unittest2,
python3-sphinx <!nodoc>
-Standards-Version: 4.5.0
+Standards-Version: 4.3.0
Vcs-Browser: https://salsa.debian.org/science-team/h5py
Vcs-Git: https://salsa.debian.org/science-team/h5py.git
Homepage: https://www.h5py.org/
@@ -115,97 +110,6 @@
This package provides the modules for Python 3, built with support
for MPI (multiprocessor) jobs.
-Package: python3-h5py-dbg
-Section: debug
-Architecture: all
-Depends: python3-h5py-serial-dbg | python3-h5py-mpi-dbg, ${misc:Depends}
-Suggests: python-h5py-doc <!nodoc>
-Description: debug extensions for h5py (Python 3)
- HDF5 for Python (h5py) is a general-purpose Python interface to the
- Hierarchical Data Format library, version 5. HDF5 is a versatile, mature
- scientific software library designed for the fast, flexible storage of
- enormous amounts of data.
- .
- From a Python programmer's perspective, HDF5 provides a robust way to
- store data, organized by name in a tree-like fashion. You can create
- datasets (arrays on disk) hundreds of gigabytes in size, and perform
- random-access I/O on desired sections. Datasets are organized in a
- filesystem-like hierarchy using containers called "groups", and accessed
- using the tradional POSIX /path/to/resource syntax.
- .
- H5py provides a simple, robust read/write interface to HDF5 data from
- Python. Existing Python and Numpy concepts are used for the interface;
- for example, datasets on disk are represented by a proxy class that
- supports slicing, and has dtype and shape attributes. HDF5 groups are
- presented using a dictionary metaphor, indexed by name.
- .
- This is a dummy package which depends on the serial or MPI build of h5py
- with debug extensions.
-
-Package: python3-h5py-serial-dbg
-Architecture: any
-Multi-Arch: same
-Section: debug
-Depends: ${misc:Depends},
- ${python3:Depends},
- ${shlibs:Depends},
- python3-h5py-serial (= ${binary:Version}),
- python3-numpy-dbg
-Description: debug extensions for h5py (Python 3 serial)
- HDF5 for Python (h5py) is a general-purpose Python interface to the
- Hierarchical Data Format library, version 5. HDF5 is a versatile, mature
- scientific software library designed for the fast, flexible storage of
- enormous amounts of data.
- .
- From a Python programmer's perspective, HDF5 provides a robust way to
- store data, organized by name in a tree-like fashion. You can create
- datasets (arrays on disk) hundreds of gigabytes in size, and perform
- random-access I/O on desired sections. Datasets are organized in a
- filesystem-like hierarchy using containers called "groups", and accessed
- using the tradional POSIX /path/to/resource syntax.
- .
- H5py provides a simple, robust read/write interface to HDF5 data from
- Python. Existing Python and Numpy concepts are used for the interface;
- for example, datasets on disk are represented by a proxy class that
- supports slicing, and has dtype and shape attributes. HDF5 groups are
- presented using a dictionary metaphor, indexed by name.
- .
- This package provides the debug extensions for Python 3, built for
- serial (single processor) jobs.
-
-Package: python3-h5py-mpi-dbg
-Architecture: any
-Multi-Arch: same
-Section: debug
-Depends: ${misc:Depends},
- ${python3:Depends},
- ${shlibs:Depends},
- python3-h5py-mpi (= ${binary:Version}),
- python3-h5py-serial-dbg (= ${binary:Version}),
- python3-mpi4py-dbg,
- python3-numpy-dbg
-Description: debug extensions for h5py (Python 3 MPI)
- HDF5 for Python (h5py) is a general-purpose Python interface to the
- Hierarchical Data Format library, version 5. HDF5 is a versatile, mature
- scientific software library designed for the fast, flexible storage of
- enormous amounts of data.
- .
- From a Python programmer's perspective, HDF5 provides a robust way to
- store data, organized by name in a tree-like fashion. You can create
- datasets (arrays on disk) hundreds of gigabytes in size, and perform
- random-access I/O on desired sections. Datasets are organized in a
- filesystem-like hierarchy using containers called "groups", and accessed
- using the tradional POSIX /path/to/resource syntax.
- .
- H5py provides a simple, robust read/write interface to HDF5 data from
- Python. Existing Python and Numpy concepts are used for the interface;
- for example, datasets on disk are represented by a proxy class that
- supports slicing, and has dtype and shape attributes. HDF5 groups are
- presented using a dictionary metaphor, indexed by name.
- .
- This package provides the debug extensions for Python 3, built with
- support for MPI (multiprocessor) jobs.
-
Package: python-h5py-doc
Architecture: all
Multi-Arch: foreign
diff -Nru h5py-2.10.0/debian/patches/series h5py-2.10.0/debian/patches/series
--- h5py-2.10.0/debian/patches/series 2020-08-17 13:54:50.000000000 +0200
+++ h5py-2.10.0/debian/patches/series 2021-03-30 13:01:26.000000000 +0200
@@ -12,4 +12,3 @@
file_default_read_5e71c49.patch
drop_deprecation_tests.patch
tests_as_local_build.patch
-use_system_lzf.patch
diff -Nru h5py-2.10.0/debian/patches/use_system_lzf.patch
h5py-2.10.0/debian/patches/use_system_lzf.patch
--- h5py-2.10.0/debian/patches/use_system_lzf.patch 2020-08-17
13:54:50.000000000 +0200
+++ h5py-2.10.0/debian/patches/use_system_lzf.patch 1970-01-01
01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-Index: h5py/setup_build.py
-===================================================================
---- h5py.orig/setup_build.py 2020-05-13 15:32:35.410900798 +0800
-+++ h5py/setup_build.py 2020-05-13 15:33:08.382765181 +0800
-@@ -35,9 +35,7 @@
- 'h5pl']
-
-
--EXTRA_SRC = {'h5z': [ localpath("lzf/lzf_filter.c"),
-- localpath("lzf/lzf/lzf_c.c"),
-- localpath("lzf/lzf/lzf_d.c")]}
-+EXTRA_SRC = {'h5z': [ localpath("lzf/lzf_filter.c") ]}
-
- FALLBACK_PATHS = {
- 'include_dirs': [],
-@@ -45,8 +43,8 @@
- }
-
- COMPILER_SETTINGS = {
-- 'libraries' : ['hdf5', 'hdf5_hl'],
-- 'include_dirs' : [localpath('lzf')],
-+ 'libraries' : ['hdf5', 'hdf5_hl', 'lzf'],
-+ 'include_dirs' : ['/usr/include/lzf', localpath('lzf')],
- 'library_dirs' : [],
- 'define_macros' : [('H5_USE_16_API', None)]
- }
diff -Nru h5py-2.10.0/debian/rules h5py-2.10.0/debian/rules
--- h5py-2.10.0/debian/rules 2020-08-17 13:54:50.000000000 +0200
+++ h5py-2.10.0/debian/rules 2021-03-30 13:01:26.000000000 +0200
@@ -17,6 +17,8 @@
PYBUILD_DIR_SERIAL=$(shell PYBUILD_NAME=$(PYBUILD_NAME_SERIAL) pybuild -p
`py3versions -dv` --print {build_dir})
PYBUILD_DIR_MPI=$(shell PYBUILD_NAME=$(PYBUILD_NAME_MPI) pybuild -p
`py3versions -dv` --print {build_dir})
+include /usr/share/mpi-default-dev/debian_defaults
+DEFAULT_MPI=$(ARCH_DEFAULT_MPI_IMPL)
export OMPI_MCA_plm_rsh_agent=/bin/false
export OMPI_MCA_rmaps_base_oversubscribe=1
@@ -49,7 +51,7 @@
cp -r debian/wrapper_module/h5py $(BUILD_DIR_MPI)
mv $(BUILD_DIR_MPI)/$(SUBMODULE_MPI) $(BUILD_DIR_MPI)/h5py
cd $(BUILD_DIR_SERIAL); PYBUILD_NAME=$(PYBUILD_NAME_SERIAL) python3
setup.py configure --hdf5-pc=hdf5-serial
- cd $(BUILD_DIR_MPI); PYBUILD_NAME=$(PYBUILD_NAME_MPI) CC=h5pcc python3
setup.py configure --mpi --hdf5-pc=hdf5-mpi
+ cd $(BUILD_DIR_MPI); PYBUILD_NAME=$(PYBUILD_NAME_MPI) CC=h5pcc python3
setup.py configure --mpi --hdf5-pc=hdf5-$(DEFAULT_MPI)
build-mpi:
PYBUILD_NAME=$(PYBUILD_NAME_MPI) CC=h5pcc dh_auto_build -D
$(BUILD_DIR_MPI)
@@ -119,10 +121,4 @@
override_dh_installdocs-indep:
dh_installdocs
- grep "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js"
debian/python-h5py-doc/usr/share/doc/python-h5py-doc/html/* -R
--files-with-matches | xargs sed
"s|https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js|file://usr/share/javascript/mathjax/unpacked/latest.js|g"
-i
-
-override_dh_strip-arch:
- dh_strip --package=python3-h5py-serial \
- --dbg-package=python3-h5py-serial-dbg
- dh_strip --package=python3-h5py-mpi \
- --dbg-package=python3-h5py-mpi-dbg
+ grep "https://cdnjs.cloudflare.com/ajax/libs/mathjax/*/latest.js"
debian/python-h5py-doc/usr/share/doc/python-h5py-doc/html/* -R
--files-with-matches | xargs -r sed
"s|https://cdnjs.cloudflare.com/ajax/libs/mathjax/*/latest.js|file://usr/share/javascript/mathjax/unpacked/latest.js|g"
-i
diff -Nru h5py-2.10.0/debian/tests/control h5py-2.10.0/debian/tests/control
--- h5py-2.10.0/debian/tests/control 2020-08-17 13:54:50.000000000 +0200
+++ h5py-2.10.0/debian/tests/control 2021-03-30 13:01:26.000000000 +0200
@@ -1,17 +1,13 @@
Tests: python3-serial
Depends: python3-all,
- python3-all-dbg,
python3-h5py-serial,
- python3-h5py-serial-dbg,
python3-pytest,
python3-unittest2,
Restrictions: allow-stderr
Tests: python3-mpi
Depends: python3-all,
- python3-all-dbg,
python3-h5py-mpi,
- python3-h5py-mpi-dbg,
python3-pytest,
python3-unittest2,
mpi-default-bin
diff -Nru h5py-2.10.0/debian/tests/python3-serial
h5py-2.10.0/debian/tests/python3-serial
--- h5py-2.10.0/debian/tests/python3-serial 2020-08-17 13:54:50.000000000
+0200
+++ h5py-2.10.0/debian/tests/python3-serial 2021-03-30 13:01:26.000000000
+0200
@@ -8,7 +8,4 @@
echo "\n=== Testing serial build with $py ==="
$py -c "import h5py; h5py.run_tests('-v')"
- echo "\n=== Testing serial build with $py-dbg ==="
- $py-dbg -c "import h5py; h5py.run_tests('-v')"
-
done
--- End Message ---