From: "W. Trevor King" <wking@tremily.us>
To: gentoo-catalyst@lists.gentoo.org
Subject: Re: [gentoo-catalyst] Binary package dependencies and update_seed
Date: Thu, 11 Apr 2013 21:11:58 -0400 [thread overview]
Message-ID: <20130412011158.GB17116@odin.tremily.us> (raw)
In-Reply-To: <20130411203412.GA15862@odin.tremily.us>
[-- Attachment #1: Type: text/plain, Size: 5221 bytes --]
On Thu, Apr 11, 2013 at 04:34:12PM -0400, W. Trevor King wrote:
> On Thu, Apr 11, 2013 at 01:24:19PM -0700, Matt Turner wrote:
> > So, to make sure that I'm on the same page: is the the problem that
> > we're using stale packages in stage1 and if so, where did they come
> > from? A previous stage1 build that didn't do update-seed?
>
> That's where mine (and presumably iamben's) came from. However, they
> could also (I think) come from a stage1 build that used an older
> snapshot. I'm testing now with a build from:
>
> subarch: i686
> version_stamp: 2013.1
> target: stage1
> rel_type: default
> profile: default/linux/x86/13.0/desktop
> portage_confdir: /var/tmp/catalyst/portage-conf/default/
> snapshot: 20130208
> source_subpath: default/stage3-i686-20121213
> update_seed: yes
>
> Followed by another build with the same version_stamp but using:
>
> snapshot: 20130308
>
> The idea is that the first build might produce packages linking
> libmpc.so.2, and the second build might reuse those packages, despite
> the stabilization of mpc-1.0.1 in the tree.
So I finished the build and I have a broken stage1 after the tree
update (as I expected). Here's how it goes:
Clear the caches:
# rm -rf --one-file-system /tmp/*.log /var/tmp/catalyst/{kerncache,packages,tmp}
Confirm the first spec (using the older tree)
# cat /var/tmp/catalyst/spec/default-stage1-i686-test.1.spec
subarch: i686
version_stamp: 2013.1
target: stage1
rel_type: default
profile: default/linux/x86/13.0/desktop
portage_confdir: /var/tmp/catalyst/portage-conf/default/
snapshot: 20130208
source_subpath: default/stage3-i686-20121213
update_seed: yes
Build it:
# python2.7 catalyst -c catalyst.conf -f /var/tmp/catalyst/spec/default-stage1-i686-test.1.spec 2>&1 | tee /tmp/stage1-i686-test.1.log
…
>>> Emerging (30 of 38) sys-devel/gcc-4.6.3 for /tmp/stage1root/
>>> Installing (30 of 38) sys-devel/gcc-4.6.3 to /tmp/stage1root/
…
As expected, with a tree where mpc-0.8.2 is the latest stable version,
we get dependencies on libmpc.so.2:
# less /var/tmp/catalyst/tmp/default/stage1-i686-2013.1/tmp/stage1root/usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1 | grep libmpc
0x00000001 (NEEDED) Shared library: [libmpc.so.2]
# ls -l /var/tmp/catalyst/tmp/default/stage1-i686-2013.1/tmp/stage1root/usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1
-rwxr-xr-x 1 root root 10557140 Apr 11 21:24 /var/tmp/catalyst/tmp/default/stage1-i686-2013.1/tmp/stage1root/usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1
# less /var/tmp/catalyst/packages/default/stage1-i686-2013.1/sys-devel/gcc-4.6.3.tbz2 | grep '/cc1$'
-rwxr-xr-x root/root 10557140 2013-04-11 21:24 ./usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1
Let's shift that stage out of the way for safe keeping and build
another with a new snapshot:
# mv /var/tmp/catalyst/tmp/default/stage1-i686-{2013.1,test.1}/
# diff /var/tmp/catalyst/spec/default-stage1-i686-test.{1,2}.spec
7c7
< snapshot: 20130208
---
> snapshot: 20130308
# python2.7 catalyst -c catalyst.conf -f /var/tmp/catalyst/spec/default-stage1-i686-test.2.spec 2>&1 | tee /tmp/stage1-i686-test.2.log
…
>>> Emerging binary (10 of 75) sys-devel/gcc-config-1.7.3 for /tmp/stage1root/
>>> Installing (10 of 75) sys-devel/gcc-config-1.7.3 to /tmp/stage1root/
…
Looks like were using the out-of-date binary package. Let's check to
see we're still linking against the old libmpc:
# less /var/tmp/catalyst/tmp/default/stage1-i686-2013.1/tmp/stage1root/usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1 | grep libmpc
0x00000001 (NEEDED) Shared library: [libmpc.so.2]
# ls -l /var/tmp/catalyst/tmp/default/stage1-i686-2013.1/tmp/stage1root/usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1
-rwxr-xr-x 1 root root 10557140 Apr 11 21:24 /var/tmp/catalyst/tmp/default/stage1-i686-2013.1/tmp/stage1root/usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1
Yup. And that mpc version isn't in the new stage1:
# ls /var/tmp/catalyst/tmp/default/stage1-i686-2013.1/tmp/stage1root/usr/lib/libmpc.so*
/var/tmp/catalyst/tmp/default/stage1-i686-2013.1/tmp/stage1root/usr/lib/libmpc.so
/var/tmp/catalyst/tmp/default/stage1-i686-2013.1/tmp/stage1root/usr/lib/libmpc.so.3
/var/tmp/catalyst/tmp/default/stage1-i686-2013.1/tmp/stage1root/usr/lib/libmpc.so.3.0.0
So, while iamben (I think) and I (definitely) ran into this problem
because we had just turned on update_seed (with out-of-date packeages
from a non-update_seed run), this problem can also crop up due to
snapshot updates (even if you always have update_seed on). That means
that the only reasonable fixes are:
a. Clear the package cache whenever you update a spec (without bumping
version_stamp).
b. Migrate the toolchain packages to EAPI5 and use ABI sub-slotting.
Since (b), even if it does happen, is likely to take a while, I think
we should be pushing (a) for now.
Cheers,
Trevor
--
This email may be signed or encrypted with GnuPG (http://www.gnupg.org).
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2013-04-12 1:12 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-26 16:20 [gentoo-catalyst] patch, fix broken seed stage update Brian Dolbec
2013-02-26 16:37 ` W. Trevor King
2013-02-26 16:47 ` Brian Dolbec
2013-02-26 16:48 ` Peter Stuge
2013-02-26 17:29 ` Rick "Zero_Chaos" Farina
2013-02-26 19:39 ` Matt Turner
2013-02-27 2:04 ` Brian Dolbec
2013-02-27 2:37 ` Matt Turner
2013-02-27 12:12 ` W. Trevor King
2013-02-27 2:37 ` Matt Turner
2013-02-27 3:03 ` Brian Dolbec
2013-02-27 3:22 ` Matt Turner
2013-02-27 3:49 ` Brian Dolbec
2013-03-08 17:27 ` [gentoo-catalyst] [PATCH v2] Remove update_seed_command and strengthen update_seed W. Trevor King
2013-03-08 18:34 ` Rick "Zero_Chaos" Farina
2013-03-08 18:47 ` [gentoo-catalyst] [PATCH v3] Strengthen update_seed to update @system and @world with dependencies W. Trevor King
2013-03-08 20:14 ` Matt Turner
2013-03-09 12:10 ` [gentoo-catalyst] " W. Trevor King
2013-04-11 17:09 ` [gentoo-catalyst] Binary package dependencies and update_seed W. Trevor King
2013-04-11 17:39 ` Rick "Zero_Chaos" Farina
2013-04-11 17:52 ` W. Trevor King
2013-04-12 15:12 ` [gentoo-catalyst] [PATCH] files/catalyst.conf: Document linking issues with binary packages W. Trevor King
2013-04-12 15:21 ` Rick "Zero_Chaos" Farina
2013-04-12 15:33 ` W. Trevor King
2013-04-12 16:11 ` Rick "Zero_Chaos" Farina
2013-04-12 18:21 ` [gentoo-catalyst] [PATCH v2 0/2] pkgcache warning in catalyst-config(5) W. Trevor King
2013-04-12 18:21 ` [gentoo-catalyst] [PATCH v2 1/2] doc/catalyst-config.5.txt: Add man page for catalyst.conf W. Trevor King
2013-04-12 18:27 ` [gentoo-catalyst] " W. Trevor King
2013-04-12 18:47 ` [gentoo-catalyst] " Rick "Zero_Chaos" Farina
2013-04-12 19:05 ` W. Trevor King
2013-04-12 19:30 ` Rick "Zero_Chaos" Farina
2013-04-16 1:33 ` [gentoo-catalyst] [PATCH v3 0/2] pkgcache warning in catalyst-config(5) W. Trevor King
2013-04-16 1:33 ` [gentoo-catalyst] [PATCH v3 1/2] doc/catalyst-config.5.txt: Add man page for catalyst.conf W. Trevor King
2013-04-16 1:33 ` [gentoo-catalyst] [PATCH v3 2/2] doc/catalyst-config.5.txt: Document linking issues with binary packages W. Trevor King
2013-12-14 5:41 ` [gentoo-catalyst] Re: [PATCH v3 0/2] pkgcache warning in catalyst-config(5) W. Trevor King
2013-04-12 18:21 ` [gentoo-catalyst] [PATCH v2 2/2] doc/catalyst-config.5.txt: Document linking issues with binary packages W. Trevor King
2013-04-11 18:20 ` [gentoo-catalyst] Binary package dependencies and update_seed Matt Turner
2013-04-11 18:22 ` Matt Turner
2013-04-11 18:53 ` Rick "Zero_Chaos" Farina
2013-04-11 19:00 ` W. Trevor King
2013-04-11 19:03 ` Matt Turner
2013-04-11 19:18 ` Rick "Zero_Chaos" Farina
2013-04-11 20:24 ` Matt Turner
2013-04-11 20:34 ` W. Trevor King
2013-04-12 1:11 ` W. Trevor King [this message]
2013-04-11 20:37 ` Rick "Zero_Chaos" Farina
2013-04-11 18:53 ` W. Trevor King
2013-04-12 6:57 ` Brian Dolbec
2013-04-16 19:42 ` [gentoo-catalyst] [PATCH 0/2] Blacklisting binary packages W. Trevor King
2013-04-16 19:42 ` [gentoo-catalyst] [PATCH 1/2] spec: Add binpkg_blacklist option for troublesome packages W. Trevor King
2013-04-16 19:42 ` [gentoo-catalyst] [PATCH 2/2] Revert "don't build packages during update_seed" W. Trevor King
2013-04-16 20:35 ` [gentoo-catalyst] [PATCH 0/2] Blacklisting binary packages Matt Turner
2013-04-16 20:59 ` W. Trevor King
[not found] ` <516DD074.3090906@gentoo.org>
2013-04-16 22:53 ` W. Trevor King
2013-04-17 4:18 ` Brian Dolbec
2013-04-17 11:30 ` W. Trevor King
2013-04-17 14:57 ` Matt Turner
2013-04-19 14:11 ` Rick "Zero_Chaos" Farina
2013-04-19 16:18 ` W. Trevor King
2013-04-19 16:32 ` Rick "Zero_Chaos" Farina
2013-04-19 16:36 ` W. Trevor King
-- strict thread matches above, loose matches on Subject: below --
2013-01-08 8:32 [gentoo-catalyst] More proposed Catalyst changes Brian Dolbec
2013-01-08 18:08 ` Peter Stuge
2013-01-12 8:55 ` Brian Dolbec
2013-01-31 18:39 ` W. Trevor King
2013-01-31 19:46 ` W. Trevor King
2013-02-02 20:41 ` Brian Dolbec
2013-02-03 12:44 ` W. Trevor King
2013-04-11 2:06 ` [gentoo-catalyst] chmod +x all sh scripts so they can run from the git checkout W. Trevor King
2013-02-02 18:45 ` [gentoo-catalyst] More proposed Catalyst changes Brian Dolbec
2013-02-03 12:20 ` W. Trevor King
2013-02-26 18:04 ` [gentoo-catalyst] patch, fix broken seed stage update W. Trevor King
2013-02-27 1:30 ` Brian Dolbec
2013-02-27 1:40 ` W. Trevor King
2013-02-27 2:35 ` Brian Dolbec
2013-02-27 2:41 ` Matt Turner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130412011158.GB17116@odin.tremily.us \
--to=wking@tremily.us \
--cc=gentoo-catalyst@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox