1 |
On Tue, 2013-02-26 at 18:37 -0800, Matt Turner wrote: |
2 |
> On Tue, Feb 26, 2013 at 8:20 AM, Brian Dolbec <dolsen@g.o> wrote: |
3 |
> > --- a/doc/catalyst-spec.5.txt |
4 |
> > +++ b/doc/catalyst-spec.5.txt |
5 |
> > @@ -138,9 +138,19 @@ it should update the seed stage or not (valid values: `yes no`). |
6 |
> > *update_seed_command*:: |
7 |
> > This is an optional command to pass to emerge for updating the seed |
8 |
> > stage (example: `--update dev-libs/mpfr dev-libs/mpc dev-libs/gmp`) |
9 |
> > -If not specified, catalyst will update gcc deps. |
10 |
> > +If not specified, catalyst will update gcc's deps, and rebuild gcc if any of |
11 |
> > +it's deps are updated with a new version. Even if it itself is not updated. |
12 |
> > +This prevents gcc breakage when it's dependency lib sonames have changed. |
13 |
> > This setting requires enabling update_seed. |
14 |
> > |
15 |
> > +*update_seed_system*:: |
16 |
> > +This is an optional setting supported by stage1 to tell catalyst if |
17 |
> > +it should update the seed's system packages or not (valid values: `yes no`). |
18 |
> > +This is run after any update_seed_command, updating any remaining upgradable |
19 |
> > +system packages. |
20 |
> > +This setting requires enabling update_seed. |
21 |
> |
22 |
> I don't see any need for an update_seed_system option. If someone |
23 |
> wants to run emerge @system then they can do: |
24 |
> |
25 |
> update_seed_command: --options @system |
26 |
> |
27 |
|
28 |
Well, Jorge last night was saying he wanted -uDN1 @world, but settled |
29 |
for what was done. |
30 |
|
31 |
Also if you look at my change for the default update_seed_command. If |
32 |
that is just made to @system, the problem I had updating my seed, it |
33 |
would still be broken. The problem was that mpc was updated which |
34 |
changed sonames, so gcc had to be rebuilt or was broken. Just doing an |
35 |
emerge -uDN1 @system would not have rebuilt gcc for the new mpc lib. |
36 |
And most system pkgs can not use EAPI 5 subslots to prevent breakage. |
37 |
|
38 |
This way gcc will get properly updated, rebuilt if necessary, then if |
39 |
the user wants, update remaining system pkgs. |
40 |
|
41 |
It's there, now, only a few lines of code, and for the reasons above, |
42 |
not as easy to do it all in one command. We would have to change the |
43 |
update_seed_command spec option from being a run_merge() to a bash |
44 |
subshell command. In that way it can be as complex as the user desires. |