1 |
Zac Medico wrote: |
2 |
>> |
3 |
>> 1) Save test_conditionals.py in your PYTHONPATH as |
4 |
>> portage/test/ebuild/test_conditionals.py |
5 |
>> |
6 |
>> 2) Run `trial portage.test.ebuild` and watch it fail. |
7 |
>> |
8 |
>> 3) Apply DepSet-AndRestriction.patch then watch the previous test |
9 |
>> succeed. |
10 |
>> |
11 |
>> 4) Run vdb-depset-test.py to try it on your whole vdb (ParseErrors can |
12 |
>> be expected due to invalid syntax). |
13 |
>> |
14 |
> |
15 |
> Actually, step 4 will not work without the attached patch that fixes a |
16 |
> problem with the vdb multiplex repository. |
17 |
> |
18 |
|
19 |
After the DepSet and multiplex repository work mentioned above, I spend some time experimenting with bin/tests/build_installed_state_graph.py and was able to get the state_graph working correctly for most of the packages in my vdb (neglecting ParseErrors which I fixed by editing vdb *DEPEND files directly). |
20 |
|
21 |
The first and last hunks of the attached patch fix a couple small breakages that are due to code changes elsewhere. The middle hunk fixes a problem with block atoms that do not match any packages. Previously, these atoms would not make it into the okay_atoms set which caused unresolved dependencies. |
22 |
|
23 |
One other problem worth noting is that some DepSet conditionals may be evaluated incorrectly due to USE flag handling in portage.vdb.repository where USE flags are filtered to only include the ones listed in IUSE. This causes the ARCH flag to be excluded (x86 in my case) and conseqent problems when the pkg.rdepends DepSet is evaluated. |
24 |
|
25 |
Zac |