Gentoo Archives: gentoo-dev

From: Jason Stubbs <jstubbs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: Dependencies on system packages
Date: Sun, 17 Dec 2006 06:13:39
Message-Id: 200612171510.57159.jstubbs@gentoo.org
In Reply to: Re: [gentoo-dev] Re: Dependencies on system packages by Alec Warner
1 On Sunday 17 December 2006 10:27, Alec Warner wrote:
2 > If your package is 'not important' meaning it will never be in 'system' for
3 > any profile, you should not depend on anything in 'system', as stuff in
4 > system should already be installed in a given (sane) configuration.
5
6 Except if the package is fussy on what version it needs.
7
8 > If your package may be in 'system' in a given profile, you need to ensure
9 > your package builds in the proper order, with regards to other system
10 > packages. The classic example is zlib; if you need zlib to uncompress
11 > something, then you should put zlib in the deps; that way when someone is
12 > building say, a stage1, your package will build after zlib, instead of
13 > before it.
14
15 Given your point above, this should only be important as far as bootstrapping
16 goes. After bootstrapping, "stuff in system should already be installed".
17 However, 'system' becomes quite an extensive list of packages after enabling
18 all use flags that didn't begin with 'no'. I've attached the list that
19 results from my current tree. So are packages such as qt, nvidia-drivers,
20 courier-imap, samba and jack-audio-connection-kit also part of 'system' or
21 is 'system' only limited to the profile-defined USE flags at the time of
22 bootstrapping?
23
24 > You have to be careful in deciding what to specify, as doing things
25 > incorrectly in this case can often cause dependency loops which are
26 > sometimes fun to debug; perl and openssl were infamous back in the day for
27 > this.
28
29 This stopped applying with recent versions of portage. I'm pretty sure the
30 current stable version of portage detects circular deps and tries to resolve
31 them utilizing installed packages but I've lost track of what's made it to
32 stable and what hasn't. As far as I know, both palidus and pkgcore do or will
33 also support this, so your point here doesn't hold.
34
35 > Enterprising users would specify the 'doc' useflag. openssl requires perl
36 > to generate its docs and perl requires openssl for some encryption stuff.
37 [snipped]
38
39 This example is not a reason to leave out appropriate dependencies.
40
41 I've tried to be objective here so if my viewpoint isn't obvious I'll state
42 it outright. I think all packages should depend on every package that they
43 need to build and/or run. Whether this is done explicitly or with
44 meta-packages, I don't really care. The only reason for not being explicit
45 with deps is to cater for old sloppy versions of portage. Unless there are
46 other reasons not stated here?
47
48 --
49 Jason Stubbs

Attachments

File name MIME type
sys-pkgs text/plain

Replies

Subject Author
Re: [gentoo-dev] Re: Dependencies on system packages Ciaran McCreesh <ciaranm@×××××××.org>