Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 468866 - portage-2.1.11.62: autounmask=y && autounmask-write=n could offer all known alternatives to solving conflicts, not just one
Summary: portage-2.1.11.62: autounmask=y && autounmask-write=n could offer all known a...
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: autounmask
  Show dependency tree
 
Reported: 2013-05-07 12:54 UTC by Roman Žilka
Modified: 2022-01-18 09:03 UTC (History)
2 users (show)

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 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
Comment 1 dE 2022-01-18 09:03:41 UTC
Another interesting e.g. -- 

emerge --autounmask=y --autounmask-backtrack=y --backtrack=300 -pv --getbinpkg --oneshot app-emulation/wine-vanilla

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

Calculating dependencies                ... done!            

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by app-emulation/wine-vanilla (argument)
>=app-emulation/wine-vanilla-6.0.2 -abi_x86_32

app-emulation/wine-vanilla abi_x86_32 is set in my package.use on purpose. and autounmask suggests that I has to be removed.