|
|
6a459a |
# This package used to be called "google-perftools", but it was renamed on 2012-02-03.
|
|
|
6a459a |
|
|
|
6a459a |
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
|
|
6a459a |
|
|
|
6a459a |
Name: gperftools
|
|
|
6a459a |
Version: 2.4
|
|
|
6a459a |
Release: 7%{?dist}
|
|
|
6a459a |
License: BSD
|
|
|
6a459a |
Group: Development/Tools
|
|
|
6a459a |
Summary: Very fast malloc and performance analysis tools
|
|
|
6a459a |
URL: http://code.google.com/p/gperftools/
|
|
|
6a459a |
Source0: https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/%{name}-%{version}.tar.gz
|
|
|
6a459a |
|
|
|
6a459a |
# For bz 1232702 - gperftools: tcmalloc debug version uses hard-coded path /tmp/google.alloc
|
|
|
6a459a |
Patch1: gperf-allow-customizing-trace-filename.patch
|
|
|
6a459a |
|
|
|
6a459a |
ExcludeArch: s390 s390x
|
|
|
6a459a |
%ifnarch ppc %{power64}
|
|
|
6a459a |
BuildRequires: libunwind-devel
|
|
|
6a459a |
%endif
|
|
|
6a459a |
Requires: gperftools-devel = %{version}-%{release}
|
|
|
6a459a |
Requires: pprof = %{version}-%{release}
|
|
|
6a459a |
|
|
|
6a459a |
%description
|
|
|
6a459a |
Perf Tools is a collection of performance analysis tools, including a
|
|
|
6a459a |
high-performance multi-threaded malloc() implementation that works
|
|
|
6a459a |
particularly well with threads and STL, a thread-friendly heap-checker,
|
|
|
6a459a |
a heap profiler, and a cpu-profiler.
|
|
|
6a459a |
|
|
|
6a459a |
This is a metapackage which pulls in all of the gperftools (and pprof)
|
|
|
6a459a |
binaries, libraries, and development headers, so that you can use them.
|
|
|
6a459a |
|
|
|
6a459a |
%package devel
|
|
|
6a459a |
Summary: Development libraries and headers for gperftools
|
|
|
6a459a |
Group: Development/Libraries
|
|
|
6a459a |
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
6a459a |
Provides: google-perftools-devel = %{version}-%{release}
|
|
|
6a459a |
Obsoletes: google-perftools-devel < 2.0
|
|
|
6a459a |
|
|
|
6a459a |
%description devel
|
|
|
6a459a |
Libraries and headers for developing applications that use gperftools.
|
|
|
6a459a |
|
|
|
6a459a |
%package libs
|
|
|
6a459a |
Summary: Libraries provided by gperftools
|
|
|
6a459a |
Provides: google-perftools-libs = %{version}-%{release}
|
|
|
6a459a |
Obsoletes: google-perftools-libs < 2.0
|
|
|
6a459a |
|
|
|
6a459a |
%description libs
|
|
|
6a459a |
Libraries provided by gperftools, including libtcmalloc and libprofiler.
|
|
|
6a459a |
|
|
|
6a459a |
%package -n pprof
|
|
|
6a459a |
Summary: CPU and Heap Profiler tool
|
|
|
6a459a |
Requires: graphviz
|
|
|
6a459a |
BuildArch: noarch
|
|
|
6a459a |
Provides: google-perftools = %{version}-%{release}
|
|
|
6a459a |
Obsoletes: google-perftools < 2.0
|
|
|
6a459a |
|
|
|
6a459a |
%description -n pprof
|
|
|
6a459a |
Pprof is a heap and CPU profiler tool, part of the gperftools suite.
|
|
|
6a459a |
|
|
|
6a459a |
%prep
|
|
|
6a459a |
%setup -q
|
|
|
6a459a |
%patch1 -p1
|
|
|
6a459a |
|
|
|
6a459a |
# Fix end-of-line encoding
|
|
|
6a459a |
sed -i 's/\r//' README_windows.txt
|
|
|
6a459a |
|
|
|
6a459a |
# No need to have exec permissions on source code
|
|
|
6a459a |
chmod -x src/*.h src/*.cc
|
|
|
6a459a |
|
|
|
6a459a |
%build
|
|
|
6a459a |
CFLAGS=`echo $RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -DTCMALLOC_LARGE_PAGES | sed -e 's|-fexceptions||g'`
|
|
|
6a459a |
CXXFLAGS=`echo $RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -DTCMALLOC_LARGE_PAGES | sed -e 's|-fexceptions||g'`
|
|
|
6a459a |
%configure --disable-static
|
|
|
6a459a |
|
|
|
6a459a |
# Bad rpath!
|
|
|
6a459a |
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
|
|
|
6a459a |
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
|
|
|
6a459a |
# Can't build with smp_mflags
|
|
|
6a459a |
make
|
|
|
6a459a |
|
|
|
6a459a |
%install
|
|
|
6a459a |
make DESTDIR=%{buildroot} docdir=%{_pkgdocdir}/ install
|
|
|
6a459a |
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
|
|
|
6a459a |
|
|
|
6a459a |
# Delete useless files
|
|
|
6a459a |
rm -rf %{buildroot}%{_pkgdocdir}/INSTALL
|
|
|
6a459a |
|
|
|
6a459a |
%check
|
|
|
6a459a |
# http://code.google.com/p/google-perftools/issues/detail?id=153
|
|
|
6a459a |
%ifnarch ppc
|
|
|
6a459a |
# Their test suite is almost always broken.
|
|
|
6a459a |
# LD_LIBRARY_PATH=./.libs make check
|
|
|
6a459a |
%endif
|
|
|
6a459a |
|
|
|
6a459a |
%post libs -p /sbin/ldconfig
|
|
|
6a459a |
%postun libs -p /sbin/ldconfig
|
|
|
6a459a |
|
|
|
6a459a |
%files
|
|
|
6a459a |
|
|
|
6a459a |
%files -n pprof
|
|
|
6a459a |
%{_bindir}/pprof
|
|
|
6a459a |
%{_mandir}/man1/*
|
|
|
6a459a |
|
|
|
6a459a |
%files devel
|
|
|
6a459a |
%{_pkgdocdir}/
|
|
|
6a459a |
%{_includedir}/google/
|
|
|
6a459a |
%{_includedir}/gperftools/
|
|
|
6a459a |
%{_libdir}/*.so
|
|
|
6a459a |
%{_libdir}/pkgconfig/*.pc
|
|
|
6a459a |
|
|
|
6a459a |
%files libs
|
|
|
6a459a |
%{_libdir}/*.so.*
|
|
|
6a459a |
|
|
|
6a459a |
%changelog
|
|
|
6a459a |
* Wed Aug 26 2015 Miroslav Rezanina <mrezanin@redhat.com> 2.4-7
|
|
|
6a459a |
- Rebuild to fix NVR [bz#1269032]
|
|
|
6a459a |
- Resolves: bz#1269032
|
|
|
6a459a |
(gperftools NVR lower than EPEL version)
|
|
|
6a459a |
|
|
|
6a459a |
* Wed Aug 26 2015 Miroslav Rezanina <mrezanin@redhat.com> 2.4-2
|
|
|
6a459a |
- gperf-allow-customizing-trace-filename.patch [bz#1232702]
|
|
|
6a459a |
- Resolves: bz#1232702
|
|
|
6a459a |
(gperftools: tcmalloc debug version uses hard-coded path /tmp/google.alloc)
|
|
|
6a459a |
|
|
|
6a459a |
* Tue Jun 02 2015 Miroslav Rezanina <mrezanin@redhat.com> 2.4-1
|
|
|
6a459a |
- Import to RHEL
|