I'm trying to cross-compile minimal embedded gentoo system for my ipaq pda. The idea is not to include portage nor gcc and install everything over a nfs-mount using the ${ROOT} envar. The problem is that kdrive ebuild depends on portage. Is it really necessary?
I think that there were commands in the ebuild that required a specific version of Portage, looking at the ebuild. You can safely ignore the requirement if you're installing remotely, just remove it from the ebuild. Donnie: cyfred did the commit on this, but do you know why the Portage req is in the build?
Yeah, of course I can remove the dep from the ebuild, I just wanted it to get fixed upstream... :-)
It falls into RDEPEND because there's no RDEPEND specified. It could just be in DEPEND. If you'd like to split them up, based on what's in current xorg-x11, that would work for your situation. The reason is perhaps USE_EXPAND, as the comment directly above DEPEND states.
After talking to Donnie I've discovered this isn't really a bug. Marking as such.
Could you, please, also specify why this isn't a bug? Thanks...
Generally, comment #1 is correct. The use of USE_EXPAND (video_cards_*) required a specific version of portage -- as such, that became a dependency of the ebuild itself, rather than the source.
Yeah, right. I do understand the depend but it's not a clean solution (can't provide any better :-( ). ${ROOT} variable support is an official portage feature so we'll have to find a better solution to this. It makes Gentoo unusable on embedded devices for (almost) nothing. Maybe it would require some portage internals changes but it's worth it...
No it doesn't, the DEPEND is only installed on the build system, not the target. RDEPEND goes to target. I've already suggested a solution in this specific case in comment #3.
Ahhh, right. Didn't know DEPEND only applies to build system. Let's split DEPEND and RDEPEND then...
Or just remove Portage on the build system. Only Portage actually cares about what's in DEPEND anyways, so once you've removed it the issue disappears. Really, that's a good reason not to change it. Changes like that still cause the re-download of the ebuild during sync operations and thus the change has to be useful before we can justify making it.
Remove portage on the build system??? How do I install stuff, then?
Well, if you're installing everything over a nfs-mount and you installed Portage onto the target, you can remove it. If you haven't installed Portage onto the target, then this isn't an issue for you at all.
This is the problem, kdrive wants me to install portage onto the target! This is what I was complaining about...
Well, since you're using Portage from the build machine you can simply tell it to ignore the dependency or uninstall Portage from the target later. It's not a very large package anyway.
If you think this is an important change attach an appropriately modified ebuild here and we'll update it in the tree. I agree with you that the ebuild is wrong according the strict definitions of DEPEND and RDEPEND. But since there are simple solutions that aren't really wrong or a stretch in your situation, and since your situation is a specific case as Donnie stated, this is not really a crippling bug.