X-Git-Url: https://git.pld-linux.org/gitweb.cgi?a=blobdiff_plain;f=binutils.spec;h=314f4ca4a5ac0cd9a80db75e8c4d02a0fd3a889b;hb=HEAD;hp=e853f0b21275dc4be786336fc0dafd498ef67186;hpb=b27362de415e94d3ba00bddfe39e037f82b4738a;p=packages%2Fbinutils.git diff --git a/binutils.spec b/binutils.spec index e853f0b..314f4ca 100644 --- a/binutils.spec +++ b/binutils.spec @@ -7,14 +7,17 @@ %bcond_with pax # without PaX flags (for upstream bugreports) %bcond_without gold # don't build gold (no C++ dependencies) %bcond_without default_bfd # default ld.bfd instead of gold -%bcond_without gasp # gasp +%bcond_without debuginfod # debuginfo lokups with debuginfod +%bcond_without gprofng # gprofng +%bcond_without jansson # Package Metadata embedding support +%bcond_without msgpack # msgpack support %bcond_with tests # check target -%ifnarch %{ix86} %{x8664} x32 aarch64 +%ifnarch %{ix86} %{x8664} x32 aarch64 %{arm} %undefine with_gold %endif -%ifarch %{arm} -%undefine with_gasp +%ifnarch %{ix86} %{x8664} aarch64 +%undefine with_gprofng 1 %endif Summary: GNU Binary Utility Development Utilities @@ -27,47 +30,51 @@ Summary(ru.UTF-8): Набор инструментов GNU для построе Summary(tr.UTF-8): GNU geliştirme araçları Summary(uk.UTF-8): Набір інструментів GNU для побудови виконуваних програм Name: binutils -Version: 2.35.1 +Version: 2.42 Release: 1 Epoch: 4 License: GPL v3+ Group: Development/Tools Source0: https://ftp.gnu.org/gnu/binutils/%{name}-%{version}.tar.lz -# Source0-md5: 701103b50966364eadff838f5a5df928 +# Source0-md5: c1526faed7197b4e79dfe04eded7fc11 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2 # Source1-md5: a717d9707ec77d82acb6ec9078c472d6 -Patch0: %{name}-gasp.patch Patch1: %{name}-info.patch Patch2: %{name}-libtool-relink.patch Patch3: %{name}-pt_pax_flags.patch Patch6: %{name}-absolute-gnu_debuglink-path.patch Patch7: %{name}-libtool-m.patch -Patch8: %{name}-build-id.patch Patch9: %{name}-tooldir.patch Patch10: %{name}-sanity-check.patch -Patch11: binutils-CVE-2019-1010204.patch -URL: http://sources.redhat.com/binutils/ +URL: http://www.sourceware.org/binutils/ BuildRequires: autoconf >= 2.69 BuildRequires: automake >= 1:1.11 BuildRequires: bison +%{?with_debuginfod:BuildRequires: elfutils-debuginfod-devel >= 0.179} BuildRequires: flex BuildRequires: gettext-tools -%{?with_gold:BuildRequires: libstdc++-devel >= 6:4.0-1} -%{?with_tests:BuildRequires: libstdc++-static >= 6:4.0} +%{?with_jansson:BuildRequires: jansson-devel} +%{?with_gold:BuildRequires: libstdc++-devel >= 6:4.8.1} +%{?with_tests:BuildRequires: libstdc++-static >= 6:4.8.1} BuildRequires: lzip +%{?with_msgpack:BuildRequires: msgpack-devel} BuildRequires: perl-tools-pod +BuildRequires: pkgconfig +BuildRequires: rpmbuild(macros) >= 1.527 %ifarch sparc sparc32 BuildRequires: sparc32 %endif BuildRequires: tar >= 1:1.22 -BuildRequires: texinfo >= 4.2 +BuildRequires: texinfo >= 6.3 BuildRequires: zlib-devel %{?with_tests:BuildRequires: zlib-static} +BuildRequires: zstd-devel +%{?with_debuginfod:Requires: elfutils-debuginfod-libs >= 0.179} Conflicts: gcc-c++ < 5:3.3 Conflicts: modutils < 2.4.17 Conflicts: rpmbuild(macros) < 1.660 -Obsoletes: binutils-gold +Obsoletes: binutils-gold < 3:2.21.51.0.7-2 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -147,34 +154,83 @@ Static GNU binutils libraries (libbfd, libopcodes). %description static -l pl.UTF-8 Biblioteki statyczne GNU binutils (libbfd, libopcodes). -%package gasp -Summary: GASP - old preprocessor for assembly programs -Summary(pl.UTF-8): GASP - stary preprocesor dla programów w asemblerze +%package gprofng +Summary: GNU Next Generation profiler +Summary(pl.UTF-8): Narzędzie profilujące GNU Next Generation Group: Development/Tools Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: %{name}-gprofng-libs = %{epoch}:%{version}-%{release} +Requires: coreutils +Requires: hostname +Requires: perl-base >= 1:5.10.0 +Requires: which + +%description gprofng +Gprofng is the GNU Next Generation profiler for analyzing the +performance of Linux applications. Gprofng allows you to: +- Profile C / C++ / Java / Scala applications without needing to + recompile +- Profile multi-threaded applications +- Analyze and compare multiple experiments +- Use time-based sampling and / or hardware event counters + +%description gprofng -l pl.UTF-8 +Gprofng jest narzędziem profilującym GNU Next Generation do analizy +wydajności aplikacji w systemie Linux. Gprofng pozwala na: +- Profilowanie aplikacji C / C++ / Java / Scala bez potrzeby ponownej + kompilacji +- Profilowanie aplikacji wielowątkowych +- Analizę i porównanie wielu eksperymentów +- Użycie próbkowania w dziedzinie czasu i/lub sprzętowych liczników + zdarzeń + +%package gprofng-libs +Summary: GNU Next Generation profiler shared libraries +Summary(pl.UTF-8): Biblioteki narzędzia profilującego GNU Next Generation +Group: Libraries + +%description gprofng-libs +GNU Next Generation profiler shared libraries. + +%description gprofng-libs -l pl.UTF-8 +Biblioteki narzędzia profilującego GNU Next Generation. -%description gasp -GASP - old preprocessor for assembly programs. It's officially -obsoleted, but it's still needed to build some packages. +%package gprofng-devel +Summary: Development files for GNU Next Generation profiler +Summary(pl.UTF-8): Pliki programistyczne bibliotek narzędzia profilującego GNU Next Generation +Group: Development/Libraries +Requires: %{name}-gprofng-libs = %{epoch}:%{version}-%{release} + +%description gprofng-devel +Development files for GNU Next Generation profiler. -%description gasp -l pl.UTF-8 -GASP - stary preprocesor dla programów w asemblerze. Jest oficjalnie -uznany za przestarzały, ale jest nadal potrzebny do zbudowania -niektórych pakietów. +%description gprofng-devel -l pl.UTF-8 +Pliki programistyczne bibliotek narzędzia profilującego GNU Next Generation. + +%package gprofng-static +Summary: GNU Next Generation profiler static libraries +Summary(pl.UTF-8): Biblioteki statyczne narzędzia profilującego GNU Next Generation +Group: Development/Libraries +Requires: %{name}-gprofng-devel = %{epoch}:%{version}-%{release} + +%description gprofng-static +GNU Next Generation profiler static libraries. + +%description gprofng-static -l pl.UTF-8 +Biblioteki statyczne narzędzia profilującego GNU Next Generation. %prep %setup -q -%{?with_gasp:%patch0 -p1} %patch1 -p1 %patch2 -p1 %{?with_pax:%patch3 -p1} %patch6 -p1 %patch7 -p1 -%patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 + +%{__sed} -i -e '1s,.*env perl,#!%{__perl},' gprofng/gp-display-html/gp-display-html.in # file contains hacks for ac 2.69 only %{__rm} config/override.m4 @@ -183,16 +239,22 @@ niektórych pakietów. %{__aclocal} %{__autoconf} -# non-standard regeneration (needed because of gasp patch) +# non-standard regeneration # AM_BINUTILS_WARNINGS in bfd/warning.m4, ZW_GNU_GETTEXT_SISTER_DIR in config/gettext-sister.m4 for dir in gas bfd; do cd $dir || exit 1 %{__aclocal} -I .. -I ../config -I ../bfd %{__automake} Makefile - %{__automake} doc/Makefile + test -f doc/Makefile.am && %{__automake} doc/Makefile %{__autoconf} cd .. done +cd libctf +%{__aclocal} -I.. -I../config -I../bfd +%{__autoconf} +%{__autoheader} +%{__automake} +cd .. # More targets TARGETS= @@ -227,7 +289,9 @@ sparc32 \ --libdir=%{_libdir} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ + --sysconfdir=%{_sysconfdir} \ --disable-debug \ + --disable-silent-rules \ --disable-werror \ %ifarch sparc --enable-64-bit-bfd \ @@ -242,12 +306,15 @@ sparc32 \ %{?with_allarchs:--enable-targets=alpha-linux,arm-linux,cris-linux,hppa-linux,i386-linux,ia64-linux,x86_64-linux,x86_64-linux-gnux32,m68k-linux,mips-linux,mips64-linux,mips64el-linux,mipsel-linux,ppc-linux,s390-linux,s390x-linux,sh-linux,sparc-linux,sparc64-linux,i386-linuxaout,x86_64-pep} \ %{!?with_allarchs:`[ -n "${TARGETS}" ] && echo "--enable-targets=${TARGETS}"`} \ --with-tooldir=%{_prefix} \ - --with-zlib \ + --with-system-zlib \ %if %{with gold} --enable-gold%{!?with_default_bfd:=default} --enable-ld%{?with_default_bfd:=default} \ %endif + %{__with_without msgpack} \ + %{__enable_disable jansson} \ + %{__with_without debuginfod} -%{__make} -j1 +%{__make} %{?with_tests:%{__make} -j1 check} @@ -255,7 +322,7 @@ sparc32 \ rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT%{_libdir}/bfd-plugins -%{__make} install \ +%{__make} -j1 install \ DESTDIR=$RPM_BUILD_ROOT # remove these man pages unless we cross-build for win*/netware platforms. @@ -274,6 +341,15 @@ perl -pi -e 's@-L[^ ]*/pic @@g' $RPM_BUILD_ROOT%{_libdir}/libbfd.la rm -f $RPM_BUILD_ROOT%{_infodir}/dir +%if %{with gprofng} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/gprofng/libgp-collectorAPI.{a,la} +%endif + +%if %{with gold} +install -d gold-doc +cp -p gold/{README,ChangeLog,TODO} gold-doc +%endif + %find_lang bfd %find_lang binutils %find_lang gas @@ -305,16 +381,19 @@ rm -rf $RPM_BUILD_ROOT %postun devel -p /sbin/postshell -/usr/sbin/fix-info-dir -c %{_infodir} -%post gasp -p /sbin/postshell +%post gprofng -p /sbin/postshell -/usr/sbin/fix-info-dir -c %{_infodir} -%postun gasp -p /sbin/postshell +%postun gprofng -p /sbin/postshell -/usr/sbin/fix-info-dir -c %{_infodir} +%post gprofng-libs -p /sbin/ldconfig +%postun gprofng-libs -p /sbin/ldconfig + %files -f %{name}.lang %defattr(644,root,root,755) %doc README -%{?with_gold:%doc gold/{ChangeLog,README,TODO}} +%{?with_gold:%doc gold-doc} %attr(755,root,root) %{_bindir}/addr2line %attr(755,root,root) %{_bindir}/ar %attr(755,root,root) %{_bindir}/as @@ -338,8 +417,11 @@ rm -rf $RPM_BUILD_ROOT %{_prefix}/lib/ldscripts %{_infodir}/as.info* %{_infodir}/binutils.info* +%{_infodir}/ctf-spec.info* %{_infodir}/gprof.info* %{_infodir}/ld.info* +%{_infodir}/ldint.info* +%{_infodir}/sframe-spec.info* %{_mandir}/man1/addr2line.1* %{_mandir}/man1/ar.1* %{_mandir}/man1/as.1* @@ -372,7 +454,10 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libctf-nobfd.so.*.* %attr(755,root,root) %ghost %{_libdir}/libctf-nobfd.so.0 %attr(755,root,root) %{_libdir}/libopcodes-%{version}.so +%attr(755,root,root) %{_libdir}/libsframe.so.*.* +%attr(755,root,root) %ghost %{_libdir}/libsframe.so.1 %dir %{_libdir}/bfd-plugins +%attr(755,root,root) %{_libdir}/bfd-plugins/libdep.so %files devel %defattr(644,root,root,755) @@ -380,20 +465,23 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libctf.so %attr(755,root,root) %{_libdir}/libctf-nobfd.so %attr(755,root,root) %{_libdir}/libopcodes.so +%attr(755,root,root) %{_libdir}/libsframe.so %{_libdir}/libbfd.la %{_libdir}/libctf.la %{_libdir}/libctf-nobfd.la %{_libdir}/libopcodes.la %{_libdir}/libiberty.a +%{_libdir}/libsframe.la %{_includedir}/ansidecl.h %{_includedir}/bfd.h -%{_includedir}/bfd_stdint.h %{_includedir}/bfdlink.h %{_includedir}/ctf-api.h %{_includedir}/ctf.h %{_includedir}/diagnostics.h %{_includedir}/dis-asm.h %{_includedir}/plugin-api.h +%{_includedir}/sframe-api.h +%{_includedir}/sframe.h %{_includedir}/symcat.h %{_includedir}/libiberty %{_infodir}/bfd.info* @@ -404,10 +492,46 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libctf.a %{_libdir}/libctf-nobfd.a %{_libdir}/libopcodes.a +%{_libdir}/libsframe.a + +%if %{with gprofng} +%files gprofng +%defattr(644,root,root,755) +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gprofng.rc +%attr(755,root,root) %{_bindir}/gp-archive +%attr(755,root,root) %{_bindir}/gp-collect-app +%attr(755,root,root) %{_bindir}/gp-display-html +%attr(755,root,root) %{_bindir}/gp-display-src +%attr(755,root,root) %{_bindir}/gp-display-text +%attr(755,root,root) %{_bindir}/gprofng +%{_infodir}/gprofng.info* +%{_mandir}/man1/gp-archive.* +%{_mandir}/man1/gp-collect-app.* +%{_mandir}/man1/gp-display-html.* +%{_mandir}/man1/gp-display-src.* +%{_mandir}/man1/gp-display-text.* +%{_mandir}/man1/gprofng.1* + +%files gprofng-libs +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libgprofng.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libgprofng.so.0 +%dir %{_libdir}/gprofng +%attr(755,root,root) %{_libdir}/gprofng/libgp-collector.so +%attr(755,root,root) %{_libdir}/gprofng/libgp-collectorAPI.so +%attr(755,root,root) %{_libdir}/gprofng/libgp-heap.so +%attr(755,root,root) %{_libdir}/gprofng/libgp-iotrace.so +%attr(755,root,root) %{_libdir}/gprofng/libgp-sync.so + +%files gprofng-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libgprofng.so +%{_libdir}/libgprofng.la +%{_includedir}/collectorAPI.h +%{_includedir}/libcollector.h +%{_includedir}/libfcollector.h -%if %{with gasp} -%files gasp +%files gprofng-static %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/gasp -%{_infodir}/gasp.info* +%attr(755,root,root) %{_libdir}/libgprofng.a %endif