1 |
On Fri, 05 Jul 2013 21:27:46 -0700 |
2 |
Brian Dolbec <dolsen@g.o> wrote: |
3 |
|
4 |
> On Fri, 2013-07-05 at 22:18 -0400, Rick "Zero_Chaos" Farina wrote: |
5 |
> > On 07/05/2013 09:41 PM, Ryan Hill wrote: |
6 |
> > > On Fri, 05 Jul 2013 15:47:08 -0400 |
7 |
> > > "Rick \"Zero_Chaos\" Farina" <zerochaos@g.o> wrote: |
8 |
> > > |
9 |
> > >> -----BEGIN PGP SIGNED MESSAGE----- |
10 |
> > >> Hash: SHA1 |
11 |
> > >> |
12 |
> > >>> Paweł was nice enough to write a patch for us to get toolchain.eclass |
13 |
> > >>> up to EAPI 5. I believe it still needs some pieces like prefix support |
14 |
> > >>> and I haven't reviewed it in depth but it looks good so far (and much |
15 |
> > >>> simpler than I thought (oops)). I'm planning on moving up an EAPI at a |
16 |
> > >>> time, bumping it whenever we could use new features or people start |
17 |
> > >>> hucking fruit. |
18 |
> > >>> |
19 |
> > >>> |
20 |
> > >> I would be forever in your debt if toolchain were on eapi 5 and had |
21 |
> > >> proper subslot deps. |
22 |
> > > |
23 |
> > > What use case are you encountering? I hadn't planned on using subslots, |
24 |
> > > but I'm open to good reasons/bribery. |
25 |
> > > |
26 |
> > > |
27 |
> > |
28 |
> > Livecd builds work like this: |
29 |
> > |
30 |
> > stage3 tarball is unpacked, then toolchain (minimum package set) is |
31 |
> > built with ROOT=/tmp/stage1root and is linked to the original (seed |
32 |
> > stage) while being built. |
33 |
> > |
34 |
> > When we then move onto stage 2, it uses just the packages built during |
35 |
> > stage1 (/tmp/stage1root becomes /). This means, if seed stage has |
36 |
> > mpc.so.0.1 but portage has since included mpc.so.2 that the gcc in |
37 |
> > stage2 is linked against mpc.so.0.1 but only mpc.so.0.2 is installed. |
38 |
> > |
39 |
> > To combat this kind of failure we are currently running "emerge --update |
40 |
> > --deep --newuse --complete-graph --rebuild-if-new-ver gcc" which could |
41 |
> > just be "emerge --update gcc" if eapi 5 subslots were used properly. |
42 |
> > |
43 |
> > Please forgive me if any of these details aren't perfect, I'm using my |
44 |
> > best recollection of the most recent issue which happened when mpc was |
45 |
> > bumped a few months ago. |
46 |
> > |
47 |
> > I am available on irc quite a bit if you would like to discuss, however, |
48 |
> > if you want to keep it on the ML we really need to move this to -dev. |
49 |
> > |
50 |
> > Thanks, |
51 |
> > Zero |
52 |
> |
53 |
> Continuing this on -dev mail list. |
54 |
> |
55 |
> |
56 |
> The other thing we needed to do was completely remove the use of or |
57 |
> building of binpkgs during the update_seed stage. Portage has no |
58 |
> capability to check binpkg linking to ensure the binpkg was properly |
59 |
> usable. EAPI 5 subslots also put that info into the DEPENDS so portage |
60 |
> then considers that information. It would then reject a binpkg properly |
61 |
> and build from source due to the abi mismatch. I might also add that |
62 |
> using broken binpkgs in catalyst (like the mpc update) cause delayed |
63 |
> breakage, making trouble shooting the problem more difficult. |
64 |
> |
65 |
> With proper use of subslots for base system pkgs, binpkgs can be re-used |
66 |
> safely, saving both build and turn around time to get fully working |
67 |
> stages and livecd's etc. in catalyst released. The same holds true for |
68 |
> user systems that build and try to reuse binkgs. |
69 |
|
70 |
Thanks, these are good reasons. |
71 |
|
72 |
|
73 |
-- |
74 |
Ryan Hill psn: dirtyepic_sk |
75 |
gcc-porting/toolchain/wxwidgets @ gentoo.org |
76 |
|
77 |
47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463 |