Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 354635 - kdelibs should not depend on udisks/upower unconditionally
Summary: kdelibs should not depend on udisks/upower unconditionally
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: High enhancement with 2 votes (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
: 367025 367289 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-02-12 17:46 UTC by Alec Meyers
Modified: 2011-07-10 01:00 UTC (History)
6 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alec Meyers 2011-02-12 17:46:44 UTC
While udisks/upower may be necessary for the KDE Desktop, some of us use only some KDE applications, such as for example, Okular or Kate, which have no need whatsoever to manage disks or power.

Before upgrading to KDE 4.6, I removed the dependencies from the kdelibs ebuild, and I've been KDE without udisks/upower for a week (and also without policykit/consolekit, since those are the only dependencies on them), and my KDE applications work perfectly fine.

I suggest adding either a flag to kdelibs, or make them a dependency for something further down the line that actually needs them to operate. (Maybe solid or kdebase-startkde?)



Reproducible: Always

Steps to Reproduce:




Portage 2.2.0_alpha23 (default/linux/amd64/10.0/desktop, gcc-4.5.2, glibc-2.12.2-r0, 2.6.37 x86_64)
=================================================================
System uname: Linux-2.6.37-x86_64-Intel-R-_Core-TM-_i7_CPU_M_620_@_2.67GHz-with-gentoo-2.0.1
Timestamp of tree: Sat, 12 Feb 2011 16:15:01 +0000
app-shells/bash:     4.1_p9
dev-java/java-config: 2.1.11-r3
dev-lang/python:     2.7.1, 3.1.3
dev-util/cmake:      2.8.3-r1
sys-apps/baselayout: 2.0.1-r1
sys-apps/openrc:     0.7.0
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.13, 2.68
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.21
sys-devel/gcc:       4.5.2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.4-r1
sys-devel/make:      3.82
virtual/os-headers:  2.6.36.1 (sys-kernel/linux-headers)
Repositories: gentoo mozilla local
Installed sets: @kde4, @ooffice-tmp, @texlive, @xfce4
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-10.1 dlj-1.1"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe -fno-ident -floop-interchange -floop-strip-mine -floop-block -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/themes/oxygen-gtk/gtk-2.0"
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 -march=native -pipe -fno-ident -floop-interchange -floop-strip-mine -floop-block -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://mirrors.rit.edu/gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
LINGUAS="en"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="gzip"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
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/tree/official"
PORTDIR_OVERLAY="/usr/portage/tree/layman/mozilla /usr/portage/tree/local"
SYNC="rsync://rsync21.us.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acl acpi aio alsa amd64 apng audiofile avi bash-completion berkdb bluetooth branding bzip2 cairo cdparanoia cdr chm cli cracklib crypt css cups curl custom-optimization cxx dbus dell dirac dri dts dvd dvdr emboss encode exif expat ffmpeg fftw firefox flac foomaticdb fortran ftp gdu gif git gmp gpm gtk iconv imagemagick imlib inotify java5 java6 jpeg kde kdehiddenvisibility kvm laptop latex lcms libnotify logrotate lqr lzma lzo mad mikmod mmx mmxext mng modules mp3 mp4 mpeg mplayer mudflap multilib musepack ncurses nptl nptlonly nsplugin nvidia ogg opengl openmp openssl pam pango pch pcre pdf perl png ppds pppd python qt qt3support qt4 quicktime rar readline resolvconf rtmp samba schroedinger sdl session sndfile speex spell sqlite sqlite3 srt sse sse2 sse3 sse4 ssl ssse3 startup-notification subversion svg sysfs tcpd theora threads tiff tokyocabinet truetype udev unicode usb v4l v4l2 vaapi vcd videos vim-syntax vorbis vpx webkit wifi wmf x264 xcb xcomposite xft xorg xscreensaver xulrunner xv xvid xvmc xz zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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" 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="keyboard mouse synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="arm i386 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel" XFCE_PLUGINS="clock logout menu" 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_FLAGS
Comment 1 Simon Braunstein 2011-02-14 16:05:59 UTC
I dont want any of upower, udisk, policykit or consolekit in my system. Like the bug opener I kicked upower and udisk out of the kdelibs ebuild. KDE works so far without any trouble. Please make this optional.
Comment 2 Tomáš Chvátal (RETIRED) gentoo-dev 2011-02-14 16:11:40 UTC
Yes you can technicaly use the kde without it but most of the features will be broken or behaving differently from what we intended.

Given the amount of bugreports this could generate like everytime when we give users experimental useflag (this time even unsupported by us and upstream) it is not worth the effort.

The same issue goes with you guys not willing to emerge kdebase-startkde or kdebase-runtime-meta even tho it causes quite few apps to misbehave in really weird ways.

Be happy you dont have to emerge hal itself nowdays.
(I would close it as wontfix but i leave it up to decision of our lead)
Comment 3 Alec Meyers 2011-02-14 16:18:26 UTC
Alright, but how can udisks/upower be useful if they are backends for solid, and I don't actually have solid installed? (It's not a dependency of kdebase-runtime-meta.) Am I missing something?
Comment 4 Alec Meyers 2011-02-25 19:35:20 UTC
I would like to mention that Duncan on the mailing list provides a good explanation of the concerns:

http://archives.gentoo.org/gentoo-desktop/msg_5c33d9b04e158a154d7d5610c4eb6502.xml

Except that in my case, I don't even use the KDE Desktop, so the features provided by udisks/upower/consolekit/policykit are not even in any way useful. (Unfortunately I am not subscribed, so I can't reply there.)
Comment 5 Andreas K. Hüttel archtester gentoo-dev 2011-05-14 20:11:21 UTC
*** Bug 367289 has been marked as a duplicate of this bug. ***
Comment 6 Luke-Jr 2011-05-14 20:19:31 UTC
KDE developers inform me that udisks/upower are not required for the KDE Desktop either. Gentoo is supposed to be about choice, not forcing us to use things we don't want. Did that change sometime?
Comment 7 Luke-Jr 2011-05-14 20:20:28 UTC
Also, the KDE profiles already force USE=policykit; why not just force any new USE flags that are perceived as somehow "required" by Gentoo (yet not upstream, in this case)?
Comment 8 Luke-Jr 2011-05-14 20:22:00 UTC
Finally, this blocks Bug 367287, but I can't seem to change it.
Comment 9 Alec Meyers 2011-05-14 22:21:48 UTC
(In reply to comment #6)
> KDE developers inform me that udisks/upower are not required for the KDE
> Desktop either.

If you build a full desktop without those (and preferably consolekit/policykit), and you could report back how it works, that would be helpful :)
Comment 10 Sebastian Zebrowski 2011-05-14 22:29:02 UTC
I compiled kde without udisk/upower/policykit/consolekit (custom ebuild;)). Works like a charm.
Comment 11 Luke-Jr 2011-05-15 23:48:19 UTC
It seems the Gentoo KDE team is content to force their "intentions" on everyone, despite a glib-free KDE being supported upstream, but at least there is a workaround:

mkdir /etc/portage/profile/ -p
# This allows you to turn off the policykit and consolekit USE flags:
echo -e '-policykit\n-consolekit' >> /etc/portage/profile/use.force
# This allows you to build kdelibs without udisks/upower:
echo -e 'sys-power/upower-9999\nsys-fs/udisks-9999' >>/etc/portage/profile/package.provided

KDE 4.6.2 is running flawlessly for me this way. No idea what the "Run as" nonsense that's supposed to be "broken"; I see no such option anywhere (possibly as a result of building without support for it). Basically perfect as far as I'm concerned.
Comment 12 Theo Chatzimichos (RETIRED) archtester gentoo-dev Security 2011-05-16 00:00:27 UTC
No, the Gentoo KDE Team in one of our meetings decided to actually make udisks/upower optional. I am responsible for this bug, but I didn't have time yet to work on it. If you (or any of you) wants to send me some patches, feel free to do so.
Comment 13 Luke-Jr 2011-05-16 00:18:06 UTC
My statement was based on the comments by scarabeus in this bug, and on IRC as recently as yesterday. Good to hear the team has decided to support this. Thanks.
Comment 14 Samuli Suominen (RETIRED) gentoo-dev 2011-05-16 11:02:56 UTC
*** Bug 367025 has been marked as a duplicate of this bug. ***
Comment 15 Alec Meyers 2011-06-05 14:46:16 UTC
(In reply to comment #12)
> No, the Gentoo KDE Team in one of our meetings decided to actually make
> udisks/upower optional. I am responsible for this bug, but I didn't have time
> yet to work on it. If you (or any of you) wants to send me some patches, feel
> free to do so.

What is it exactly that needs to be patched?

Based on the comments here, it seems like all that's needed is to hide the two dependencies behind a USE flag, and add them to packages that must have them to function (like k3b, I think).
Comment 16 Andreas K. Hüttel archtester gentoo-dev 2011-06-22 20:43:58 UTC
Hi everyone, 

please get kdelibs-4.6.4-r2 from the kde overlay and test; it now has a "umagic" useflag (defaulting to on) for this purpose. 

I'll keep this bug open until the feature moves into the main tree (with 4.6.5 most likely).

Please report any applications that REQUIRE udisks or upower HERE in this bug, and I'll add a dependency on kdelibs[umagic].

Cheers!

(and yes I know the name of the useflag is silly, any better ideas?)
Comment 17 Andreas K. Hüttel archtester gentoo-dev 2011-06-22 21:07:33 UTC
(In reply to comment #16)

Update... the umagic useflag is gone again (it was a silly name after all).

Now, the udev useflag controls all the udev / upower / udisks dependencies. So, if you want to get rid of them, disable the udev useflag for kdelibs-4.6.4-r2 and later.
Comment 18 Luke-Jr 2011-06-22 21:09:48 UTC
Does that mean you lose udev-specific functionality too? If so, it's a bit absurd. udev doesn't have the same problems udisks/upower do.
Comment 19 Alec Meyers 2011-06-22 22:54:16 UTC
(In reply to comment #17)
> Update... the umagic useflag is gone again (it was a silly name after all).

Why not just have "udisks" and "upower" flags? ;)

udisks? ( sys-fs/udisks )
upower? ( sys-power/upower )


(Assuming KDE uses udev for things other than disks/power management)
Comment 20 Alec Meyers 2011-07-09 19:49:02 UTC
> [ebuild     U  ] kde-base/kdelibs-4.6.5 [4.6.4-r1] USE="-udisks% -upower%"

Thank you! :)
Comment 21 Theo Chatzimichos (RETIRED) archtester gentoo-dev Security 2011-07-09 20:16:36 UTC
@dilfridge: are deps done? should we close this?
Comment 22 Andreas K. Hüttel archtester gentoo-dev 2011-07-09 21:44:56 UTC
I think we can close it. Probably packages that need kdelibs[xxx] here already have a dependency on xxx anyway.
Comment 23 Alec Meyers 2011-07-09 22:36:39 UTC
You should probably add the udisks dependency for K3b - I compiled it and, as I suspected, it does not detect an Optical Drive.

(Back in the HAL days, it required hald to be started)
Comment 24 Homer 2011-07-10 00:58:02 UTC
No, udisks is not needed for k3b:

   export SOLID_HAL_LEGACY=1 k3b

Add to a global or local profile for convenience.

Obviously this needs HAL though, but IMHO it's better than depending on something that pulls in policykit/consolekit.

Unfortunately the word "legacy" suggests this option will eventually disappear, at which point I guess I'll have to switch to non-KDE apps, unless someone can figure out how to permanently disentangle policykit/consolekit from certain KDE apps (a fork perhaps).

But for now, at least, it works.
Comment 25 Homer 2011-07-10 01:00:01 UTC
Sorry, I meant:

export SOLID_HAL_LEGACY=1
k3b