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