From 2774f9ed702c7b7f27aa2bee192cfe5457a81157 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Mon, 5 Aug 2024 16:06:57 +0300 Subject: [PATCH] Add AlmaLinux plugin --- doc/Makefile.am | 5 +- doc/report_AlmaLinuxBugTracker.conf.txt | 45 +++++++++++++ doc/report_almalinux.conf.txt | 41 ++++++++++++ po/POTFILES.in | 10 +++ src/plugins/Makefile.am | 12 ++-- src/plugins/almalinux_report_event.conf | 38 +++++++++++ src/plugins/mantisbt.c | 4 +- src/plugins/report_AlmaLinuxBugTracker.conf | 4 ++ src/plugins/report_AlmaLinuxBugTracker.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_almalinux.conf | 31 +++++++++ src/workflows/workflow_AlmaLinuxCCpp.xml.in | 12 ++++ src/workflows/workflow_AlmaLinuxJava.xml.in | 11 ++++ .../workflow_AlmaLinuxJavaScript.xml.in | 11 ++++ .../workflow_AlmaLinuxKerneloops.xml.in | 11 ++++ .../workflow_AlmaLinuxLibreport.xml.in | 9 +++ src/workflows/workflow_AlmaLinuxPython.xml.in | 11 ++++ .../workflow_AlmaLinuxPython3.xml.in | 11 ++++ src/workflows/workflow_AlmaLinuxVmcore.xml.in | 12 ++++ src/workflows/workflow_AlmaLinuxXorg.xml.in | 9 +++ 23 files changed, 372 insertions(+), 14 deletions(-) create mode 100644 doc/report_AlmaLinuxBugTracker.conf.txt create mode 100644 doc/report_almalinux.conf.txt create mode 100644 src/plugins/almalinux_report_event.conf create mode 100644 src/plugins/report_AlmaLinuxBugTracker.conf create mode 100644 src/plugins/report_AlmaLinuxBugTracker.xml.in create mode 100644 src/workflows/report_almalinux.conf create mode 100644 src/workflows/workflow_AlmaLinuxCCpp.xml.in create mode 100644 src/workflows/workflow_AlmaLinuxJava.xml.in create mode 100644 src/workflows/workflow_AlmaLinuxJavaScript.xml.in create mode 100644 src/workflows/workflow_AlmaLinuxKerneloops.xml.in create mode 100644 src/workflows/workflow_AlmaLinuxLibreport.xml.in create mode 100644 src/workflows/workflow_AlmaLinuxPython.xml.in create mode 100644 src/workflows/workflow_AlmaLinuxPython3.xml.in create mode 100644 src/workflows/workflow_AlmaLinuxVmcore.xml.in create mode 100644 src/workflows/workflow_AlmaLinuxXorg.xml.in diff --git a/doc/Makefile.am b/doc/Makefile.am index 675d93a..e10b791 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -52,6 +52,7 @@ MAN5_TXT = \ mailx_event.conf.txt \ print_event.conf.txt \ report_event.conf.txt \ + report_almalinux.conf.txt \ report_fedora.conf.txt \ report_centos.conf.txt \ report_Logger.conf.txt \ @@ -61,6 +62,7 @@ MAN5_TXT = \ report_uploader.conf.txt \ report_Uploader.conf.txt \ report_CentOSBugTracker.conf.txt \ + report_AlmaLinuxBugTracker.conf.txt \ uploader_event.conf.txt \ ureport.conf.txt \ upload.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 \ + almalinux_report_event.conf.5 # Manual pages are generated from .txt via Docbook man1_MANS = ${MAN1_TXT:%.txt=%.1} diff --git a/doc/report_AlmaLinuxBugTracker.conf.txt b/doc/report_AlmaLinuxBugTracker.conf.txt new file mode 100644 index 0000000..0c84f94 --- /dev/null +++ b/doc/report_AlmaLinuxBugTracker.conf.txt @@ -0,0 +1,45 @@ +report_AlmaLinuxBugTracker.conf(5) +================================== + +NAME +---- +report_AlmaLinuxBugTracker.conf - libreport's configuration file for 'report_AlmaLinuxBugTracker' events. + +DESCRIPTION +----------- +This configuration file contains values for options defined in +/usr/share/libreport/events/report_AlmaLinuxBugTracker.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.almalinux.org) + +'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 +------ +* AlmaLinux team diff --git a/doc/report_almalinux.conf.txt b/doc/report_almalinux.conf.txt new file mode 100644 index 0000000..613545a --- /dev/null +++ b/doc/report_almalinux.conf.txt @@ -0,0 +1,41 @@ +report_almalinux.conf(5) +======================== + +NAME +---- +report_almalinux.conf - configuration file for libreport. + +DESCRIPTION +----------- +This configuration file specifies which of the reporting work flow definitions +are applicable for all problems types on AlmaLinux. + +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_AlmaLinuxCCpp analyzer=CCpp + +The condition line above expects existence of /usr/share/libreport/workflows/workflow_AlmaLinuxCCpp.xml + +SEE ALSO +-------- +report-gtk(1) + +AUTHOR +------ +* AlmaLinux team diff --git a/po/POTFILES.in b/po/POTFILES.in index dc11673..c66f123 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -41,6 +41,7 @@ src/plugins/reporter-print.c src/plugins/reporter-systemd-journal.c src/plugins/reporter-upload.c src/plugins/reporter-mantisbt.c +src/plugins/report_AlmaLinuxBugTracker.xml.in src/plugins/report_CentOSBugTracker.xml.in src/plugins/report_Kerneloops.xml.in src/plugins/report_Logger.xml.in @@ -60,6 +61,15 @@ src/client-python/reportclient/internal/reported_to.py src/client-python/reportclient/internal/report_result.py src/client-python/reportclient/internal/utils.py src/report-newt/report-newt.c +src/workflows/workflow_AlmaLinuxCCpp.xml.in +src/workflows/workflow_AlmaLinuxJava.xml.in +src/workflows/workflow_AlmaLinuxJavaScript.xml.in +src/workflows/workflow_AlmaLinuxKerneloops.xml.in +src/workflows/workflow_AlmaLinuxLibreport.xml.in +src/workflows/workflow_AlmaLinuxPython.xml.in +src/workflows/workflow_AlmaLinuxPython3.xml.in +src/workflows/workflow_AlmaLinuxVmcore.xml.in +src/workflows/workflow_AlmaLinuxXorg.xml.in src/workflows/workflow_AnacondaFedora.xml.in src/workflows/workflow_AnacondaRHELBugzilla.xml.in src/workflows/workflow_AnacondaUpload.xml.in diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am index 6145c9d..5706f6e 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_AlmaLinuxBugTracker.xml -reporters_events_conf += report_CentOSBugTracker.conf +reporters_events_conf += report_CentOSBugTracker.conf \ + report_AlmaLinuxBugTracker.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 \ + almalinux_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_AlmaLinuxBugTracker.xml.in endif EXTRA_DIST = $(reporters_extra_dist) \ diff --git a/src/plugins/almalinux_report_event.conf b/src/plugins/almalinux_report_event.conf new file mode 100644 index 0000000..635a50e --- /dev/null +++ b/src/plugins/almalinux_report_event.conf @@ -0,0 +1,38 @@ +EVENT=report_AlmaLinuxBugTracker type=xorg + reporter-mantisbt + +EVENT=report_AlmaLinuxBugTracker type=Kerneloops + reporter-mantisbt + +EVENT=report_AlmaLinuxBugTracker type=vmcore + reporter-mantisbt + +EVENT=report_AlmaLinuxBugTracker 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_AlmaLinuxBugTracker 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_AlmaLinuxBugTracker 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_AlmaLinuxBugTracker 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/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/report_AlmaLinuxBugTracker.conf b/src/plugins/report_AlmaLinuxBugTracker.conf new file mode 100644 index 0000000..bcbf370 --- /dev/null +++ b/src/plugins/report_AlmaLinuxBugTracker.conf @@ -0,0 +1,4 @@ +Mantisbt_MantisbtURL = https://bugs.almalinux.org +Mantisbt_Login = +Mantisbt_Password = +Mantisbt_SSLVerify = yes diff --git a/src/plugins/report_AlmaLinuxBugTracker.xml.in b/src/plugins/report_AlmaLinuxBugTracker.xml.in new file mode 100644 index 0000000..2e7a246 --- /dev/null +++ b/src/plugins/report_AlmaLinuxBugTracker.xml.in @@ -0,0 +1,66 @@ + + + <_name>AlmaLinux Bug Tracker + <_description>Report to AlmaLinux Bug Tracker + + component,duphash,os_release + coredump,count,event_log,reported_to,vmcore + + no + + 3 + yes + yes + + + + + + + + + + + + + + + diff --git a/src/plugins/reporter-mantisbt.c b/src/plugins/reporter-mantisbt.c index e68aa3e..53fb949 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, "ALMALINUX_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, "ALMALINUX_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..0a9a28f 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.almalinux.org/faf" int main(int argc, char **argv) { diff --git a/src/plugins/ureport.conf b/src/plugins/ureport.conf index 240a8b6..6125690 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.almalinux.org/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..b0460e6 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_AlmaLinuxCCpp.xml \ + workflow_AlmaLinuxKerneloops.xml \ + workflow_AlmaLinuxPython.xml \ + workflow_AlmaLinuxPython3.xml \ + workflow_AlmaLinuxVmcore.xml \ + workflow_AlmaLinuxXorg.xml \ + workflow_AlmaLinuxLibreport.xml \ + workflow_AlmaLinuxJava.xml \ + workflow_AlmaLinuxJavaScript.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_almalinux.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_AlmaLinuxCCpp.xml.in \ + workflow_AlmaLinuxKerneloops.xml.in \ + workflow_AlmaLinuxPython.xml.in \ + workflow_AlmaLinuxPython3.xml.in \ + workflow_AlmaLinuxVmcore.xml.in \ + workflow_AlmaLinuxXorg.xml.in \ + workflow_AlmaLinuxLibreport.xml.in \ + workflow_AlmaLinuxJava.xml.in \ + workflow_AlmaLinuxJavaScript.xml.in endif diff --git a/src/workflows/report_almalinux.conf b/src/workflows/report_almalinux.conf new file mode 100644 index 0000000..7700894 --- /dev/null +++ b/src/workflows/report_almalinux.conf @@ -0,0 +1,31 @@ +EVENT=workflow_AlmaLinuxLibreport analyzer=libreport +# this is just a meta event which consists of other events +# the list is defined in the xml file + +EVENT=workflow_AlmaLinuxCCpp type=CCpp +# this is just a meta event which consists of other events +# the list is defined in the xml file + +EVENT=workflow_AlmaLinuxPython 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_AlmaLinuxPython3 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_AlmaLinuxKerneloops type=Kerneloops +# this is just a meta event which consists of other events +# the list is defined in the xml file + +EVENT=workflow_AlmaLinuxVmcore type=vmcore +# this is just a meta event which consists of other events +# the list is defined in the xml file + +EVENT=workflow_AlmaLinuxXorg type=xorg +# this is just a meta event which consists of other events +# the list is defined in the xml file + +EVENT=workflow_AlmaLinuxJava 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_AlmaLinuxCCpp.xml.in b/src/workflows/workflow_AlmaLinuxCCpp.xml.in new file mode 100644 index 0000000..1253f68 --- /dev/null +++ b/src/workflows/workflow_AlmaLinuxCCpp.xml.in @@ -0,0 +1,12 @@ + + + <_name>Report to AlmaLinux Bug Tracker + <_description>Process the C/C++ crash using the AlmaLinux infrastructure + + + report_uReport + collect_* + analyze_CCpp + report_AlmaLinuxBugTracker + + diff --git a/src/workflows/workflow_AlmaLinuxJava.xml.in b/src/workflows/workflow_AlmaLinuxJava.xml.in new file mode 100644 index 0000000..55bb38f --- /dev/null +++ b/src/workflows/workflow_AlmaLinuxJava.xml.in @@ -0,0 +1,11 @@ + + + <_name>Report to AlmaLinux Bug Tracker + <_description>Process the Java exception using the AlmaLinux infrastructure + + + report_uReport + collect_* + report_AlmaLinuxBugTracker + + diff --git a/src/workflows/workflow_AlmaLinuxJavaScript.xml.in b/src/workflows/workflow_AlmaLinuxJavaScript.xml.in new file mode 100644 index 0000000..9751853 --- /dev/null +++ b/src/workflows/workflow_AlmaLinuxJavaScript.xml.in @@ -0,0 +1,11 @@ + + + <_name>Report to AlmaLinux Bug Tracker + <_description>Process the JavaScript exception using the AlmaLinux infrastructure + + + report_uReport + collect_* + report_AlmaLinuxBugTracker + + diff --git a/src/workflows/workflow_AlmaLinuxKerneloops.xml.in b/src/workflows/workflow_AlmaLinuxKerneloops.xml.in new file mode 100644 index 0000000..1f72928 --- /dev/null +++ b/src/workflows/workflow_AlmaLinuxKerneloops.xml.in @@ -0,0 +1,11 @@ + + + <_name>Report to AlmaLinux Bug Tracker + <_description>Process the kerneloops using the AlmaLinux infrastructure + + + report_uReport + collect_* + report_AlmaLinuxBugTracker + + diff --git a/src/workflows/workflow_AlmaLinuxLibreport.xml.in b/src/workflows/workflow_AlmaLinuxLibreport.xml.in new file mode 100644 index 0000000..ff35001 --- /dev/null +++ b/src/workflows/workflow_AlmaLinuxLibreport.xml.in @@ -0,0 +1,9 @@ + + + <_name>Report to AlmaLinux Bug Tracker + <_description>Process the problem using the AlmaLinux infrastructure + + + report_AlmaLinuxBugTracker + + diff --git a/src/workflows/workflow_AlmaLinuxPython.xml.in b/src/workflows/workflow_AlmaLinuxPython.xml.in new file mode 100644 index 0000000..f14d315 --- /dev/null +++ b/src/workflows/workflow_AlmaLinuxPython.xml.in @@ -0,0 +1,11 @@ + + + <_name>Report to AlmaLinux Bug Tracker + <_description>Process the python exception using the AlmaLinux infrastructure + + + report_uReport + collect_* + report_AlmaLinuxBugTracker + + diff --git a/src/workflows/workflow_AlmaLinuxPython3.xml.in b/src/workflows/workflow_AlmaLinuxPython3.xml.in new file mode 100644 index 0000000..47bca9c --- /dev/null +++ b/src/workflows/workflow_AlmaLinuxPython3.xml.in @@ -0,0 +1,11 @@ + + + <_name>Report to AlmaLinux Bug Tracker + <_description>Process the python 3 exception using the AlmaLinux infrastructure + + + report_uReport + collect_* + report_AlmaLinuxBugTracker + + diff --git a/src/workflows/workflow_AlmaLinuxVmcore.xml.in b/src/workflows/workflow_AlmaLinuxVmcore.xml.in new file mode 100644 index 0000000..85e8626 --- /dev/null +++ b/src/workflows/workflow_AlmaLinuxVmcore.xml.in @@ -0,0 +1,12 @@ + + + <_name>Report to AlmaLinux Bug Tracker + <_description>Process the kernel crash using the AlmaLinux infrastructure + + + analyze_VMcore + report_uReport + collect_* + report_AlmaLinuxBugTracker + + diff --git a/src/workflows/workflow_AlmaLinuxXorg.xml.in b/src/workflows/workflow_AlmaLinuxXorg.xml.in new file mode 100644 index 0000000..b9debc1 --- /dev/null +++ b/src/workflows/workflow_AlmaLinuxXorg.xml.in @@ -0,0 +1,9 @@ + + + <_name>Report to AlmaLinux Bug Tracker + <_description>Process the X Server problem using the AlmaLinux infrastructure + + + report_AlmaLinuxBugTracker + + -- 2.39.3 (Apple Git-146)