Gentoo Archives: gentoo-dev

From: Roy Bamford <neddyseagoon@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:00:49
Message-Id: riqX3YEmMJcugqYAtqz1pR@7XxxReCMu7fy//8PIP8gM
In Reply to: [gentoo-dev] SAT-based dependency solver: request for test cases by Michael Lienhardt
1 On 2018.02.06 10:52, Michael Lienhardt wrote:
2 > Dear all,
3 >
4 > With the help of some friends and colleagues, I am working on an
5 > SAT-based dependency solver for portage.
6 > We need your help to test it and possibly improve in the long run the
7 > already great portage toolset.
8 >
9 > To help, you can send us the tar generated by this bash script:
10 > https://raw.githubusercontent.com/HyVar/gentoo_to_mspl/master/benchmarks/get_installation.sh
11 > This bash script extracts your world file, the USE flags and keywords
12 > configuration of your system and the list of installed packages you
13 > have (it should not take more than few seconds).
14 > With this, we will see if our solver is able to recreate your system
15 > and how much time it takes.
16 >
17 > You can send everything to my professional email: mlienhar@××××××××.it
18 >
19 >
20 > The goal of this alternative solver is to overcome some of the
21 > limitations of emerge.
22 > Thanks to some users of the forum and the gentoo-user mailing list, I
23 > already tested the solver on 8 systems, and the results for now are:
24 > - emerge is not able to recreate any of these systems (i.e., 'cat
25 > world_of_test_configuration | xargs emerge -vp' on a gentoo osboxes VM
26 > does not succeed, even with the right /etc/portage/package.* files)
27 > - our solver takes 2 minutes in average (with little variation), and
28 > gives either a yes answer (with what to install, which USE flags to
29 > set, which packages to keyword) or a no answer (with the set of
30 > conflicting constraints) for every systems
31 > - we solved one bug in our solver (a behavior of emerge that seems
32 > documented only in the PMS document, not in devmanual nor in the wiki,
33 > and that is visible only in 15 packages), but at least one seems to
34 > still be around.
35 >
36 > I started discussing this on the gentoo-portage-dev and the
37 > gentoo-user mailing lists (sorry for the duplicates), and on the forum
38 > with three posts:
39 > - https://forums.gentoo.org/viewtopic-t-1074170.html about the
40 > documentation I collected to implement the solver
41 > - https://forums.gentoo.org/viewtopic-t-1074202.html about the
42 > solver and its motivations
43 > - https://forums.gentoo.org/viewtopic-t-1075286.html about the tests
44 > I'm doing
45 >
46 >
47 > About me:
48 > I'm a researcher in computer science, about formal methods,
49 > concurrency and software engineering.
50 > Friday, I will present my first paper on portage, showing that its
51 > packages and their dependencies constitute what is called a
52 > "Multi-Software Product Line" in software engineering. If you skip the
53 > algebraic definition, it should be readable ^^:
54 > http://www.di.unito.it/~mlienhar/vamos.pdf
55 > In 2013, I designed and contributed to the implementation of a
56 > dependency solver for dynamic cloud architecture (currently maintained
57 > by Jacopo Mauro https://bitbucket.org/jacopomauro/zephyrus2/src )
58 > I'm a gentoo user since 2007, and I'm very happy by this opportunity
59 > to contribute back :).
60 >
61 >
62 > Thank you!
63 > Michael Lienhardt
64 >
65 >
66 >
67
68 Michael,
69
70 Posting here to alert other potential helpers.
71 Your script uses
72
73 PACKAGE_KEYWORDS="/etc/portage/package.accept_keywords"
74
75 but thats a recent name change.
76
77 PACKAGE_KEYWORDS="/etc/portage/package.keywords"
78
79 is the old name and my older systems still use that.
80 You probably need to harvest both and process both as portage does.
81
82 --
83 Regards,
84
85 Roy Bamford
86 (Neddyseagoon) a member of
87 elections
88 gentoo-ops
89 forum-mods

Replies

Subject Author
Re: [gentoo-dev] SAT-based dependency solver: request for test cases Michael Lienhardt <michael.lienhardt@×××××××.net>