1 |
On Saturday 05 November 2005 05:08, Thomas de Grenier de Latour wrote: |
2 |
> On Sat, 5 Nov 2005 02:55:01 +0900 |
3 |
> |
4 |
> Jason Stubbs <jstubbs@g.o> wrote: |
5 |
> > gnome-*/* for package.keywords is already not supported. |
6 |
> |
7 |
> Sure, i know, but i think it's already an unfortunate limitation |
8 |
> there, and i would rather not see it again in future new config |
9 |
> files. |
10 |
|
11 |
Having some config files follow one syntax and others following another |
12 |
becomes more confusing. I don't see a problem with changing or extending |
13 |
the syntax; I just think it should be done across all config files. |
14 |
|
15 |
> > There is already a (closed) bug asking for regex atom support. |
16 |
> > This is essentially what you are asking for with the BUILD_PKGS |
17 |
> > patch. |
18 |
> |
19 |
> That, plus: |
20 |
> - the "!atom" negation thing (which is different from "-atom" |
21 |
> sure), because the ability to match sets of packages induces the |
22 |
> need to exclude some too, if we want to allow accurate definitions |
23 |
> of packages sets. |
24 |
> - the "system" thing, because its a subset which cant be defined |
25 |
> with patterns or anything like that, and is useful (at least in the |
26 |
> BUILD_PKGS case). |
27 |
> - the fact that it works sure, although i agree that adding a |
28 |
> special case to the package.env thing to reach that goal with that |
29 |
> approach too would be easy. |
30 |
> |
31 |
> > The difference is that you are completely breaking away from the |
32 |
> > mostly standard configuration mechanisms portage currently |
33 |
> > supports. |
34 |
> |
35 |
> Yes. The depatoms syntax was defined for *DEPEND variables and is |
36 |
> perfectly fine there, but imho, for some completly different |
37 |
> purposes, it is far from being optimal. Especially in conjonction to |
38 |
> this ignominous best_match_to_list() thing. |
39 |
|
40 |
I'm not sure what ignominous means. The best_match_to_list() just checks |
41 |
which atoms match against a cpv... |
42 |
|
43 |
> > The extension to per-package configuration beyond basic atoms is |
44 |
> > fine, but it needs to apply everywhere. |
45 |
> |
46 |
> Everywhere? No, imo some stuffs are better defined with the strict |
47 |
> depatoms syntax, while others would benefit of an extended syntax. |
48 |
|
49 |
Everywhere meaning all configuration files. |
50 |
|
51 |
> It's a matter of what kind of packages sets you want to talk about: |
52 |
> - strict depatoms are for single or multiple versions of a |
53 |
> single package, and are perfect in *DEPEND strings, masks, emerge |
54 |
> command-line, etc. |
55 |
|
56 |
I don't see why masks should be excluded. As I said in the other thread, |
57 |
I always run whatever is the latest packaged KDE. Being able to specify |
58 |
kde-base/* would be much easier than the current method of specifying |
59 |
individual atoms. |
60 |
|
61 |
> > > Since being able to list several env file on a same line doesn't |
62 |
> > > sounds like a must have feature to me, i would much prefer a |
63 |
> > > package.env format of that kind: |
64 |
> > > <rule> [<rule> ...] <envfile> |
65 |
> > > where <rule> would be similar to what i've defined for |
66 |
> > > BUILD_PKGS (with addition of full versioned dep atoms, which is |
67 |
> > > a trivial change to my code). And if a package happens to |
68 |
> > > match the rules lists of several lines, then the corresponding |
69 |
> > > env files would all be sourced, in the order of the said |
70 |
> > > lines. I can try to implement that if you agree on the idea. |
71 |
> > |
72 |
> > I don't see the difference in the end result. I can only see a |
73 |
> > difference in perspective. Perhaps you could enlighten me on this |
74 |
> > point? |
75 |
> |
76 |
> The difference is the ability to define accurate packages sets, |
77 |
> which are the result of substractions, and thus needs severals |
78 |
> sub-rules to be defined. |
79 |
|
80 |
Ok. Although with package.env, it would be equally as useful to be able to |
81 |
specify multiple envs after a rule-set. Perhaps it should be |
82 |
<rule> [<rule> ...] <separator token> <envfile> [<envfile> ...] |
83 |
? |
84 |
|
85 |
> > Rather than blacklist, I'd think that whitelisting is easier. |
86 |
> |
87 |
> What i thought first too, but won't work for ebuild-specifics |
88 |
> variables (like LIRC_OPTS and a few other ugliness of that kind). |
89 |
|
90 |
Actually, I meant whitelisting in documentation. Perhaps blacklisting would |
91 |
be easier to document. Either way, I can't see much point in removing settings |
92 |
that will have no affect if they are documented to have no affect. |
93 |
|
94 |
> > Stuff known to portage that is okay to per-package |
95 |
> > -------------------------------------------------- |
96 |
> > ACCEPT_KEYWORDS |
97 |
> > FEATURES="buildpkg ccache distcc keeptemp keepwork noauto noclean |
98 |
> > nodoc noinfo noman nostrip sandbox sfperms suidctl test userpriv |
99 |
> > usersandbox" |
100 |
> > USE |
101 |
> |
102 |
> Do you mean they already work with the patch in its current state, |
103 |
> or that they could to work if some required changes are made? |
104 |
|
105 |
Most operate only on the bash side and/or within doebuild (which should be |
106 |
getting a setcpv()'d settings object already) so should work. The rest just |
107 |
require setcpv() to be called and/or relocated. |
108 |
|
109 |
> Oh, and something i've just wondered about and i prefer to mention |
110 |
> before i forget: what about USE_EXPAND variables? Are they handled |
111 |
> fine with the current patch, or is the "variable -> USE flags" |
112 |
> conversion done only once for all in portage? |
113 |
|
114 |
There's a block of code near the end of config.__init__ that sets up |
115 |
USE_EXPAND. This block would need to be moved into regenerate(). |
116 |
|
117 |
-- |
118 |
Jason Stubbs |
119 |
-- |
120 |
gentoo-portage-dev@g.o mailing list |