I need dev-util/kbuild in livecd-stage1, and it depends on sys-devel/gettext. Specifically, kbuild needs (at least) /usr/share/gettext/archive.tar.gz. However, the kbuild always fails to merge because that file is missing even though gettext is installed according to portage (after having chrooted in and checked). After some investigation it turns out that /usr/share/gettext is removed between stage1 and stage2 (I certainly have not specified anything like that in my specs). I grepped around in the catalyst scripts and found this in modules/stage1_target.py, lines 24-26: [...] def set_cleanables(self): generic_stage_target.set_cleanables(self) self.settings["cleanables"].extend(["/usr/share/gettext",\ [...] Is there a reason for removing /usr/share/gettext? Right now I have to work around this by chrooting into the stage's tmp dir and manually re-emerge gettext, which is a horrible solution.
The gettext package should be re-emerged in the stage3, which is what you should be using as a seed for your installcd-stage1. I don't see this is as an issue.
(In reply to comment #1) > The gettext package should be re-emerged in the stage3, which is what you > should be using as a seed for your installcd-stage1. I don't see this is as an > issue. I see. My seeding is correct as far as I know: livecd-stage2 -> livecd-stage1 -> stage3 -> stage2 -> stage1 -> official gentoo 2008.0 stage3. I ran find in my /path/to/catalyst/packages/project directory and found out that gettext were emerged as follows:: Stage Date (YYYYMMDD) for portage snapshot stage1 20080603 stage1 20080706 stage1 20080922 stage1 20081109 stage1 20090103 stage2 20080603 stage2 20080706 stage3 20080603 stage3 20080706 All stage1s above have all the succeeding stages also built, but gettext is not emereged in any later stage with portage snapshots from 20080922. That was when I switched to the hardened/linux/x86/2008.0 profile (before that it was the corresponding defaiut profile) Could this have anything to do with it?
gettext is only pulled in with USE=nls, afaik. The hardened profile probably has that flag turned off. Looking at the ebuild for kbuild, 0.1.4 has a DEPEND on gettext, but 0.1.3 does not. Regardless, catalyst clearing /usr/share/gettext/ in stage1 has absolutely nothing to do with why kbuild is failing in livecd-stage1.
(In reply to comment #3) > gettext is only pulled in with USE=nls, afaik. The hardened profile probably > has that flag turned off. > > Looking at the ebuild for kbuild, 0.1.4 has a DEPEND on gettext, but 0.1.3 does > not. Indeed, see: https://bugs.gentoo.org/show_bug.cgi?id=238556 > Regardless, catalyst clearing /usr/share/gettext/ in stage1 has absolutely > nothing to do with why kbuild is failing in livecd-stage1. Are you sure? As I said, for me kbuild consistently fails to merge in livecd-stage1, but if I chroot into the tmp build dir, manually re-merge gettext or copy the /usr/share/gettext/ dir from my stage1, kbuild builds just fine. Or is the problem that gettext isn't re-merged in stage2 and/or stage3? In any case, something seems broken to me, either something in an ebuild, in catalyst, or in my specs. Which one is it?
Yes, the problem is because gettext hasn't been re-emerged anytime between stage1 and livecd-stage1. This is not a catalyst issue. This is an issue with the ebuild dependencies and nothing else.