[libvirt] [dbus PATCH 0/7] additional cleanups and improvements

Pavel Hrdina (7): maint: cleanup gitignore maint: ignore dist tarball build: fix distcheck build: move test related bits to test/Makefile.am maint: move service file into data directory data: add system dbus service file data: add system dbus service policy configuration .gitignore | 21 +++++++++++---------- Makefile.am | 6 +----- configure.ac | 23 +++++++++++++++++++++++ data/Makefile.am | 33 +++++++++++++++++++++++++++++++++ data/session/org.libvirt.service.in | 3 +++ data/system/org.libvirt.conf | 12 ++++++++++++ data/system/org.libvirt.service.in | 4 ++++ libvirt-dbus.spec.in | 2 ++ src/Makefile.am | 17 ----------------- src/org.libvirt.service.in | 3 --- test/Makefile.am | 16 ++++++++++++++++ test/libvirttest.py | 2 +- 12 files changed, 106 insertions(+), 36 deletions(-) create mode 100644 data/Makefile.am create mode 100644 data/session/org.libvirt.service.in create mode 100644 data/system/org.libvirt.conf create mode 100644 data/system/org.libvirt.service.in delete mode 100644 src/org.libvirt.service.in create mode 100644 test/Makefile.am -- 2.13.4

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- .gitignore | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 0844b58..e4bd377 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,15 @@ +*.log *.o -*~ -vgcore.* *.pyc -__pycache__ -*.log *.trs +*Makefile +*Makefile.in +*~ +__pycache__ +vgcore.* /AUTHORS /INSTALL -/Makefile -/Makefile.in /aclocal.m4 /autom4te.cache/ /build-aux/ @@ -19,10 +19,8 @@ __pycache__ /config.status /configure /libvirt-dbus.spec -/src/.deps/ -/src/Makefile -/src/Makefile.in /stamp-h1 +/src/.deps/ /src/libvirt-dbus /src/org.libvirt.service -- 2.13.4

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e4bd377..72f3595 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ vgcore.* /config.log /config.status /configure +/libvirt-dbus-*.tar.gz /libvirt-dbus.spec /stamp-h1 -- 2.13.4

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- Makefile.am | 15 ++++++++++++++- test/libvirttest.py | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index abb154c..67e9d1e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -25,6 +25,19 @@ gen-AUTHORS: mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS ; \ fi -TESTS = \ +test_helpers = \ + test/libvirttest.py + +test_programs = \ test/test_manager.py \ test/test_domain.py + +TESTS = $(test_programs) + +EXTRA_DIST += \ + $(test_helpers) \ + $(test_programs) \ + test/travis-run + +TESTS_ENVIRONMENT = \ + abs_top_builddir=$(abs_top_builddir) diff --git a/test/libvirttest.py b/test/libvirttest.py index 706b352..f5c2020 100644 --- a/test/libvirttest.py +++ b/test/libvirttest.py @@ -8,7 +8,7 @@ import subprocess import time import unittest -root = os.path.dirname(os.path.dirname(__file__)) +root = os.environ.get('abs_top_builddir', os.path.dirname(os.path.dirname(__file__))) exe = os.path.join(root, 'src', 'libvirt-dbus') DBusGMainLoop(set_as_default=True) -- 2.13.4

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- Makefile.am | 19 +------------------ configure.ac | 1 + test/Makefile.am | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 18 deletions(-) create mode 100644 test/Makefile.am diff --git a/Makefile.am b/Makefile.am index 67e9d1e..8ba2137 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ -SUBDIRS = src +SUBDIRS = src test EXTRA_DIST = \ $(PACKAGE).spec \ @@ -24,20 +24,3 @@ gen-AUTHORS: < $(srcdir)/AUTHORS.in > $(distdir)/AUTHORS-tmp && \ mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS ; \ fi - -test_helpers = \ - test/libvirttest.py - -test_programs = \ - test/test_manager.py \ - test/test_domain.py - -TESTS = $(test_programs) - -EXTRA_DIST += \ - $(test_helpers) \ - $(test_programs) \ - test/travis-run - -TESTS_ENVIRONMENT = \ - abs_top_builddir=$(abs_top_builddir) diff --git a/configure.ac b/configure.ac index 6a123fb..8de0d35 100644 --- a/configure.ac +++ b/configure.ac @@ -46,4 +46,5 @@ AC_SUBST(DBUS_SERVICES_DIR) AC_OUTPUT(Makefile src/Makefile + test/Makefile libvirt-dbus.spec) diff --git a/test/Makefile.am b/test/Makefile.am new file mode 100644 index 0000000..a7f22d0 --- /dev/null +++ b/test/Makefile.am @@ -0,0 +1,16 @@ +test_helpers = \ + libvirttest.py + +test_programs = \ + test_manager.py \ + test_domain.py + +TESTS = $(test_programs) + +EXTRA_DIST = \ + $(test_helpers) \ + $(test_programs) \ + travis-run + +TESTS_ENVIRONMENT = \ + abs_top_builddir=$(abs_top_builddir) -- 2.13.4

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- .gitignore | 3 ++- Makefile.am | 2 +- configure.ac | 2 ++ data/Makefile.am | 15 +++++++++++++++ data/session/org.libvirt.service.in | 3 +++ src/Makefile.am | 17 ----------------- src/org.libvirt.service.in | 3 --- 7 files changed, 23 insertions(+), 22 deletions(-) create mode 100644 data/Makefile.am create mode 100644 data/session/org.libvirt.service.in delete mode 100644 src/org.libvirt.service.in diff --git a/.gitignore b/.gitignore index 72f3595..f223068 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ vgcore.* /libvirt-dbus.spec /stamp-h1 +/data/session/org.libvirt.service + /src/.deps/ /src/libvirt-dbus -/src/org.libvirt.service diff --git a/Makefile.am b/Makefile.am index 8ba2137..065334f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ -SUBDIRS = src test +SUBDIRS = data src test EXTRA_DIST = \ $(PACKAGE).spec \ diff --git a/configure.ac b/configure.ac index 8de0d35..158c5e9 100644 --- a/configure.ac +++ b/configure.ac @@ -29,6 +29,7 @@ AC_SUBST([LIBVIRT_DBUS_VERSION_INFO]) AC_SUBST([LIBVIRT_DBUS_VERSION_NUMBER]) AC_PROG_CC +AC_PROG_MKDIR_P AM_PROG_CC_C_O PKG_CHECK_MODULES(LIBVIRT, libvirt >= $LIBVIRT_REQUIRED) @@ -45,6 +46,7 @@ fi AC_SUBST(DBUS_SERVICES_DIR) AC_OUTPUT(Makefile + data/Makefile src/Makefile test/Makefile libvirt-dbus.spec) diff --git a/data/Makefile.am b/data/Makefile.am new file mode 100644 index 0000000..b0b30b9 --- /dev/null +++ b/data/Makefile.am @@ -0,0 +1,15 @@ +service_in_files = \ + session/org.libvirt.service.in +servicedir = $(DBUS_SERVICES_DIR) +service_DATA = $(service_in_files:.service.in=.service) + +EXTRA_DIST = \ + $(service_in_files) + +CLEANFILES = \ + $(service_DATA) + +session/org.libvirt.service: session/org.libvirt.service.in + $(AM_V_GEN)$(MKDIR_P) session && \ + sed -e 's|[@]bindir[@]|$(bindir)|g' < $< > $@-t && \ + mv $@-t $@ diff --git a/data/session/org.libvirt.service.in b/data/session/org.libvirt.service.in new file mode 100644 index 0000000..a8cb6a9 --- /dev/null +++ b/data/session/org.libvirt.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=org.libvirt +Exec=@bindir@/libvirt-dbus --session diff --git a/src/Makefile.am b/src/Makefile.am index 30e7a35..917c46d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -27,20 +27,3 @@ libvirt_dbus_LDFLAGS = \ libvirt_dbus_LDADD = \ $(SYSTEMD_LIBS) \ $(LIBVIRT_LIBS) - -service_in_files = \ - org.libvirt.service.in -servicedir = $(DBUS_SERVICES_DIR) -service_DATA = $(service_in_files:.service.in=.service) - -EXTRA_DIST += \ - $(service_in_files) - -CLEANFILES += \ - $(service_DATA) - -org.libvirt.service: org.libvirt.service.in - $(AM_V_GEN)sed \ - -e 's|[@]bindir[@]|$(bindir)|g' \ - < $< > $@-t && \ - mv $@-t $@ diff --git a/src/org.libvirt.service.in b/src/org.libvirt.service.in deleted file mode 100644 index a42539e..0000000 --- a/src/org.libvirt.service.in +++ /dev/null @@ -1,3 +0,0 @@ -[D-BUS Service] -Name=org.libvirt -Exec=@bindir@/libvirt-dbus -- 2.13.4

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- .gitignore | 1 + configure.ac | 10 ++++++++++ data/Makefile.am | 16 ++++++++++++++-- data/system/org.libvirt.service.in | 4 ++++ libvirt-dbus.spec.in | 1 + 5 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 data/system/org.libvirt.service.in diff --git a/.gitignore b/.gitignore index f223068..1d41949 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ vgcore.* /stamp-h1 /data/session/org.libvirt.service +/data/system/org.libvirt.service /src/.deps/ /src/libvirt-dbus diff --git a/configure.ac b/configure.ac index 158c5e9..65071f9 100644 --- a/configure.ac +++ b/configure.ac @@ -45,6 +45,16 @@ else fi AC_SUBST(DBUS_SERVICES_DIR) +AC_ARG_WITH(dbus-system-services, + [AC_HELP_STRING([--with-dbus-system-services=<dir>], + [where D-BUS system services directory is])]) +if ! test -z "$with_dbus_system_services" ; then + DBUS_SYSTEM_SERVICES_DIR="$with_dbus_system_services" +else + DBUS_SYSTEM_SERVICES_DIR="$datadir/dbus-1/system-services" +fi +AC_SUBST(DBUS_SYSTEM_SERVICES_DIR) + AC_OUTPUT(Makefile data/Makefile src/Makefile diff --git a/data/Makefile.am b/data/Makefile.am index b0b30b9..b8f1376 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -3,13 +3,25 @@ service_in_files = \ servicedir = $(DBUS_SERVICES_DIR) service_DATA = $(service_in_files:.service.in=.service) +system_service_in_files = \ + system/org.libvirt.service.in +system_servicedir = $(DBUS_SYSTEM_SERVICES_DIR) +system_service_DATA = $(system_service_in_files:.service.in=.service) + EXTRA_DIST = \ - $(service_in_files) + $(service_in_files) \ + $(system_service_in_files) CLEANFILES = \ - $(service_DATA) + $(service_DATA) \ + $(system_service_DATA) session/org.libvirt.service: session/org.libvirt.service.in $(AM_V_GEN)$(MKDIR_P) session && \ sed -e 's|[@]bindir[@]|$(bindir)|g' < $< > $@-t && \ mv $@-t $@ + +system/org.libvirt.service: system/org.libvirt.service.in + $(AM_V_GEN)$(MKDIR_P) system && \ + sed -e 's|[@]bindir[@]|$(bindir)|g' < $< > $@-t && \ + mv $@-t $@ diff --git a/data/system/org.libvirt.service.in b/data/system/org.libvirt.service.in new file mode 100644 index 0000000..08d32a2 --- /dev/null +++ b/data/system/org.libvirt.service.in @@ -0,0 +1,4 @@ +[D-BUS Service] +Name=org.libvirt +Exec=@bindir@/libvirt-dbus --system +User=root diff --git a/libvirt-dbus.spec.in b/libvirt-dbus.spec.in index c92b320..0f76de2 100644 --- a/libvirt-dbus.spec.in +++ b/libvirt-dbus.spec.in @@ -42,5 +42,6 @@ rm -rf $RPM_BUILD_ROOT %doc README COPYING AUTHORS NEWS %{_bindir}/libvirt-dbus %{_datadir}/dbus-1/services/org.libvirt.service +%{_datadir}/dbus-1/system-services/org.libvirt.service %changelog -- 2.13.4

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- configure.ac | 10 ++++++++++ data/Makefile.am | 8 +++++++- data/system/org.libvirt.conf | 12 ++++++++++++ libvirt-dbus.spec.in | 1 + 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 data/system/org.libvirt.conf diff --git a/configure.ac b/configure.ac index 65071f9..4c654fa 100644 --- a/configure.ac +++ b/configure.ac @@ -55,6 +55,16 @@ else fi AC_SUBST(DBUS_SYSTEM_SERVICES_DIR) +AC_ARG_WITH(dbus-system-policies, + [AC_HELP_STRING([--with-dbus-system-policies=<dir>], + [where D-BUS system policies directory is])]) +if ! test -z "$with_dbus_system_policies" ; then + DBUS_SYSTEM_POLICIES_DIR="$with_dbus_system_policies" +else + DBUS_SYSTEM_POLICIES_DIR="$datadir/dbus-1/system.d" +fi +AC_SUBST(DBUS_SYSTEM_POLICIES_DIR) + AC_OUTPUT(Makefile data/Makefile src/Makefile diff --git a/data/Makefile.am b/data/Makefile.am index b8f1376..58e855f 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -8,9 +8,15 @@ system_service_in_files = \ system_servicedir = $(DBUS_SYSTEM_SERVICES_DIR) system_service_DATA = $(system_service_in_files:.service.in=.service) +system_policy_files = \ + system/org.libvirt.conf +system_policydir = $(DBUS_SYSTEM_POLICIES_DIR) +system_policy_DATA = $(system_policy_files) + EXTRA_DIST = \ $(service_in_files) \ - $(system_service_in_files) + $(system_service_in_files) \ + $(system_policy_files) CLEANFILES = \ $(service_DATA) \ diff --git a/data/system/org.libvirt.conf b/data/system/org.libvirt.conf new file mode 100644 index 0000000..5cbc732 --- /dev/null +++ b/data/system/org.libvirt.conf @@ -0,0 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> + +<busconfig> + + <policy user="root"> + <allow own="org.libvirt"/> + <allow send_destination="org.libvirt"/> + </policy> + +</busconfig> diff --git a/libvirt-dbus.spec.in b/libvirt-dbus.spec.in index 0f76de2..5be4c22 100644 --- a/libvirt-dbus.spec.in +++ b/libvirt-dbus.spec.in @@ -43,5 +43,6 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/libvirt-dbus %{_datadir}/dbus-1/services/org.libvirt.service %{_datadir}/dbus-1/system-services/org.libvirt.service +%{_datadir}/dbus-1/system.d/org.libvirt.conf %changelog -- 2.13.4

On 08/08/2017 11:25 AM, Pavel Hrdina wrote:
Pavel Hrdina (7): maint: cleanup gitignore maint: ignore dist tarball build: fix distcheck build: move test related bits to test/Makefile.am maint: move service file into data directory data: add system dbus service file data: add system dbus service policy configuration
.gitignore | 21 +++++++++++---------- Makefile.am | 6 +----- configure.ac | 23 +++++++++++++++++++++++ data/Makefile.am | 33 +++++++++++++++++++++++++++++++++ data/session/org.libvirt.service.in | 3 +++ data/system/org.libvirt.conf | 12 ++++++++++++ data/system/org.libvirt.service.in | 4 ++++ libvirt-dbus.spec.in | 2 ++ src/Makefile.am | 17 ----------------- src/org.libvirt.service.in | 3 --- test/Makefile.am | 16 ++++++++++++++++ test/libvirttest.py | 2 +- 12 files changed, 106 insertions(+), 36 deletions(-) create mode 100644 data/Makefile.am create mode 100644 data/session/org.libvirt.service.in create mode 100644 data/system/org.libvirt.conf create mode 100644 data/system/org.libvirt.service.in delete mode 100644 src/org.libvirt.service.in create mode 100644 test/Makefile.am
You know... It might be nice to add something regarding how to build, test, use distcheck, etc. into HACKING. I know I can never remember for -perl and I can always go there to cut-n-paste... Including running "run" from libvirt master tree use those bits. FWIW: Even after applying these and building I get: $ git status On branch rvw-phrdina-dbus-more Your branch is ahead of 'master' by 7 commits. (use "git push" to publish your local commits) Untracked files: (use "git add <file>..." to include in what will be committed) src/org.libvirt.service nothing added to commit but untracked files present (use "git add" to track) So that may need to stay in patch 5 or somehow be magically removed if it exists since it's now moved/created elsewhere. Beyond that - things look OK to me. I can successfully build for each patch and they all look reasonable to me (although I'm far from an expert - I count on others for that!). Reviewed-by: John Ferlan <jferlan@redhat.com> John

On Mon, Aug 14, 2017 at 09:40:14PM -0400, John Ferlan wrote:
On 08/08/2017 11:25 AM, Pavel Hrdina wrote:
Pavel Hrdina (7): maint: cleanup gitignore maint: ignore dist tarball build: fix distcheck build: move test related bits to test/Makefile.am maint: move service file into data directory data: add system dbus service file data: add system dbus service policy configuration
.gitignore | 21 +++++++++++---------- Makefile.am | 6 +----- configure.ac | 23 +++++++++++++++++++++++ data/Makefile.am | 33 +++++++++++++++++++++++++++++++++ data/session/org.libvirt.service.in | 3 +++ data/system/org.libvirt.conf | 12 ++++++++++++ data/system/org.libvirt.service.in | 4 ++++ libvirt-dbus.spec.in | 2 ++ src/Makefile.am | 17 ----------------- src/org.libvirt.service.in | 3 --- test/Makefile.am | 16 ++++++++++++++++ test/libvirttest.py | 2 +- 12 files changed, 106 insertions(+), 36 deletions(-) create mode 100644 data/Makefile.am create mode 100644 data/session/org.libvirt.service.in create mode 100644 data/system/org.libvirt.conf create mode 100644 data/system/org.libvirt.service.in delete mode 100644 src/org.libvirt.service.in create mode 100644 test/Makefile.am
You know... It might be nice to add something regarding how to build, test, use distcheck, etc. into HACKING. I know I can never remember for -perl and I can always go there to cut-n-paste... Including running "run" from libvirt master tree use those bits.
It might be nice :) I'll add it to my TODO list. There is no need to have any "run" for libvirt-dbus. The steps are simple, just running "./autogen.sh && make && make check" but it makes sense to gave it in HACKING.
FWIW: Even after applying these and building I get:
$ git status On branch rvw-phrdina-dbus-more Your branch is ahead of 'master' by 7 commits. (use "git push" to publish your local commits) Untracked files: (use "git add <file>..." to include in what will be committed)
src/org.libvirt.service
nothing added to commit but untracked files present (use "git add" to track)
So that may need to stay in patch 5 or somehow be magically removed if it exists since it's now moved/created elsewhere.
I guess that it could confuse someone that suddenly there is some untracked file. I'll keep the line in gitignore.
Beyond that - things look OK to me. I can successfully build for each patch and they all look reasonable to me (although I'm far from an expert - I count on others for that!).
Reviewed-by: John Ferlan <jferlan@redhat.com>
Thanks, I'll wait for few days and if nobody else objects I'll push it. Pavel
participants (2)
-
John Ferlan
-
Pavel Hrdina