1 |
On Thursday 26 January 2006 18:30, MIkey wrote: |
2 |
> Alec Warner wrote: |
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 |
16 |
> shouldn't, 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 |
The problem is the complexity of system. You might be interested in knowning |
45 |
that with certain useflags system may pull in X as well as other complex |
46 |
ebuilds. Having said that, as long as the primary system packages are |
47 |
installed all ebuilds should build properly, including those in system. The |
48 |
problem is however that in stage 2 (after bootstrap.sh) not nearly all |
49 |
ebuilds are installed, but packages pulled in to system because of use flag |
50 |
dependencies might assume system is installed. |
51 |
|
52 |
> I have a hunch that judicious use of the build/bootstrap flags might be |
53 |
> able to get around most circular dependencies. I don't know portage well |
54 |
> enough to determine that. |
55 |
|
56 |
The ebuilds are not done in that way, the problem is portage's inability to |
57 |
handle this. There is no way ebuilds could solve this problem except not |
58 |
having the dependency. What is needed to solve it is merge perl without ssl |
59 |
support, merge openssl, merge perl with ssl support. This is however not |
60 |
clear to portage, so it doesn't know how to solve this. Such dependencies are |
61 |
mainly present in system, so starting from a stage 3 solves all these |
62 |
problems. |
63 |
|
64 |
Paul |
65 |
|
66 |
-- |
67 |
Paul de Vrieze |
68 |
Gentoo Developer |
69 |
Mail: pauldv@g.o |
70 |
Homepage: http://www.devrieze.net |