diff --git a/.gitignore b/.gitignore index c112fb8..a463b74 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /retrace-server-1.16.tar.gz /retrace-server-1.17.0.tar.gz /retrace-server-1.18.0.tar.gz +/retrace-server-1.19.0.tar.gz diff --git a/retrace-server.spec b/retrace-server.spec index fcd59cc..6c211fd 100644 --- a/retrace-server.spec +++ b/retrace-server.spec @@ -1,11 +1,16 @@ Summary: Application for remote coredump analysis Name: retrace-server -Version: 1.18.0 -Release: 3%{?dist} +Version: 1.19.0 +Release: 1%{?dist} License: GPLv2+ URL: https://github.com/abrt/retrace-server Source0: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz +%if 0%{fedora} >= 29 +# There are Python plugins in /usr/share/retrace-server/plugins +%global _python_bytecompile_extra 0 +%endif + BuildArch: noarch BuildRequires: intltool @@ -13,6 +18,8 @@ BuildRequires: libtool BuildRequires: texinfo BuildRequires: asciidoc BuildRequires: xmlto +BuildRequires: python3-six +BuildRequires: python3-devel Requires: rsync Requires: mock >= 1.4.7 @@ -24,30 +31,26 @@ Requires: p7zip Requires: unzip Requires: lzop Requires: elfutils -Requires: createrepo >= 0.9.9-27 -%if 0%{?fedora} > 27 -Requires: python2-mod_wsgi -Requires: python2-webob -Requires: python2-magic -Requires: python2-requests -Requires: python2-requests-kerberos -Requires: python2-distro -%else -Requires: mod_wsgi -Requires: python-webob -Requires: python-magic -Requires: python-requests -Requires: python-requests-kerberos -Requires: python-distro -%endif +Requires: createrepo_c +Requires: python3-mod_wsgi +Requires: python3-webob +Requires: python3-magic +Requires: python3-requests +Requires: python3-requests-kerberos +Requires: python3-distro +Requires: python3-bugzilla +Requires: python3-six +Requires: python3-dnf +Requires: python3-hawkey Requires: mod_ssl Requires: sqlite -Requires: yum-utils Requires: crash >= 5.1.7 Requires: wget Requires: kexec-tools +%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} <= 27) Requires(preun): /sbin/install-info Requires(post): /sbin/install-info +%endif Requires(post): /usr/bin/crontab Obsoletes: abrt-retrace-server < 2.0.3 @@ -68,6 +71,13 @@ make %{?_smp_mflags} %install make install DESTDIR=${RPM_BUILD_ROOT} mandir=%{_mandir} +# Remove byte-compiled python files generated by automake. +# automake uses system's python for all *.py files, even +# for those which needs to be byte-compiled with different +# version (python2/python3). +# rpm can do this work and use the appropriate python version. +find $RPM_BUILD_ROOT -name "*.py[co]" -delete + mkdir -p ${RPM_BUILD_ROOT}/%{_localstatedir}/cache/%{name} mkdir -p ${RPM_BUILD_ROOT}/%{_localstatedir}/cache/%{name}/kernel mkdir -p ${RPM_BUILD_ROOT}/%{_localstatedir}/cache/%{name}/download @@ -75,6 +85,10 @@ mkdir -p ${RPM_BUILD_ROOT}/%{_localstatedir}/log/%{name} mkdir -p ${RPM_BUILD_ROOT}/%{_localstatedir}/spool/%{name} mkdir -p ${RPM_BUILD_ROOT}/%{_datadir}/%{name} +%if 0%{fedora} >= 29 +%py_byte_compile %{__python3} ${RPM_BUILD_ROOT}%{_datadir}/%{name}/plugins +%endif + rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir %{find_lang} %{name} @@ -87,7 +101,9 @@ getent passwd retrace > /dev/null || useradd --system -g retrace -u %{retrace_gi exit 0 %post +%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} <= 27) /sbin/install-info %{_infodir}/%{name} %{_infodir}/dir 2> /dev/null || : +%endif /usr/sbin/usermod -a -G mock retrace 2> /dev/null || : if [ "$1" = 1 ] @@ -110,8 +126,9 @@ fi %preun if [ "$1" = 0 ] then +%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} <= 27) /sbin/install-info --delete %{_infodir}/retrace-server %{_infodir}/dir 2> /dev/null || : - +%endif #comment entries in retrace's crontab (crontab -u retrace -l 2> /dev/null | sed "s,^\([^#].*\)$,#\1,g") | crontab -u retrace - 2> /dev/null fi @@ -125,7 +142,6 @@ fi %dir %attr(0755,retrace,retrace) %{_localstatedir}/cache/%{name}/download %dir %attr(0750,retrace,retrace) %{_localstatedir}/log/%{name} %dir %attr(0770,retrace,retrace) %{_localstatedir}/spool/%{name} -%dir %{_datadir}/%{name} %{_bindir}/%{name}-worker %{_bindir}/%{name}-interact %{_bindir}/%{name}-cleanup @@ -133,10 +149,12 @@ fi %{_bindir}/%{name}-reposync-faf %{_bindir}/%{name}-plugin-checker %{_bindir}/%{name}-task +%{_bindir}/%{name}-bugzilla-refresh +%{_bindir}/%{name}-bugzilla-query %{_bindir}/bt_filter %{_bindir}/coredump2packages -%{python2_sitelib}/retrace/* -%{_datadir}/%{name}/* +%{python3_sitelib}/retrace/ +%{_datadir}/%{name}/ %doc %{_mandir}/man1/%{name}-cleanup.1* %doc %{_mandir}/man1/%{name}-interact.1* %doc %{_mandir}/man1/%{name}-reposync.1* @@ -147,6 +165,73 @@ fi %license COPYING %changelog +* Tue Aug 28 2018 Martin Kutlak 1.19.0-1 +- docker: Allow building local changes +- docker: Introduce docker +- spec: Require Python3 pkgs of dnf and hawkey +- retrace: Check result of get_nevra_possibilities +- r-s-reposync-faf: Convert generator to list +- spec: Add BuildRequire python3-devel +- r-s-reposync-faf: Generate repo using createrepo_c +- httpd-conf: Set WSGIApplicationGroup to %{GLOBAL} +- r-s-reposync: Use default number of workers +- dnf-comp: Replace yum.misc lib with one from dnf +- py3-comp: Distinguish string and byte values in POST +- py3-comp: Specify encoding for Popen +- py3-comp: Use parentheses for print +- py3-comp: Encode response body as a bytestring +- py3-comp: Convert regexps strings to raw strings +- Migrate retrace-server to python3 +- Implement splitFilename function using dnf +- Replace yum with DNF +- Correct syntax for gdb backtrace command +- Refactoring: Too long lines, missing whitespaces +- Add has_coredump() method to RetraceTask and upate get_md5_tasks() +- Modify get_md5_tasks to skip tasks with no vmcores or invalid md5sum files +- Add 'has_vmcore' method to RetraceTask +- spec: Bytecompile r-s plugins explicitly +- spec: Remove automake byte-compiled files +- spec: Correct the file ownership +- do not require install-info on F28+ +- Adjust indentation according to pylint recommendation +- py3 compatibility: Replace filter function with a list equivalent +- py3 compatibility: Adjust urllib, urllib2 and urlparse +- Fix missing sys import +- Clean up of unused imports +- py3 compatibility: Adjust imports +- py3 compatibility: Resolution of range and xrange +- py3 compatibility: Replace ConfigParser module with configparser +- py3 compatibility: Classic division +- py3 compatibility: Adjust raise statement syntax +- py3 compatibility: Replace StringIO module with io module +- py3 compatibility: Removal of tuple parameter unpacking +- Refactoring: Missing or bad whitespace +- py3 compatibility: Set literals +- py3 compatibility: Use 'sorted' built-in function +- py3 compatibility: Replacement of basestring with six.string_types +- py3 compatibility: Ensure map function to return a list +- py3 compatibility: Replacement of 'has_key' with 'in' +- Make r-s-bugzilla-query query options configurable +- Load credentials from custom file +- manager: Make the bugzillano a clickable link +- Query the remaining bugzilla statuses +- retrace: Add reset_age method +- Implement retrace-server-bzquery tool +- Implement retrace-server-bugzilla-refresh tool +- Implement bugzilla field +- py3 compatibility: Octal literals +- py3 compatibility: try-except statement +- py3 compatibility: print statement is replaced with a print() function +- For vmcores that fail crash but have a large enough kernel log, try --minimal +- Set md5sum as soon as possible. +- Add dedup_vmcore to RetraceWorker and call from retrace-server-cleanup +- Fail task if the crash sys command exits with non-zero and kernellog is small +- Fix typo in exception handling of get_kernel_release +- Set default signal handler for SIGPIPE before calling Popen on 'crash --osrelease' +- Improve vmcore kernel parsing for certain scenarios and limit file scanning +- autogen: correctly parse buildrequires from spec file +- spec: Do not:x show every single change + * Sat Jul 14 2018 Fedora Release Engineering - 1.18.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 2250e8c..5bfe366 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (retrace-server-1.18.0.tar.gz) = ccf4b90d610b4e2b94db2e5f590b375f291b06f2a48ee771896e634b123a90506617ca947a47985b6d547e603ca08fe6d65a5969cd309874db22f9188747db12 +SHA512 (retrace-server-1.19.0.tar.gz) = a225e78f9ee39fa5445bc6293131747341305bb4ab908291e369b83e1e519bad79e2f7c0faa2fb48752201f2f31934ede7697f4c7abc6eb89ea09a48df13529c