%define faf_version 1.3.1 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%{?rhel} == 7 %global satyr_dep satyr-python > 0.13-1 %else %global satyr_dep satyr-python >= 0.16 %endif Requires(pre): shadow-utils Requires: pg-semver Requires: postgresql Requires: postgresql-server Requires: python Requires: python-setuptools Requires: python-psycopg2 >= 2.5 Requires: python-sqlalchemy >= 0.8 Requires: rpm-python # six library to cover Python 3 compatibility %if 0%{?fedora} Requires: python2-six BuildRequires: python2-six %else # rhel7 Requires: python-six BuildRequires: python-six %endif BuildRequires: autoconf BuildRequires: intltool BuildRequires: libtool # requirements for tests BuildRequires: createrepo BuildRequires: python BuildRequires: packagedb-cli BuildRequires: pg-semver BuildRequires: postgresql BuildRequires: postgresql-server 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: yum BuildRequires: %{satyr_dep} BuildRequires: python2-koji BuildRequires: python-suds BuildRequires: fedmsg # webui 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-bunch BuildRequires: python-dateutil BuildRequires: python2-ratelimitingfilter %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 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-bunch Requires: python-dateutil Requires: python2-ratelimitingfilter %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. %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. %package opsys-centos Summary: %{name}'s CentOS operating system plugin Requires: %{name} = %{faf_version} Requires: %{name}-yum = %{faf_version} %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: packagedb-cli Requires: koji Requires: python2-koji %description opsys-fedora A plugin for %{name} implementing support for Fedora operating system. %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-python >= 0.9 %description action-create-problems A plugin for %{name} implementing create-problems action %package action-shell Summary: %{name}'s shell plugin Requires: %{name} = %{faf_version} Requires: python-ipython-console %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} Requires: python-requests %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 Fedmsg %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} Requires: python-bugzilla >= 2.0 %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} Requires: python-bunch %description blueprint-celery-tasks A plugin for %{name} implementing Celery tasks blueprint plugin. %package migrations Summary: %{name}'s database migrations Requires: %{name} = %{faf_version} Requires: python-alembic >= 0.5 %description migrations Database migrations using alembic %package bugtracker-mantis Summary: %{name}'s mantis support Requires: %{name} = %{faf_version} Requires: python-suds %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 Fedmsg support Requires: %{name} = %{faf_version} Requires: fedmsg %description fedmsg Base for Fedmsg support. %package fedmsg-realtime Summary: %{name}'s support for realtime Fedmsg notification sending Requires: %{name} = %{faf_version} Requires: %{name}-fedmsg = %{faf_version} %description fedmsg-realtime Support for sending Fedmsg notifications as reports are saved. %package celery-tasks Summary: %{name}'s task queue based on Celery Requires: %{name} = %{faf_version} Requires: python-celery >= 3.1 %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 ./autogen.sh %build %configure 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 ) %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 %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/web.py* # /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*/pyfaf %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/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.rst %{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 # /usr/share/faf/ %dir %{_datadir}/faf/web %dir %{_datadir}/faf/web/static %dir %{_datadir}/faf/web/static/js %dir %{_datadir}/faf/web/static/css %{_datadir}/faf/web/static/js/*.js %{_datadir}/faf/web/static/fonts/*.otf %{_datadir}/faf/web/static/fonts/*.woff %{_datadir}/faf/web/static/fonts/*.eot %{_datadir}/faf/web/static/fonts/*.svg %{_datadir}/faf/web/static/fonts/*.ttf %{_datadir}/faf/web/static/css/*.css # /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 %{python_sitelib}/pyfaf/problemtypes/core.py* %files problem-java %config(noreplace) %{_sysconfdir}/faf/plugins/java.conf %{python_sitelib}/pyfaf/problemtypes/java.py* %files problem-kerneloops %config(noreplace) %{_sysconfdir}/faf/plugins/kerneloops.conf %{python_sitelib}/pyfaf/problemtypes/kerneloops.py* %files problem-python %config(noreplace) %{_sysconfdir}/faf/plugins/python.conf %{python_sitelib}/pyfaf/problemtypes/python.py* %files problem-ruby %config(noreplace) %{_sysconfdir}/faf/plugins/ruby.conf %{python_sitelib}/pyfaf/problemtypes/ruby.py* %files yum %config(noreplace) %{_sysconfdir}/faf/plugins/yum.conf %{python_sitelib}/pyfaf/repos/yum.py* %files opsys-centos %config(noreplace) %{_sysconfdir}/faf/plugins/centos.conf %{python_sitelib}/pyfaf/opsys/centos.py* %files opsys-fedora %config(noreplace) %{_sysconfdir}/faf/plugins/fedora.conf %{python_sitelib}/pyfaf/opsys/fedora.py* %files action-save-reports %config(noreplace) %{_sysconfdir}/faf/plugins/save-reports.conf %{python_sitelib}/pyfaf/actions/save_reports.py* %files action-archive-reports %{python_sitelib}/pyfaf/actions/archive_reports.py* %files action-create-problems %config(noreplace) %{_sysconfdir}/faf/plugins/create-problems.conf %{python_sitelib}/pyfaf/actions/create_problems.py* %files action-shell %{python_sitelib}/pyfaf/actions/shell.py* %files action-pull-releases %{python_sitelib}/pyfaf/actions/pull_releases.py* %files action-pull-reports %config(noreplace) %{_sysconfdir}/faf/plugins/pull-reports.conf %{python_sitelib}/pyfaf/actions/pull_reports.py* %files action-pull-components %{python_sitelib}/pyfaf/actions/pull_components.py* %files action-pull-associates %{python_sitelib}/pyfaf/actions/pull_associates.py* %files action-find-components %{python_sitelib}/pyfaf/actions/find_components.py* %files action-find-crash-function %{python_sitelib}/pyfaf/actions/find_crash_function.py* %files action-find-report-solution %{python_sitelib}/pyfaf/actions/find_report_solution.py* %files action-assign-release-to-builds %{python_sitelib}/pyfaf/actions/assign_release_to_builds.py* %files action-repo %{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* %files action-retrace %config(noreplace) %{_sysconfdir}/faf/plugins/retrace.conf %{python_sitelib}/pyfaf/actions/retrace.py* %files action-arch %{python_sitelib}/pyfaf/actions/archadd.py* %{python_sitelib}/pyfaf/actions/archlist.py* %files action-sf-prefilter %{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* %files action-c2p %{_bindir}/faf-c2p %{python_sitelib}/pyfaf/actions/c2p.py* %files action-bugtracker %{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* %files action-stats %{python_sitelib}/pyfaf/actions/stats.py* %files action-external-faf %{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* %files action-external-faf-clone-bz %config(noreplace) %{_sysconfdir}/faf/plugins/clonebz.conf %{python_sitelib}/pyfaf/actions/extfafclonebz.py* %files action-add-compat-hashes %{python_sitelib}/pyfaf/actions/addcompathashes.py* %files action-mark-probably-fixed %{python_sitelib}/pyfaf/actions/mark_probably_fixed.py* %files action-retrace-remote %{python_sitelib}/pyfaf/actions/retrace_remote.py* %config(noreplace) %{_sysconfdir}/faf/plugins/retrace-remote.conf %files action-attach-centos-bugs %{python_sitelib}/pyfaf/actions/attach_centos_bugs.py* %files action-fedmsg-notify %{python_sitelib}/pyfaf/actions/fedmsg_notify.py* %files action-cleanup-packages %{python_sitelib}/pyfaf/actions/cleanup_packages.py* %files action-delete-invalid-ureports %{python_sitelib}/pyfaf/actions/delete_invalid_ureports.py* %files action-cleanup-task-results %{python_sitelib}/pyfaf/actions/cleanup_task_results.py* %files action-cleanup-unassigned %{python_sitelib}/pyfaf/actions/cleanup_unassigned.py* %files action-check-repo %{python_sitelib}/pyfaf/actions/check_repo.py* %files bugtracker-bugzilla %{python_sitelib}/pyfaf/bugtrackers/bugzilla.py* %files bugtracker-fedora-bugzilla %{python_sitelib}/pyfaf/bugtrackers/fedorabz.py* %config(noreplace) %{_sysconfdir}/faf/plugins/fedorabz.conf %files bugtracker-rhel-bugzilla %{python_sitelib}/pyfaf/bugtrackers/rhelbz.py* %config(noreplace) %{_sysconfdir}/faf/plugins/rhelbz.conf %files solutionfinder-prefilter %{python_sitelib}/pyfaf/solutionfinders/prefilter_solution_finder.py* %config(noreplace) %{_sysconfdir}/faf/plugins/sf-prefilter.conf %files solutionfinder-probable-fix %{python_sitelib}/pyfaf/solutionfinders/probable_fix_solution_finder.py* %files blueprint-symbol-transfer %config(noreplace) %{_sysconfdir}/faf/plugins/symbol-transfer.conf %{python_sitelib}/webfaf/blueprints/symbol_transfer.py* %files blueprint-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 %files migrations %{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* %{_bindir}/faf-migrate-db %files bugtracker-mantis %{python_sitelib}/pyfaf/bugtrackers/mantisbt.py* %files bugtracker-centos-mantis %{python_sitelib}/pyfaf/bugtrackers/centosmantisbt.py* %config(noreplace) %{_sysconfdir}/faf/plugins/centosmantisbt.conf %files fedmsg %config(noreplace) %{_sysconfdir}/faf/plugins/fedmsg.conf %files fedmsg-realtime %{python_sitelib}/pyfaf/storage/events_fedmsg.py* %files celery-tasks %config(noreplace) %{_sysconfdir}/faf/plugins/celery_tasks.conf %{python_sitelib}/pyfaf/celery_tasks/__init__.py* %{python_sitelib}/pyfaf/celery_tasks/schedulers.py* %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 * 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 unkonwn 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 propert 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 fitler 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 paramters 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