1 |
Thanks a lot for this list! |
2 |
|
3 |
You are totally right, simply translating the dependencies into SAT constraints and feeding them to a solver returns in most cases a very bad, totally useless solution. |
4 |
However, nowadays many solvers support solution optimization, i.e., you can specify an ordered list of criteria you want to maximize/minimize, exactly like you did. |
5 |
I already implemented the minimal status difference and the minimal installation size criteria, and the solutions I get are already acceptable/good. |
6 |
|
7 |
I wasn't aware of the criteria list you gave (maybe it's in the PMS), so thank you very much, this is a big help :) |
8 |
I have few questions about these criteria: |
9 |
- in criteria a., there could be an ambiguity between what I call a package (e.g., 'app-editors/nano-2.9.3') and a package group (e.g., 'app-editors/nano'): is the criteria about package group (i.e., are version changes allowed)? |
10 |
- similarly in criteria b.: is this criteria valid across versions (i.e., when changing version, the USE-flag change should be minimal), across slots (i.e., two installed versions of the same package group should have a minimal USE flag difference)? |
11 |
If yes, what if package.use specifies very different USE flags for two versions of the same package group? |
12 |
- does the "prefer new version" criteria go between a. and b.? |
13 |
|
14 |
>> b. Similarly, the number of USE-flag changes necessary to achieve this |
15 |
>> aim should be minimized. |
16 |
>> (You didn't tell whether your solver already supports such changes, |
17 |
>> but when it is finished, it definitely should.) |
18 |
|
19 |
Yes, my solver supports USE-flag, keyword and mask changes (it is currently oblivious of licenses, but supporting them should just be a technical/time consuming effort). |
20 |
Due to keywords and mask changes, the "prefer new version" criteria needs to be after criteria "less keyword and mask change". |
21 |
- just to be sure, the "less keyword and mask change" criteria is at the top of the list? |
22 |
|
23 |
Best regards, |
24 |
Michael Lienhardt |