Blame SPECS/papi.spec

ab9b06
%bcond_with bundled_libpfm
ab9b06
# rdma is not available
ab9b06
%ifarch %{arm}
ab9b06
%{!?with_rdma: %global with_rdma 0}
ab9b06
%else
ab9b06
%{!?with_rdma: %global with_rdma 1}
ab9b06
%endif
ab9b06
Summary: Performance Application Programming Interface
ab9b06
Name: papi
ab9b06
Version: 5.6.0
51f100
Release: 14%{?dist}
ab9b06
License: BSD
ab9b06
Group: Development/System
ab9b06
Requires: papi-libs = %{version}-%{release}
ab9b06
URL: http://icl.cs.utk.edu/papi/
ab9b06
Source0: http://icl.cs.utk.edu/projects/papi/downloads/%{name}-%{version}.tar.gz
ab9b06
Patch1: papi-ldflags.patch
ab9b06
Patch2: papi-divzero.patch
ab9b06
Patch3: papi-rhbz1807346.patch
4f751f
Patch4: papi-thread_init.patch
51f100
Patch5: papi-mx.patch
51f100
Patch6: papi-bz1908126.patch
51f100
Patch7: papi-rhbz1918721.patch
ab9b06
BuildRequires: autoconf
ab9b06
BuildRequires: doxygen
ab9b06
BuildRequires: ncurses-devel
ab9b06
BuildRequires: gcc-gfortran
ab9b06
BuildRequires: kernel-headers >= 2.6.32
ab9b06
BuildRequires: chrpath
ab9b06
BuildRequires: lm_sensors-devel
ab9b06
%if %{without bundled_libpfm}
ab9b06
BuildRequires: libpfm-devel >= 4.10.1-3
ab9b06
BuildRequires: libpfm-static >= 4.10.1-3
ab9b06
%endif
ab9b06
# Following required for net component
ab9b06
BuildRequires: net-tools
ab9b06
%if  %{with_rdma}
ab9b06
# Following required for inifiband component
ab9b06
BuildRequires: rdma-core-devel
ab9b06
BuildRequires: infiniband-diags-devel
ab9b06
%endif
ab9b06
BuildRequires: perl-generators
ab9b06
#Right now libpfm does not know anything about s390 and will fail
ab9b06
ExcludeArch: s390 s390x
ab9b06
ab9b06
%description
ab9b06
PAPI provides a programmer interface to monitor the performance of
ab9b06
running programs.
ab9b06
ab9b06
%package libs
ab9b06
Summary: Libraries for PAPI clients
ab9b06
Group: Development/System
ab9b06
%description libs
ab9b06
This package contains the run-time libraries for any application that wishes
ab9b06
to use PAPI.
ab9b06
ab9b06
%package devel
ab9b06
Summary: Header files for the compiling programs with PAPI
ab9b06
Group: Development/System
ab9b06
Requires: papi = %{version}-%{release}
ab9b06
Requires: papi-libs = %{version}-%{release}
ab9b06
Requires: pkgconfig
ab9b06
%description devel
ab9b06
PAPI-devel includes the C header files that specify the PAPI user-space
ab9b06
libraries and interfaces. This is required for rebuilding any program
ab9b06
that uses PAPI.
ab9b06
ab9b06
%package testsuite
ab9b06
Summary: Set of tests for checking PAPI functionality
ab9b06
Group: Development/System
ab9b06
Requires: papi = %{version}-%{release}
ab9b06
Requires: papi-libs = %{version}-%{release}
ab9b06
%description testsuite
ab9b06
PAPI-testsuite includes compiled versions of papi tests to ensure
ab9b06
that PAPI functions on particular hardware.
ab9b06
ab9b06
%package static
ab9b06
Summary: Static libraries for the compiling programs with PAPI
ab9b06
Group: Development/System
ab9b06
Requires: papi = %{version}-%{release}
ab9b06
%description static
ab9b06
PAPI-static includes the static versions of the library files for
ab9b06
the PAPI user-space libraries and interfaces.
ab9b06
ab9b06
%prep
ab9b06
%setup -q
ab9b06
%patch1 -p1 -b .ldflags
ab9b06
%patch2 -p1 -b .divzero
ab9b06
%patch3 -p1 -b .rhbz1807346
4f751f
%patch4 -p1 -b .thread_init
51f100
%patch5 -p1
51f100
%patch6 -p1
51f100
%patch7 -p1
ab9b06
ab9b06
%build
ab9b06
%if %{without bundled_libpfm}
ab9b06
# Build our own copy of libpfm.
ab9b06
%global libpfm_config --with-pfm-incdir=%{_includedir} --with-pfm-libdir=%{_libdir}
ab9b06
%endif
ab9b06
ab9b06
cd src
ab9b06
autoconf
ab9b06
%configure --with-perf-events \
ab9b06
%{?libpfm_config} \
ab9b06
--with-static-lib=yes --with-shared-lib=yes --with-shlib --with-shlib-tools \
ab9b06
--with-components="appio coretemp example infiniband lmsensors lustre micpower mx net rapl stealtime"
ab9b06
# implicit enabled components: perf_event perf_event_uncore
ab9b06
#components currently left out because of build configure/build issues
ab9b06
# --with-components="bgpm coretemp_freebsd cuda host_micpower nvml vmware"
ab9b06
ab9b06
pushd components
ab9b06
#pushd cuda; ./configure; popd
ab9b06
#pushd host_micpower; ./configure; popd
ab9b06
%if  %{with_rdma}
ab9b06
pushd infiniband_umad; %configure; popd
ab9b06
%endif
ab9b06
pushd lmsensors; \
ab9b06
 %configure --with-sensors_incdir=/usr/include/sensors \
ab9b06
 --with-sensors_libdir=%{_libdir}; \
ab9b06
 popd
ab9b06
#pushd vmware; ./configure; popd
ab9b06
popd
ab9b06
ab9b06
#DBG workaround to make sure libpfm just uses the normal CFLAGS
ab9b06
DBG="" make %{?_smp_mflags}
ab9b06
ab9b06
#generate updated versions of the documentation
ab9b06
#DBG workaround to make sure libpfm just uses the normal CFLAGS
ab9b06
pushd ../doc
ab9b06
DBG="" make
ab9b06
DBG="" make install
ab9b06
popd
ab9b06
ab9b06
%install
ab9b06
rm -rf $RPM_BUILD_ROOT
ab9b06
cd src
ab9b06
make DESTDIR=$RPM_BUILD_ROOT LDCONFIG=/bin/true install-all
ab9b06
ab9b06
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/*.so*
ab9b06
ab9b06
%files
ab9b06
%{_bindir}/*
ab9b06
%dir /usr/share/papi
ab9b06
/usr/share/papi/papi_events.csv
ab9b06
%doc INSTALL.txt README LICENSE.txt RELEASENOTES.txt
ab9b06
%doc %{_mandir}/man1/*
ab9b06
ab9b06
%post libs -p /sbin/ldconfig
ab9b06
%postun libs -p /sbin/ldconfig
ab9b06
ab9b06
%files libs
ab9b06
%{_libdir}/*.so.*
ab9b06
%doc INSTALL.txt README LICENSE.txt RELEASENOTES.txt
ab9b06
ab9b06
%files devel
ab9b06
%{_includedir}/*.h
ab9b06
%if %{with bundled_libpfm}
ab9b06
%{_includedir}/perfmon/*.h
ab9b06
%endif
ab9b06
%{_libdir}/*.so
ab9b06
%{_libdir}/pkgconfig/papi*.pc
ab9b06
%doc %{_mandir}/man3/*
ab9b06
ab9b06
%files testsuite
ab9b06
/usr/share/papi/run_tests*
ab9b06
/usr/share/papi/ctests
ab9b06
/usr/share/papi/ftests
ab9b06
/usr/share/papi/validation_tests
ab9b06
/usr/share/papi/components
ab9b06
/usr/share/papi/testlib
ab9b06
ab9b06
%files static
ab9b06
%{_libdir}/*.a
ab9b06
ab9b06
%changelog
51f100
* Tue May 25 2021 William Cohen <wcohen@redhat.com> - 5.6.0-14
51f100
- Disable problematic IBM Power9 events.
51f100
51f100
* Tue May 25 2021 William Cohen <wcohen@redhat.com> - 5.6.0-13
51f100
- Add Fujitsu A64FX support.
51f100
51f100
* Tue May 18 2021 William Cohen <wcohen@redhat.com> - 5.6.0-12
51f100
- Improvements to mx component.
51f100
4f751f
* Fri Aug 21 2020 William Cohen <wcohen@redhat.com> - 5.6.0-11
4f751f
- Correct the handling of multiple threads. (rhbz1807346)
4f751f
ab9b06
* Wed May 27 2020 William Cohen <wcohen@redhat.com> - 5.6.0-10
ab9b06
- Rebuild with current libpfm-4.10.1.
ab9b06
ab9b06
* Tue May 26 2020 William Cohen <wcohen@redhat.com> - 5.6.0-9
ab9b06
- Correct typo in papi-testsuite description.
ab9b06
- Add papi-libs for papi-testsuite and papi-devel.
ab9b06
ab9b06
* Fri Nov 2 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.0-8
ab9b06
- Pull in patch to avoid division-by-0.
ab9b06
ab9b06
* Thu May 17 2018 William Cohen <wcohen@redhat.com> - 5.6.0-6
ab9b06
- Dynamically link utilities and tests to papi libraries.
ab9b06
ab9b06
* Mon Apr 30 2018 William Cohen <wcohen@redhat.com> - 5.6.0-5
ab9b06
- Include various LDFLAGS/CFLAGS.
ab9b06
ab9b06
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.0-4
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
ab9b06
ab9b06
* Wed Jan 31 2018 William Cohen <wcohen@redhat.com> - 5.6.0-3
ab9b06
- Bump and rebuild.
ab9b06
ab9b06
* Thu Dec 21 2017 William Cohen <wcohen@redhat.com> - 5.6.0-2
ab9b06
- Correct infiniband buildrequires.
ab9b06
ab9b06
* Thu Dec 21 2017 William Cohen <wcohen@redhat.com> - 5.6.0-1
ab9b06
- Rebase to papi-5.6.0.
ab9b06
ab9b06
* Mon Aug 28 2017 Honggang LI <honli@redhat.com> - 5.5.1-6
ab9b06
- Disable RDMA support on ARM32
ab9b06
ab9b06
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.1-5
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
ab9b06
ab9b06
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.1-4
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
ab9b06
ab9b06
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.1-3
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
ab9b06
ab9b06
* Thu Feb 2 2017 William Cohen <wcohen@redhat.com> - 5.5.1-2
ab9b06
- Bump version and rebuild due to new libgfortan.so version.
ab9b06
ab9b06
* Fri Nov 18 2016 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.1-1
ab9b06
- Rebase to papi-5.5.1.
ab9b06
ab9b06
* Wed Sep 14 2016 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.0-1
ab9b06
- Rebase to papi-5.5.0.
ab9b06
ab9b06
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 5.4.3-2
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
ab9b06
ab9b06
* Tue Jan 26 2016 William Cohen <wcohen@redhat.com> - 5.4.3-1
ab9b06
- Rebase to papi-5.4.3.
ab9b06
ab9b06
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.4.1-3
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
ab9b06
ab9b06
* Fri Mar 6 2015 William Cohen <wcohen@redhat.com> - 5.4.1-2
ab9b06
- Make sure using libpfm-4.6.0.
ab9b06
ab9b06
* Tue Mar 3 2015 William Cohen <wcohen@redhat.com> - 5.4.1-1
ab9b06
- Rebase to papi-5.4.1.
ab9b06
ab9b06
* Wed Feb 11 2015 William Cohen <wcohen@redhat.com> - 5.4.0-3
ab9b06
- Bump version and rebuild.
ab9b06
ab9b06
* Thu Dec 18 2014 William Cohen <wcohen@redhat.com> - 5.4.0-2
ab9b06
- Split out papi-libs as separate subpackage. (#1172875)
ab9b06
ab9b06
* Mon Nov 17 2014 William Cohen <wcohen@redhat.com> - 5.4.0-1
ab9b06
- Rebase to papi-5.4.0.
ab9b06
ab9b06
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.3.2-2
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
ab9b06
ab9b06
* Mon Aug 4 2014 William Cohen <wcohen@redhat.com> - 5.3.2-1
ab9b06
- Rebase to 5.3.2.
ab9b06
ab9b06
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.3.0-2.16.ga7f6159
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
ab9b06
ab9b06
* Fri Jan 17 2014 Lukas Berk <lberk@redhat.com> - 5.3.0-1.16.ga7f6159
ab9b06
- Automated weekly rawhide release
ab9b06
ab9b06
* Thu Jan 16 2014 William Cohen <wcohen@redhat.com> - 5.3.0-1
ab9b06
- Rebase to 5.3.0.
ab9b06
ab9b06
* Tue Jan 14 2014 William Cohen <wcohen@redhat.com> - 5.2.0-5
ab9b06
- Add presets for Intel Silvermont.
ab9b06
ab9b06
* Mon Jan 13 2014 William Cohen <wcohen@redhat.com> - 5.2.0-4
ab9b06
- Add presets for Haswell and Ivy Bridge.
ab9b06
ab9b06
* Wed Aug 14 2013 William Cohen <wcohen@redhat.com> - 5.2.0-2
ab9b06
- Enable infiniband and stealtime components.
ab9b06
ab9b06
* Wed Aug 07 2013 William Cohen <wcohen@redhat.com> - 5.2.0-1
ab9b06
- Rebase to 5.2.0
ab9b06
ab9b06
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.1-8
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
ab9b06
ab9b06
* Wed Jul 24 2013 William Cohen <wcohen@redhat.com> - 5.1.1-7
ab9b06
- rhbz830275 - Add support for POWER8 processor to PAPI
ab9b06
ab9b06
* Mon Jul 22 2013 William Cohen <wcohen@redhat.com> - 5.1.1-6
ab9b06
- Add autoconf buildrequires.
ab9b06
ab9b06
* Mon Jul 22 2013 William Cohen <wcohen@redhat.com> - 5.1.1-5
ab9b06
- rhbz986673 - /usr/lib64/libpapi.so is unowned
ab9b06
- Package files in /usr/share/papi only once.
ab9b06
- Avoid dependency problem with parallel make of man pages.
ab9b06
ab9b06
* Fri Jul 19 2013 William Cohen <wcohen@redhat.com> - 5.1.1-4
ab9b06
- Correct changelog.
ab9b06
ab9b06
* Fri Jul 5 2013 William Cohen <wcohen@redhat.com> - 5.1.1-3
ab9b06
- Add man page corrections/updates.
ab9b06
ab9b06
* Fri Jun 28 2013 William Cohen <wcohen@redhat.com> - 5.1.1-2
ab9b06
- Add testsuite subpackage.
ab9b06
ab9b06
* Thu May 30 2013 William Cohen <wcohen@redhat.com> - 5.1.1-1
ab9b06
- Rebase to 5.1.1
ab9b06
ab9b06
* Mon Apr 15 2013 William Cohen <wcohen@redhat.com> - 5.1.0.2-2
ab9b06
- Fix arm FTBS rhbz 951806.
ab9b06
ab9b06
* Tue Apr 9 2013 William Cohen <wcohen@redhat.com> - 5.1.0.2-1
ab9b06
- Rebase to 5.1.0.2
ab9b06
ab9b06
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.0.1-6
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
ab9b06
ab9b06
* Mon Jan 14 2013 William Cohen <wcohen@redhat.com> - 5.0.1-5
ab9b06
- Add armv7 cortex a15 presets.
ab9b06
ab9b06
* Tue Dec 04 2012 William Cohen <wcohen@redhat.com> - 5.0.1-4
ab9b06
- Disable ldconfig on install.
ab9b06
ab9b06
* Thu Nov 08 2012 William Cohen <wcohen@redhat.com> - 5.0.1-3
ab9b06
- Avoid duplicated shared library.
ab9b06
ab9b06
* Wed Oct 03 2012 William Cohen <wcohen@redhat.com> - 5.0.1-2
ab9b06
- Make sure using compatible version of libpfm.
ab9b06
ab9b06
* Thu Sep 20 2012 William Cohen <wcohen@redhat.com> - 5.0.1-1
ab9b06
- Rebase to 5.0.1.
ab9b06
ab9b06
* Mon Sep 10 2012 William Cohen <wcohen@redhat.com> - 5.0.0-6
ab9b06
- Back port fixes for Intel Ivy Bridge event presets.
ab9b06
ab9b06
* Thu Aug 30 2012 William Cohen <wcohen@redhat.com> - 5.0.0-5
ab9b06
- Fixes to make papi with unbundled libpfm.
ab9b06
ab9b06
* Mon Aug 27 2012 William Cohen <wcohen@redhat.com> - 5.0.0-2
ab9b06
- Keep libpfm unbundled.
ab9b06
ab9b06
* Fri Aug 24 2012 William Cohen <wcohen@redhat.com> - 5.0.0-1
ab9b06
- Rebase to 5.0.0.
ab9b06
ab9b06
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.4.0-5
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
ab9b06
ab9b06
* Mon Jun 11 2012 William Cohen <wcohen@redhat.com> - 4.4.0-4
ab9b06
- Use siginfo_t rather than struct siginfo.
ab9b06
ab9b06
* Mon Jun 11 2012 William Cohen <wcohen@redhat.com> - 4.4.0-3
ab9b06
- Correct build requires.
ab9b06
ab9b06
* Mon Jun 11 2012 William Cohen <wcohen@redhat.com> - 4.4.0-2
ab9b06
- Unbundle libpfm4 from papi.
ab9b06
- Correct description spellings.
ab9b06
- Remove unused test section.
ab9b06
ab9b06
* Fri Apr 20 2012 William Cohen <wcohen@redhat.com> - 4.4.0-1
ab9b06
- Rebase to 4.4.0.
ab9b06
ab9b06
* Fri Mar 9 2012 William Cohen <wcohen@redhat.com> - 4.2.1-2
ab9b06
- Fix overrun in lmsensor component. (rhbz797692)
ab9b06
ab9b06
* Tue Feb 14 2012 William Cohen <wcohen@redhat.com> - 4.2.1-1
ab9b06
- Rebase to 4.2.1.
ab9b06
ab9b06
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.2.0-4
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
ab9b06
ab9b06
* Wed Nov 02 2011 William Cohen <wcohen@redhat.com> - 4.2.0-3
ab9b06
- Remove unwanted man1/*.c.1 files. (rhbz749725)
ab9b06
ab9b06
* Mon Oct 31 2011 William Cohen <wcohen@redhat.com> - 4.2.0-2
ab9b06
- Include appropirate man pages with papi rpm. (rhbz749725)
ab9b06
- Rebase to papi-4.2.0, fixup for coretemp component. (rhbz746851)
ab9b06
ab9b06
* Thu Oct 27 2011 William Cohen <wcohen@redhat.com> - 4.2.0-1
ab9b06
- Rebase to papi-4.2.0.
ab9b06
ab9b06
* Fri Aug 12 2011 William Cohen <wcohen@redhat.com> - 4.1.3-3
ab9b06
- Provide papi-static.
ab9b06
ab9b06
* Thu May 12 2011 William Cohen <wcohen@redhat.com> - 4.1.3-2
ab9b06
- Use corrected papi-4.1.3.
ab9b06
ab9b06
* Thu May 12 2011 William Cohen <wcohen@redhat.com> - 4.1.3-1
ab9b06
- Rebase to papi-4.1.3
ab9b06
ab9b06
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.2.1-2
ab9b06
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
ab9b06
ab9b06
* Mon Jan 24 2011 William Cohen <wcohen@redhat.com> - 4.1.2.1-1
ab9b06
- Rebase to papi-4.1.2.1
ab9b06
ab9b06
* Fri Oct 1 2010 William Cohen <wcohen@redhat.com> - 4.1.1-1
ab9b06
- Rebase to papi-4.1.1
ab9b06
ab9b06
* Tue Jun 22 2010 William Cohen <wcohen@redhat.com> - 4.1.0-1
ab9b06
- Rebase to papi-4.1.0
ab9b06
ab9b06
* Mon May 17 2010 William Cohen <wcohen@redhat.com> - 4.0.0-5
ab9b06
- Test run with upstream cvs version.
ab9b06
ab9b06
* Wed Feb 10 2010 William Cohen <wcohen@redhat.com> - 4.0.0-4
ab9b06
- Resolves: rhbz562935 Rebase to papi-4.0.0 (correct ExcludeArch).
ab9b06
ab9b06
* Wed Feb 10 2010 William Cohen <wcohen@redhat.com> - 4.0.0-3
ab9b06
- Resolves: rhbz562935 Rebase to papi-4.0.0 (bump nvr).
ab9b06
ab9b06
* Wed Feb 10 2010 William Cohen <wcohen@redhat.com> - 4.0.0-2
ab9b06
- correct the ctests/shlib test
ab9b06
- have PAPI_set_multiplex() return proper value
ab9b06
- properly handle event unit masks
ab9b06
- correct PAPI_name_to_code() to match events
ab9b06
- Resolves: rhbz562935 Rebase to papi-4.0.0 
ab9b06
ab9b06
* Wed Jan 13 2010 William Cohen <wcohen@redhat.com> - 4.0.0-1
ab9b06
- Generate papi.spec file for papi-4.0.0.