Compare commits
No commits in common. 'c9' and 'i10' have entirely different histories.
@ -1 +1 @@
|
|||||||
SOURCES/libreport-2.15.2.tar.gz
|
SOURCES/libreport-2.17.14.tar.gz
|
||||||
|
@ -1 +1 @@
|
|||||||
664ec7534bb2207e380d5b34f2260d41abb1a31b SOURCES/libreport-2.15.2.tar.gz
|
16ab40e0b80703799728e27705ad2f6f65701c8d SOURCES/libreport-2.17.14.tar.gz
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
From 3389fbeb5cf00fd515049a6a9db3c5cc4ca383a0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Srb <michal@redhat.com>
|
|
||||||
Date: Thu, 26 Aug 2021 19:20:52 +0200
|
|
||||||
Subject: [PATCH] Change the default Bugzilla group
|
|
||||||
|
|
||||||
Signed-off-by: Michal Srb <michal@redhat.com>
|
|
||||||
---
|
|
||||||
configure.ac | 6 +++---
|
|
||||||
src/plugins/bugzilla.conf | 4 ++--
|
|
||||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index fa97fa78..aa383083 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -98,14 +98,14 @@ AC_PATH_PROG([XMLRPC], [xmlrpc-c-config], [no])
|
|
||||||
AC_ARG_WITH([redhatbugzillacreateprivate],
|
|
||||||
AS_HELP_STRING([--with-redhatbugzillacreateprivate="yes/no"],
|
|
||||||
[Whether the Red Hat Bugzilla plugin should open
|
|
||||||
- bugs private by default ("no")]),
|
|
||||||
- [], [with_redhatbugzillacreateprivate="no"])
|
|
||||||
+ bugs private by default ("yes")]),
|
|
||||||
+ [], [with_redhatbugzillacreateprivate="yes"])
|
|
||||||
AC_SUBST([RED_HAT_BUGZILLA_CREATE_PRIVATE], [$with_redhatbugzillacreateprivate])
|
|
||||||
|
|
||||||
AC_ARG_WITH([redhatbugzillaprivategroups],
|
|
||||||
AS_HELP_STRING([--with-redhatbugzillaprivategroups="CSV"],
|
|
||||||
[Name of groups separated by comma]),
|
|
||||||
- [], [with_redhatbugzillaprivategroups="fedora_contrib_private"])
|
|
||||||
+ [], [with_redhatbugzillaprivategroups="redhat"])
|
|
||||||
AC_SUBST([RED_HAT_BUGZILLA_PRIVATE_GROUPS], [$with_redhatbugzillaprivategroups])
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/plugins/bugzilla.conf b/src/plugins/bugzilla.conf
|
|
||||||
index a7727392..dbbbd05c 100644
|
|
||||||
--- a/src/plugins/bugzilla.conf
|
|
||||||
+++ b/src/plugins/bugzilla.conf
|
|
||||||
@@ -22,5 +22,5 @@ Password =
|
|
||||||
DontMatchComponents = selinux-policy
|
|
||||||
|
|
||||||
# for more info about these settings see: https://github.com/abrt/abrt/wiki/FAQ#creating-private-bugzilla-tickets
|
|
||||||
-# CreatePrivate = no
|
|
||||||
-# PrivateGroups = fedora_contrib_private
|
|
||||||
+# CreatePrivate = yes
|
|
||||||
+# PrivateGroups = redhat
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -0,0 +1,677 @@
|
|||||||
|
From 01f2b58005877f46e25a8620b0585c5702304b13 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eugene Zamriy <ezamriy@msvsphere.ru>
|
||||||
|
Date: Mon, 20 Mar 2023 23:50:30 +0300
|
||||||
|
Subject: [PATCH] MSVSphere plugin initial implementation
|
||||||
|
|
||||||
|
---
|
||||||
|
doc/Makefile.am | 5 +-
|
||||||
|
doc/msvsphere_report_event.conf.5 | 1 +
|
||||||
|
doc/report_MSVSphereBugTracker.conf.txt | 45 +++++++++++++
|
||||||
|
doc/report_msvsphere.conf.txt | 41 ++++++++++++
|
||||||
|
po/POTFILES.in | 10 +++
|
||||||
|
src/plugins/Makefile.am | 12 ++--
|
||||||
|
src/plugins/mantisbt.c | 4 +-
|
||||||
|
src/plugins/msvsphere_report_event.conf | 38 +++++++++++
|
||||||
|
src/plugins/report_MSVSphereBugTracker.conf | 4 ++
|
||||||
|
src/plugins/report_MSVSphereBugTracker.xml.in | 66 +++++++++++++++++++
|
||||||
|
src/plugins/reporter-mantisbt.c | 4 +-
|
||||||
|
src/plugins/reporter-ureport.c | 2 +-
|
||||||
|
src/plugins/ureport.conf | 2 +-
|
||||||
|
src/workflows/Makefile.am | 25 ++++++-
|
||||||
|
src/workflows/report_msvsphere.conf | 31 +++++++++
|
||||||
|
src/workflows/workflow_MSVSphereCCpp.xml.in | 12 ++++
|
||||||
|
src/workflows/workflow_MSVSphereJava.xml.in | 11 ++++
|
||||||
|
.../workflow_MSVSphereJavaScript.xml.in | 11 ++++
|
||||||
|
.../workflow_MSVSphereKerneloops.xml.in | 11 ++++
|
||||||
|
.../workflow_MSVSphereLibreport.xml.in | 9 +++
|
||||||
|
src/workflows/workflow_MSVSpherePython.xml.in | 11 ++++
|
||||||
|
.../workflow_MSVSpherePython3.xml.in | 11 ++++
|
||||||
|
src/workflows/workflow_MSVSphereVmcore.xml.in | 12 ++++
|
||||||
|
src/workflows/workflow_MSVSphereXorg.xml.in | 9 +++
|
||||||
|
24 files changed, 373 insertions(+), 14 deletions(-)
|
||||||
|
create mode 100644 doc/msvsphere_report_event.conf.5
|
||||||
|
create mode 100644 doc/report_MSVSphereBugTracker.conf.txt
|
||||||
|
create mode 100644 doc/report_msvsphere.conf.txt
|
||||||
|
create mode 100644 src/plugins/msvsphere_report_event.conf
|
||||||
|
create mode 100644 src/plugins/report_MSVSphereBugTracker.conf
|
||||||
|
create mode 100644 src/plugins/report_MSVSphereBugTracker.xml.in
|
||||||
|
create mode 100644 src/workflows/report_msvsphere.conf
|
||||||
|
create mode 100644 src/workflows/workflow_MSVSphereCCpp.xml.in
|
||||||
|
create mode 100644 src/workflows/workflow_MSVSphereJava.xml.in
|
||||||
|
create mode 100644 src/workflows/workflow_MSVSphereJavaScript.xml.in
|
||||||
|
create mode 100644 src/workflows/workflow_MSVSphereKerneloops.xml.in
|
||||||
|
create mode 100644 src/workflows/workflow_MSVSphereLibreport.xml.in
|
||||||
|
create mode 100644 src/workflows/workflow_MSVSpherePython.xml.in
|
||||||
|
create mode 100644 src/workflows/workflow_MSVSpherePython3.xml.in
|
||||||
|
create mode 100644 src/workflows/workflow_MSVSphereVmcore.xml.in
|
||||||
|
create mode 100644 src/workflows/workflow_MSVSphereXorg.xml.in
|
||||||
|
|
||||||
|
diff --git a/doc/Makefile.am b/doc/Makefile.am
|
||||||
|
index 675d93a..74d101a 100644
|
||||||
|
--- a/doc/Makefile.am
|
||||||
|
+++ b/doc/Makefile.am
|
||||||
|
@@ -54,12 +54,14 @@ MAN5_TXT = \
|
||||||
|
report_event.conf.txt \
|
||||||
|
report_fedora.conf.txt \
|
||||||
|
report_centos.conf.txt \
|
||||||
|
+ report_msvsphere.conf.txt \
|
||||||
|
report_Logger.conf.txt \
|
||||||
|
report_uReport.conf.txt \
|
||||||
|
report_logger.conf.txt \
|
||||||
|
report_mailx.conf.txt \
|
||||||
|
report_uploader.conf.txt \
|
||||||
|
report_Uploader.conf.txt \
|
||||||
|
+ report_MSVSphereBugTracker.conf.txt \
|
||||||
|
report_CentOSBugTracker.conf.txt \
|
||||||
|
uploader_event.conf.txt \
|
||||||
|
ureport.conf.txt \
|
||||||
|
@@ -73,7 +75,8 @@ EXTRA_DIST += $(MAN1_BUGZILLA) $(MAN5_BUGZILLA)
|
||||||
|
endif
|
||||||
|
|
||||||
|
MAN5_PREFORMATTED =
|
||||||
|
-MAN5_PREFORMATTED += centos_report_event.conf.5
|
||||||
|
+MAN5_PREFORMATTED += centos_report_event.conf.5 \
|
||||||
|
+ msvsphere_report_event.conf.5
|
||||||
|
|
||||||
|
# Manual pages are generated from .txt via Docbook
|
||||||
|
man1_MANS = ${MAN1_TXT:%.txt=%.1}
|
||||||
|
diff --git a/doc/msvsphere_report_event.conf.5 b/doc/msvsphere_report_event.conf.5
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..71c3fcb
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/doc/msvsphere_report_event.conf.5
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+.so man5/report_event.conf.5
|
||||||
|
diff --git a/doc/report_MSVSphereBugTracker.conf.txt b/doc/report_MSVSphereBugTracker.conf.txt
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..ddd5bc4
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/doc/report_MSVSphereBugTracker.conf.txt
|
||||||
|
@@ -0,0 +1,45 @@
|
||||||
|
+report_MSVSphereBugTracker.conf(5)
|
||||||
|
+==================================
|
||||||
|
+
|
||||||
|
+NAME
|
||||||
|
+----
|
||||||
|
+report_MSVSphereBugTracker.conf - libreport's configuration file for 'report_MSVSphereBugTracker' events.
|
||||||
|
+
|
||||||
|
+DESCRIPTION
|
||||||
|
+-----------
|
||||||
|
+This configuration file contains values for options defined in
|
||||||
|
+/usr/share/libreport/events/report_MSVSphereBugTracker.xml
|
||||||
|
+
|
||||||
|
+Configuration file lines should have 'PARAM = VALUE' format. The parameters are:
|
||||||
|
+
|
||||||
|
+'Mantisbt_Login'::
|
||||||
|
+ Login to MantisBT account.
|
||||||
|
+
|
||||||
|
+'Mantisbt_Password'::
|
||||||
|
+ Password to MantisBT account.
|
||||||
|
+
|
||||||
|
+'Mantisbt_MantisbtURL'::
|
||||||
|
+ MantisBT HTTP(S) address. (default: https://bugs.msvsphere-os.ru)
|
||||||
|
+
|
||||||
|
+'Mantisbt_SSLVerify'::
|
||||||
|
+ Use yes/true/on/1 to verify server's SSL certificate. (default: yes)
|
||||||
|
+
|
||||||
|
+'Mantisbt_Project'::
|
||||||
|
+ Project issue field value. Useful if you needed different project than specified in /etc/os-release
|
||||||
|
+
|
||||||
|
+'Mantisbt_ProjectVersion'::
|
||||||
|
+ Version issue field value. Useful if you needed different project version than specified in /etc/os-release
|
||||||
|
+
|
||||||
|
+'http_proxy'::
|
||||||
|
+ the proxy server to use for HTTP
|
||||||
|
+
|
||||||
|
+'HTTPS_PROXY'::
|
||||||
|
+ the proxy server to use for HTTPS
|
||||||
|
+
|
||||||
|
+SEE ALSO
|
||||||
|
+--------
|
||||||
|
+report_event.conf(5), reporter-mantisbt(1)
|
||||||
|
+
|
||||||
|
+AUTHOR
|
||||||
|
+------
|
||||||
|
+* MSVSphere Packaging Team
|
||||||
|
diff --git a/doc/report_msvsphere.conf.txt b/doc/report_msvsphere.conf.txt
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..90259d4
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/doc/report_msvsphere.conf.txt
|
||||||
|
@@ -0,0 +1,41 @@
|
||||||
|
+report_msvsphere.conf(5)
|
||||||
|
+========================
|
||||||
|
+
|
||||||
|
+NAME
|
||||||
|
+----
|
||||||
|
+report_msvsphere.conf - configuration file for libreport.
|
||||||
|
+
|
||||||
|
+DESCRIPTION
|
||||||
|
+-----------
|
||||||
|
+This configuration file specifies which of the reporting work flow definitions
|
||||||
|
+are applicable for all problems types on MSVSphere.
|
||||||
|
+
|
||||||
|
+All applicable work flows are presented to users in User Interface as
|
||||||
|
+possibilities for processing of any problems. A particular work flow becomes
|
||||||
|
+applicable if its conditions are satisfied.
|
||||||
|
+
|
||||||
|
+This configuration file consists from one condition per line.
|
||||||
|
+
|
||||||
|
+Each condition line must start with EVENT=workflow_NAME where "workflow_" is
|
||||||
|
+constant prefix and "workflow_NAME" is base name of path to reporting work flow
|
||||||
|
+configuration file.
|
||||||
|
+
|
||||||
|
+The rest of condition line has form VAR=VAL, VAR!=VAL or VAL~=REGEX, where VAR
|
||||||
|
+is a name of problem directory element to be checked (for example,
|
||||||
|
+"executable", "package", hostname" etc). The condition may consists
|
||||||
|
+from as many element checks as it is necessary.
|
||||||
|
+
|
||||||
|
+EXAMPLES
|
||||||
|
+--------
|
||||||
|
+Condition line::
|
||||||
|
+ EVENT=workflow_MSVSphereCCpp analyzer=CCpp
|
||||||
|
+
|
||||||
|
+The condition line above expects existence of /usr/share/libreport/workflows/workflow_MSVSphereCCpp.xml
|
||||||
|
+
|
||||||
|
+SEE ALSO
|
||||||
|
+--------
|
||||||
|
+report-gtk(1)
|
||||||
|
+
|
||||||
|
+AUTHOR
|
||||||
|
+------
|
||||||
|
+* MSVSphere Packaging Team
|
||||||
|
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
||||||
|
index dc11673..9723c63 100644
|
||||||
|
--- a/po/POTFILES.in
|
||||||
|
+++ b/po/POTFILES.in
|
||||||
|
@@ -42,6 +42,7 @@ src/plugins/reporter-systemd-journal.c
|
||||||
|
src/plugins/reporter-upload.c
|
||||||
|
src/plugins/reporter-mantisbt.c
|
||||||
|
src/plugins/report_CentOSBugTracker.xml.in
|
||||||
|
+src/plugins/report_MSVSphereBugTracker.xml.in
|
||||||
|
src/plugins/report_Kerneloops.xml.in
|
||||||
|
src/plugins/report_Logger.xml.in
|
||||||
|
src/plugins/report_Mailx.xml.in
|
||||||
|
@@ -81,6 +82,15 @@ src/workflows/workflow_FedoraXorg.xml.in
|
||||||
|
src/workflows/workflow_FedoraLibreport.xml.in
|
||||||
|
src/workflows/workflow_FedoraJava.xml.in
|
||||||
|
src/workflows/workflow_FedoraJavaScript.xml.in
|
||||||
|
+src/workflows/workflow_MSVSphereCCpp.xml.in
|
||||||
|
+src/workflows/workflow_MSVSphereJava.xml.in
|
||||||
|
+src/workflows/workflow_MSVSphereJavaScript.xml.in
|
||||||
|
+src/workflows/workflow_MSVSphereKerneloops.xml.in
|
||||||
|
+src/workflows/workflow_MSVSphereLibreport.xml.in
|
||||||
|
+src/workflows/workflow_MSVSpherePython.xml.in
|
||||||
|
+src/workflows/workflow_MSVSpherePython3.xml.in
|
||||||
|
+src/workflows/workflow_MSVSphereVmcore.xml.in
|
||||||
|
+src/workflows/workflow_MSVSphereXorg.xml.in
|
||||||
|
src/workflows/workflow_LoggerCCpp.xml.in
|
||||||
|
src/workflows/workflow_Logger.xml.in
|
||||||
|
src/workflows/workflow_MailxCCpp.xml.in
|
||||||
|
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
|
||||||
|
index 6145c9d..6c8fc07 100644
|
||||||
|
--- a/src/plugins/Makefile.am
|
||||||
|
+++ b/src/plugins/Makefile.am
|
||||||
|
@@ -68,9 +68,11 @@ reporters_events_conf += report_Bugzilla.conf
|
||||||
|
endif
|
||||||
|
|
||||||
|
if BUILD_MANTISBT
|
||||||
|
-reporters_events += report_CentOSBugTracker.xml
|
||||||
|
+reporters_events += report_CentOSBugTracker.xml \
|
||||||
|
+ report_MSVSphereBugTracker.xml
|
||||||
|
|
||||||
|
-reporters_events_conf += report_CentOSBugTracker.conf
|
||||||
|
+reporters_events_conf += report_CentOSBugTracker.conf \
|
||||||
|
+ report_MSVSphereBugTracker.conf
|
||||||
|
endif
|
||||||
|
|
||||||
|
if BUILD_UREPORT
|
||||||
|
@@ -95,7 +97,8 @@ dist_eventsdef_DATA = \
|
||||||
|
mailx_event.conf \
|
||||||
|
print_event.conf \
|
||||||
|
uploader_event.conf \
|
||||||
|
- centos_report_event.conf
|
||||||
|
+ centos_report_event.conf \
|
||||||
|
+ msvsphere_report_event.conf
|
||||||
|
|
||||||
|
reporters_extra_dist =
|
||||||
|
if BUILD_BUGZILLA
|
||||||
|
@@ -109,7 +112,8 @@ reporters_extra_dist += report_uReport.xml.in
|
||||||
|
endif
|
||||||
|
|
||||||
|
if BUILD_MANTISBT
|
||||||
|
-reporters_extra_dist += report_CentOSBugTracker.xml.in
|
||||||
|
+reporters_extra_dist += report_CentOSBugTracker.xml.in \
|
||||||
|
+ report_MSVSphereBugTracker.xml.in
|
||||||
|
endif
|
||||||
|
|
||||||
|
EXTRA_DIST = $(reporters_extra_dist) \
|
||||||
|
diff --git a/src/plugins/mantisbt.c b/src/plugins/mantisbt.c
|
||||||
|
index eef2c76..cd98c8d 100644
|
||||||
|
--- a/src/plugins/mantisbt.c
|
||||||
|
+++ b/src/plugins/mantisbt.c
|
||||||
|
@@ -335,7 +335,7 @@ soap_add_new_issue_parameters(soap_request_t *req,
|
||||||
|
error_msg_and_die(_("SOAP: Failed to create a new property in custom fields."));
|
||||||
|
}
|
||||||
|
|
||||||
|
- soap_node_add_child_node(issue_node, "os_build", SOAP_STRING, version);
|
||||||
|
+ soap_node_add_child_node(issue_node, "version", SOAP_STRING, version);
|
||||||
|
soap_node_add_child_node(issue_node, "category", SOAP_STRING, category);
|
||||||
|
soap_node_add_child_node(issue_node, "summary", SOAP_STRING, summary);
|
||||||
|
soap_node_add_child_node(issue_node, "description", SOAP_STRING, description);
|
||||||
|
@@ -862,7 +862,7 @@ mantisbt_search_duplicate_issues(mantisbt_settings_t *settings, const char *cate
|
||||||
|
|
||||||
|
// version
|
||||||
|
if (version != NULL)
|
||||||
|
- soap_filter_add_new_array_parameter(filter_node, "os_build", SOAP_STRINGARRAY, version);
|
||||||
|
+ soap_filter_add_new_array_parameter(filter_node, "version", SOAP_STRINGARRAY, version);
|
||||||
|
|
||||||
|
soap_request_add_method_parameter(req, "page_number", SOAP_INTEGER, "1");
|
||||||
|
soap_request_add_method_parameter(req, "per_page", SOAP_INTEGER, /* -1 means get all issues */ "-1");
|
||||||
|
diff --git a/src/plugins/msvsphere_report_event.conf b/src/plugins/msvsphere_report_event.conf
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..da36775
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/plugins/msvsphere_report_event.conf
|
||||||
|
@@ -0,0 +1,38 @@
|
||||||
|
+EVENT=report_MSVSphereBugTracker type=xorg
|
||||||
|
+ reporter-mantisbt
|
||||||
|
+
|
||||||
|
+EVENT=report_MSVSphereBugTracker type=Kerneloops
|
||||||
|
+ reporter-mantisbt
|
||||||
|
+
|
||||||
|
+EVENT=report_MSVSphereBugTracker type=vmcore
|
||||||
|
+ reporter-mantisbt
|
||||||
|
+
|
||||||
|
+EVENT=report_MSVSphereBugTracker type=Python component!=anaconda
|
||||||
|
+ test -f component || abrt-action-save-package-data
|
||||||
|
+ reporter-mantisbt \
|
||||||
|
+ -F /etc/libreport/plugins/mantisbt_format.conf \
|
||||||
|
+ -A /etc/libreport/plugins/mantisbt_formatdup.conf
|
||||||
|
+
|
||||||
|
+EVENT=report_MSVSphereBugTracker type=Python3 component!=anaconda
|
||||||
|
+ test -f component || abrt-action-save-package-data
|
||||||
|
+ reporter-mantisbt \
|
||||||
|
+ -F /etc/libreport/plugins/mantisbt_format.conf \
|
||||||
|
+ -A /etc/libreport/plugins/mantisbt_formatdup.conf
|
||||||
|
+
|
||||||
|
+EVENT=report_MSVSphereBugTracker type=CCpp duphash!=
|
||||||
|
+ test -f component || abrt-action-save-package-data
|
||||||
|
+ component="`cat component`"
|
||||||
|
+ format="mantisbt_format.conf"
|
||||||
|
+ test -f "/etc/libreport/plugins/mantisbt_format_$component.conf" \
|
||||||
|
+ && format="mantisbt_format_$component.conf"
|
||||||
|
+ formatdup="mantisbt_formatdup.conf"
|
||||||
|
+ test -f "/etc/libreport/plugins/mantisbt_formatdup_$component.conf" \
|
||||||
|
+ && formatdup="mantisbt_formatdup_$component.conf"
|
||||||
|
+ reporter-mantisbt \
|
||||||
|
+ -F "/etc/libreport/plugins/$format" \
|
||||||
|
+ -A "/etc/libreport/plugins/$formatdup"
|
||||||
|
+
|
||||||
|
+EVENT=report_MSVSphereBugTracker analyzer=libreport
|
||||||
|
+ reporter-mantisbt \
|
||||||
|
+ -F /etc/libreport/plugins/mantisbt_format_analyzer_libreport.conf \
|
||||||
|
+ -A /etc/libreport/plugins/mantisbt_formatdup_analyzer_libreport.conf
|
||||||
|
diff --git a/src/plugins/report_MSVSphereBugTracker.conf b/src/plugins/report_MSVSphereBugTracker.conf
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..25391d1
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/plugins/report_MSVSphereBugTracker.conf
|
||||||
|
@@ -0,0 +1,4 @@
|
||||||
|
+Mantisbt_MantisbtURL = https://bugs.msvsphere-os.ru
|
||||||
|
+Mantisbt_Login =
|
||||||
|
+Mantisbt_Password =
|
||||||
|
+Mantisbt_SSLVerify = yes
|
||||||
|
diff --git a/src/plugins/report_MSVSphereBugTracker.xml.in b/src/plugins/report_MSVSphereBugTracker.xml.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..71706fd
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/plugins/report_MSVSphereBugTracker.xml.in
|
||||||
|
@@ -0,0 +1,66 @@
|
||||||
|
+<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
+<event>
|
||||||
|
+ <_name>MSVSphere Bug Tracker</_name>
|
||||||
|
+ <_description>Report to MSVSphere Bug Tracker</_description>
|
||||||
|
+
|
||||||
|
+ <requires-items>component,duphash,os_release</requires-items>
|
||||||
|
+ <exclude-items-by-default>coredump,count,event_log,reported_to,vmcore</exclude-items-by-default>
|
||||||
|
+ <exclude-items-always></exclude-items-always>
|
||||||
|
+ <exclude-binary-items>no</exclude-binary-items>
|
||||||
|
+ <include-items-by-default></include-items-by-default>
|
||||||
|
+ <minimal-rating>3</minimal-rating>
|
||||||
|
+ <gui-review-elements>yes</gui-review-elements>
|
||||||
|
+ <support-restricted-access optionname="Mantisbt_CreatePrivate">yes</support-restricted-access>
|
||||||
|
+
|
||||||
|
+ <options>
|
||||||
|
+ <option type="text" name="Mantisbt_Login">
|
||||||
|
+ <_label>User name</_label>
|
||||||
|
+ <allow-empty>no</allow-empty>
|
||||||
|
+ <_description>MSVSphere Bug Tracker account user name</_description>
|
||||||
|
+ <_note-html>You can create bugs.msvsphere-os.ru account <a href="https://bugs.msvsphere-os.ru/signup_page.php">here</a></_note-html>
|
||||||
|
+ </option>
|
||||||
|
+ <option type="password" name="Mantisbt_Password">
|
||||||
|
+ <_label>Password</_label>
|
||||||
|
+ <allow-empty>no</allow-empty>
|
||||||
|
+ <_description>MSVSphere Bug Tracker account password</_description>
|
||||||
|
+ </option>
|
||||||
|
+ <option type="bool" name="Mantisbt_CreatePrivate">
|
||||||
|
+ <_label>Restrict access</_label>
|
||||||
|
+ <_note-html>The issue will be accessible only to users with access to 'Private Issues'</_note-html>
|
||||||
|
+ <default-value>no</default-value>
|
||||||
|
+ </option>
|
||||||
|
+ <advanced-options>
|
||||||
|
+ <option type="text" name="Mantisbt_MantisbtURL">
|
||||||
|
+ <_label>MSVSphere Bug Tracker URL</_label>
|
||||||
|
+ <allow-empty>no</allow-empty>
|
||||||
|
+ <_note-html>Address of MSVSphere Bug Tracker server</_note-html>
|
||||||
|
+ <default-value>https://bugs.msvsphere-os.ru</default-value>
|
||||||
|
+ </option>
|
||||||
|
+ <option type="bool" name="Mantisbt_SSLVerify">
|
||||||
|
+ <_label>Verify SSL</_label>
|
||||||
|
+ <_note-html>Check SSL key validity</_note-html>
|
||||||
|
+ <default-value>yes</default-value>
|
||||||
|
+ </option>
|
||||||
|
+ <option type="text" name="Mantisbt_Project">
|
||||||
|
+ <_label>MSVSphere Bug Tracker project</_label>
|
||||||
|
+ <allow-empty>yes</allow-empty>
|
||||||
|
+ <_note-html>Specify this only if you needed different project than specified in /etc/os-release</_note-html>
|
||||||
|
+ </option>
|
||||||
|
+ <option type="text" name="Mantisbt_ProjectVersion">
|
||||||
|
+ <_label>MSVSphere Bug Tracker project version</_label>
|
||||||
|
+ <allow-empty>yes</allow-empty>
|
||||||
|
+ <_note-html>Specify this only if you needed different project version than specified in /etc/os-release</_note-html>
|
||||||
|
+ </option>
|
||||||
|
+ <option type="text" name="http_proxy">
|
||||||
|
+ <_label>HTTP Proxy</_label>
|
||||||
|
+ <allow-empty>yes</allow-empty>
|
||||||
|
+ <_note-html>Sets the proxy server to use for HTTP</_note-html>
|
||||||
|
+ </option>
|
||||||
|
+ <option type="text" name="HTTPS_PROXY">
|
||||||
|
+ <_label>HTTPS Proxy</_label>
|
||||||
|
+ <allow-empty>yes</allow-empty>
|
||||||
|
+ <_note-html>Sets the proxy server to use for HTTPS</_note-html>
|
||||||
|
+ </option>
|
||||||
|
+ </advanced-options>
|
||||||
|
+ </options>
|
||||||
|
+</event>
|
||||||
|
diff --git a/src/plugins/reporter-mantisbt.c b/src/plugins/reporter-mantisbt.c
|
||||||
|
index e68aa3e..4b1913c 100644
|
||||||
|
--- a/src/plugins/reporter-mantisbt.c
|
||||||
|
+++ b/src/plugins/reporter-mantisbt.c
|
||||||
|
@@ -25,11 +25,11 @@
|
||||||
|
static void
|
||||||
|
parse_osinfo_for_mantisbt(GHashTable *osinfo, char** project, char** version)
|
||||||
|
{
|
||||||
|
- const char *name = g_hash_table_lookup(osinfo, "CENTOS_MANTISBT_PROJECT");
|
||||||
|
+ const char *name = g_hash_table_lookup(osinfo, "MSVSPHERE_MANTISBT_PROJECT");
|
||||||
|
if (!name)
|
||||||
|
name = g_hash_table_lookup(osinfo, OSINFO_NAME);
|
||||||
|
|
||||||
|
- const char *version_id = g_hash_table_lookup(osinfo, "CENTOS_MANTISBT_PROJECT_VERSION");
|
||||||
|
+ const char *version_id = g_hash_table_lookup(osinfo, "MSVSPHERE_MANTISBT_PROJECT_VERSION");
|
||||||
|
if (!version_id)
|
||||||
|
version_id = g_hash_table_lookup(osinfo, OSINFO_VERSION_ID);
|
||||||
|
|
||||||
|
diff --git a/src/plugins/reporter-ureport.c b/src/plugins/reporter-ureport.c
|
||||||
|
index d5f587c..14137e7 100644
|
||||||
|
--- a/src/plugins/reporter-ureport.c
|
||||||
|
+++ b/src/plugins/reporter-ureport.c
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
#include "ureport.h"
|
||||||
|
#include "libreport_curl.h"
|
||||||
|
|
||||||
|
-#define DEFAULT_WEB_SERVICE_URL "https://retrace.fedoraproject.org/faf"
|
||||||
|
+#define DEFAULT_WEB_SERVICE_URL "https://retrace.msvsphere-os.ru/faf"
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
diff --git a/src/plugins/ureport.conf b/src/plugins/ureport.conf
|
||||||
|
index 240a8b6..15c7b2a 100644
|
||||||
|
--- a/src/plugins/ureport.conf
|
||||||
|
+++ b/src/plugins/ureport.conf
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
# Base URL to uReport server
|
||||||
|
-# URL = https://retrace.fedoraproject.org/faf
|
||||||
|
+# URL = https://retrace.msvsphere-os.ru/faf
|
||||||
|
|
||||||
|
# no means that ssl certificates will not be checked
|
||||||
|
# SSLVerify = no
|
||||||
|
diff --git a/src/workflows/Makefile.am b/src/workflows/Makefile.am
|
||||||
|
index 4fa145f..bb8d217 100644
|
||||||
|
--- a/src/workflows/Makefile.am
|
||||||
|
+++ b/src/workflows/Makefile.am
|
||||||
|
@@ -28,7 +28,16 @@ dist_workflows_DATA += \
|
||||||
|
workflow_CentOSXorg.xml \
|
||||||
|
workflow_CentOSLibreport.xml \
|
||||||
|
workflow_CentOSJava.xml \
|
||||||
|
- workflow_CentOSJavaScript.xml
|
||||||
|
+ workflow_CentOSJavaScript.xml \
|
||||||
|
+ workflow_MSVSphereCCpp.xml \
|
||||||
|
+ workflow_MSVSphereKerneloops.xml \
|
||||||
|
+ workflow_MSVSpherePython.xml \
|
||||||
|
+ workflow_MSVSpherePython3.xml \
|
||||||
|
+ workflow_MSVSphereVmcore.xml \
|
||||||
|
+ workflow_MSVSphereXorg.xml \
|
||||||
|
+ workflow_MSVSphereLibreport.xml \
|
||||||
|
+ workflow_MSVSphereJava.xml \
|
||||||
|
+ workflow_MSVSphereJavaScript.xml
|
||||||
|
endif
|
||||||
|
|
||||||
|
if BUILD_BUGZILLA
|
||||||
|
@@ -54,7 +63,8 @@ dist_workflowsdef_DATA =\
|
||||||
|
report_mailx.conf \
|
||||||
|
report_logger.conf \
|
||||||
|
report_uploader.conf \
|
||||||
|
- report_centos.conf
|
||||||
|
+ report_centos.conf \
|
||||||
|
+ report_msvsphere.conf
|
||||||
|
|
||||||
|
if BUILD_BUGZILLA
|
||||||
|
dist_workflowsdef_DATA += \
|
||||||
|
@@ -108,5 +118,14 @@ EXTRA_DIST += \
|
||||||
|
workflow_CentOSXorg.xml.in \
|
||||||
|
workflow_CentOSLibreport.xml.in \
|
||||||
|
workflow_CentOSJava.xml.in \
|
||||||
|
- workflow_CentOSJavaScript.xml.in
|
||||||
|
+ workflow_CentOSJavaScript.xml.in \
|
||||||
|
+ workflow_MSVSphereCCpp.xml.in \
|
||||||
|
+ workflow_MSVSphereKerneloops.xml.in \
|
||||||
|
+ workflow_MSVSpherePython.xml.in \
|
||||||
|
+ workflow_MSVSpherePython3.xml.in \
|
||||||
|
+ workflow_MSVSphereVmcore.xml.in \
|
||||||
|
+ workflow_MSVSphereXorg.xml.in \
|
||||||
|
+ workflow_MSVSphereLibreport.xml.in \
|
||||||
|
+ workflow_MSVSphereJava.xml.in \
|
||||||
|
+ workflow_MSVSphereJavaScript.xml.in
|
||||||
|
endif
|
||||||
|
diff --git a/src/workflows/report_msvsphere.conf b/src/workflows/report_msvsphere.conf
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..136e22a
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/workflows/report_msvsphere.conf
|
||||||
|
@@ -0,0 +1,31 @@
|
||||||
|
+EVENT=workflow_MSVSphereLibreport analyzer=libreport
|
||||||
|
+# this is just a meta event which consists of other events
|
||||||
|
+# the list is defined in the xml file
|
||||||
|
+
|
||||||
|
+EVENT=workflow_MSVSphereCCpp type=CCpp
|
||||||
|
+# this is just a meta event which consists of other events
|
||||||
|
+# the list is defined in the xml file
|
||||||
|
+
|
||||||
|
+EVENT=workflow_MSVSpherePython type=Python component!=anaconda
|
||||||
|
+# this is just a meta event which consists of other events
|
||||||
|
+# the list is defined in the xml file
|
||||||
|
+
|
||||||
|
+EVENT=workflow_MSVSpherePython3 type=Python3 component!=anaconda
|
||||||
|
+# this is just a meta event which consists of other events
|
||||||
|
+# the list is defined in the xml file
|
||||||
|
+
|
||||||
|
+EVENT=workflow_MSVSphereKerneloops type=Kerneloops
|
||||||
|
+# this is just a meta event which consists of other events
|
||||||
|
+# the list is defined in the xml file
|
||||||
|
+
|
||||||
|
+EVENT=workflow_MSVSphereVmcore type=vmcore
|
||||||
|
+# this is just a meta event which consists of other events
|
||||||
|
+# the list is defined in the xml file
|
||||||
|
+
|
||||||
|
+EVENT=workflow_MSVSphereXorg type=xorg
|
||||||
|
+# this is just a meta event which consists of other events
|
||||||
|
+# the list is defined in the xml file
|
||||||
|
+
|
||||||
|
+EVENT=workflow_MSVSphereJava type=Java
|
||||||
|
+# this is just a meta event which consists of other events
|
||||||
|
+# the list is defined in the xml file
|
||||||
|
diff --git a/src/workflows/workflow_MSVSphereCCpp.xml.in b/src/workflows/workflow_MSVSphereCCpp.xml.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..863da8c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/workflows/workflow_MSVSphereCCpp.xml.in
|
||||||
|
@@ -0,0 +1,12 @@
|
||||||
|
+<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
+<workflow>
|
||||||
|
+ <_name>Report to MSVSphere Bug Tracker</_name>
|
||||||
|
+ <_description>Process the C/C++ crash using the MSVSphere infrastructure</_description>
|
||||||
|
+
|
||||||
|
+ <events>
|
||||||
|
+ <event>report_uReport</event>
|
||||||
|
+ <event>collect_*</event>
|
||||||
|
+ <event>analyze_CCpp</event>
|
||||||
|
+ <event>report_MSVSphereBugTracker</event>
|
||||||
|
+ </events>
|
||||||
|
+</workflow>
|
||||||
|
diff --git a/src/workflows/workflow_MSVSphereJava.xml.in b/src/workflows/workflow_MSVSphereJava.xml.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..ab1cb02
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/workflows/workflow_MSVSphereJava.xml.in
|
||||||
|
@@ -0,0 +1,11 @@
|
||||||
|
+<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
+<workflow>
|
||||||
|
+ <_name>Report to MSVSphere Bug Tracker</_name>
|
||||||
|
+ <_description>Process the Java exception using the MSVSphere infrastructure</_description>
|
||||||
|
+
|
||||||
|
+ <events>
|
||||||
|
+ <event>report_uReport</event>
|
||||||
|
+ <event>collect_*</event>
|
||||||
|
+ <event>report_MSVSphereBugTracker</event>
|
||||||
|
+ </events>
|
||||||
|
+</workflow>
|
||||||
|
diff --git a/src/workflows/workflow_MSVSphereJavaScript.xml.in b/src/workflows/workflow_MSVSphereJavaScript.xml.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..1b4bf13
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/workflows/workflow_MSVSphereJavaScript.xml.in
|
||||||
|
@@ -0,0 +1,11 @@
|
||||||
|
+<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
+<workflow>
|
||||||
|
+ <_name>Report to MSVSphere Bug Tracker</_name>
|
||||||
|
+ <_description>Process the JavaScript exception using the MSVSphere infrastructure</_description>
|
||||||
|
+
|
||||||
|
+ <events>
|
||||||
|
+ <event>report_uReport</event>
|
||||||
|
+ <event>collect_*</event>
|
||||||
|
+ <event>report_MSVSphereBugTracker</event>
|
||||||
|
+ </events>
|
||||||
|
+</workflow>
|
||||||
|
diff --git a/src/workflows/workflow_MSVSphereKerneloops.xml.in b/src/workflows/workflow_MSVSphereKerneloops.xml.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..1f92d6e
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/workflows/workflow_MSVSphereKerneloops.xml.in
|
||||||
|
@@ -0,0 +1,11 @@
|
||||||
|
+<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
+<workflow>
|
||||||
|
+ <_name>Report to MSVSphere Bug Tracker</_name>
|
||||||
|
+ <_description>Process the kerneloops using the MSVSphere infrastructure</_description>
|
||||||
|
+
|
||||||
|
+ <events>
|
||||||
|
+ <event>report_uReport</event>
|
||||||
|
+ <event>collect_*</event>
|
||||||
|
+ <event>report_MSVSphereBugTracker</event>
|
||||||
|
+ </events>
|
||||||
|
+</workflow>
|
||||||
|
diff --git a/src/workflows/workflow_MSVSphereLibreport.xml.in b/src/workflows/workflow_MSVSphereLibreport.xml.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..e5a4750
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/workflows/workflow_MSVSphereLibreport.xml.in
|
||||||
|
@@ -0,0 +1,9 @@
|
||||||
|
+<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
+<workflow>
|
||||||
|
+ <_name>Report to MSVSphere Bug Tracker</_name>
|
||||||
|
+ <_description>Process the problem using the MSVSphere infrastructure</_description>
|
||||||
|
+
|
||||||
|
+ <events>
|
||||||
|
+ <event>report_MSVSphereBugTracker</event>
|
||||||
|
+ </events>
|
||||||
|
+</workflow>
|
||||||
|
diff --git a/src/workflows/workflow_MSVSpherePython.xml.in b/src/workflows/workflow_MSVSpherePython.xml.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..b0c856b
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/workflows/workflow_MSVSpherePython.xml.in
|
||||||
|
@@ -0,0 +1,11 @@
|
||||||
|
+<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
+<workflow>
|
||||||
|
+ <_name>Report to MSVSphere Bug Tracker</_name>
|
||||||
|
+ <_description>Process the python exception using the MSVSphere infrastructure</_description>
|
||||||
|
+
|
||||||
|
+ <events>
|
||||||
|
+ <event>report_uReport</event>
|
||||||
|
+ <event>collect_*</event>
|
||||||
|
+ <event>report_MSVSphereBugTracker</event>
|
||||||
|
+ </events>
|
||||||
|
+</workflow>
|
||||||
|
diff --git a/src/workflows/workflow_MSVSpherePython3.xml.in b/src/workflows/workflow_MSVSpherePython3.xml.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..27f7272
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/workflows/workflow_MSVSpherePython3.xml.in
|
||||||
|
@@ -0,0 +1,11 @@
|
||||||
|
+<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
+<workflow>
|
||||||
|
+ <_name>Report to MSVSphere Bug Tracker</_name>
|
||||||
|
+ <_description>Process the python 3 exception using the MSVSphere infrastructure</_description>
|
||||||
|
+
|
||||||
|
+ <events>
|
||||||
|
+ <event>report_uReport</event>
|
||||||
|
+ <event>collect_*</event>
|
||||||
|
+ <event>report_MSVSphereBugTracker</event>
|
||||||
|
+ </events>
|
||||||
|
+</workflow>
|
||||||
|
diff --git a/src/workflows/workflow_MSVSphereVmcore.xml.in b/src/workflows/workflow_MSVSphereVmcore.xml.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..0eaf33b
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/workflows/workflow_MSVSphereVmcore.xml.in
|
||||||
|
@@ -0,0 +1,12 @@
|
||||||
|
+<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
+<workflow>
|
||||||
|
+ <_name>Report to MSVSphere Bug Tracker</_name>
|
||||||
|
+ <_description>Process the kernel crash using the MSVSphere infrastructure</_description>
|
||||||
|
+
|
||||||
|
+ <events>
|
||||||
|
+ <event>analyze_VMcore</event>
|
||||||
|
+ <event>report_uReport</event>
|
||||||
|
+ <event>collect_*</event>
|
||||||
|
+ <event>report_MSVSphereBugTracker</event>
|
||||||
|
+ </events>
|
||||||
|
+</workflow>
|
||||||
|
diff --git a/src/workflows/workflow_MSVSphereXorg.xml.in b/src/workflows/workflow_MSVSphereXorg.xml.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..aeb9d7f
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/workflows/workflow_MSVSphereXorg.xml.in
|
||||||
|
@@ -0,0 +1,9 @@
|
||||||
|
+<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
+<workflow>
|
||||||
|
+ <_name>Report to MSVSphere Bug Tracker</_name>
|
||||||
|
+ <_description>Process the X Server problem using the MSVSphere infrastructure</_description>
|
||||||
|
+
|
||||||
|
+ <events>
|
||||||
|
+ <event>report_MSVSphereBugTracker</event>
|
||||||
|
+ </events>
|
||||||
|
+</workflow>
|
||||||
|
--
|
||||||
|
2.43.5
|
||||||
|
|
@ -1,48 +0,0 @@
|
|||||||
From 50fdc7f23f35744ffff1763fe2d804b18c1c5340 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Srb <michal@redhat.com>
|
|
||||||
Date: Tue, 7 Sep 2021 14:40:21 +0200
|
|
||||||
Subject: [PATCH] [rhbz] Be a little bit more defensive when working with
|
|
||||||
subcomponents
|
|
||||||
|
|
||||||
Components in RHEL can have "subcomponents" in Bugzilla. Some of them
|
|
||||||
have, some of them don't. Better be careful.
|
|
||||||
|
|
||||||
See: rhbz#1998435
|
|
||||||
|
|
||||||
Signed-off-by: Michal Srb <michal@redhat.com>
|
|
||||||
---
|
|
||||||
src/plugins/rhbz.c | 18 +++++++++++-------
|
|
||||||
1 file changed, 11 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/plugins/rhbz.c b/src/plugins/rhbz.c
|
|
||||||
index c2855a70..0dae1e93 100644
|
|
||||||
--- a/src/plugins/rhbz.c
|
|
||||||
+++ b/src/plugins/rhbz.c
|
|
||||||
@@ -1036,13 +1036,17 @@ char *rhbz_get_default_sub_component(const char *component, xmlrpc_value *sub_co
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- xmlrpc_array_read_item(&env, sub_components, sc_array_size - 1, &sc_struct);
|
|
||||||
- xmlrpc_struct_find_value(&env, sc_struct, "name", &sc_name);
|
|
||||||
- xmlrpc_read_string(&env, sc_name, &sc_str_name);
|
|
||||||
- if (sc_struct)
|
|
||||||
- xmlrpc_DECREF(sc_struct);
|
|
||||||
- if (sc_name)
|
|
||||||
- xmlrpc_DECREF(sc_name);
|
|
||||||
+ if (sc_array_size) {
|
|
||||||
+ xmlrpc_array_read_item(&env, sub_components, sc_array_size - 1, &sc_struct);
|
|
||||||
+ if (xmlrpc_struct_has_key(&env, sc_struct, "name")) {
|
|
||||||
+ xmlrpc_struct_find_value(&env, sc_struct, "name", &sc_name);
|
|
||||||
+ xmlrpc_read_string(&env, sc_name, &sc_str_name);
|
|
||||||
+ }
|
|
||||||
+ if (sc_struct)
|
|
||||||
+ xmlrpc_DECREF(sc_struct);
|
|
||||||
+ if (sc_name)
|
|
||||||
+ xmlrpc_DECREF(sc_name);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
return (char *)sc_str_name;
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,113 +0,0 @@
|
|||||||
From 28a6267c056d43cdbf8cd3e10e69d8ab113e74f8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Srb <michal@redhat.com>
|
|
||||||
Date: Tue, 7 Sep 2021 21:31:21 +0200
|
|
||||||
Subject: [PATCH] [rhbz] Retry XML-RPC calls when uploading attachments
|
|
||||||
|
|
||||||
If there is a bot that automatically modifies newly opened bugs, then
|
|
||||||
it can lead to "query serialization error" from Bugzilla. Retry should
|
|
||||||
help us here.
|
|
||||||
|
|
||||||
Signed-off-by: Michal Srb <michal@redhat.com>
|
|
||||||
---
|
|
||||||
src/lib/abrt_xmlrpc.c | 34 ++++++++++++++++++++++++++++++++++
|
|
||||||
src/lib/abrt_xmlrpc.h | 5 +++++
|
|
||||||
src/lib/libreport-web.sym | 1 +
|
|
||||||
src/plugins/rhbz.c | 4 +++-
|
|
||||||
4 files changed, 43 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/lib/abrt_xmlrpc.c b/src/lib/abrt_xmlrpc.c
|
|
||||||
index 7cac9253..4c3b469a 100644
|
|
||||||
--- a/src/lib/abrt_xmlrpc.c
|
|
||||||
+++ b/src/lib/abrt_xmlrpc.c
|
|
||||||
@@ -16,6 +16,7 @@
|
|
||||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
|
||||||
+#include <unistd.h>
|
|
||||||
#include "internal_libreport.h"
|
|
||||||
#include "abrt_xmlrpc.h"
|
|
||||||
#include "proxies.h"
|
|
||||||
@@ -301,3 +302,36 @@ xmlrpc_value *abrt_xmlrpc_call(struct abrt_xmlrpc *ax,
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+/* die eventually or return expected results; retry up to 5 times if the error is known */
|
|
||||||
+xmlrpc_value *abrt_xmlrpc_call_with_retry(const char *fault_substring,
|
|
||||||
+ struct abrt_xmlrpc *ax,
|
|
||||||
+ const char *method,
|
|
||||||
+ const char *format, ...)
|
|
||||||
+{
|
|
||||||
+ int retry_counter = 0;
|
|
||||||
+ xmlrpc_env env;
|
|
||||||
+
|
|
||||||
+ va_list args;
|
|
||||||
+
|
|
||||||
+ do {
|
|
||||||
+ // sleep, if this is not the first try;
|
|
||||||
+ // sleep() can be interrupted, but that's not a big deal here
|
|
||||||
+ if (retry_counter)
|
|
||||||
+ sleep(retry_counter);
|
|
||||||
+
|
|
||||||
+ va_start(args, format);
|
|
||||||
+ xmlrpc_value *result = abrt_xmlrpc_call_full_va(&env, ax, method, format, args);
|
|
||||||
+ va_end(args);
|
|
||||||
+
|
|
||||||
+ if (!env.fault_occurred)
|
|
||||||
+ return result; // success!
|
|
||||||
+
|
|
||||||
+ if (env.fault_string && !strstr(env.fault_string, fault_substring)) {
|
|
||||||
+ // unknown error, don't bother retrying...
|
|
||||||
+ abrt_xmlrpc_die(&env);
|
|
||||||
+ }
|
|
||||||
+ } while (++retry_counter <= 5);
|
|
||||||
+
|
|
||||||
+ abrt_xmlrpc_die(&env);
|
|
||||||
+}
|
|
||||||
diff --git a/src/lib/abrt_xmlrpc.h b/src/lib/abrt_xmlrpc.h
|
|
||||||
index 31768ffc..8ddcfc54 100644
|
|
||||||
--- a/src/lib/abrt_xmlrpc.h
|
|
||||||
+++ b/src/lib/abrt_xmlrpc.h
|
|
||||||
@@ -63,6 +63,11 @@ xmlrpc_value *abrt_xmlrpc_call_params(xmlrpc_env *env, struct abrt_xmlrpc *ax,
|
|
||||||
xmlrpc_value *abrt_xmlrpc_call_full(xmlrpc_env *enf, struct abrt_xmlrpc *ax,
|
|
||||||
const char *method, const char *format, ...);
|
|
||||||
|
|
||||||
+xmlrpc_value *abrt_xmlrpc_call_with_retry(const char *fault_substring,
|
|
||||||
+ struct abrt_xmlrpc *ax,
|
|
||||||
+ const char *method,
|
|
||||||
+ const char *format, ...);
|
|
||||||
+
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
diff --git a/src/lib/libreport-web.sym b/src/lib/libreport-web.sym
|
|
||||||
index 44f5244d..9ab88d3e 100644
|
|
||||||
--- a/src/lib/libreport-web.sym
|
|
||||||
+++ b/src/lib/libreport-web.sym
|
|
||||||
@@ -51,6 +51,7 @@ global:
|
|
||||||
abrt_xmlrpc_call;
|
|
||||||
abrt_xmlrpc_call_params;
|
|
||||||
abrt_xmlrpc_call_full;
|
|
||||||
+ abrt_xmlrpc_call_with_retry;
|
|
||||||
|
|
||||||
/* internal_libreport.h - these symbols are only to be used by libreport developers */
|
|
||||||
libreport_trim_all_whitespace;
|
|
||||||
diff --git a/src/plugins/rhbz.c b/src/plugins/rhbz.c
|
|
||||||
index 0dae1e93..f252f914 100644
|
|
||||||
--- a/src/plugins/rhbz.c
|
|
||||||
+++ b/src/plugins/rhbz.c
|
|
||||||
@@ -643,8 +643,10 @@ int rhbz_attach_blob(struct abrt_xmlrpc *ax, const char *bug_id,
|
|
||||||
* i -> integer, single argument (int value)
|
|
||||||
* 6 -> base64, two arguments (char* plain data which will be encoded by xmlrpc-c to base64,
|
|
||||||
* size_t number of bytes to encode)
|
|
||||||
+ *
|
|
||||||
+ * Retry if another user/bot attempted to change the same data.
|
|
||||||
*/
|
|
||||||
- result = abrt_xmlrpc_call(ax, "Bug.add_attachment", "{s:(s),s:s,s:s,s:s,s:6,s:i}",
|
|
||||||
+ result = abrt_xmlrpc_call_with_retry("query serialization error", ax, "Bug.add_attachment", "{s:(s),s:s,s:s,s:s,s:6,s:i}",
|
|
||||||
"ids", bug_id,
|
|
||||||
"summary", fn,
|
|
||||||
"file_name", filename,
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
Loading…
Reference in new issue