Summary: | "emerge --autounmask=no" shows only mask errors and no use errors | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Morse <radist.morse> |
Component: | Core - Interface (emerge) | Assignee: | Portage team <dev-portage> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | esigra |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 300071 |
Description
Morse
2011-09-29 09:44:28 UTC
(In reply to comment #0) > I tried this command: > > ~$ emerge -uDNvf --autounmask=n --keep-going world > > These are the packages that would be fetched, in order: > > Calculating dependencies... done! > > !!! All ebuilds that could satisfy ">=dev-util/kbuild-0.1.999" have been > masked. > !!! One of the following masked packages is required to complete your request: > - dev-util/kbuild-9999::gentoo (masked by: missing keyword) > - dev-util/kbuild-0.1.9998_pre20110817::gentoo (masked by: ~x86 keyword) > > (dependency required by "app-emulation/virtualbox-4.1.2" [ebuild]) > (dependency required by "@selected" [set]) > (dependency required by "@world" [argument]) > For more information, see the MASKED PACKAGES section in the emerge > man page or refer to the Gentoo Handbook. > > A masked dependency seems to be a valid thing to complain about. > > It shows some crap about masked packages, when the real reason it failed is: > > ~$ emerge -f firefox springlobby What's the output of 'emerge -uDNvf --autounmask=y --keep-going world'? Does ommiting -f make a difference in any of the two cases? > Does ommiting -f make a difference in any of the two cases?
No. Both -p or -f makes no difference at all.
Here are four cases that really are different:
~$ emerge -uDNv world
These are the packages that would be merged, in order:
Calculating dependencies . ...... ... done!
<LIST OF PACKAGES HERE>
Total: 54 packages (44 upgrades, 1 downgrade, 3 new, 6 reinstalls), Size of downloads: 82,798 kB
Portage tree and overlays:
[0] /usr/portage
[1] /var/lib/layman/Spring
[2] /var/lib/layman/mozilla
The following keyword changes are necessary to proceed:
#required by app-emulation/virtualbox-4.1.2, required by app-emulation/virtualbox-extpack-oracle-4.1.2
=dev-util/kbuild-0.1.9998_pre20110817 ~x86
The following USE changes are necessary to proceed:
#required by www-client/firefox-7.0[pgo], required by @selected, required by @world (argument)
=x11-base/xorg-server-1.10.4 xvfb
NOTE: This --autounmask behavior can be disabled by setting
EMERGE_DEFAULT_OPTS="--autounmask=n" in make.conf.
Use --autounmask-write to write changes to config files (honoring CONFIG_PROTECT).
~$ emerge -uDNv --autounmask=n world
These are the packages that would be merged, in order:
Calculating dependencies . ........ done!
!!! All ebuilds that could satisfy ">=dev-util/kbuild-0.1.999" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-util/kbuild-9999::gentoo (masked by: missing keyword)
- dev-util/kbuild-0.1.9998_pre20110817::gentoo (masked by: ~x86 keyword)
(dependency required by "app-emulation/virtualbox-4.1.2" [ebuild])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
~$ emerge -uDNv firefox
These are the packages that would be merged, in order:
Calculating dependencies ..... done!
<unrelated packages removed>
[ebuild R ] x11-base/xorg-server-1.10.4 USE="ipv6 kdrive nptl udev xorg xvfb* -dmx -doc -minimal -static-libs -tslib -xnest" 0 kB [0]
[ebuild U ~] www-client/firefox-7.0 [6.0.2] USE="alsa crashreporter dbus ipc libnotify pgo* startup-notification webm wifi -bindist -custom-cflags -custom-optimization -debug -system-sqlite" LINGUAS="en ru -af -ak -ar -ast -be -bg -bn -bn_BD -bn_IN -br -bs -ca -cs -cy -da -de -el -en_GB -en_US -en_ZA -eo -es -es_AR -es_CL -es_ES -es_MX -et -eu -fa -fi -fr -fy -fy_NL -ga -ga_IE -gd -gl -gu -gu_IN -he -hi -hi_IN -hr -hu -hy -hy_AM -id -is -it -ja -kk -kn -ko -ku -lg -lt -lv -mai -mk -ml -mr -nb -nb_NO -nl -nn -nn_NO -nso -or -pa -pa_IN -pl -pt -pt_BR -pt_PT -rm -ro -si -sk -sl -son -sq -sr -sv -sv_SE -ta -ta_LK -te -th -tr -uk -vi -zh -zh_CN -zh_TW -zu" 0 kB [1]
Total: 7 packages (2 upgrades, 1 new, 4 reinstalls), Size of downloads: 0 kB
Portage tree and overlays:
[0] /usr/portage
[1] /var/lib/layman/mozilla
The following USE changes are necessary to proceed:
#required by www-client/firefox-7.0[pgo], required by firefox (argument)
=x11-base/xorg-server-1.10.4 xvfb
NOTE: This --autounmask behavior can be disabled by setting
EMERGE_DEFAULT_OPTS="--autounmask=n" in make.conf.
Use --autounmask-write to write changes to config files (honoring CONFIG_PROTECT).
~$ emerge -uDNv --autounmask=n firefox
These are the packages that would be merged, in order:
Calculating dependencies ... done!
emerge: there are no ebuilds built with USE flags to satisfy "x11-base/xorg-server[xvfb]".
!!! One of the following packages is required to complete your request:
- x11-base/xorg-server-1.10.4::gentoo (Change USE: +xvfb)
(dependency required by "www-client/firefox-7.0[pgo]" [ebuild])
(dependency required by "firefox" [argument])
In all four cases the actual merging didn't start.
Naturally, the error case is "emerge -uDNv --autounmask=n world", where emerge should show both mask AND use problems, but shows only mask.
After adding the missing use flag to package.use, "emerge -uDNv --autounmask=no world" showed the error message AND started
I'd say this is a WONTFIX. The reason why --autounmask was introduced is exactly this short coming of --autounmask=n. Are there circumstances for you where --autounmask=y isn't a proper replacement for --autounmask=y? (In reply to comment #3) > Are there circumstances for you where --autounmask=y isn't a proper replacement > for --autounmask=y? Read this instead: > Are there circumstances for you where --autounmask=y isn't a proper replacement > for --autounmask=n? Look at it from the user's point of view. He starts "emerge -uDNv --autounmask=n world", and it doesn't start with some masking problem. He tries hard to solve it, and eventually solves, only to find out that it wasn't the actual cause why merging didn't start. It is double-confusing, since I usually provide --autounmask=n especially to not bother with masking problems. (In reply to comment #5) > It is double-confusing, since I usually provide --autounmask=n especially to > not bother with masking problems. I agree it is confusing and the fix for this issue is --autounmask=y. You might be interested in the --autounmask-keep-masks option added in bug 372485. I think it's not in a released version though. |