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 C1AFB198002 for ; Fri, 8 Mar 2013 17:28:20 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 829FDE0652; Fri, 8 Mar 2013 17:28:19 +0000 (UTC) Received: from vms173005pub.verizon.net (vms173005pub.verizon.net [206.46.173.5]) by pigeon.gentoo.org (Postfix) with ESMTP id 1B2E5E0652 for ; Fri, 8 Mar 2013 17:28:18 +0000 (UTC) Received: from odin.tremily.us ([unknown] [72.68.87.226]) by vms173005.mailsrvcs.net (Sun Java(tm) System Messaging Server 7u2-7.02 32bit (built Apr 16 2009)) with ESMTPA id <0MJC00MYRR6GPU40@vms173005.mailsrvcs.net> for gentoo-catalyst@lists.gentoo.org; Fri, 08 Mar 2013 11:27:54 -0600 (CST) Received: by odin.tremily.us (Postfix, from userid 1000) id 621BA9088F5; Fri, 08 Mar 2013 12:27:52 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tremily.us; s=odin; t=1362763672; bh=3KfWnUsGmRjJUAJX0XQuIywNss0+QlYMPcPyEkX1suc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=jn435xM4WGWBFj91PmW6wkrXRF/SfIQLGX0qsarYfVd4Synv+h/AO7Xw8grvvkpaM fuZ5QZI+sq4l7rxbCnytkDOYJazpvwQ6zmfvXWE733wyzDC41lMUkWVfXP1hS4ZsWz S8PdpfUruQvn0N8zyAJhY75yyhAPMMzSwA2i1YRI= From: "W. Trevor King" To: Catalyst Cc: "W. Trevor King" Subject: [gentoo-catalyst] [PATCH v2] Remove update_seed_command and strengthen update_seed Date: Fri, 08 Mar 2013 12:27:43 -0500 Message-id: X-Mailer: git-send-email 1.7.12.4 In-reply-to: <1361895645.3997.269.camel@big_daddy.dol-sen.ca> References: <1361895645.3997.269.camel@big_daddy.dol-sen.ca> 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 X-Archives-Salt: 82e3bdca-7e20-47f0-ba06-0a2935d858ba X-Archives-Hash: 96de97b15f1c251daa394c05970ea5d3 From: "W. Trevor King" When using `update_seed` to get a 20121213 stage3 from libmpc.so.2 to libmpc.so.3, stage2 failed with: /usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory This was due to an mpc version bump in the Portage tree that was not present in the stage3 I used to seed stage1. Stage1 wasn't recompiling GCC against the new mpc, so it ended up with GCC linking against the old mpc. Heading into stage2, the old mpc (from the seed stage3) was no longer present, so compilation crashed and burned. To fix this, we should be extra agressive about rebuilding packages when their dependencies change in stage1. The earlier update_seed command was not catching the bumped mpc, so add: --complete-graph --with-bdeps=y --rebuild-if-new-ver to toughen things up. This is a general dependency problem (not GCC specific), so I also replaced the gcc target with: @world @system This leads to a lot of rebuilding, but it should be a stable and general fix. With a general fix there's no more need to allow user-specific overrides with update_seed_command, and that option was removed. Based-on-patch-by: Brian Dolbec --- I wrote this trimmed-down version up after talking to Brian and Rick on IRC this morning. The test run is still running, but I'll post if/when I get through stage3. doc/catalyst-spec.5.txt | 6 ------ modules/stage1_target.py | 2 +- targets/stage1/stage1-chroot.sh | 9 +++------ 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/doc/catalyst-spec.5.txt b/doc/catalyst-spec.5.txt index 4a6e06c..a928557 100644 --- a/doc/catalyst-spec.5.txt +++ b/doc/catalyst-spec.5.txt @@ -135,12 +135,6 @@ one CD, this defines the layout for the directories under This is an optional setting supported by stage1 to tell catalyst if 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. -This setting requires enabling update_seed. - Compilation ~~~~~~~~~~~ diff --git a/modules/stage1_target.py b/modules/stage1_target.py index aa43926..7a6c860 100644 --- a/modules/stage1_target.py +++ b/modules/stage1_target.py @@ -13,7 +13,7 @@ class stage1_target(generic_stage_target): 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"]) generic_stage_target.__init__(self,spec,addlargs) def set_stage_path(self): diff --git a/targets/stage1/stage1-chroot.sh b/targets/stage1/stage1-chroot.sh index 3f628c2..3dad53d 100644 --- a/targets/stage1/stage1-chroot.sh +++ b/targets/stage1/stage1-chroot.sh @@ -26,12 +26,9 @@ 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}" - else - clst_root_path=/ run_merge "--buildpkg=n --update --deep --newuse --onlydeps gcc" - fi + update_cmd="--update --deep --complete-graph --with-bdeps=y --rebuild-if-new-ver @world @system" + echo "--- Updating seed stage with: ${update_cmd}" + clst_root_path=/ run_merge "${update_cmd}" elif [ "${clst_update_seed}" != "no" ]; then echo "Invalid setting for update_seed: ${clst_update_seed}" exit 1 -- 1.8.2.rc0.16.g20a599e