Gentoo Archives: gentoo-catalyst

From: Matt Turner <mattst88@g.o>
To: gentoo-catalyst@l.g.o
Cc: zmedico@g.o, fuzzyray@g.o
Subject: Re: [gentoo-catalyst] patch, fix broken seed stage update
Date: Wed, 27 Feb 2013 03:23:21
Message-Id: CAEdQ38Gd_XUF5k99Zg69ZKXoh35CYdjV39ecAyN9UjzAowCvqg@mail.gmail.com
In Reply to: Re: [gentoo-catalyst] patch, fix broken seed stage update by Brian Dolbec
1 On Tue, Feb 26, 2013 at 7:03 PM, Brian Dolbec <dolsen@g.o> wrote:
2 > On Tue, 2013-02-26 at 18:37 -0800, Matt Turner wrote:
3 >> On Tue, Feb 26, 2013 at 8:20 AM, Brian Dolbec <dolsen@g.o> wrote:
4 >> > --- a/doc/catalyst-spec.5.txt
5 >> > +++ b/doc/catalyst-spec.5.txt
6 >> > @@ -138,9 +138,19 @@ it should update the seed stage or not (valid values: `yes no`).
7 >> > *update_seed_command*::
8 >> > This is an optional command to pass to emerge for updating the seed
9 >> > stage (example: `--update dev-libs/mpfr dev-libs/mpc dev-libs/gmp`)
10 >> > -If not specified, catalyst will update gcc deps.
11 >> > +If not specified, catalyst will update gcc's deps, and rebuild gcc if any of
12 >> > +it's deps are updated with a new version. Even if it itself is not updated.
13 >> > +This prevents gcc breakage when it's dependency lib sonames have changed.
14 >> > This setting requires enabling update_seed.
15 >> >
16 >> > +*update_seed_system*::
17 >> > +This is an optional setting supported by stage1 to tell catalyst if
18 >> > +it should update the seed's system packages or not (valid values: `yes no`).
19 >> > +This is run after any update_seed_command, updating any remaining upgradable
20 >> > +system packages.
21 >> > +This setting requires enabling update_seed.
22 >>
23 >> I don't see any need for an update_seed_system option. If someone
24 >> wants to run emerge @system then they can do:
25 >>
26 >> update_seed_command: --options @system
27 >>
28 >
29 > Well, Jorge last night was saying he wanted -uDN1 @world, but settled
30 > for what was done.
31 >
32 > Also if you look at my change for the default update_seed_command. If
33 > that is just made to @system, the problem I had updating my seed, it
34 > would still be broken. The problem was that mpc was updated which
35 > changed sonames, so gcc had to be rebuilt or was broken. Just doing an
36 > emerge -uDN1 @system would not have rebuilt gcc for the new mpc lib.
37 > And most system pkgs can not use EAPI 5 subslots to prevent breakage.
38 >
39 > This way gcc will get properly updated, rebuilt if necessary, then if
40 > the user wants, update remaining system pkgs.
41 >
42 > It's there, now, only a few lines of code, and for the reasons above,
43 > not as easy to do it all in one command. We would have to change the
44 > update_seed_command spec option from being a run_merge() to a bash
45 > subshell command. In that way it can be as complex as the user desires.
46
47 So from talking on IRC, it seems that the problem that led to this
48 patch was that a binpkg of gcc linked against an old mpc was used
49 during stage1, leading to a broken gcc in stage2. Stripping --usepkg
50 makes sense for this purpose.
51
52 Removing --buildpkg I'm not sure about. It seems to me that anything
53 that is built during the seed-update should be okay to use for the
54 stage1.
55
56 Adding an option for updating @system still seems unnecessary.

Replies

Subject Author
Re: [gentoo-catalyst] patch, fix broken seed stage update Brian Dolbec <dolsen@g.o>