Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 14832 - Having the possibility to install dependencies of _binary packages_
Summary: Having the possibility to install dependencies of _binary packages_
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All All
: High enhancement (vote)
Assignee: Nicholas Jones (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-01-31 02:56 UTC by Sven Vermeulen (RETIRED)
Modified: 2011-10-30 22:38 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sven Vermeulen (RETIRED) gentoo-dev 2003-01-31 02:56:01 UTC
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:
Comment 1 Nicholas Jones (RETIRED) gentoo-dev 2003-01-31 03:12:38 UTC
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.
Comment 2 Sven Vermeulen (RETIRED) gentoo-dev 2003-01-31 04:06:17 UTC
Ah, you need to use the -e argument. I thought -B was enough. My mistake.