Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 556468 - emerge --autounmask-write with --fetch has differing dependence resolution than without --fetch
Summary: emerge --autounmask-write with --fetch has differing dependence resolution th...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-01 21:07 UTC by Alex Brandt (RETIRED)
Modified: 2015-08-01 21:07 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 Alex Brandt (RETIRED) gentoo-dev 2015-08-01 21:07:50 UTC
I use --fetch as a quick noop for automated testing of ebuilds and found an interesting problem when there was a potentially ambiguous resolution of a packages dependencies (examples below).  I've noticed this in a couple of cases but haven't tracked down if it's explicitly with slot conflicts or if it's anytime a package has multiple versions in ~ARCH but the latest one will not be selected for the final dependence resolution.

I'm including an example of the case where this is shown by a slot conflict but can attempt to get more information on the other case if anyone thinks it's part of this issue.

I have a docker image that makes reproducing this quite simple (relatively speaking) and I've included those instructions to accurately portray the problem.  Let me know if any other information is helpful.

Reproducible: Always

Steps to Reproduce:
1. install and ensure docker is working
2. git clone https://github.com/alunduil/alunduil-overlay.git
3. cd alunduil-overlay
4. docker run -ti --rm -v /usr/portage:/usr/portage -v $(pwd)/../../:/overlay alunduil/etest:latest /bin/bash  # assumes portage in /usr/portage
5. PYTHON_TARGETS="python2_7" emerge -q -f --autounmask-write \=app-emulation/docker-compose-1.3.3
6. etc-update --automode -5
7. PYTHON_TARGETS="python2_7" emerge -q -p \=app-emulation/docker-compose-1.3.3
Actual Results:  
After all of that I still receive a message about a keyword change being necessary to proceed:

The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by app-emulation/docker-compose-1.3.3::alunduil
# required by =app-emulation/docker-compose-1.3.3 (argument)
=dev-python/requests-2.6.1 ~amd64

Expected Results:  
I would expect after performing these sequence of actions to have everything resolve automatically.  I know the autounmask-write behavior is probably still being worked out and I hope this helps make it work more consistently.

If anything else is potentially useful; please, let me know.  I'm also up for spelunking as time allows and have familiarity with graph theory if need be.