Blame SPECS/gperftools.spec

3e1ec0
%{?scl:%scl_package gperftools}
3e1ec0
%{!?scl:%global pkg_name %{name}}
3e1ec0
3e1ec0
# This package used to be called "google-perftools", but it was renamed on 2012-02-03.
3e1ec0
3e1ec0
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
3e1ec0
3e1ec0
Name:		%{?scl_prefix}gperftools
3e1ec0
Version:	2.5
3e1ec0
Release:	4%{?dist}
3e1ec0
License:	BSD
3e1ec0
Group:		Development/Tools
3e1ec0
Summary:	Very fast malloc and performance analysis tools
3e1ec0
URL:		https://github.com/gperftools/gperftools
3e1ec0
Source0:	https://github.com/gperftools/gperftools/releases/download/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
3e1ec0
ExcludeArch:	s390
3e1ec0
3e1ec0
%ifnarch s390x
3e1ec0
BuildRequires:	%{?scl_prefix}libunwind-devel
3e1ec0
%endif
3e1ec0
Requires:	%{?scl_prefix}gperftools-devel = %{version}-%{release}
3e1ec0
%if 0%{!?scl:1}
3e1ec0
Requires:	%{?scl_prefix}pprof = %{version}-%{release}
3e1ec0
%endif
3e1ec0
3e1ec0
# we don't want to require or provide any pkgconfig(xxx) symbols
3e1ec0
%global __pkgconfig_requires ""
3e1ec0
%global __pkgconfig_provides ""
3e1ec0
3e1ec0
3e1ec0
%description
3e1ec0
Perf Tools is a collection of performance analysis tools, including a
3e1ec0
high-performance multi-threaded malloc() implementation that works
3e1ec0
particularly well with threads and STL, a thread-friendly heap-checker,
3e1ec0
a heap profiler, and a cpu-profiler.
3e1ec0
3e1ec0
This is a metapackage which pulls in all of the gperftools (and pprof)
3e1ec0
binaries, libraries, and development headers, so that you can use them.
3e1ec0
3e1ec0
3e1ec0
%package devel
3e1ec0
Summary:	Development libraries and headers for gperftools
3e1ec0
Group:		Development/Libraries
3e1ec0
Requires:	%{?scl_prefix}%{pkg_name}-libs%{?_isa} = %{version}-%{release}
3e1ec0
Provides:	%{?scl_prefix}google-perftools-devel = %{version}-%{release}
3e1ec0
Obsoletes:	%{?scl_prefix}google-perftools-devel < 2.0
3e1ec0
3e1ec0
3e1ec0
%description devel
3e1ec0
Libraries and headers for developing applications that use gperftools.
3e1ec0
3e1ec0
3e1ec0
%package libs
3e1ec0
Summary:	Libraries provided by gperftools
3e1ec0
Provides:	%{?scl_prefix}google-perftools-libs = %{version}-%{release}
3e1ec0
Obsoletes:	%{?scl_prefix}google-perftools-libs < 2.0
3e1ec0
%{?scl:Requires: %{scl}-runtime}
3e1ec0
3e1ec0
3e1ec0
%description libs
3e1ec0
Libraries provided by gperftools, including libtcmalloc and libprofiler.
3e1ec0
3e1ec0
%if 0%{!?scl:1}
3e1ec0
%package -n %{?scl_prefix}pprof
3e1ec0
Summary:	CPU and Heap Profiler tool
3e1ec0
Requires:	gv, graphviz
3e1ec0
BuildArch:	noarch
3e1ec0
Provides:	%{?scl_prefix}google-perftools = %{version}-%{release}
3e1ec0
Obsoletes:	%{?scl_prefix}google-perftools < 2.0
3e1ec0
%{?scl:Requires: %{scl}-runtime}
3e1ec0
3e1ec0
3e1ec0
%description -n %{?scl_prefix}pprof
3e1ec0
Pprof is a heap and CPU profiler tool, part of the gperftools suite.
3e1ec0
%endif
3e1ec0
3e1ec0
%prep
3e1ec0
%{?scl:scl enable %{scl} - << \EOF}
3e1ec0
set -e
3e1ec0
%setup -n %{pkg_name}-%{version} -q
3e1ec0
3e1ec0
# Fix end-of-line encoding
3e1ec0
sed -i 's/\r//' README_windows.txt
3e1ec0
3e1ec0
# No need to have exec permissions on source code
3e1ec0
chmod -x src/*.h src/*.cc
3e1ec0
3e1ec0
# make libtool able to handle soname in format sclname-1
3e1ec0
sed -i -r 's|(major=\.)(\$func_arith_result)|\1$verstring_prefix\2|' ltmain.sh
3e1ec0
%{?scl:EOF}
3e1ec0
3e1ec0
3e1ec0
%build
3e1ec0
%{?scl_prefix:export verstring_prefix="%{scl_prefix}"}
3e1ec0
%{?scl:scl enable %{scl} - << \EOF}
3e1ec0
set -e
3e1ec0
CFLAGS=`echo $RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -DTCMALLOC_LARGE_PAGES | sed -e 's|-fexceptions||g'`
3e1ec0
CXXFLAGS=`echo $RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -DTCMALLOC_LARGE_PAGES | sed -e 's|-fexceptions||g'`
3e1ec0
%configure --disable-static
3e1ec0
3e1ec0
# Bad rpath!
3e1ec0
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
3e1ec0
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
3e1ec0
# Can't build with smp_mflags
3e1ec0
make
3e1ec0
%{?scl:EOF}
3e1ec0
3e1ec0
3e1ec0
%install
3e1ec0
%{?scl_prefix:export verstring_prefix="%{scl_prefix}"}
3e1ec0
%{?scl:scl enable %{scl} - << \EOF}
3e1ec0
set -e
3e1ec0
make DESTDIR=%{buildroot} docdir=%{_pkgdocdir}/ install
3e1ec0
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
3e1ec0
3e1ec0
# Delete useless files
3e1ec0
rm -rf %{buildroot}%{_pkgdocdir}/INSTALL
3e1ec0
%if 0%{?scl:1}
3e1ec0
rm %{buildroot}%{_bindir}/pprof
3e1ec0
rm -f %{buildroot}%{_mandir}/man1/*
3e1ec0
%endif
3e1ec0
3e1ec0
%{?scl:EOF}
3e1ec0
3e1ec0
3e1ec0
%check
3e1ec0
%{?scl:scl enable %{scl} - << \EOF}
3e1ec0
set -e
3e1ec0
# http://code.google.com/p/google-perftools/issues/detail?id=153
3e1ec0
%ifnarch ppc
3e1ec0
# Their test suite is almost always broken.
3e1ec0
# LD_LIBRARY_PATH=./.libs make check
3e1ec0
%endif
3e1ec0
%{?scl:EOF}
3e1ec0
3e1ec0
%post libs -p /sbin/ldconfig
3e1ec0
%postun libs -p /sbin/ldconfig
3e1ec0
3e1ec0
3e1ec0
%files
3e1ec0
3e1ec0
%if 0%{!?scl:1}
3e1ec0
%files -n %{?scl_prefix}pprof
3e1ec0
%{_bindir}/pprof
3e1ec0
%{_mandir}/man1/*
3e1ec0
%endif
3e1ec0
3e1ec0
3e1ec0
%files devel
3e1ec0
%{_pkgdocdir}/
3e1ec0
%{_includedir}/google/
3e1ec0
%{_includedir}/gperftools/
3e1ec0
%{_libdir}/*.so
3e1ec0
%{_libdir}/pkgconfig/*.pc
3e1ec0
3e1ec0
3e1ec0
%files libs
3e1ec0
%{_libdir}/*.so.*
3e1ec0
3e1ec0
3e1ec0
%changelog
3e1ec0
* Fri Jun 23 2017 Marek SkalickĂ½ <mskalick@redhat.com> - 2.5-4
3e1ec0
- Remove pprof dependency
3e1ec0
3e1ec0
* Thu Jun 15 2017 Marek SkalickĂ½ <mskalick@redhat.com> - 2.5-3
3e1ec0
- Rebase to gperftools 2.5 from Fedora 25 and convert it to SCL
3e1ec0
3e1ec0
* Thu Apr 28 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2.5-2
3e1ec0
- Power64 has libunwind now
3e1ec0
3e1ec0
* Tue Apr 26 2016 Tom Callaway <spot@fedoraproject.org> - 2.5-1
3e1ec0
- update to 2.5
3e1ec0
3e1ec0
* Tue Mar  8 2016 Tom Callaway <spot@fedoraproject.org> - 2.4.91-1
3e1ec0
- update to 2.4.91
3e1ec0
- re-enable hardened builds (upstream disabled dynamic sized delete by default)
3e1ec0
3e1ec0
* Fri Mar 04 2016 Than Ngo <than@redhat.com> - 2.4.90-3
3e1ec0
- Disable hardened build on ppc64/ppc64le (RHBZ#1314483).
3e1ec0
3e1ec0
* Mon Feb 29 2016 Richard W.M. Jones <rjones@redhat.com> - 2.4.90-2
3e1ec0
- Disable hardened build on 32 bit ARM (RHBZ#1312462).
3e1ec0
3e1ec0
* Mon Feb 22 2016 Tom Callaway <spot@fedoraproject.org> - 2.4.90-1
3e1ec0
- update to 2.4.90
3e1ec0
3e1ec0
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-6
3e1ec0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
3e1ec0
3e1ec0
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4-5
3e1ec0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
3e1ec0
3e1ec0
* Tue Jun  9 2015 Tom Callaway <spot@fedoraproject.org> - 2.4-4
3e1ec0
- fix modern futex handling (thanks to Paolo Bonzini)
3e1ec0
3e1ec0
* Mon Jun  1 2015 Tom Callaway <spot@fedoraproject.org> - 2.4-3
3e1ec0
- enable futex for ARM
3e1ec0
3e1ec0
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.4-2
3e1ec0
- Rebuilt for GCC 5 C++11 ABI change
3e1ec0
3e1ec0
* Fri Mar 27 2015 Tom Callaway <spot@fedoraproject.org> 2.4-1
3e1ec0
- update to 2.4
3e1ec0
3e1ec0
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-2
3e1ec0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
3e1ec0
3e1ec0
* Thu Jul 10 2014 Dan HorĂ¡k <dan[at]danny.cz> -  2.2.1-1
3e1ec0
- Update to new upstream 2.2.1 release
3e1ec0
- Fixes build on ppc arches
3e1ec0
3e1ec0
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2-2
3e1ec0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
3e1ec0
3e1ec0
* Wed Jun  4 2014 Peter Robinson <pbrobinson@fedoraproject.org> 2.2-1
3e1ec0
- Update to new upstream 2.2 release
3e1ec0
- Add support for new arches (aarch64, ppc64le, mips)
3e1ec0
3e1ec0
* Tue May 13 2014 Jaromir Capik <jcapik@redhat.com> - 2.1-5
3e1ec0
- Replacing ppc64 with the power64 macro (#1077632)
3e1ec0
3e1ec0
* Sat Jan  4 2014 Tom Callaway <spot@fedoraproject.org> - 2.1-4
3e1ec0
- re-enable FORTIFY_SOURCE
3e1ec0
3e1ec0
* Fri Dec  6 2013 Ville Skyttä <ville.skytta@iki.fi> - 2.1-3
3e1ec0
- Install docs to %%{_pkgdocdir} where available (#993798), include NEWS.
3e1ec0
- Fix bogus date in %%changelog.
3e1ec0
3e1ec0
* Sat Aug 03 2013 Petr Pisar <ppisar@redhat.com> - 2.1-2
3e1ec0
- Perl 5.18 rebuild
3e1ec0
3e1ec0
* Wed Jul 31 2013 Tom Callaway <spot@fedoraproject.org> - 2.1-1
3e1ec0
- update to 2.1 (fixes arm)
3e1ec0
- disable -fexceptions, as that breaks things on el6, possibly arm
3e1ec0
3e1ec0
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 2.0-12
3e1ec0
- Perl 5.18 rebuild
3e1ec0
3e1ec0
* Tue Jun  4 2013 Tom Callaway <spot@fedoraproject.org> - 2.0-11
3e1ec0
- pass -fno-strict-aliasing
3e1ec0
- create "gperftools" metapackage.
3e1ec0
- update to svn r218 (cleanups, some ARM fixes)
3e1ec0
3e1ec0
* Thu Mar 14 2013 Dan HorĂ¡k <dan[at]danny.cz> - 2.0-10
3e1ec0
- build on ppc64 as well
3e1ec0
3e1ec0
* Fri Mar  1 2013 Tom Callaway <spot@fedoraproject.org> - 2.0-9
3e1ec0
- update to svn r190 (because google can't make releases)
3e1ec0
3e1ec0
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-8
3e1ec0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
3e1ec0
3e1ec0
* Fri Aug  3 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-7
3e1ec0
- fix compile with glibc 2.16
3e1ec0
3e1ec0
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-6
3e1ec0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
3e1ec0
3e1ec0
* Mon Feb 20 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 2.0-5
3e1ec0
- Enable ARM as a supported arch
3e1ec0
3e1ec0
* Thu Feb 16 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-4
3e1ec0
- fix bug in -devel Requires
3e1ec0
3e1ec0
* Tue Feb 14 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-3
3e1ec0
- pprof doesn't actually need gperftools-libs
3e1ec0
3e1ec0
* Tue Feb 14 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-2
3e1ec0
- rework package so that pprof is a noarch subpackage, while still
3e1ec0
  enforcing the ExclusiveArch for the libs
3e1ec0
3e1ec0
* Tue Feb 14 2012 Tom Callaway <spot@fedoraproject.org> - 2.0-1
3e1ec0
- rename to gperftools
3e1ec0
- update to 2.0
3e1ec0
3e1ec0
* Wed Jan  4 2012 Tom Callaway <spot@fedoraproject.org> - 1.9.1-1
3e1ec0
- update to 1.9.1
3e1ec0
3e1ec0
* Mon Oct 24 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.3-3
3e1ec0
- split libraries out into subpackage to minimize dependencies
3e1ec0
3e1ec0
* Wed Sep 21 2011 Remi Collet <remi@fedoraproject.org> - 1.8.3-2
3e1ec0
- rebuild for new libunwind
3e1ec0
3e1ec0
* Tue Aug 30 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.3-1
3e1ec0
- update to 1.8.3
3e1ec0
3e1ec0
* Mon Aug 22 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.2-1
3e1ec0
- update to 1.8.2
3e1ec0
3e1ec0
* Thu Jul 28 2011 Tom Callaway <spot@fedoraproject.org> - 1.8.1-1
3e1ec0
- update to 1.8.1
3e1ec0
3e1ec0
* Mon Jul 18 2011 Tom Callaway <spot@fedoraproject.org> - 1.8-1
3e1ec0
- update to 1.8
3e1ec0
3e1ec0
* Wed Jun 29 2011 Tom Callaway <spot@fedoraproject.org> - 1.7-4
3e1ec0
- fix tcmalloc compile against current glibc, fix derived from:
3e1ec0
  http://src.chromium.org/viewvc/chrome?view=rev&revision=89800
3e1ec0
3e1ec0
* Thu May 12 2011 Tom Callaway <spot@fedoraproject.org> - 1.7-3
3e1ec0
- add Requires: graphviz, gv for pprof
3e1ec0
3e1ec0
* Fri Mar 11 2011 Dan HorĂ¡k <dan[at]danny.cz> - 1.7-2
3e1ec0
- switch to ExclusiveArch
3e1ec0
3e1ec0
* Fri Feb 18 2011 Tom Callaway <spot@fedoraproject.org> - 1.7-1
3e1ec0
- update to 1.7
3e1ec0
3e1ec0
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-3
3e1ec0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
3e1ec0
3e1ec0
* Thu Dec  2 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.6-2
3e1ec0
- fix pprof to work properly with jemalloc (bz 657118)
3e1ec0
3e1ec0
* Fri Aug  6 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.6-1
3e1ec0
- update to 1.6
3e1ec0
3e1ec0
* Wed Jan 20 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.5-1
3e1ec0
- update to 1.5
3e1ec0
- disable broken test suite
3e1ec0
3e1ec0
* Sat Sep 12 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.4-1
3e1ec0
- update to 1.4
3e1ec0
3e1ec0
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3-3
3e1ec0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
3e1ec0
3e1ec0
* Thu Jul  2 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.3-2
3e1ec0
- disable tests for ppc, upstream ticket #153
3e1ec0
3e1ec0
* Thu Jul  2 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.3-1
3e1ec0
- update to 1.3
3e1ec0
3e1ec0
* Wed May 20 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.2-1
3e1ec0
- update to 1.2
3e1ec0
3e1ec0
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.99.1-2
3e1ec0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
3e1ec0
3e1ec0
* Mon Sep 22 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.99.1-1
3e1ec0
- update to 0.99.1
3e1ec0
- previous patches in 0.98-1 were taken upstream
3e1ec0
3e1ec0
* Mon Aug 25 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.98-1
3e1ec0
- update to 0.98
3e1ec0
- fix linuxthreads.c compile (upstream issue 74)
3e1ec0
- fix ppc compile (upstream issue 75)
3e1ec0
- enable ppc
3e1ec0
3e1ec0
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.95-4
3e1ec0
- Autorebuild for GCC 4.3
3e1ec0
3e1ec0
* Tue Feb 19 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.95-3
3e1ec0
- re-disable ppc/ppc64
3e1ec0
3e1ec0
* Tue Feb 19 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.95-2
3e1ec0
- ppc/ppc64 doesn't have libunwind
3e1ec0
3e1ec0
* Tue Feb 19 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.95-1
3e1ec0
- 0.95 (all patches taken upstream)
3e1ec0
- enable ppc support
3e1ec0
- workaround broken ptrace header (no typedef for u32)
3e1ec0
3e1ec0
* Fri Jan  4 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.94.1-1
3e1ec0
- bump to 0.94.1
3e1ec0
- fix for gcc4.3
3e1ec0
- fix unittest link issue
3e1ec0
3e1ec0
* Thu Aug 23 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.93-1
3e1ec0
- upstream merged my patch!
3e1ec0
- rebuild for BuildID
3e1ec0
3e1ec0
* Wed Aug  1 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.92-1
3e1ec0
- bump to 0.92
3e1ec0
3e1ec0
* Thu May 17 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-3.1
3e1ec0
- excludearch ppc64
3e1ec0
3e1ec0
* Sun Apr 29 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-3
3e1ec0
- The tests work fine for me locally, but some of them fail inside mock.
3e1ec0
3e1ec0
* Sun Apr 29 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-2
3e1ec0
- no support for ppc yet
3e1ec0
3e1ec0
* Mon Apr 23 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-1
3e1ec0
- alright, lets see if this works now.
3e1ec0
3e1ec0
* Wed Oct 12 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.3-2
3e1ec0
- change group to Development/Tools
3e1ec0
3e1ec0
* Mon Oct 10 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.3-1
3e1ec0
- initial package for Fedora Extras