/[gentoo-x86]/eclass/notes.txt
Gentoo

Contents of /eclass/notes.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (show annotations) (download)
Mon Oct 1 11:04:22 2001 UTC (13 years, 9 months ago) by danarmak
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +0 -0 lines
File MIME type: text/plain
FILE REMOVED
eclasses v3. read the gentoo-dev announcement, and news.txt and howto.*
in doc/.

1 Note: this is outdated. Do not rely on it!
2 Second note: even more outdated now!
3
4 Notes about moving deps from ebuilds into eclasses
5 --------------------------------------------------
6
7 1. eclasses may define depends, but they sually do so without mentioning specific versions. The kde eclass depends on
8 x11-libs/qt-x11. howevr kde 2.2.1 depends on >=qt-x11-2.3.0, whih will have to be specified in the kdelibs ebuild.
9 The same applies to dependnig on kdelibs. the kde eclass includes a kdelibs dep, yet nearly all kde apps inheriting from
10 it are forced to specify it again with a minimal version. Expect a kde-base eclass in the near future which will inherit from
11 kde and be better suited for kde-base/* ebuilds of a specific kde version.
12
13 2. More about depends of eclasses. Since kdelibs depends on qt and kde app foo depends on kdelibs, there is no need for foo
14 to explicitly require qt, just kdelibs. However we now move the qt depend from the kdelibs ebuild to the kde eclass, which is
15 inherited by both kdelibs and foo. So that they both depend on qt explicitly. This shouldn't be a problem, but it is a
16 change from the current situation.
17
18 3. Most euilds don't define deps which they need such as gcc, glibc, ld.so, autoconf/make, gzip/bzip2/unzip/tar for extracting
19 the source archives. It'd be nice to have eclasses defnie all these common deps, but it will make some unneeded deps show up
20 in some cases. For now I have the c eclass and the autoonf eclass, but these are more for testing of multiple inheritance
21 than for any real use.
22
23
24 Notes for writig inheritig eclasses
25 -----------------------------------
26 1. Make sure to extend your variables and functions, not relpace them. In particular always use DEPEND=$DEPEND"..."
27 and the same for RDEPEND.
28 2. Remember to inherit virtual first, to EXPORT_FUNCTIONS and then to extend your functions.
29 3. Problem:
30 kde originally inherited base,c,autoconf. Of these three only base defines any functions, so you'd think the base functions
31 are the ones kde gets by default. However, because base, c and autoconf all inherit from virtual, they do, in fact,
32 implement empty funcions. So, if kde inherits base,c,autoconf in that order, it gets the virtual functions. This isn't
33 what we want, so kde should inherit base last.
34 In fact, kde should also inheit virtual first, like all eclasses, but that's a formality.
35 BEWARE OF MULTIPLE INHERITANCE, ESPECIALLY IN EBUILDS!

  ViewVC Help
Powered by ViewVC 1.1.20