Gentoo Archives: gentoo-dev

From: Ryan Hill <dirtyepic@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: toolchain update was Re: [gentoo-project] Re: Questions for candidates for Gentoo Council 2013/2014
Date: Sat, 06 Jul 2013 05:06:15
Message-Id: 20130705231619.396c969e@caribou.gateway.2wire.net
In Reply to: [gentoo-dev] Re: toolchain update was Re: [gentoo-project] Re: Questions for candidates for Gentoo Council 2013/2014 by Brian Dolbec
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

Attachments

File name MIME type
signature.asc application/pgp-signature