[devel] polkit without systemd

Alexey Shabalin a.shabalin на gmail.com
Пн Сен 1 17:02:42 MSK 2014


День добрый.
После миграции polkit с ConsoleKit на logind(часть systemd), некоторые
популярные DE требуют перехода на systemd. При работе под SysV могут
наблюдаться различные проблемы.
Объезд некоторых проблем описан тут: http://www.altlinux.org/Sysvinit
Для полноценной работы возможные 2 варианта:
1) вернуть поддержку CK в polkit, и обеспечить выбор между CK и logind в runtime
патч существует:
https://bugs.freedesktop.org/show_bug.cgi?id=63504

2) обеспечить работу logind под SysV
- вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch:
--------------------
if ! mountpoint -q /sys/fs/cgroup; then
    mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup
fi
if ! mountpoint -q /sys/fs/cgroup/systemd; then
    mkdir -p /sys/fs/cgroup/systemd
    mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd
/sys/fs/cgroup/systemd
fi
mkdir -p /run/systemd

exec /lib/systemd/systemd-logind
------------------------

- в этом скрипте,при монтировании  /sys/fs/cgroup,
/sys/fs/cgroup/systemd, мы обманываем logind, как будто он работает
под systemd. Но из этого обмана надо исключить тех, кого мы обманывать
не хотим -  service, chkconfig
service использует утилиту sd_booted. её лучше переписать, и научить
использовать функцию sd_booted из libsystemd (например так
http://git.pld-linux.org/?p=packages/systemd.git;a=blob;f=systemd_booted.c)
Или я могу в systemd-utils положить эту утилиту systemd_booted и
переключиться на её использование.
Аналогично надо поправить chkconfig.

У кого есть какие предложения, пожелания, возражения?

-- 
Alexey Shabalin


Подробная информация о списке рассылки Devel