Hello, I've tried to condense what I proposed in my previous mail on this topic[1] into documentation maintained in a git repository: https://salsa.debian.org/science-team/h5f-packaging-guidelines Since I didn't get replies to that mail I didn't feel there was consensus enough to call it mini-policy, so I went for "guidelines". Anyone can edit it to contribute their own bits of experience. I'm pasting below the (short) content of the guidelines. I hope it can be helpful to people packaging and using HDF5 filter plugins. [1] https://lists.debian.org/debian-science/2022/12/msg00016.html The current content of the repository is this: - - - - - - - - - - - # HDF5 filter plugin packaging guidelines # Naming conventions A good default name for a package containing an HDF5 filter plugin is `hdf5-filter-plugin-*-{serial,openmpi}` which matches how HDF5 documentation refers to them. For packages that ship multiple plugins, or that ship plugins and other code, you can `Provide:` one or more `hdf5-filter-plugin-*-{serial,openmpi}` virtual package names, so that packages requiring the plugin can depend on it, however it is being distributed. # openmpi versions of plugins You are free to package the two versions in two different packages, or in a single one. If you bundle them in a single package, you can use virtual package names to show that it contains both versions. # testing openmpi versions of plugins This is a simple way of testing that the openmpi version of a plugin loads correctly: ``` H5PY_ALWAYS_USE_MPI=1 python3 >>> import h5py >>> h5py.h5z.filter_avail(<code>) ``` You can use it in `debian/tests/control` to have autopkgtests check that plugins load correctly: ``` Test-Command: python3 -c 'import sys, h5py; sys.exit(not h5py.h5z.filter_avail(32008))' Depends: python3, python3-h5py, @, @recommends! Restrictions: allow-stderr Test-Command: H5PY_ALWAYS_USE_MPI=1 python3 -c 'import sys, h5py; sys.exit(not h5py.h5z.filter_avail(32008))' Depends: python3, python3-h5py, @, @recommends! Restrictions: allow-stderr ``` This example uses 32008 as an example filter plugin ID, which is the ID for bitshuffle: remember to change it with the one(s) for your own package! - - - - - - - - - - - Enrico -- GPG key: 4096R/634F4BD1E7AD5568 2009-05-08 Enrico Zini <enrico@enricozini.org>
Attachment:
signature.asc
Description: PGP signature