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 |