Gentoo Archives: gentoo-catalyst

From: "Rick \\\"Zero_Chaos\\\" Farina" <zerochaos@g.o>
To: gentoo-catalyst@l.g.o
Subject: Re: [gentoo-catalyst] [PATCH v2] Remove update_seed_command and strengthen update_seed
Date: Fri, 08 Mar 2013 18:33:02
Message-Id: 513A2F19.5040203@gentoo.org
In Reply to: [gentoo-catalyst] [PATCH v2] Remove update_seed_command and strengthen update_seed by "W. Trevor King"
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 On 03/08/2013 12:27 PM, W. Trevor King wrote:
5 > From: "W. Trevor King" <wking@×××××××.us>
6 >
7 > When using `update_seed` to get a 20121213 stage3 from
8 > libmpc.so.2 to libmpc.so.3, stage2 failed with:
9 >
10 > /usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1:
11 > error while loading shared libraries: libmpc.so.2:
12 > cannot open shared object file: No such file or directory
13 >
14 > This was due to an mpc version bump in the Portage tree that was not
15 > present in the stage3 I used to seed stage1. Stage1 wasn't
16 > recompiling GCC against the new mpc, so it ended up with GCC linking
17 > against the old mpc. Heading into stage2, the old mpc (from the seed
18 > stage3) was no longer present, so compilation crashed and burned.
19 >
20 > To fix this, we should be extra agressive about rebuilding packages
21 > when their dependencies change in stage1. The earlier update_seed
22 > command was not catching the bumped mpc, so add:
23 >
24 > --complete-graph --with-bdeps=y --rebuild-if-new-ver
25 >
26 > to toughen things up.
27 >
28 > This is a general dependency problem (not GCC specific), so I also
29 > replaced the gcc target with:
30 >
31 > @world @system
32 >
33 > This leads to a lot of rebuilding, but it should be a stable and
34 > general fix. With a general fix there's no more need to allow
35 > user-specific overrides with update_seed_command, and that option was
36 > removed.
37 >
38 > Based-on-patch-by: Brian Dolbec <dolsen@g.o>
39 > ---
40 > I wrote this trimmed-down version up after talking to Brian and Rick
41 > on IRC this morning. The test run is still running, but I'll post
42 > if/when I get through stage3.
43 >
44 > doc/catalyst-spec.5.txt | 6 ------
45 > modules/stage1_target.py | 2 +-
46 > targets/stage1/stage1-chroot.sh | 9 +++------
47 > 3 files changed, 4 insertions(+), 13 deletions(-)
48 >
49 > diff --git a/doc/catalyst-spec.5.txt b/doc/catalyst-spec.5.txt
50 > index 4a6e06c..a928557 100644
51 > --- a/doc/catalyst-spec.5.txt
52 > +++ b/doc/catalyst-spec.5.txt
53 > @@ -135,12 +135,6 @@ one CD, this defines the layout for the directories under
54 > This is an optional setting supported by stage1 to tell catalyst if
55 > it should update the seed stage or not (valid values: `yes no`).
56 >
57 > -*update_seed_command*::
58 > -This is an optional command to pass to emerge for updating the seed
59 > -stage (example: `--update dev-libs/mpfr dev-libs/mpc dev-libs/gmp`)
60 > -If not specified, catalyst will update gcc deps.
61 > -This setting requires enabling update_seed.
62 > -
63 > Compilation
64 > ~~~~~~~~~~~
65 >
66 > diff --git a/modules/stage1_target.py b/modules/stage1_target.py
67 > index aa43926..7a6c860 100644
68 > --- a/modules/stage1_target.py
69 > +++ b/modules/stage1_target.py
70 > @@ -13,7 +13,7 @@ class stage1_target(generic_stage_target):
71 > def __init__(self,spec,addlargs):
72 > self.required_values=[]
73 > self.valid_values=["chost"]
74 > - self.valid_values.extend(["update_seed","update_seed_command"])
75 > + self.valid_values.extend(["update_seed"])
76 > generic_stage_target.__init__(self,spec,addlargs)
77 >
78 > def set_stage_path(self):
79 > diff --git a/targets/stage1/stage1-chroot.sh b/targets/stage1/stage1-chroot.sh
80 > index 3f628c2..3dad53d 100644
81 > --- a/targets/stage1/stage1-chroot.sh
82 > +++ b/targets/stage1/stage1-chroot.sh
83 > @@ -26,12 +26,9 @@ clst_root_path=/ setup_pkgmgr
84 > # Update stage3
85 > if [ -n "${clst_update_seed}" ]; then
86 > if [ "${clst_update_seed}" == "yes" ]; then
87 > - echo "Updating seed stage..."
88 > - if [ -n "${clst_update_seed_command}" ]; then
89 > - clst_root_path=/ run_merge "--buildpkg=n ${clst_update_seed_command}"
90 NACK: we will not be removing update_seed_command. Different people want
91 different things, gentoo is about choice, if you break it you get to
92 keep the pieces.
93
94 You are more than welcome to add a warning about using
95 update_seed_command, but it stays.
96
97 - -Zero
98 > - else
99 > - clst_root_path=/ run_merge "--buildpkg=n --update --deep --newuse --onlydeps gcc"
100 > - fi
101 > + update_cmd="--update --deep --complete-graph --with-bdeps=y --rebuild-if-new-ver @world @system"
102 > + echo "--- Updating seed stage with: ${update_cmd}"
103 > + clst_root_path=/ run_merge "${update_cmd}"
104 > elif [ "${clst_update_seed}" != "no" ]; then
105 > echo "Invalid setting for update_seed: ${clst_update_seed}"
106 > exit 1
107 >
108
109 -----BEGIN PGP SIGNATURE-----
110 Version: GnuPG v2.0.19 (GNU/Linux)
111 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
112
113 iQIcBAEBAgAGBQJROi8ZAAoJEKXdFCfdEflKmDAQALSBVFh6hR4FGR+dQfN3T1Uv
114 4YLQFk26boO3MdG8/L5J7n9aNh4SGo2NmAzpXPmZnJYFXdbDz5vNtnMb+fOZ2QTU
115 oSoNRxW6laSY7J5kGXgtIYV4G5m2fYaik87LUuu16bz1GomCsndRuS7fcJZrLMfB
116 hU3ClOB6BdVeCenvpmxIyg75pZsI2CbSqNXL4MNBocuG/eD6ZfOL17tyvRL1PGdC
117 X6lv1veu6W6y/UnwuKng3EPqUtUbEh9CNAJZ1vkyyz1FMKtuDoMMrMW2OS/oT5YZ
118 WELlw/R3XYjyKBM2Ar1bd6jHrTXbUy6buEWY4KFmhx5qY+BRCTeebrz872v4D85C
119 JAWYJvlinqsyEUnJGtcitgSRx/+A/hweN8s4M+RHHPHDUXQwOedXGnNZU60ZH3o+
120 Pl9/B/7qBwRCGs0uTXq+GMWFEh4fZP3vMl60xp4GnA9uaxzfN7w0KJ2q1ZxWwGJk
121 GJYKwTBt5fCA3TDQHHxNaLgAilu7JzMrRIkvaYf6DiXFP9mDUuQOJ8cd/ysUaDa5
122 QZipSfOw/eQRwzWlirbzHTic8pN5m8GVbYzmdtBVkUGHl8MchytXOwbDEJBW8PJu
123 4TXtn6KKKFKDDHgPtMHeSzMGQij2n8ivK6QOYT2sPfauNRqHvuW+WgTZi+2EQsK0
124 UO1kM4BYa2TxuSIkLATT
125 =lBAs
126 -----END PGP SIGNATURE-----

Replies