[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#956672: rtkit activation fails, because service unit is installed at the wrong place



Control: tags -1 -pending +patch
X-Debbugs-CC: sateler@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=?= <
gombasg@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.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: