1 |
First... stating thank you. This is an ongoing pain in the ass, |
2 |
trying to track what everyone has stuck into stable and ensure it's in |
3 |
ebd codebase is mildly maddening on a given day. |
4 |
|
5 |
On Fri, Oct 14, 2005 at 03:01:30PM +0200, Thomas de Grenier de Latour wrote: |
6 |
> On Thu, 13 Oct 2005 13:21:21 -0500 |
7 |
> Brian Harring <ferringb@g.o> wrote: |
8 |
> |
9 |
> > Any updates to 2.1, I'd be curious about since it's bash core is |
10 |
> > the basis of 3.x |
11 |
> |
12 |
> The savior's bash code seems sane compared to the trunk's one. |
13 |
|
14 |
Trunk being a frozen snapshot of the codebase... kept working on it. |
15 |
:) |
16 |
|
17 |
> Now, compared to 2.0 (and just reading changelog), i see: |
18 |
> - some patches missing in both branches: some are new stuffs |
19 |
> i'm sure you're already aware of (EBUILD_DEATH_HOOK, EAPI support, |
20 |
> etc.), other are fixes (lchown/lchgrp for instance, but i also see |
21 |
> something about .tar unpacking in changelog which seems to apply, |
22 |
> etc.). |
23 |
|
24 |
Just added EBUILD_DEATH_HOOK and EAPI |
25 |
assert fixes for unpack are in also (.tar bit) |
26 |
|
27 |
the lchown/lchgrp changes I'm not pushing forward. That code I'm |
28 |
going to yank out of the bash side, and shove it into python, since |
29 |
contents scans will be needed, and should be more efficient. |
30 |
|
31 |
|
32 |
> I'm okay to try to make some more detailed report with patches, but |
33 |
> i would first like to know whether trunk is going anywhere. I mean, |
34 |
> it's obvious that atm noone uses it since it's not even |
35 |
> syntacticaly correct. That, plus some bugs closed as dups of #102126 |
36 |
> without beeing fixed, makes me wonder... Oh, and also this recent |
37 |
> email from Marius on gentoo-dev@: |
38 |
> |
39 |
> > On Tue, 11 Oct 2005 17:00:56 +0000 |
40 |
> > Alec Joseph Warner <warnera6@×××××××.edu> wrote: |
41 |
> > |
42 |
> > > FYI elog is implemented in CVS ( 2.1 ). When it will be |
43 |
> > > released is anyone's guess. |
44 |
> > |
45 |
> > 2.1? probably never, but elog will almost certainly be backported |
46 |
> > to the 2.0 branch. |
47 |
> > |
48 |
> > Marius |
49 |
> |
50 |
> Anyway, don't take me wrong, i'm not trying to flame anyone about |
51 |
> how portage development is done, or whatever. If the new route is |
52 |
> to backport some of the long awaited features to 2.0 until 3.x is |
53 |
> ready, it's fine for me. |
54 |
|
55 |
Surprising thing, people are using it- that said, I'm not (nor have I |
56 |
been for a few months). Was using it over stable due to it having |
57 |
stuff I wanted, but due to reasons listed below, reverted to a hacked |
58 |
up stable... |
59 |
|
60 |
Meanwhile, spose I'll be the one to do the deed since nobody else is |
61 |
speaking up, but yah, 2.1 is dead as a release line. Pretty much was |
62 |
the case from it's initial release, since by that time I'd already |
63 |
moved on past it (meaning the ebd related bugs in 2.1 I was no longer |
64 |
fixing in 2.1). |
65 |
|
66 |
Reasons come down to several- |
67 |
A) lot of underlying structural changes, lot bash side, and shims |
68 |
python side to play with bash side |
69 |
B) said shims (namely the continued existance of of doebuild akin |
70 |
code) means we're still going to get idiotic phase bugs like we do |
71 |
with stable. Env handling bash side is bordering on total control, |
72 |
but what goes into the env python side is still a god awful mess. |
73 |
C) backporting chunks of code (cache fex) to 2.0.x line (non-ebd line, |
74 |
basically) isn't too hard, and worth the effort. |
75 |
D) 2.1's base is approaching a year old. Time for stabling for that |
76 |
beast came and went long ago from where I'm sitting, 'specially |
77 |
considering the issues in A/B require python side modifications (core |
78 |
rewrite), which is what 3.0 is. We could slide by with the bastardly |
79 |
python side ebuild shim, but personally I don't think it's a |
80 |
productive route to follow. |
81 |
|
82 |
So... onto the bugs. |
83 |
|
84 |
> It's really just that i have a bit of |
85 |
> free time this days, so i was thinking of updating a few stuffs i |
86 |
> would like to see included someday (bugs #85786, #83613, #90444, |
87 |
> #84884, #37498 and #34964 comes to mind), and for that i need to |
88 |
> know what would be the prefered target. |
89 |
|
90 |
#85786 (faster config.pusedict) |
91 |
Stable target from where I'm sitting, since it's a fairly simple |
92 |
modification from the standpoint of how much code it touches |
93 |
Needs testers before it would be considered (get cracking peeps). Not |
94 |
so much a feature as a more efficient version of existing, so... no |
95 |
major complaints personally. |
96 |
|
97 |
|
98 |
#83613 (abspath profile/parent support) |
99 |
Hesitant on this one; target would have to be stable since the changes |
100 |
won't really fit into 3.x (profile being a seperate config obj, can go |
101 |
nuts with it). Either way, hesitant since |
102 |
A) changes to profile need to play nice in a backwards compatible way, |
103 |
we already have enough issues with .50 profile screwups still. :) |
104 |
B) if limited to /etc/portage/profile (something of the sort), less of |
105 |
an issue. |
106 |
C) interaction with any code that resets PORTDIR (said code is evil, |
107 |
but it exists). |
108 |
|
109 |
#90444 (faster dblink.getcontents) |
110 |
Stable target. Still want the code defensive. |
111 |
One thing to state, and I'll be going through the rewrite and tagging |
112 |
some indirection into utils code till python stable sucks less at |
113 |
this, but os.path.normpath is rather slow. |
114 |
|
115 |
python -m timeit -s 'x="/usr/lib/portage/bin/dar"; from os.path import normpath' 'normpath(x)' |
116 |
100000 loops, best of 3: 14.1 usec per loop |
117 |
|
118 |
Note that I'm actually cheating and giving it an advantage by |
119 |
importing normpath into local namespace; we wouldn't do that in normal |
120 |
code. It's a difference between 14.6 and 14.1 (pretty minor), but |
121 |
continuing... |
122 |
|
123 |
python -m timeit -s 'x="/usr/lib/portage/bin/dar";from os.path import sep;normpath=lambda x:sep.join(filter(None, x.split(sep)))' \ |
124 |
'normpath(x)' |
125 |
100000 loops, best of 3: 5.62 usec per loop |
126 |
|
127 |
If that was straight inlined, it would be 4.94u (this is an instance |
128 |
where I would kill for macros). |
129 |
|
130 |
Either way... bit faster, and still has the protection I want, so |
131 |
that's a bit better (imo). |
132 |
|
133 |
If you're using a faster normpath from above, no issues, since it's |
134 |
pretty much deterministic affects wise. |
135 |
|
136 |
|
137 |
#84884 (use.(local.)?desc integration to emerge UI) |
138 |
stable target (code won't be needed in 3.0) |
139 |
Definitely a feature in comparison to others, low priority. |
140 |
|
141 |
|
142 |
#37498 (single counter for package building/merging, == single log) |
143 |
Good god you've been at that one for a while from the looks of it :) |
144 |
sort of a stable target, although that's questionable. *really* not |
145 |
much for the doebuild abuse, but no other alternative. |
146 |
Basically... this is definitely an enhancement, and while the existing |
147 |
behaviour is annoying (my opinion on it), it's not high priority on |
148 |
screwing with it... so... jason? thoughts? |
149 |
|
150 |
#34964 (binpkg system packages) |
151 |
Another patch you've been at forever and has suffered the infernal |
152 |
bitrot of bugzie... |
153 |
3.0 target imo. It's useful, but it's already intended in 3.0, and |
154 |
bolting more stuff into 2.0 that has to be duplicated in 3.0 sucks. :) |
155 |
|
156 |
My 2 cents, in a rather long email... |
157 |
~harring |