f9a98e
%global commit befb850dbc72b117ad6bebabee314e7d41b97183
f9a98e
%global shortcommit %(c=%{commit}; echo ${c:0:7})
f9a98e
f9a98e
Name:		abrt-java-connector
f9a98e
Version:	1.0.6
f9a98e
Release:	12%{?dist}
f9a98e
Summary:	JNI Agent library converting Java exceptions to ABRT problems
f9a98e
f9a98e
Group:		System Environment/Libraries
f9a98e
License:	GPLv2+
f9a98e
URL:		https://github.com/jfilak/abrt-java-connector
f9a98e
Source0:	https://github.com/jfilak/%{name}/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz
f9a98e
f9a98e
#Patch0001:	0001-Update-the-spec-file.patch
f9a98e
Patch0002:	0002-Encapsulate-all-jthread_map-calls-inside-critical-se.patch
f9a98e
Patch0003:	0003-Add-thread-stress-test.patch
f9a98e
Patch0004:	0004-Make-thread-stress-test-more-robust.patch
f9a98e
Patch0005:	0005-Unify-reason-message-format.patch
f9a98e
Patch0006:	0006-Adapt-tests-to-the-recent-changes-in-formats.patch
f9a98e
Patch0007:	0007-Add-tests-for-reason-message-shortening.patch
f9a98e
Patch0008:	0008-Fix-a-bug-in-testdriver.patch
f9a98e
Patch0009:	0009-Add-support-for-changing-log-directory.patch
f9a98e
Patch0010:	0010-Make-log-output-disabled-by-default.patch
f9a98e
Patch0011:	0011-Add-support-for-journald-and-syslog.patch
f9a98e
Patch0012:	0012-Completely-disable-logging-in-ThreadStressTest.patch
f9a98e
Patch0013:	0013-Make-ThreadStressTest-configurable.patch
f9a98e
Patch0014:	0014-Add-an-abstract-to-README.patch
f9a98e
Patch0015:	0015-Check-error-codes-of-jvmti-functions.patch
f9a98e
Patch0016:	0016-Use-the-last-frame-s-class-path-for-executable.patch
f9a98e
Patch0017:	0017-Provide-Arch-specific-StressTest-configuration.patch
f9a98e
Patch0018:	0018-Fix-arch-specific-outputs.patch
f9a98e
#Patch0019:	0019-Update-the-spec-file.patch
f9a98e
Patch0020:	0020-Use-the-main-class-URL-for-executable.patch
f9a98e
Patch0021:	0021-Add-documentation-for-executable-option.patch
f9a98e
Patch0022:	0022-Exception-callback-code-optimizations.patch
f9a98e
Patch0023:	0023-Do-not-enter-critical-section-if-not-necessary.patch
f9a98e
Patch0024:	0024-Do-not-report-exceptions-caught-by-native-methods.patch
f9a98e
Patch0025:	0025-Update-the-missing-class-test.patch
f9a98e
Patch0026:	0026-Surround-all-JNI-calls-in-try-catch-all-block.patch
f9a98e
Patch0027:	0027-Do-not-ship-own-reporting-workflow-definitions.patch
f9a98e
#Patch0028:	0028-Remove-the-workflow-files-from-the-spec-file.patch
f9a98e
Patch0029:	0029-Speed-up-ExceptionCatch-event-callback.patch
f9a98e
Patch0030:	0030-Add-an-utility-for-stack-trace-analysis.patch
f9a98e
Patch0031:	0031-Hook-the-stack-trace-analysis-tool-in-post-create.patch
f9a98e
#Patch0032:	0032-Add-abrt-action-analyze-java-to-the-spec-file.patch
f9a98e
Patch0033:	0033-Add-test-for-analysis-tool.patch
f9a98e
Patch0034:	0034-Use-satyr-for-calculation-of-the-duplicates-hashes.patch
f9a98e
Patch0035:	0035-Add-a-manual-page-for-the-analysis-tool.patch
f9a98e
#Patch0036:	0036-Add-the-analysis-tool-s-manual-page-to-the-spec-file.patch
f9a98e
#Patch0037:	0037-Add-build-requires-for-the-analysis-tool.patch
f9a98e
Patch0038:	0038-Speed-up-thread-start-end-processing.patch
f9a98e
#Patch0039:	0039-Update-the-spec-file.patch
f9a98e
Patch0040:	0040-Fix-a-pair-of-defects-uncovered-by-coverity.patch
f9a98e
Patch0041:	0041-Make-sure-that-agent_onload-and-agent_onunload-are-p.patch
f9a98e
Patch0042:	0042-Add-a-test-for-multiple-calls-of-Agent_OnLoad.patch
f9a98e
Patch0043:	0043-Add-test-results-for-Linux-aarch64.patch
f9a98e
Patch0044:	0044-Add-test-results-for-Linux-ppc64le.patch
f9a98e
Patch0045:	0045-Update-Linux-aarch64-tests-for-rhel-7.1.patch
f9a98e
Patch0046:	0046-Install-the-agent-lib-to-non-arch-specific-directory.patch
f9a98e
#Patch0047:	0047-Update-the-spec-file.patch
f9a98e
Patch0048:	0048-Clearly-state-that-tests-cannot-be-run-under-root.patch
f9a98e
Patch0049:	0049-Update-tests-for-rhel-7.4.patch
f9a98e
Patch0050:	0050-Fix-a-deadlock-in-RemoteTest.patch
f9a98e
Patch0051:	0051-Support-test-suite-output-files-for-multiple-Java-ve.patch
f9a98e
Patch0052:	0052-Adapt-the-test-suite-to-Java-1.8.patch
f9a98e
Patch0053:	0053-Decrease-the-tested-memory-limits-because-of-failure.patch
f9a98e
Patch0054:	0054-Adapt-the-arm-test-outputs-to-java-1.8.patch
f9a98e
Patch0055:	0055-Update-the-test-results.patch
f9a98e
Patch0056:	0056-Update-the-test-results.patch
f9a98e
Patch0057:	0057-Disable-ClassNotFoundException-test-again.patch
f9a98e
Patch0058:	0058-Update-test-results-in-run_test.log.in.patch
f9a98e
Patch0059:	0059-add-test-outputs-for-java-1.7.patch
f9a98e
Patch0060:	0060-Update-tests-for-rhel-7.4-for-java-1.7.patch
f9a98e
f9a98e
# git is need for '%%autosetup -S git' which automatically applies all the
f9a98e
# patches above. Please, be aware that the patches must be generated
f9a98e
# by 'git format-patch'
f9a98e
BuildRequires:	git
f9a98e
f9a98e
BuildRequires:	cmake
f9a98e
BuildRequires:	satyr-devel
f9a98e
BuildRequires:	libreport-devel
f9a98e
BuildRequires:	abrt-devel
f9a98e
BuildRequires:	java-1.7.0-openjdk-devel
f9a98e
BuildRequires:	systemd-devel
f9a98e
BuildRequires:	gettext
f9a98e
f9a98e
Requires:	abrt >= 2.1.11-3
f9a98e
f9a98e
f9a98e
%description
f9a98e
JNI library providing an agent capable to process both caught and uncaught
f9a98e
exceptions and transform them to ABRT problems
f9a98e
f9a98e
f9a98e
%prep
f9a98e
# http://www.rpm.org/wiki/PackagerDocs/Autosetup
f9a98e
# Default '__scm_apply_git' is 'git apply && git commit' but this workflow
f9a98e
# doesn't allow us to create a new file within a patch, so we have to use
f9a98e
# 'git am' (see /usr/lib/rpm/macros for more details)
f9a98e
%define __scm_apply_git(qp:m:) %{__git} am
f9a98e
%autosetup -S git -n %{name}-%{commit}
f9a98e
f9a98e
f9a98e
%build
f9a98e
%cmake -DCMAKE_BUILD_TYPE=Release
f9a98e
make %{?_smp_mflags}
f9a98e
f9a98e
f9a98e
%install
f9a98e
make install DESTDIR=%{buildroot}
f9a98e
f9a98e
%files
f9a98e
%doc LICENSE README AUTHORS
f9a98e
%config(noreplace) %{_sysconfdir}/libreport/plugins/bugzilla_format_java.conf
f9a98e
%config(noreplace) %{_sysconfdir}/libreport/plugins/bugzilla_formatdup_java.conf
f9a98e
%config(noreplace) %{_sysconfdir}/libreport/events.d/java_event.conf
f9a98e
%{_bindir}/abrt-action-analyze-java
f9a98e
%{_mandir}/man1/abrt-action-analyze-java.1*
f9a98e
%{_mandir}/man5/java_event.conf.5*
f9a98e
%{_mandir}/man5/bugzilla_format_java.conf.5*
f9a98e
%{_mandir}/man5/bugzilla_formatdup_java.conf.5*
f9a98e
f9a98e
# Applications may use a single subdirectory under/usr/lib.
f9a98e
# http://www.pathname.com/fhs/pub/fhs-2.3.html#PURPOSE22
f9a98e
#
f9a98e
# Java does not support multilib.
f9a98e
# https://fedorahosted.org/fesco/ticket/961
f9a98e
%{_prefix}/lib/abrt-java-connector
f9a98e
f9a98e
%check
f9a98e
# Run tests as root can broke your system.
f9a98e
# Tests are trying to modify system files in order
f9a98e
# to get permission denied exceptions.
f9a98e
# https://bugzilla.redhat.com/show_bug.cgi?id=1259309
f9a98e
if [ "_0" != "_$(id -u)" ]; then
f9a98e
    make test || {
f9a98e
        cat Testing/Temporary/LastTest.log
f9a98e
        exit 69
f9a98e
    }
f9a98e
else
f9a98e
    echo "Cannot run tests under root user.";
f9a98e
    exit 1;
f9a98e
fi
f9a98e
f9a98e
f9a98e
f9a98e
f9a98e
%changelog
f9a98e
* Mon May 15 2017 Matej Habrnal <mhabrnal@redhat.com> - 1.0.6-12
f9a98e
- Fix the tests cannot be run under root
f9a98e
- Resolves: #1259309
f9a98e
f9a98e
* Tue May  9 2017 Matej Habrnal <mhabrnal@redhat.com> - 1.0.6-11
f9a98e
- update test outputs to work with java-1.8.0-openjdk
f9a98e
- Resolves: #1436776
f9a98e
f9a98e
* Tue Feb 14 2017 Matej Habrnal <mhabrnal@redhat.com> - 1.0.6-10
f9a98e
- Clearly state that tests cannot be run under root
f9a98e
- Resolves: #1259309
f9a98e
f9a98e
* Thu Jul 02 2015 Jakub Filak <jfilak@redhat.com> - 1.0.6-9
f9a98e
- Install the library to /usr/lib/abrt-java-connector on all arches
f9a98e
- Resolves: #1238578
f9a98e
f9a98e
* Mon Sep 22 2014 Jakub Filak <jfilak@redhat.com> - 1.0.6-8
f9a98e
- Adapt aarch64 test results to RHEL7.1
f9a98e
- Resolves: #1133406
f9a98e
f9a98e
* Thu Aug 21 2014 Jakub Filak <jfilak@redhat.com> - 1.0.6-7
f9a98e
- Add test results for Linux-ppc64le
f9a98e
- Resolves: #1125469
f9a98e
f9a98e
* Tue Feb 11 2014 Jakub Filak <jfilak@redhat.com> - 1.0.6-6
f9a98e
- Make sure that agent_onload and agent_onunload are processed only once
f9a98e
- Add test results for Linux-aarch64
f9a98e
- Resolves: #1044756, #1063322
f9a98e
f9a98e
* Fri Jan 31 2014 Jakub Filak <jfilak@redhat.com> - 1.0.6-5
f9a98e
- Fix a pair of defects uncovered by covscan
f9a98e
- Resolves: #1056584
f9a98e
f9a98e
* Tue Jan 28 2014 Daniel Mach <dmach@redhat.com> - 1.0.6-4
f9a98e
- Mass rebuild 2014-01-24
f9a98e
f9a98e
* Wed Jan 22 2014 Jakub Filak <jfilak@redhat.com> - 1.0.6-3
f9a98e
- Mark stack trace with remote paths as not-reportable
f9a98e
- Do not provide own reporting workflows
f9a98e
- Code optimization
f9a98e
- Do not report exception caught by native functions
f9a98e
- Use the last frame class path for executable
f9a98e
- Gracefully handle JVMTI errors
f9a98e
- Add an abstract to README
f9a98e
- Add support for journald and syslog
f9a98e
- Make log output disabled by default
f9a98e
- Add support for changing log directory
f9a98e
- Fix a race condition causing a crash of JVM
f9a98e
- Related: #1051198
f9a98e
- Resolves: #1051483, #1054720, #1054737, #1055581
f9a98e
f9a98e
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.0.6-2
f9a98e
- Mass rebuild 2013-12-27
f9a98e
f9a98e
* Tue Oct 01 2013 Jakub Filak <jfilak@redhat.com> - 1.0.6-1
f9a98e
- Fix a deadlock in GC start callback
f9a98e
- Disable experimental features in production releases
f9a98e
- Resolves: #1012827
f9a98e
f9a98e
* Tue Jul 30 2013 Jakub Filak <jfilak@redhat.com> - 1.0.5-1
f9a98e
- Provide a proper configuration for libreport
f9a98e
f9a98e
* Thu Jul 18 2013 Jakub Filak <jfilak@redhat.com> - 1.0.4-1
f9a98e
- Stop creating an empty log file
f9a98e
- Resolves: #985776
f9a98e
f9a98e
* Tue Jul 16 2013 Jakub Filak <jfilak@redhat.com> - 1.0.3-1
f9a98e
- Fix tests on arm
f9a98e
f9a98e
* Tue Jul 09 2013 Jakub Filak <jfilak@redhat.com> - 1.0.2-1
f9a98e
- Do not crash on empty command line options
f9a98e
f9a98e
* Mon Jul 08 2013 Jakub Filak <jfilak@redhat.com> - 1.0.1-1
f9a98e
- Fix tests on ppc and s390 on both 32 and 64 bit
f9a98e
f9a98e
* Thu Jun 27 2013 Jakub Filak <jfilak@redhat.com> - 1.0.0-1
f9a98e
- Publicly releasable version
f9a98e
f9a98e
* Mon Jun 03 2013 Jakub Filak <jfilak@redhat.com> - 0.1.2-1
f9a98e
- Start versioning library
f9a98e
- Drop build dependency on abrt-devel
f9a98e
f9a98e
* Mon Jun 03 2013 Jakub Filak <jfilak@redhat.com> - 0.1.1-2
f9a98e
- Provide ABRT configuration
f9a98e
f9a98e
* Mon Jun 03 2013 Jakub Filak <jfilak@redhat.com> - 0.1.1-1
f9a98e
- New release
f9a98e
f9a98e
* Fri May 31 2013 Jakub Filak <jfilak@redhat.com> - 0.1.0-3
f9a98e
- Build with the library name same as the package name
f9a98e
f9a98e
* Fri May 31 2013 Jakub Filak <jfilak@redhat.com> - 0.1.0-2
f9a98e
- Build with ABRT enabled
f9a98e
f9a98e
* Fri May 31 2013 Jakub Filak <jfilak@redhat.com> - 0.1.0-1
f9a98e
- Initial version