Gentoo Archives: gentoo-embedded

From: "Brian D. Harring" <ferringb@g.o>
To: gentoo-dev@l.g.o
Cc: gentoo-core@l.g.o, gentoo-embedded@l.g.o, gentoo-portage@l.g.o
Subject: [gentoo-embedded] splitting build deps out from depends
Date: Fri, 01 Jul 2005 16:26:07
Message-Id: 20050701162524.GB11634@exodus.wit.org
1 Hola.
2
3 Quick statement of terminology-
4 x-compile == cross compiling, building arm crap on an x86, building up
5 a x-compile target in a subdirectory of / (fex)
6
7
8 Currently, we pretty much leave out the big dogs of build depends from
9 ebuilds- basically we rely on the profile to require a suitable
10 toolchain. Couple of issues with this though-
11
12 1) Deps aren't complete for an ebuild.
13 2) Merging a php or python lib that doesn't require compilation
14 doesn't require a full toolchain, distutils/pear or make mainly.
15 So autoassuming a c/c++ toolchain is required isn't accurate.
16 3) For automatically handling x-compile deps, without this info bound
17 to an ebuild, portage will _never_ be able to know what
18 dependencies are x-compile targets, and what deps must be natively
19 merged.
20
21 So... why don't we add a new DEPEND, BDEPEND (build depends), that
22 holds atoms of what is required to actually build the package,
23 literally, what executes on the box to build that package.
24
25 Still would have DEPEND, since (using diffball as an example) building
26 it doesn't execute anything from bzip2/libz, it just builds against
27 those atoms.
28
29 Aside from the goal of having complete dependencies, BDEPEND can be
30 used by portage to know what needs to be built native to that box, vs
31 what is an x-compiled dependency. So... we could actually do a full
32 stategraph covering x-compile deps, and the actual x-compile
33 toolchain.
34
35 Thing is, it's an extra bit ebuild devs have to deal with. So get out
36 your pitchforks/torches and throw in your two cents on the extra bit
37 of effort required from ebuild devs. In the circles where this idea
38 developed in, it solves some nasty portage issues (iow, it's useful to
39 us for addressing a hard problem and supplying further functionality).
40
41 Re: backwards compatibility, profile's holding the toolchain pretty
42 much covers up the fact BDEPEND is missing from the tree; it's a non
43 issue, only an issue if you're cross compiling (spanky's x-compile
44 work mostly gets around this afaik, although it's something of abuse
45 of portage), or if your profile doesn't specify a full toolchain.
46 In other words, those who fall into the two scenarios above are
47 already dealing with this issue, so there really isn't a concern of
48 backwards compatibility.
49
50 Either way, kindly chuck in your two cents (preferably on -dev ml,
51 since this is cross posted).
52 ~harring