From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 74EC2198005 for ; Wed, 27 Feb 2013 03:04:21 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 44047E06C1; Wed, 27 Feb 2013 03:04:20 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B3F72E06C1 for ; Wed, 27 Feb 2013 03:04:19 +0000 (UTC) Received: from [192.168.1.210] (unknown [24.86.176.233]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: dolsen) by smtp.gentoo.org (Postfix) with ESMTPSA id EF3BD33DEF0; Wed, 27 Feb 2013 03:04:17 +0000 (UTC) Message-ID: <1361934235.3997.331.camel@big_daddy.dol-sen.ca> Subject: Re: [gentoo-catalyst] patch, fix broken seed stage update From: Brian Dolbec To: gentoo-catalyst@lists.gentoo.org Cc: zmedico@gentoo.org, fuzzyray@gentoo.org Date: Tue, 26 Feb 2013 19:03:55 -0800 In-Reply-To: References: <1361895645.3997.269.camel@big_daddy.dol-sen.ca> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.6.3 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-catalyst@lists.gentoo.org Reply-to: gentoo-catalyst@lists.gentoo.org Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Archives-Salt: 67db5f74-eb04-46b2-93bf-4fa14d4d2b54 X-Archives-Hash: 69219c8a8ee0549512f85508086a8790 On Tue, 2013-02-26 at 18:37 -0800, Matt Turner wrote: > On Tue, Feb 26, 2013 at 8:20 AM, Brian Dolbec wrote: > > --- a/doc/catalyst-spec.5.txt > > +++ b/doc/catalyst-spec.5.txt > > @@ -138,9 +138,19 @@ it should update the seed stage or not (valid values: `yes no`). > > *update_seed_command*:: > > This is an optional command to pass to emerge for updating the seed > > stage (example: `--update dev-libs/mpfr dev-libs/mpc dev-libs/gmp`) > > -If not specified, catalyst will update gcc deps. > > +If not specified, catalyst will update gcc's deps, and rebuild gcc if any of > > +it's deps are updated with a new version. Even if it itself is not updated. > > +This prevents gcc breakage when it's dependency lib sonames have changed. > > This setting requires enabling update_seed. > > > > +*update_seed_system*:: > > +This is an optional setting supported by stage1 to tell catalyst if > > +it should update the seed's system packages or not (valid values: `yes no`). > > +This is run after any update_seed_command, updating any remaining upgradable > > +system packages. > > +This setting requires enabling update_seed. > > I don't see any need for an update_seed_system option. If someone > wants to run emerge @system then they can do: > > update_seed_command: --options @system > Well, Jorge last night was saying he wanted -uDN1 @world, but settled for what was done. Also if you look at my change for the default update_seed_command. If that is just made to @system, the problem I had updating my seed, it would still be broken. The problem was that mpc was updated which changed sonames, so gcc had to be rebuilt or was broken. Just doing an emerge -uDN1 @system would not have rebuilt gcc for the new mpc lib. And most system pkgs can not use EAPI 5 subslots to prevent breakage. This way gcc will get properly updated, rebuilt if necessary, then if the user wants, update remaining system pkgs. It's there, now, only a few lines of code, and for the reasons above, not as easy to do it all in one command. We would have to change the update_seed_command spec option from being a run_merge() to a bash subshell command. In that way it can be as complex as the user desires.