Gentoo Archives: gentoo-dev

From: Paul Varner <gentoo-dev@××××××××××××.org>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] system profiles, stackable profiles, virtuals, and dependencies
Date: Wed, 21 Jul 2004 18:00:40
Message-Id: 1090432781.466.103.camel@beldin.local.domain
1 (There are several things in here and what I'm looking for is discussion
2 and education)
3
4 I've been playing with my system configuration lately so that I can gain
5 a deeper understanding of the features of the portage system.
6
7 I'm currently using portage-2.0.51_pre13, so I'm assuming this version
8 and higher for the purposes of thsi discussion.
9
10 One of my goals is to have a minimal world file that only contains the
11 applications that I want installed on a system and when combined with a
12 specific profile and /etc/portage/virtuals - (to set things where I
13 don't like the defaults i.e. postfix for virtual/mta) would allow me to
14 rebuild / maintain a fairly clean system.
15
16 During all of this I removed syslog-ng from my world file which led to
17 the following bug report <http://bugs.gentoo.org/show_bug.cgi?id=57787>
18 about vixie-cron not having a runtime dependency on virtual/logger.
19
20 Anyhow, this led me to start thinking about the system profiles.
21 Neither cron or a system logger are in the system profiles, yet having
22 many years of Unix/Linux administration experience, they are a fairly
23 vital part of a "normal" Unix/Linux system.
24
25 My conjecture for why they are not in the system profile is because they
26 are not required to operate a system and since Gentoo is about choice we
27 are not going to dictate a specific version of cron or a specific system
28 logger.
29
30 This is where stackable profiles and virtuals come in. To me these
31 applications are part of a normal default Linux installation (be it a
32 server or workstation) and should be considered part of the system
33 software and I see a couple of ways to approach this.
34
35 The first and simplest is that virtual/logger and virtual/cron be added
36 to the system profile. If this were to happen, the defaults (dcron &
37 sysklogd for default-x86 profiles) would be installed during the
38 installation process.
39
40 If I don't like those defaults, I could unmerge the defaults and emerge
41 the software I did prefer after the installation. Kind of blech type of
42 solution to me. The other alternative is to setup /etc/portage/virtuals
43 to override the defaults prior to installation.
44
45 The second way based upon what I've read is to use a stackable profile.
46 Unfortunately, I can't find any implementation documentation on them, so
47 I don't know if portage supports them and if so, how to use them. It
48 seems to me though that with a stackable profile, I could add those
49 pieces of software that I consider to be part of the system but are not
50 required to run the system to *my* system profile. This allows Gentoo
51 to keep the default profiles small with only the required software, and
52 allows me the choice to expand upon what is provided by Gentoo.
53
54 Finally dependencies, since I have been writing and tinkering with
55 ebuilds at what point do you stop adding dependencies to the ebuild. To
56 be anal about it would be to add everything back to glibc. That is
57 obviously not the case and the assumption that I've been making is that
58 if it isn't in the system profile and it is required to build/run the
59 package then it should be listed as a dependency. That was my reasoning
60 for filing the above bug. As a system logger isn't required by the
61 system profile and vixie-cron requires one to run, it should be listed
62 as a runtime dependency. In this case, I was told politely that I was
63 nuts since "There's no reason for vixie-cron to rdepend on
64 virtual/logger". I obviously disagree with that assessment, which is
65 why I'm asking the question. (Side note: I don't have a lot of
66 heartburn with the bug report being rejected, although I do feel it is a
67 valid bug or I wouldn't have submitted it. My opinion is that if it is
68 not going to be addressed, the resolution should be WONTFIX instead of
69 INVALID)
70
71 If you've read this far, thanks for reading and I appreciate any
72 thoughts, ideas, etc on all of this.
73
74 Regards,
75 Paul
76
77
78 --
79 gentoo-dev@g.o mailing list

Replies