Blame SPECS/oprofile.spec

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