%define faf_version 1.3.10 %if 0%{?fedora} || 0%{?rhel} > 7 # Use dnf %bcond_without dnf %bcond_with yum %else # Use yum %bcond_without yum %bcond_with dnf %endif %if 0%{?fedora} > 28 || 0%{?rhel} > 7 # Enable python3 build by default %bcond_without python3 %else %bcond_with python3 %endif Name: faf Version: %{faf_version} Release: 1%{?dist} Summary: Software Problem Analysis Tool License: GPLv3+ URL: https://github.com/abrt/faf/ Source0: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz BuildArch: noarch %if 0%{with python3} %global satyr_dep python3-satyr >= 0.26 %else %if 0%{?rhel} == 7 %global satyr_dep satyr-python > 0.13-1 %else %global satyr_dep satyr-python >= 0.16 %endif %endif Requires(pre): shadow-utils Requires: postgresql %if %{with python3} Requires: python3 Requires: python3-setuptools Requires: python3-psycopg2 Requires: python3-sqlalchemy Requires: python3-rpm Requires: python3-pycurl %else Requires: python Requires: python-setuptools Requires: python-psycopg2 >= 2.5 Requires: python-sqlalchemy >= 0.8 Requires: rpm-python %endif # six library to cover Python 3 compatibility %if %{with python3} Requires: python3-six BuildRequires: python3-six %else %if 0%{?fedora} Requires: python2-six BuildRequires: python2-six %else # rhel7 Requires: python-six BuildRequires: python-six %endif %endif BuildRequires: autoconf BuildRequires: intltool BuildRequires: libtool # requirements for tests BuildRequires: pg-semver BuildRequires: postgresql BuildRequires: postgresql-server BuildRequires: %{satyr_dep} %if %{with python3} BuildRequires: createrepo_c BuildRequires: python3 BuildRequires: python3-devel BuildRequires: python3-alembic BuildRequires: python3-setuptools BuildRequires: python3-unittest2 BuildRequires: python3-bugzilla >= 2.0 BuildRequires: python3-psycopg2 BuildRequires: python3-testing.postgresql < 1.2 BuildRequires: python3-rpm BuildRequires: python3-sqlalchemy BuildRequires: python3-koji BuildRequires: python3-zeep BuildRequires: python3-fedora-messaging BuildRequires: python3-pycurl BuildRequires: python3-celery >= 3.1 %else BuildRequires: createrepo BuildRequires: python BuildRequires: python-alembic BuildRequires: python-setuptools BuildRequires: python-unittest2 BuildRequires: python-bugzilla >= 2.0 BuildRequires: python-psycopg2 >= 2.5 BuildRequires: python-testing.postgresql < 1.2 BuildRequires: rpm-python BuildRequires: python-sqlalchemy >= 0.8 BuildRequires: python2-koji BuildRequires: python-suds BuildRequires: python-celery >= 3.1 BuildRequires: python2-fedora-messaging %endif %if %{with dnf} %if %{with python3} BuildRequires: python3-dnf %else BuildRequires: python2-dnf %endif %endif %if %{with yum} BuildRequires: yum %endif %if %{with python3} BuildRequires: python3-zeep %else BuildRequires: python-suds %endif %if 0%{?fedora} %if %{with python3} BuildRequires: python3-pylint %else BuildRequires: python2-pylint %endif %endif # webui %if %{with python3} BuildRequires: python3-flask BuildRequires: python3-flask-wtf BuildRequires: python3-flask-openid BuildRequires: python3-openid-teams BuildRequires: python3-flask-rstpages BuildRequires: python3-flask-sqlalchemy BuildRequires: python3-jinja2 BuildRequires: python3-munch BuildRequires: python3-dateutil BuildRequires: python3-ratelimitingfilter BuildRequires: python3-simplejson %else BuildRequires: python-flask >= 0.10 BuildRequires: python-flask-wtf BuildRequires: python-flask-openid BuildRequires: python-openid-teams BuildRequires: python-flask-rstpages BuildRequires: python-flask-sqlalchemy BuildRequires: python-jinja2 >= 2.7 BuildRequires: python-munch BuildRequires: python-dateutil BuildRequires: python2-ratelimitingfilter BuildRequires: python-simplejson %endif BuildRequires: xstatic-patternfly-common BuildRequires: nodejs-typeahead.js BuildRequires: nodejs-moment BuildRequires: js-jquery %description faf is a programmable tool for analysis of packages, packaging issues, bug reports and other artifacts produced during software development. %package webui Summary: %{name}'s WebUI rewrite Requires: %{name} = %{faf_version} Requires: httpd %if %{with python3} Requires: python3-mod_wsgi Requires: python3-flask Requires: python3-flask-wtf Requires: python3-flask-rstpages Requires: python3-flask-sqlalchemy Requires: python3-flask-openid Requires: python3-openid-teams Requires: python3-jinja2 Requires: python3-munch Requires: python3-dateutil Requires: python3-ratelimitingfilter Requires: python3-simplejson %else Requires: mod_wsgi Requires: python-flask >= 0.10 Requires: python-flask-wtf Requires: python-flask-rstpages Requires: python-flask-sqlalchemy Requires: python-flask-openid Requires: python-openid-teams Requires: python-jinja2 >= 2.7 Requires: python-munch Requires: python-dateutil Requires: python2-ratelimitingfilter Requires: python-simplejson %endif Requires: xstatic-patternfly-common Requires: nodejs-typeahead.js Requires: nodejs-moment Requires: js-jquery %description webui A WebUI rewrite %package problem-coredump Summary: %{name}'s coredump plugin Requires: %{name} = %{faf_version} Requires: %{satyr_dep} %description problem-coredump A plugin for %{name} handling user-space binary crashes. %package problem-java Summary: %{name}'s java plugin Requires: %{name} = %{faf_version} Requires: %{satyr_dep} %description problem-java A plugin for %{name} handling java problems. %package problem-kerneloops Summary: %{name}'s kerneloops plugin Requires: %{name} = %{faf_version} Requires: %{satyr_dep} %description problem-kerneloops A plugin for %{name} handling kernel oopses. %package problem-python Summary: %{name}'s python plugin Requires: %{name} = %{faf_version} Requires: %{satyr_dep} %description problem-python A plugin for %{name} handling python scripts problems. %package problem-ruby Summary: %{name}'s ruby plugin Requires: %{name} = %{faf_version} Requires: %{satyr_dep} %description problem-ruby A plugin for %{name} handling ruby scripts problems. %if %{with dnf} %package dnf Summary: %{name}'s dnf plugin Requires: %{name} = %{faf_version} %if %{with python3} Requires: python3-dnf %else Requires: python2-dnf %endif Obsoletes: %{name}-yum %description dnf A plugin for %{name} implementing unified access to dnf repositories. %endif %if %{with yum} %package yum Summary: %{name}'s yum plugin Requires: %{name} = %{faf_version} Requires: yum Requires: yum-utils %description yum A plugin for %{name} implementing unified access to yum repositories. %endif %package opsys-centos Summary: %{name}'s CentOS operating system plugin Requires: %{name} = %{faf_version} %if %{with dnf} Requires: %{name}-dnf = %{faf_version} %endif %if %{with yum} Requires: %{name}-yum = %{faf_version} %endif %description opsys-centos A plugin for %{name} implementing support for CentOS operating system. %package opsys-fedora Summary: %{name}'s Fedora operating system plugin Requires: %{name} = %{faf_version} Requires: koji %if %{with python3} Requires: python3-koji %else Requires: python2-koji %endif %description opsys-fedora A plugin for %{name} implementing support for Fedora operating system. %package schema Summary: A plugin implementing fedora-messaging Message schema of %{name}. %if 0%{?rhel} && 0%{?rhel} == 7 Requires: python2-fedora-messaging %endif %if 0%{?fedora} || 0%{?rhel} > 7 Requires: python3-fedora-messaging %endif %description schema A plugin implementing fedora-messaging Message schema of %{name}. %package action-sar Summary: %{name}'s sar plugin Requires: %{name} = %{faf_version} %if %{with python3} Requires: python3-simplejson %else Requires: python-simplejson %endif %description action-sar A plugin for %{name} implementing Subject Access Request (SAR) action %package action-save-reports Summary: %{name}'s save-reports plugin Requires: %{name} = %{faf_version} %description action-save-reports A plugin for %{name} implementing save-reports action %package action-archive-reports Summary: %{name}'s archive-reports plugin Requires: %{name} = %{faf_version} Requires: tar Requires: xz %description action-archive-reports A plugin for %{name} implementing archive-reports action %package action-create-problems Summary: %{name}'s create-problems plugin Requires: %{name} = %{faf_version} Requires: %{satyr_dep} %description action-create-problems A plugin for %{name} implementing create-problems action %package action-shell Summary: %{name}'s shell plugin Requires: %{name} = %{faf_version} %if %{with python3} Requires: python3-ipython-console %else Requires: python-ipython-console %endif %description action-shell A plugin for %{name} allowing to run IPython shell %package action-pull-releases Summary: %{name}'s pull-releases plugin Requires: %{name} = %{faf_version} %description action-pull-releases A plugin for %{name} implementing pull-releases action %package action-pull-reports Summary: %{name}'s pull-reports plugin Requires: %{name} = %{faf_version} %description action-pull-reports A plugin for %{name} implementing pull-reports action %package action-pull-components Summary: %{name}'s pull-components plugin Requires: %{name} = %{faf_version} %description action-pull-components A plugin for %{name} implementing pull-components action %package action-pull-associates Summary: %{name}'s pull-associates plugin Requires: %{name} = %{faf_version} %description action-pull-associates A plugin for %{name} implementing pull-associates action %package action-find-components Summary: %{name}'s find-components plugin Requires: %{name} = %{faf_version} %description action-find-components A plugin for %{name} implementing find-components action %package action-assign-release-to-builds Summary: %{name}'s assign-release-to-builds plugin Requires: %{name} = %{faf_version} %description action-assign-release-to-builds A plugin for %{name} implementing assign-release-to-builds action %package action-find-crash-function Summary: %{name}'s find-crash-function plugin Requires: %{name} = %{faf_version} %description action-find-crash-function A plugin for %{name} implementing find-crash-function action %package action-find-report-solution Summary: %{name}'s find-report-solution action Requires: %{name} = %{faf_version} %description action-find-report-solution A plugin for %{name} implementing find-report-solution action %package action-repo Summary: %{name}'s repo plugin Requires: %{name} = %{faf_version} %description action-repo A plugin for %{name} implementing repoadd, repolist and reposync actions %package action-retrace Summary: %{name}'s retrace plugin Requires: %{name} = %{faf_version} Requires: binutils Requires: elfutils >= 0.155 %description action-retrace A plugin for %{name} implementing retrace action %package action-arch Summary: %{name}'s arch plugin Requires: %{name} = %{faf_version} %description action-arch A plugin for %{name} implementing archadd action %package action-sf-prefilter Summary: %{name}'s action-sf-prefilter plugin Requires: %{name} = %{faf_version} Requires: %{name}-solutionfinder-prefilter Obsoletes: %{name}-action-kb < 0.12 Provides: %{name}-action-kb = 0.12 %description action-sf-prefilter A plugin for %{name} implementing Solution finder Prefilter actions %package action-c2p Summary: %{name}'s coredump to packages plugin Requires: %{name} = %{faf_version} %description action-c2p A plugin for %{name} implementing c2p (coredump to packages) action %package action-bugtracker Summary: %{name}'s plugins for bugtracker administration Requires: %{name} = %{faf_version} Requires: %{name}-bugtracker-bugzilla = %{faf_version} %description action-bugtracker A plugin for bugtracker management %package action-external-faf Summary: %{name}'s external-faf plugin Requires: %{name} = %{faf_version} %description action-external-faf A plugin for %{name} implementing extfaf* actions %package action-external-faf-clone-bz Summary: %{name}'s external-faf-clone-bz plugin Requires: %{name} = %{faf_version} Requires: %{name}-action-external-faf = %{faf_version} %description action-external-faf-clone-bz A plugin for %{name} implementing extfafclonebz action %package action-add-compat-hashes Summary: %{name}'s add-compat-hashes plugin Requires: %{name} = %{faf_version} %description action-add-compat-hashes A plugin for %{name} implementing addcompathashes action %package action-mark-probably-fixed Summary: %{name}'s mark-probably-fixed plugin Requires: %{name} = %{faf_version} %description action-mark-probably-fixed A plugin for %{name} implementing mark-probably-fixed action %package action-stats Summary: %{name}'s stats plugin Requires: %{name} = %{faf_version} %description action-stats A plugin for %{name} implementing statistics generation %package action-retrace-remote Summary: %{name}'s retrace-remote plugin Requires: %{name} = %{faf_version} %if %{with python3} Requires: python3-requests %else Requires: python-requests %endif %description action-retrace-remote A plugin for %{name} implementing remote retracing %package action-attach-centos-bugs Summary: %{name}'s attach-centos-bugs plugin Requires: %{name} = %{faf_version} Requires: %{name}-bugtracker-centos-mantis = %{faf_version} %description action-attach-centos-bugs A plugin for %{name} implementing attaching of bugs from CentOS Mantis bugtracker %package action-fedmsg-notify Summary: %{name}'s fedmsg-notify plugin Requires: %{name} = %{faf_version} Requires: %{name}-fedmsg = %{faf_version} %description action-fedmsg-notify A plugin for %{name} implementing notification into Fedora Messaging %package action-cleanup-packages Summary: %{name}'s cleanup-packages plugin Requires: %{name} = %{faf_version} %description action-cleanup-packages A plugin for %{name} implementing cleanup of old packages. %package action-delete-invalid-ureports Summary: %{name}'s delete-invalid-ureports plugin Requires: %{name} = %{faf_version} %description action-delete-invalid-ureports A plugin for %{name} implementing delete of old invalid ureports. %package action-cleanup-task-results Summary: %{name}'s cleanup-task-results plugin Requires: %{name} = %{faf_version} %description action-cleanup-task-results A plugin for %{name} implementing cleanup of old task results. %package action-cleanup-unassigned Summary: %{name}'s cleanup-unassigned plugin Requires: %{name} = %{faf_version} %description action-cleanup-unassigned A plugin for %{name} implementing cleanup of unassigned packages %package action-check-repo Summary: %{name}'s check repo plugin Requires: %{name} = %{faf_version} %description action-check-repo A plugin for %{name} implementing checking of repositories %package bugtracker-bugzilla Summary: %{name}'s bugzilla support Requires: %{name} = %{faf_version} %if %{with python3} Requires: python3-bugzilla >= 2.0 %else Requires: python-bugzilla >= 2.0 %endif %description bugtracker-bugzilla A plugin adding bugzilla support to %{name} %package bugtracker-fedora-bugzilla Summary: %{name}'s bugzilla support for Fedora Requires: %{name} = %{faf_version} Requires: %{name}-bugtracker-bugzilla = %{faf_version} %description bugtracker-fedora-bugzilla A plugin adding support for bugzilla used by Fedora %package bugtracker-rhel-bugzilla Summary: %{name}'s bugzilla support for RHEL Requires: %{name} = %{faf_version} Requires: %{name}-bugtracker-bugzilla = %{faf_version} %description bugtracker-rhel-bugzilla A plugin adding support for bugzilla used by Red Hat Enterprise Linux %package solutionfinder-prefilter Summary: %{name}'s solution-finder-prefilter plugin Requires: %{name} = %{faf_version} %description solutionfinder-prefilter A plugin for %{name} implementing the Prefilter solution finder %package solutionfinder-probable-fix Summary: %{name}'s solution-finder-probable-fix plugin Requires: %{name} = %{faf_version} %description solutionfinder-probable-fix A plugin for %{name} implementing the Probale Fix solution finder %package blueprint-symbol-transfer Summary: %{name}'s symbol transfer blueprint Requires: faf = %{faf_version} Requires: %{name} = %{faf_version} Requires: %{name}-webui = %{faf_version} %description blueprint-symbol-transfer A plugin for %{name} implementing symbol transfer plugin. %package blueprint-celery-tasks Summary: %{name}'s Celery tasks blueprint Requires: faf = %{faf_version} Requires: %{name} = %{faf_version} Requires: %{name}-webui = %{faf_version} Requires: %{name}-celery-tasks = %{faf_version} %if %{with python3} Requires: python3-munch Requires: python3-redis %else Requires: python-munch %endif %description blueprint-celery-tasks A plugin for %{name} implementing Celery tasks blueprint plugin. %package migrations Summary: %{name}'s database migrations Requires: %{name} = %{faf_version} %if %{with python3} Requires: python3-alembic %else Requires: python-alembic >= 0.5 %endif %description migrations Database migrations using alembic %package bugtracker-mantis Summary: %{name}'s mantis support Requires: %{name} = %{faf_version} %if %{with python3} Requires: python3-zeep %else Requires: python-suds %endif %description bugtracker-mantis A plugin adding mantis support to %{name} %package bugtracker-centos-mantis Summary: %{name}'s Mantis support for CentOS Requires: %{name} = %{faf_version} Requires: %{name}-bugtracker-mantis = %{faf_version} %description bugtracker-centos-mantis A plugin adding support for Mantis used by CentOS %package fedmsg Summary: %{name}'s Fedora Messaging support Requires: %{name} = %{faf_version} Requires: %{name}-schema = %{faf_version} %if %{with python3} Requires: python3-fedora-messaging %else Requires: python2-fedora-messaging %endif %description fedmsg Base for Fedora Messaging support. %package fedmsg-realtime Summary: %{name}'s support for realtime Fedora Messaging notification sending Requires: %{name} = %{faf_version} Requires: %{name}-fedmsg = %{faf_version} %description fedmsg-realtime Support for sending Fedora Messaging notifications as reports are saved. %package celery-tasks Summary: %{name}'s task queue based on Celery Requires: %{name} = %{faf_version} %if %{with python3} Requires: python3-celery >= 3.1 %else Requires: python-celery >= 3.1 %endif %description celery-tasks Task queue using Celery. %package celery-tasks-systemd-services Summary: %{name}'s Celery task queue systemd services Requires: %{name} = %{faf_version} %if 0%{?fedora} > 27 || 0%{?rhel} > 7 %{?systemd_requires} %else Requires: systemd-units %endif %description celery-tasks-systemd-services systemd services for the Celery task queue. %post celery-tasks-systemd-services %systemd_post faf-celery-beat.service %systemd_post faf-celery-worker.service %preun celery-tasks-systemd-services %systemd_preun faf-celery-beat.service %systemd_preun faf-celery-worker.service %postun celery-tasks-systemd-services %systemd_postun_with_restart faf-celery-beat.service %systemd_postun_with_restart faf-celery-worker.service %prep %setup -q %if %{with python3} find ./ -type f -exec sed -i -e 's/\/usr\/bin\/python/\/usr\/bin\/python3/g' {} \; %endif ./autogen.sh %build %configure \ %{?with_dnf:--with-dnf} \ %{!?with_dnf:--without-dnf} \ %{?with_yum:--with-yum} \ %{!?with_yum:--without-yum} \ %{?with_python3:--with-python3} \ %{!?with_python3:--without-python3} make %{?_smp_mflags} %install make install DESTDIR=%{buildroot} # embedded action names ln -s %{_bindir}/faf %{buildroot}%{_bindir}/faf-c2p # /etc mkdir -p %{buildroot}%{_sysconfdir}/faf mkdir -p %{buildroot}%{_sysconfdir}/faf/plugins mkdir -p %{buildroot}%{_sysconfdir}/faf/templates # /usr/share mkdir -p %{buildroot}%{_datadir}/faf/web/media mkdir -p %{buildroot}%{_datadir}/faf/web/static # /var/spool mkdir -p %{buildroot}%{_localstatedir}/spool/faf/ mkdir -p %{buildroot}%{_localstatedir}/spool/faf/lob mkdir -p %{buildroot}%{_localstatedir}/spool/faf/reports mkdir -p %{buildroot}%{_localstatedir}/spool/faf/reports/incoming mkdir -p %{buildroot}%{_localstatedir}/spool/faf/reports/deferred mkdir -p %{buildroot}%{_localstatedir}/spool/faf/reports/saved mkdir -p %{buildroot}%{_localstatedir}/spool/faf/reports/archive mkdir -p %{buildroot}%{_localstatedir}/spool/faf/attachments/ mkdir -p %{buildroot}%{_localstatedir}/spool/faf/attachments/incoming mkdir -p %{buildroot}%{_localstatedir}/spool/faf/attachments/deferred mkdir -p %{buildroot}%{_localstatedir}/spool/faf/attachments/saved mkdir -p %{buildroot}%{_localstatedir}/spool/faf/attachments/archive mkdir -p %{buildroot}%{_localstatedir}/spool/faf/dumpdirs mkdir -p %{buildroot}%{_localstatedir}/spool/faf/openid_store # /var/log mkdir -p %{buildroot}%{_localstatedir}/log/faf/ mkdir -p %{buildroot}%{_tmpfilesdir} mkdir -p %{buildroot}/run/faf-celery %posttrans %systemd_post httpd.service %check make check || ( cat tests/test-suite.log ; cat tests/webfaf/test-suite.log ; exit 1 ) %if 0%{?fedora} pushd src %if %{with python3} pylint-3 --rcfile=../pylintrc $(find ./ -name *.py) webfaf/hub.wsgi bin/faf-migrate-db bin/faf %else pylint-2 --rcfile=../pylintrc $(find ./ -name *.py) webfaf/hub.wsgi bin/faf-migrate-db bin/faf || : %endif popd %endif %pre # http://fedoraproject.org/wiki/Packaging:UsersAndGroups getent group faf >/dev/null || groupadd --system faf getent passwd faf >/dev/null || useradd --system -g faf -d /etc/faf -s /sbin/nologin faf exit 0 %post webui if [ "$1" = 1 ] then # alphanumeric string of 50 characters RANDOM_STR="$( cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 50 )" sed -i "s#@SECRET_KEY@#$RANDOM_STR#g" %{_sysconfdir}/faf/plugins/web.conf fi %files # /etc %dir %{_sysconfdir}/faf %dir %{_sysconfdir}/faf/plugins %dir %{_sysconfdir}/faf/templates %config(noreplace) %{_sysconfdir}/faf/faf.conf %config(noreplace) %{_sysconfdir}/logrotate.d/faf # /var/spool %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf/lob %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf/reports %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf/reports/incoming %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf/reports/saved %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf/reports/deferred %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf/reports/archive %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf/attachments %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf/attachments/incoming %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf/attachments/deferred %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf/attachments/saved %dir %attr(0775, faf, faf) %{_localstatedir}/spool/faf/attachments/archive # /var/log %dir %attr(0775, faf, faf) %{_localstatedir}/log/faf # /usr/bin %{_bindir}/faf # /usr/lib/python*/pyfaf %if %{with python3} %dir %{python3_sitelib}/pyfaf %dir %{python3_sitelib}/pyfaf/__pycache__ %{python3_sitelib}/pyfaf/__init__.py %{python3_sitelib}/pyfaf/checker.py %{python3_sitelib}/pyfaf/cmdline.py %{python3_sitelib}/pyfaf/common.py %{python3_sitelib}/pyfaf/config.py %{python3_sitelib}/pyfaf/local.py %{python3_sitelib}/pyfaf/retrace.py %{python3_sitelib}/pyfaf/rpm.py %{python3_sitelib}/pyfaf/queries.py %{python3_sitelib}/pyfaf/ureport.py %{python3_sitelib}/pyfaf/ureport_compat.py %{python3_sitelib}/pyfaf/__pycache__/__init__.*.pyc %{python3_sitelib}/pyfaf/__pycache__/checker.*.pyc %{python3_sitelib}/pyfaf/__pycache__/cmdline.*.pyc %{python3_sitelib}/pyfaf/__pycache__/common.*.pyc %{python3_sitelib}/pyfaf/__pycache__/config.*.pyc %{python3_sitelib}/pyfaf/__pycache__/local.*.pyc %{python3_sitelib}/pyfaf/__pycache__/retrace.*.pyc %{python3_sitelib}/pyfaf/__pycache__/rpm.*.pyc %{python3_sitelib}/pyfaf/__pycache__/queries.*.pyc %{python3_sitelib}/pyfaf/__pycache__/ureport.*.pyc %{python3_sitelib}/pyfaf/__pycache__/ureport_compat.*.pyc %dir %{python3_sitelib}/pyfaf/actions %dir %{python3_sitelib}/pyfaf/actions/__pycache__ %{python3_sitelib}/pyfaf/actions/__init__.py %{python3_sitelib}/pyfaf/actions/init.py %{python3_sitelib}/pyfaf/actions/componentadd.py %{python3_sitelib}/pyfaf/actions/hash_paths.py %{python3_sitelib}/pyfaf/actions/opsysadd.py %{python3_sitelib}/pyfaf/actions/opsysdel.py %{python3_sitelib}/pyfaf/actions/opsyslist.py %{python3_sitelib}/pyfaf/actions/releaseadd.py %{python3_sitelib}/pyfaf/actions/releaselist.py %{python3_sitelib}/pyfaf/actions/releasemod.py %{python3_sitelib}/pyfaf/actions/match_unknown_packages.py %{python3_sitelib}/pyfaf/actions/__pycache__/__init__.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/init.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/componentadd.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/hash_paths.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/opsysadd.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/opsysdel.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/opsyslist.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/releaseadd.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/releaselist.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/releasemod.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/match_unknown_packages.*.pyc %dir %{python3_sitelib}/pyfaf/bugtrackers %dir %{python3_sitelib}/pyfaf/bugtrackers/__pycache__ %{python3_sitelib}/pyfaf/bugtrackers/__init__.py %{python3_sitelib}/pyfaf/bugtrackers/__pycache__/__init__.*.pyc %dir %{python3_sitelib}/pyfaf/opsys %dir %{python3_sitelib}/pyfaf/opsys/__pycache__ %{python3_sitelib}/pyfaf/opsys/__init__.py %{python3_sitelib}/pyfaf/opsys/__pycache__/__init__.*.pyc %dir %{python3_sitelib}/pyfaf/problemtypes %dir %{python3_sitelib}/pyfaf/problemtypes/__pycache__ %{python3_sitelib}/pyfaf/problemtypes/__init__.py %{python3_sitelib}/pyfaf/problemtypes/__pycache__/__init__.*.pyc %dir %{python3_sitelib}/pyfaf/repos %dir %{python3_sitelib}/pyfaf/repos/__pycache__ %{python3_sitelib}/pyfaf/repos/__init__.py %{python3_sitelib}/pyfaf/repos/rpm_metadata.py %{python3_sitelib}/pyfaf/repos/__pycache__/__init__.*.pyc %{python3_sitelib}/pyfaf/repos/__pycache__/rpm_metadata.*.pyc %dir %{python3_sitelib}/pyfaf/solutionfinders %dir %{python3_sitelib}/pyfaf/solutionfinders/__pycache__ %{python3_sitelib}/pyfaf/solutionfinders/__init__.py %{python3_sitelib}/pyfaf/solutionfinders/__pycache__/__init__.*.pyc %dir %{python3_sitelib}/pyfaf/storage %dir %{python3_sitelib}/pyfaf/storage/__pycache__ %{python3_sitelib}/pyfaf/storage/__init__.py %{python3_sitelib}/pyfaf/storage/bugzilla.py %{python3_sitelib}/pyfaf/storage/bugtracker.py %{python3_sitelib}/pyfaf/storage/custom_types.py %{python3_sitelib}/pyfaf/storage/debug.py %{python3_sitelib}/pyfaf/storage/externalfaf.py %{python3_sitelib}/pyfaf/storage/events.py %{python3_sitelib}/pyfaf/storage/sf_prefilter.py %{python3_sitelib}/pyfaf/storage/llvm.py %{python3_sitelib}/pyfaf/storage/opsys.py %{python3_sitelib}/pyfaf/storage/mantisbt.py %{python3_sitelib}/pyfaf/storage/problem.py %{python3_sitelib}/pyfaf/storage/project.py %{python3_sitelib}/pyfaf/storage/report.py %{python3_sitelib}/pyfaf/storage/symbol.py %{python3_sitelib}/pyfaf/storage/user.py %{python3_sitelib}/pyfaf/storage/jsontype.py %{python3_sitelib}/pyfaf/storage/task.py %{python3_sitelib}/pyfaf/storage/__pycache__/__init__.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/bugzilla.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/bugtracker.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/custom_types.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/debug.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/externalfaf.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/events.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/sf_prefilter.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/llvm.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/opsys.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/mantisbt.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/problem.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/project.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/report.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/symbol.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/user.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/jsontype.*.pyc %{python3_sitelib}/pyfaf/storage/__pycache__/task.*.pyc %dir %{python3_sitelib}/pyfaf/storage/fixtures %dir %{python3_sitelib}/pyfaf/storage/fixtures/__pycache__ %{python3_sitelib}/pyfaf/storage/fixtures/__init__.py %{python3_sitelib}/pyfaf/storage/fixtures/data.py %{python3_sitelib}/pyfaf/storage/fixtures/randutils.py %{python3_sitelib}/pyfaf/storage/fixtures/__pycache__/__init__.*.pyc %{python3_sitelib}/pyfaf/storage/fixtures/__pycache__/data.*.pyc %{python3_sitelib}/pyfaf/storage/fixtures/__pycache__/randutils.*.pyc %dir %{python3_sitelib}/pyfaf/utils %dir %{python3_sitelib}/pyfaf/utils/__pycache__ %{python3_sitelib}/pyfaf/utils/__init__.py %{python3_sitelib}/pyfaf/utils/contextmanager.py %{python3_sitelib}/pyfaf/utils/date.py %{python3_sitelib}/pyfaf/utils/decorators.py %{python3_sitelib}/pyfaf/utils/format.py %{python3_sitelib}/pyfaf/utils/hash.py %{python3_sitelib}/pyfaf/utils/parse.py %{python3_sitelib}/pyfaf/utils/proc.py %{python3_sitelib}/pyfaf/utils/storage.py %{python3_sitelib}/pyfaf/utils/user.py %{python3_sitelib}/pyfaf/utils/web.py %{python3_sitelib}/pyfaf/utils/__pycache__/__init__.*.pyc %{python3_sitelib}/pyfaf/utils/__pycache__/contextmanager.*.pyc %{python3_sitelib}/pyfaf/utils/__pycache__/date.*.pyc %{python3_sitelib}/pyfaf/utils/__pycache__/decorators.*.pyc %{python3_sitelib}/pyfaf/utils/__pycache__/format.*.pyc %{python3_sitelib}/pyfaf/utils/__pycache__/hash.*.pyc %{python3_sitelib}/pyfaf/utils/__pycache__/parse.*.pyc %{python3_sitelib}/pyfaf/utils/__pycache__/proc.*.pyc %{python3_sitelib}/pyfaf/utils/__pycache__/storage.*.pyc %{python3_sitelib}/pyfaf/utils/__pycache__/user.*.pyc %{python3_sitelib}/pyfaf/utils/__pycache__/web.*.pyc %else %dir %{python_sitelib}/pyfaf %{python_sitelib}/pyfaf/__init__.py* %{python_sitelib}/pyfaf/checker.py* %{python_sitelib}/pyfaf/cmdline.py* %{python_sitelib}/pyfaf/common.py* %{python_sitelib}/pyfaf/config.py* %{python_sitelib}/pyfaf/local.py* %{python_sitelib}/pyfaf/retrace.py* %{python_sitelib}/pyfaf/rpm.py* %{python_sitelib}/pyfaf/queries.py* %{python_sitelib}/pyfaf/ureport.py* %{python_sitelib}/pyfaf/ureport_compat.py* %dir %{python_sitelib}/pyfaf/actions %{python_sitelib}/pyfaf/actions/__init__.py* %{python_sitelib}/pyfaf/actions/init.py* %{python_sitelib}/pyfaf/actions/componentadd.py* %{python_sitelib}/pyfaf/actions/hash_paths.py* %{python_sitelib}/pyfaf/actions/opsysadd.py* %{python_sitelib}/pyfaf/actions/opsysdel.py* %{python_sitelib}/pyfaf/actions/opsyslist.py* %{python_sitelib}/pyfaf/actions/releaseadd.py* %{python_sitelib}/pyfaf/actions/releaselist.py* %{python_sitelib}/pyfaf/actions/releasemod.py* %{python_sitelib}/pyfaf/actions/match_unknown_packages.py* %dir %{python_sitelib}/pyfaf/bugtrackers %{python_sitelib}/pyfaf/bugtrackers/__init__.py* %dir %{python_sitelib}/pyfaf/opsys %{python_sitelib}/pyfaf/opsys/__init__.py* %dir %{python_sitelib}/pyfaf/problemtypes %{python_sitelib}/pyfaf/problemtypes/__init__.py* %dir %{python_sitelib}/pyfaf/repos %{python_sitelib}/pyfaf/repos/__init__.py* %{python_sitelib}/pyfaf/repos/rpm_metadata.py* %dir %{python_sitelib}/pyfaf/solutionfinders %{python_sitelib}/pyfaf/solutionfinders/__init__.py* %dir %{python_sitelib}/pyfaf/storage %{python_sitelib}/pyfaf/storage/__init__.py* %{python_sitelib}/pyfaf/storage/bugzilla.py* %{python_sitelib}/pyfaf/storage/bugtracker.py* %{python_sitelib}/pyfaf/storage/custom_types.py* %{python_sitelib}/pyfaf/storage/debug.py* %{python_sitelib}/pyfaf/storage/externalfaf.py* %{python_sitelib}/pyfaf/storage/events.py* %{python_sitelib}/pyfaf/storage/sf_prefilter.py* %{python_sitelib}/pyfaf/storage/llvm.py* %{python_sitelib}/pyfaf/storage/opsys.py* %{python_sitelib}/pyfaf/storage/mantisbt.py* %{python_sitelib}/pyfaf/storage/problem.py* %{python_sitelib}/pyfaf/storage/project.py* %{python_sitelib}/pyfaf/storage/report.py* %{python_sitelib}/pyfaf/storage/symbol.py* %{python_sitelib}/pyfaf/storage/user.py* %{python_sitelib}/pyfaf/storage/jsontype.py* %{python_sitelib}/pyfaf/storage/task.py* %dir %{python_sitelib}/pyfaf/storage/fixtures %{python_sitelib}/pyfaf/storage/fixtures/__init__.py* %{python_sitelib}/pyfaf/storage/fixtures/data.py* %{python_sitelib}/pyfaf/storage/fixtures/randutils.py* %dir %{python_sitelib}/pyfaf/utils %{python_sitelib}/pyfaf/utils/__init__.py* %{python_sitelib}/pyfaf/utils/contextmanager.py* %{python_sitelib}/pyfaf/utils/date.py* %{python_sitelib}/pyfaf/utils/decorators.py* %{python_sitelib}/pyfaf/utils/format.py* %{python_sitelib}/pyfaf/utils/hash.py* %{python_sitelib}/pyfaf/utils/parse.py* %{python_sitelib}/pyfaf/utils/proc.py* %{python_sitelib}/pyfaf/utils/storage.py* %{python_sitelib}/pyfaf/utils/user.py* %{python_sitelib}/pyfaf/utils/web.py* %endif # /usr/share/faf %dir %{_datadir}/faf %{_datadir}/faf/fixtures/lob_download_location %dir %{_datadir}/faf/fixtures/sql %{_datadir}/faf/fixtures/sql/archs.sql %{_datadir}/faf/fixtures/sql/archstags.sql %{_datadir}/faf/fixtures/sql/buildarchs.sql %{_datadir}/faf/fixtures/sql/builds.sql %{_datadir}/faf/fixtures/sql/buildstags.sql %{_datadir}/faf/fixtures/sql/buildsys.sql %{_datadir}/faf/fixtures/sql/opsys.sql %{_datadir}/faf/fixtures/sql/opsyscomponents.sql %{_datadir}/faf/fixtures/sql/opsysreleases.sql %{_datadir}/faf/fixtures/sql/opsysreleasescomponents.sql %{_datadir}/faf/fixtures/sql/packages.sql %{_datadir}/faf/fixtures/sql/taginheritances.sql %{_datadir}/faf/fixtures/sql/tags.sql %files webui # /etc %config(noreplace) %{_sysconfdir}/httpd/conf.d/faf-web.conf %config(noreplace) %{_sysconfdir}/faf/plugins/web.conf # /usr/lib/python*/webfaf %if %{with python3} %dir %{python3_sitelib}/webfaf %dir %{python3_sitelib}/webfaf/__pycache__ %{python3_sitelib}/webfaf/__init__.py %{python3_sitelib}/webfaf/config.py %{python3_sitelib}/webfaf/dumpdirs.py %{python3_sitelib}/webfaf/filters.py %{python3_sitelib}/webfaf/forms.py %{python3_sitelib}/webfaf/hub.wsgi %{python3_sitelib}/webfaf/login.py %{python3_sitelib}/webfaf/problems.py %{python3_sitelib}/webfaf/reports.py %{python3_sitelib}/webfaf/stats.py %{python3_sitelib}/webfaf/summary.py %{python3_sitelib}/webfaf/user.py %{python3_sitelib}/webfaf/utils.py %{python3_sitelib}/webfaf/webfaf_main.py %{python3_sitelib}/webfaf/__pycache__/__init__.*.pyc %{python3_sitelib}/webfaf/__pycache__/config.*.pyc %{python3_sitelib}/webfaf/__pycache__/dumpdirs.*.pyc %{python3_sitelib}/webfaf/__pycache__/filters.*.pyc %{python3_sitelib}/webfaf/__pycache__/forms.*.pyc %{python3_sitelib}/webfaf/__pycache__/login.*.pyc %{python3_sitelib}/webfaf/__pycache__/problems.*.pyc %{python3_sitelib}/webfaf/__pycache__/reports.*.pyc %{python3_sitelib}/webfaf/__pycache__/stats.*.pyc %{python3_sitelib}/webfaf/__pycache__/summary.*.pyc %{python3_sitelib}/webfaf/__pycache__/user.*.pyc %{python3_sitelib}/webfaf/__pycache__/utils.*.pyc %{python3_sitelib}/webfaf/__pycache__/webfaf_main.*.pyc %dir %{python3_sitelib}/webfaf/blueprints %dir %{python3_sitelib}/webfaf/blueprints/__pycache__ %{python3_sitelib}/webfaf/blueprints/__init__.py %{python3_sitelib}/webfaf/blueprints/__pycache__/__init__.*.pyc %dir %{python3_sitelib}/webfaf/templates %{python3_sitelib}/webfaf/templates/_helpers.html %{python3_sitelib}/webfaf/templates/403.html %{python3_sitelib}/webfaf/templates/404.html %{python3_sitelib}/webfaf/templates/413.html %{python3_sitelib}/webfaf/templates/500.html %{python3_sitelib}/webfaf/templates/about.md %{python3_sitelib}/webfaf/templates/base.html %{python3_sitelib}/webfaf/templates/rstpage.html %dir %{python3_sitelib}/webfaf/templates/dumpdirs %{python3_sitelib}/webfaf/templates/dumpdirs/list.html %{python3_sitelib}/webfaf/templates/dumpdirs/new.html %dir %{python3_sitelib}/webfaf/templates/problems %{python3_sitelib}/webfaf/templates/problems/item.html %{python3_sitelib}/webfaf/templates/problems/list.html %{python3_sitelib}/webfaf/templates/problems/list_table_rows.html %{python3_sitelib}/webfaf/templates/problems/multiple_bthashes.html %{python3_sitelib}/webfaf/templates/problems/waitforit.html %dir %{python3_sitelib}/webfaf/templates/reports %{python3_sitelib}/webfaf/templates/reports/associate_bug.html %{python3_sitelib}/webfaf/templates/reports/attach.html %{python3_sitelib}/webfaf/templates/reports/diff.html %{python3_sitelib}/webfaf/templates/reports/item.html %{python3_sitelib}/webfaf/templates/reports/list.html %{python3_sitelib}/webfaf/templates/reports/list_table_rows.html %{python3_sitelib}/webfaf/templates/reports/new.html %{python3_sitelib}/webfaf/templates/reports/waitforit.html %dir %{python3_sitelib}/webfaf/templates/stats %{python3_sitelib}/webfaf/templates/stats/by_date.html %dir %{python3_sitelib}/webfaf/templates/summary %{python3_sitelib}/webfaf/templates/summary/index.html %{python3_sitelib}/webfaf/templates/summary/index_plot_data.html %else %dir %{python_sitelib}/webfaf %{python_sitelib}/webfaf/__init__.py* %{python_sitelib}/webfaf/config.py* %{python_sitelib}/webfaf/dumpdirs.py* %{python_sitelib}/webfaf/filters.py* %{python_sitelib}/webfaf/forms.py* %{python_sitelib}/webfaf/hub.wsgi %{python_sitelib}/webfaf/login.py* %{python_sitelib}/webfaf/problems.py* %{python_sitelib}/webfaf/reports.py* %{python_sitelib}/webfaf/stats.py* %{python_sitelib}/webfaf/summary.py* %{python_sitelib}/webfaf/user.py* %{python_sitelib}/webfaf/utils.py* %{python_sitelib}/webfaf/webfaf_main.py* %dir %{python_sitelib}/webfaf/blueprints %{python_sitelib}/webfaf/blueprints/__init__.py* %dir %{python_sitelib}/webfaf/templates %{python_sitelib}/webfaf/templates/_helpers.html %{python_sitelib}/webfaf/templates/403.html %{python_sitelib}/webfaf/templates/404.html %{python_sitelib}/webfaf/templates/413.html %{python_sitelib}/webfaf/templates/500.html %{python_sitelib}/webfaf/templates/about.md %{python_sitelib}/webfaf/templates/base.html %{python_sitelib}/webfaf/templates/rstpage.html %dir %{python_sitelib}/webfaf/templates/dumpdirs %{python_sitelib}/webfaf/templates/dumpdirs/list.html %{python_sitelib}/webfaf/templates/dumpdirs/new.html %dir %{python_sitelib}/webfaf/templates/problems %{python_sitelib}/webfaf/templates/problems/item.html %{python_sitelib}/webfaf/templates/problems/list.html %{python_sitelib}/webfaf/templates/problems/list_table_rows.html %{python_sitelib}/webfaf/templates/problems/multiple_bthashes.html %{python_sitelib}/webfaf/templates/problems/waitforit.html %dir %{python_sitelib}/webfaf/templates/reports %{python_sitelib}/webfaf/templates/reports/associate_bug.html %{python_sitelib}/webfaf/templates/reports/attach.html %{python_sitelib}/webfaf/templates/reports/diff.html %{python_sitelib}/webfaf/templates/reports/item.html %{python_sitelib}/webfaf/templates/reports/list.html %{python_sitelib}/webfaf/templates/reports/list_table_rows.html %{python_sitelib}/webfaf/templates/reports/new.html %{python_sitelib}/webfaf/templates/reports/waitforit.html %dir %{python_sitelib}/webfaf/templates/stats %{python_sitelib}/webfaf/templates/stats/by_date.html %dir %{python_sitelib}/webfaf/templates/summary %{python_sitelib}/webfaf/templates/summary/index.html %{python_sitelib}/webfaf/templates/summary/index_plot_data.html %endif # /usr/share/faf/ %dir %{_datadir}/faf/web %dir %{_datadir}/faf/web/static %dir %{_datadir}/faf/web/static/js %dir %{_datadir}/faf/web/static/css %dir %{_datadir}/faf/web/static/icons %{_datadir}/faf/web/static/js/*.js %{_datadir}/faf/web/static/css/*.css %{_datadir}/faf/web/static/icons/*.png # /var/spool/faf %dir %attr(0770, faf, faf) %{_localstatedir}/spool/faf/dumpdirs %dir %attr(0770, faf, faf) %{_localstatedir}/spool/faf/openid_store %files problem-coredump %config(noreplace) %{_sysconfdir}/faf/plugins/coredump.conf %if %{with python3} %{python3_sitelib}/pyfaf/problemtypes/core.py %{python3_sitelib}/pyfaf/problemtypes/__pycache__/core.*.pyc %else %{python_sitelib}/pyfaf/problemtypes/core.py* %endif %files problem-java %config(noreplace) %{_sysconfdir}/faf/plugins/java.conf %if %{with python3} %{python3_sitelib}/pyfaf/problemtypes/java.py %{python3_sitelib}/pyfaf/problemtypes/__pycache__/java.*.pyc %else %{python_sitelib}/pyfaf/problemtypes/java.py* %endif %files problem-kerneloops %config(noreplace) %{_sysconfdir}/faf/plugins/kerneloops.conf %if %{with python3} %{python3_sitelib}/pyfaf/problemtypes/kerneloops.py %{python3_sitelib}/pyfaf/problemtypes/__pycache__/kerneloops.*.pyc %else %{python_sitelib}/pyfaf/problemtypes/kerneloops.py* %endif %files problem-python %config(noreplace) %{_sysconfdir}/faf/plugins/python.conf %if %{with python3} %{python3_sitelib}/pyfaf/problemtypes/python.py %{python3_sitelib}/pyfaf/problemtypes/__pycache__/python.*.pyc %else %{python_sitelib}/pyfaf/problemtypes/python.py* %endif %files problem-ruby %config(noreplace) %{_sysconfdir}/faf/plugins/ruby.conf %if %{with python3} %{python3_sitelib}/pyfaf/problemtypes/ruby.py %{python3_sitelib}/pyfaf/problemtypes/__pycache__/ruby.*.pyc %else %{python_sitelib}/pyfaf/problemtypes/ruby.py* %endif %if %{with dnf} %files dnf %config(noreplace) %{_sysconfdir}/faf/plugins/dnf.conf %if %{with python3} %{python3_sitelib}/pyfaf/repos/dnf.py %{python3_sitelib}/pyfaf/repos/__pycache__/dnf.*.pyc %else %{python_sitelib}/pyfaf/repos/dnf.py* %endif %endif %if %{with yum} %files yum %config(noreplace) %{_sysconfdir}/faf/plugins/yum.conf %{python_sitelib}/pyfaf/repos/yum.py* %endif %files opsys-centos %config(noreplace) %{_sysconfdir}/faf/plugins/centos.conf %if %{with python3} %{python3_sitelib}/pyfaf/opsys/centos.py %{python3_sitelib}/pyfaf/opsys/__pycache__/centos.*.pyc %else %{python_sitelib}/pyfaf/opsys/centos.py* %endif %files opsys-fedora %config(noreplace) %{_sysconfdir}/faf/plugins/fedora.conf %if %{with python3} %{python3_sitelib}/pyfaf/opsys/fedora.py %{python3_sitelib}/pyfaf/opsys/__pycache__/fedora.*.pyc %else %{python_sitelib}/pyfaf/opsys/fedora.py* %endif %files schema %if %{with python3} %{python3_sitelib}/faf_schema/ %{python3_sitelib}/faf_schema*.egg-info/ %else %{python_sitelib}/faf_schema/ %{python_sitelib}/faf_schema*.egg-info/ %endif %files action-sar %if %{with python3} %{python3_sitelib}/pyfaf/actions/sar.py %{python3_sitelib}/pyfaf/actions/__pycache__/sar.*.pyc %else %{python_sitelib}/pyfaf/actions/sar.py* %endif %files action-save-reports %config(noreplace) %{_sysconfdir}/faf/plugins/save-reports.conf %if %{with python3} %{python3_sitelib}/pyfaf/actions/save_reports.py %{python3_sitelib}/pyfaf/actions/__pycache__/save_reports.*.pyc %else %{python_sitelib}/pyfaf/actions/save_reports.py* %endif %files action-archive-reports %if %{with python3} %{python3_sitelib}/pyfaf/actions/archive_reports.py %{python3_sitelib}/pyfaf/actions/__pycache__/archive_reports.*.pyc %else %{python_sitelib}/pyfaf/actions/archive_reports.py* %endif %files action-create-problems %config(noreplace) %{_sysconfdir}/faf/plugins/create-problems.conf %if %{with python3} %{python3_sitelib}/pyfaf/actions/create_problems.py %{python3_sitelib}/pyfaf/actions/__pycache__/create_problems.*.pyc %else %{python_sitelib}/pyfaf/actions/create_problems.py* %endif %files action-shell %if %{with python3} %{python3_sitelib}/pyfaf/actions/shell.py %{python3_sitelib}/pyfaf/actions/__pycache__/shell.*.pyc %else %{python_sitelib}/pyfaf/actions/shell.py* %endif %files action-pull-releases %if %{with python3} %{python3_sitelib}/pyfaf/actions/pull_releases.py %{python3_sitelib}/pyfaf/actions/__pycache__/pull_releases.*.pyc %else %{python_sitelib}/pyfaf/actions/pull_releases.py* %endif %files action-pull-reports %config(noreplace) %{_sysconfdir}/faf/plugins/pull-reports.conf %if %{with python3} %{python3_sitelib}/pyfaf/actions/pull_reports.py %{python3_sitelib}/pyfaf/actions/__pycache__/pull_reports.*.pyc %else %{python_sitelib}/pyfaf/actions/pull_reports.py* %endif %files action-pull-components %if %{with python3} %{python3_sitelib}/pyfaf/actions/pull_components.py %{python3_sitelib}/pyfaf/actions/__pycache__/pull_components.*.pyc %else %{python_sitelib}/pyfaf/actions/pull_components.py* %endif %files action-pull-associates %if %{with python3} %{python3_sitelib}/pyfaf/actions/pull_associates.py %{python3_sitelib}/pyfaf/actions/__pycache__/pull_associates.*.pyc %else %{python_sitelib}/pyfaf/actions/pull_associates.py* %endif %files action-find-components %if %{with python3} %{python3_sitelib}/pyfaf/actions/find_components.py %{python3_sitelib}/pyfaf/actions/__pycache__/find_components.*.pyc %else %{python_sitelib}/pyfaf/actions/find_components.py* %endif %files action-find-crash-function %if %{with python3} %{python3_sitelib}/pyfaf/actions/find_crash_function.py %{python3_sitelib}/pyfaf/actions/__pycache__/find_crash_function.*.pyc %else %{python_sitelib}/pyfaf/actions/find_crash_function.py* %endif %files action-find-report-solution %if %{with python3} %{python3_sitelib}/pyfaf/actions/find_report_solution.py %{python3_sitelib}/pyfaf/actions/__pycache__/find_report_solution.*.pyc %else %{python_sitelib}/pyfaf/actions/find_report_solution.py* %endif %files action-assign-release-to-builds %if %{with python3} %{python3_sitelib}/pyfaf/actions/assign_release_to_builds.py %{python3_sitelib}/pyfaf/actions/__pycache__/assign_release_to_builds.*.pyc %else %{python_sitelib}/pyfaf/actions/assign_release_to_builds.py* %endif %files action-repo %if %{with python3} %{python3_sitelib}/pyfaf/actions/repoadd.py %{python3_sitelib}/pyfaf/actions/repoassign.py %{python3_sitelib}/pyfaf/actions/repodel.py %{python3_sitelib}/pyfaf/actions/repoinfo.py %{python3_sitelib}/pyfaf/actions/repoimport.py %{python3_sitelib}/pyfaf/actions/repolist.py %{python3_sitelib}/pyfaf/actions/repomod.py %{python3_sitelib}/pyfaf/actions/reposync.py %{python3_sitelib}/pyfaf/actions/__pycache__/repoadd.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/repoassign.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/repodel.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/repoinfo.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/repoimport.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/repolist.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/repomod.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/reposync.*.pyc %else %{python_sitelib}/pyfaf/actions/repoadd.py* %{python_sitelib}/pyfaf/actions/repoassign.py* %{python_sitelib}/pyfaf/actions/repodel.py* %{python_sitelib}/pyfaf/actions/repoinfo.py* %{python_sitelib}/pyfaf/actions/repoimport.py* %{python_sitelib}/pyfaf/actions/repolist.py* %{python_sitelib}/pyfaf/actions/repomod.py* %{python_sitelib}/pyfaf/actions/reposync.py* %endif %files action-retrace %config(noreplace) %{_sysconfdir}/faf/plugins/retrace.conf %if %{with python3} %{python3_sitelib}/pyfaf/actions/retrace.py %{python3_sitelib}/pyfaf/actions/__pycache__/retrace.*.pyc %else %{python_sitelib}/pyfaf/actions/retrace.py* %endif %files action-arch %if %{with python3} %{python3_sitelib}/pyfaf/actions/archadd.py %{python3_sitelib}/pyfaf/actions/archlist.py %{python3_sitelib}/pyfaf/actions/__pycache__/archadd.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/archlist.*.pyc %else %{python_sitelib}/pyfaf/actions/archadd.py* %{python_sitelib}/pyfaf/actions/archlist.py* %endif %files action-sf-prefilter %if %{with python3} %{python3_sitelib}/pyfaf/actions/sf_prefilter_patadd.py %{python3_sitelib}/pyfaf/actions/sf_prefilter_patshow.py %{python3_sitelib}/pyfaf/actions/sf_prefilter_soladd.py %{python3_sitelib}/pyfaf/actions/sf_prefilter_solshow.py %{python3_sitelib}/pyfaf/actions/__pycache__/sf_prefilter_patadd.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/sf_prefilter_patshow.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/sf_prefilter_soladd.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/sf_prefilter_solshow.*.pyc %else %{python_sitelib}/pyfaf/actions/sf_prefilter_patadd.py* %{python_sitelib}/pyfaf/actions/sf_prefilter_patshow.py* %{python_sitelib}/pyfaf/actions/sf_prefilter_soladd.py* %{python_sitelib}/pyfaf/actions/sf_prefilter_solshow.py* %endif %files action-c2p %{_bindir}/faf-c2p %if %{with python3} %{python3_sitelib}/pyfaf/actions/c2p.py %{python3_sitelib}/pyfaf/actions/__pycache__/c2p.*.pyc %else %{python_sitelib}/pyfaf/actions/c2p.py* %endif %files action-bugtracker %if %{with python3} %{python3_sitelib}/pyfaf/actions/bugtrackerlist.py %{python3_sitelib}/pyfaf/actions/pull_abrt_bugs.py %{python3_sitelib}/pyfaf/actions/pull_bug.py %{python3_sitelib}/pyfaf/actions/update_bugs.py %{python3_sitelib}/pyfaf/actions/__pycache__/bugtrackerlist.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/pull_abrt_bugs.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/pull_bug.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/update_bugs.*.pyc %else %{python_sitelib}/pyfaf/actions/bugtrackerlist.py* %{python_sitelib}/pyfaf/actions/pull_abrt_bugs.py* %{python_sitelib}/pyfaf/actions/pull_bug.py* %{python_sitelib}/pyfaf/actions/update_bugs.py* %endif %files action-stats %if %{with python3} %{python3_sitelib}/pyfaf/actions/stats.py %{python3_sitelib}/pyfaf/actions/__pycache__/stats.*.pyc %else %{python_sitelib}/pyfaf/actions/stats.py* %endif %files action-external-faf %if %{with python3} %{python3_sitelib}/pyfaf/actions/extfafadd.py %{python3_sitelib}/pyfaf/actions/extfafshow.py %{python3_sitelib}/pyfaf/actions/extfafmodify.py %{python3_sitelib}/pyfaf/actions/extfafdelete.py %{python3_sitelib}/pyfaf/actions/extfaflink.py %{python3_sitelib}/pyfaf/actions/__pycache__/extfafadd.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/extfafshow.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/extfafmodify.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/extfafdelete.*.pyc %{python3_sitelib}/pyfaf/actions/__pycache__/extfaflink.*.pyc %else %{python_sitelib}/pyfaf/actions/extfafadd.py* %{python_sitelib}/pyfaf/actions/extfafshow.py* %{python_sitelib}/pyfaf/actions/extfafmodify.py* %{python_sitelib}/pyfaf/actions/extfafdelete.py* %{python_sitelib}/pyfaf/actions/extfaflink.py* %endif %files action-external-faf-clone-bz %config(noreplace) %{_sysconfdir}/faf/plugins/clonebz.conf %if %{with python3} %{python3_sitelib}/pyfaf/actions/extfafclonebz.py %{python3_sitelib}/pyfaf/actions/__pycache__/extfafclonebz.*.pyc %else %{python_sitelib}/pyfaf/actions/extfafclonebz.py* %endif %files action-add-compat-hashes %if %{with python3} %{python3_sitelib}/pyfaf/actions/addcompathashes.py %{python3_sitelib}/pyfaf/actions/__pycache__/addcompathashes.*.pyc %else %{python_sitelib}/pyfaf/actions/addcompathashes.py* %endif %files action-mark-probably-fixed %if %{with python3} %{python3_sitelib}/pyfaf/actions/mark_probably_fixed.py %{python3_sitelib}/pyfaf/actions/__pycache__/mark_probably_fixed.*.pyc %else %{python_sitelib}/pyfaf/actions/mark_probably_fixed.py* %endif %files action-retrace-remote %if %{with python3} %{python3_sitelib}/pyfaf/actions/retrace_remote.py %{python3_sitelib}/pyfaf/actions/__pycache__/retrace_remote.*.pyc %else %{python_sitelib}/pyfaf/actions/retrace_remote.py* %endif %config(noreplace) %{_sysconfdir}/faf/plugins/retrace-remote.conf %files action-attach-centos-bugs %if %{with python3} %{python3_sitelib}/pyfaf/actions/attach_centos_bugs.py %{python3_sitelib}/pyfaf/actions/__pycache__/attach_centos_bugs.*.pyc %else %{python_sitelib}/pyfaf/actions/attach_centos_bugs.py* %endif %files action-fedmsg-notify %if %{with python3} %{python3_sitelib}/pyfaf/actions/fedmsg_notify.py %{python3_sitelib}/pyfaf/actions/__pycache__/fedmsg_notify.*.pyc %else %{python_sitelib}/pyfaf/actions/fedmsg_notify.py* %endif %files action-cleanup-packages %if %{with python3} %{python3_sitelib}/pyfaf/actions/cleanup_packages.py %{python3_sitelib}/pyfaf/actions/__pycache__/cleanup_packages.*.pyc %else %{python_sitelib}/pyfaf/actions/cleanup_packages.py* %endif %files action-delete-invalid-ureports %if %{with python3} %{python3_sitelib}/pyfaf/actions/delete_invalid_ureports.py %{python3_sitelib}/pyfaf/actions/__pycache__/delete_invalid_ureports.*.pyc %else %{python_sitelib}/pyfaf/actions/delete_invalid_ureports.py* %endif %files action-cleanup-task-results %if %{with python3} %{python3_sitelib}/pyfaf/actions/cleanup_task_results.py %{python3_sitelib}/pyfaf/actions/__pycache__/cleanup_task_results.*.pyc %else %{python_sitelib}/pyfaf/actions/cleanup_task_results.py* %endif %files action-cleanup-unassigned %if %{with python3} %{python3_sitelib}/pyfaf/actions/cleanup_unassigned.py %{python3_sitelib}/pyfaf/actions/__pycache__/cleanup_unassigned.*.pyc %else %{python_sitelib}/pyfaf/actions/cleanup_unassigned.py* %endif %files action-check-repo %if %{with python3} %{python3_sitelib}/pyfaf/actions/check_repo.py %{python3_sitelib}/pyfaf/actions/__pycache__/check_repo.*.pyc %else %{python_sitelib}/pyfaf/actions/check_repo.py* %endif %files bugtracker-bugzilla %if %{with python3} %{python3_sitelib}/pyfaf/bugtrackers/bugzilla.py %{python3_sitelib}/pyfaf/bugtrackers/__pycache__/bugzilla.*.pyc %else %{python_sitelib}/pyfaf/bugtrackers/bugzilla.py* %endif %files bugtracker-fedora-bugzilla %if %{with python3} %{python3_sitelib}/pyfaf/bugtrackers/fedorabz.py %{python3_sitelib}/pyfaf/bugtrackers/__pycache__/fedorabz.*.pyc %else %{python_sitelib}/pyfaf/bugtrackers/fedorabz.py* %endif %config(noreplace) %{_sysconfdir}/faf/plugins/fedorabz.conf %files bugtracker-rhel-bugzilla %if %{with python3} %{python3_sitelib}/pyfaf/bugtrackers/rhelbz.py %{python3_sitelib}/pyfaf/bugtrackers/__pycache__/rhelbz.*.pyc %else %{python_sitelib}/pyfaf/bugtrackers/rhelbz.py* %endif %config(noreplace) %{_sysconfdir}/faf/plugins/rhelbz.conf %files solutionfinder-prefilter %if %{with python3} %{python3_sitelib}/pyfaf/solutionfinders/prefilter_solution_finder.py %{python3_sitelib}/pyfaf/solutionfinders/__pycache__/prefilter_solution_finder.*.pyc %else %{python_sitelib}/pyfaf/solutionfinders/prefilter_solution_finder.py* %endif %config(noreplace) %{_sysconfdir}/faf/plugins/sf-prefilter.conf %files solutionfinder-probable-fix %if %{with python3} %{python3_sitelib}/pyfaf/solutionfinders/probable_fix_solution_finder.py %{python3_sitelib}/pyfaf/solutionfinders/__pycache__/probable_fix_solution_finder.*.pyc %else %{python_sitelib}/pyfaf/solutionfinders/probable_fix_solution_finder.py* %endif %files blueprint-symbol-transfer %config(noreplace) %{_sysconfdir}/faf/plugins/symbol-transfer.conf %if %{with python3} %{python3_sitelib}/webfaf/blueprints/symbol_transfer.py %{python3_sitelib}/webfaf/blueprints/__pycache__/symbol_transfer.*.pyc %else %{python_sitelib}/webfaf/blueprints/symbol_transfer.py* %endif %files blueprint-celery-tasks %if %{with python3} %dir %{python3_sitelib}/webfaf/templates/celery_tasks %{python3_sitelib}/webfaf/blueprints/celery_tasks.py %{python3_sitelib}/webfaf/blueprints/__pycache__/celery_tasks.*.pyc %{python3_sitelib}/webfaf/templates/celery_tasks/action_run.html %{python3_sitelib}/webfaf/templates/celery_tasks/index.html %{python3_sitelib}/webfaf/templates/celery_tasks/results_item.html %{python3_sitelib}/webfaf/templates/celery_tasks/results_list.html %{python3_sitelib}/webfaf/templates/celery_tasks/schedule_item.html %else %dir %{python_sitelib}/webfaf/templates/celery_tasks %{python_sitelib}/webfaf/blueprints/celery_tasks.py* %{python_sitelib}/webfaf/templates/celery_tasks/action_run.html %{python_sitelib}/webfaf/templates/celery_tasks/index.html %{python_sitelib}/webfaf/templates/celery_tasks/results_item.html %{python_sitelib}/webfaf/templates/celery_tasks/results_list.html %{python_sitelib}/webfaf/templates/celery_tasks/schedule_item.html %endif %files migrations %if %{with python3} %dir %{python3_sitelib}/pyfaf/storage/migrations %dir %{python3_sitelib}/pyfaf/storage/migrations/__pycache__ %dir %{python3_sitelib}/pyfaf/storage/migrations/versions %dir %{python3_sitelib}/pyfaf/storage/migrations/versions/__pycache__ %{python3_sitelib}/pyfaf/storage/migrations/alembic.ini %{python3_sitelib}/pyfaf/storage/migrations/__init__.py %{python3_sitelib}/pyfaf/storage/migrations/env.py %{python3_sitelib}/pyfaf/storage/migrations/versions/*.py %{python3_sitelib}/pyfaf/storage/migrations/__pycache__/__init__.*.pyc %{python3_sitelib}/pyfaf/storage/migrations/__pycache__/env.*.pyc %{python3_sitelib}/pyfaf/storage/migrations/versions/__pycache__/*.pyc %else %dir %{python_sitelib}/pyfaf/storage/migrations %dir %{python_sitelib}/pyfaf/storage/migrations/versions %{python_sitelib}/pyfaf/storage/migrations/alembic.ini %{python_sitelib}/pyfaf/storage/migrations/__init__.py* %{python_sitelib}/pyfaf/storage/migrations/env.py* %{python_sitelib}/pyfaf/storage/migrations/versions/*.py* %endif %{_bindir}/faf-migrate-db %files bugtracker-mantis %if %{with python3} %{python3_sitelib}/pyfaf/bugtrackers/mantisbt.py %{python3_sitelib}/pyfaf/bugtrackers/__pycache__/mantisbt.*.pyc %else %{python_sitelib}/pyfaf/bugtrackers/mantisbt.py* %endif %files bugtracker-centos-mantis %if %{with python3} %{python3_sitelib}/pyfaf/bugtrackers/centosmantisbt.py %{python3_sitelib}/pyfaf/bugtrackers/__pycache__/centosmantisbt.*.pyc %else %{python_sitelib}/pyfaf/bugtrackers/centosmantisbt.py* %endif %config(noreplace) %{_sysconfdir}/faf/plugins/centosmantisbt.conf %files fedmsg %config(noreplace) %{_sysconfdir}/faf/plugins/fedmsg.conf %files fedmsg-realtime %if %{with python3} %{python3_sitelib}/pyfaf/storage/events_fedmsg.py %{python3_sitelib}/pyfaf/storage/__pycache__/events_fedmsg.*.pyc %else %{python_sitelib}/pyfaf/storage/events_fedmsg.py* %endif %files celery-tasks %config(noreplace) %{_sysconfdir}/faf/plugins/celery_tasks.conf %if %{with python3} %dir %{python3_sitelib}/pyfaf/celery_tasks %dir %{python3_sitelib}/pyfaf/celery_tasks/__pycache__ %{python3_sitelib}/pyfaf/celery_tasks/__init__.py %{python3_sitelib}/pyfaf/celery_tasks/schedulers.py %{python3_sitelib}/pyfaf/celery_tasks/__pycache__/__init__.*.pyc %{python3_sitelib}/pyfaf/celery_tasks/__pycache__/schedulers.*.pyc %else %dir %{python_sitelib}/pyfaf/celery_tasks %{python_sitelib}/pyfaf/celery_tasks/__init__.py* %{python_sitelib}/pyfaf/celery_tasks/schedulers.py* %endif %files celery-tasks-systemd-services %{_unitdir}/faf-celery-beat.service %{_unitdir}/faf-celery-worker.service %config(noreplace) %{_sysconfdir}/faf/celery-beat-env.conf %config(noreplace) %{_sysconfdir}/faf/celery-worker-env.conf %{_tmpfilesdir}/faf-celery-tmpfiles.conf %dir %attr(0775, faf, faf) /run/faf-celery/ %changelog * Mon May 11 2020 Ernestas Kulik 1.3.10-1 - webfaf: templates: report: item: Fit title in one line * Tue Apr 14 2020 Ernestas Kulik 1.3.9-1 - webfaf: Fix division by zero in problem detail page - Post-release version bump * Mon Sep 30 2019 Martin Kutlak 1.3.7-1 - config:centos: Add CentOS repo urls - centos: Group repo urls under one config option - pyfaf: Add a utility function for parsing lists * Wed Jul 31 2019 Martin Kutlak 1.3.6-1 - python: Add srcline to stacktraces - centos: Use findall to search for (in)active releases - Keep supported CentOS versions in plugins/centos.conf - Handle possible DB outages in two more situations, as suggested by @mkutlak - Fail gracefully when submitting a uReport during DB outage - pyfaf: repos: rpm_metadata: Add required parameter for URLs - Check for lines with non-printable chars before matching them against the big regex - pyfaf: actions: c2p: Update eu-unstrip regex - retrace: Fix addr2line splitting - webfaf: Speed up component list queries - webfaf:config: Disable SQLALCHEMY_TRACK_MODIFICATIONS - pylint:C0302: Increase the max-module-lines limit - queries: Check object id before query - query: Be more explicit with left side joins - kerneloops: Fix syntax error - koops: Check if returned normalized list isnt empty - config: Use https to connect to kojihub * Wed Feb 27 2019 Martin Kutlak 1.3.5-1 - rewrite query to faster one and be more descriptive why we are not deleting a LOB - opsys: Add tilde to allowed chars in Version - core: Check if unpacked binary path is defined - queries: Use is_/isnot for None comparisons - dumpdirs: Modify a route to accept uploads of dumpdirs * Thu Jan 17 2019 Martin Kutlak 1.3.4-1 - dumpdir: Fix spelling issues - dumpdirs: Use bytes for rw operations on gzipped files - defer loading pickle of known pulled reports in pull_reports - Move README to markdown - Show build badge in README - webfaf: Remove residual css styles - reports: Fix endpoint for get_hash route - Enable automatic build in copr - logrotate: Improvements to logrotate config - fedmsg: Migrate from fedmsg to Fedora Messaging - schema: Create Message schema for FAF * Wed Nov 14 2018 Matej Marusak 1.3.3-1 - Changelog: Update for new release - spec: Enforce pylint in Python 3 - spec: Use pylint2 with python2 - spec: Require celery at build time - Finish pylint - storage: Fix pylint - actions: Fix pylint - pyfaf: Simplify chained comparison - pylint: Do not use dangerous default values - celery: Print correct string - pyfaf: Make sure you don't use undefined variable - core: Check last frame - reposync: Read configuration from correct variable - pylint: Protected access - pylint: Disable warnings - spec: Include dirs explicitly with dirs directive - Revert "webfaf: Rewrite main problems query in raw SQL" - Revert "webfaf: Make problems dashboard orderable" - dumpdirs: Properly name one downloaded archive - dumpdirs: Use data stream in response - dumpdirs: Use correct type with python3 - spec: Make packages own __pycache__ directories - storage: Make OpSysReleases orderable - reports: Add back link at Associate bug screen - pyfaf: Fix import order issues - pyfaf: Fix undefined variables - shell: Iterable moved into collections.abc - extfafclonebz: Import missing name - Fix too many arguments for format string - create-problems: Less restricting dendogram cutting - create-problems: Use set instead of HashableSet - create-problems: Avoid dictionary change in cycle - utils: Do not use exception out of scope - spec: Celery require redis - webfaf: Use items instead of iteritems - spec: Require python3-devel - spec: Require pycurl for python3 - spec: Edit shebang for python3 - spec: Allow building for Python3 - utils: Map function should return a list - py3 compatibility: Encode unicode-objects - Makefile: Include README.rst - HACKING: Include reporting part - HACKING: Mention docker in building section - reposync: Enable matching repositories by name - bugzilla: Show reason for report-bug association failure in UI - Introduce Code of Conduct - webfaf: Do strict check of archive filename - webfaf: Add tests to check archive filenames - webfaf: Allow archive filename to contain milliseconds - fixed typographical error in HACKING.md - spec: Drop requirement on pg-semver - tell logrotate to rotate files under faf:faf - spec: Drop requirement on postgresql-server - Add HACKING.md - mantisbt: Use zeep instead of suds - py3 compatibility: Choose either yum or dnf - don't disable maintainer mode - webfaf: Correct colors for navigation bar - webfaf: Fix table cell word-wrapping - webfaf: Fix sizing of window for input of components - webfaf: Unbundle DataTables - webfaf: Unbundle jQuery - webfaf: Unbundle moment.js - webfaf: Unbundle typeahead.js - webfaf: Update typeheadjs css - webfaf: Add custom patternfly modifications for FAF - webfaf: Remove static patternfly files - spec: Install patternfly static files from RPM - webfaf: Add route to static files comming from RPMs - webfaf: Fix wrong tbody tag in problem table - webfaf: Add header tag to tables - webfaf: Remove useless data-target attribute - webfaf: Fix deprecated syntax for moment.js functions - webfaf: Fix wrong argument - pylint: Ignore cyclic import in bin/faf - pylint: Do not use keys() for looping - For regex strings use preffix - pylint: Ignore exceptions - logging: Enable lazy evaluation - pylint: Comparing to None - pylint: Be careful about redefinitions - pylint: Implement abstract methods - Replace deprecated warn method with warning method - checker: Basestring not present in Python3 - webfaf: Pass ratelimiter only int values from config - webfaf: Correct the name of function for deleting lob - webfaf: Fix deletion of bz comments and attachments - migrations: Statement must be first - pylint: Fix inconsistent return statements * Wed Jun 20 2018 Matej Marusak 1.3.2-1 - Remove unused arguments and variables - storage: Create index to speedup save-reports - webfaf: Do not delete whole bzuser bugzillas - webfaf: Do not delete reports linked to contact mail - Add action for subject access request (SAR) - webfaf: Allow signed users to delete their data - webfaf: Create a dropdown menu for signed users - pylint: Make refactoring limits less restricting - pylint: Ignore duplicate code warning - pylint: Pylint does not always know return type - pylint: Disable SQLAlchemy generated members - pylint: No else after return - Inheriting method must have the same arguments - fix most of the codespell issues - pyfaf: fix codespell issues - actions: Remove useless super delegation - save-reports: Enable matching reports to save - webfaf: Fix import related issues as suggested by pylint - pyfaf: Fix import related issues as suggested by pylint - py3: Exception does not have message member - config: No CONFIG member - pylint: Fix no-member warnings - migrations: From op import what is needed directly - pyfaf: By default declare member variables - webfaf: secure_filename is in utils of werkzeug - Use munch instead of bunch - Ignore not being able to import python2 versions - pylint: Do not use len() as condition - pull_reports: Update method name - py3: Move urllib,urllib2 and urlparse - bugzilla: Do not always pull comments and attachments - webfaf: Use full width of window - webfaf: Correct orderable columns - webfaf: Explain filtering by version - webfaf: Add missing include for dataTables - spec: directory fonts and icons wasn't owned by any package - Add favicon to spec file and configure - webfaf: add favicon - webfaf: Add possibility to reassign problem components - storage: Add support of problem components reassign to database model - webfaf: Make big numbers human readable - Refactoring: spec file - webfaf: Intuitive reports time filtering - Refactoring: Remove superfluous parens - Removed indentation in .py files - Refactoring: Too long lines - webfaf: Add support of reports archive - storage: Add support of reports archive to database model - Refactoring: Missing or bad whitespace - add pylintrc to tar.gz - py3 compatibility: Ensure map function to return a list - py3 compatibility: Adjust imports - run pylint during buildtime - Clean up of unused and duplicated imports - py3 compatibility: Replace filter function with a list equivalent - storage: Firstly sanitize version string - storage: single dot is 0. in version - storage: Accept commas in version - storage: Semver must have exactly 3 parts - webfaf: Make problems dashboard orderable - webfaf: Rewrite main problems query in raw SQL - py3 compatibility: Replacement of iteritems with six.iteritems - py3 compatibility: Replacement of itervalues with six.itervalues - py3 compatibility: Replace Queue module with queue module - py3 compatibility: Replace xmlrpclib module with xmlrpc.client - webfaf: add omitted in backtrace table - py3 compatibility: Replace ConfigParser module with configparser - py3 compatibility: Replace cPickle module with pickle module - py3 compatibility: Add list function to dictionary methods - py3 compatibility: BaseHTTPServer -> six.moves.BaseHTTPServer - py3 compatibility: Replacement of basestring with six.string_types * Thu Apr 19 2018 Matej Marusak 1.3.1-1 - changelog: Update changelog - py3 compatibility: Replacement of zip with six.moves.zip - py3 compatibility: Replacement of xrange with six.moves.range - py3 compatibility: Replacement of `unicode` type with `six.text_type` - py3 compatibility: Replace StringIO and cStringIO modules with io module - py3 compatibility: Removal of tuple parameter unpacking - py3 compatibility: Replacement of type()== with isinstance() - py3 compatibility: Replacement of long type with int type - py3 compatibility: print statement is replaced with a print() function - py3 compatibility: Add `from functools import reduce` - py3 compatibility: New literal syntax for sets - py3 compatibility: Replace file() by open() - py3 compatibility: classic division - py3 compatibility: Replace StandardError by Exception - pyfaf: multiple exceptions fix - spec: Add build require for ratelimitingfilter - webfaf: Limit the number of exception mails - webfaf: Do not file any problems on unknown components - reports: Fix typo - fedora: Pull acls from pagure - fedora: Pull components from pdc - fedora: Pull releases from pdc - storage: Import all events - common: Enanble importing modules with prefix - Update README.rst - storage: Remove unused imports * Mon Mar 05 2018 Matej Marusak 1.3.0-1 - changelog: Update changelog - openshift: Add Openshift templates - webfaf: Replace deprecated flask import - config: Enable setting up DB with env variables - config: Enhance setting up database connection string - autogen: correctly parse buildrequires from spec file - spec: Replace systemd-units with macro - spec: Drop builds for non-systemd systems - spec: Use global rather than define - spec: Remove obsoleted stuff from spec - spec: Add BuildRequires fedmsg and python-suds - Fix comps creating in create-problems - webfaf: Explain ordering of External URLS - webfaf: Order reports external urls from newest - webfaf: Put empty line between reports external urls - spec: Random secret without fold - build: By default require python2-koji - spec: Always restart apache - webfaf: Order external urls by incoming time - kerneloops: Accept oopses without address - ureport: Always check for validity of ureport * Wed Oct 25 2017 Martin Kutlak 1.2.1-1 - changelog: Update changelog - reports: Inform user that report does not contain crash package - packages: Test if package contains 'affected' package - fix migration - ignore_private_bz - bugzilla: Implicitly request attachments to be pulled - bugzilla: Update to version 2.0.0 * Tue Sep 12 2017 Matej Marusak 1.2.0-1 - Update changelog - actions: Add speedup option for create-problems - allow to set From: header in web traceback emails - spec: add requirement for koji - webfaf: fix deprecated imports - dumpdir: Accept oops dumpirs - reports: Do not consider reports with private bugzillas known - storage: Use FafError instead of Exception - actions: Add action for checking repositories - Codestyle: Wrong indentation - codestyle: Wrong import order - codestyle: Spaces mismatch - codestyle: Unnecessary brackets and semicolons - codestyle: Unused import - save-reports: Revert useless config option - webfaf: Clean up unnecessary imports - webfaf: Remove redefinitions of built-in list function - pylint: allow 120 chars on line - webfaf: Explain dumpdirs - webfaf: Dumpdirs support for more filenames - storage: Fix inadequate check for semver validity * Wed Apr 26 2017 Matej Marusak 1.1.0-1 - Update changelog - reposync: Do not exit when cannot process one repo - webfaf: Better display executable - Fix url to FAF report in FedMsg notification - save-reports: saving unknown components configurable - actions: Speed up assign_release_to_builds - tests: Add test for action cleanup_unassigned * Tue Mar 28 2017 Matej Marusak 1.0.0-1 - changelog: Update after a while - build: create tarball with make dist - build: do not upload tarball to fedorahosted.org - spec: do not use fedorahosted.org as source - tests: add test for action-delete-invalid-ureports - actions: add action delete-invalid-ureports - spec: add action-delete-invalid-ureports - config: Change WSGI process group - build: Enable creating releases with makefile - changelog: Update format - Add logrotate config - opsys: Remove rhel.py file - webfaf: Always show executable on report page - webfaf: Show month and day when weekly resolution - Set default value in alembic revision and histories model - autogen: add function which installs dependencies - tests: Add tests for repository related actions - storage: Support mirrors for repositories - tests: Add test for alembic migration tool - pyfaf: Add option to downgrade database - storage: Update year in alembic template - pyfaf: Fix revision tree - spec: correct satyr dependency - queries: fix wrong join - pyfaf/queries.py: implement method get_all_report_hashes - pyfaf/storage: Added serialize method - webfaf: Added method items, get_hash, get_avg_count and parameter want_object - webfaf: Similarly graphs color, release grap with unique reports - webfaf: Changed report history date range - webfaf: unique data in report detail - pyfaf: Added unique column into history tables - Use also architecture when selecting packages - Fix creating link between build and architecture - Improve epoch assigning - Add old package garbage collector - Add action to assign release to builds - Teach reposync to assign builds to operating system and release - Introduce a way of assigning release to a repository - tests: Added test for looking for solutions - Webfaf: Integrate solutions, solution filter in report and problem list - Pyfaf: fedmsg doesn't send notificatio of non-reportable report - pyfaf: Added new variable into solution finder - pyfaf: Added attributes to Solution, action find_report_solution, alembic revision - retrace: fix tests failing on RHEL6 - ureport: stop wasting memory by loading all ureports - java: drop all requirements on frame name - pyfaf: use static dictionary for signal name - pyfaf: fixi the get_report query - java: return data suitable for create-problems - java: do not assign None to file_name - addr2line: parse C++ template names - retrace: try harder to find symbol details - actions: retrace symbol sources in batches - pyfaf: optimize symbol source queries for yield_per - problemtypes: support yield_per() when reading symbol sources - storage: add a list like wrapper for Query.yield_per - retrace: correct formatting of address to hex - retracing: execute eu-addr2line with hex address - actions: teach reposync to process subset of packages - actions: cached Arch object in reposync - repos: fix rpm-metadata parser - storage: add 'rpmmetadata' to repo_type enum - repos: drop dash from RpmMetadata's name - spec: add RpmMetadata repo plugin - pyfaf: add rpm-metadata repo type - webfaf: remove debug print - Attachments: One url can be attached to many reports - Syntax error in celery task action filter - Configurable finding known ureport and buzilla bug's - Remove stray comma from README.rst - Repoassing accepts rhel on command line - Add missing flush when saving URL attachments - bugzilla: don't use tokenfile - add hash-paths action - bugzilla: fix log_warning -> log_warn - bugzilla: guard against retrieving user by name - mantis: fix bug in element filtering - bugtrackers: raise error when improperly configured - blueprint loading minor fixes - fix hashing & unicode - web: display attached urls in problem & report item - web: rename external_links to external_bugs - ureport: add accepted attachment filtering support - storage: add url attachment support - ureport: attach - factor out report fetch - farewell abrt-server-install - gen-version: don't append dirty - add compile to .gitignore - README: add link to guidelines, fix maling list link - add Celery to README.rst - add CHANGELOG.md - add CONTRIBUTING.rst guidelines - README: add IRC and Mailing list - web: use README.rst as about.rst template - have better README - gen-version: comply with semantic versioning - add mbrysa to AUTHORS - drop obsolete INSTALL & NEWS files - Revert "pyfaf: use the common add_repo argument in reposync action" - rename webfaf2 to webfaf - webfaf2: handle EVERYONE_IS_ADMIN in before_request - spec: fix perms on run/faf-celery - webfaf2: fix timeline with opsys bar stacking - pyfaf: load Report bug backrefs based of bugtracker plugins - add missing migration to Makefile.am - webfaf2: replace problem.item url with permalink in browser url bar - webfaf2: add "FIXED" status for problem bugs - webfaf2: fix saving of invalid uReports - spec: move celery-tasks storage files to the main package - spec: remove django refs - pyfaf: fix update-bugs for MantisBT - fix with/without-systemd conditional - webfaf2: allow OpenID privileged users to act as maintainers - webfaf2: restore openid config removed by webfaf removal - webfaf2: make admins maintainers of all components - webfaf2: move maintainer checking into utils functions - tests: test bucketing in create-problems - init-scripts: add Celery worker and beat systemd services - pyfaf: pull-reports use enumerate - pyfaf: improve bucketing efficiency - pyfaf: correct error in create-problems bucketing - pyfaf: add documentation comments for create-problems bucketing - pyfaf: pickle saved report ids only once in pull-reports - web2: add blueprint for managing and scheduling Celery tasks - pyfaf: add cleanup-task-results action - pyfaf: add task queue based on Celery - utils: add context manager for capturing stdout and stderr combined - webfaf removal - pyfaf: allow slash in uReport "desktop" item - tests: add test for create-reports --report-min-count - pyfaf: option to ignore low count reports in create-problems - webfaf2: correct typo in source file name filter - storage: add DatabaseFactory - web2: show field description in forms - web2: allow blueprint plugins to add their menu items - web2: add everyone_is_admin config option - pyfaf: use the common add_repo argument in reposync action - tests: test xorg-x11-drv-nouveau component in kerneloops - pyfaf: allow xorg-x11-drv-* component for kerneloops - fix log_debug typo - webfaf2: add Fedmenu configuration - Add fedmenu but display it only if configured for FAF - pyfaf: Add new taint flags - pyfaf: fix Fedmsg realtime for new and not yet flushed reports - pyfaf: realtime fedmsg notifications - pyfaf: add retrace --max-fail-count - pyfaf: require symbol for kerneloops retrace sources - pyfaf: fix unicode in retrace action - pyfaf: add fedmsg-notify action - pyfaf: migrate utils/web to webfaf2 - tests: add test for create-problems clustering - pyfaf: better reuse old problems in create-problems - include alembic.ini in package - storage: no difference in running/installed packages - pyfaf: add configurable root for yum plugin - webfaf2: add report.item links to external FAF instances - webfaf2: add problem.item links to external FAF instances - webfaf2: select only 10 BT hashes for problem permalink - webfaf: add bug status filter - pyfaf: fix Mantis bug OS release passing for older PSQL+Alchemy - pyfaf: add attach-centos-bugs action - pyfaf: add mantis bug tracker - webfaf2: show frame addresses and build IDs - webfaf2: correct product when creating a new bug for RHEL - pyfaf: add reposync --no-download-rpm and --no-store-rpm - webfaf2: add distinct in problems.list taintflag filter - pyfaf: add yield_per to a for in match-unknown-packages - webfaf2: add probably fixed filter - pyfaf: limit crashfn length to column length in find-crashfn - Revert "webfaf2: version filter: option to filter by non-CRASHED builds" - webfaf2: version filter: option to filter by non-CRASHED builds - storage: add indexes for Build - storage: add indexes for ReportComponent - webfaf2: filter only selected components when using version filter - webfaf2: reports.item: remove reference to running_package - pyfaf: fix match-unknown-packages - c2p: do not die when eu-unstrip returns non-printable characters - pyfaf: add Bugzilla "EOL" resolution - pyfaf, webfaf2: allow batch symbol transfer - tests: add problems test case for webfaf - webfaf2: problem version/release filtering - webfaf2: drop running_packages - pyfaf: handle koops frame symbol is None in BT to satyr - storage: drop ReportPackage.running_package - storage: also use semver for release - pyfaf: fix problem first and last occurrence in create-problems - spec: require alembic >= 0.5 for migrations - webfaf2: require SQLAlchemy in hub.wsgi too - storage: create index for Builds.semver - abrt-server-install: add create extension semver - tests: add tests for ruby problem type - pyfaf: add ruby problem type plugin - pyfaf: move create all tables from init action to abrt-server-install - pyfaf: add option to create all tables in faf-migrate-db - semver patchlevel has to start with a letter - use config specified by env variable exclusively - queries: fix group by error in get_empty_problems - tests: handle unsupported CREATE EXTENSION - spec: require sqlalchemy >= 0.8 - spec: require psycopg >= 2.5 - storage: use attribute event for storing Build.semver - webfaf2: fix problem associate filter query - storage: add Build.semver (semantic version field) - pyfaf: add retrace-remote action - webfaf2: add symbol transfer blueprint - storage: drop redundant stuff - tests: fix foreign keys in bugzilla test - spec: require PostgreSQL - tests: use PostgreSQL for testing - webfaf2: show error_name in reports.item - pyfaf: add nice error_name property to Report - pyfaf: python, only update errname with a valid exception name - webfaf2: fix error related to package counts in problems.item - webfaf2: proper error when report not found by bthash - webfaf2: unified related package+version table - webfaf2: fix
separator for probable fixes in problems.item - webfaf2: problems.item sort OS releases by count - tests: add test for solutions in reports.new - pyfaf: add function to find all solutions for a given report - pyfaf: catch unique constraint error when saving email attachments - webfaf: only commit permission grants maintainer status - pyfaf: add permissions for associates - webfaf2: make tagsinput styling consistent with PatternFLY - webfaf2: hide advanced problem filters under a button - webfaf2: filter problems by function, binary and source names - pyfaf: improve stats text-overview - pyfaf: only commit permission matters when syncing ACLs - pyfaf: also remove associates in pull-associates - pyfaf: catch error in pull-associates when getting ACLs fails - webfaf2: rename "Associate" to "Associate or Group" - webfaf2: also allow entering the bug's URL when associating a bug - webfaf2: add everyone_is_maintainer config option - webfaf2: case insensitive filtering for multiselect - webfaf2: flatten component_ids list when converting from comp. names - pyfaf: python 2.6 compatibility for probable fix solution finder - pyfaf: python 2.6 compatibility for unicode.encode() - webfaf2: also be able to use python-memcached - use autoreconf -f, update INSTALL - webfaf2: fix associate hashing - add missing migration to makefile.am - webfaf2: only show comments to logged-in maintainers - pyfaf: check string length when saving BzBugHistory - pyfaf: fix unicode handling in core _db_thread_to_satyr - pyfaf: fix release updating in pull-releases action - webfaf2: add server-side caching of reports.list results - webfaf2: add server-side caching of problems.list results - webfaf2: add server-side caching of summary.index results - webfaf2: add a caching backend - webfaf2: show maintainer's components by default when logged in - webfaf2: allow maintainers to create bugs from reports - webfaf2: maintainers can associate BZs with reports - webfaf2: show contact emails to maintainers - pyfaf: add contact email attachment saving - webfaf2: change component filter widget to tag list with typeahead - pyfaf: fix utf-8 handling in filename field when doing a bthash - pyfaf: always create new backtrace for report if it has none - pyfaf: pass count parameter to os and problem plugins save_ureport - webfaf2: add problem filter by type - webfaf2: add exclude taint flag filter to problems.list - pyfaf: convert {} to {} in str.format for Python 2.6 - tests: add test for probable fix solution finder - pyfaf: don't return a solution if affected package is newer than prob. fix - pyfaf: link probable_fix to Build instead of saving nevr string - pyfaf: handle list of solutions when finding solution for a problem - pyfaf: better texts for probable fix solutions, since date - pyfaf: Solution class instead of namedtuple - pyfaf: add probable fix solution finder - pyfaf: find solutions by problems and opsysreleases - webfaf2: don't return url field in solution if no url is given by solution finder - webfaf2: rotate tick labels in report timeline graphs - webfaf2: change theme to patternfly - webfaf2: move blueprint plugin import to a separate function - pyfaf: fix LD_LIBRARY_PATH for OpenShift - pyfaf: only get fXX and fXX-updates tags from koji (no inherit) - webfaf2: fix error to show comments in a problems.item - pyfaf: catch error when release is missing in koops retracing - webfaf2: fix pagination when multiple values for a filter are chosen - tests: add test for create_problems action - pyfaf: core problemtype: handle '??' in last frame - pyfaf: core problemtype: pep8 conditionals - pyfaf: fix creation of lock file for save-reports --speedup - tests: add test for save-reports - pyfaf: load save-reports paths from pyfaf.config - pyfaf: add option to speedup save-reports - pyfaf: create-problems: ignore reports that have only one frame and it's invalid - pyfaf: validate length of kernel module names - pyfaf: fix removing empty problems - pyfaf: fix problem bucketing - webfaf2: generate random secret key in %post - webfaf2: add configurable proxy fix - pyfaf: optimize create_problems, find all empty problems in one query - pyfaf: optimize create_problems, lookup dict for quick problem reuse - webfaf2: add trailing slashes to routes - webfaf2: don't show crashfn in reports.item title if no backtraces found - webfaf2: show crash function in reports.list - webfaf2: correctly show report status in reports.list - pyfaf: handle access denied to BZ bug as FafError - make dist: use tar-ustar due to long filenames - tests: fix sed failure - Add gen-version - tests: fix unittest2 / unittest breakage - pyfaf: correct saving of pratially invalid version 1 ureports - c2p: also skip PAE and debug kernels - webfaf2: add missing db parameters in reports.new - webui2: remove nonexistent problem.js - add report.crash_function, introduce utils/storage - webfaf2: add component and crash fn to title - tests: correct timestamp for save_report() - webfaf2: fix rename issues - pyfaf: migrations, catch logging dictConfig exception on Python 2.6 - webfaf2: rename webfaf2 module to webfaf2_main - webfaf2: only import OpenID module if OpenID is enabled - webfaf2: add blueprint plugin system - webui2: support caching - webui2: avoid circular imports - webui2: add missing dumpdirs.js to makefile - webfaf2: show tainted label in problems list,item and report item - webfaf2: openid enable/disable configuration - webfaf2: fix stats progress bar width for 2% * Mon Apr 15 2013 Michal Toman 0.9-1 - Initial packaging