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----- |