Gentoo Archives: gentoo-portage-dev

From: Brian Harring <ferringb@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] Status of SVN trunk?
Date: Fri, 14 Oct 2005 21:59:54
Message-Id: 20051014215929.GB30651@nightcrawler
In Reply to: Re: [gentoo-portage-dev] Status of SVN trunk? by Thomas de Grenier de Latour
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

Replies

Subject Author
Re: [gentoo-portage-dev] Status of SVN trunk? Jason Stubbs <jstubbs@g.o>
Re: [gentoo-portage-dev] Status of SVN trunk? Thomas de Grenier de Latour <degrenier@×××××××××××.fr>