TrAns13nt had perl fail during bootstrap after gettext but before the first gcc compile. I'm actually confused in several ways, since perl requires groff, groff requires c++, so actually groff should have failed. The binutils-2.12.90.0.7 ebuild looks like it's correct, but 15:47 <TrAns13nT> TrAns13nT-De(\/)on3ss scripts # USE="-* bootstrap" emerge -ep binutils 15:47 <TrAns13nT> These are the packages that I would merge, in order. 15:47 <TrAns13nT> Calculating dependencies ...done! 15:47 <TrAns13nT> [ebuild N ] sys-devel/libtool-1.4.1-r9 to / 15:47 <TrAns13nT> [ebuild N ] sys-apps/groff-1.17.2-r1 to / 15:47 <TrAns13nT> [ebuild N ] sys-devel/perl-5.6.1-r3 to / 15:47 <TrAns13nT> [ebuild N ] sys-devel/binutils-2.12.90.0.7 to /
Lamer, is this similar to the problem you had?
-----------------------snip------------------------------ DEPEND="virtual/glibc nls? ( sys-devel/gettext )" [ -z "`use build`" ] && [ -z "`use bootstrap`" ] && \ DEPEND="${DEPEND} sys-devel/perl" ------------------------snip------------------------------ Now, either they edited bootstrap, or there was some wierd commit to it again, as with "build" and "bootstrap" in USE (during bootstrap), it should not depend on groff.
Oh, and have a look at this: nosferatu UML # USE="build" emerge -ep binutils These are the packages that I would merge, in order. Calculating dependencies ...done! [ebuild N ] sys-devel/libtool-1.4.1-r9 to / [ebuild N ] sys-apps/groff-1.17.2-r1 to / [ebuild N ] sys-libs/db-1.85-r1 to / [ebuild N ] sys-libs/db-3.2.9 to / [ebuild N ] sys-libs/gdbm-1.8.0-r5 to / [ebuild N ] sys-devel/perl-5.6.1-r4 to / [ebuild N ] sys-devel/binutils-2.12.90.0.7 to / nosferatu UML # rm -rf /var/cache/edb/dep/* nosferatu UML # USE="build" emerge -ep binutils These are the packages that I would merge, in order. Calculating dependencies ...done! [ebuild N ] sys-devel/libtool-1.4.1-r9 to / [ebuild N ] sys-devel/binutils-2.12.90.0.7 to / nosferatu UML # USE="bootstrap" emerge -ep binutils These are the packages that I would merge, in order. Calculating dependencies ...done! [ebuild N ] sys-devel/libtool-1.4.1-r9 to / [ebuild N ] sys-devel/binutils-2.12.90.0.7 to / nosferatu UML # Maybe we should get bootstrap.sh to clear the dep cache just before bootstrap emerge starts ?
I agree that having "rm -rf /var/cache/edb/dep/*" to the beginning of bootstrap.sh is a good idea. CCing this to drobbins for his approval.
Actually, I think the best way will be to fix it portage side. We have many ebuilds that have DEPEND and RDEPEND which depend on "bootstrap" or "build". Now, most of them have extra DEPEND if [ -z "`use build`" ], so maybe we need a negative type of use flag selection in DEPEND ? Something like: DEPEND="build? (foo !bar)" Meaning, if "build" in USE, DEPEND on foo, but NOT bar, else if "build" not in use, DEPEND on bar, and NOT on foo ? Comments ?
Actually I guess we have it already. DEPEND="( build? : sys-devel/perl ) ( bootstrap? : sys-devel/perl )" I am guessing should do it.
Ok, that do not work too well.
Erm, this bug is actually fixed .. updated DEPEND to working one.