Project

General

Profile

Bug #1378

[lxde] package group has conflicting dependencies

bill-auger - almost 7 years ago - . Updated over 6 years ago.

Status:
fixed
Priority:
bug
Assignee:
% Done:

100%


Description

the 'lxde' group depends on both 'lxdm' and 'lxdm-consolekit' which conflict - this gives the following error when starting X:

GDBus.Error:org.freedesktop.ConsoleKit.Manager.Error.General: Unable to lookup session information for process '1406'

installing only the first 17 packages and excluding 'lxdm-consolekit' allows X to start correctly without this error

$ sudo pacman -Sw lxde
[sudo] password for bill: 
:: There are 18 members in group lxde:
:: Repository community
   1) gpicview  2) lxappearance  3) lxappearance-obconf  4) lxde-common  5) lxde-icon-theme  6) lxdm
   7) lxhotkey  8) lxinput  9) lxlauncher  10) lxmusic  11) lxpanel  12) lxrandr  13) lxsession
   14) lxtask  15) lxterminal  16) openbox  17) pcmanfm
:: Repository pcr
   18) lxdm-consolekit

....

looking for conflicting packages...
warning: removing 'lxdm' from target list because it conflicts with 'lxdm-consolekit'
warning: removing 'polkit' from target list because it conflicts with 'polkit-consolekit'

the package description for 'polkit-consolekit' indicates that is is intended for non-systemd systems

$ sudo pacman -Ss lxdm-consolekit
pcr/lxdm-consolekit 0.5.3-1.1 (lxde)
PolyciKit with ConsoleKit support for non-systemd systems

also - it should not go without saying that a standard distro package shuold not require anything from PCR

History

#1

Updated by isacdaavid over 6 years ago

this is strange. why does pacman decide to automatically remove one of the conflicting packages from the target list? also, why is there no menu to let you choose between packages that provide lxdm ?, which is to say, doesn't lxdm provide itself unless provides=() is specified? that would seem to contradict the PKGBUILD manual... very subtle and error-prone semantics.

this suggests that provides=() or conflicts=() is needed for lxdm too.

a standard distro package shuold not require anything from PCR

groups don't really require anything. they grow as packages decide to enlist themselves in them, so to speak. in any case, this wouldn't be a problem if the provides=() were set up correctly because you'd be presented with an option

#2

Updated by bill-auger over 6 years ago

it does seem reasonable that any package that has alternate "providers" should "provide" itself - if presumably that would prevent an alternate "provider" from over-riding it for no other reason without prompting the user - or maybe it must "conflict" with all other providers to prevent this? - whatever is necessary, lxdm should probably be the primary option when the '--noconfirm' option is used

$ pacman -Si lxdm           | grep -E "Groups|Provides|Depends|Conflicts|Replaces" 
Groups          : lxde
Provides        : None
Depends On      : gtk2  xorg-server
Conflicts With  : None
Replaces        : None

$ pacman -Si lxdm-consolekit | grep -E "Groups|Provides|Depends|Conflicts|Replaces" 
Groups          : lxde
Provides        : lxdm
Depends On      : gtk2  xorg-server  consolekit
Conflicts With  : lxdm
Replaces        : None

another option is to remove both 'lxdm' and 'lxdm-consolekit' from the 'lxde' group because it is not strictly necessary for the DE to install a DM - these are the packages installed on the LXDE LiveCD - LXDE runs well without any DM at all

$ pacman -Sgq lxde | grep -v lxdm
gpicview
lxappearance
lxappearance-obconf
lxde-common
lxde-icon-theme
lxhotkey
lxinput
lxlauncher
lxmusic
lxpanel
lxrandr
lxsession
lxtask
lxterminal
openbox
pcmanfm
#3

Updated by isacdaavid over 6 years ago

isacdaavid wrote:

this suggests that provides=() or conflicts=() is needed for lxdm too.

i take that back. repeating pkgname in provides=() is useless after all, and so is a mutual conflict when one already exists in one direction only.

according to https://wiki.parabola.nu/Hacking:Common_packaging_mistakes, members of the same group aren't supposed to conflict with one another. that would explain quite a bit.

#4

Updated by ovruni over 6 years ago

  • % Done changed from 0 to 100
  • Assignee set to ovruni
  • Status changed from open to fixed
  • Due date set to 2017-10-26

Also available in: Atom PDF