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


Reply via email to