Package: python3-h5py
Version: 2.10.0-7
Followup-For: Bug #959940

Please see https://github.com/hdmf-dev/hdmf/issues/343#issuecomment-625972582
for possibly more info:

        @tillea @yarikoptic the debian port contains this code in 
h5py_2.10.0-7.debian/debian/wrapper_module/h5py/__init__.py

        from sys import modules as sys_modules

        # [snip]

        # make generic h5py module behaviour the same as specific builds
        # by importing public and weak internal symbols (single _underscore)
        api = [ k for k in _h5py.__dict__.keys() if not k.startswith('__') and 
not k.endswith('__') ]
        this_module=sys_modules[__name__]
        for key in api:
                # "imports" symbols (makes them accessible)
                setattr(this_module,key,getattr(_h5py,key))
                # rename symbols as properties of toplevel h5py module
                sys_modules['h5py.{}'.format(key)] = getattr(_h5py,key)

        Since remove_deprecated_highlevel_module_2f41c78.patch is not
        applied, the api list includes 'highlevel' so then
        sys.modules['h5py.highlevel'] is set to h5py.highlevel. This is 
problematic
        because sys.modules is traversed in the context manager for
        unittest.TestCase.assertWarns and getattr is called on it, but 
h5py.highlevel
        is intentionally lazily imported by h5py, I think, because it is 
deprecated. So
        one solution might be to apply the patch. Another might be to add and 
not k ==
        'highlevel' to the line that sets api above.


In the above "patch" is the remove_deprecated_highlevel_module_2f41c78.patch 
patch
which was disabled in 

        commit ed17e72dc2fa47f590b78632401512546d3d3e1e
        Author: Drew Parsons <dpars...@debian.org>
        Date:   Sun Apr 5 18:31:33 2020 +0800

                disable upstream patches and update drop_deprecation_tests.patch
                
                aid HDF5 transition by giving bitshuffle more time to update
                (see Bug#955456)
                
                changes to drop_deprecation_tests.patch needed to pass h5py 
tests

        diff --git a/debian/patches/series b/debian/patches/series
        index 6753f8e..9f3468d 100644
        --- a/debian/patches/series
        +++ b/debian/patches/series
        @@ -7,8 +7,8 @@ fix_2.10_docs.patch
         hdf5_pkgconfig.patch
         build_flavour.patch
         stop_circular_dep.patch
        -drop_deprecated_dtype_6a77b91.patch
        -remove_deprecated_highlevel_module_2f41c78.patch
        -file_default_read_5e71c49.patch
        +#drop_deprecated_dtype_6a77b91.patch
        +#remove_deprecated_highlevel_module_2f41c78.patch
        +#file_default_read_5e71c49.patch
         drop_deprecation_tests.patch
         tests_as_local_build.patch


Cheers,

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (900, 'testing'), (600, 'unstable'), (300, 'experimental'), (100, 
'unstable-debug'), (100, 'stable-updates'), (100, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.6.0-1-amd64 (SMP w/12 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-h5py depends on:
ii  python3-h5py-serial  2.10.0-7

python3-h5py recommends no packages.

Versions of packages python3-h5py suggests:
pn  python-h5py-doc  <none>

-- no debconf information

Reply via email to