Gentoo Archives: gentoo-catalyst

From: "W. Trevor King" <wking@×××××××.us>
To: gentoo-catalyst@l.g.o
Subject: [gentoo-catalyst] Binary package dependencies and update_seed
Date: Thu, 11 Apr 2013 17:09:51
Message-Id: 20130411170941.GA14224@odin.tremily.us
In Reply to: [gentoo-catalyst] Re: [PATCH v3] Strengthen update_seed to update @system and @world with dependencies by "W. Trevor King"
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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-catalyst] Binary package dependencies and update_seed "Rick \\\"Zero_Chaos\\\" Farina" <zerochaos@g.o>
Re: [gentoo-catalyst] Binary package dependencies and update_seed Matt Turner <mattst88@g.o>