1 |
On Sat, Mar 09, 2013 at 07:10:23AM -0500, W. Trevor King wrote: |
2 |
> On Fri, Mar 08, 2013 at 12:14:08PM -0800, Matt Turner wrote: |
3 |
> > On Fri, Mar 8, 2013 at 10:47 AM, W. Trevor King <wking@×××××××.us> wrote: |
4 |
> > > The earlier update_seed |
5 |
> > > command was not catching the bumped mpc, so add: |
6 |
> > |
7 |
> > I think this is a false premise. If it is true, we should understand |
8 |
> > why and fix it. The current command is emerge --onlydeps gcc which |
9 |
> > should be completely sufficient to update mpc. |
10 |
> |
11 |
> Using catalyst as of d1c2ba9b (create-iso.sh: add usb boot via |
12 |
> isohybrid, 2013-03-05), I can no longer reproduce my original problem. |
13 |
|
14 |
Ben Kohler (iamben) was working through this problem on #gentoo-releng |
15 |
recently. His problem (and probably my original problem as well) |
16 |
seems to be leftover binary packages from before update_seed was |
17 |
enabled. These binary packages matched the version number and USE |
18 |
flags of the to-be-installed package, but were built against the older |
19 |
version of mpc. In order to avoid problems like this, it's probably a |
20 |
good idea to remove all the cached stuff with something like [1]: |
21 |
|
22 |
$ rm -rf --one-file-system /var/tmp/catalyst/{kerncache,packages,tmp} |
23 |
|
24 |
before building your stage1. |
25 |
|
26 |
A better approach would involve recording runtime dependency versions |
27 |
in the binary package metadata, so that Portage could determine |
28 |
whether a given binary package would work in the target system [2]. |
29 |
Currently, the ebuild RDEPEND is included in Packages, but that does |
30 |
not always (or even often) specify which package versions were used to |
31 |
build the package. For example, sys-devel/gcc lists: |
32 |
|
33 |
RDEPEND: sys-libs/zlib virtual/libiconv >=dev-libs/gmp-4.3.2 |
34 |
>=dev-libs/mpfr-2.4.2 >=dev-libs/mpc-0.8.1 |
35 |
|
36 |
I'd like it to list: |
37 |
|
38 |
RDEPEND: =sys-libs/zlib-1.2.7 =virtual/libiconv-0 |
39 |
=dev-libs/gmp-5.0.2_p1 =dev-libs/mpfr-3.1.1 =dev-libs/mpc-1.0.1 |
40 |
|
41 |
or whatever the versions of those packages were at build time. |
42 |
Portage could then recurse through this information and only use the |
43 |
package if versions matched the target system across the whole RDEPEND |
44 |
tree. With ABI sub-slots, strict version matching could be loosened |
45 |
to only require ABI matching. |
46 |
|
47 |
Cheers, |
48 |
Trevor |
49 |
|
50 |
[1]: kerncache probably doesn't matter, but we might as well be |
51 |
thorough. |
52 |
[2]: This is a limitation with the current Portage code, and not a |
53 |
catalyst issue. Maybe I should cross-post this to |
54 |
gentoo-portage-dev@? |
55 |
|
56 |
-- |
57 |
This email may be signed or encrypted with GnuPG (http://www.gnupg.org). |
58 |
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy |