Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 468866

Summary: portage- autounmask=y && autounmask-write=n could offer all known alternatives to solving conflicts, not just one
Product: Portage Development Reporter: Roman Žilka <roman.zilka>
Component: Enhancement/Feature RequestsAssignee: Portage team <dev-portage>
Status: UNCONFIRMED ---    
Severity: enhancement CC: esigra, kingjon3377
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 376695    

Description Roman Žilka 2013-05-07 12:54:30 UTC
I created a USE flag dep conflict today:
www-servers/apache-2.4.4-r3 -threads
dev-lang/php-* apache2 threads
while php[apache2] depends on apache[threads=].

With --autounmask y the output is:

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ~] www-servers/apache-2.4.4-r3:2  USE="ssl threads* -debug -doc -ldap (-selinux) -static -suexec" APACHE2_MODULES="access_compat alias auth_basic authn_core authn_file authz_core authz_host authz_user cgi deflate dir expires filter include log_config logio mime mime_magic negotiation rewrite setenvif socache_shmcb unixd userdir -actions -asis -auth_digest -authn_alias -authn_anon -authn_dbd -authn_dbm -authz_dbm -authz_groupfile -authz_owner -autoindex -cache -cache_disk -cern_meta -cgid -charset_lite -dav -dav_fs -dav_lock -dbd -dumpio -env -ext_filter -file_cache -headers -ident -imagemap -info -lbmethod_bybusyness -lbmethod_byrequests -lbmethod_bytraffic -lbmethod_heartbeat -log_forensic -proxy -proxy_ajp -proxy_balancer -proxy_connect -proxy_fcgi -proxy_ftp -proxy_http -proxy_scgi -ratelimit -remoteip -reqtimeout -slotmem_shm -speling -status -substitute -unique_id -usertrack -version -vhost_alias" APACHE2_MPMS="prefork -event -itk -peruser -worker" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by dev-lang/php-5.3.23[apache2]
# required by dev-php/pecl-apc-3.1.9-r2
# required by @selected
# required by @world (argument)
>=www-servers/apache-2.4.4-r3 threads

With --autounmask n the output is:

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds built with USE flags to satisfy "www-servers/apache[threads=]".
!!! One of the following packages is required to complete your request:
- www-servers/apache-2.4.4-r3::gentoo (Change USE: +threads)
- dev-lang/php-5.4.13::gentoo (Change USE: -threads)
(dependency required by "dev-lang/php-5.4.13" [installed])
(dependency required by "www-apps/gallery-3.0.7" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

Emerge is obviously aware of the fact that switching to apache[threads] and php[-threads] are two correct ways to solving the conflict. I propose that --autounmask=y too offers both/all known alternatives, not just one. Emerge's behavior with --autounmask-write=y would be left unchanged, of course.

Reproducible: Always