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