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
306289
Version:	2.9.1
77b74d
Release:	1%{?dist}
6a459a
License:	BSD
6a459a
Summary:	Very fast malloc and performance analysis tools
306289
URL:		https://github.com/gperftools/gperftools
306289
Source0:	https://github.com/gperftools/gperftools/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
306289
# Conditionalize generic dynamic tls model
306289
Patch1:		gperftools-2.7.90-disable-generic-dynamic-tls.patch
306289
ExcludeArch:	s390
6a459a
306289
BuildRequires:  gcc-c++
306289
BuildRequires:	libunwind-devel
306289
BuildRequires:	perl-generators
306289
BuildRequires:	autoconf, automake, libtool
306289
BuildRequires:	make
6a459a
Requires:	gperftools-devel = %{version}-%{release}
6a459a
Requires:	pprof = %{version}-%{release}
6a459a
6a459a
%description
306289
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
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
306289
Requires:	gv, graphviz
6a459a
BuildArch:	noarch
6a459a
Provides:	google-perftools = %{version}-%{release}
6a459a
Obsoletes:	google-perftools < 2.0
6a459a
306289
%description -n pprof
6a459a
Pprof is a heap and CPU profiler tool, part of the gperftools suite.
6a459a
6a459a
%prep
6a459a
%setup -q
306289
%patch1 -p1 -b .dynload
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
306289
autoreconf -ifv
306289
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'`
306289
%configure \
306289
%ifarch s390x aarch64
306289
	--disable-general-dynamic-tls \
306289
%endif
306289
	--disable-dynamic-sized-delete-support \
306289
	--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
306289
make
6a459a
6a459a
%install
306289
%make_install docdir=%{_pkgdocdir}/
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
306289
%ldconfig_scriptlets libs
6a459a
6a459a
%files
6a459a
6a459a
%files -n pprof
6a459a
%{_bindir}/pprof
306289
%{_bindir}/pprof-symbolize
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
306289
* Wed Mar  3 2021 Tom Callaway <spot@fedoraproject.org> - 2.9.1-1
306289
- update to 2.9.1
306289
306289
* Mon Feb 22 2021 Tom Callaway <spot@fedoraproject.org> - 2.9.0-1
306289
- update to 2.9.0
306289
306289
* Mon Feb 15 2021 Tom Callaway <spot@fedoraproject.org> - 2.8.90-1
306289
- update to 2.8.90
306289
306289
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.1-2
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
306289
306289
* Wed Dec 30 2020 Tom Callaway <spot@fedoraproject.org> - 2.8.1-1
306289
- update to 2.8.1
306289
306289
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-3
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
306289
306289
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 2.8-2
306289
- Use make macros
306289
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
306289
306289
* Thu Jul  9 2020 Tom Callaway <spot@fedoraproject.org> - 2.8-1
306289
- update to 2.8
306289
306289
* Wed Apr 15 2020 Dan HorĂ¡k <dan[at]danny.cz> - 2.7.90-2
306289
- build with libunwind on s390x
306289
306289
* Mon Mar  9 2020 Tom Callaway <spot@fedoraproject.org> - 2.7.90-1
306289
- update to 2.7.90
306289
306289
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.7-7
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
306289
306289
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.7-6
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
306289
306289
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.7-5
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
306289
306289
* Tue Jan  8 2019 Tom Callaway <spot@fedoraproject.org> - 2.7-4
306289
- drop rsp clobber, which breaks gcc9 (thanks to Jeff Law)
306289
306289
* Tue Jul 24 2018 Tom Callaway <spot@fedoraproject.org> - 2.7-3
306289
- everyone needs BuildRequires:  gcc-c++, including s390x
306289
306289
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.7-2
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
306289
306289
* Tue May  1 2018 Tom Callaway <spot@fedoraproject.org> - 2.7-1
306289
- update to 2.7
306289
306289
* Sun Mar 25 2018 Tom Callaway <spot@fedoraproject.org> - 2.6.90-1
306289
- update to 2.6.90
306289
306289
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.3-2
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
306289
306289
* Thu Jan 11 2018 Tom Callaway <spot@fedoraproject.org> - 2.6.3-1
306289
- update to 2.6.3
306289
306289
* Wed Oct 11 2017 Tom Callaway <spot@fedoraproject.org> - 2.6.1-5
306289
- add aligned_alloc support
306289
306289
* Thu Aug 24 2017 Tom Callaway <spot@fedoraproject.org> - 2.6.1-4
306289
- add configure option to disable generic dynamic tls model
306289
- disable generic dynamic tls model on s390x and aarch64
306289
306289
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-3
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
306289
306289
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-2
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
306289
306289
* Mon Jul 17 2017 Tom Callaway <spot@fedoraproject.org> - 2.6.1-1
306289
- update to 2.6.1
306289
306289
* Tue May 23 2017 Tom Callaway <spot@fedoraproject.org> - 2.5.93-1
306289
- update to 2.5.93
306289
- disable dynamic sized delete (explicitly) always
306289
306289
* Mon May 22 2017 Tom Callaway <spot@fedoraproject.org> - 2.5.92-1
306289
- update to 2.5.92
306289
- disable dynamic sized delete support on powerpc64
306289
306289
* Mon May 22 2017 Richard W.M. Jones <rjones@redhat.com> - 2.5.91-2
306289
- Bump release and rebuild to try to fix _ZdlPvm symbol (see RHBZ#1452813).
306289
306289
* Mon May 15 2017 Tom Callaway <spot@fedoraproject.org> - 2.5.91-1
306289
- update to 2.5.91
306289
306289
* Tue Feb 21 2017 Dan HorĂ¡k <dan[at]danny.cz> - 2.5-5
306289
- fix s390x build
306289
306289
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.5-4
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
306289
306289
* Thu Jan 12 2017 Tom Callaway <spot@fedoraproject.org> - 2.5-3
306289
- enable s390x
306289
306289
* Thu Apr 28 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2.5-2
306289
- Power64 has libunwind now
306289
306289
* Tue Apr 26 2016 Tom Callaway <spot@fedoraproject.org> - 2.5-1
306289
- update to 2.5
306289
306289
* Tue Mar  8 2016 Tom Callaway <spot@fedoraproject.org> - 2.4.91-1
306289
- update to 2.4.91
306289
- re-enable hardened builds (upstream disabled dynamic sized delete by default)
306289
306289
* Fri Mar 04 2016 Than Ngo <than@redhat.com> - 2.4.90-3
306289
- Disable hardened build on ppc64/ppc64le (RHBZ#1314483).
306289
306289
* Mon Feb 29 2016 Richard W.M. Jones <rjones@redhat.com> - 2.4.90-2
306289
- Disable hardened build on 32 bit ARM (RHBZ#1312462).
306289
306289
* Mon Feb 22 2016 Tom Callaway <spot@fedoraproject.org> - 2.4.90-1
306289
- update to 2.4.90
306289
306289
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-6
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
306289
306289
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4-5
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
306289
306289
* Tue Jun  9 2015 Tom Callaway <spot@fedoraproject.org> - 2.4-4
306289
- fix modern futex handling (thanks to Paolo Bonzini)
306289
306289
* Mon Jun  1 2015 Tom Callaway <spot@fedoraproject.org> - 2.4-3
306289
- enable futex for ARM
306289
306289
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.4-2
306289
- Rebuilt for GCC 5 C++11 ABI change
306289
306289
* Fri Mar 27 2015 Tom Callaway <spot@fedoraproject.org> 2.4-1
306289
- update to 2.4
306289
306289
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-2
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
306289
306289
* Thu Jul 10 2014 Dan HorĂ¡k <dan[at]danny.cz> -  2.2.1-1
306289
- Update to new upstream 2.2.1 release
306289
- Fixes build on ppc arches
306289
306289
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2-2
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
306289
306289
* Wed Jun  4 2014 Peter Robinson <pbrobinson@fedoraproject.org> 2.2-1
306289
- Update to new upstream 2.2 release
306289
- Add support for new arches (aarch64, ppc64le, mips)
306289
306289
* Tue May 13 2014 Jaromir Capik <jcapik@redhat.com> - 2.1-5
306289
- Replacing ppc64 with the power64 macro (#1077632)
306289
306289
* Sat Jan  4 2014 Tom Callaway <spot@fedoraproject.org> - 2.1-4
306289
- re-enable FORTIFY_SOURCE
306289
306289
* Fri Dec  6 2013 Ville Skyttä <ville.skytta@iki.fi> - 2.1-3
306289
- Install docs to %%{_pkgdocdir} where available (#993798), include NEWS.
306289
- Fix bogus date in %%changelog.
306289
306289
* Sat Aug 03 2013 Petr Pisar <ppisar@redhat.com> - 2.1-2
306289
- Perl 5.18 rebuild
306289
306289
* Wed Jul 31 2013 Tom Callaway <spot@fedoraproject.org> - 2.1-1
306289
- update to 2.1 (fixes arm)
306289
- disable -fexceptions, as that breaks things on el6, possibly arm
306289
306289
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 2.0-12
306289
- Perl 5.18 rebuild
306289
306289
* Tue Jun  4 2013 Tom Callaway <spot@fedoraproject.org> - 2.0-11
306289
- pass -fno-strict-aliasing
306289
- create "gperftools" metapackage.
306289
- update to svn r218 (cleanups, some ARM fixes)
306289
306289
* Thu Mar 14 2013 Dan HorĂ¡k <dan[at]danny.cz> - 2.0-10
306289
- build on ppc64 as well
306289
306289
* Fri Mar  1 2013 Tom Callaway <spot@fedoraproject.org> - 2.0-9
306289
- update to svn r190 (because google can't make releases)
306289
306289
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-8
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
306289
306289
* Fri Aug  3 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-7
306289
- fix compile with glibc 2.16
306289
306289
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-6
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
306289
306289
* Mon Feb 20 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 2.0-5
306289
- Enable ARM as a supported arch
306289
306289
* Thu Feb 16 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-4
306289
- fix bug in -devel Requires
306289
306289
* Tue Feb 14 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-3
306289
- pprof doesn't actually need gperftools-libs
306289
306289
* Tue Feb 14 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-2
306289
- rework package so that pprof is a noarch subpackage, while still
306289
  enforcing the ExclusiveArch for the libs
306289
306289
* Tue Feb 14 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-1
306289
- rename to gperftools
306289
- update to 2.0
306289
306289
* Wed Jan  4 2012 Tom Callaway <spot@fedoraproject.org> - 1.9.1-1
306289
- update to 1.9.1
306289
306289
* Mon Oct 24 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.3-3
306289
- split libraries out into subpackage to minimize dependencies
306289
306289
* Wed Sep 21 2011 Remi Collet <remi@fedoraproject.org> - 1.8.3-2
306289
- rebuild for new libunwind
306289
306289
* Tue Aug 30 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.3-1
306289
- update to 1.8.3
306289
306289
* Mon Aug 22 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.2-1
306289
- update to 1.8.2
306289
306289
* Thu Jul 28 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.1-1
306289
- update to 1.8.1
306289
306289
* Mon Jul 18 2011 Tom Callaway <spot@fedoraproject.org> - 1.8-1
306289
- update to 1.8
306289
306289
* Wed Jun 29 2011 Tom Callaway <spot@fedoraproject.org> - 1.7-4
306289
- fix tcmalloc compile against current glibc, fix derived from:
306289
  http://src.chromium.org/viewvc/chrome?view=rev&revision=89800
306289
306289
* Thu May 12 2011 Tom Callaway <spot@fedoraproject.org> - 1.7-3
306289
- add Requires: graphviz, gv for pprof
306289
306289
* Fri Mar 11 2011 Dan HorĂ¡k <dan[at]danny.cz> - 1.7-2
306289
- switch to ExclusiveArch
306289
306289
* Fri Feb 18 2011 Tom Callaway <spot@fedoraproject.org> - 1.7-1
306289
- update to 1.7
306289
306289
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-3
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
306289
306289
* Thu Dec  2 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.6-2
306289
- fix pprof to work properly with jemalloc (bz 657118)
306289
306289
* Fri Aug  6 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.6-1
306289
- update to 1.6
306289
306289
* Wed Jan 20 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.5-1
306289
- update to 1.5
306289
- disable broken test suite
306289
306289
* Sat Sep 12 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.4-1
306289
- update to 1.4
306289
306289
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3-3
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
306289
306289
* Thu Jul  2 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.3-2
306289
- disable tests for ppc, upstream ticket #153
306289
306289
* Thu Jul  2 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.3-1
306289
- update to 1.3
306289
306289
* Wed May 20 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.2-1
306289
- update to 1.2
306289
306289
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.99.1-2
306289
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
306289
306289
* Mon Sep 22 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.99.1-1
306289
- update to 0.99.1
306289
- previous patches in 0.98-1 were taken upstream
306289
306289
* Mon Aug 25 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.98-1
306289
- update to 0.98
306289
- fix linuxthreads.c compile (upstream issue 74)
306289
- fix ppc compile (upstream issue 75)
306289
- enable ppc
306289
306289
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.95-4
306289
- Autorebuild for GCC 4.3
306289
306289
* Tue Feb 19 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.95-3
306289
- re-disable ppc/ppc64
306289
306289
* Tue Feb 19 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.95-2
306289
- ppc/ppc64 doesn't have libunwind
306289
306289
* Tue Feb 19 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.95-1
306289
- 0.95 (all patches taken upstream)
306289
- enable ppc support
306289
- workaround broken ptrace header (no typedef for u32)
306289
306289
* Fri Jan  4 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.94.1-1
306289
- bump to 0.94.1
306289
- fix for gcc4.3
306289
- fix unittest link issue
306289
306289
* Thu Aug 23 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.93-1
306289
- upstream merged my patch!
306289
- rebuild for BuildID
306289
306289
* Wed Aug  1 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.92-1
306289
- bump to 0.92
306289
306289
* Thu May 17 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-3.1
306289
- excludearch ppc64
306289
306289
* Sun Apr 29 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-3
306289
- The tests work fine for me locally, but some of them fail inside mock.
306289
306289
* Sun Apr 29 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-2
306289
- no support for ppc yet
306289
306289
* Mon Apr 23 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-1
306289
- alright, lets see if this works now.
306289
306289
* Wed Oct 12 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.3-2
306289
- change group to Development/Tools
306289
306289
* Mon Oct 10 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.3-1
306289
- initial package for Fedora Extras