Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
post your installation
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
gzoumix
n00b
n00b


Joined: 22 Dec 2017
Posts: 14

PostPosted: Thu Jan 11, 2018 4:54 pm    Post subject: post your installation Reply with quote

Dear Everyone,

With some friends and colleagues, I implemented an alternative dependency solver for portage (as discussed in this topic).
We need your help to test it and possibly improve in the long run the already great portage toolset.

You can help us in two ways:

  • you can send us the zip generated by this bash script.
    This bash script extracts your world file, the USE flags and keywords configuration of your system and the list of installed packages you have.
    With this, we will see if our solver is able to recreate your system and how much time it takes.
  • you can propose installation challenges, i.e., sets of packages to install.
    With this, we will compare the answer and the response time between emerge and our solver.

Maybe not to fill the gentoo servers with configuration files, you can send everything to mlienhar@di.unito.it (or to a location of your choice).

Thank you!

EDIT John R. Graham: thanks for the great idea :)


Last edited by gzoumix on Thu Jan 11, 2018 6:06 pm; edited 1 time in total
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10587
Location: Somewhere over Atlanta, Georgia

PostPosted: Thu Jan 11, 2018 4:57 pm    Post subject: Reply with quote

It would probably be good if you received everything in a consistent format from everyone who wants to participate. To that end, I would encourage you to write a bash script to package up what you want.

- John
_________________
I can confirm that I have received between 0 and 499 National Security Letters.
Back to top
View user's profile Send private message
gzoumix
n00b
n00b


Joined: 22 Dec 2017
Posts: 14

PostPosted: Wed Jan 31, 2018 2:16 am    Post subject: Reply with quote

Dear Everyone,

I finished the first round of tests.
I received 8 test cases, many thanks to all participants :)

I hope others will join!

Test Procedure

Every test case was executed in a gentoo osboxes VM.

To recreate the portage tree of each test, I used the gentoo git repository ( https://gitweb.gentoo.org/repo/gentoo.git/ ).
That way, I could find most of the .ebuild files for the installed but deprecated packages.
The other missing .ebuild file, I found on the internet.

Then, on each test case, I performed three tests.

  1. I checked with our tool if the test case installation is correct, i.e., that the given /etc/portage/package.* files correctly configure the installed packages, and that all their dependencies are met.
  2. I tried to install the packages in the test case world files with emerge, using the given /etc/portage/package.* files, on the osboxes VM.
  3. I executed our tool also on the world file to check if it could find a corresponding list of packages to install. I then checked that list with emerge.

This test procedure was automatized with this script

Test Results

Test 1. Our tool correctly detected that 6 of the test cases were not correct, with an accurate (even if not user-friendly) explaination. Most inconsistencies were due to keywords not being set in /etc/portage/package.accept_keywords for packages that were supposed to be installed once and left alone. We could not check one of the test case, because our tool does not handle ** keywords yet.

Test 2. emerge failed in all attempts, taking in average 10 seconds. In several cases it failed with the USE flag configuration of media-video/ffmpeg (I have no idea why).

Test 3. During this test, I configured our tool so it could set the USE flags of the packages, and keyword them, but not unmasked them. It found a solution for all test cases that did not require to unmask a package (two tests cases required sys-kernel/kccmp or app-text/pdftk, which are masked by profile), taking in average 2 minutes. However, out of the 6 solutions found by our tool we could only test 4 of them, with emerge validating only one. The two solutions that we could not test required to remove several packages before performing the emerge, and I could not modify the VM (I have to fix that)... I have to investigate the three last solutions that emerge did not validate.


Conclusion

These test cases were very useful to identify limitations, possible improvements and bugs in our prototype.
Again, I will be very happy to get other test cases to check and improve our prototype.
I'll give feedback to all interested participants.

I'll try to work on the prototype soon and start a second round of tests :)

Table

Below you can find a table of all the test cases.

Code:

 +------+------------+--------------+---------------+------------+--------------------+------------------+
 |  ID  | size world | size install | nb deprecated | consistent | reachable (emerge) | reachable (tool) |
 +------+------------+--------------+---------------+------------+--------------------+------------------+
 |  1   |     451    |     1587     |       37      |     no     | no (0m48.749s)     | yes (2m3.726s)   |
 +------+------------+--------------+---------------+------------+--------------------+------------------+
 |  2   |      99    |     1082     |        3      | limitation | no (0m1.491s)      | yes (1m48.913s)  |
 +------+------------+--------------+---------------+------------+--------------------+------------------+
 |  3   |     214    |     1258     |        0      |     no     | no (0m2.783s)      | yes (2m10.665s)  |
 +------+------------+--------------+---------------+------------+--------------------+------------------+
 |  4   |      53    |     1071     |       18      |     no     | no (0m9.909s)      | yes (1m53.990s)  |
 +------+------------+--------------+---------------+------------+--------------------+------------------+
 |  5   |     105    |     1107     |       22      |     no     | no (0m6.816s)      | YES (2m6.654s)   |
 +------+------------+--------------+---------------+------------+--------------------+------------------+
 |  6   |     135    |      783     |       33      |     no     | no (0m3.247s)      | no (1m20.916s)   |
 +------+------------+--------------+---------------+------------+--------------------+------------------+
 |  7   |      53    |      452     |       24      |    yes     | no (0m1.181s)      | yes (1m44.823s)  |
 +------+------------+--------------+---------------+------------+--------------------+------------------+
 |  8   |     151    |     1406     |       19      |     no     | no (0m8.744s)      | no (1m23.632s)   |
 +------+------------+--------------+---------------+------------+--------------------+------------------+

size word: number of atoms in the world file
size install: number of installed packages
nb deprecated: number of installed packages that are not maintained anymore (at the date of the last emerge --sync)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum