1 |
On Fri, Jul 01, 2005 at 01:49:19PM -0400, Mike Frysinger wrote: |
2 |
> On Friday 01 July 2005 12:25 pm, Brian D. Harring wrote: |
3 |
> > Currently, we pretty much leave out the big dogs of build depends from |
4 |
> > ebuilds- basically we rely on the profile to require a suitable |
5 |
> > toolchain. Couple of issues with this though- |
6 |
> > |
7 |
> > 1) Deps aren't complete for an ebuild. |
8 |
> > 2) Merging a php or python lib that doesn't require compilation |
9 |
> > doesn't require a full toolchain, distutils/pear or make mainly. |
10 |
> > So autoassuming a c/c++ toolchain is required isn't accurate. |
11 |
> > 3) For automatically handling x-compile deps, without this info bound |
12 |
> > to an ebuild, portage will _never_ be able to know what |
13 |
> > dependencies are x-compile targets, and what deps must be natively |
14 |
> > merged. |
15 |
> |
16 |
> so what you're proposing is that we add binutils/gcc/glibc to every package |
17 |
> that compiles something, make to every package that uses make, |
18 |
> sed/grep/bash/coreutils to every package which runs configure, and |
19 |
> tar/gzip/bzip2 to every package which has a gzipped/bzipped tarball in |
20 |
> SRC_URI ? |
21 |
Sort of, although I'd recommend a level of indirection. See jason's |
22 |
metapkg glep, if the package requires a c toolchain, |
23 |
BDEPEND="virtual/c-toolchain" which is a metapkg expanding out to |
24 |
binutils/gcc/etc. |
25 |
|
26 |
Meanwhile, back to the "you want us to add what?", our dependency |
27 |
graph *is* incomplete. Something like 600 ebuilds in the tree state a |
28 |
dependency on gcc- we have 19000 ebuilds. Not all requires gcc to |
29 |
build, but I'd bet it's a tad bit more then 600. |
30 |
Full dependency information hasn't be viable due to resolver issues, |
31 |
which will be fixed. |
32 |
|
33 |
Regarding the "require whatever is used to uncompress the source", |
34 |
hadn't thought about it, but that _should_ be specified imo. That's |
35 |
also being a bit anal, but frankly, if the resolver can handle it, why |
36 |
shouldn't we specify the full deps? |
37 |
|
38 |
Grouping/indirection obviously should be employed to mke the task |
39 |
easier, but the point stands. |
40 |
|
41 |
To head off the "profile has it, so we don't need it", consider a |
42 |
user profile, literally, a user desktop profile. Kde, gnome, office |
43 |
crap, etc. Right now, for such a profile you would need the toolchain |
44 |
tagged in, which I posit is invalid. |
45 |
|
46 |
Give portage the data it needs, and it can map out what it needs to |
47 |
build up to the system definition. |
48 |
|
49 |
For the user profile example, if the user doesn't need it, why |
50 |
shouldn't an emerge depclean cleanse the tools that were merged to |
51 |
build packages? |
52 |
~harring |