Gentoo Archives: gentoo-catalyst

From: Brian Dolbec <dolsen@g.o>
To: gentoo-catalyst@l.g.o
Subject: Re: [gentoo-catalyst] Binary package dependencies and update_seed
Date: Fri, 12 Apr 2013 06:57:49
Message-Id: 1365749860.5030.25.camel@big_daddy.dol-sen.ca
In Reply to: Re: [gentoo-catalyst] Binary package dependencies and update_seed by "W. Trevor King"
1 On Thu, 2013-04-11 at 14:53 -0400, W. Trevor King wrote:
2 > On Thu, Apr 11, 2013 at 11:22:54AM -0700, Matt Turner wrote:
3 > > On Thu, Apr 11, 2013 at 10:09 AM, W. Trevor King <wking@×××××××.us> wrote:
4 > > > In order to avoid problems like this, it's probably a
5 > > > good idea to remove all the cached stuff with something like [1]:
6 > > >
7 > > > $ rm -rf --one-file-system /var/tmp/catalyst/{kerncache,packages,tmp}
8 > > >
9 > > > before building your stage1.
10 > >
11 > > Not sure this is the way to go. I'll have to think through the
12 > > implications. Consider your stage1 build dies with some stupid tree
13 > > breakage that you can fix in your portage snapshot and restart the
14 > > stage build. This is going to cause your stage to rebuild everything.
15 >
16 > There shouldn't be a need to clear the caches unless you've changed
17 > the specs or sources. Presumably you had to change something to fix
18 > whatever killed stage1. If that was an ebuild problem, it's unlikely
19 > that your fix changed an ABI without also changing the package version
20 > and you should be ok keeping the old binary packages.
21 >
22 > > Wouldn't disabling the use of binary packages during the seed stage
23 > > update fix this?
24 >
25 > Disabling creation of binary packages during the seed stage update
26 > would help, and disabling the use of binary packages during the stage1
27 > build would help. However, what if you have built a binary package
28 > for GCC and then you update your tree to something that builds
29 > libmpc.so.3. In this case, you're in trouble if you use your old GCC
30 > binary packages anywhere based on the new tree.
31 >
32 > Cheers,
33 > Trevor
34 >
35
36 OK, When I first discovered the update_seed problem, I discovered
37 several (potential) bugs in the code that could cause failures. My main
38 error was due to using binary pkgs which were built against libmpc.so.2.
39
40 I talked with Zac (and he agreed) portage _SHOULD_ be checking
41 NEEDED.ELF.2 which lists the actual libs it is linked to. There is an
42 open bug for it in bugzie (sorry, I'm too tired to look for it). If a
43 package manager supports installing binpkgs, then it should ensure it is
44 not installing a broken pkg due to mismatched lib links.
45
46 Everything else that is done in catalyst to avoid that is really just a
47 workaround until the package manager is fixed.
48
49 Blueness recently wrote a utility that scanned NEEDED.ELF.2 and looked
50 for broken/mismatched lib deps. Perhaps he could help in getting
51 portage's binpkg handlers updated to check that the binpkg's lib deps
52 are met for it to qualify to be used.