User-Agent: Build Identifier: Because of http://bugs.gentoo.org/show_bug.cgi?id=14783 I thought about having emerge's --usepkg or --usepkgonly extended so that it also installs dependencies. To be able to do this, we would need a way to know what dependencies are required. The first option is to have emerge check the ebuild and try to transform the DEPEND/RDEPEND into reallife binary dependency packages. For instance: For "dev-php/mod_php-1.3.0-r2.tar.gz" one can easily deduce "dev-php/mod_php-1.3.0-r2.ebuild" from which one can read the dependencies: >=net-www/apache-1.3.26-r2 apache2? ( >=net-www/apache-2.0.43-r1 ) truetype? ( ~media-libs/freetype-1.3.1 >=media-libs/t1lib-1.3.1 ) jpeg? ( >=media-libs/jpeg-6b ) tiff? ( >=media-libs/tiff-3.5.5 ) X? ( virtual/x11 ) png? ( >=media-libs/libpng-1.2.5 ) [...] This is where the catch is: to be able to use the dependency information, the binary package _must_ be compiled with _exactly_ the same USE-flags as are used on the host's machine. So perhaps including a file which contains the used USE-variables could be handy. Portage can then check if the same USE-flags are on the hosts machine and, if not, tell the user that the binary package is compiled with different USE-flags. Another way is to have the binary packages contain the complete /var/db/pkg/<category>/<package>-<version> contents (not the CONTENTS file alone) in it. This way Portage can just untar the whole binary package into /. This immediately provides all the necessary information for dependencies (I guess the RDEPEND handles this?) If supporting dependencies for packages is out of the question, then my apologies for taking up your time... At this moment, I'll take care of this by first doing an ~$ emerge mod_php -p after which I'll do a ~# emerge -K --one-shot dep1 dep2 dep3 ... depN ~# emerge -K mod_php Reproducible: Always Steps to Reproduce:
It only installs what is required... I'm not sure what you're getting at. emerge -eb package will create all the dependancies... emerge -K package will install all the packages. and yes, USE needs to be the same.
Ah, you need to use the -e argument. I thought -B was enough. My mistake.