Gentoo Archives: gentoo-dev

From: Kito <kito@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] splitting build deps out from depends
Date: Sat, 02 Jul 2005 01:19:11
Message-Id: 0D6744A2-C090-4BBB-A085-E16D130683AC@gentoo.org
In Reply to: Re: [gentoo-dev] splitting build deps out from depends by Drake Wyrm
1 On Jul 1, 2005, at 5:59 PM, Drake Wyrm wrote:
2
3 > Mike Frysinger <vapier@g.o> wrote:
4 >
5 >> On Friday 01 July 2005 12:25 pm, Brian D. Harring wrote:
6 >>
7 >>> Currently, we pretty much leave out the big dogs of build depends
8 >>> from
9 >>> ebuilds- basically we rely on the profile to require a suitable
10 >>> toolchain. Couple of issues with this though-
11 >>>
12 >>
13 >> so what you're proposing is that we add binutils/gcc/glibc to
14 >> every package
15 >> that compiles something
16 >>
17 >
18 > Can you compile without binutils/gcc/glibc? No? Then you need it.
19 >
20 >
21 >> make to every package that uses make,
22 >>
23 >
24 > Again, if you depend on make, then DEPEND on make.
25 >
26 >
27 >> sed/grep/bash/coreutils to every package which runs configure
28 >>
29 >
30 > That's quite an interesting case. Yes, those should be in DEPEND,
31 > but it
32 > might be prudent to create an appropriate shortcut instead of
33 > explicitly
34 > adding each of those.
35 >
36 > Three possibilities come to mind.
37 >
38 > 0) For ebuilds which use the standard GNU autoconf-generated configure
39 > script, a standard set of tools could be added to DEPEND from a
40 > standard variable.
41 >
42 > DEPEND="${ac-configure} dev-libs/libwombat app-misc/
43 > imanotherdep"
44 >
45 > where ${ac-configure} expands to everything that runs in yer
46 > typical
47 > configure script.
48 >
49 > 1) Use the eclasses. Right before inheriting eutils, provide a
50 > token to
51 > tell eutils to add some appropriate DEPEND tokens.
52 >
53 > ac-configure=yup
54 > inherit eutils
55 >
56 > Many of the eclasses add a few DEPEND tokens. Use the standard
57 > eclass(es) to add the standard DEPENDs.
58 >
59 > 2) Well, maybe cramming this into eutils isn't such a hot idea, but
60 > creating an eclass for the purpose of adding the generic
61 > dependencies
62 > would work better.
63 >
64 > edeps="configure make c-tools"
65 > inherit edeps
66 >
67 >
68 >> tar/gzip/bzip2 to every package which has a gzipped/bzipped
69 >> tarball in
70 >> SRC_URI ?
71 >>
72 >
73 > Now this could _definitely_ play into suggestion (2) above. Have the
74 > edeps eclass check the SRC_URI and add the appropriate unpacking
75 > packages.
76 >
77 > edeps="make"
78 > SRC_URI="http://www.wombats.com/i_need_tar_and_bzip2.tar.bz2"
79 > inherit edeps
80 >
81 > Whee.
82 >
83 > <rant class="flame">
84 > I know this will be shot down, as it has been shot down each time
85 > in the
86 > past that somebody has suggested it. I wish it were not the case.
87 > Almost
88 > every ebuild in the tree fails to completely and accurately reflect
89 > its
90 > dependencies. The fact that this is somehow a technical decision leads
91 > me to suspect that more of Portage is also horribly broken.
92 > </rant>
93
94 Well, {humans,monkeys,ebuild maintainers} can't be trusted to
95 accurately track a packages dependencies, be it build or runtime. The
96 way some other build systems deal with this is keeping a table
97 mapping files to packages, and simply monitoring every file touched
98 during compilation and runtime to generate deps.
99
100 Accurate deps should be a goal for the tree, a long term one
101 obviously...
102
103 Kito
104
105 >
106 > --
107 > Batou: Hey, Major... You ever hear of "human rights"?
108 > Kusanagi: I understand the concept, but I've never seen it in action.
109 > --Ghost in the Shell
110 >
111
112 --
113 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] splitting build deps out from depends "Brian D. Harring" <ferringb@g.o>