1 |
On Saturday 20 May 2006 10:19, "Christopher E" <sensory.access@×××××.com> |
2 |
wrote about 'Re: [gentoo-amd64] Re: Advice Wanted! Setup Instuctions ...': |
3 |
> > I've only done the initial stage-1 setup, and now they recommend |
4 |
> > starting from stage three and just doing an emerge --emptytree, so I |
5 |
> > don't have much of use to say in that or the other areas. |
6 |
> |
7 |
> Do you have any stuff I can read about using a stage three and doing |
8 |
> a emerge --emptytree, and why one would do such? |
9 |
|
10 |
Stage 1 has quite a bit of craft that will never get cleaned up, because |
11 |
otherwise it wouldn't compile /everything/. Stage 3 + --emptytree gives |
12 |
you all the advantages of starting from Stage 1. |
13 |
|
14 |
There are still some issues with changing your CHOST when starting from |
15 |
Stage 3, AFIAK. |
16 |
|
17 |
> > Specific: Check that those video card USE flags are all USE flags, |
18 |
> > not VIDEO_CARDS flags (that is, USE_EXPAND, not USE). |
19 |
> |
20 |
> I am going to just |
21 |
> use the video card that I am wanting to have support for under the |
22 |
> VIDEO_CARDS flags like radeon, vesa. |
23 |
|
24 |
Just make use you put the flag(s) in the correct place. Some are USE |
25 |
flags, which go directly into USE, some are handled by the relatively new |
26 |
USE_EXPAND feature of portage and go into VIDEO_CARDS. If you use the |
27 |
wrong variable, you won't get the system you desire. |
28 |
|
29 |
> > General: Since you are starting over, it's a good time to consider |
30 |
> > one of my favorite features, FEATURES=buildpkg |
31 |
> |
32 |
> Can you tell me more about this and is this go in the make.conf file? |
33 |
> so does this mean the system runs from bin files instead of what every |
34 |
> the other way is? |
35 |
|
36 |
Yes, all FEATURES go into the FEATURES variable in make.conf. (Of course, |
37 |
you can put them in portage's environment however you please, but most |
38 |
people use make.conf.) |
39 |
|
40 |
buildpkg changes way emerge works, but only slightly. The final step is |
41 |
normally the merge step where files are copied from the sandbox onto the |
42 |
live system. Instead this done in two phases. First all the files that |
43 |
would have been copied from the sandbox (along with some metadata) are |
44 |
added to a tbz2 (compressed archive) file. Then, this archive is |
45 |
extracted over the root filesystem, effectively doing to copy AND testing |
46 |
the archive. Finally the archive is moved to your packages directory. In |
47 |
an *emerge*ncy (like, portage is broken) you can simply extract the |
48 |
tarball for the broken package yourself. Also, computers that will be set |
49 |
up similarly (binary-compatible compiler(s) and compiler flags) can use |
50 |
those packages (by setting up BINHOST and passing -k to emerge) to avoid |
51 |
compilation time when use flags do not differ. |
52 |
|
53 |
> > Bonus General I just remembered: If you are using ~arch portage as you |
54 |
> > mentioned, 2.1-rcX now, you may also wish to investigate |
55 |
> > FEATURES=confcache. |
56 |
> |
57 |
> What does this do? Also does this go in the make.conf file? Any |
58 |
> other stuff that would be good to know about this would be great. |
59 |
|
60 |
Again, all FEATURES go into make.conf read 'man 5 make.conf'. |
61 |
|
62 |
To understand confcache, you have to know about GNU autoconf. |
63 |
|
64 |
A number of open-source packages use GNU autoconf. This does various tests |
65 |
on the target system, and write out a file for of C preprocessor |
66 |
directives that can be used by the source to determine what features need |
67 |
to be activated in the source. |
68 |
|
69 |
GNU autoconf has a feature that allows it to use an existing cache to avoid |
70 |
performing duplicate tests. This cache is automatically generated by |
71 |
autoconf, but is not automatically stored or accessed globally. (Instead |
72 |
it mainly used when 2 [or more] tests depend on the same sub-test.) This |
73 |
is not done because it's critical to know when to expire entries in the |
74 |
cache, and autoconf does not do this itself. |
75 |
|
76 |
Confcache is Gentoo's attempt to share this cache globally, which will |
77 |
speed some packages (kde-meta) up significantly (all the individual KDE |
78 |
applications perform virtually the same autoconf tests). It has some |
79 |
system for expiring the cache (although, I believe it is currently the |
80 |
whole cache and not individual entries), storing the cache globally, and |
81 |
copying it into the local position autoconf expects it to be in. |
82 |
|
83 |
AFAIK, it's still experimental. I'm currently blaming it for some meta-kde |
84 |
emerge failures, but I also was using a number of other experimental |
85 |
FEATURES at the same time, so I don't have any hard evidence that it's |
86 |
broken. |
87 |
|
88 |
> > Of course there's ccache as well, but that can actually take longer if |
89 |
> > you aren't doing much recompiling of the same code with the same |
90 |
> > options on the same gcc, due to the extra disk activity of managing |
91 |
> > the ccache, and there's distcc, if you have several computers that can |
92 |
> > share the load. |
93 |
> |
94 |
> So it sould like this is some thing that is not needed and does not do |
95 |
> much for the system in my case at less? |
96 |
|
97 |
Well, IIRC, ccache is able to match on file /data/ and basically ignores |
98 |
the file /name/ which allows it some speed up some autoconf tests. Many |
99 |
autoconf tests are just attempts to compile simple, but specially |
100 |
constructed, C files. |
101 |
|
102 |
Also, ccache can speed up restarting packages that fail to emerge the first |
103 |
time through. |
104 |
|
105 |
-- |
106 |
"If there's one thing we've established over the years, |
107 |
it's that the vast majority of our users don't have the slightest |
108 |
clue what's best for them in terms of package stability." |
109 |
-- Gentoo Developer Ciaran McCreesh |