Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

New systemd dependencies


nrc

Question

It looks like something has created a new systemd dependency.  I run an XFCE4 desktop and explicitly want to avoid systemd but as of the latest portage update emerge is wanting to pull in udev and systemd.   I'm still learning my way around  portage so I haven't figured out yet exactly what has changed to create this requirement.  I haven't changed any USE flags recently.


$ sudo emerge --ask --update --newuse --deep --with-bdeps=y @world

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

Calculating dependencies... done!
[ebuild  N     ] net-wireless/rfkill-0.5 
[ebuild  N     ] net-wireless/wireless-regdb-20140529 
[ebuild  N     ] sys-libs/libseccomp-2.1.1  USE="-static-libs" 
[ebuild     U  ] gnome-base/gnome-common-3.12.0 [3.10.0]
[ebuild     U  ] sys-apps/paxctl-0.8 [0.7-r2]
[ebuild     U  ] x11-libs/gnome-pty-helper-0.36.2 [0.34.9]
[ebuild     U  ] perl-core/Module-CoreList-3.110.0 [3.70.0]
[ebuild     U  ] virtual/perl-Module-CoreList-3.110.0 [3.70.0]
[ebuild     U  ] x11-apps/xcursorgen-1.0.6 [1.0.5]
[ebuild  N     ] dev-lang/swig-2.0.12  USE="pcre -ccache -doc" 
[ebuild     U  ] dev-libs/gobject-introspection-common-1.40.0 [1.38.0]
[ebuild     U  ] sys-devel/gettext-0.19 [0.18.3.2]
[ebuild     U  ] sys-apps/help2man-1.45.1 [1.44.1]
[ebuild     U  ] net-libs/gnutls-3.3.4 [3.3.2]
[ebuild     U  ] x11-themes/gnome-icon-theme-3.12.0 [3.10.0]
[ebuild  N     ] net-dialup/ppp-2.4.6  USE="gtk ipv6 pam -activefilter -atm -dhcp -eap-tls -radius" 
[ebuild     U  ] dev-lang/python-2.7.7-r1000 [2.7.6-r1001]
[ebuild  N     ] dev-libs/libnl-3.2.24-r1  USE="python -static-libs -utils" PYTHON_TARGETS="python2_7 python3_3 (-python2_6) -python3_2 -python3_4" 
[ebuild     U  ] dev-python/cython-0.20.2_beta1-r1000 [0.20.1-r1000]
[ebuild  N     ] net-wireless/crda-1.1.3-r1 
[ebuild     U  ] gnome-extra/yelp-xsl-3.12.0 [3.10.1]
[ebuild  N     ] dev-python/lxml-3.3.5-r1000  USE="threads -beautifulsoup3 -doc -examples" PYTHON_ABIS="2.7 3.3 -2.6 -3.1 -3.2 -3.4 (-3.5)" 
[ebuild  N     ] net-wireless/wpa_supplicant-2.1-r1  USE="dbus readline ssl -ap -eap-sim -fasteap -gnutls -p2p (-ps3) -qt4 (-selinux) -smartcard -wimax -wps" 
[ebuild     U  ] app-text/yelp-tools-3.12.1 [3.10.0]
[ebuild     U  ] dev-libs/glib-2.40.0 [2.38.2-r1]
[ebuild     U  ] dev-libs/gobject-introspection-1.40.0 [1.38.0]
[blocks b      ] <dev-libs/gobject-introspection-1.40.0 ("<dev-libs/gobject-introspection-1.40.0" is blocking dev-libs/gobject-introspection-common-1.40.0)
[blocks b      ] <dev-libs/gobject-introspection-1.40 ("<dev-libs/gobject-introspection-1.40" is blocking dev-libs/glib-2.40.0)
[ebuild     U  ] app-accessibility/at-spi2-core-2.12.0 [2.10.2]
[ebuild     U  ] xfce-base/libxfce4util-4.11.0 [4.10.1]
[ebuild     U  ] dev-util/gdbus-codegen-2.40.0-r1000 [2.38.2-r1000]
[ebuild     U  ] gnome-base/gsettings-desktop-schemas-3.12.2 [3.10.1]
[ebuild     U  ] dev-util/xfce4-dev-tools-4.11.0 [4.10.0]
[ebuild     U  ] dev-libs/json-glib-1.0.2 [0.16.2]
[ebuild  N     ] net-libs/libqmi-1.8.0  USE="-doc -static-libs" 
[ebuild     U  ] dev-cpp/glibmm-2.40.0 [2.38.2]
[ebuild     U  ] dev-libs/atk-2.12.0-r1 [2.10.0-r1]
[ebuild     U  ] dev-python/pygobject-3.12.2-r1000 [3.10.2-r1000]
[ebuild     U  ] net-libs/glib-networking-2.40.1 [2.38.2]
[ebuild     U  ] app-accessibility/at-spi2-atk-2.12.1 [2.10.2]
[ebuild     U  ] net-libs/libsoup-2.46.0 [2.44.2]
[ebuild     U  ] x11-themes/gnome-icon-theme-symbolic-3.12.0 [3.10.1]
[ebuild     U  ] dev-vcs/git-2.0.0-r1 [2.0.0]
[ebuild     U  ] x11-libs/gtk+-3.12.2 [3.10.8] USE="-cloudprint%" 
[ebuild     U  ] xfce-base/libxfce4ui-4.11.1 [4.10.0]
[ebuild     U  ] x11-themes/gnome-themes-standard-3.12.0 [3.10.0]
[ebuild  NS    ] dev-libs/keybinder-0.3.0-r300 [0.3.0-r200] USE="-introspection" 
[ebuild  N     ] dev-libs/libpeas-1.10.0  USE="gtk python -glade -seed {-test}" PYTHON_TARGETS="python2_7 python3_3 (-python2_6) -python3_2" 
[ebuild     U  ] xfce-base/garcon-0.3.0 [0.2.1]
[ebuild     U  ] xfce-base/xfwm4-4.11.1 [4.10.1] USE="dri%*" 
[ebuild     U  ] xfce-base/xfce4-panel-4.11.0 [4.10.1]
[ebuild     U  ] app-text/evince-3.12.1 [3.10.3]
[ebuild     U  ] xfce-base/xfce4-appfinder-4.11.0 [4.10.1]
[ebuild     U  ] xfce-extra/xfce4-mixer-4.11.0 [4.10.0] USE="keybinder%*" 
[ebuild     U  ] media-sound/pragha-1.3.0 [1.1.2.1] USE="keybinder%* libnotify%* peas%* udev%* -mtp%" 
[ebuild     U  ] app-arch/file-roller-3.12.2 [3.10.2.1]
[ebuild     U  ] media-video/parole-0.6.1 [0.5.4]
[ebuild     U  ] dev-lang/ruby-2.1.2 [2.1.1-r1]
[ebuild     U  ] dev-lang/ruby-1.9.3_p547 [1.9.3_p545]
[ebuild     U  ] dev-lang/ruby-2.0.0_p481 [2.0.0_p451]
[ebuild     U  ] dev-ruby/rubygems-2.0.14-r1 [2.0.14]
[ebuild     U  ] dev-ruby/rake-10.3.2 [10.3.1]
[ebuild  N     ] sys-apps/systemd-213  USE="acl filecaps firmware-loader gudev pam policykit python seccomp ssl -audit -cryptsetup -doc -gcrypt -http -introspection (-kdbus) -lzma -qrcode (-selinux) {-test} -vanilla -xattr" PYTHON_SINGLE_TARGET="python2_7 -python3_2 -python3_3" PYTHON_TARGETS="python2_7 python3_3 -python3_2" 
[ebuild  N     ] sys-apps/gentoo-systemd-integration-4 
[ebuild  N     ] virtual/libgudev-208  USE="-introspection -static-libs" 
[ebuild  N    #] sys-fs/eudev-1.5.3  USE="gudev hwdb keymap kmod modutils rule-generator static-libs -doc -introspection (-selinux) {-test}" 
[ebuild     U #] virtual/udev-208 [171] USE="keymap* kmod%* static-libs*" 
[ebuild     U #] sys-apps/hwids-20140103 [20130131]
[ebuild  N     ] sys-fs/udev-init-scripts-26 
[ebuild     U  ] x11-drivers/nvidia-drivers-337.25 [337.19]
[ebuild   R    ] sys-auth/polkit-0.112-r2  USE="introspection*" 
[ebuild  N     ] sys-power/upower-pm-utils-0.9.23-r1  USE="-doc -introspection -ios" 
[ebuild  N     ] net-misc/modemmanager-1.2.0-r1  USE="policykit qmi -introspection -mbim -qmi-newest -vala" 
[ebuild     U  ] gnome-base/gvfs-1.20.2 [1.18.3-r1]
[ebuild  N     ] net-misc/networkmanager-0.9.8.2-r2  USE="consolekit dhcpcd nss policykit ppp resolvconf wext -avahi -bluetooth -connection-sharing -dhclient -gnutls -introspection -modemmanager -systemd {-test} -vala" 
[ebuild     U  ] xfce-extra/xfce4-power-manager-1.3.0 [1.2.0-r2] USE="-systemd%" 
[ebuild     U  ] xfce-base/xfce4-session-4.11.0-r1 [4.10.1-r1]
[ebuild     U  ] xfce-base/xfce4-settings-4.11.2-r1 [4.10.1] USE="udev%*" 
[ebuild  NS    ] app-misc/geoclue-2.1.8 [0.12.99] USE="modemmanager networkmanager" 
[ebuild     U  ] xfce-base/xfdesktop-4.11.6 [4.10.2]
[ebuild     U  ] net-libs/webkit-gtk-2.4.3 [2.2.6] USE="X%* -wayland%" 
[blocks B      ] sys-power/upower ("sys-power/upower" is blocking sys-power/upower-pm-utils-0.9.23-r1)
[blocks B      ] sys-apps/systemd ("sys-apps/systemd" is blocking sys-fs/eudev-1.5.3)
[blocks B      ] <sys-fs/udev-186 ("<sys-fs/udev-186" is blocking sys-fs/udev-init-scripts-26)
[blocks B      ] sys-fs/udev ("sys-fs/udev" is blocking sys-apps/gentoo-systemd-integration-4, sys-apps/systemd-213, sys-fs/eudev-1.5.3)
[blocks B      ] <sys-fs/lvm2-2.02.97 ("<sys-fs/lvm2-2.02.97" is blocking sys-fs/eudev-1.5.3)

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-apps/hwids:0

  (sys-apps/hwids-20140103::gentoo, ebuild scheduled for merge) pulled in by
    >=sys-apps/hwids-20130717-r1[udev] required by (sys-fs/eudev-1.5.3::gentoo, ebuild scheduled for merge)
    (and 1 more with the same problem)

  (sys-apps/hwids-20130131::gentoo, installed) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

virtual/udev:0

  (virtual/udev-208::gentoo, ebuild scheduled for merge) pulled in by
    >=virtual/udev-206-r2 required by (sys-fs/eudev-1.5.3::gentoo, ebuild scheduled for merge)
    (and 2 more with the same problem)

  (virtual/udev-171::gentoo, installed) pulled in by
    =virtual/udev-171 required by (sys-auth/consolekit-0.4.5_p20120320::gentoo, installed)
    (and 19 more with the same problem)


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by sys-fs/eudev-1.5.3[hwdb,keymap]
# required by virtual/udev-208[kmod]
# required by sys-fs/udev-init-scripts-26
# required by sys-apps/systemd-213
# required by virtual/libgudev-208
# required by sys-power/upower-pm-utils-0.9.23-r1
# required by xfce-base/xfce4-settings-4.11.2-r1[udev]
# required by xfce-base/xfce4-meta-4.10
# required by @selected
# required by @world (argument)
# /usr/portage/profiles/package.mask/funtoo-udev:
## File has duplicate masks in cautionary files, but it's fine, will get cleaned after unmask in both
## http://bugs.funtoo.org/browse/FL-986
=sys-apps/hwids-20140103
# required by virtual/udev-208[kmod]
# required by sys-fs/udev-init-scripts-26
# required by sys-apps/systemd-213
# required by virtual/libgudev-208
# required by sys-power/upower-pm-utils-0.9.23-r1
# required by xfce-base/xfce4-settings-4.11.2-r1[udev]
# required by xfce-base/xfce4-meta-4.10
# required by @selected
# required by @world (argument)
# /usr/portage/profiles/package.mask/funtoo-cautionary:
# Oleg Vinichenko (19 Jan 2012)
# udev-177 is not ready for daily usage
# for adventurous ones!
# Daniel Robbins (15 Sep 2012) - new udev version to fix /run persistent issues:
# Jean-Francis Roy (28 Nov 2012) - new udev version to add keymap USE flag + virtual/udev mask:
=sys-fs/eudev-1.5.3
# required by sys-fs/eudev-1.5.3
# /usr/portage/profiles/package.mask/funtoo-udev:
## File has duplicate masks in cautionary files, but it's fine, will get cleaned after unmask in both
## http://bugs.funtoo.org/browse/FL-986
=virtual/udev-208

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by net-misc/modemmanager-1.2.0-r1[policykit]
# required by app-misc/geoclue-2.1.8[modemmanager]
# required by net-libs/webkit-gtk-2.4.3[geoloc]
# required by gnome-extra/zenity-3.8.0-r2[webkit]
# required by app-emulation/winetricks-20140302[gtk]
# required by @selected
# required by @world (argument)
>=sys-auth/polkit-0.112-r2 introspection
# required by virtual/libgudev-208
# required by sys-power/upower-pm-utils-0.9.23-r1
# required by xfce-base/xfce4-settings-4.11.2-r1[udev]
# required by xfce-base/xfce4-meta-4.10
# required by @selected
# required by @world (argument)
=sys-apps/systemd-213 gudev

NOTE: The --autounmask-keep-masks option will prevent emerge
      from creating package.unmask or ** keyword changes.

Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

it is already reported. This is issue is complex and it will take some time to resolve. Until then it is recommended not to let portage do updates. Nothing serious if box not updated for a couple of days.

 

Thanks.  Do you expect that clearing up the upower issue in FL-1261 will eliminate whatever dependancy is attempting to drag systemd into the mix?

 

Based on the news item in the latest update it's clear that systemd is once again the root of all evil.  Or at least this issue.  I wish I could be more helpful in isolating the issue but I'm new here and still learning portage.

Link to comment
Share on other sites

  • 0

No, systemd is not the root case of this issue but is a side effect of dependency choice dictate of virtual packages. Regarding udev, portage tree have 3 virtual packages:

 

virtual/udev (eudev, systemd, udev as providers).

 

Udev package has following libraries, libudev and libgudev (gudev part) and hence addtional virtual packages introduced:

 

virtual/libudev for packages linked against libudev (libudev can be provided either by eudev, systemd or udev, see above virtual/udev)

 

virtual/libgudev for package that linked against libgudev (same providers).

 

upower and upowr-pm-utils (drop-in replacement) now has virtual/libgudev dependency. Funtoo has no newer udev package, so virtual/libgudev dictates to choose systemd, eudev and other uncertain dependency graph. I find this behaviour as very misdesigned (or overly designed), which not helping Udev maintainence any better. I'm thinking about a permanent LONG-TERM fix for udev and Co. There was an initiative to use mdev as default but this is very conservative and better suited for servers, not desktops. Also, we would like to investigate possibility to switch to eudev, sa-called udev fork, which is freed from systemd churn, we had positive feedback from users, so it might be best option. The fix for this is ON HOLD as it one of the most critical packages in system.

P.S Funtoo has done good job in avoiding newer udev versions but number of problems accumulated dictates to have a permanent fix (if possible)

Link to comment
Share on other sites

  • 0

My reference to systemd was because systemd's consumption of more and more user space ultimately led to the changes in udev and upower that are now creating problems.

I was able to suss out a lot of the dependencies you talk about.  At least I'm learning a few things about portage in the process.  I don't mind that I can't update my home system but unfortunately this is also stopping me from completing the build on my new work system which is a bit more painful.  

 

I tried switching the build profile to stable (after I'd already emerged quite a few packages under "current") but it still hits the problem packages.  Would starting the build from scratch with the stable build profile fare any better?  It seems like with these issues lurking out there it would be desirable to make sure that "stable" always builds even if it doesn't get updated for a long time.

 

I understand what a sticky problem some of this is and I can't emphasize enough how appreciative I am that there are some developers who are willing to tackle these problems.  As much as some people want to push the need for uniformity in the Linux ecosystem I really believe that the ability to try different solutions and the "UNIX way" are much more important than just going along with the latest edict from the big contributors.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...