From 3aa2a3446370dfade43f7b0e66769676edb3ef11 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 16 Jan 2014 16:03:19 +0100
Subject: [LIBREPORT PATCH 07/11] define DBus config interfaces for all plugins
Closes #228
Related to abrt/abrt#751
Related to rhbz#1055610
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
configure.ac | 10 ++++++++++
doc/Makefile.am | 2 ++
doc/plugins-dbus/Makefile.am | 13 +++++++++++++
.../com.redhat.problems.configuration.bugzilla.xml.in | 17 +++++++++++++++++
.../com.redhat.problems.configuration.mailx.xml.in | 14 ++++++++++++++
.../com.redhat.problems.configuration.rhtsupport.xml.in | 16 ++++++++++++++++
.../com.redhat.problems.configuration.ureport.xml.in | 13 +++++++++++++
src/plugins/Makefile.am | 12 ++++++++----
8 files changed, 93 insertions(+), 4 deletions(-)
create mode 100644 doc/plugins-dbus/Makefile.am
create mode 100644 doc/plugins-dbus/com.redhat.problems.configuration.bugzilla.xml.in
create mode 100644 doc/plugins-dbus/com.redhat.problems.configuration.mailx.xml.in
create mode 100644 doc/plugins-dbus/com.redhat.problems.configuration.rhtsupport.xml.in
create mode 100644 doc/plugins-dbus/com.redhat.problems.configuration.ureport.xml.in
diff --git a/configure.ac b/configure.ac
index c372c7f..1c9c7ce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -211,6 +211,7 @@ CONF_DIR='${sysconfdir}/${PACKAGE_NAME}'
VAR_RUN='${localstatedir}/run'
PLUGINS_CONF_DIR='${sysconfdir}/${PACKAGE_NAME}/plugins'
REPORT_PLUGINS_CONF_DIR='${sysconfdir}/libreport/plugins'
+DEFAULT_REPORT_PLUGINS_CONF_DIR='${datadir}/${PACKAGE_NAME}/conf.d/plugins'
EVENTS_DIR='${pkgdatadir}/events'
EVENTS_DEFINITION_DIR='${sysconfdir}/${PACKAGE_NAME}/events.d'
EVENTS_CONF_DIR='${sysconfdir}/${PACKAGE_NAME}/events'
@@ -258,6 +259,13 @@ AC_ARG_ENABLE([userownsdumpdir],
[Configure abrt to be owner of dump directories (default: user owns dump dir)])],
[DUMP_DIR_OWNED_BY_USER=0])
+
+AC_ARG_WITH([dbusinterfacedir],
+ AS_HELP_STRING([--with-dbusinterfacedir=DIR], [Directory for dbus interface files]),
+ [], [with_dbusinterfacedir=${datadir}/dbus-1/interfaces])
+AC_SUBST([dbusinterfacedir], [$with_dbusinterfacedir])
+
+
AC_ARG_ENABLE(doxygen-docs,
AS_HELP_STRING([--enable-doxygen-docs],
[build DOXYGEN documentation (requires Doxygen)]),
@@ -292,6 +300,7 @@ AC_SUBST(CONF_DIR)
AC_SUBST(VAR_RUN)
AC_SUBST(PLUGINS_CONF_DIR)
AC_SUBST(REPORT_PLUGINS_CONF_DIR)
+AC_SUBST(DEFAULT_REPORT_PLUGINS_CONF_DIR)
AC_SUBST(EVENTS_DEFINITION_DIR)
AC_SUBST(EVENTS_CONF_DIR)
AC_SUBST(EVENTS_DIR)
@@ -331,6 +340,7 @@ AC_CONFIG_FILES([
src/client-python/Makefile
po/Makefile.in
doc/Makefile
+ doc/plugins-dbus/Makefile
src/workflows/Makefile
])
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 96964f0..7eb3065 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,3 +1,5 @@
+SUBDIRS = plugins-dbus
+
# silent rules for ASCIIDOC and XMLTO
ASCIIDOC_SILENT = $(ASCIIDOC_SILENT_$(V))
ASCIIDOC_SILENT_ = $(ASCIIDOC_SILENT_$(AM_DEFAULT_VERBOSITY))
diff --git a/doc/plugins-dbus/Makefile.am b/doc/plugins-dbus/Makefile.am
new file mode 100644
index 0000000..5624e81
--- /dev/null
+++ b/doc/plugins-dbus/Makefile.am
@@ -0,0 +1,13 @@
+INTERFACES_DIST_FILES=$(wildcard *.xml.in)
+
+%.xml: %.xml.in
+ cp $< $@
+
+dbusplugininterfacesdir = ${dbusinterfacedir}
+dist_dbusplugininterfaces_DATA = \
+ com.redhat.problems.configuration.bugzilla.xml \
+ com.redhat.problems.configuration.mailx.xml \
+ com.redhat.problems.configuration.rhtsupport.xml \
+ com.redhat.problems.configuration.ureport.xml
+
+EXTRA_DIST = ${INTERFACES_DIST_FILES}
diff --git a/doc/plugins-dbus/com.redhat.problems.configuration.bugzilla.xml.in b/doc/plugins-dbus/com.redhat.problems.configuration.bugzilla.xml.in
new file mode 100644
index 0000000..e9302b7
--- /dev/null
+++ b/doc/plugins-dbus/com.redhat.problems.configuration.bugzilla.xml.in
@@ -0,0 +1,17 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+
+<node name="/com/redhat/problems/configuration/bugzilla">
+ <annotation name="com.redhat.problems.ConfFile" value="/etc/libreport/plugins/bugzilla.conf" />
+ <annotation name="com.redhat.problems.DefaultConfFile" value="/usr/share/libreport/conf.d/plugins/bugzilla.conf" />
+
+ <interface name="com.redhat.problems.configuration.bugzilla">
+ <property name="BugzillaURL" type="s" access="readwrite" />
+ <property name="Login" type="s" access="readwrite" />
+ <property name="Password" type="s" access="readwrite" />
+ <property name="SSLVerify" type="b" access="readwrite" />
+ <property name="DontMatchComponents" type="as" access="readwrite" />
+ <property name="CreatePrivate" type="b" access="readwrite" />
+ <property name="PrivateGroup" type="as" access="readwrite" />
+ </interface>
+</node>
diff --git a/doc/plugins-dbus/com.redhat.problems.configuration.mailx.xml.in b/doc/plugins-dbus/com.redhat.problems.configuration.mailx.xml.in
new file mode 100644
index 0000000..80fd95f
--- /dev/null
+++ b/doc/plugins-dbus/com.redhat.problems.configuration.mailx.xml.in
@@ -0,0 +1,14 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+
+<node name="/com/redhat/problems/configuration/mailx">
+ <annotation name="com.redhat.problems.ConfFile" value="/etc/libreport/plugins/mailx.conf" />
+ <annotation name="com.redhat.problems.DefaultConfFile" value="/usr/share/libreport/conf.d/plugins/mailx.conf" />
+
+ <interface name="com.redhat.problems.configuration.mailx">
+ <property name="Subject" type="s" access="readwrite" />
+ <property name="EmailFrom" type="s" access="readwrite" />
+ <property name="EmailTo" type="s" access="readwrite" />
+ <property name="SendBinaryData" type="b" access="readwrite" />
+ </interface>
+</node>
diff --git a/doc/plugins-dbus/com.redhat.problems.configuration.rhtsupport.xml.in b/doc/plugins-dbus/com.redhat.problems.configuration.rhtsupport.xml.in
new file mode 100644
index 0000000..58d8084
--- /dev/null
+++ b/doc/plugins-dbus/com.redhat.problems.configuration.rhtsupport.xml.in
@@ -0,0 +1,16 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+
+<node name="/com/redhat/problems/configuration/rhtsupport">
+ <annotation name="com.redhat.problems.ConfFile" value="/etc/libreport/plugins/rhtsupport.conf" />
+ <annotation name="com.redhat.problems.DefaultConfFile" value="/usr/share/libreport/conf.d/plugins/rhtsupport.conf" />
+
+ <interface name="com.redhat.problems.configuration.rhtsupport">
+ <property name="URL" type="s" access="readwrite" />
+ <property name="Login" type="s" access="readwrite" />
+ <property name="Password" type="s" access="readwrite" />
+ <property name="BigFileURL" type="s" access="readwrite" />
+ <property name="BigSizeMB" type="i" access="readwrite" />
+ <property name="SSLVerify" type="b" access="readwrite" />
+ </interface>
+</node>
diff --git a/doc/plugins-dbus/com.redhat.problems.configuration.ureport.xml.in b/doc/plugins-dbus/com.redhat.problems.configuration.ureport.xml.in
new file mode 100644
index 0000000..58498c7
--- /dev/null
+++ b/doc/plugins-dbus/com.redhat.problems.configuration.ureport.xml.in
@@ -0,0 +1,13 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+
+<node name="/com/redhat/problems/configuration/ureport">
+ <annotation name="com.redhat.problems.ConfFile" value="/etc/libreport/plugins/ureport.conf" />
+ <annotation name="com.redhat.problems.DefaultConfFile" value="/usr/share/libreport/conf.d/plugins/ureport.conf" />
+
+ <interface name="com.redhat.problems.configuration.ureport">
+ <property name="URL" type="s" access="readwrite" />
+ <property name="SSLVerify" type="b" access="readwrite" />
+ <!-- <property name="ContactEmail" type="s" access="readwrite" /> -->
+ </interface>
+</node>
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
index 21d237e..7ec5219 100644
--- a/src/plugins/Makefile.am
+++ b/src/plugins/Makefile.am
@@ -23,22 +23,26 @@ pluginsconfdir = $(PLUGINS_CONF_DIR)
reportpluginsconfdir = $(REPORT_PLUGINS_CONF_DIR)
reporters_plugin_conf =
+reporters_plugin_format_conf =
if BUILD_BUGZILLA
-reporters_plugin_conf += bugzilla.conf \
- bugzilla_format.conf \
+reporters_plugin_conf += bugzilla.conf
+reporters_plugin_format_conf += bugzilla_format.conf \
bugzilla_formatdup.conf \
bugzilla_format_libreport.conf \
bugzilla_format_kernel.conf \
bugzilla_format_anaconda.conf \
bugzilla_formatdup_anaconda.conf
-
endif
-dist_reportpluginsconf_DATA = $(reporters_plugin_conf) \
+defaultreportpluginsconfdir = $(DEFAULT_REPORT_PLUGINS_CONF_DIR)
+dist_defaultreportpluginsconf_DATA = $(reporters_plugin_conf) \
rhtsupport.conf \
mailx.conf \
ureport.conf
+dist_reportpluginsconf_DATA = $(reporters_plugin_format_conf) \
+ $(dist_defaultreportpluginsconf_DATA)
+
eventsdir = $(EVENTS_DIR)
eventsconfdir = $(EVENTS_CONF_DIR)
--
1.8.3.1