1 |
On Tue, 16 Aug 2011 01:51:27 -0700 |
2 |
Zac Medico <zmedico@g.o> wrote: |
3 |
|
4 |
> On 08/16/2011 01:29 AM, Michał Górny wrote: |
5 |
> > On Tue, 16 Aug 2011 01:10:48 -0700 |
6 |
> > Zac Medico <zmedico@g.o> wrote: |
7 |
> > |
8 |
> >> On 08/16/2011 12:40 AM, Michał Górny wrote: |
9 |
> >>> On Tue, 16 Aug 2011 00:26:41 -0700 |
10 |
> >>> Zac Medico <zmedico@g.o> wrote: |
11 |
> >>>> On 08/16/2011 12:01 AM, Micha? Górny wrote: |
12 |
> >>>>>>> Considering the number of different virtuals in this |
13 |
> >>>>>>> category, maybe it would be a good idea to split it a little? |
14 |
> >>>>>>> What I'm proposing is maybe creating some kind of '*-virtual' |
15 |
> >>>>>>> categories. |
16 |
> >>>>>>> |
17 |
> >>>>>>> For example, half of the current virtuals are prefixed with |
18 |
> >>>>>>> 'perl-'. Maybe they could be transformed into |
19 |
> >>>>>>> 'perl-virtual/*'? |
20 |
> >>>>>> |
21 |
> >>>>>> If you're going to do that, then I'd suggest giving them some |
22 |
> >>>>>> sort of tag that the package manager can rely upon in order to |
23 |
> >>>>>> identify them as virtuals. For example, we could have the |
24 |
> >>>>>> ebuilds set PROPERTIES=virtual [2], or we could simply specify |
25 |
> >>>>>> (in PMS) that any category whose name matches the '*-virtual' |
26 |
> >>>>>> pattern will contain virtuals. |
27 |
> >>>>> |
28 |
> >>>>> Doesn't DEFINED_PHASES==- serve that purpose nowadays? |
29 |
> >>> |
30 |
> >>>> Actually, since EAPI 4 we have default src_install, so it's |
31 |
> >>>> possible to have ebuilds that have no defined phases but still |
32 |
> >>>> install stuff. |
33 |
> >>> |
34 |
> >>> + empty SRC_URI? I guess something like the workdir fallback |
35 |
> >>> conditions in PMS. |
36 |
> >> |
37 |
> >> When you consider that "live" ebuilds can have empty SRC_URI and |
38 |
> >> download things during src_unpack, it seems more sensible and |
39 |
> >> simple to introduce PROPERTIES="live" or something like it. That |
40 |
> >> way, we'll have a simple boolean flag and won't have to make any |
41 |
> >> fragile assumptions. |
42 |
> > |
43 |
> > Live ebuild have to redefine src_unpack() which makes |
44 |
> > DEFINED_PHASES!=-. |
45 |
> |
46 |
> Sure, but the fact that you have to check two variables like that and |
47 |
> make these fragile assumptions makes it seem like we're building a |
48 |
> fragile kludge rather than something that's really practical. |
49 |
|
50 |
And isn't a random PROPERTIES value more fragile? If someone uses it |
51 |
incorrectly, the results are undefined. With older PMs, results are |
52 |
undefined. |
53 |
|
54 |
While having empty SRC_URI and no DEFINED_PHASES guarantees that |
55 |
the ebuild won't install a file. That's just per-def, nothing can |
56 |
happen. |
57 |
|
58 |
And still I think implementing stuff like that is just an ugly hack |
59 |
instead of fixing the real issue. |
60 |
|
61 |
-- |
62 |
Best regards, |
63 |
Michał Górny |