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 |