Gentoo Archives: gentoo-dev

From: "Brian D. Harring" <ferringb@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] splitting build deps out from depends
Date: Fri, 01 Jul 2005 18:15:24
Message-Id: 20050701181148.GD11634@exodus.wit.org
In Reply to: Re: [gentoo-dev] splitting build deps out from depends by Mike Frysinger
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

Replies

Subject Author
Re: [gentoo-dev] splitting build deps out from depends Mike Frysinger <vapier@g.o>
Re: [gentoo-dev] splitting build deps out from depends "Diego 'Flameeyes' Pettenò" <flameeyes@g.o>