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 0E9EE198002 for ; Fri, 8 Mar 2013 18:48:01 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6222BE05CB; Fri, 8 Mar 2013 18:48:00 +0000 (UTC) Received: from vms173005pub.verizon.net (vms173005pub.verizon.net [206.46.173.5]) by pigeon.gentoo.org (Postfix) with ESMTP id 05D5DE05CB for ; Fri, 8 Mar 2013 18:47:59 +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 <0MJC00AJIUVVSO10@vms173005.mailsrvcs.net> for gentoo-catalyst@lists.gentoo.org; Fri, 08 Mar 2013 12:47:56 -0600 (CST) Received: by odin.tremily.us (Postfix, from userid 1000) id AC0A8908B29; Fri, 08 Mar 2013 13:47:53 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tremily.us; s=odin; t=1362768473; bh=2ZOPfIzQiDHlcSd/gFDxswgqY7VVEKDZYzSgJuZqGTw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Tln8vocF8GdQbRXpT+Uufn3xcvLoZFE8fzxGGpUd1AcFsja5Ag4RIkCkffuVx2vRF 4FOX5ymD3Mo/SawLoVrJB4QR/WbZP3O1bDPNWewk7k72kDAgyEKFd9yiBvekkZztBF u5p0ZkMILc5fwb4zQELapYxRjh93PpaCCHHop8tI= From: "W. Trevor King" To: gentoo-catalyst@lists.gentoo.org Cc: "W. Trevor King" Subject: [gentoo-catalyst] [PATCH v3] Strengthen update_seed to update @system and @world with dependencies Date: Fri, 08 Mar 2013 13:47:16 -0500 Message-id: <6472ad55830b40f838356a1b083b3815a4112358.1362768301.git.wking@tremily.us> X-Mailer: git-send-email 1.7.12.4 In-reply-to: <513A2F19.5040203@gentoo.org> References: <513A2F19.5040203@gentoo.org> 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: 9c8624bd-abdc-4575-99dc-b31a7ced7816 X-Archives-Hash: 40a39a8b3d4b9b60f04dc99290f8b974 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 should be no more need for user-specific overrides via update_seed_command, but Gentoo is about choice, so we keep the option. Use it at your own risk ;). Based-on-patch-by: Brian Dolbec --- Changes since v2: * Reinstated update_seed_command, as requested by Zero_Chaos. doc/catalyst-spec.5.txt | 2 +- targets/stage1/stage1-chroot.sh | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/doc/catalyst-spec.5.txt b/doc/catalyst-spec.5.txt index 4a6e06c..0eb3c2f 100644 --- a/doc/catalyst-spec.5.txt +++ b/doc/catalyst-spec.5.txt @@ -138,7 +138,7 @@ 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 `@system` and `@world`. This setting requires enabling update_seed. Compilation diff --git a/targets/stage1/stage1-chroot.sh b/targets/stage1/stage1-chroot.sh index 3f628c2..0e3859c 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="${clst_update_seed_command:---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