1 |
On Fri, 13 Jun 2008 10:43:39 +0200 |
2 |
Luca Barbato <lu_zero@g.o> wrote: |
3 |
> Ciaran McCreesh wrote: |
4 |
> > On Thu, 12 Jun 2008 21:40:28 +0200 |
5 |
> > Luca Barbato <lu_zero@g.o> wrote: |
6 |
> >>> * ordering for _pre is wrong. |
7 |
> >> hm? |
8 |
> > |
9 |
> > foo-0.26-live would become foo-0.26_pre1, which would be < 0.26. |
10 |
> > This is clearly wrong. |
11 |
> |
12 |
> No, it is correct and what you want. Upstream is aiming for 0.26, |
13 |
> once 0.26 gets in portage you want to update to the release. |
14 |
|
15 |
A lot of projects work like this: |
16 |
|
17 |
* trunk/ is current development, and is ahead of any release. |
18 |
|
19 |
* branches/0.26/ is forked from trunk/ when 0.26 is released, and is |
20 |
equal to or ahead of any 0.26 release. |
21 |
|
22 |
How does your proposal handle this? |
23 |
|
24 |
> >>> * How are you planning to handle reinstalls? Should installing |
25 |
> >>> world always reinstall live things? Never? Or what? |
26 |
> >> depends on the other ebuilds |
27 |
> > |
28 |
> > More specifically? |
29 |
> |
30 |
> the live ebuild act as template for a autogenerated _pre, if there is |
31 |
> something higher than _pre that one will be picked. |
32 |
|
33 |
So you install foo-1.2-live. The package manager installs this as |
34 |
foo-1.2_pre1. Then, foo-1.2-live becomes foo-1.2_pre2. |
35 |
|
36 |
Which has two issues: |
37 |
|
38 |
* It means whenever you install foo-1.2-live, there will always be a |
39 |
newer version, and the package manager will always select it for |
40 |
upgrades. Is this really desired behaviour? |
41 |
|
42 |
* It means the package manager somehow has to keep track of what pre to |
43 |
substitute in. How does it do this? |
44 |
|
45 |
> |
46 |
> >>> * How are live ebuilds selected by the package manager? |
47 |
> >> live ebuilds gets considered as preN+1 for any purpose. |
48 |
> > |
49 |
> > So you're saying they *always* get reinstalled as a new version if |
50 |
> > they're part of the dep tree? |
51 |
> |
52 |
> only on -e since you do not have the live template evaluated again. |
53 |
|
54 |
So when are templates evaluated? |
55 |
|
56 |
> >>> * What's the filename for "live ebuild for SVN trunk/"? What about |
57 |
> >> foo-${version inside trunk}.live? |
58 |
> > |
59 |
> > And when trunk is unversioned? |
60 |
> |
61 |
> Upstream has an issue, still you know which is the version they aim. |
62 |
|
63 |
Again, no. It's fairly common for unversioned trunk where upstream |
64 |
don't yet know if it'll be released as an x release, an x.y release or |
65 |
an x.y.z release. |
66 |
|
67 |
> >>> "live ebuild for SVN branches/0.26/"? |
68 |
> >> foo-0.26.live? |
69 |
> > |
70 |
> > Orders incorrectly when 0.26.1 has been released. |
71 |
> |
72 |
> no. |
73 |
|
74 |
Yup, because your 0.26 branch will be equal to or ahead of 0.26.1, but |
75 |
0.26.live will order as less than 0.26. |
76 |
|
77 |
> Anyway pkgcore and portage devs, I'd like your opinion on this point. |
78 |
|
79 |
What, the gaping holes I've pointed out aren't enough? |
80 |
|
81 |
-- |
82 |
Ciaran McCreesh |