Gentoo Archives: gentoo-dev

From: Alec Warner <antarus@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] rfc: logrotate and xinetd use flags
Date: Mon, 25 Apr 2011 07:13:57
Message-Id: BANLkTikjxFd42ne_45hgp1AQF4ywQAmp4Q@mail.gmail.com
In Reply to: [gentoo-dev] rfc: logrotate and xinetd use flags by William Hubbs
1 On Sun, Apr 24, 2011 at 2:58 PM, William Hubbs <williamh@g.o> wrote:
2 > All,
3 >
4 > I know a decision about this type of use flag was made in the past, but
5 > especially now with the --newuse option in portage, that decision
6 > bothers me, so I would like to re-open the discussion.
7 >
8 > I will use logrotate as my example, but what I'm saying also applies for
9 > xinetd.
10
11 In general having use-flags control the *config* that we ship with
12 packages is a silly idea. Ideally we should ship whatever upstream
13 ships. If they don't ship a logrotate config but we want to ship one,
14 awesome! There is no way we can make enough unique packages to
15 support everyone's configuration...that is why users can configure
16 things to their liking themselves.
17
18 In the end there are really only a few ways this ends up:
19
20 1) We install logrotate but the user doesn't use it because they do
21 not have logrotate installed. This is not a big deal. For example we
22 install headers all the time that the user *may* not never use to
23 compile against. I don't see users complaining about that. The
24 logrotate file is small and it only has 1 directory in /etc.
25 2) We install logrotate but the user does not like the defaults. In
26 that case they should modify the defaults. They have plenty of
27 options (puppet, cfengine, chef, bcgf2, a post install hook for the
28 package mangler...) to change the content of the logrotate file.
29 3) We install logrotate and the user uses the default.
30
31 >
32 > I feel that the current approach (using INSTALL_MASK) to control whether
33 > these configuration files are installed or not is not well documented.
34 > We tell people about it on the mailing lists, but I do not know of a
35 > place where it is documented.
36 >
37 > Also, it seems to be an all or nothing arrangement. If I do not want
38 > logrotate support, I have to set the INSTALL_MASK then if I decide later
39 > I want it, I have to unset the INSTALL_MASK and run "emerge -e world" to
40 > get the files installed.
41
42 I would argue that this is an edge case. How many users actually use
43 install mask in this manner? I imagine most users who don't care
44 about logrotate just don't have the package installed and leave the
45 files in /etc
46
47 >
48 > If we use a "logrotate" or "xinetd" use flag, it gives the users better
49 > control of which packages have this support, and the --newuse option in
50 > portage can be used to rebuild only the affected packages.
51
52 I don't want to get into the habit of having use flags for run-time
53 package configuration.
54
55 >
56 > I guess the argument against the use flag was that packages were being
57 > rebuilt just to install configuration files. I can see how that could be
58 > a pita for big packages. Did anyone ever bring up using pkg_config to
59 > un/install these files based on the use flags?
60 >
61 > Comments?
62 >
63 > William
64 >
65 >