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

Re: inconsistent versions of M-A: same packages



On Fri, Nov 07, 2014 at 02:46:31PM +0000, Holger Levsen wrote:

> > 2) if you ask about co-installablity of packages with the same name but
> > different architectictures (and which are M-A=same) : this is a completely
> > different (and much more interesting) question. Since dose is now
> > multi-arch aware we can do this, but there are some questions to discuss
> > about the precise scenario. Is this what you meant ?
> 
> yes, these are the interesting cases to discover (and fix)! 

It just appeared to me that we probably do not have a syntax to
pinpoint a package built for a specific architecture. "We" meaning
in this case dpkg, apt, and dose (if I am not mistaken).

The usual trick in dose would be, for all package names that exist
on multiple architectures and that are M-A=same, to create a pseudo
package like this:

Package: p-multi
Depends: amd64:p, i386:p

and then to check installability of all these pseudo packages against a
background of all the real Packages files. However, dose does currently
not allow this syntax in dependencies, nor does dpkg TTBOMK. Internally,
dose already identifies packages by a triple (architecture,name,version), so
it should be only a question of extending the input language.

Once we can teach dose to accept the pseudo packages as described above we
could run it with all the Packages files for all archiectures, which
makes roughly 500.000 packages. This will be stress test for dose, but
is seems to me doable. However, dose-debcheck also requires the specification
of --deb-native-arch in cases where it cannot be obtained by looking at the
input file. This is necessary since, according the the MultiArch specification,
architecture=all packages are considered to be of the native architecture.
This means that we have to run our check for all possible values of
--deb-native-arch, and this starts to be quite expensive.

For this reason we should probably limit ourselves to all the interesting
cases of combinations of native and foreign architectures. The only
reasonable combination that I can currently think of is

native-arch: amd64
foreign-archs: i386

Are there are any other useful combinations ? Maybe in the arm world?

-Ralf.
-- 
Ralf Treinen
Laboratoire Preuves, Programmes et Systèmes
Université Paris Diderot, Paris, France.
http://www.pps.univ-paris-diderot.fr/~treinen/


Reply to: