Bug#956672: rtkit activation fails, because service unit is installed at the wrong place
Attached is the patch I used. - sed@ - Fom: Sedat Dilek Date: Wed, 22 Apr 2020 10:51:32 +0200 Subject: Fix systemunitdir variable to handle systemd service file location Suggested-by: Felipe Sateler --- rtkit-0.13.orig/meson.build +++ rtkit-0.13/meson.build @@ -58,7 +58,7 @@ if policydir == '' policydir = get_option('datadir') / 'polkit-1' / 'actions' endif -systemunitdir = '' +systemunitdir = get_option('systemd_systemunitdir') if systemunitdir == '' and systemd_dep.found() systemunitdir = systemd_dep.get_pkgconfig_variable( 'systemdsystemunitdir',
Bug#956672: rtkit activation fails, because service unit is installed at the wrong place
Hi, with the suggested change from Felipe... --- rtkit-0.13.orig/meson.build +++ rtkit-0.13/meson.build @@ -58,7 +58,7 @@ if policydir == '' policydir = get_option('datadir') / 'polkit-1' / 'actions' endif -systemunitdir = '' +systemunitdir = get_option('systemd_systemunitdir') if systemunitdir == '' and systemd_dep.found() systemunitdir = systemd_dep.get_pkgconfig_variable( 'systemdsystemunitdir', ... the rtkit systemd service file is now at the correct place: $ dpkg --contents rtkit_0.13-3.1~dileks_amd64.deb | grep rtkit-daemon.service -rw-r--r-- root/root 1024 2020-04-22 10:51 ./lib/systemd/system/rtkit-daemon.service My d/c: $ head -10 debian/changelog rtkit (0.13-3.1~dileks) UNRELEASED; urgency=medium * Non-maintainer upload. * meson.build: - Fix systemunitdir variable to handle systemd service file location * Build against libsystemd-dev (245.5-1). -- Sedat Dilek Wed, 22 Apr 2020 10:51:32 +0200 rtkit (0.13-3) unstable; urgency=medium Thanks. Regards, - Sedat -
Bug#956672: rtkit activation fails, because service unit is installed at the wrong place
On Sun, Apr 19, 2020 at 4:45 PM Boyuan Yang wrote: > Control: tags -1 -pending +patch > X-Debbugs-CC: sate...@debian.org > > Alright -- I think I got the reason. > > Since we switched to meson buildsystem, all variable handling happens in > meson.build. Starting at > > https://salsa.debian.org/multimedia-team/rtkit/-/blob/0a0f6d58f792f8dcf38f9b0b4cf925e9f4f4337d/meson.build#L61 > : > > systemunitdir = '' > if systemunitdir == '' and systemd_dep.found() > systemunitdir = systemd_dep.get_pkgconfig_variable( > 'systemdsystemunitdir', > default: '', > ) > endif > if systemunitdir == '' > systemunitdir = get_option('libdir') / 'systemd' / 'system' > endif > > OK, so the problem is that the `systemunitdir = ''` at the first line is wrong. It should be `systemunitdir = get_option('systemd_systemunitdir')` (like the polkit_actiondir block a few lines up). NMU welcome ;). Otherwise I'll take a look over the weekend. -- Saludos, Felipe Sateler
Bug#956672: rtkit activation fails, because service unit is installed at the wrong place
Hi, rtkit (0.13-3) entered Debian/testing and the systemd unit file is still at the wrong place. testing: /usr/lib/x86_64-linux-gnu/systemd/system/rtkit-daemon.service buster: /lib/systemd/system/rtkit-daemon.service Sometimes it needs 3+1 attempts :-). Bonne chance, - Sedat - [1] https://packages.debian.org/bullseye/amd64/rtkit/filelist [2] https://packages.debian.org/buster/amd64/rtkit/filelist
Bug#956672: rtkit activation fails, because service unit is installed at the wrong place
Control: tags -1 -pending +patch X-Debbugs-CC: sate...@debian.org Alright -- I think I got the reason. Since we switched to meson buildsystem, all variable handling happens in meson.build. Starting at https://salsa.debian.org/multimedia-team/rtkit/-/blob/0a0f6d58f792f8dcf38f9b0b4cf925e9f4f4337d/meson.build#L61 : systemunitdir = '' if systemunitdir == '' and systemd_dep.found() systemunitdir = systemd_dep.get_pkgconfig_variable( 'systemdsystemunitdir', default: '', ) endif if systemunitdir == '' systemunitdir = get_option('libdir') / 'systemd' / 'system' endif Now librt does NOT build-depend on systemd. As a result, meson cannot find /usr/share/pkgconfig/systemd.pc (provided by binary package systemd). This makes systemd_dep.found() to return false. Finally systemunitdir will be given as $libdir/systemd/system, which is wrong since $libdir is multi-archified. I would propose to add systemd as build-dependency. Personally I am okay with this, but downstream Devuan and other maintainers who want to keep away from systemd might not be happy. Another choice is to patch the buildsystem. I'd leave this decision to current rtkit maintainers. Besides: it would also be great if an optional build-dependency libpolkit- gobject-1-dev could be added as well. -- Regards, Boyuan Yang On Tue, 14 Apr 2020 08:52:48 +0200 =?utf-8?b?R8OhYm9yIEdvbWLDoXM=?= < gomb...@digikabel.hu> wrote: > Package: rtkit > Version: 0.13-2 > Severity: important > > Hi, > > syslog is full with: > > Apr 14 08:42:53 host dbus-daemon[940]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.158' (uid=1000 pid=156197 comm="/usr/lib/firefox/firefox -contentproc -childID 6 -") > Apr 14 08:42:53 host dbus-daemon[940]: [system] Activation via systemd failed for unit 'rtkit-daemon.service': Unit rtkit-daemon.service not found. > > ... and the reason is: > > # dpkg -L rtkit | grep rtkit-daemon.service > /usr/lib/x86_64-linux-gnu/systemd/system/rtkit-daemon.service > > The unit file should be under /usr/lib/systemd/system. signature.asc Description: This is a digitally signed message part
Bug#956672: rtkit activation fails, because service unit is installed at the wrong place
Package: rtkit Version: 0.13-2 Severity: important Hi, syslog is full with: Apr 14 08:42:53 host dbus-daemon[940]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.158' (uid=1000 pid=156197 comm="/usr/lib/firefox/firefox -contentproc -childID 6 -") Apr 14 08:42:53 host dbus-daemon[940]: [system] Activation via systemd failed for unit 'rtkit-daemon.service': Unit rtkit-daemon.service not found. ... and the reason is: # dpkg -L rtkit | grep rtkit-daemon.service /usr/lib/x86_64-linux-gnu/systemd/system/rtkit-daemon.service The unit file should be under /usr/lib/systemd/system. Regards, Gabor -- System Information: Debian Release: bullseye/sid APT prefers testing APT policy: (990, 'testing'), (500, 'stable'), (102, 'unstable'), (101, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.5.16 (SMP w/4 CPU cores; PREEMPT) Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE=en_US.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages rtkit depends on: ii adduser 3.118 ii dbus 1.12.16-2 ii libc62.30-4 ii libcap2 1:2.33-1 ii libdbus-1-3 1.12.16-2 ii libsystemd0 245.4-3 ii policykit-1 0.105-26 rtkit recommends no packages. rtkit suggests no packages. -- no debconf information