Restructure binary distributions for subpackages
Based on a desire from @kipp.cannon in !1058 (closed) I would like to float the following reorganisation of the binary packages built for each of the subpackages of lalsuite.
What do we have now?
-
lalxxx{-devel}
: the C-language package, including shared object libraries, development files, and command-line executables -
python{}-lalxxx
: the Python-language package, including SWIG bindings, pure-python/extension modules and command-line scripts -
lalxxx-octave
: the Octave-language SWIG bindings
What might be better?
-
liblalxxx{-devel}
: the C-language library, and development files (headers, pkg-config, etc) -
python{}-lalxxx
: the Python SWIG bindings, and pure-python/extension modules -
lalxxx
: the command-line scripts from both C and Python languages -
lalxxx-octave
: the same Octave-language SWIG bindings
This would leave lalxxx
(e.g. lalburst
) as the single package needed to bring in the C library, Python bindings, and all command-line executables/scripts. This would enable, for example, switching out the Python library underneath the executables (e.g. from python3-lalxxx
to python4-lalxxx
) without disturbing the lalxxx
package and its dependents.
Who would this impact?
This can be done without any backwards incompatibilities, I think. Specifically:
- users who only want the SWIG bindings don't have to do anything
- users who want the command-line scripts just need to require
lalxxx
instead of bothlalxxx
andpython-lalxxx
- users who only want the SO library can slowly migrate from
lalxxx
toliblalxxx
(since requiringlalxxx
would bring inliblalxxx
anyway)
Comments please @adam-mercer, @karl-wette, @jolien-creighton, @ed-maros, @riccardo-sturani, @frank-ohme, @sebastian-khan, @harald.pfeiffer, @maria.haney, @kipp.cannon, @gabriele-vedovato, @marco-drago, @david-keitel, @bfarr, @cjhaster, @john-veitch, @vivien, @salvatore-vitale (all listed CODEOWNERS of subpackages) and @steffen.grunewald, @michael.thomas (packagers)