Gentoo Archives: gentoo-dev

From: Thomas de Grenier de Latour <degrenier@×××××××××××.fr>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] question regarding inherit
Date: Fri, 04 Jun 2004 16:12:53
Message-Id: 20040604181327.22f809fc@eusebe
In Reply to: Re: [gentoo-dev] question regarding inherit by Jason Stubbs
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