Hello community, here is the log from the commit of package libvirt-dbus for openSUSE:Factory checked in at 2020-10-06 17:09:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libvirt-dbus (Old) and /work/SRC/openSUSE:Factory/.libvirt-dbus.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt-dbus" Tue Oct 6 17:09:09 2020 rev:2 rq:839605 version:1.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libvirt-dbus/libvirt-dbus.changes 2020-07-20 20:59:19.624968655 +0200 +++ /work/SRC/openSUSE:Factory/.libvirt-dbus.new.4249/libvirt-dbus.changes 2020-10-06 17:10:50.129513037 +0200 @@ -1,0 +2,7 @@ +Mon Oct 5 13:55:52 UTC 2020 - Ludwig Nussel <[email protected]> + +- Actually require sysuser package +- Backport patch from git to autostart dbus interface using systemd + (libvirt-dbus-systemd.diff) + +------------------------------------------------------------------- New: ---- libvirt-dbus-systemd.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libvirt-dbus.spec ++++++ --- /var/tmp/diff_new_pack.Bl6Lre/_old 2020-10-06 17:10:50.785513605 +0200 +++ /var/tmp/diff_new_pack.Bl6Lre/_new 2020-10-06 17:10:50.785513605 +0200 @@ -24,15 +24,19 @@ URL: https://libvirt.org/ Source0: https://libvirt.org/sources/dbus/%{name}-%{version}.tar.xz Source1: system-user-%{name}.conf +# PATCH-FIX-UPSTREAM +Patch: libvirt-dbus-systemd.diff BuildRequires: gcc -BuildRequires: glib2-devel -BuildRequires: libvirt-devel -BuildRequires: libvirt-glib-devel BuildRequires: meson BuildRequires: polkit BuildRequires: python3-docutils BuildRequires: sysuser-tools +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(libvirt) +BuildRequires: pkgconfig(libvirt-glib-1.0) +BuildRequires: pkgconfig(systemd) Requires: polkit +Requires: user(libvirtdbus) %description This package provides D-Bus API for libvirt @@ -45,10 +49,10 @@ System user for libvirt-dbus. %prep -%autosetup +%autosetup -p1 %build -%meson +%meson -Dinit_script=systemd %meson_build %sysusers_generate_pre %{SOURCE1} system-user-%{name} @@ -56,12 +60,26 @@ %meson_install mkdir -p %{buildroot}%{_sysusersdir} install -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/system-user-%{name}.conf +ln -s service %{buildroot}%{_sbindir}/rclibvirt-dbus + +%pre +%service_add_pre libvirt-dbus.service + +%post +%service_add_post libvirt-dbus.service + +%preun +%service_del_preun libvirt-dbus.service + +%postun +%service_del_postun libvirt-dbus.service %pre -n system-user-%{name} -f system-user-%{name}.pre %files %doc AUTHORS.rst NEWS.rst %license COPYING +%{_sbindir}/rclibvirt-dbus %{_sbindir}/libvirt-dbus %{_datadir}/dbus-1/services/org.libvirt.service %{_datadir}/dbus-1/system-services/org.libvirt.service @@ -69,6 +87,8 @@ %{_datadir}/dbus-1/interfaces/org.libvirt.*.xml %{_datadir}/polkit-1/rules.d/libvirt-dbus.rules %{_mandir}/man8/libvirt-dbus.8%{?ext_man} +%{_unitdir}/libvirt-dbus.service +%{_userunitdir}/libvirt-dbus.service %files -n system-user-%{name} %{_sysusersdir}/system-user-%{name}.conf ++++++ libvirt-dbus-systemd.diff ++++++ >From 2c80b903e0522f992c8ae34a3a54bcdb4a9eb4fe Mon Sep 17 00:00:00 2001 From: Katerina Koukiou <[email protected]> Date: Fri, 28 Aug 2020 14:23:54 +0200 Subject: [PATCH] meson: generate systemd unit file for libvirt-dbus Reviewed-by: Pavel Hrdina <[email protected]> Signed-off-by: Katerina Koukiou <[email protected]> --- data/session/libvirt-dbus.service.in | 9 +++++++++ data/session/meson.build | 14 +++++++++++++- data/session/org.libvirt-systemd.service.in | 4 ++++ data/system/libvirt-dbus.service.in | 12 ++++++++++++ data/system/meson.build | 14 +++++++++++++- data/system/org.libvirt-systemd.service.in | 5 +++++ libvirt-dbus.spec.in | 5 ++++- meson.build | 14 ++++++++++++++ meson_options.txt | 1 + 9 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 data/session/libvirt-dbus.service.in create mode 100644 data/session/org.libvirt-systemd.service.in create mode 100644 data/system/libvirt-dbus.service.in create mode 100644 data/system/org.libvirt-systemd.service.in diff --git a/data/session/libvirt-dbus.service.in b/data/session/libvirt-dbus.service.in new file mode 100644 index 0000000..5d377ff --- /dev/null +++ b/data/session/libvirt-dbus.service.in @@ -0,0 +1,9 @@ +[Unit] +Description=Libvirt DBus Service + +[Service] +BusName=org.libvirt +ExecStart=@sbindir@/libvirt-dbus --session + +[Install] +Alias=org.libvirt.service diff --git a/data/session/meson.build b/data/session/meson.build index 240fcef..b3663a3 100644 --- a/data/session/meson.build +++ b/data/session/meson.build @@ -1,6 +1,18 @@ +if init_script == 'systemd' + configure_file( + configuration: conf, + input: 'libvirt-dbus.service.in', + output: 'libvirt-dbus.service', + install_dir: systemd_user_unit_dir, + ) + dbus_service_in = 'org.libvirt-systemd.service.in' +else + dbus_service_in = 'org.libvirt.service.in' +endif + configure_file( configuration: conf, - input: 'org.libvirt.service.in', + input: dbus_service_in, output: 'org.libvirt.service', install_dir: dbus_services_dir, ) diff --git a/data/session/org.libvirt-systemd.service.in b/data/session/org.libvirt-systemd.service.in new file mode 100644 index 0000000..12b3f00 --- /dev/null +++ b/data/session/org.libvirt-systemd.service.in @@ -0,0 +1,4 @@ +[D-BUS Service] +Name=org.libvirt +Exec=/bin/false +SystemdService=libvirt-dbus.service diff --git a/data/system/libvirt-dbus.service.in b/data/system/libvirt-dbus.service.in new file mode 100644 index 0000000..9654571 --- /dev/null +++ b/data/system/libvirt-dbus.service.in @@ -0,0 +1,12 @@ +[Unit] +Description=Libvirt DBus Service + +[Service] +BusName=org.libvirt +DynamicUser=yes +User=@SYSTEM_USER@ +Group=@SYSTEM_USER@ +ExecStart=@sbindir@/libvirt-dbus --system + +[Install] +Alias=org.libvirt.service diff --git a/data/system/meson.build b/data/system/meson.build index 74f1949..a75cabb 100644 --- a/data/system/meson.build +++ b/data/system/meson.build @@ -1,6 +1,18 @@ +if init_script == 'systemd' + configure_file( + configuration: conf, + input: 'libvirt-dbus.service.in', + output: 'libvirt-dbus.service', + install_dir: systemd_system_unit_dir, + ) + dbus_service_in = 'org.libvirt-systemd.service.in' +else + dbus_service_in = 'org.libvirt.service.in' +endif + configure_file( configuration: conf, - input: 'org.libvirt.service.in', + input: dbus_service_in, output: 'org.libvirt.service', install_dir: dbus_system_services_dir, ) diff --git a/data/system/org.libvirt-systemd.service.in b/data/system/org.libvirt-systemd.service.in new file mode 100644 index 0000000..ba260b2 --- /dev/null +++ b/data/system/org.libvirt-systemd.service.in @@ -0,0 +1,5 @@ +[D-BUS Service] +Name=org.libvirt +Exec=/bin/false +User=@SYSTEM_USER@ +SystemdService=libvirt-dbus.service diff --git a/libvirt-dbus.spec.in b/libvirt-dbus.spec.in index 4e6ff85..a35e0f9 100644 --- a/libvirt-dbus.spec.in +++ b/libvirt-dbus.spec.in @@ -40,7 +40,8 @@ This package provides D-Bus API for libvirt %autosetup %build -%meson +%meson \ + -Dinit_script=systemd %meson_build %install @@ -57,6 +58,8 @@ exit 0 %doc AUTHORS.rst NEWS.rst %license COPYING %{_sbindir}/libvirt-dbus +%{_unitdir}/libvirt-dbus.service +%{_prefix}/lib/systemd/user/libvirt-dbus.service %{_datadir}/dbus-1/services/org.libvirt.service %{_datadir}/dbus-1/system-services/org.libvirt.service %{_datadir}/dbus-1/system.d/org.libvirt.conf diff --git a/meson.build b/meson.build index e765ed6..939b716 100644 --- a/meson.build +++ b/meson.build @@ -12,6 +12,20 @@ project( prefix = get_option('prefix') datadir = prefix / get_option('datadir') sbindir = prefix / get_option('sbindir') +if get_option('init_script') == 'check' + if find_program('systemctl', required: false).found() + init_script = 'systemd' + else + init_script = 'other' + endif +else + init_script = get_option('init_script') +endif +if init_script == 'systemd' + systemd_dep = dependency('systemd') + systemd_user_unit_dir = systemd_dep.get_pkgconfig_variable('systemduserunitdir') + systemd_system_unit_dir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir') +endif opt_dirs = [ 'dbus_interfaces', diff --git a/meson_options.txt b/meson_options.txt index 36e8065..41d348f 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -4,3 +4,4 @@ option('dbus_system_policies', type: 'string', value: 'dbus-1/system.d', descrip option('dbus_interfaces', type: 'string', value: 'dbus-1/interfaces', description: 'D-Bus interfaces directory') option('polkit_rules', type: 'string', value: 'polkit-1/rules.d', description: 'polkit rules directory') option('system_user', type: 'string', value: 'libvirtdbus', description: 'username to run system instance as') +option('init_script', type: 'combo', choices: ['systemd', 'other', 'check'], value: 'check', description: 'Style of init script to install') -- 2.26.2
