[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#986142: marked as done (buster-pu: package h5py/2.8.0-3)



Your message dated Tue, 30 Mar 2021 12:59:10 +0100
with message-id <e3377e8ee2744e2bf91672f00b3f7bf45afef977.camel@adam-barratt.org.uk>
and subject line Re: Bug#986142: buster-pu: package h5py/2.8.0-3
has caused the Debian Bug report #986142,
regarding buster-pu: package h5py/2.8.0-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
986142: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=986142
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: 984638@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 <dparsons@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 ---
--- Begin Message ---
On Tue, 2021-03-30 at 13:51 +0200, Drew Parsons wrote:
> Thank Adam. You're right, buster-backports is precisely what is 
> intended.

Thanks for confirming. In that case, I'm going to close the p-u request
with this mail.

> I was following the procedure at 
> https://www.debian.org/doc/manuals/developers-reference/pkgs.html#upload-stable 
> linked from https://www.debian.org/releases/proposed-updates.html .  
> Those pages seem to have a different procedure to the one in 
> https://backports.debian.org/Contribute/. Perhaps 
> https://www.debian.org/releases/proposed-updates.html needs to be 
> updated to be more clear.

Those instructions are correct for updates that would be suitable for
inclusion in a point release. Backports is an additional stream of
updates alongside those, serving slightly different purposes.

I must admit I'm surprised that I can't immediately find a reference to
backports in the dev-ref. The maintainers are always happy to take
patches to improve things though. :-)

> I'll check and follow the buster-backports procedure at 
> https://backports.debian.org/Contribute/

Great. Thanks for working on that.

Regards,

Adam

--- End Message ---

Reply to: