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 |