Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 368945 - kde-4.6: impossible to switch off USE-flags -policykit -consolekit -device-mapper
Summary: kde-4.6: impossible to switch off USE-flags -policykit -consolekit -device-ma...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-27 20:20 UTC by Alex Efros
Modified: 2011-08-13 13:23 UTC (History)
1 user (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 Alex Efros 2011-05-27 20:20:11 UTC
Disabling USE-flags "-policykit -consolekit -device-mapper" doesn't work with kde 4.6.

With "-policykit -consolekit" it still require enabled USE-flag "policykit" for package sys-auth/consolekit and will install several polkit* and consolekit packages.

With "-device-mapper" it refuse to emerge at all.

I'm (as many others, I sure) using non-kde DE (fluxbox), but I still need some kde applications (okular, k3b, amarok) and thus need to install kdelibs. But I don't need neither polkit/consolekit nor device-mapper/lvm2. According to description of these packages and existence of mentioned USE-flags, these packages must be optional, it's hard to believe okular or k3b won't work without polkit or lvm2.

Reproducible: Always

Steps to Reproduce:
1. emerge -uDNpt world (while doing upgrade from kde 4.4 to 4.6)
2.
3.
Actual Results:  
home ~ # USE="-policykit -consolekit" emerge -uDNpt world
emerge: there are no ebuilds built with USE flags to satisfy ">=sys-auth/consolekit-0.4[policykit]".
!!! One of the following packages is required to complete your request:
- sys-auth/consolekit-0.4.4 (Change USE: +policykit)
(dependency required by "sys-auth/polkit-0.101-r1" [ebuild])
(dependency required by "sys-fs/udisks-1.0.2-r1" [ebuild])
(dependency required by "kde-base/kdelibs-4.6.2-r3" [ebuild])
(dependency required by "kde-base/kdesu-4.6.2[handbook]" [ebuild])
(dependency required by "kde-base/khelpcenter-4.6.2" [ebuild])

After adding "-policykit -consolekit" into /etc/make.conf and "sys-auth/consolekit policykit" into /etc/portage/package.use:

home ~ # emerge -uDNpt world
...
[nomerge      ] kde-base/libkcddb-4.6.2 [4.4.5] USE="(-aqua) -debug (-kdeenablefinal) (-kdeprefix) -musicbrainz"  
[nomerge      ]  kde-base/kdelibs-4.6.2-r3 [3.5.10-r10, 4.4.5-r4] USE="acl alsa bzip2 handbook mmx nls opengl spell sse sse2 ssl udev -3dnow (-altivec) (-aqua) -bindist -debug -doc -fam -jpeg2k (-kdeenablefinal) (-kdeprefix) -kerberos -lzma -openexr -policykit -semantic-desktop -test -zeroconf" 
[nomerge      ]   sys-power/upower-0.9.9  USE="-debug -doc (-introspection) -ios" 
[nomerge      ]    sys-auth/polkit-0.101-r1  USE="gtk kde nls pam -debug -doc -examples (-introspection)" 
[ebuild  N    ]     sys-auth/polkit-kde-agent-0.99.0  USE="(-aqua) -debug (-kdeenablefinal)" LINGUAS="ru -ca -ca@valencia -cs -da -de -en_GB -eo -es -et -fi -fr -ga -gl -hr -hu -is -it -ja -km -lt -mai -ms -nb -nds -nl -pa -pt -pt_BR -ro -sk -sr -sr@ijekavian -sr@ijekavianlatin -sr@latin -sv -th -tr -uk -zh_TW" 
[ebuild  N    ]      sys-auth/polkit-qt-0.99.0  USE="-debug -examples"
[ebuild  N    ]   sys-fs/udisks-1.0.2-r1  USE="bash-completion nls -debug -doc -remote-access" 
[ebuild  N    ]   sys-power/upower-0.9.9  USE="-debug -doc (-introspection) -ios" 
[nomerge      ] sys-fs/udisks-1.0.2-r1  USE="bash-completion nls -debug -doc -remote-access" 
[nomerge      ]  sys-auth/polkit-0.101-r1  USE="gtk kde nls pam -debug -doc -examples (-introspection)" 
[ebuild  N    ]   sys-auth/consolekit-0.4.4  USE="pam policykit -debug -doc -test" 
[ebuild  N    ]   gnome-extra/polkit-gnome-0.101-r1  USE="-doc -examples (-introspection)" 
[ebuild  N    ]    sys-auth/polkit-0.101-r1  USE="gtk kde nls pam -debug -doc -examples (-introspection)" 
[ebuild   R   ]  sys-block/parted-2.3  USE="device-mapper*"
[ebuild  N    ]   sys-fs/lvm2-2.02.73-r1  USE="lvm1 readline static -clvm (-cman) (-selinux)" 
...

home ~ # USE="-device-mapper" emerge -uDNpt world
emerge: there are no ebuilds built with USE flags to satisfy ">=sys-block/parted-1.8.8[device-mapper]".
!!! One of the following packages is required to complete your request:
- sys-block/parted-2.3 (Change USE: +device-mapper)
(dependency required by "sys-fs/udisks-1.0.2-r1" [ebuild])
(dependency required by "kde-base/kdelibs-4.6.2-r3" [ebuild])
(dependency required by "kde-base/kdesu-4.6.2[handbook]" [ebuild])
(dependency required by "kde-base/khelpcenter-4.6.2" [ebuild])


Expected Results:  
Packages sys-auth/polkit, sys-auth/polkit-kde-agent, sys-auth/polkit-qt, sys-auth/consolekit shouldn't be installed with USE-flags "-policykit -consolekit".

It should be possible to install kde 4.6 with disabled USE-flag "device-mapper".

Portage 2.1.9.42 (hardened/linux/x86, gcc-4.4.5, libc-0-r0, 2.6.37-hardened-r7-200 i686)
=================================================================
System uname: Linux-2.6.37-hardened-r7-200-i686-Intel-R-_Core-TM-2_CPU_6600_@_2.40GHz-with-gentoo-1.12.14
Timestamp of tree: Fri, 27 May 2011 14:00:01 +0000
app-shells/bash:     4.1_p9
dev-java/java-config: 2.1.11-r3
dev-lang/python:     2.7.1-r1, 3.1.3-r1
dev-util/cmake:      2.8.4-r1
sys-apps/baselayout: 1.12.14-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.81-r2
sys-kernel/linux-headers: 2.6.36.1
sys-libs/glibc:      2.11.3
virtual/os-headers:  0
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/icedtea6-bin-1.9.7/jre/lib/i386/jvm.cfg /service /usr/inferno/keydb /usr/inferno/lib /usr/inferno/services /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /var/log /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=prescott -O2 -pipe"
DISTDIR="/usr/portage-distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS=""
GENTOO_MIRRORS="ftp://ftp.df.lth.se/pub/gentoo/ http://ftp.df.lth.se/pub/gentoo/ http://gentoo.telcom.net.ua/"
LANG="ru_RU.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en ru"
MAKEOPTS="-j1"
PKGDIR="/usr/portage-packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude ChangeLog --delete-excluded"
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="/var/lib/layman/sunrise /var/lib/layman/kde-sunset /var/lib/layman/vmware /var/lib/layman/powerman /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac acl acpi aim alsa apache2 asf avi bash-completion berkdb bitmap-fonts bzip2 cddb cdr chm cli cracklib crypt cscope cue curl cxx dbus dga divx4linux djvu dlloader dri dts dvd dvdr dvdread encode fastcgi ffmpeg flac flash gd gdbm gif gnutls gpg gtk gtk2 hardened hddtemp iconv icq idn imagemagick imap imlib irc jabber javascript jpeg kde lm_sensors lzo mad mailbox mbox mmx mng modules motif mp3 mpeg msn mudflap musepack mysql ncurses network-cron nls nptl nptlonly nsplugin ogg opengl openmp oss pam pcre perl pic png pppd pwdb python qt qt3support qt4 quicktime readline rss rtc samba sdl session spell sse sse2 sse3 ssl ssse3 svg sysfs tcltk tcpd theora tiff truetype truetype-fonts type1-fonts unicode urandom vdpau vim-pager vim-syntax vim-with-x vorbis wavpack win32codecs x264 x86 xinetd xorg xv xvid xvmc yahoo zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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="log_config vhost_alias autoindex alias rewrite dir deflate filter mime negotiation auth_basic authn_file authz_host authz_user authz_groupfile cgi actions headers env setenvif" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en ru" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia nv fbdev vesa" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2011-05-27 20:35:50 UTC
You might try this to disable these flags globally:

  echo -e "-policykit\n-devicekit" >> /etc/portage/profile/use.force

or you can do it on a package basis:

  echo "kde-base/kdelibs -policykit" >> /etc/portage/profile/package.use.force

(mkdir the directory strucure in case it doesn't exist on your system)

Dunno why KDE team is imposing this kind of... stuff on us but at least there's a way to get rid of it without manually editing the ebuilds...
Comment 2 Alex Efros 2011-05-27 22:14:04 UTC
(In reply to comment #1)
> You might try this to disable these flags globally:

Sadly, but this doesn't works for me. Here is my setup:

home ~ # grep -PR 'policykit|devicekit|consolekit' /etc/make.conf /etc/portage/
/etc/make.conf:USE="${USE} -policykit -consolekit -device-mapper"
/etc/portage/package.use:sys-auth/consolekit policykit
/etc/portage/profile/package.use.force:kde-base/kdelibs -policykit
/etc/portage/profile/use.force:-policykit
/etc/portage/profile/use.force:-devicekit
/etc/portage/profile/use.force:-consolekit

BTW, there is no "devicekit" flag, or at least `euse -i` doesn't know it.
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2011-05-28 11:05:07 UTC
(In reply to comment #2)
> BTW, there is no "devicekit" flag, or at least `euse -i` doesn't know it.

Oh, right. I think I confused that one with -consolekit
Comment 4 Homer 2011-06-22 16:00:43 UTC
AFAICT this is due to udisks, which has a hard dependency on consolekit -> policykit.

"semantic-desktop" (file indexing) seems to be a hard dependency for many KDE apps too, and I don't need/want it.
Comment 5 Andreas K. Hüttel archtester gentoo-dev 2011-08-07 15:57:11 UTC
(In reply to comment #4)
> AFAICT this is due to udisks, which has a hard dependency on consolekit ->
> policykit.
> 
> "semantic-desktop" (file indexing) seems to be a hard dependency for many KDE
> apps too, and I don't need/want it.

WRT consolekit, kde-libs now has a useflag udisks. If you disable that you wont have any dependency on udisks and thereby consolekit. 

NOTE: udisks and consolekit is STRONGLY recommended if you run the KDE desktop environment.

WRT semantic-desktop, well some apps just need it and it becomes more and more integrated into kde with newer releases. I can imagine us removing the useflag and force-enabling the features in the (far) future...
Comment 6 Alex Efros 2011-08-07 19:00:11 UTC
Do I need these things (udisks, consolekit, polkit, semantic-desktop) to use applications like k3b, okular, amarok and kde games with fluxbox window manager?
Comment 7 Homer 2011-08-13 08:16:53 UTC
Same here. I only use Openbox, not KDE, and it's unlikely I ever will. I just happen to also run a handful of KDE apps, because there are no comparable alternatives (digiKam in particular).

I think KDE developers/maintainers need to consider use-cases where people only want certain KDE apps, without forcing full KDE-desktop dependencies on them.

I especially loath PolicyKit, for reasons that have been discussed at length elsewhere (e.g. Fedora). I much prefer to handle permissions and devices using more traditional, comprehensible and secure methods.

I also have no use for indexing whatsoever. It's just a resource hog AFAIAC. On the extremely rare occasion I forget where I put a file, I'll just use the "find" command, thanks.

Don't get me wrong, I really like a lot of KDE apps. I just wish KDE developers would stop assuming that everyone who runs KDE apps also runs a KDE desktop.

Perhaps this could be added as a feature request upstream.
Comment 8 Maciej Mrozowski gentoo-dev 2011-08-13 13:23:46 UTC
But the thing is you CAN disable those dependencies via USE flags if you really need just 3rd party apps and you're ready to grab the pieces. It's just a matter of turning-off some defaults.

And, do NOT use:

USE="-someflag" emerge sth

invocation because it WON'T record those changes - do it using package.use exclusively.

And even if you think you know you don't need some dependency and it's hardcoded in some way - you can still use package.provided (bugs resulted from such setting will be invalid however).