Blame SPECS/oprofile.spec

161710
%{?scl:%scl_package oprofile}
161710
161710
Summary: System wide profiler
161710
Name: %{?scl_prefix}oprofile
161710
Version: 1.3.0
161710
Release: 2%{?dist}
161710
License: GPLv2+ and LGPLv2+
161710
Group: Development/System
161710
#
161710
Source0: http://downloads.sourceforge.net/oprofile/oprofile-%{version}.tar.gz
161710
#FIXME a workaround until java-1.6.0-openjdk-devel is available on all archs
161710
Source1: openjdk-include.tar.gz
161710
Patch1: oprofile-ppc_null_event.patch
161710
Requires: binutils
161710
Requires: which
161710
Requires(pre): shadow-utils
161710
Requires(postun): shadow-utils
161710
%{?scl:Requires:%scl_runtime}
161710
161710
URL: http://oprofile.sf.net
161710
161710
#If oprofile doesn't build on an arch, report it and will add ExcludeArch tag.
161710
BuildRequires: qt-devel
161710
BuildRequires: libxslt
161710
BuildRequires: docbook-style-xsl
161710
BuildRequires: docbook-utils
161710
BuildRequires: elinks
161710
BuildRequires: gtk2-devel
161710
BuildRequires: automake
161710
BuildRequires: libtool
161710
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 15
161710
BuildRequires: binutils-static
161710
BuildRequires: libpfm-devel >= 4.3.0
161710
%else
161710
BuildRequires: %{?scl_prefix}binutils-devel
161710
BuildRequires: binutils-devel
161710
%endif
161710
%if 0%{?rhel} == 6
161710
%ifnarch s390x s390
161710
BuildRequires: papi-devel
161710
%endif
161710
%endif
161710
%if 0%{?rhel} >= 6
161710
BuildRequires: popt-devel
161710
%else
161710
BuildRequires: popt
161710
%endif
161710
161710
#BuildRequires: java-devel
161710
#BuildRequires: jpackage-utils
161710
#BuildRequires: java-1.6.0-openjdk-devel
161710
161710
BuildRoot: %{_tmppath}/%{name}-root
161710
161710
%description
161710
OProfile is a profiling system for systems running Linux. The
161710
profiling runs transparently during the background, and profile data
161710
can be collected at any time. OProfile makes use of the hardware performance
161710
counters provided on Intel P6, and AMD Athlon family processors, and can use
161710
the RTC for profiling on other x86 processor types.
161710
161710
See the HTML documentation for further details.
161710
161710
%package devel
161710
Summary: Header files and libraries for developing apps which will use oprofile
161710
Group: Development/Libraries
161710
Requires: %{?scl_prefix}oprofile = %{version}-%{release}
161710
Provides: %{?scl_prefix}oprofile-static = %{version}-%{release}
161710
161710
%description devel
161710
161710
Header files and libraries for developing apps which will use oprofile.
161710
161710
%package jit
161710
Summary: Libraries required for profiling Java and other JITed code
161710
Group: Development/System
161710
Requires: %{?scl_prefix}oprofile = %{version}-%{release}
161710
#Requires: java >= 1.6
161710
#Requires: jpackage-utils
161710
Requires(post): /sbin/ldconfig
161710
Requires(postun): /sbin/ldconfig
161710
Requires: /etc/ld.so.conf.d
161710
161710
%description jit
161710
This package includes a base JIT support library, as well as a Java
161710
agent library.
161710
161710
%prep
161710
%setup -q -n oprofile-%{version} -a1
161710
%patch1 -p1 -b .ppc_null_event
161710
161710
./autogen.sh
161710
161710
%build
161710
161710
%configure \
161710
--with-java=`pwd`/java-1.6.0-openjdk-1.6.0.0
161710
161710
make CFLAGS="$RPM_OPT_FLAGS"
161710
161710
#tweak the manual pages
161710
find -path "*/doc/*.1" -exec \
161710
    sed -i -e \
161710
     's,/doc/oprofile/,/doc/oprofile-%{version}/,g' {} \;
161710
161710
%install
161710
rm -rf %{buildroot}
161710
161710
mkdir -p %{buildroot}%{_bindir}
161710
mkdir -p %{buildroot}%{_mandir}/man1
161710
161710
make DESTDIR=%{buildroot} INSTALL="install -p" install
161710
161710
# We want the manuals in the special doc dir, not the generic doc install dir.
161710
# We build it in place and then move it away so it doesn't get installed
161710
# twice. rpm can specify itself where the (versioned) docs go with the
161710
# %%doc directive.
161710
mkdir docs.installed
161710
mv %{buildroot}%{_datadir}/doc/oprofile/* docs.installed/
161710
161710
%if 0%{?scl:1}
161710
# if developer tools set need to put the agentlib in an appropriate place
161710
mv %{buildroot}%{_libdir}/oprofile/* %{buildroot}%{_libdir}
161710
rmdir %{buildroot}%{_libdir}/oprofile
161710
%else
161710
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
161710
echo "%{_libdir}/oprofile" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/oprofile-%{_arch}.conf
161710
%endif
161710
161710
161710
%pre
161710
getent group oprofile >/dev/null || groupadd -r -g 16 oprofile
161710
getent passwd oprofile >/dev/null || \
161710
useradd -g oprofile -d /var/lib/oprofile -M -r -u 16 -s /sbin/nologin \
161710
    -c "Special user account to be used by OProfile" oprofile
161710
exit 0
161710
161710
%postun
161710
# do not try to remove existing oprofile user or group
161710
161710
%files
161710
%defattr(-,root,root)
161710
%doc  docs.installed/*
161710
%doc COPYING
161710
161710
%{_bindir}/*
161710
161710
%{_mandir}/man1/*
161710
161710
%{_datadir}/oprofile
161710
161710
%files devel
161710
%defattr(-,root,root)
161710
161710
%{_includedir}/opagent.h
161710
161710
%post jit -p /sbin/ldconfig
161710
161710
%postun jit -p /sbin/ldconfig
161710
161710
%files jit
161710
%defattr(-,root,root)
161710
161710
%if 0%{?scl:1}
161710
%{_libdir}/*
161710
%else
161710
%{_libdir}/oprofile
161710
%{_sysconfdir}/ld.so.conf.d/*
161710
%endif
161710
161710
%changelog
161710
* Fri Aug 3 2018 William Cohen <wcohen@redhat.com> - 1.3.0-2
161710
- Fix handling of null event name on ppc. rhbz1609797
161710
161710
* Mon Jul 16 2018 William Cohen <wcohen@redhat.com> - 1.3.0-1
161710
- Rebase to oprofile-1.3.0.
161710
161710
* Wed Apr 25 2018 William Cohen <wcohen@redhat.com> - 1.2.0-2.1
161710
- Power9 cpu recognition.
161710
161710
* Thu Feb 22 2018 William Cohen <wcohen@redhat.com> - 1.2.0-2
161710
- Rebuilt.
161710
161710
* Wed Jul 26 2017 William Cohen <wcohen@redhat.com> - 1.2.0-1
161710
- Rebase to oprofile-1.2.0.
161710
161710
* Fri Jun 16 2017 Will Cohen <wcohen@redhat.com> - 1.2.0-0.20170616git647ca9d0
161710
- Rebuild on oprofile git snapshot.
161710
161710
* Wed Oct 12 2016 Will Cohen <wcohen@redhat.com> - 1.1.0-4
161710
- Update events non-x86 architectures (aarch64, power, zseries)
161710
- Add support for newer Intel processors.
161710
161710
* Thu Sep 15 2016 Will Cohen <wcohen@redhat.com> - 1.1.0-3
161710
- Avoid duplicate event names for Nehalem and Westmere processors.
161710
161710
* Thu Aug 13 2015 Will Cohen <wcohen@redhat.com> - 1.1.0-2
161710
- Locate jvm agent libjvmti in a LD_LIBRARY_PATH directory.
161710
161710
* Tue Jul 21 2015 Will Cohen <wcohen@redhat.com> - 1.1.0-1
161710
- Rebase to oprofile-1.1.0.
161710
161710
* Thu Apr 23 2015 Will Cohen <wcohen@redhat.com> - 0.9.9-7
161710
- LLC_REFS and LLC_MISSES do not work on some CPUs.
161710
- incorrect handling of default unit masks longer than 11 characters
161710
- Oprofile updates for Avoton
161710
- Unable to profile jited JVM code when using static huge pages
161710
- operf causes rpmbuild to fail
161710
161710
* Wed Sep 17 2014 Will Cohen <wcohen@redhat.com> - 0.9.9-6
161710
- Update support for Intel Silvermont (Avoton).
161710
- Enable configure for ppc64le.
161710
161710
* Mon Aug 18 2014 Will Cohen <wcohen@redhat.com> - 0.9.9-5
161710
- Update Intel Haswell events.
161710
- Add support for Intel Silvermont (Avoton).
161710
- Add support for Intel Broadwell.
161710
- Add support for aarch64.
161710
- Update IBM power8 events.
161710
161710
* Wed May 28 2014 Will Cohen <wcohen@redhat.com> - 0.9.9-2.1
161710
- Correct xml output.
161710
161710
* Fri May 16 2014 Will Cohen <wcohen@redhat.com> - 0.9.9-1.1
161710
- Rebase on oprofile-0.9.9.