1 |
What about using #3 (the current with-cache option) as a default |
2 |
for most ebuilds, and #1 (the ignore cache option) for the very |
3 |
few ones that need something dynamic in global section? |
4 |
|
5 |
I think this approach would minimise the performance issue. This |
6 |
ebuilds could be identified by a RESTRICT flag. It would be close |
7 |
to what was discussed in this bug: |
8 |
http://bugs.gentoo.org/show_bug.cgi?id=32367 |
9 |
|
10 |
As you can read in the bug comments, Nick pointed the issue |
11 |
of binary packages: having something dynamic in global section |
12 |
often means that the GRP packages will be incorrect for some |
13 |
people. Now that I rethink about this point: |
14 |
|
15 |
- This is very true for the packages we were talking about in |
16 |
this report, which where the ones with a dynamic SLOT that depends |
17 |
on the version of some installed packages (for instance mod_php, |
18 |
which detects the target apache branch, or kernel modules that |
19 |
detect the target kernel version). |
20 |
|
21 |
- I don't think this avoid the whole idea of having some packages |
22 |
with dynamic globals. For instance, in the case of mod_php, |
23 |
having the apache2 USE flag set in GRP packages makes things |
24 |
deterministic. Or even if it was not the case, there could be some |
25 |
kind of binary specific dependencies that would be more |
26 |
restrictive than the source dependencies. Marking some packages as |
27 |
"not suitable for GRP" with another RESTRICT flag may also be an |
28 |
acceptable workaround. |
29 |
|
30 |
- In the case of a "use python && inherit python", there would |
31 |
be no such problem with binary package, because USE flags are |
32 |
determinisc and well known at build time. This is the good case. |
33 |
Maybe there should be a policy that say something like this: |
34 |
|
35 |
You can use dynamic code in global section of ebuilds only if |
36 |
this code depends only on the build configuration, and not on |
37 |
the system configuration (ie. testing a USE flag is okay, |
38 |
whereas testing the version of an installed package is not). |
39 |
If you do so, mark the ebuild as RESTRICT="nocache". |
40 |
|
41 |
|
42 |
Well, just some random thoughts... |
43 |
|
44 |
-- |
45 |
TGL. |
46 |
|
47 |
-- |
48 |
gentoo-dev@g.o mailing list |