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

Bug 375265

Summary: sys-apps/portage-2.1.10.3: irrelevant parent shown in unmask message's dependency chain
Product: Portage Development Reporter: Pacho Ramos <pacho>
Component: Core - DependenciesAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal Keywords: InVCS
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=399863
https://bugs.gentoo.org/show_bug.cgi?id=398833
https://bugs.gentoo.org/show_bug.cgi?id=419381
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 300071, 376695, 381649, 398833    

Description Pacho Ramos gentoo-dev 2011-07-15 10:14:54 UTC
I get the following message when updating one of my systems today:

# emerge -avuDN world

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

Calculating dependencies... done!
[ebuild     U  ] media-libs/libpng-1.4.8 [1.4.7] USE="apng -static-libs" 0 kB
[ebuild     U  ] dev-util/pkgconfig-0.26 [0.25-r2] USE="-hardened" 0 kB
[ebuild     U  ] sys-devel/autoconf-2.68 [2.65-r1] USE="-emacs" 0 kB
[ebuild     U  ] media-libs/libpng-1.2.45 [1.2.44] 528 kB
[ebuild   R    ] dev-libs/libgamin-0.1.10-r2  USE="python -debug -static-libs%" 0 kB
[ebuild     U  ] sys-apps/openrc-0.8.3-r1 [0.8.2-r1] USE="ncurses pam unicode -debug (-selinux)" 159 kB
[ebuild     U  ] sys-apps/gawk-3.1.8 [3.1.6] USE="nls" 1,938 kB
[ebuild     U ~] app-portage/eix-0.22.9 [0.22.8] USE="bzip2 nls optimization strong-optimization tools -debug -doc -hardened -sqlite -zsh-completion" 429 kB
[ebuild     U  ] dev-lang/mono-2.10.2-r1 [2.10.2] USE="-hardened -minimal -xen" 0 kB
[ebuild     U  ] x11-misc/xdg-utils-1.1.0_rc1_p20110519 [1.1.0_rc1-r1] USE="-doc" 288 kB
[ebuild     U  ] sys-process/cronie-1.4.4-r1 [1.4.4] USE="pam -inotify" 0 kB
[ebuild     U ~] sys-fs/udev-171-r1 [164-r2] USE="acl%* extras gudev%* hwdb%* keymap%* rule_generator%* test -action_modeswitch% -build -debug% -edd% -floppy% (-introspection) (-selinux)" 746 kB
[ebuild     U  ] sys-power/upower-0.9.12 [0.9.9] USE="-debug -doc (-introspection) -ios" 381 kB
[ebuild     U  ] sys-fs/udisks-1.0.3-r1 [1.0.2-r1] USE="bash-completion nls -debug -doc -remote-access" 706 kB
[ebuild     U ~] net-wireless/bluez-4.95-r1 [4.94] USE="alsa consolekit cups gstreamer usb -caps -debug -health -maemo6 -old-daemons -pcmcia -pnat -test-programs" 1,635 kB
[ebuild     U  ] net-libs/libproxy-0.4.6-r3 [0.4.6-r2] USE="gnome mono networkmanager perl python test -kde -vala (-webkit%*) (-xulrunner%*)" 0 kB
[ebuild     U  ] media-sound/audacity-1.3.13 [1.3.12] USE="alsa ffmpeg flac mp3 vorbis -id3tag -jack -ladspa -libsamplerate -midi -soundtouch -twolame -vamp" 6,300 kB
[ebuild     U ~] media-video/mkvtoolnix-4.9.0 [4.8.0] USE="bzip2 pch wxwidgets -debug -lzo" 2,045 kB
[ebuild     U  ] x11-libs/gdk-pixbuf-2.22.1-r2 [2.22.1-r1] USE="X introspection jpeg svg test tiff -debug -doc -jpeg2k" 0 kB
[ebuild     U ~] www-client/firefox-5.0-r2 [5.0-r1] USE="alsa dbus ipc libnotify methodjit%* startup-notification webm wifi -bindist -custom-cflags% -custom-optimization -debug -pgo -system-sqlite (-gconf%) (-hardened%)" LINGUAS="en_US%* es es_ES -af -ak -ar -ast -be -bg -bn -bn_BD -bn_IN -br -bs -ca -cs -cy -da -de -el -en -en_GB% -en_ZA% -eo -es_AR% -es_CL% -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 -ru -si -sk -sl -son -sq -sr -sv -sv_SE -ta -ta_LK -te -th -tr -uk -vi -zh% -zh_CN% -zh_TW% -zu" 653 kB
[ebuild   R   ~] net-libs/xulrunner-2.0.1-r1  USE="alsa crashreporter dbus ipc libnotify startup-notification webm wifi -custom-cflags% -custom-optimization -debug -gconf -system-sqlite" 0 kB
[ebuild   R    ] mail-client/thunderbird-3.1.10  USE="alsa dbus gnome libnotify lightning startup-notification wifi -bindist -crypt -custom-cflags% -custom-optimization -debug -ldap -mozdom -system-sqlite" LINGUAS="en_US es es_ES -af -ar -be -bg -bn -bn_BD -ca -cs -da -de -el -en -en_GB -es_AR -et -eu -fi -fr -fy -fy_NL -ga -ga_IE -he -hu -id -is -it -ja -ko -lt -nb -nb_NO -nl -nn -nn_NO -pa -pa_IN -pl -pt -pt_BR -pt_PT -ro -ru -si -sk -sl -sq -sv -sv_SE -tr -uk -zh -zh_CN -zh_TW" 0 kB
[ebuild     U ~] media-sound/banshee-2.0.1 [2.0.0] USE="aac cdda daap encode ipod test udev web youtube -boo -doc -karma -mtp -podcast" 0 kB
[ebuild     U ~] media-plugins/banshee-community-extensions-2.0.1 [2.0.0] USE="lyrics mirage -doc -lastfmfingerprint -lirc -telepathy" 0 kB
[ebuild     U ~] media-video/gnome-mplayer-1.0.4 [1.0.3-r2] USE="alsa dbus gnome ipod libnotify musicbrainz -pulseaudio" 1,045 kB
[ebuild   R   ~] app-emulation/wine-1.3.18  USE="X alsa cups dbus gecko jpeg lcms mp3 ncurses opengl oss perl png ssl test threads truetype win32 win64 xml -capi -custom-cflags (-esd) -fontconfig -gnutls -gphoto2 -gsm (-gstreamer) (-hal) -jack -ldap -nas (-nls) -openal -opencl% -pulseaudio -samba -scanner -v4l -xcomposite -xinerama" 0 kB
[ebuild     U ~] www-plugins/adobe-flash-11.0.1.60_beta201107131 [10.3.181.26] USE="32bit%* 64bit%* (multilib%*) vdpau -bindist% (-kde)" 13,470 kB
[ebuild     U ~] app-emulation/winetricks-672 [185] USE="gtk%* -kde%" 567 kB

Total: 28 packages (24 upgrades, 4 reinstalls), Size of downloads: 30,883 kB

The following keyword changes are necessary to proceed:
#required by sys-power/upower-0.9.12, required by gnome-base/gnome-session-2.32.1-r2, required by gnome-base/gnome-light-2.32.1, required by @selected, required by @world (argument)
=sys-fs/udev-171-r1 ~amd64

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).


As you can see, latest udev looks to be needed because of:

#required by sys-power/upower-0.9.12, required by gnome-base/gnome-session-2.32.1-r2, required by gnome-base/gnome-light-2.32.1, required by @selected, required by @world (argument)


But that new version is only needed for net-wireless/bluez-4.95-r1, the other packages can use current unmasked udev version. 

The message should then explain that the unmask is needed by the only package really needing that new version

Thanks

Reproducible: Always




Portage 2.1.10.3 (default/linux/amd64/10.0/desktop/gnome, gcc-4.4.5, glibc-2.12.2-r0, 2.6.38-tuxonice-r2 x86_64)
=================================================================
System uname: Linux-2.6.38-tuxonice-r2-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T9300_@_2.50GHz-with-gentoo-2.0.2
Timestamp of tree: Fri, 15 Jul 2011 09:00:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.1-r1
dev-util/ccache:          2.4-r9
dev-util/cmake:           2.8.4-r1
dev-util/pkgconfig:       0.25-r2
sys-apps/baselayout:      2.0.2
sys-apps/openrc:          0.8.2-r1
sys-apps/sandbox:         2.4
sys-devel/autoconf:       2.13, 2.65-r1
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.20.1-r1
sys-devel/gcc:            4.4.5
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.2.10
sys-devel/make:           3.82
sys-kernel/linux-headers: 2.6.36.1 (virtual/os-headers)
sys-libs/glibc:           2.12.2
Repositories: gentoo sunrise x-portage
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/usr/distfiles"
FEATURES="assume-digests binpkg-logs ccache distlocks ebuild-locks fixlafiles fixpackages multilib-strict news parallel-fetch protect-owned sandbox sfperms sign split-log strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org"
LANG="es_ES.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="es es_ES en_US"
MAKEOPTS="-j3"
PKGDIR="/usr/local/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 avahi bash-completion berkdb bluetooth branding bzip2 cairo cdda cdr cleartype cli consolekit cracklib crypt cups cxx daap dbus dell djvu dri dts dvd dvdr dvi eds emboss encode evo exif fam fat ffmpeg firefox flac fortran fuse gdbm gdu gif git gnome gnome-keyring gpm gstreamer gtk gtkstyle hddtemp iconv ieee1394 ipod java jpeg kpathsea laptop latex lcdfilter lcms libnotify lm_sensors lyx lzma mad mmx mmxext mng modules mono mp3 mp4 mpeg mudflap multilib musicbrainz nautilus ncurses network network-cron networkmanager nls nptl nptlonly ntfs nvidia ogg opengl openmp pam pango pch pcre pdf perl pidgin png policykit ppds pppd python qt3support readline reiserfs sdl session sound spell sse sse2 sse3 sse4 ssl ssse3 startup-notification subversion svg sysfs t1lib tcpd test threads tiff truetype udev unicode usb v4l2 vdpau vorbis webkit wifi x264 xattr xcb xml xmp xorg xpm xulrunner xv xvid zeroconf zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="es es_ES en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia nv" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Zac Medico gentoo-dev 2011-07-15 16:22:22 UTC
It looks like we'll probably need to make the depgraph save the relevant parent, since it seems non-trivial to try and deduce that later.
Comment 2 Sebastian Luther (few) 2011-07-15 18:07:12 UTC
(In reply to comment #1)
> It looks like we'll probably need to make the depgraph save the relevant
> parent, since it seems non-trivial to try and deduce that later.

That sounds good in theory, but might break with backtracking. What about scanning all parents and using the parent with the most specific atom?
Comment 3 Zac Medico gentoo-dev 2011-07-15 18:11:33 UTC
(In reply to comment #2)
> What about
> scanning all parents and using the parent with the most specific atom?

I guess that would probably work pretty well. If you have multiple > or < atoms you'd have to compare the versions to see which atoms narrow the possibilities more. For example if the selected package version is 2.0, then a >=2.0 atom narrows the possibilities more that a >=1.0 atom.
Comment 4 Sebastian Luther (few) 2011-07-15 18:53:35 UTC
You could as well check which other unmasked version exist and check if the parent atoms match those or not. Once you find one that doesn't match, you've found a valid candidate.
Comment 6 Zac Medico gentoo-dev 2011-09-19 04:46:22 UTC
This is fixed in 2.1.10.19 and 2.2.0_alpha59.
Comment 7 Pacho Ramos gentoo-dev 2011-09-19 12:01:02 UTC
Nice :D

Thanks a lot
Comment 8 Matěj Laitl 2011-10-03 20:18:07 UTC
This seems that this bug is not fixed for me, consider following shell session:

edgy ~ # emerge -avt --autounmask=n -uDN @system @world
 
These are the packages that would be merged, in reverse order:
 
Calculating dependencies... done!
[ebuild     U ~] www-client/firefox-7.0.1-r1 [7.0.1] USE="alsa crashreporter dbus ipc libnotify startup-notification webm wifi -bindist -custom-cflags -custom-optimization -debug -pgo -system-sqlite" LINGUAS="-af -ak -ar -ast -be -bg -bn -bn_BD -bn_IN -br -bs -ca -cs -cy -da -de -el -en -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 -ru -si -sk -sl -son -sq -sr -sv -sv_SE -ta -ta_LK -te -th -tr -uk -vi -zh -zh_CN -zh_TW -zu" 15 kB
 
Total: 1 package (1 upgrade), Size of downloads: 15 kB
 
!!! The following update has been skipped due to unsatisfied dependencies:
 
kde-base/kdelibs:4
 
!!! All ebuilds that could satisfy ">=app-misc/strigi-0.7.6" have been masked.
!!! One of the following masked packages is required to complete your request:
- app-misc/strigi-9999::kde (masked by: missing keyword)
- app-misc/strigi-0.7.6::gentoo (masked by: ~amd64 keyword)
 
(dependency required by "kde-base/kdelibs-4.7.1-r3" [ebuild])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
 
 
 
Would you like to merge these packages? [Yes/No] n
 
Quitting.
 
edgy ~ # emerge -avt --autounmask=y -uDN @system @world
 
These are the packages that would be merged, in reverse order:
 
Calculating dependencies... done!
[nomerge       ] kde-base/kdegraphics-strigi-analyzer-4.7.1  USE="(-aqua) -debug (-kdeenablefinal)"  [0]
[ebuild     U ~]  kde-base/kdelibs-4.7.1-r3 [4.7.1-r2] USE="acl alsa bzip2 fam handbook lzma mmx nls opengl (policykit) semantic-desktop spell sse sse2 ssl udev udisks upnp upower zeroconf -3dnow (-altivec) (-aqua) -bindist -debug -doc -jpeg2k (-kdeenablefinal) -kerberos -openexr -test" 0 kB [1=>0]                                    
[ebuild     U ~] www-client/firefox-7.0.1-r1 [7.0.1] USE="alsa crashreporter dbus ipc libnotify startup-notification webm wifi -bindist -custom-cflags -custom-optimization -debug -pgo -system-sqlite" LINGUAS="-af -ak -ar -ast -be -bg -bn -bn_BD -bn_IN -br -bs -ca -cs -cy -da -de -el -en -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 -ru -si -sk -sl -son -sq -sr -sv -sv_SE -ta -ta_LK -te -th -tr -uk -vi -zh -zh_CN -zh_TW -zu" 15 kB [0]
[nomerge       ] kde-base/kdegraphics-strigi-analyzer-4.7.1  USE="(-aqua) -debug (-kdeenablefinal)"  [0]
[ebuild     U ~]  app-misc/strigi-0.7.6 [0.7.1] USE="dbus exif fam ffmpeg%* hyperestraier inotify qt4 -clucene* -debug (-log) -test" 681 kB [0]
 
Total: 3 packages (3 upgrades), Size of downloads: 695 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /var/lib/layman/kde
 
The following keyword changes are necessary to proceed:
#required by media-sound/amarok-9999-r50[player], required by @selected, required by @world (argument)
=app-misc/strigi-0.7.6 ~amd64
 
Use --autounmask-write to write changes to config files (honoring CONFIG_PROTECT).

edgy ~ # grep strigi /usr/local/portage/media-sound/amarok/amarok-9999-r50.ebuild
                >=app-misc/strigi-0.5.7[dbus,qt4]

While amarok depends on strigi, it does not enforce the new (non-keyworded) strigi - it is kdelibs that needs it.
Comment 9 Matěj Laitl 2011-10-03 20:21:39 UTC
(In reply to comment #8)
> This seems that this bug is not fixed for me, consider following shell session:

And I forgot the most important thing - portage 2.2.0_alpha60
Comment 10 Matěj Laitl 2011-10-03 20:52:31 UTC
As requested by few_, here's emerge with some debug prints:

# emerge -avt -uDN @system @world

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

Calculating dependencies... done!
[nomerge       ] kde-base/kdegraphics-strigi-analyzer-4.7.1  USE="(-aqua) -debug (-kdeenablefinal)"  [0]
[ebuild     U ~]  kde-base/kdelibs-4.7.1-r3 [4.7.1-r2] USE="acl alsa bzip2 fam handbook lzma mmx nls opengl (policykit) semantic-desktop spell sse sse2 ssl udev udisks upnp upower zeroconf -3dnow (-altivec) (-aqua) -bindist -debug -doc -jpeg2k (-kdeenablefinal) -kerberos -openexr -test" 11,792 kB [1=>0]                                
[ebuild     U ~] www-client/firefox-7.0.1-r1 [7.0.1] USE="alsa crashreporter dbus ipc libnotify startup-notification webm wifi -bindist -custom-cflags -custom-optimization -debug -pgo -system-sqlite" LINGUAS="-af -ak -ar -ast -be -bg -bn -bn_BD -bn_IN -br -bs -ca -cs -cy -da -de -el -en -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 -ru -si -sk -sl -son -sq -sr -sv -sv_SE -ta -ta_LK -te -th -tr -uk -vi -zh -zh_CN -zh_TW -zu" 67,670 kB [0]
[nomerge       ] kde-base/kdegraphics-strigi-analyzer-4.7.1  USE="(-aqua) -debug (-kdeenablefinal)"  [0]
[ebuild     U ~]  app-misc/strigi-0.7.6 [0.7.1] USE="clucene dbus exif fam ffmpeg%* hyperestraier inotify qt4 -debug (-log) -test" 681 kB [0]

Total: 3 packages (3 upgrades), Size of downloads: 80,142 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /var/lib/layman/kde
start_node_parent_atoms = {
        u'app-misc/strigi':
                (kde-base/kdepim-strigi-analyzer-4.7.1::gentoo, installed)
                (kde-base/kdegraphics-strigi-analyzer-4.7.1::gentoo, installed)
                (kde-base/kdesdk-strigi-analyzer-4.7.1::gentoo, installed)
                (kde-base/kdepim-runtime-4.7.1-r1::gentoo, installed)
        u'>=app-misc/strigi-0.5.7[dbus,qt4]':
                (media-sound/amarok-9999-r50::strohel, installed)
        u'>=app-misc/strigi-0.6.3[dbus,qt4]':
                (kde-base/nepomuk-4.7.1::gentoo, installed)
        u'>=app-misc/strigi-0.7.6':
                (kde-base/kdelibs-4.7.1-r3::gentoo, ebuild scheduled for merge)
}
best_match = u'>=app-misc/strigi-0.5.7[dbus,qt4]'

The following keyword changes are necessary to proceed:
#required by media-sound/amarok-9999-r50[player], required by @selected, required by @world (argument)
=app-misc/strigi-0.7.6 ~amd64
Comment 11 Zac Medico gentoo-dev 2011-10-04 04:46:50 UTC
(In reply to comment #10)
> start_node_parent_atoms = {
>         u'app-misc/strigi':
>                 (kde-base/kdepim-strigi-analyzer-4.7.1::gentoo, installed)
>                 (kde-base/kdegraphics-strigi-analyzer-4.7.1::gentoo, installed)
>                 (kde-base/kdesdk-strigi-analyzer-4.7.1::gentoo, installed)
>                 (kde-base/kdepim-runtime-4.7.1-r1::gentoo, installed)
>         u'>=app-misc/strigi-0.5.7[dbus,qt4]':
>                 (media-sound/amarok-9999-r50::strohel, installed)
>         u'>=app-misc/strigi-0.6.3[dbus,qt4]':
>                 (kde-base/nepomuk-4.7.1::gentoo, installed)
>         u'>=app-misc/strigi-0.7.6':
>                 (kde-base/kdelibs-4.7.1-r3::gentoo, ebuild scheduled for merge)
> }
> best_match = u'>=app-misc/strigi-0.5.7[dbus,qt4]'
> 
> The following keyword changes are necessary to proceed:
> #required by media-sound/amarok-9999-r50[player], required by @selected,
> required by @world (argument)
> =app-misc/strigi-0.7.6 ~amd64

I've fixed best_match_to_list to order by version number, so it should handle the above case now:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=b33ab8168a18391cc8ebe3d0b8bbcdc53a1a1c3d
Comment 12 Zac Medico gentoo-dev 2011-10-05 17:37:09 UTC
This is fixed in 2.1.10.21 and 2.2.0_alpha61.