cave-search> /usr/bin/cave@1297587220: [WARNING e.cache.failure] Not using cache file at '/var/repositories/portage/metadata/cache/sys-libs/uclibc-0.9.30.1-r1' due to exception 'Name '-pc-linux-uclibc' is not a valid slot name' (paludis::SlotNameError)
cave-search> /usr/bin/cave@1297587220: [QA e.ebuild.cache.no_usable] No usable cache entry for 'sys-libs/uclibc-0.9.30.1-r1::gentoo
... same thing as in bug #354069
bug #358241 is related to this. uclibc in portage has broken metadata.
*** Bug 358241 has been marked as a duplicate of this bug. ***
Created attachment 284245 [details, diff]
fix bad SLOT value when metadata/cache is generated
Relating directly to bug 358241 , but probably fixing this bug as well , an interim fix which would allow anyone using uclibc/* profiles to properly emerge uclibc is to make the SLOT=$CTARGET conditional a little more strict.
The issue is that when the metadata/cache is generated, there is no CHOST. However, the logic for managing crossdev compatibility, which sets the SLOT=$CTARGET , checks for $CTARGET != $CHOST.
The above patch strengthens the conditional to ensure SLOT is not set to $CTARGET if CHOST is empty/unset, for all uclibc ebuilds currently in the tree.
It might be worth noting that although this patch doesn't really "fix" the uclibc packaging, what it does do is fix the portage tree (which currently has broken metadata/cache files) and so IMO should still be applied for that reason.