[Qa-jenkins-dev] dpkg, apt and dose3 do not agree in many synthetic dependency situations involving multiarch

Holger Levsen holger at layer-acht.org
Sat Sep 3 15:19:27 UTC 2016


Hi Johannes, 

sorry for the delay…!

On Wed, Aug 24, 2016 at 06:03:25PM +0200, Johannes Schauer wrote:
> Quoting Holger Levsen (2016-08-24 17:23:12)
> > why those 8624 situations? how where they chosen or created?
> 
> binary packages and source packages can use several properties to declare how
> they related to each other. These are:
> 
>  - Multi-Arch values (no, foreign, same, allowed)
>  - Relationship types (depends, conflicts, build-depends, build-conflicts)
>  - Package type (binary, source)
>  - Provides (nothing, normal, architecture qualified)
>  - Package Architecture (native, foreign)
>  - Dependency relationship (normal, architecture qualified, :any, :native)
> 
> If you now create all combinations of above properties between two packages and
> remove the invalid cases (for example only source packages have build-depends
> and build-conflicts) then you end up with 8624 different ways that two packages
> can relate to each other.

Ah, wow. Maybe put the above in the job description, for the next person
who'll be wondering…?!
 
> Obviously, one can create even more test cases by also adding package versions
> to the mix and then also test crazy stuff like versioned provides. I limited it
> to cross architecture test cases because the multiarch documentation actually
> doesn't explain much if one looks more closely. So for example for the 28% of
> testcases that dose3/apt/dpkg do not agree, it is actually not obvious who is
> wrong or what the best fix would be.

oh, wow.

> So this jenkins test is for solver developers to check where their solvers can
> be improved, where they have to talk with others to find a good solution as
> well as for documentation writers to at some point write down how multiarch
> *really* works. The perfect documentation would be able to explain how *all*
> the test cases should be resolved correctly. We don't have that right now.

ic

> > > I named it *_sid because the job is run *on* sid not because the job tests
> > > packages *from* sid.
> > 
> > those "dependency situations" are not taken from sid?
> 
> Correct.

so should "sid" still be part of the job name (because dose3+apt+dpkg
from sid are used) or should that be omitted?
 
> > > Okay, I will write:
> > > 
> > > | Checks if dose3, apt and dpkg agree on how to resolve the relationships
> > > | between two packages.
> > 
> > hm. see my questions above ;)
> 
> You know from past conversations, that I'm notoriously bad with describing
> stuff in a short, concise and understandable manner. ;)

:) we can improve it incrementally…

> If you know a way of how to formulate my explanation above in a better way, I
> am all ears.

the stuff quoted above seems nice to me…!

> > > I do not mind to put my code elsewhere. What do you mean by running the
> > > code from stable or sid? To upload the testing code as a package to Debian
> > > main? I'm afraid that the code will not be useful besides for this jenkins
> > > job. Which location of the git repository would be most comfortable for
> > > you?
> > 
> > I'd prefer to have it in jenkins.d.n.git but I see how this ain't
> > useful…
> 
> Why would it not be useful? It could certainly be done.
> 
> Should I rewrite the script as a patch of the jenkins.d.n.git?

if thats feasable, yes, please.

In any case we should get this merged and deployed soon…! ;)


-- 
cheers,
	Holger
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 811 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/qa-jenkins-dev/attachments/20160903/ff7b3cc0/attachment.sig>


More information about the Qa-jenkins-dev mailing list