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 18697198005 for ; Tue, 26 Feb 2013 17:28:37 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9147DE072C; Tue, 26 Feb 2013 17:28:36 +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 059B2E072C for ; Tue, 26 Feb 2013 17:28:35 +0000 (UTC) Received: from [10.0.251.86] (78-105-169-163.zone3.bethere.co.uk [78.105.169.163]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: zerochaos) by smtp.gentoo.org (Postfix) with ESMTPSA id 75D5333DEDA for ; Tue, 26 Feb 2013 17:28:32 +0000 (UTC) Message-ID: <512CF0E4.70000@gentoo.org> Date: Tue, 26 Feb 2013 12:29:08 -0500 From: "Rick \"Zero_Chaos\" Farina" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130222 Thunderbird/17.0.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 To: gentoo-catalyst@lists.gentoo.org Subject: Re: [gentoo-catalyst] patch, fix broken seed stage update References: <1361895645.3997.269.camel@big_daddy.dol-sen.ca> In-Reply-To: <1361895645.3997.269.camel@big_daddy.dol-sen.ca> X-Enigmail-Version: 1.5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Archives-Salt: 905b9611-f474-4db9-a199-7c6432ecaad8 X-Archives-Hash: 85879c77414e2a3fddc486a52aeff3ec -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 02/26/2013 11:20 AM, Brian Dolbec wrote: > The git branch is located at http://dev.gentoo.org/~dolsen/catalyst/ > git checkout the rewrite branch. > > For those of you that have already cloned it, use --force in your pull. > I've condensed, rearranged the changes into more logical complete > changes. Still, I wouldn't think you could cherrypick any single commit > in general. Some fixes could be cherrypicked to apply to current > master, some would likely have to be hand applied due to other changes. > > Next on my todo list, fix doc's creation, create a setup.py and make the > code installable via ebuild. > > I think also development should continue in a branch on the main > catalyst repo on g.o.g.o. Possibly name it catalyst3b so it does not > conflict with the catalyst3 branch started. I looked at rebasing my > work on it, but decided against it. There were far too many changes in > master since it was last updated. In my opinion you can kill the current catalyst 3 branch as nothing uses it and afaik it doesn't work. jmbvicetto should be able to authoritatively agree or not. - -Zero > > There are far too many patches to individually list them in this mail > list. Please checkout the branch from my repo to review the changes. > It would also be easier to use gitweb to view them online if it was > pushed to the main repo. > > > Anyway the latest patch... > > ====================================================================== > > Fix broken seed stage update... > > Strip --usepkg and --buildpkg from emerge options for user defined > update_seed_command. > Add a check for the update_seed option to set the correct update > options. > Fix default seed stage update command to properly update gcc and it's > deps. > Add a seed stage update system command and option. > Add --binpkg-respect-use=y for all cases --usepkg is enabled. > > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > >>>From 9ffa5b8812403bf20f17eba58543fc4b7c04bc33 Mon Sep 17 00:00:00 2001 > From: Brian Dolbec > Date: Mon, 25 Feb 2013 23:31:41 -0800 > Subject: [PATCH] Fix broken seed stage update... > > Strip --usepkg and --buildpkg from emerge options for user defined update_seed_command. > Add a check for the update_seed option to set the correct update options. > Fix default seed stage update command to properly update gcc and it's deps. > Add a seed stage update system command and option. > Add --binpkg-respect-use=y for all cases --usepkg is enabled. > --- > catalyst/targets/stage1.py | 3 ++- > doc/catalyst-spec.5.txt | 12 +++++++++++- > targets/stage1/stage1-chroot.sh | 17 ++++++++++++++--- > targets/support/chroot-functions.sh | 11 ++++++++++- > 4 files changed, 37 insertions(+), 6 deletions(-) > > diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py > index e936929..e067c8c 100644 > --- a/catalyst/targets/stage1.py > +++ b/catalyst/targets/stage1.py > @@ -18,7 +18,8 @@ class stage1(StageBase): > def __init__(self,spec,addlargs): > self.required_values=[] > self.valid_values=["chost"] > - self.valid_values.extend(["update_seed","update_seed_command"]) > + self.valid_values.extend(["update_seed","update_seed_command", > + "update_seed_system"]) > StageBase.__init__(self,spec,addlargs) > > def set_stage_path(self): > diff --git a/doc/catalyst-spec.5.txt b/doc/catalyst-spec.5.txt > index 4a6e06c..196bdc3 100644 > --- 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. > + > + > Compilation > ~~~~~~~~~~~ > > diff --git a/targets/stage1/stage1-chroot.sh b/targets/stage1/stage1-chroot.sh > index 97aef7f..65c2d81 100755 > --- a/targets/stage1/stage1-chroot.sh > +++ b/targets/stage1/stage1-chroot.sh > @@ -26,12 +26,23 @@ clst_root_path=/ setup_pkgmgr > # Update stage3 > if [ -n "${clst_update_seed}" ]; then > if [ "${clst_update_seed}" == "yes" ]; then > - echo "Updating seed stage..." > if [ -n "${clst_update_seed_command}" ]; then > - clst_root_path=/ run_merge "--buildpkg=n ${clst_update_seed_command}" > + echo "--- Updating seed stage with USER defined update_seed_command" > + update_cmd=${clst_update_seed_command/--usepkg /} > + update_cmd=${clst_update_seed_command/--buildpkg /} > + clst_root_path=/ run_merge "${update_cmd}" > else > - clst_root_path=/ run_merge "--buildpkg=n --update --deep --newuse --onlydeps gcc" > + echo "--- Updating seed stage with DEFAULT update_seed_command" > + update_cmd="--update --deep --complete-graph --rebuild-if-new-ver gcc" > + clst_root_path=/ run_merge ${update_cmd} > fi > + if [ "${clst_update_seed_system}" == "yes" ]; then > + echo "--- Updating seed stage system packages" > + update_cmd="--update --deep --complete-graph @system" > + clst_root_path=/ run_merge ${update_cmd} > + fi > + # now reset the emerge options for the target > + clst_update_seed=no setup_myemergeopts > elif [ "${clst_update_seed}" != "no" ]; then > echo "Invalid setting for update_seed: ${clst_update_seed}" > exit 1 > diff --git a/targets/support/chroot-functions.sh b/targets/support/chroot-functions.sh > index 2524b4f..69d2923 100755 > --- a/targets/support/chroot-functions.sh > +++ b/targets/support/chroot-functions.sh > @@ -133,9 +133,18 @@ setup_myemergeopts(){ > then > export bootstrap_opts="${bootstrap_opts} -f" > export clst_myemergeopts="${clst_myemergeopts} -f" > + # now intercept normal target options if we're updating the seed > + # to update the seed we do not want binpkgs that may have links to > + # sonames no longer installed, due to dependency updates. > + # this function will be re-run later with clst_update_seed=no > + elif [ "${clst_update_seed}" == "yes" ] > + then > + export clst_myemergeopts="${clst_myemergeopts} --newuse" > + export bootstrap_opts="${bootstrap_opts} -r" > elif [ -n "${clst_PKGCACHE}" ] > then > - export clst_myemergeopts="${clst_myemergeopts} --usepkg --buildpkg --newuse" > + # if you add --usepkg, then also add --binpkg-respect-use=y > + export clst_myemergeopts="${clst_myemergeopts} --usepkg --binpkg-respect-use=y --buildpkg --newuse" > export bootstrap_opts="${bootstrap_opts} -r" > fi > } > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJRLPDkAAoJEKXdFCfdEflKLykP/Rx73fH878oLHFunNkfpa929 us+Kcf74QNvTjDUH2uzgofICiJFsnCdgUjmF0+gBDUY8DjxOjMYI4CrbqF6FEJ88 Q+rmN5rkcFvqRaVZrh480U9qPhm8JvYvIzviijBBmOqZDOgFQHpOPJMSeRcMAU/5 7fAT5zbmUGduKtecV/juI6UQimo5/eNuWd/z7BY3qAG/eh4skFK1M0JX2JJKnlAO m5I5GCDKn32FQhhm5OdW+GFgS6c6MczBGGIEnyTwu7Lv50OC6XRm9xP4uiDjGOqW A+tPhp1pidhamjCYhW0A+1fv5ZYe6DIZy/b8p/KrgB3oDKmhwWn83u1RhCu3GxMe 6Scg1KlnBJgPVa8b7OiS0lbJlrLAUlcQzJJKhvlrH7mRZ8vAqn4R77s31opuU2JU UvZdchAYN/ziZG9xR/btrDE8yrpzwjiXj4Sc1BncqDMb2Sq/HLrxxYi0Tuk7UNDz hQdjRBEaC8e/yvuPtdGqpoq9WojKeMH6DhBHI/FYhOlcqr4vHyPtiD6ioHwd92LK iBAiAfQ5jjk+pDu1yIbOC5/GchWVV6hKjgz2qZd3dZPQq7YixRVImHR5roBXiKwm 4w9FutyE5slZZgFjIjrkcg1lp0emHI8osKfl9hf+wNvVXmgo8AZrrmidqgESNe8B iQtoJi1P+d7Mee4cqlrI =Yseo -----END PGP SIGNATURE-----