Gentoo Archives: gentoo-portage-dev

From: Jason Stubbs <jstubbs@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] .53, .54 and beyond...
Date: Sat, 26 Nov 2005 04:14:21
Message-Id: 200511261315.48594.jstubbs@gentoo.org
In Reply to: Re: [gentoo-portage-dev] .53, .54 and beyond... by Ned Ludd
1 On Saturday 26 November 2005 02:05, Ned Ludd wrote:
2 > On Sat, 2005-11-26 at 00:51 +0900, Jason Stubbs wrote:
3 > > On Saturday 26 November 2005 00:31, Ned Ludd wrote:
4 > > > * post_sync action hook (.53/.54 )
5 > > > * VDB prevention of single byte NULL entries being created. ( .54 )
6 > >
7 > > Doable for .54.
8 >
9 > Yeah and from the sounds of it we may want more than 1 set of postsync
10 > hooks or the addition of a postsync.d/
11 > (dev thread on getting vital info to users)
12
13 Heh.. that was my suggestion. ;)
14
15 > > > * new prepstrip offering splitdebug ( .53/.54 )
16 > >
17 > > Need to work out exactly what will be offered when on this one, but at
18 > > the earliest it will be .54. Perhaps go with your patch for .54 and leave
19 > > Olivier's fancy bits for later?
20 >
21 > I can only assure you the code I wrote will function properly.
22 > So that's the only thing I'm trying/willing to push myself.
23 > As long as he has those [ -x checks ] his code should be harmless,
24 > but I don't see the advantage in it over building with -g3.
25 >
26 > > There are a few other questions too... Should
27 > > the default be to generate external debug info?
28 >
29 > I think the security team would say yes they want it by default and
30 > would be willing (taviso) to write a proper debug-HOWTO.xml for gentoo.
31 > I think ferringb would say make it FEATURES=splitdebug if
32 > it's going in midstream.
33 >
34 > It does add some size which would make peoples $ROOT's a little bit
35 > bigger. But from mine and other peoples testing it's pretty damn
36 > minimal. I think Halcy0n @ gentoo said after doing an -e world he ended
37 > up with only 18M of split debug info
38 >
39 > I'm also fond of split packaging of debug info also (but I'm not going
40 > to push for that till I find a more elegant way)
41 >
42 > solar@simple debug $ qsize pax-utils
43 > app-misc/pax-utils-debug-0.1.4-r0: 3 files, 5 non-files, 16.27 KB
44 > app-misc/pax-utils-0.1.4: 6 files, 6 non-files, 102.485 KB
45 >
46 > Perhaps we should get input from gentoo-dev ml ?
47
48 Sounds good for pretty much all aspects of split debug (other than the
49 capability itself).
50
51 > > Should generating internal
52 > > debug info still be offered?
53 >
54 > When FEATURES=nostrip is enabled we should not split off
55 > any debug info or touch the executable.
56
57 FEATURES="splitdebug|stripdebug" and do nothing if neither is set?
58
59 > > > * misc cleanups of dyn_install (.54 )
60 > >
61 > > Need more info.
62 >
63 > This is just something I want todo for my own sanity,
64 > ie break parts of our existing dyn_install() out
65 > into /usr/lib/portage/bin/ scripts.
66 > The current function is about 209 lines of code and I
67 > can see it growing even more.
68
69 Code cleanups are always good. :)
70
71 > > > * flattened vdb {P,R,}DEPEND (.54 )
72 > >
73 > > I might be wrong but I can't really see this being done cleanly. At best,
74 > > only USE flags could be gotten rid of which would still leave || ()
75 > > constructs. This leads me to question of what use it would really be. If
76 > > it can only do a half-arsed job and in a messy way at that I'd personally
77 > > prefer it to be done later on.
78 >
79 > It will indeed still leave you with || ( foo bar ) or >=cpv which you
80 > can be parsed just fine. Yeah it would be nice if it could be reduced
81 > more but later on or now I don't see how it can be reduced anymore than
82 > to the requirements that the ebuild requested.
83
84 Again, if it can be done cleanly code-wise no issues with resolving the USE
85 flags out.
86
87 > One big advantage for me here is that virtuals would be resolved.
88
89 Resolving virtuals can't be done. Virtuals are meant to be binary compatible
90 with each other which means that they can be replaced by each other
91 interchangeably. However, once portage starts using info from vdb (soon) and
92 starts doing proper sanity checking (not so soon) one would need to re-emerge
93 all reverse dependencies in order to switch installed virtual provider.
94
95 > > > * introduction of RRDEPEND to the VDB ( .54 )
96 > >
97 > > What is this again?
98 >
99 > Ok I talked a little bit about this on this list the other day and a few
100 > months ago with you on #-portage.
101 >
102 > <man>
103 > RRDEPEND
104 > This entry is automatically created by portage. It contains a
105 > list of reverse dependencies that is achieved by resolving the
106 > DT_NEEDED entries of an ELF executable.
107 > </man>
108 >
109 >
110 > Justification
111 >
112 > Programs such as revdep-rebuild, verify-rdepend would be able to make
113 > immediate use.
114
115 Yes, but an extension to emaint will be needed to create the files for
116 existing installed packages. I'm not sure that Brian's plugin architecture is
117 ready for .54 so it would need to be another hardcoded check/fix into emaint
118 itself. Not sure I really like that idea but I'm not going to fight if the
119 majority think that it should go into .54... What do the majority think?
120
121 > A little bit of a longer term goal is to see portage gain
122 > the ability to request to only use RRDEPEND entries to be used for
123 > depgraph creation for use with embedded/mimimal systems.
124 >
125 > ROOT=/dev/shm/minimal emerge -KO --deps="RRDEPEND" pkgfoo
126 >
127 > RRDEPEND will need to exist due to the RDEPEND explosion and lack of a
128 > clear definition when it was first introduced to portage.
129 > The advantage from where I'm sitting is that devs don't really have a
130 > chance to make mistakes with R/DEPEND handling and people who are
131 > attempting to stage $ROOT can get exactly what they are after in the
132 > embedded world.
133
134 This is definitely not something that could be done in any of 2.x unless it's
135 done as an external tool (which would not be so hard as order doesn't matter
136 with binary packages). I'm not sure that I like the idea of selectively
137 ignoring *DEPEND in 3.x anyway - by that stage sanity checking should be 100%
138 but selective *DEPENDs will either poke huge holes through it or make a huge
139 mess. Either way, it's not a tomorrow thing so discussion should probably
140 wait until it's more viable.
141
142 --
143 Jason Stubbs
144 --
145 gentoo-portage-dev@g.o mailing list

Replies