Blame SPECS/papi.spec

c7ea89
%bcond_with bundled_libpfm
c7ea89
Summary: Performance Application Programming Interface
c7ea89
Name: papi
c7ea89
Version: 5.2.0
322c93
Release: 25%{?dist}
c7ea89
License: BSD
c7ea89
Group: Development/System
c7ea89
URL: http://icl.cs.utk.edu/papi/
c7ea89
Source0: http://icl.cs.utk.edu/projects/papi/downloads/%{name}-%{version}.tar.gz
c7ea89
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
c7ea89
Patch100: papi-intel.patch
c7ea89
Patch200: papi-aarch64.patch
c7ea89
Patch201: papi-xgene.patch
c7ea89
Patch300: papi-coverity.patch
c7ea89
Patch400: papi-hsw_ep.patch
c7ea89
Patch401: papi-kvmrapl.patch
c7ea89
Patch500: papi-sys_mem_info.patch
c7ea89
Patch700: papi-krentel.patch
c7ea89
Patch900: papi-inficonst.patch
c7ea89
Patch1000: papi-bz1263666.patch
c7ea89
Patch1001: papi-bz1326977.patch
c7ea89
Patch1002: papi-bz1277931.patch
c7ea89
Patch1003: papi-bz1313088.patch
c7ea89
Patch1004: papi-postfixcalc.patch
c7ea89
Patch1005: papi-errmsg.patch
c7ea89
Patch1006: papi-schedule.patch
c7ea89
Patch1010: papi-rhbz1362591.patch
c7ea89
Patch1011: papi-ppc64_cache.patch
c7ea89
Patch1012: papi-intel_knl.patch
c7ea89
Patch2000: papi-avoid_libpfm_enum.patch
c7ea89
Patch2001: papi-power9.patch
322c93
Patch2002: papi-p9_presets.patch
322c93
Patch2003: papi-lmsensors.patch
c7ea89
BuildRequires: autoconf
c7ea89
BuildRequires: doxygen
c7ea89
BuildRequires: ncurses-devel
c7ea89
BuildRequires: gcc-gfortran
c7ea89
BuildRequires: kernel-headers >= 2.6.32
c7ea89
BuildRequires: chrpath
c7ea89
BuildRequires: lm_sensors-devel
c7ea89
%if %{without bundled_libpfm}
c7ea89
BuildRequires: libpfm-devel >= 4.4.0-9
c7ea89
BuildRequires: libpfm-static >= 4.4.0-9
c7ea89
%endif
c7ea89
# Following required for net component
c7ea89
BuildRequires: net-tools
c7ea89
# Following required for inifiband component
c7ea89
BuildRequires: libibmad-devel
c7ea89
#Right now libpfm does not know anything about s390 and will fail
c7ea89
ExcludeArch: s390 s390x
c7ea89
c7ea89
%description
c7ea89
PAPI provides a programmer interface to monitor the performance of
c7ea89
running programs.
c7ea89
c7ea89
%package devel
c7ea89
Summary: Header files for the compiling programs with PAPI
c7ea89
Group: Development/System
c7ea89
Requires: papi = %{version}-%{release}
c7ea89
%description devel
c7ea89
PAPI-devel includes the C header files that specify the PAPI user-space
c7ea89
libraries and interfaces. This is required for rebuilding any program
c7ea89
that uses PAPI.
c7ea89
c7ea89
%package testsuite
c7ea89
Summary: Set of tests for checking PAPI functionality
c7ea89
Group: Development/System
c7ea89
Requires: papi = %{version}-%{release}
c7ea89
%description testsuite
c7ea89
PAPI-testuiste includes compiled versions of papi tests to ensure
c7ea89
that PAPI functions on particular hardware.
c7ea89
c7ea89
%package static
c7ea89
Summary: Static libraries for the compiling programs with PAPI
c7ea89
Group: Development/System
c7ea89
Requires: papi = %{version}-%{release}
c7ea89
%description static
c7ea89
PAPI-static includes the static versions of the library files for
c7ea89
the PAPI user-space libraries and interfaces.
c7ea89
c7ea89
%prep
c7ea89
%setup -q
c7ea89
%patch100 -p1
c7ea89
%patch200 -p1
c7ea89
%patch201 -p1
c7ea89
%patch300 -p1
c7ea89
%patch400 -p1
c7ea89
%patch401 -p1
c7ea89
%patch500 -p1
c7ea89
%patch700 -p1
c7ea89
%patch900 -p1
c7ea89
%patch1000 -p1
c7ea89
%patch1001 -p1
c7ea89
%patch1002 -p1
c7ea89
%patch1003 -p1
c7ea89
%patch1004 -p1
c7ea89
%patch1005 -p1
c7ea89
%patch1006 -p1
c7ea89
%patch1010 -p1 -b .rhbz1362591
c7ea89
%patch1011 -p1 -b .ppc64cache
c7ea89
%patch1012 -p1 -b .knl
c7ea89
%patch2000 -p1 -b .max
c7ea89
%patch2001 -p1 -b .power9
322c93
%patch2002 -p1 -b .power9a
322c93
%patch2003 -p1 -b .lm_dyn
c7ea89
c7ea89
%build
c7ea89
%if %{without bundled_libpfm}
c7ea89
# Build our own copy of libpfm.
c7ea89
%global libpfm_config --with-pfm-incdir=%{_includedir} --with-pfm-libdir=%{_libdir}
c7ea89
%endif
c7ea89
c7ea89
cd src
c7ea89
autoconf
c7ea89
%configure --with-perf-events \
c7ea89
%{?libpfm_config} \
c7ea89
--with-static-lib=yes --with-shared-lib=yes --with-shlib \
c7ea89
--with-components="appio coretemp example lmsensors lustre micpower mx net rapl stealtime"
c7ea89
# implicit enabled components: perf_event perf_event_uncore
c7ea89
#components currently left out because of build configure/build issues
c7ea89
# --with-components="bgpm coretemp_freebsd cuda host_micpower nvml vmware"
c7ea89
c7ea89
pushd components
c7ea89
#pushd cuda; ./configure; popd
c7ea89
#pushd host_micpower; ./configure; popd
c7ea89
#pushd infiniband; ./configure; popd
c7ea89
pushd lmsensors; \
c7ea89
 %configure --with-sensors_incdir=/usr/include/sensors \
c7ea89
 --with-sensors_libdir=%{_libdir}; \
c7ea89
 popd
c7ea89
#pushd vmware; ./configure; popd
c7ea89
popd
c7ea89
c7ea89
#DBG workaround to make sure libpfm just uses the normal CFLAGS
c7ea89
DBG="" make %{?_smp_mflags}
c7ea89
c7ea89
#generate updated versions of the documentation
c7ea89
#DBG workaround to make sure libpfm just uses the normal CFLAGS
c7ea89
pushd ../doc
c7ea89
DBG="" make
c7ea89
DBG="" make install
c7ea89
popd
c7ea89
c7ea89
%install
c7ea89
rm -rf $RPM_BUILD_ROOT
c7ea89
cd src
c7ea89
make DESTDIR=$RPM_BUILD_ROOT LDCONFIG=/bin/true install-all
c7ea89
c7ea89
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/*.so*
c7ea89
c7ea89
%post -p /sbin/ldconfig
c7ea89
%postun -p /sbin/ldconfig
c7ea89
%clean
c7ea89
rm -rf $RPM_BUILD_ROOT
c7ea89
c7ea89
%files
c7ea89
%defattr(-,root,root,-)
c7ea89
%{_bindir}/*
c7ea89
%{_libdir}/*.so.*
c7ea89
%dir /usr/share/papi
c7ea89
/usr/share/papi/papi_events.csv
c7ea89
%doc INSTALL.txt README LICENSE.txt RELEASENOTES.txt
c7ea89
%doc %{_mandir}/man1/*
c7ea89
c7ea89
%files devel
c7ea89
%defattr(-,root,root,-)
c7ea89
%{_includedir}/*.h
c7ea89
%if %{with bundled_libpfm}
c7ea89
%{_includedir}/perfmon/*.h
c7ea89
%endif
c7ea89
%{_libdir}/*.so
c7ea89
%doc %{_mandir}/man3/*
c7ea89
c7ea89
%files testsuite
c7ea89
%defattr(-,root,root,-)
c7ea89
/usr/share/papi/run_tests*
c7ea89
/usr/share/papi/ctests
c7ea89
/usr/share/papi/ftests
c7ea89
/usr/share/papi/components
c7ea89
/usr/share/papi/testlib
c7ea89
c7ea89
%files static
c7ea89
%defattr(-,root,root,-)
c7ea89
%{_libdir}/*.a
c7ea89
c7ea89
%changelog
322c93
* Thu Nov 30 2017 William Cohen <wcohen@redhat.com> - 5.2.0-25
322c93
- Update IBM Power 9 events. rhbz1510684
322c93
- Make lmsensor dynamically size internal array. rhbz1510497
322c93
c7ea89
* Fri Jun 23 2017 William Cohen <wcohen@redhat.com> - 5.2.0-24
c7ea89
- Add power9 support. rhbz1368708
c7ea89
c7ea89
* Fri Jun 9 2017 William Cohen <wcohen@redhat.com> - 5.2.0-23
c7ea89
- Avoid using PFM_PMU_MAX.
c7ea89
c7ea89
* Wed Apr 26 2017 William Cohen <wcohen@redhat.com> - 5.2.0-22
c7ea89
- Disable infiniband component. rhbz1445777
c7ea89
c7ea89
* Wed Mar 22 2017 William Cohen <wcohen@redhat.com> - 5.2.0-21
c7ea89
- Correct ppc64 events. rhbz1385008
c7ea89
- Add events for Intel KNL. rhbz1412952
c7ea89
c7ea89
* Tue Mar 21 2017 William Cohen <wcohen@redhat.com> - 5.2.0-20
c7ea89
- Dynamically link the papi ctests. rhbz1362591
c7ea89
c7ea89
* Tue Aug 2 2016 William Cohen <wcohen@redhat.com> - 5.2.0-19
c7ea89
- Rebuild with libpfm-4.7.0.
c7ea89
c7ea89
* Wed Jul 27 2016 William Cohen <wcohen@redhat.com> - 5.2.0-18
c7ea89
- Check schedulability on aarch64.
c7ea89
c7ea89
* Tue Jul 26 2016 William Cohen <wcohen@redhat.com> - 5.2.0-17
c7ea89
- Eliminate possible stack smashing.
c7ea89
c7ea89
* Tue Jun 21 2016 William Cohen <wcohen@redhat.com> - 5.2.0-16
c7ea89
- Correct ftests/tenth test behavior on power. rhbz1313088
c7ea89
c7ea89
* Thu May 12 2016 William Cohen <wcohen@redhat.com> - 5.2.0-15
c7ea89
- Update papi L1 cache events on POWER7
c7ea89
- Prevent papi-testsuite segfaults
c7ea89
- Identify kernels that support rdpmc
c7ea89
- Correct papi-testsuite byte_profile and sprofile tests on ppc64le
c7ea89
- Update PAPI_L1_TCM event on Haswells
c7ea89
c7ea89
* Mon Aug 10 2015 William Cohen <wcohen@redhat.com> - 5.2.0-14
c7ea89
- Fix build for newer infiband libs. rhbz1251645
c7ea89
c7ea89
* Mon Jun 29 2015 William Cohen <wcohen@redhat.com> - 5.2.0-13
c7ea89
- Bump and rebuild.
c7ea89
c7ea89
* Fri Jun 26 2015 William Cohen <wcohen@redhat.com> - 5.2.0-12
c7ea89
- Improved check that rapl is supported. rhbz1228832
c7ea89
c7ea89
* Thu Jun 4 2015 William Cohen <wcohen@redhat.com> - 5.2.0-11
c7ea89
- Correct krentel test. rhbz1191199
c7ea89
c7ea89
* Thu Oct 16 2014 William Cohen <wcohen@redhat.com> - 5.2.0-10
c7ea89
- Bump and rebuid for chained build. rhbz1126091
c7ea89
c7ea89
* Wed Oct 15 2014 Frank Ch. Eigler <fche@redhat.com> - 5.2.0-9
c7ea89
- Make sys_mem_info size dynamic. Related rhbz1152641.
c7ea89
c7ea89
* Tue Oct 14 2014 William Cohen <wcohen@redhat.com> - 5.2.0-8
c7ea89
- Recognize hsw_ep from libpfm. Related rhbz1126090
c7ea89
c7ea89
* Thu Sep 25 2014 William Cohen <wcohen@redhat.com> - 5.2.0-7
c7ea89
- Update papi presets for Intel processors. Resolves rhbz1126090 
c7ea89
- Eliminate some errors found by coverity. Releated rhbz1057778
c7ea89
c7ea89
* Thu Sep 4 2014 William Cohen <wcohen@redhat.com> - 5.2.0-6
c7ea89
- Add ARM aarch64 (APM X-Gene and Cortex A57)  support.  Resolves rhbz963458.
c7ea89
c7ea89
* Tue Jan 14 2014 William Cohen <wcohen@redhat.com> - 5.2.0-5
c7ea89
- Add presets for Intel Silvermont.
c7ea89
c7ea89
* Mon Jan 13 2014 William Cohen <wcohen@redhat.com> - 5.2.0-4
c7ea89
- Add presets for Haswell and Ivy Bridge.
c7ea89
c7ea89
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 5.2.0-3
c7ea89
- Mass rebuild 2013-12-27
c7ea89
c7ea89
* Wed Aug 14 2013 William Cohen <wcohen@redhat.com> - 5.2.0-2
c7ea89
- Enable infiniband and stealtime components.
c7ea89
c7ea89
* Wed Aug 07 2013 William Cohen <wcohen@redhat.com> - 5.2.0-1
c7ea89
- Rebase to 5.2.0
c7ea89
c7ea89
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.1-8
c7ea89
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
c7ea89
c7ea89
* Wed Jul 24 2013 William Cohen <wcohen@redhat.com> - 5.1.1-7
c7ea89
- rhbz830275 - Add support for POWER8 processor to PAPI
c7ea89
c7ea89
* Mon Jul 22 2013 William Cohen <wcohen@redhat.com> - 5.1.1-6
c7ea89
- Add autoconf buildrequires.
c7ea89
c7ea89
* Mon Jul 22 2013 William Cohen <wcohen@redhat.com> - 5.1.1-5
c7ea89
- rhbz986673 - /usr/lib64/libpapi.so is unowned
c7ea89
- Package files in /usr/share/papi only once.
c7ea89
- Avoid dependency problem with parallel make of man pages.
c7ea89
c7ea89
* Fri Jul 19 2013 William Cohen <wcohen@redhat.com> - 5.1.1-4
c7ea89
- Correct changelog.
c7ea89
c7ea89
* Fri Jul 5 2013 William Cohen <wcohen@redhat.com> - 5.1.1-3
c7ea89
- Add man page corrections/updates.
c7ea89
c7ea89
* Fri Jun 28 2013 William Cohen <wcohen@redhat.com> - 5.1.1-2
c7ea89
- Add testsuite subpackage.
c7ea89
c7ea89
* Thu May 30 2013 William Cohen <wcohen@redhat.com> - 5.1.1-1
c7ea89
- Rebase to 5.1.1
c7ea89
c7ea89
* Mon Apr 15 2013 William Cohen <wcohen@redhat.com> - 5.1.0.2-2
c7ea89
- Fix arm FTBS rhbz 951806.
c7ea89
c7ea89
* Tue Apr 9 2013 William Cohen <wcohen@redhat.com> - 5.1.0.2-1
c7ea89
- Rebase to 5.1.0.2
c7ea89
c7ea89
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.0.1-6
c7ea89
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
c7ea89
c7ea89
* Mon Jan 14 2013 William Cohen <wcohen@redhat.com> - 5.0.1-5
c7ea89
- Add armv7 cortex a15 presets.
c7ea89
c7ea89
* Tue Dec 04 2012 William Cohen <wcohen@redhat.com> - 5.0.1-4
c7ea89
- Disable ldconfig on install.
c7ea89
c7ea89
* Thu Nov 08 2012 William Cohen <wcohen@redhat.com> - 5.0.1-3
c7ea89
- Avoid duplicated shared library.
c7ea89
c7ea89
* Wed Oct 03 2012 William Cohen <wcohen@redhat.com> - 5.0.1-2
c7ea89
- Make sure using compatible version of libpfm.
c7ea89
c7ea89
* Thu Sep 20 2012 William Cohen <wcohen@redhat.com> - 5.0.1-1
c7ea89
- Rebase to 5.0.1.
c7ea89
c7ea89
* Mon Sep 10 2012 William Cohen <wcohen@redhat.com> - 5.0.0-6
c7ea89
- Back port fixes for Intel Ivy Bridge event presets.
c7ea89
c7ea89
* Thu Aug 30 2012 William Cohen <wcohen@redhat.com> - 5.0.0-5
c7ea89
- Fixes to make papi with unbundled libpfm.
c7ea89
c7ea89
* Mon Aug 27 2012 William Cohen <wcohen@redhat.com> - 5.0.0-2
c7ea89
- Keep libpfm unbundled.
c7ea89
c7ea89
* Fri Aug 24 2012 William Cohen <wcohen@redhat.com> - 5.0.0-1
c7ea89
- Rebase to 5.0.0.
c7ea89
c7ea89
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.4.0-5
c7ea89
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
c7ea89
c7ea89
* Mon Jun 11 2012 William Cohen <wcohen@redhat.com> - 4.4.0-4
c7ea89
- Use siginfo_t rather than struct siginfo.
c7ea89
c7ea89
* Mon Jun 11 2012 William Cohen <wcohen@redhat.com> - 4.4.0-3
c7ea89
- Correct build requires.
c7ea89
c7ea89
* Mon Jun 11 2012 William Cohen <wcohen@redhat.com> - 4.4.0-2
c7ea89
- Unbundle libpfm4 from papi.
c7ea89
- Correct description spellings.
c7ea89
- Remove unused test section.
c7ea89
c7ea89
* Fri Apr 20 2012 William Cohen <wcohen@redhat.com> - 4.4.0-1
c7ea89
- Rebase to 4.4.0.
c7ea89
c7ea89
* Fri Mar 9 2012 William Cohen <wcohen@redhat.com> - 4.2.1-2
c7ea89
- Fix overrun in lmsensor component. (rhbz797692)
c7ea89
c7ea89
* Tue Feb 14 2012 William Cohen <wcohen@redhat.com> - 4.2.1-1
c7ea89
- Rebase to 4.2.1.
c7ea89
c7ea89
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.2.0-4
c7ea89
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
c7ea89
c7ea89
* Wed Nov 02 2011 William Cohen <wcohen@redhat.com> - 4.2.0-3
c7ea89
- Remove unwanted man1/*.c.1 files. (rhbz749725)
c7ea89
c7ea89
* Mon Oct 31 2011 William Cohen <wcohen@redhat.com> - 4.2.0-2
c7ea89
- Include appropirate man pages with papi rpm. (rhbz749725)
c7ea89
- Rebase to papi-4.2.0, fixup for coretemp component. (rhbz746851)
c7ea89
c7ea89
* Thu Oct 27 2011 William Cohen <wcohen@redhat.com> - 4.2.0-1
c7ea89
- Rebase to papi-4.2.0.
c7ea89
c7ea89
* Fri Aug 12 2011 William Cohen <wcohen@redhat.com> - 4.1.3-3
c7ea89
- Provide papi-static.
c7ea89
c7ea89
* Thu May 12 2011 William Cohen <wcohen@redhat.com> - 4.1.3-2
c7ea89
- Use corrected papi-4.1.3.
c7ea89
c7ea89
* Thu May 12 2011 William Cohen <wcohen@redhat.com> - 4.1.3-1
c7ea89
- Rebase to papi-4.1.3
c7ea89
c7ea89
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.2.1-2
c7ea89
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
c7ea89
c7ea89
* Mon Jan 24 2011 William Cohen <wcohen@redhat.com> - 4.1.2.1-1
c7ea89
- Rebase to papi-4.1.2.1
c7ea89
c7ea89
* Fri Oct 1 2010 William Cohen <wcohen@redhat.com> - 4.1.1-1
c7ea89
- Rebase to papi-4.1.1
c7ea89
c7ea89
* Tue Jun 22 2010 William Cohen <wcohen@redhat.com> - 4.1.0-1
c7ea89
- Rebase to papi-4.1.0
c7ea89
c7ea89
* Mon May 17 2010 William Cohen <wcohen@redhat.com> - 4.0.0-5
c7ea89
- Test run with upstream cvs version.
c7ea89
c7ea89
* Wed Feb 10 2010 William Cohen <wcohen@redhat.com> - 4.0.0-4
c7ea89
- Resolves: rhbz562935 Rebase to papi-4.0.0 (correct ExcludeArch).
c7ea89
c7ea89
* Wed Feb 10 2010 William Cohen <wcohen@redhat.com> - 4.0.0-3
c7ea89
- Resolves: rhbz562935 Rebase to papi-4.0.0 (bump nvr).
c7ea89
c7ea89
* Wed Feb 10 2010 William Cohen <wcohen@redhat.com> - 4.0.0-2
c7ea89
- correct the ctests/shlib test
c7ea89
- have PAPI_set_multiplex() return proper value
c7ea89
- properly handle event unit masks
c7ea89
- correct PAPI_name_to_code() to match events
c7ea89
- Resolves: rhbz562935 Rebase to papi-4.0.0 
c7ea89
c7ea89
* Wed Jan 13 2010 William Cohen <wcohen@redhat.com> - 4.0.0-1
c7ea89
- Generate papi.spec file for papi-4.0.0.