Blame SPECS/oprofile.spec

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.