Gentoo Archives: gentoo-catalyst

From: "Rick \\\"Zero_Chaos\\\" Farina" <zerochaos@g.o>
To: gentoo-catalyst@l.g.o
Subject: Re: [gentoo-catalyst] patch, fix broken seed stage update
Date: Tue, 26 Feb 2013 17:28:37
Message-Id: 512CF0E4.70000@gentoo.org
In Reply to: [gentoo-catalyst] patch, fix broken seed stage update by Brian Dolbec
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 On 02/26/2013 11:20 AM, Brian Dolbec wrote:
5 > The git branch is located at http://dev.gentoo.org/~dolsen/catalyst/
6 > git checkout the rewrite branch.
7 >
8 > For those of you that have already cloned it, use --force in your pull.
9 > I've condensed, rearranged the changes into more logical complete
10 > changes. Still, I wouldn't think you could cherrypick any single commit
11 > in general. Some fixes could be cherrypicked to apply to current
12 > master, some would likely have to be hand applied due to other changes.
13 >
14 > Next on my todo list, fix doc's creation, create a setup.py and make the
15 > code installable via ebuild.
16 >
17 > I think also development should continue in a branch on the main
18 > catalyst repo on g.o.g.o. Possibly name it catalyst3b so it does not
19 > conflict with the catalyst3 branch started. I looked at rebasing my
20 > work on it, but decided against it. There were far too many changes in
21 > master since it was last updated.
22 In my opinion you can kill the current catalyst 3 branch as nothing uses
23 it and afaik it doesn't work. jmbvicetto should be able to
24 authoritatively agree or not.
25
26 - -Zero
27 >
28 > There are far too many patches to individually list them in this mail
29 > list. Please checkout the branch from my repo to review the changes.
30 > It would also be easier to use gitweb to view them online if it was
31 > pushed to the main repo.
32 >
33 >
34 > Anyway the latest patch...
35 >
36 > ======================================================================
37 >
38 > Fix broken seed stage update...
39 >
40 > Strip --usepkg and --buildpkg from emerge options for user defined
41 > update_seed_command.
42 > Add a check for the update_seed option to set the correct update
43 > options.
44 > Fix default seed stage update command to properly update gcc and it's
45 > deps.
46 > Add a seed stage update system command and option.
47 > Add --binpkg-respect-use=y for all cases --usepkg is enabled.
48 >
49 >
50 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
51 >
52 >>From 9ffa5b8812403bf20f17eba58543fc4b7c04bc33 Mon Sep 17 00:00:00 2001
53 > From: Brian Dolbec <dolsen@g.o>
54 > Date: Mon, 25 Feb 2013 23:31:41 -0800
55 > Subject: [PATCH] Fix broken seed stage update...
56 >
57 > Strip --usepkg and --buildpkg from emerge options for user defined update_seed_command.
58 > Add a check for the update_seed option to set the correct update options.
59 > Fix default seed stage update command to properly update gcc and it's deps.
60 > Add a seed stage update system command and option.
61 > Add --binpkg-respect-use=y for all cases --usepkg is enabled.
62 > ---
63 > catalyst/targets/stage1.py | 3 ++-
64 > doc/catalyst-spec.5.txt | 12 +++++++++++-
65 > targets/stage1/stage1-chroot.sh | 17 ++++++++++++++---
66 > targets/support/chroot-functions.sh | 11 ++++++++++-
67 > 4 files changed, 37 insertions(+), 6 deletions(-)
68 >
69 > diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py
70 > index e936929..e067c8c 100644
71 > --- a/catalyst/targets/stage1.py
72 > +++ b/catalyst/targets/stage1.py
73 > @@ -18,7 +18,8 @@ class stage1(StageBase):
74 > def __init__(self,spec,addlargs):
75 > self.required_values=[]
76 > self.valid_values=["chost"]
77 > - self.valid_values.extend(["update_seed","update_seed_command"])
78 > + self.valid_values.extend(["update_seed","update_seed_command",
79 > + "update_seed_system"])
80 > StageBase.__init__(self,spec,addlargs)
81 >
82 > def set_stage_path(self):
83 > diff --git a/doc/catalyst-spec.5.txt b/doc/catalyst-spec.5.txt
84 > index 4a6e06c..196bdc3 100644
85 > --- a/doc/catalyst-spec.5.txt
86 > +++ b/doc/catalyst-spec.5.txt
87 > @@ -138,9 +138,19 @@ it should update the seed stage or not (valid values: `yes no`).
88 > *update_seed_command*::
89 > This is an optional command to pass to emerge for updating the seed
90 > stage (example: `--update dev-libs/mpfr dev-libs/mpc dev-libs/gmp`)
91 > -If not specified, catalyst will update gcc deps.
92 > +If not specified, catalyst will update gcc's deps, and rebuild gcc if any of
93 > +it's deps are updated with a new version. Even if it itself is not updated.
94 > +This prevents gcc breakage when it's dependency lib sonames have changed.
95 > This setting requires enabling update_seed.
96 >
97 > +*update_seed_system*::
98 > +This is an optional setting supported by stage1 to tell catalyst if
99 > +it should update the seed's system packages or not (valid values: `yes no`).
100 > +This is run after any update_seed_command, updating any remaining upgradable
101 > +system packages.
102 > +This setting requires enabling update_seed.
103 > +
104 > +
105 > Compilation
106 > ~~~~~~~~~~~
107 >
108 > diff --git a/targets/stage1/stage1-chroot.sh b/targets/stage1/stage1-chroot.sh
109 > index 97aef7f..65c2d81 100755
110 > --- a/targets/stage1/stage1-chroot.sh
111 > +++ b/targets/stage1/stage1-chroot.sh
112 > @@ -26,12 +26,23 @@ clst_root_path=/ setup_pkgmgr
113 > # Update stage3
114 > if [ -n "${clst_update_seed}" ]; then
115 > if [ "${clst_update_seed}" == "yes" ]; then
116 > - echo "Updating seed stage..."
117 > if [ -n "${clst_update_seed_command}" ]; then
118 > - clst_root_path=/ run_merge "--buildpkg=n ${clst_update_seed_command}"
119 > + echo "--- Updating seed stage with USER defined update_seed_command"
120 > + update_cmd=${clst_update_seed_command/--usepkg /}
121 > + update_cmd=${clst_update_seed_command/--buildpkg /}
122 > + clst_root_path=/ run_merge "${update_cmd}"
123 > else
124 > - clst_root_path=/ run_merge "--buildpkg=n --update --deep --newuse --onlydeps gcc"
125 > + echo "--- Updating seed stage with DEFAULT update_seed_command"
126 > + update_cmd="--update --deep --complete-graph --rebuild-if-new-ver gcc"
127 > + clst_root_path=/ run_merge ${update_cmd}
128 > fi
129 > + if [ "${clst_update_seed_system}" == "yes" ]; then
130 > + echo "--- Updating seed stage system packages"
131 > + update_cmd="--update --deep --complete-graph @system"
132 > + clst_root_path=/ run_merge ${update_cmd}
133 > + fi
134 > + # now reset the emerge options for the target
135 > + clst_update_seed=no setup_myemergeopts
136 > elif [ "${clst_update_seed}" != "no" ]; then
137 > echo "Invalid setting for update_seed: ${clst_update_seed}"
138 > exit 1
139 > diff --git a/targets/support/chroot-functions.sh b/targets/support/chroot-functions.sh
140 > index 2524b4f..69d2923 100755
141 > --- a/targets/support/chroot-functions.sh
142 > +++ b/targets/support/chroot-functions.sh
143 > @@ -133,9 +133,18 @@ setup_myemergeopts(){
144 > then
145 > export bootstrap_opts="${bootstrap_opts} -f"
146 > export clst_myemergeopts="${clst_myemergeopts} -f"
147 > + # now intercept normal target options if we're updating the seed
148 > + # to update the seed we do not want binpkgs that may have links to
149 > + # sonames no longer installed, due to dependency updates.
150 > + # this function will be re-run later with clst_update_seed=no
151 > + elif [ "${clst_update_seed}" == "yes" ]
152 > + then
153 > + export clst_myemergeopts="${clst_myemergeopts} --newuse"
154 > + export bootstrap_opts="${bootstrap_opts} -r"
155 > elif [ -n "${clst_PKGCACHE}" ]
156 > then
157 > - export clst_myemergeopts="${clst_myemergeopts} --usepkg --buildpkg --newuse"
158 > + # if you add --usepkg, then also add --binpkg-respect-use=y
159 > + export clst_myemergeopts="${clst_myemergeopts} --usepkg --binpkg-respect-use=y --buildpkg --newuse"
160 > export bootstrap_opts="${bootstrap_opts} -r"
161 > fi
162 > }
163 >
164
165 -----BEGIN PGP SIGNATURE-----
166 Version: GnuPG v2.0.19 (GNU/Linux)
167 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
168
169 iQIcBAEBAgAGBQJRLPDkAAoJEKXdFCfdEflKLykP/Rx73fH878oLHFunNkfpa929
170 us+Kcf74QNvTjDUH2uzgofICiJFsnCdgUjmF0+gBDUY8DjxOjMYI4CrbqF6FEJ88
171 Q+rmN5rkcFvqRaVZrh480U9qPhm8JvYvIzviijBBmOqZDOgFQHpOPJMSeRcMAU/5
172 7fAT5zbmUGduKtecV/juI6UQimo5/eNuWd/z7BY3qAG/eh4skFK1M0JX2JJKnlAO
173 m5I5GCDKn32FQhhm5OdW+GFgS6c6MczBGGIEnyTwu7Lv50OC6XRm9xP4uiDjGOqW
174 A+tPhp1pidhamjCYhW0A+1fv5ZYe6DIZy/b8p/KrgB3oDKmhwWn83u1RhCu3GxMe
175 6Scg1KlnBJgPVa8b7OiS0lbJlrLAUlcQzJJKhvlrH7mRZ8vAqn4R77s31opuU2JU
176 UvZdchAYN/ziZG9xR/btrDE8yrpzwjiXj4Sc1BncqDMb2Sq/HLrxxYi0Tuk7UNDz
177 hQdjRBEaC8e/yvuPtdGqpoq9WojKeMH6DhBHI/FYhOlcqr4vHyPtiD6ioHwd92LK
178 iBAiAfQ5jjk+pDu1yIbOC5/GchWVV6hKjgz2qZd3dZPQq7YixRVImHR5roBXiKwm
179 4w9FutyE5slZZgFjIjrkcg1lp0emHI8osKfl9hf+wNvVXmgo8AZrrmidqgESNe8B
180 iQtoJi1P+d7Mee4cqlrI
181 =Yseo
182 -----END PGP SIGNATURE-----

Replies

Subject Author
Re: [gentoo-catalyst] patch, fix broken seed stage update Matt Turner <mattst88@g.o>