Bug #1378
[lxde] package group has conflicting dependencies
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
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
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
Updated by isacdaavid over 6 years ago
isacdaavid wrote:
this suggests that
provides=()
orconflicts=()
is needed forlxdm
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.
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