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