diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..84f1a67 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/gperftools-2.2.1.tar.gz diff --git a/.rh-mongodb26-gperftools.metadata b/.rh-mongodb26-gperftools.metadata new file mode 100644 index 0000000..107e8f8 --- /dev/null +++ b/.rh-mongodb26-gperftools.metadata @@ -0,0 +1 @@ +f505eb467bc5b55ea3a27e3386a70331bf6e38a0 SOURCES/gperftools-2.2.1.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 98f42b4..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SPECS/gperftools.spec b/SPECS/gperftools.spec new file mode 100644 index 0000000..e485c01 --- /dev/null +++ b/SPECS/gperftools.spec @@ -0,0 +1,323 @@ +%{?scl:%scl_package gperftools} +%{!?scl:%global pkg_name %{name}} + +# This package used to be called "google-perftools", but it was renamed on 2012-02-03. + +%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} + +Name: %{?scl_prefix}gperftools +Version: 2.2.1 +Release: 4%{?dist} +License: BSD +Group: Development/Tools +Summary: Very fast malloc and performance analysis tools +URL: http://code.google.com/p/gperftools/ +Source0: https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/%{pkg_name}-%{version}.tar.gz +ExcludeArch: s390 s390x +%ifnarch ppc %{power64} +BuildRequires: %{?scl_prefix}libunwind-devel +Requires: %{?scl_prefix}libunwind +%endif +Requires: %{?scl_prefix}gperftools-devel = %{version}-%{release} +%{!?scl:Requires: %{?scl_prefix}pprof = %{version}-%{release}} +%{?scl:Requires: %{scl}-runtime} + +# Filtering provides without scl name +# https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +%if 0%{?fedora} > 14 || 0%{?rhel} > 6 +%global __provides_exclude ^pkgconfig\\( +%else +%filter_from_provides /pkgconfig(/d +%filter_setup +%endif + +%description +Perf Tools is a collection of performance analysis tools, including a +high-performance multi-threaded malloc() implementation that works +particularly well with threads and STL, a thread-friendly heap-checker, +a heap profiler, and a cpu-profiler. + +%package -n %{?scl_prefix}%{pkg_name}-devel +Summary: Development libraries and headers for gperftools +Group: Development/Libraries +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description -n %{?scl_prefix}%{pkg_name}-devel +Libraries and headers for developing applications that use gperftools. + +%package -n %{?scl_prefix}%{pkg_name}-libs +Summary: Libraries provided by gperftools + +%description -n %{?scl_prefix}%{pkg_name}-libs +Libraries provided by gperftools, including libtcmalloc and libprofiler. + +%if 0%{!?scl:1} +%package -n %{?scl_prefix}pprof +Summary: CPU and Heap Profiler tool +Requires: gv, graphviz +BuildArch: noarch + +%description -n %{?scl_prefix}pprof +Pprof is a heap and CPU profiler tool, part of the gperftools suite. +%endif + +%prep +%setup -q -n %{pkg_name}-%{version} +# Fix end-of-line encoding +sed -i 's/\r//' README_windows.txt + +# No need to have exec permissions on source code +chmod -x src/*.h src/*.cc + +# make libtool able to handle soname in format sclname-1 +sed -i -r 's|(major=\.)(\$func_arith_result)|\1$verstring_prefix\2|' ltmain.sh + +%build +%{?scl:scl enable %{scl} - << "EOF"} +# fix strict-aliasing issues (see https://bugzilla.redhat.com/show_bug.cgi?id=1035187) +CFLAGS=`echo $RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -DTCMALLOC_LARGE_PAGES | sed -e 's|-fexceptions||g'` +CXXFLAGS=`echo $RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -DTCMALLOC_LARGE_PAGES | sed -e 's|-fexceptions||g'` +%configure --disable-static +%{?scl:EOF} + +# Bad rpath! +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +# Can't build with smp_mflags +%{?scl:scl enable %{scl} - << "EOF"} +export verstring_prefix="%{scl_prefix}" +make +%{?scl:EOF} + +%install +%{?scl:scl enable %{scl} - << "EOF"} +make DESTDIR=%{buildroot} docdir=%{_docdir}/%{name}-%{version}/ install +%{?scl:EOF} +find %{buildroot} -type f -name "*.la" -exec rm -f {} ';' + +# Delete useless files +rm -rf %{buildroot}%{_pkgdocdir}/INSTALL + +%if 0%{?scl:1} +rm %{buildroot}%{_bindir}/pprof +rm -f %{buildroot}%{_mandir}/man1/* +%endif + +%check +# http://code.google.com/p/google-perftools/issues/detail?id=153 +%ifnarch ppc +# Their test suite is almost always broken. +# LD_LIBRARY_PATH=./.libs make check +%endif + +%post -n %{?scl_prefix}%{pkg_name}-libs -p /sbin/ldconfig +%postun -n %{?scl_prefix}%{pkg_name}-libs -p /sbin/ldconfig + +%files + +%if 0%{!?scl:1} +%files -n %{?scl_prefix}pprof +%{_bindir}/pprof +%{_mandir}/man1/* +%endif + +%files -n %{?scl_prefix}%{pkg_name}-devel +%{_pkgdocdir}/ +%{_includedir}/google/ +%{_includedir}/gperftools/ +%{_libdir}/*.so +%{_libdir}/pkgconfig/*.pc + +%files -n %{?scl_prefix}%{pkg_name}-libs +%{_libdir}/*.so.* + +%changelog +* Tue Jan 27 2015 Honza Horak - 2.2.1-4 +- Do not bulid pprof in SCL + +* Mon Jan 26 2015 Honza Horak - 2.2.1-3 +- Fix pprof package name so requirements of gperftools are fine + +* Sun Jan 18 2015 Honza Horak - 2.2.1-2 +- Filter provides without scl name + +* Sat Jan 17 2015 root - 2.2.1-1 +- Update to new upstream 2.2.1 release + +* Mon Feb 17 2014 Honza Horak - 2.0-18 +- Rebase due libunwind soname prefix + Related: #1042874 + +* Fri Jan 17 2014 Jan Pacner - 2.0-17 +- Related: RHBZ#1042874 (non-namespaced RPM provides and libraries) + +* Mon Jan 06 2014 Jan Pacner - 2.0-16 +- Related: #1035187 (disable checks about breaking strict-aliasing rules) +- revert the previous restoration and allow fortifying symbols + +* Thu Jan 2 2014 Honza Horak - 2.0-15 +- Restore changes done bellow except turning off strict-aliasing + Related: #1035187 + +* Wed Dec 18 2013 Jan Pacner - 2.0-14 +- Resolves: #1035187 (disable checks about breaking strict-aliasing rules) + +* Fri Dec 13 2013 Jan Pacner - 2.0-13 +- Resolves: #1039927 + +* Thu Oct 10 2013 Honza Horak - 2.0-12 +- Release bump for rebuilding + +* Sun May 5 2013 Honza Horak - 2.0-11 +- Add support for software collections + +* Thu Mar 14 2013 Dan Horák - 2.0-10 +- build on ppc64 as well + +* Fri Mar 1 2013 Tom Callaway - 2.0-9 +- update to svn r190 (because google can't make releases) + +* Thu Feb 14 2013 Fedora Release Engineering - 2.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Aug 3 2012 Tom Callaway - 2.0-7 +- fix compile with glibc 2.16 + +* Thu Jul 19 2012 Fedora Release Engineering - 2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Feb 20 2012 Peter Robinson - 2.0-5 +- Enable ARM as a supported arch + +* Thu Feb 16 2012 Tom Callaway - 2.0-4 +- fix bug in -devel Requires + +* Tue Feb 14 2012 Tom Callaway - 2.0-3 +- pprof doesn't actually need gperftools-libs + +* Tue Feb 14 2012 Tom Callaway - 2.0-2 +- rework package so that pprof is a noarch subpackage, while still + enforcing the ExclusiveArch for the libs + +* Tue Feb 14 2012 Tom Callaway - 2.0-1 +- rename to gperftools +- update to 2.0 + +* Wed Jan 4 2012 Tom Callaway - 1.9.1-1 +- update to 1.9.1 + +* Mon Oct 24 2011 Tom Callaway - 1.8.3-3 +- split libraries out into subpackage to minimize dependencies + +* Wed Sep 21 2011 Remi Collet - 1.8.3-2 +- rebuild for new libunwind + +* Tue Aug 30 2011 Tom Callaway - 1.8.3-1 +- update to 1.8.3 + +* Mon Aug 22 2011 Tom Callaway - 1.8.2-1 +- update to 1.8.2 + +* Thu Jul 28 2011 Tom Callaway - 1.8.1-1 +- update to 1.8.1 + +* Mon Jul 18 2011 Tom Callaway - 1.8-1 +- update to 1.8 + +* Wed Jun 29 2011 Tom Callaway - 1.7-4 +- fix tcmalloc compile against current glibc, fix derived from: + http://src.chromium.org/viewvc/chrome?view=rev&revision=89800 + +* Thu May 12 2011 Tom Callaway - 1.7-3 +- add Requires: graphviz, gv for pprof + +* Fri Mar 11 2011 Dan Horák - 1.7-2 +- switch to ExclusiveArch + +* Fri Feb 18 2011 Tom Callaway - 1.7-1 +- update to 1.7 + +* Tue Feb 08 2011 Fedora Release Engineering - 1.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Dec 2 2010 Tom "spot" Callaway - 1.6-2 +- fix pprof to work properly with jemalloc (bz 657118) + +* Fri Aug 6 2010 Tom "spot" Callaway - 1.6-1 +- update to 1.6 + +* Wed Jan 20 2010 Tom "spot" Callaway - 1.5-1 +- update to 1.5 +- disable broken test suite + +* Sat Sep 12 2009 Tom "spot" Callaway - 1.4-1 +- update to 1.4 + +* Fri Jul 24 2009 Fedora Release Engineering - 1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Jul 2 2009 Tom "spot" Callaway - 1.3-2 +- disable tests for ppc, upstream ticket #153 + +* Thu Jul 2 2009 Tom "spot" Callaway - 1.3-1 +- update to 1.3 + +* Wed May 20 2009 Tom "spot" Callaway - 1.2-1 +- update to 1.2 + +* Tue Feb 24 2009 Fedora Release Engineering - 0.99.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Sep 22 2008 Tom "spot" Callaway - 0.99.1-1 +- update to 0.99.1 +- previous patches in 0.98-1 were taken upstream + +* Mon Aug 25 2008 Tom "spot" Callaway - 0.98-1 +- update to 0.98 +- fix linuxthreads.c compile (upstream issue 74) +- fix ppc compile (upstream issue 75) +- enable ppc + +* Tue Feb 19 2008 Fedora Release Engineering - 0.95-4 +- Autorebuild for GCC 4.3 + +* Tue Feb 19 2008 Tom "spot" Callaway 0.95-3 +- re-disable ppc/ppc64 + +* Tue Feb 19 2008 Tom "spot" Callaway 0.95-2 +- ppc/ppc64 doesn't have libunwind + +* Tue Feb 19 2008 Tom "spot" Callaway 0.95-1 +- 0.95 (all patches taken upstream) +- enable ppc support +- workaround broken ptrace header (no typedef for u32) + +* Fri Jan 4 2008 Tom "spot" Callaway 0.94.1-1 +- bump to 0.94.1 +- fix for gcc4.3 +- fix unittest link issue + +* Thu Aug 23 2007 Tom "spot" Callaway 0.93-1 +- upstream merged my patch! +- rebuild for BuildID + +* Wed Aug 1 2007 Tom "spot" Callaway 0.92-1 +- bump to 0.92 + +* Thu May 17 2007 Tom "spot" Callaway 0.91-3.1 +- excludearch ppc64 + +* Sun Apr 29 2007 Tom "spot" Callaway 0.91-3 +- The tests work fine for me locally, but some of them fail inside mock. + +* Sun Apr 29 2007 Tom "spot" Callaway 0.91-2 +- no support for ppc yet + +* Mon Apr 23 2007 Tom "spot" Callaway 0.91-1 +- alright, lets see if this works now. + +* Thu Oct 13 2005 Tom "spot" Callaway 0.3-2 +- change group to Development/Tools + +* Mon Oct 10 2005 Tom "spot" Callaway 0.3-1 +- initial package for Fedora Extras