Source: h5py Version: 2.2.1-1 Severity: important Tags: patch User: p...@debian.org Usertags: HDF5-transition
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi, The hdf5 1.8.13 package in experimental features a new layout for headers and libraries, so that all the binary packages are now co-installable. Moreover the 1.8.13 upstream release has the mpiposix API removed. Please find attached a patch proposal to support both the current and the new layouts, and acknowledge the mpiposix API removal. Using codesearch.debian.net I've checked that none of the h5py build-rdeps uses the mpiposix API. Because this bug is in the way of the hdf5 transition I intend to NMU in a few days. I apologize for the urge, and I hope this approach won't offend you. Please tell me otherwise. Kind regards, _g. - -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (500, 'testing'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 3.14-1-486 Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBCAAGBQJT2r4/AAoJEO/obGx//s+DMosH/jCt3keBBxjlITbiETJlGtjs DZBgCcD1kHapoEd/uVbjjQMrpQaPV3+qNIXyANNgtfc+sqBkrCnnTY4cNFne7sdE Z1dppYmTyJM2+G+04+GrGdadz6N+pP8cwnwUvIf3BBgRqQ4hg48VrnMRC1sSpnG2 s6I0uwbmGUYhGzq5XlxOgl9WptqNTkelJBUU6vH7Xk4vRrG1vBz1gh5W/TssSjrY XlWDENeZw37lDL8dHC3dlU4OTy2ZLdeab1jR3nh1IL3qAFJyqOeVRFoVEk7Fu49f 3SRXldlDvIZt6bU8so2xBbxi2QCqz4v52t4Tjxy24tIIfxxqHw7vu0B+tmnjAjg= =8dJI -----END PGP SIGNATURE-----
diff -Nru h5py-2.2.1/debian/changelog h5py-2.2.1/debian/changelog --- h5py-2.2.1/debian/changelog 2014-01-04 23:20:59.000000000 +0100 +++ h5py-2.2.1/debian/changelog 2014-07-31 09:52:25.000000000 +0200 @@ -1,3 +1,12 @@ +h5py (2.2.1-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Support hdf5 1.8.13 new packaging path layout. + * Patch drop-mpiposix.patch: MPIPOSIX interface was dropped in + hdf5 1.8.13 + + -- Gilles Filippini <p...@debian.org> Sat, 12 Jul 2014 11:56:28 +0200 + h5py (2.2.1-1) unstable; urgency=low * New upstream version diff -Nru h5py-2.2.1/debian/patches/drop-mpiposix.patch h5py-2.2.1/debian/patches/drop-mpiposix.patch --- h5py-2.2.1/debian/patches/drop-mpiposix.patch 1970-01-01 01:00:00.000000000 +0100 +++ h5py-2.2.1/debian/patches/drop-mpiposix.patch 2014-07-31 09:51:41.000000000 +0200 @@ -0,0 +1,112 @@ +Index: h5py-2.2.1/h5py/h5fd.pyx +=================================================================== +--- h5py-2.2.1.orig/h5py/h5fd.pyx ++++ h5py-2.2.1/h5py/h5fd.pyx +@@ -31,7 +31,6 @@ CORE = H5FD_CORE + FAMILY = H5FD_FAMILY + LOG = H5FD_LOG + MPIO = H5FD_MPIO +-MPIPOSIX = H5FD_MPIPOSIX + MULTI = H5FD_MULTI + SEC2 = H5FD_SEC2 + STDIO = H5FD_STDIO +Index: h5py-2.2.1/h5py/_hl/files.py +=================================================================== +--- h5py-2.2.1.orig/h5py/_hl/files.py ++++ h5py-2.2.1/h5py/_hl/files.py +@@ -130,8 +130,7 @@ class File(Group): + """Low-level HDF5 file driver used to open file""" + drivers = {h5fd.SEC2: 'sec2', h5fd.STDIO: 'stdio', + h5fd.CORE: 'core', h5fd.FAMILY: 'family', +- h5fd.WINDOWS: 'windows', h5fd.MPIO: 'mpio', +- h5fd.MPIPOSIX: 'mpiposix'} ++ h5fd.WINDOWS: 'windows', h5fd.MPIO: 'mpio'} + return drivers.get(self.fid.get_access_plist().get_driver(), 'unknown') + + @property +Index: h5py-2.2.1/h5py/h5fd.pxd +=================================================================== +--- h5py-2.2.1.orig/h5py/h5fd.pxd ++++ h5py-2.2.1/h5py/h5fd.pxd +@@ -33,7 +33,6 @@ cdef extern from "hdf5.h": + # hid_t H5FD_GASS not in 1.8.X + hid_t H5FD_LOG + hid_t H5FD_MPIO +- hid_t H5FD_MPIPOSIX + hid_t H5FD_MULTI + hid_t H5FD_SEC2 + hid_t H5FD_STDIO +Index: h5py-2.2.1/h5py/h5fd.c +=================================================================== +--- h5py-2.2.1.orig/h5py/h5fd.c ++++ h5py-2.2.1/h5py/h5fd.c +@@ -474,7 +474,6 @@ static char __pyx_k__LOG_ALL[] = "LOG_AL + static char __pyx_k__WINDOWS[] = "WINDOWS"; + static char __pyx_k__MEM_DRAW[] = "MEM_DRAW"; + static char __pyx_k__MEM_OHDR[] = "MEM_OHDR"; +-static char __pyx_k__MPIPOSIX[] = "MPIPOSIX"; + static char __pyx_k____main__[] = "__main__"; + static char __pyx_k____test__[] = "__test__"; + static char __pyx_k__LOG_ALLOC[] = "LOG_ALLOC"; +@@ -534,7 +533,6 @@ static PyObject *__pyx_n_s__MEM_NTYPES; + static PyObject *__pyx_n_s__MEM_OHDR; + static PyObject *__pyx_n_s__MEM_SUPER; + static PyObject *__pyx_n_s__MPIO; +-static PyObject *__pyx_n_s__MPIPOSIX; + static PyObject *__pyx_n_s__MULTI; + static PyObject *__pyx_n_s__SEC2; + static PyObject *__pyx_n_s__STDIO; +@@ -598,7 +596,6 @@ static __Pyx_StringTabEntry __pyx_string + {&__pyx_n_s__MEM_OHDR, __pyx_k__MEM_OHDR, sizeof(__pyx_k__MEM_OHDR), 0, 0, 1, 1}, + {&__pyx_n_s__MEM_SUPER, __pyx_k__MEM_SUPER, sizeof(__pyx_k__MEM_SUPER), 0, 0, 1, 1}, + {&__pyx_n_s__MPIO, __pyx_k__MPIO, sizeof(__pyx_k__MPIO), 0, 0, 1, 1}, +- {&__pyx_n_s__MPIPOSIX, __pyx_k__MPIPOSIX, sizeof(__pyx_k__MPIPOSIX), 0, 0, 1, 1}, + {&__pyx_n_s__MULTI, __pyx_k__MULTI, sizeof(__pyx_k__MULTI), 0, 0, 1, 1}, + {&__pyx_n_s__SEC2, __pyx_k__SEC2, sizeof(__pyx_k__SEC2), 0, 0, 1, 1}, + {&__pyx_n_s__STDIO, __pyx_k__STDIO, sizeof(__pyx_k__STDIO), 0, 0, 1, 1}, +@@ -828,7 +825,6 @@ PyMODINIT_FUNC PyInit_h5fd(void) + * FAMILY = H5FD_FAMILY + * LOG = H5FD_LOG # <<<<<<<<<<<<<< + * MPIO = H5FD_MPIO +- * MPIPOSIX = H5FD_MPIPOSIX + */ + __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(H5FD_LOG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); +@@ -839,7 +835,6 @@ PyMODINIT_FUNC PyInit_h5fd(void) + * FAMILY = H5FD_FAMILY + * LOG = H5FD_LOG + * MPIO = H5FD_MPIO # <<<<<<<<<<<<<< +- * MPIPOSIX = H5FD_MPIPOSIX + * MULTI = H5FD_MULTI + */ + __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(H5FD_MPIO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} +@@ -847,21 +842,8 @@ PyMODINIT_FUNC PyInit_h5fd(void) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MPIO, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + +- /* "h5py/h5fd.pyx":34 +- * LOG = H5FD_LOG +- * MPIO = H5FD_MPIO +- * MPIPOSIX = H5FD_MPIPOSIX # <<<<<<<<<<<<<< +- * MULTI = H5FD_MULTI +- * SEC2 = H5FD_SEC2 +- */ +- __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(H5FD_MPIPOSIX); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} +- __Pyx_GOTREF(__pyx_t_1); +- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MPIPOSIX, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} +- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; +- + /* "h5py/h5fd.pyx":35 + * MPIO = H5FD_MPIO +- * MPIPOSIX = H5FD_MPIPOSIX + * MULTI = H5FD_MULTI # <<<<<<<<<<<<<< + * SEC2 = H5FD_SEC2 + * STDIO = H5FD_STDIO +@@ -872,7 +854,6 @@ PyMODINIT_FUNC PyInit_h5fd(void) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "h5py/h5fd.pyx":36 +- * MPIPOSIX = H5FD_MPIPOSIX + * MULTI = H5FD_MULTI + * SEC2 = H5FD_SEC2 # <<<<<<<<<<<<<< + * STDIO = H5FD_STDIO diff -Nru h5py-2.2.1/debian/patches/series h5py-2.2.1/debian/patches/series --- h5py-2.2.1/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ h5py-2.2.1/debian/patches/series 2014-07-31 09:51:41.000000000 +0200 @@ -0,0 +1 @@ +drop-mpiposix.patch diff -Nru h5py-2.2.1/debian/rules h5py-2.2.1/debian/rules --- h5py-2.2.1/debian/rules 2013-11-16 17:46:56.000000000 +0100 +++ h5py-2.2.1/debian/rules 2014-07-31 10:08:38.000000000 +0200 @@ -2,6 +2,11 @@ include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/python-distutils.mk +ifneq ($(wildcard /usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/serial/libhdf5.so),) + export CPPFLAGS=-I/usr/include/hdf5/serial + export LDFLAGS=-Wl,-L/usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/serial +endif + binary-install/python-h5py:: dh_python2 dh_python3