f41043
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
f41043
f41043
# rhel6's python-sphinx cannot build manual pages
f41043
%if 0%{?rhel} && 0%{?rhel} <= 6
f41043
  %define enable_python_manpage 0
f41043
%else
f41043
  %define enable_python_manpage 1
f41043
%endif
f41043
f41043
%if 0%{?suse_version}
f41043
  %define python2_devel python-devel
f41043
  %define libdw_devel libdw-devel
f41043
  %define libelf_devel libelf-devel
f41043
%else
f41043
  %define python2_devel python2-devel
f41043
  %define libdw_devel elfutils-devel
f41043
  %define libelf_devel elfutils-libelf-devel
f41043
%endif
f41043
f41043
Name: satyr
f41043
Version: 0.13
f41043
Release: 15%{?dist}
f41043
Summary: Tools to create anonymous, machine-friendly problem reports
f41043
Group: System Environment/Libraries
f41043
License: GPLv2+
f41043
URL: https://github.com/abrt/satyr
f41043
Source0: https://fedorahosted.org/released/abrt/satyr-%{version}.tar.xz
f41043
BuildRequires: %{python2_devel}
f41043
BuildRequires: %{libdw_devel}
f41043
BuildRequires: %{libelf_devel}
f41043
BuildRequires: binutils-devel
f41043
BuildRequires: rpm-devel
f41043
BuildRequires: libtool
f41043
BuildRequires: pkgconfig
f41043
BuildRequires: automake
f41043
BuildRequires: gcc-c++
f41043
%if %{?enable_python_manpage}
f41043
BuildRequires: python-sphinx
f41043
%endif
f41043
f41043
# git is need for '%%autosetup -S git' which automatically applies all the
f41043
# patches above. Please, be aware that the patches must be generated
f41043
# by 'git format-patch'
f41043
BuildRequires: git
f41043
f41043
Patch0: satyr-0.13-elfutils-0.158.patch
f41043
Patch1: satyr-0.13-elfutils-unwinder.patch
f41043
Patch2: satyr-0.13-disable-fingerprints.patch
f41043
Patch3: satyr-0.13-unwinder-refresh-config-h.patch
f41043
f41043
# 1142856, minor bugs found by static analyzer
f41043
Patch4: satyr-0.13-static-analyzer-bugs.patch
f41043
f41043
# 1123262, empty duphash of unreliable koops
f41043
Patch5: satyr-0.13-koops-unreliable-frames.patch
f41043
f41043
# 1142339, python exception parsing
f41043
Patch6: satyr-0.13-python-exceptions.patch
f41043
f41043
# 1142338, ppc64 backtrace parsing
f41043
Patch7: satyr-0.13-ppc64-backtrace-parsing.patch
f41043
f41043
# 1142346, limit stacktrace depth
f41043
Patch8: satyr-0.13-limit-stacktrace-depth.patch
f41043
f41043
# 1139555, ureport auth support
f41043
Patch9: satyr-0.13-ureport-auth-support.patch
f41043
f41043
# 1034857, ignore java suppressed exceptions
f41043
Patch10: satyr-0.13-java-suppressed-exceptions.patch
f41043
f41043
# 1147952, don't free gdb stacktrace on method failure
f41043
Patch11: satyr-0.13-dont-free-gdb-stacktrace.patch
f41043
f41043
# 1142346, better handling of infinite recursion
f41043
Patch12: satyr-0.13-better-inf-recursion-handling.patch
f41043
f41043
# 1210599, add functionality to generate a backtrace without saving a coredump
f41043
Patch13: satyr-0.13-fulfill-missing-values-in-core-frames.patch
f41043
Patch14: satyr-0.13-unwind-minor-refactoring.patch
f41043
Patch15: satyr-0.13-support-unwinding-from-core-hook.patch
f41043
Patch16: satyr-0.13-debug-unwinding-from-core-hook-using-satyr-binary.patch
f41043
Patch17: satyr-0.13-disable-hook-unwind-on-kernels-w-o-PTRACE_SEIZE.patch
f41043
Patch18: satyr-0.13-abrt-refactorize-unwinding-from-core-hook.patch
f41043
Patch19: satyr-0.13-core_unwind-fix-the-missing-frame-build_id-and-file.patch
f41043
f41043
# 1334604, add support for Ruby
f41043
Patch20: satyr-0.13-Add-support-for-Ruby-report-type.patch
f41043
Patch21: satyr-0.13-python-add-Ruby-support.patch
f41043
f41043
# 1332869, actualize list of normalization function in satyr
f41043
Patch22: satyr-0.13-normalize-extend-xorg-blacklist.patch
f41043
Patch23: satyr-0.13-normalization-additional-X-GDK-functions.patch
f41043
Patch24: satyr-0.13-normalization-add-glibc-__assert_fail_base.patch
f41043
Patch25: satyr-0.13-normalization-add-glibc-__libc_fatal.patch
f41043
Patch26: satyr-0.13-normalization-normalize-out-exit-frames.patch
f41043
Patch27: satyr-0.13-normalization-actualize-list-of-functions.patch
f41043
f41043
# 1334604, add support for Ruby testsuite fix
f41043
Patch28: satyr-0.13-tests-fix-failure-on-gcc5-on-x86_64.patch
f41043
f41043
# 1336390, fix defects found by coverity
f41043
Patch29: satyr-0.13-Fix-defects-found-by-coverity.patch
f41043
Patch30: satyr-0.13-Check-the-return-value-of-sr_parse_char_cspan.patch
f41043
f41043
# 1342469, support for VARIANT and VARIANT_ID
f41043
Patch31: satyr-0.13-os-add-support-for-OS-Variant.patch
f41043
f41043
# 1260074, Incorrectly unwinding core_backtrace for stack overflow (aarch64)
f41043
Patch32: satyr-0.13-Honor-frame-number-limit-in-GDB-core-unwinder.patch
f41043
Patch33: satyr-0.13-testsuite-add-test-for-limit-frame-number-in-GDB-cor.patch
f41043
f41043
%description
f41043
Satyr is a library that can be used to create and process microreports.
f41043
Microreports consist of structured data suitable to be analyzed in a fully
f41043
automated manner, though they do not necessarily contain sufficient information
f41043
to fix the underlying problem. The reports are designed not to contain any
f41043
potentially sensitive data to eliminate the need for review before submission.
f41043
Included is a tool that can create microreports and perform some basic
f41043
operations on them.
f41043
f41043
%package devel
f41043
Summary: Development libraries for %{name}
f41043
Group: Development/Libraries
f41043
Requires: %{name}%{?_isa} = %{version}-%{release}
f41043
f41043
%description devel
f41043
Development libraries and headers for %{name}.
f41043
f41043
%package python
f41043
Summary: Python bindings for %{name}
f41043
Group: Development/Libraries
f41043
Requires: %{name}%{?_isa} = %{version}-%{release}
f41043
f41043
%description python
f41043
Python bindings for %{name}.
f41043
f41043
%prep
f41043
# http://www.rpm.org/wiki/PackagerDocs/Autosetup
f41043
# Default '__scm_apply_git' is 'git apply && git commit' but this workflow
f41043
# doesn't allow us to create a new file within a patch, so we have to use
f41043
# 'git am' (see /usr/lib/rpm/macros for more details)
f41043
%define __scm_apply_git(qp:m:) %{__git} am
f41043
%autosetup -S git
f41043
f41043
%build
f41043
autoreconf
f41043
f41043
%configure \
f41043
%if ! %{?enable_python_manpage}
f41043
        --disable-python-manpage \
f41043
%endif
f41043
        --disable-static
f41043
f41043
make %{?_smp_mflags}
f41043
f41043
%install
f41043
make install DESTDIR=%{buildroot}
f41043
f41043
# Remove all libtool archives (*.la) from modules directory.
f41043
find %{buildroot} -name "*.la" | xargs rm --
f41043
f41043
%check
f41043
make check || {
f41043
    # find and print the logs of failed test
f41043
    # do not cat tests/testsuite.log because it contains a lot of bloat
f41043
    find tests -name "testsuite.log" -print -exec cat '{}' \;
f41043
    exit 1
f41043
}
f41043
f41043
f41043
%post -p /sbin/ldconfig
f41043
%postun -p /sbin/ldconfig
f41043
f41043
%files
f41043
%doc README NEWS COPYING
f41043
%{_bindir}/satyr
f41043
%{_mandir}/man1/%{name}.1*
f41043
%{_libdir}/lib*.so.*
f41043
f41043
%files devel
f41043
%{_includedir}/*
f41043
%{_libdir}/lib*.so
f41043
%{_libdir}/pkgconfig/*
f41043
f41043
%files python
f41043
%dir %{python_sitearch}/%{name}
f41043
%{python_sitearch}/%{name}/*
f41043
f41043
%if %{?enable_python_manpage}
f41043
%{_mandir}/man3/satyr-python.3*
f41043
%endif
f41043
f41043
%changelog
f41043
* Tue Jun 19 2018 Matej Marusak <mmarusak@redhat.com> - 0.13-15
f41043
- Honor frame number limit in GDB core unwinder
f41043
  - Related: #1260074
f41043
f41043
* Mon Jun 06 2016 Matej Habrnal <mhabrnal@redhat.com> - 0.13-14
f41043
- add support for OS Variant
f41043
  - Related: #1342469
f41043
f41043
* Thu May 12 2016 Matej Habrnal <mhabrnal@redhat.com> - 0.13-13
f41043
- add support for Ruby
f41043
  - Related: #1334604
f41043
- actualize list of normalization function in satyr
f41043
  - Related: #1332869
f41043
- fix defects found by coverity
f41043
  - Related: #1336390
f41043
f41043
* Wed Sep 9 2015 Richard Marko <rmarko@redhat.com> - 0.13-12
f41043
- apply last patch
f41043
  - Related: #1210599
f41043
f41043
* Wed Sep 9 2015 Richard Marko <rmarko@redhat.com> - 0.13-11
f41043
- core unwind: fix the missing frame build_id and file_name
f41043
  - Related: #1210599
f41043
f41043
* Fri Jul 17 2015 Richard Marko <rmarko@redhat.com> - 0.13-10
f41043
- leave saving of core backtrace to abrt hook
f41043
  - Related: #1210599
f41043
f41043
* Tue Jun 23 2015 Richard Marko <rmarko@redhat.com> - 0.13-9
f41043
- Add functionality to generate a backtrace without saving a coredump
f41043
  - Resolves: #1210599
f41043
f41043
* Wed Nov 19 2014 Martin Milata <mmilata@redhat.com> - 0.13-8
f41043
- Better handling of stacktraces with infinite recursion
f41043
  - Resolves: #1142346
f41043
f41043
* Fri Oct 03 2014 Martin Milata <mmilata@redhat.com> - 0.13-7
f41043
- Don't free GDB stacktrace on error
f41043
  - Resolves: #1147952
f41043
f41043
* Fri Oct 03 2014 Martin Milata <mmilata@redhat.com> - 0.13-6
f41043
- Ignore suppressed exceptions in the Java exception parser
f41043
  - Resolves: #1034857
f41043
f41043
* Thu Sep 18 2014 Martin Milata <mmilata@redhat.com> - 0.13-5
f41043
- Fix minor bugs found by static analyzers
f41043
  - Resolves: #1142856
f41043
- Return empty duphash for koopses with no reliable frames
f41043
  - Resolves: #1123262
f41043
- Fix parsing of python SyntaxError exceptions
f41043
  - Resolves: #1142339
f41043
- Fix parsing of ppc64 gdb stacktraces
f41043
  - Resolves: #1142338
f41043
- Limit the depth of generated stacktrace to avoid huge reports
f41043
  - Resolves: #1142346
f41043
- Add authentication support to uReport, needed for reporting to customer portal
f41043
  - Resolves: #1139555
f41043
f41043
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 0.13-4
f41043
- Mass rebuild 2014-01-24
f41043
f41043
* Wed Jan 22 2014 Martin Milata <mmilata@redhat.com> 0.13-3
f41043
- Fix build with elfutils unwinder
f41043
  - Resolves: #1051569
f41043
f41043
* Tue Jan 14 2014 Martin Milata <mmilata@redhat.com> 0.13-2
f41043
- Use elfutils unwinder
f41043
  - Resolves: #1051569
f41043
- Disable function fingerprinting
f41043
  - Resolves: #1052402
f41043
f41043
* Tue Jan 07 2014 Martin Milata <mmilata@redhat.com> 0.13-1
f41043
- Rebase to satyr-0.13
f41043
  - Resolves: #1040900
f41043
- Includes patch to build against elfutils-0.158
f41043
f41043
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 0.9-3
f41043
- Mass rebuild 2013-12-27
f41043
f41043
* Wed Dec 04 2013 Martin Milata <mmilata@redhat.com> 0.9-2
f41043
- Fix malformed JSON for some Java and koops reports
f41043
  - Resolves: #1035317
f41043
  - Resolves: #1036790
f41043
- Fix memory leak in RPM handling
f41043
  - Resolves: #1016780
f41043
- Check for unsigned overflows
f41043
  - Resolves: #1034869
f41043
f41043
* Wed Sep 11 2013 Jakub Filak <jfilak@redhat.com> 0.9-1
f41043
- New upstream version
f41043
  - Enrich koops uReport data with koops text and kernel version.
f41043
  - Improve koops modules handling.
f41043
f41043
* Wed Aug 28 2013 Richard Marko<rmarko@redhat.com> 0.8-1
f41043
- New upstream version
f41043
  - Added support for json de/serialization of reports and stacktraces.
f41043
  - Library version number increased, as the interface changed since the last release
f41043
f41043
* Mon Aug 26 2013 Martin Milata <mmilata@redhat.com> 0.7-1
f41043
- New upstream version
f41043
  - Fix couple of crashes (#997076, #994747)
f41043
f41043
* Mon Jul 29 2013 Martin Milata <mmilata@redhat.com> 0.6-1
f41043
- New upstream version
f41043
  - Do not export internal function symbols.
f41043
f41043
* Thu Jul 25 2013 Martin Milata <mmilata@redhat.com> 0.5-2
f41043
- Remove libunwind dependency altogether, always use GDB for unwinding.
f41043
f41043
* Thu Jul 25 2013 Jakub Filak <jfilak@redhat.com> 0.5-1
f41043
- Added function that creates core stacktrace from GDB output. Several bugfixes.
f41043
f41043
* Tue Jul 09 2013 Martin Milata <mmilata@redhat.com> 0.4-2
f41043
- Fix failing tests (failure manifests only on s390x)
f41043
f41043
* Mon Jul 08 2013 Martin Milata <mmilata@redhat.com> 0.4-1
f41043
- New upstream version
f41043
  - Added features needed by ABRT
f41043
  - Support for uReport2
f41043
  - Major C and Python API changes
f41043
- Patch for python-2.6 compatibility
f41043
f41043
* Tue Apr 02 2013 Dan HorĂ¡k <dan[at]danny.cz> 0.3-2
f41043
- libunwind exists only on selected arches
f41043
f41043
* Mon Mar 25 2013 Martin Milata <mmilata@redhat.com> 0.3-1
f41043
- New upstream version
f41043
  - Bug fixes
f41043
  - Build fixes for older systems
f41043
- Do not require libunwind on rhel
f41043
f41043
* Mon Mar 18 2013 Martin Milata <mmilata@redhat.com> 0.2-1
f41043
- Documentation and spec cleanup
f41043
- Build fixes (build against RPM)
f41043
f41043
* Mon Aug 30 2010 Karel Klic <kklic@redhat.com> 0.1-1
f41043
- Upstream package spec file