Gentoo Archives: gentoo-dev

From: Michael Mol <mikemol@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Commented packages in the @system set
Date: Thu, 27 Oct 2016 13:07:32
Message-Id: 1806147.co5iEoACTb@serenity
In Reply to: Re: [gentoo-dev] Commented packages in the @system set by Rich Freeman
1 On Wednesday, October 26, 2016 11:14:53 PM Rich Freeman wrote:
2 > On Wed, Oct 26, 2016 at 10:54 PM, Walter Dnes <waltdnes@××××××××.org> wrote:
3 > > On Thu, Oct 27, 2016 at 01:10:10AM +0000, Peter Stuge wrote
4 > >
5 > >> waltdnes@××××××××.org wrote:
6 > >> > For a build-from-source distro like Gentoo, gcc and associated
7 > >> > tools are a vital part of the distro.
8 > >>
9 > >> A stage4 created (and updated) on a catalyst build farm doesn't need
10 > >> to have gcc, but may still need libstdc++.
11 > >>
12 > > That just moves the requirement for gcc+tools to the catalyst build
13 > >
14 > > farm. OK, let's get specific... a *STANDALONE* Gentoo machine requires
15 > > gcc+tools.
16 >
17 > This is why I think "@system" oversimplifies all of this. IMO we
18 > should just specify all dependencies for everything (and those could
19 > include some virtuals for convenience, like the C toolchain), and then
20 > have different sets or virtuals for convenience. By all means give a
21 > user with a default install that sticks virtual/common-packages or
22 > something in their @world. Nobody is arguing that the typical Gentoo
23 > user doesn't want gcc, or that we should force people to explicitly
24 > install it.
25 >
26 > Fixing the dependencies means that system packages can take advantage
27 > of parallel builds, which means faster updates for everybody. We can
28 > still have sets for bootstraping (and I suspect that having more
29 > virtuals or sets would allow stage1/2 definition to be simplified).
30 >
31 > It is a bit like license groups. We give everybody a default set of
32 > license groups that generally makes sense. But, if you want you can
33 > easily edit your make.conf to exclude anything that is copyleft from
34 > your system.
35 >
36 > The main downside to this is it is a bit more of a hassle for
37 > developers to maintain the dependency lists, since invariably you end
38 > up with a lot of mundane stuff in there. And of course it is a lot of
39 > change to implement, though it could be done gradually. And of course
40 > the upside for the typcal user is somewhat limited, since most people
41 > aren't dying to uninstall openssh or gcc.
42
43 I want to +1 this, but I do see one problem: If all dependencies are defined,
44 how does "emerge --with-bdeps=y --emptytree @world" work? Defining all
45 dependencies means the graph is completely cyclic.
46
47 Perhaps the answer is that it doesn't; you have to run 'emerge --emptytree
48 @world twice' if you want to ensure every package is rebuilt with its newest
49 available build dependencies.
50
51 I'll sometimes do an "emerge -e @world" twice following a compiler upgrade or
52 CFLAGS or LDFLAGS change.
53
54 --
55 :wq

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] Commented packages in the @system set Rich Freeman <rich0@g.o>