[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Multi-Arch: allowed



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Dear David,

Le 02/11/2016 à 01:05, David Kalnischkies a écrit :

> I would add:
> 
> * Check if gyoto-bin really needs to be M-A:allowed. Name,
> Description and the list of filenames included in the package
> suggest to me that the package can and should be M-A:foreign – or
> in other words: Why is it allowed?

Up to now, this is purely theoretical as no package outside of
src:gyoto depends or build-depends on gyoto-bin. However, I am
considering splitting some of the plug-ins into separate source
packages, so I have some interest in doing it right.

Some background: Gyoto is a framework for doing some type of
scientific numerical computations (general relativistic ray-tracing,
to be precise). The package is split as follows:

- - gyoto: metapackage that depends on the rest;
- - gyoto-dbg: the debugging symbols package that we'll drop at some
  point;
- - libgyoto5: the main C++ library plus standard plug-ins, M-A: same;
  libgyoto5 Recommends gyoto-bin as it needs it for MPI computations
  (see below);
- - libgyoto5-dev: obvious, M-A: same;
- - yorick-gyoto, python-gyoto, python3-gyoto: interpreted interfaces for
  three interpreters. The Python flavours also include Gyoto plug-ins
  (for using Python from Gyoto). M-A: allowed on the premise that the
  interpreters are "allowed" themselves, and you can use the interface
  in an arch-independant manner;
- - gyoto-bin contains two binaries:

gyoto: command line tool to render XML sceneries into FITS images.
If you build-depend on it just to do some ray-tracing with the
standard plug-ins, then it really is foreign (to machine precision,
the result does not depend on the architecture).

If you build-depend on it to test a plug-in, then you need to be
running the same architecture as the one of the plug-in. In general,
you will need the same arch for all your plug-ins as for the interface.

So M-A: foreign looks wrong to me, it is either "no" or "allowed".

gyoto-mpi-worker.<soversion>:
This binary is spawned by MPI for parallel computations (possibly
running on another computer), independent of whether the parallel
computation is started from the gyoto command-line tool above or from
on of the interpreted interfaces. There, I actually don't know whether
the spawned processes need to be of the same architecture as the
spawning process. When running on distinct hosts, I think not, but
this case is orthogonal to the Multi-Arch issue.

So I am not sure whether "foreign" would work either.

> Rule of thumb: Don't make any package M-A:allowed as long as you
> haven't got a bugreport telling you it would be nice from some
> cross-folks (be it grader, builder, bootstrapper, …). Reason is
> that M-A:same/foreign is instantly useable/ful, but M-A:allowed is
> useless if nothing ends up depending on it with :any.

"foreign" looks wrong to me in this case, we need to be able to build
and test plug-ins.

On the other hand, my understanding was that "allowed" was "mostly
M-A:no unless otherwise specified", so surely it does not hurt?

Kind regards and thanks for your explanations.

Thibaut.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJYGa+lAAoJEJOUU0jg3ChA/YEP/2LYwjIAxnZWkj/d1Ga552lO
gvuGoYMpR5jeE24QaZKWuleVfP2K7/hazL2FKPoO0JR5KVxgDKT8SeocsH3kVbBl
U9uPLbuZzkifHMHw9PTNL7EL2OMKKzJAus3pVOTPS+q5pMJ6u73YbIumBQW3xWiE
5uro3puR3fKeroQ+FS8eKY/P+El8avNhGvn6qbAT/+IG+4CgFka2TD9u7VOGHlsQ
RYY3IwBFWYal4C87gDbJMMc0bF1TxWqKVDYorTl9ls+1Pcbm5O9J/N1prezuL7uj
/IBzz8+cgH0BZhhk6uIEmiyLINLNLIWbwc1/ZxEbZa7gwcWA0HIuDsbaSiV3Va7K
7iUipNQlncGQLqB5R0gTKalwM+/XXLGDMaO4nG1iqVNZVUBGvlmsNmDsTNukyKmR
3AaoIVrgj/dEGVRXQjxH0sEgbrDzM8SDpZDvnWI73cp/Yb5AaazLQnyScs9PCT2y
RAM67BnzZ23ysOyQ9AAjz+l7qn18ETmxOQ0zS78BqJKmDZZvD2Anlz7vZydosL2Y
mX58rW0xQtYUXytlsLXvseNsEpEPuHgO+gr0cPtYKPoIcIdeV5w9eBYhvvTkJVUW
LJ8FXwVtbcfHIcQl7/lj2mSAkHg5kt+QIPVbBUFTQBEl967XYnYxcxISvZJJA4sp
eUMahgF0PKHVYcTU4PHY
=h5Ja
-----END PGP SIGNATURE-----


Reply to: