Gentoo Archives: gentoo-dev

From: Matthew Thode <prometheanfire@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] SAT-based dependency solver: request for test cases
Date: Tue, 06 Feb 2018 14:48:45
Message-Id: 20180206144836.gwgkebgl4ngwagte@gentoo.org
In Reply to: [gentoo-dev] SAT-based dependency solver: request for test cases by Michael Lienhardt
1 On 18-02-06 11:52:10, Michael Lienhardt wrote:
2 > Dear all,
3 >
4 > With the help of some friends and colleagues, I am working on an SAT-based dependency solver for portage.
5 > We need your help to test it and possibly improve in the long run the already great portage toolset.
6 >
7 > To help, you can send us the tar generated by this bash script: https://raw.githubusercontent.com/HyVar/gentoo_to_mspl/master/benchmarks/get_installation.sh
8 > This bash script extracts your world file, the USE flags and keywords configuration of your system and the list of installed packages you have (it should not take more than few seconds).
9 > With this, we will see if our solver is able to recreate your system and how much time it takes.
10 >
11 > You can send everything to my professional email: mlienhar@××××××××.it
12 >
13 >
14 > The goal of this alternative solver is to overcome some of the limitations of emerge.
15 > Thanks to some users of the forum and the gentoo-user mailing list, I already tested the solver on 8 systems, and the results for now are:
16 > - emerge is not able to recreate any of these systems (i.e., 'cat world_of_test_configuration | xargs emerge -vp' on a gentoo osboxes VM does not succeed, even with the right /etc/portage/package.* files)
17 > - our solver takes 2 minutes in average (with little variation), and gives either a yes answer (with what to install, which USE flags to set, which packages to keyword) or a no answer (with the set of conflicting constraints) for every systems
18 > - we solved one bug in our solver (a behavior of emerge that seems documented only in the PMS document, not in devmanual nor in the wiki, and that is visible only in 15 packages), but at least one seems to still be around.
19 >
20 > I started discussing this on the gentoo-portage-dev and the gentoo-user mailing lists (sorry for the duplicates), and on the forum with three posts:
21 > - https://forums.gentoo.org/viewtopic-t-1074170.html about the documentation I collected to implement the solver
22 > - https://forums.gentoo.org/viewtopic-t-1074202.html about the solver and its motivations
23 > - https://forums.gentoo.org/viewtopic-t-1075286.html about the tests I'm doing
24 >
25 >
26 > About me:
27 > I'm a researcher in computer science, about formal methods, concurrency and software engineering.
28 > Friday, I will present my first paper on portage, showing that its packages and their dependencies constitute what is called a "Multi-Software Product Line" in software engineering. If you skip the algebraic definition, it should be readable ^^: http://www.di.unito.it/~mlienhar/vamos.pdf
29 > In 2013, I designed and contributed to the implementation of a dependency solver for dynamic cloud architecture (currently maintained by Jacopo Mauro https://bitbucket.org/jacopomauro/zephyrus2/src )
30 > I'm a gentoo user since 2007, and I'm very happy by this opportunity to contribute back :).
31 >
32 >
33
34 This sounds intresting, I wonder how it'd handle things like
35 sys-cluster/openstack-meta which can sometimes require masking a package
36 (gentoo stablizes a package ahead of what openstack has tested support
37 for).
38
39 --
40 Matthew Thode (prometheanfire)

Attachments

File name MIME type
signature.asc application/pgp-signature