[Pkg-utopia-maintainers] Bug#747105: policykit-1: depends on systemd - breaks libpolkit-backend

Woody woody at suwalski.net
Sun May 25 13:32:11 UTC 2014


Laurent Bigonville wrote:
> Woody wrote:
>> I see also a broken behaviour. I am doing a dual boot - with and
>> without systemd.
>> Till the libpolkit-backend has been linked against systemd, it has
>> worked just fine.
>>
>> The problem is now that backend is trying to blindly use systemd, and
>> fails if systemd is not running as init. With that change the user
>> authentication for network-manager or pcmanfm mounting are broken -
>> there is just a pcmanfm msgbox "Not Authorized".
>>
>> So *libpolkit-backend should first try to verify if systemd is an
>> init program, and if not - do not try to use it for authentication* -
>> it will definitely fail - so there is no point doing so.
>>
>> I understand that running without systemd is not a typical Debian
>> installation, but dependence on systemd should not be a mandatory for
>> Debian breaking everything either.
> The only thing that policykit expects is a registered logind session
> (you can use loginctl command to check if it exists), not systemd as
> PID1. Moreover, network-manager also using logind for session tracking
> since 0.9.8.8-1.
>
My point is that if I overwrite the libpolkit-backend 1.0.5-5 with the 
.so from 1.0.5-4 - the network manager and pcmanfm manage to 
authenticate (probably using consolekit)
>> It is an important bug.
> Could you please check if you have a logind session registered. Also
> which DM are you using to login?
Laurent, no DM. Imagine an embedded system starting X first, asking 
questions (and services ;-0) later...  Here is the logincmd data :

/woody> loginctl list-sessions
    SESSION        UID USER             SEAT
         c1       1000 user             seat0

1 sessions listed.

  /woody> loginctl session-status c1
c1 - user (1000)
            Since: Mon 2014-05-19 12:41:21 EDT; 5 days ago
           Leader: 1475 (su)
             Seat: seat0; vc1
              TTY: /dev/tty1
           Remote: user root
          Service: su; type tty; class user
            State: online
           CGroup: systemd:/user/1000.user/c1.session
                   ├─1475 /bin/su -c /usr/bin/faststartx -l user
                   ├─1503 /usr/bin/gnome-keyring-daemon --daemonize --login
                   ├─1507 /bin/sh /usr/bin/faststartx
                   ├─1511 xinit /usr/bin/fastsession -- /usr/bin/X11/X 
-nolist...
                   ├─1512 /usr/bin/X11/X :0 -nolisten tcp vt2
                   ├─1515 ck-launch-session dbus-launch --sh-syntax 
--exit-wit...
                   ├─1620 /usr/bin/lxsession -s LXDE -e LXDE
                   ├─1623 dbus-launch --sh-syntax --exit-with-session 
x-sessio...
                   ├─1624 /usr/bin/dbus-daemon --fork --print-pid 6 
--print-ad...
                   ├─1637 openbox --config-file 
/home/user/.config/openbox/lxd...
                   ├─1645 lxpanel --profile LXDE
                   ├─1661 /usr/bin/python 
/usr/share/system-config-printer/app...
                   ├─1744 nm-applet
                   ├─1757 eeeweather CYOW
                   ├─1785 /usr/lib/i386-linux-gnu/menu-cache/menu-cached
                   ├─1798 lxclipboard
                   ├─1852 /usr/bin/pulseaudio --start
                   ├─1896 /usr/lib/i386-linux-gnu/gconf/gconfd-2
                   ├─2216 lxterminal
                   ├─2217 gnome-pty-helper
                   ├─2218 /bin/bash
                   ├─2224 /bin/bash
                   ├─2228 sudo su -
                   ├─2231 su -
                   ├─2244 -su
                   ├─3677 /usr/lib/seamonkey/seamonkey
                   ├─5329 pcmanfm-0.9 --desktop --profile LXDE
                   ├─7684 loginctl session-status c1
                   └─7685 pager

And here is the magic of the system. I do not start systemd explicitly, 
I guess D-Bus is taking care of that:
/...
     1 ?        Ss     0:00 /sbin/fastinit
  1407 ?        Ss     0:00 /sbin/udevd --daemon
  1474 ?        Ss     0:04 /usr/bin/dbus-daemon --system --fork
  1475 ?        S      0:00 /bin/su -c /usr/bin/faststartx -l user
  1507 ?        Ss     0:00  \_ /bin/sh /usr/bin/faststartx
  1511 ?        S      0:00      \_ xinit /usr/bin/fastsession -- 
/usr/bin/X11/X -nolisten tcp vt2
  1512 tty2     Ss+   12:42          \_ /usr/bin/X11/X :0 -nolisten tcp vt2
  1515 ?        S      0:00          \_ ck-launch-session dbus-launch 
--sh-syntax --exit-with-session x-session-manager
  1620 ?        Sl     0:00              \_ /usr/bin/lxsession -s LXDE 
-e LXDE
  1637 ?        S      0:19                  \_ openbox --config-file 
/home/user/.config/openbox/lxde-rc.xml
  2216 ?        Sl     0:17                  |   \_ lxterminal
  2217 ?        S      0:00                  |       \_ gnome-pty-helper
  2218 pts/0    Ss     0:00                  |       \_ /bin/bash
  2228 pts/0    S      0:00                  |       |   \_ sudo su -
  2231 pts/0    S      0:00                  |       |       \_ su -
  2244 pts/0    S      0:00                  |       |           \_ -su
  7691 pts/0    R+     0:00                  |       | \_ ps -axfw
  2224 pts/1    Ss+    0:00                  |       \_ /bin/bash
  1645 ?        Sl     2:42                  \_ lxpanel --profile LXDE
  5329 ?        Sl     0:01                  \_ pcmanfm-0.9 --desktop 
--profile LXDE
  1486 ?        S      0:00 /lib/systemd/systemd-logind
  1503 ?        SLl    0:00 /usr/bin/gnome-keyring-daemon --daemonize 
--login
  1545 ?        Sl     0:00 /usr/sbin/console-kit-daemon --no-daemon
  1612 ?        Sl     0:00 /usr/lib/policykit-1/polkitd --no-debug
  1623 ?        S      0:00 dbus-launch --sh-syntax --exit-with-session 
x-session-manager
  1624 ?        Ss     0:00 /usr/bin/dbus-daemon --fork --print-pid 6 
--print-address 8 --session
  1629 ?        S      0:00 /sbin/getty 38400 tty3
  1661 ?        Sl     0:00 /usr/bin/python 
/usr/share/system-config-printer/applet.py
  1744 ?        SLl    0:07 nm-applet
  1757 ?        S      0:13 eeeweather CYOW
  1785 ?        Ssl    0:00 /usr/lib/i386-linux-gnu/menu-cache/menu-cached
  1798 ?        S      0:00 lxclipboard
  1852 ?        Sl     0:34 /usr/bin/pulseaudio --start
  1863 ?        S      0:00 syslogd
  1896 ?        S      0:00 /usr/lib/i386-linux-gnu/gconf/gconfd-2
  1897 ?        Ss     0:00 /usr/sbin/acpid
  1907 ?        Sl     0:01 /usr/lib/udisks/udisks-daemon --no-debug
  1918 ?        S      0:00  \_ udisks-daemon: not polling any devices
  1920 ?        Ss     0:00 /usr/sbin/cupsd -C /etc/cups/cupsd.conf
  1930 ?        Ssl    0:08 /usr/sbin/NetworkManager
  2035 ?        S      0:00  \_ /sbin/dhclient -d -sf 
/usr/lib/NetworkManager/nm-dhcp-client.action -pf 
/var/run/dhclient-wlan0.pid -
  1982 ?        S      0:01 /sbin/wpa_supplicant -u -s -O 
/var/run/wpa_supplicant
/...

Thanks, Woody



More information about the Pkg-utopia-maintainers mailing list