Gentoo Archives: gentoo-dev

From: MIkey <mikey@×××××××××××.com>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Re: Re: Re: Re: bootstrapping since gcc 3.4 is stable
Date: Thu, 26 Jan 2006 17:37:07
Message-Id: 200601261733.k0QHWuGX012623@gw.open-hosting.net
In Reply to: Re: [gentoo-dev] Re: Re: Re: Re: bootstrapping since gcc 3.4 is stable by Alec Warner
1 Alec Warner wrote:
2
3 > Maybe you think fixing a circular dep is easy, I know I do. But when
4 > Joe Shmoe think it's OMG U63r 1337 to install gentoo using a stage1
5 > because it makes his system so awesomely fast ( hence, The Conrad
6 > install on the forums, heh ;) ) and he has no ****ing clue how any of
7 > this crap works, and you tell him to fix the circular deps. He isn't,
8 > he is going to file a bug, which will be marked WONTFIX. We know there
9 > are circular deps, it's unavoidable in many situations.
10
11 In no way am I suggesting to EVER support ANY installation method that goes
12 beyond what is already supposed to be allowed in bootstrap.sh and
13 conservative CFLAGS.
14
15 Portage cannot easily enforce limits on what users choose, and it shouldn't,
16 it is a package manager not a system maintenance tool.
17
18 You can, however, test, duplicate, and guarantee results using methods such
19 as bootstrap.sh, which can easily enforce limits and account for circular
20 dependencies. If you can do it from the command line, you can do it in a
21 simple script.
22
23 The bootstrap script _does_ work now, in spite of the openssl/python-fcksum
24 circular dependencies a few months ago. Portage needed fixing, not the
25 entire installation method.
26
27 > The problem with a stage1 as *I* see it, is it that it's a grab-bag
28 > system. A half-built system that some user, even following the official
29 > docs, can fuck up in a myriad of ways, just by turning on use flags.
30 > USE flags that that enable things that cause dep circles, enabling
31 > things that cause other things to not compile because the stage1 ISN'T a
32 > full system. Our deptrees aren't complete, they make assumptions about
33 > the current system, and those assumptions generally are not true on a
34 > stage1 or stage2 system.
35
36 If you can't get it up from a bootstrap position, you merely mask the real
37 problems and put off dealing with them until later, in a much crazier
38 environment. If you can consistently obtain a working bootstrap
39 environment for portage, no use flag _should_ matter afterwards. The same
40 use flag will break a stage3, stage4, or stage99090 install. emerge -e
41 system should work, every time, from a known baseline position. If it does
42 not, something is broke.
43
44 > There is no way around this, in my reckoning, without giving the user a
45 > complete system to start with. Then they can't trigger silly ass
46 > circular deps, because guess what, the base system is already installed!
47 > If openSSL depends on perl and perl depends on openSSL, who cares,
48 > they are both installed, not a problem!
49
50 Hence you mask the real problem, which will come back and bite you in the
51 ass again later. Eventually they will need to switch over to a new
52 profile, perform a library incompatible gcc/glibc upgrade, etc...
53
54 I have a hunch that judicious use of the build/bootstrap flags might be able
55 to get around most circular dependencies. I don't know portage well enough
56 to determine that.
57
58 --
59 gentoo-dev@g.o mailing list

Replies