Skip to content

Instantly share code, notes, and snippets.

@Lax
Last active July 10, 2026 13:19
Show Gist options
  • Select an option

  • Save Lax/e46899d13f08aa8e5aceb2241efa17e9 to your computer and use it in GitHub Desktop.

Select an option

Save Lax/e46899d13f08aa8e5aceb2241efa17e9 to your computer and use it in GitHub Desktop.
Portage USE dependency IUSE validation issue - gnome-settings-daemon 48->49

Portage USE dependency IUSE validation issue — gnome-settings-daemon 48→49

Problem

sudo emerge -DNauvp @world showed:

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

gnome-base/gnome-settings-daemon:0
  (gnome-base/gnome-settings-daemon-49.1-r1:0/0::gentoo, ebuild scheduled for merge)
  conflicts with
    >=gnome-base/gnome-settings-daemon-48_alpha[colord] required by
    (gnome-base/gnome-control-center-48.7:2/2::gentoo, installed)

Also:

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-python/docutils:0
  (dev-python/docutils-0.23:0/0::gentoo, ebuild scheduled for merge) conflicts with
    <dev-python/docutils-0.23[...] required by
    (dev-python/sphinx-9.1.0:0/0::gentoo, installed)

Root cause

Settings-daemon conflict

gnome-settings-daemon-48.1 had input_devices_wacom in IUSE, but 49.1-r1 removed it. The installed gnome-control-center-48.7 depends on >=gnome-settings-daemon-48_alpha[colord,input_devices_wacom?].

Even though the ? conditional was false (INPUT_DEVICES="-wacom"), portage's IUSE validation rejected 49.1-r1:

(gnome-base/gnome-settings-daemon-49.1-r1) misses needed flags from IUSE

Confirmed via emerge --debug:

atom: >=gnome-base/gnome-settings-daemon-48_alpha[colord]
match: (gnome-base/gnome-settings-daemon-48.1:0/0::gentoo, installed)

49.1-r1 was never listed as matching, even though colord was enabled and version >= 48_alpha.

The ebuild diff shows the removed IUSE flags:

  • input_devices_wacom — wacom support refactored upstream
  • wayland — became unconditional dep (dev-libs/wayland always linked)
  • GTK3 dep dropped (migrated to GTK4)

Docutils conflict

sphinx-9.1.0 had <dev-python/docutils-0.23 upper bound. docutils-0.23 couldn't be installed.

Changes made

1. Sphinx upgrade (fix docutils conflict)

echo "=dev-python/sphinx-9.1.0-r1 ~amd64" >> /etc/portage/package.accept_keywords/sphinx
emerge -1 =dev-python/sphinx-9.1.0-r1

sphinx-9.1.0-r1 dropped the <dev-python/docutils-0.23 restriction.

2. GNOME 49 upgrade (fix settings-daemon conflict)

echo "gnome-base/gnome-control-center ~amd64" >> /etc/portage/package.accept_keywords/gnome-control-center
echo "gui-libs/gtk ~amd64" >> /etc/portage/package.accept_keywords/gtk
echo "gui-libs/libadwaita ~amd64" >> /etc/portage/package.accept_keywords/libadwaita
emerge -1 =gnome-base/gnome-control-center-49.7

This pulled in:

  • gui-libs/gtk-4.20.4 (new dep of libadwaita 1.8)
  • gui-libs/libadwaita-1.8.6 (new dep of control-center 49.7)
  • gnome-settings-daemon-49.1-r1 (auto-resolved slot conflict)

control-center-49.7 depends on >=gnome-settings-daemon-49 (without input_devices_wacom?), so the slot conflict disappeared.

3. Final emerge

$ sudo emerge -DNuv @world

Total: 6 packages (4 upgrades, 2 reinstalls)
[ebuild     U  ] x11-libs/libXfont2-2.0.8
[ebuild  r  U  ] x11-base/xorg-server-21.1.24
[ebuild  rR    ] x11-drivers/xf86-input-libinput-1.5.0
[ebuild  rR    ] x11-drivers/xf86-video-intel-2.99.917_p20230201
[ebuild     U  ] dev-python/docutils-0.23
[ebuild     U  ] x11-base/xwayland-24.1.13

No WARNING lines. Both conflicts resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment