mfabik / rpms / satyr

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