Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 522084 - Portage doesn't pick up updates to xorg-server, which is in the world file
Summary: Portage doesn't pick up updates to xorg-server, which is in the world file
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
Keywords: InVCS
: 506022 519536 523486 (view as bug list)
Depends on:
Blocks: 155723 484436
  Show dependency tree
Reported: 2014-09-03 20:21 UTC by Denis Dupeyron (RETIRED)
Modified: 2015-03-28 19:52 UTC (History)
8 users (show)

See Also:
Package list:
Runtime testing required: ---

_solve_non_slot_operator_slot_conflicts: fix bug #522084 (_solve_.slot_conflicts-fix-bug-522084.patch,4.15 KB, patch)
2014-09-18 23:24 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Dupeyron (RETIRED) gentoo-dev 2014-09-03 20:21:54 UTC
I have this problem with two machines (maybe more, I haven't checked). Both on ~amd64 with nothing special.

I just did a complete world update and cleanup. Now I do this:

# emerge -vp xorg-server

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

Calculating dependencies... done!
[ebuild     U  ] x11-base/xorg-drivers-1.16 [1.15] INPUT_DEVICES="evdev -acecad -aiptek -elographics -fpit -hyperpen -joystick -keyboard -mouse -mutouch -penmount -synaptics -tslib -vmmouse -void -wacom" VIDEO_CARDS="intel -apm -ast -chips -cirrus -dummy -epson -fbdev -fglrx (-freedreno) (-geode) -glint -i128 (-i740) -mach64 -mga -modesetting -neomagic -nouveau -nv -nvidia (-omap) (-omapfb) -qxl -r128 -radeon -radeonsi -rendition -s3% -s3virge -savage -siliconmotion -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox -vmware (-voodoo)" 0 KiB
[ebuild  r  U  ] x11-base/xorg-server-1.16.0:0/1.16.0 [1.15.1:0/1.15.1] USE="ipv6 nptl suid udev xorg -dmx -doc (-glamor) -kdrive -minimal (-selinux) -static-libs -systemd% -tslib -unwind -wayland% -xnest -xvfb" 5,697 KiB
[ebuild  rR    ] x11-drivers/xf86-input-evdev-2.8.4  0 KiB
[ebuild  r  U  ] x11-drivers/xf86-video-intel-2.99.914 [2.99.911-r1] USE="dri sna udev xvmc -debug -glamor -uxa" 2,189 KiB

Total: 4 packages (3 upgrades, 1 reinstall), Size of downloads: 7,885 KiB

The following packages are causing rebuilds:

  (x11-base/xorg-server-1.16.0:0/1.16.0::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (x11-drivers/xf86-video-intel-2.99.914:0/0::gentoo, ebuild scheduled for merge)
    (x11-drivers/xf86-input-evdev-2.8.4:0/0::gentoo, ebuild scheduled for merge)

 * IMPORTANT: 12 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

There's an xorg-server update that wasn't built. Weird. If I run 'emerge -puDN @world' again it comes back empty.

xorg-server is in the world file:

# grep xorg-server /var/lib/portage/world

Relevant bits from my make.conf:


CFLAGS="-O2 -march=native -fomit-frame-pointer -pipe"

EMERGE_DEFAULT_OPTS="--with-bdeps=y --complete-graph=y --keep-going=y"

Portage version:

# emerge --version
Portage 2.2.12 (python 2.7.8-final-0, default/linux/amd64/13.0/desktop, gcc-4.8.3, glibc-2.19-r1, 3.16.1-gentoo x86_64)

Do you need any more info?

Comment 1 Rafał Mużyło 2014-09-03 20:46:47 UTC
Is it still picked up if you use 'emerge -vpD xorg-server' ?

There's a chance, that one of your packages has a restriction on xorg-server version.
Comment 2 Zac Medico gentoo-dev 2014-09-03 20:54:11 UTC
You can show reverse dependencies like this:

 emerge -pv --depclean xorg-server
Comment 3 Ben Kohler gentoo-dev 2014-09-17 17:07:21 UTC
I have reproduced this bug in the past, no there was nothing that needed an older version.  If you "emerge -1 xorg-server" to force the upgrade, then "emerge -uDNav world", everything is consistent and there are no problems.
Comment 4 Ben Kohler gentoo-dev 2014-09-17 18:27:08 UTC
Looks like this is caused by the following commit:

a862cc5dd1a56114fa579c5fb01b518b243666d9 : Solve some slot conflicts without backtracking
Comment 5 Zac Medico gentoo-dev 2014-09-17 19:06:37 UTC
My guess is that _solve_non_slot_operator_slot_conflicts (from commit a862cc5dd1a5) is solving slot conflicts triggered by slot operators before self._dynamic_config._slot_operator_replace_installed has had a chance to become populated by the first backtrack run.

I now have a copy of Ben's configuration, with which I hope to reproduce this bug.
Comment 6 Zac Medico gentoo-dev 2014-09-18 22:49:58 UTC
In the following branch I have a test case (based on Ben's configuration) that reproduces this bug:

It shows that _solve_non_slot_operator_slot_conflicts removes both versions of xorg-server from the graph, since they don't have any non-conflict parents (except for @selected which matches both instances).
Comment 7 Zac Medico gentoo-dev 2014-09-18 23:24:18 UTC
Created attachment 385084 [details, diff]
_solve_non_slot_operator_slot_conflicts: fix bug #522084

Fix _solve_non_slot_operator_slot_conflicts to add all parents to the conflict_graph, even for parents where the atom matches all relevant nodes. Otherwise, we risk removing all of the matched nodes from the graph, which would cause a missed update.
Comment 9 Zac Medico gentoo-dev 2014-09-20 23:46:26 UTC
*** Bug 519536 has been marked as a duplicate of this bug. ***
Comment 10 Nikos Chantziaras 2014-09-23 09:04:08 UTC
*** Bug 523486 has been marked as a duplicate of this bug. ***
Comment 11 Zac Medico gentoo-dev 2015-03-28 19:49:31 UTC
This is fixed in portage-2.2.14.
Comment 12 Zac Medico gentoo-dev 2015-03-28 19:52:47 UTC
*** Bug 506022 has been marked as a duplicate of this bug. ***