LINUX.ORG.RU

сломался polkit

 , , ,


0

1

gentoo amd64, linux 3.4.4, systemd-44-r1, USE systemd в make.conf.
после последнего обновления polkit, dbus, pambase, они собрались с юзом systemd, в следствии отвалился powerdevil, networkmanager не подключает VPN-соединения

1.6.2
sys-auth/polkit-0.106-r5 kde nls pam systemd
sys-apps/dbus-1.6.2 X systemd
sys-auth/pambase-20120417-r1 consolekit cracklib sha512 systemd
net-misc/networkmanager-0.9.4.0-r2 bluetooth dhcpcd gnutls modemmanager ppp systemd
sys-apps/systemd-44-r1  acl lzma pam tcpd
в messages ежесекундно валится:
Jul  1 00:54:10 z560 dbus[395]: [system] Activating service name='org.freedesktop.UDisks' (using servicehelper)
Jul  1 00:54:10 z560 dbus[395]: [system] Successfully activated service 'org.freedesktop.UDisks'
Jul  1 00:54:10 z560 dbus[395]: [system] Activating via systemd: service name='org.freedesktop.PolicyKit1' unit='polkit.service'
Jul  1 00:54:10 z560 dbus[395]: [system] Activation via systemd failed for unit 'polkit.service': Unit polkit.service failed to load: File exists. See system logs and 'systemctl status polkit.service' for details.
ничего информативного:
# systemctl status polkit.service 
polkit.service - Authorization Manager
          Loaded: error (Reason: File exists)
          Active: inactive (dead)
          CGroup: name=systemd:/system/polkit.service
пересобирать, убрав USE systemd пробовал, не помогло

sys-auth/polkit-0.106-r5

О, они уже -r5 выпустили, а полкит так и не починили. Polkit 0.106 в Генте сломан, начиная с 0.106-r1 (ЧСХ, 0.106 работал, но был hard masked). С каждым новым -r его ломают по-разному, видимо, так и не починили, поэтому нужно откатиться на 0.104. Кстати, в 0.106 ещё и поменяли формат конфигов — теперь они пишутся на JavaScript. Судя по USE-флагу consolekit у sys-auth/pambase, consolekit у вас не выпилен, поэтому проблем при откате быть не должно.

gentoo_root ★★★★★
()

polkit, dbus, systemd, powerdevil, networkmanager

Это шабаш ненужностей?

anonymous
()
Ответ на: комментарий от gentoo_root

поменяли формат конфигов — теперь они пишутся на JavaScript

facetable

Как? Как можно было это придумать? Ну ещё понятно - XML, но JS в конфигах?

fragment
()
Ответ на: комментарий от fragment

Как? Как можно было это придумать? Ну ещё понятно - XML, но JS в конфигах?

Это что-то вроде такого:

polkit.addRule(function(action, subject) {
	polkit.log("action=" + action);
	polkit.log("subject=" + subject);
	var resultSuccess;
	if (subject.active) {
		resultSuccess = "yes";
	} else {
		resultSuccess = "auth_self_keep";
	}
	if (subject.isInGroup("wheel")) {
		if (action.id.indexOf("org.gnome.settingsdaemon.datetimemechanism.") == 0) {
			return resultSuccess;
		}
		if (action.id == "org.kde.kcontrol.kcmclock.save") {
			return resultSuccess;
		}
		if (action.id.indexOf("org.freedesktop.RealtimeKit1.") == 0) {
			return resultSuccess;
		}
		if (action.id == "org.freedesktop.udisks.filesystem-mount-system-internal") {
			return resultSuccess;
		}
		if (action.id.indexOf("org.freedesktop.hostname1.") == 0) {
			return resultSuccess;
		}
		if (action.id == "org.gnome.controlcenter.datetime.configure") {
			return resultSuccess;
		}
	}
	return "auth_admin";
})

В принципе, удобно, можно сложные условия писать и не напрягаться, но старые конфиги надо переписать в новом формате.

gentoo_root ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.