From: Slava Barinov Date: Mon, 27 Feb 2017 09:57:34 +0000 (+0300) Subject: Packaging added. X-Git-Tag: accepted/tizen/base/tool/dev/20230608.110707~24 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6ca6f8602325c3ea873bbfe24638d108334f254e;p=platform%2Fupstream%2Fbinutils.git Packaging added. Signed-off-by: Slava Barinov --- diff --git a/packaging/binutils-aarch64.spec b/packaging/binutils-aarch64.spec new file mode 100644 index 0000000..5a7f15e --- /dev/null +++ b/packaging/binutils-aarch64.spec @@ -0,0 +1,165 @@ +%define cross aarch64 +%define aarch64 1 + +%ifarch armv7l +%define ARCH armv7l +%define ABI eabi +%endif +%ifarch %ix86 +%define ARCH i586 +%endif +%ifarch x86_64 +%define ARCH x86_64 +%endif +%ifarch aarch64 +%define ARCH aarch64 +%endif + +%define host_arch %{ARCH}-tizen-linux-gnu%{?ABI} + +%define target_cpu %{?cross}%{!?cross:%{ARCH}} +%define target_abi %{?cross:%{?armv7l:eabi}}%{!?cross:%{?ABI}} + +%define target_arch %{target_cpu}-tizen-linux-gnu%{?target_abi} + +Name: binutils%{?cross:-%{cross}} +BuildRequires: makeinfo +BuildRequires: bison +BuildRequires: flex +BuildRequires: ncurses-devel +BuildRequires: zlib-devel +BuildRequires: gcc-c++ +Version: 2.25 +Release: 0 +Url: http://www.gnu.org/software/binutils/ +Summary: GNU Binutils +License: GFDL-1.3 and GPL-3.0+ +Group: Development/Building +%{?cross:ExcludeArch: %{cross}} +Source: binutils-%{version}.tar.bz2 +Source1001: binutils.manifest + +%description +C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib, +size, strings, and strip. These utilities are needed whenever you want +to compile a program or kernel. + + +%package gold +Summary: The gold linker +License: GPL-3.0+ +Group: Development/Building + +%description gold +gold is an ELF linker. It is intended to have complete support for ELF +and to run as fast as possible on modern systems. For normal use it is +a drop-in replacement for the older GNU linker. + + +%package devel +Summary: GNU binutils (BFD development files) +License: GPL-3.0+ +Group: Development/Building +Requires: zlib-devel + +%description devel +This package includes header files and static libraries necessary to +build programs which use the GNU BFD library, which is part of +binutils. + + +%prep +%setup -q -n binutils-%{version} +cp %{SOURCE1001} . + + +%build +RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Wno-error %{?cross:-DIGNORE_BROKEN_PLUGINS}" +export CFLAGS="${RPM_OPT_FLAGS}" +export CXXFLAGS="${RPM_OPT_FLAGS}" + +mkdir build-dir +cd build-dir + +../configure \ + --prefix=%{_prefix} --libdir=%{_libdir} \ + --infodir=%{_infodir} --mandir=%{_mandir} \ + --with-bugurl=http://bugs.tizen.org/ \ + --with-sysroot=/ \ + --disable-nls \ + --with-separate-debug-dir=%{_prefix}/lib/debug \ + --with-pic \ + --build=%{host_arch} --target=%{target_arch} \ + --host=%{host_arch} \ +%{?cross: \ + --enable-targets=%{target_arch} \ + --enable-64-bit-bfd \ +} \ +%{!?cross: \ + --enable-targets=aarch64-tizen-linux,armv7l-tizen-linux,armv8l-tizen-linux,i686-tizen-linux,x86_64-tizen-linux \ +} \ + --enable-plugins \ + --enable-gold \ + --enable-shared + +make %{?_smp_mflags} + +%install +cd build-dir +make DESTDIR=$RPM_BUILD_ROOT install + +# Copy instead of hardlinks +for binary in ar as ld{,.bfd,.gold} nm obj{dump,copy} ranlib strip +do + rm %{buildroot}%{_prefix}/%{target_arch}/bin/$binary +%{!?cross: + cp %{buildroot}%{_bindir}/$binary %{buildroot}%{_prefix}/%{target_arch}/bin/$binary +} +%{?cross: + cp %{buildroot}%{_bindir}/%{target_arch}-$binary %{buildroot}%{_prefix}/%{target_arch}/bin/$binary +} +done + +install -m 644 libiberty/pic/libiberty.a %{buildroot}%{_prefix}/%{_lib} +install -m 644 ../include/libiberty.h %{buildroot}%{_prefix}/include + +# Remove unwanted files to shut up rpm +%{remove_docs} +rm -rf %{buildroot}%{_bindir}/gcore +rm -rf %{buildroot}%{_bindir}/gdb* +rm -rf %{buildroot}%{_datadir}/gdb +rm -rf %{buildroot}%{_libdir}/lib{bfd,opcodes,inproctrace}.{so,la} +%{?cross: +rm -rf %{buildroot}%{_prefix}/%{target_arch}/lib/ldscripts +rm -rf %{buildroot}%{_prefix}/%{host_arch} +rm -rf %{buildroot}%{_includedir} +rm -rf %{buildroot}%{_prefix}/lib* +rm -rf %{buildroot}%{_datadir} +} + +%files +%manifest binutils.manifest +%defattr(-,root,root) +%{_bindir}/* +%{_prefix}/%{target_arch}/bin/* +%{!?cross: +%exclude %{_bindir}/ld.gold +%exclude %{_prefix}/%{target_arch}/bin/ld.gold +%{_libdir}/*.so +%{_prefix}/%{host_arch}/lib/ldscripts + +%files devel +%manifest binutils.manifest +%defattr(-,root,root) +%{_includedir}/*.h +%{_includedir}/gdb/*.h +%{_libdir}/*.a + +%files gold +%manifest binutils.manifest +%defattr(-,root,root) +%{_bindir}/ld.gold +%{_prefix}/%{target_arch}/bin/ld.gold +} + +%changelog diff --git a/packaging/binutils-armv7l.spec b/packaging/binutils-armv7l.spec new file mode 100644 index 0000000..9a25224 --- /dev/null +++ b/packaging/binutils-armv7l.spec @@ -0,0 +1,165 @@ +%define cross armv7l +%define armv7l 1 + +%ifarch armv7l +%define ARCH armv7l +%define ABI eabi +%endif +%ifarch %ix86 +%define ARCH i586 +%endif +%ifarch x86_64 +%define ARCH x86_64 +%endif +%ifarch aarch64 +%define ARCH aarch64 +%endif + +%define host_arch %{ARCH}-tizen-linux-gnu%{?ABI} + +%define target_cpu %{?cross}%{!?cross:%{ARCH}} +%define target_abi %{?cross:%{?armv7l:eabi}}%{!?cross:%{?ABI}} + +%define target_arch %{target_cpu}-tizen-linux-gnu%{?target_abi} + +Name: binutils%{?cross:-%{cross}} +BuildRequires: makeinfo +BuildRequires: bison +BuildRequires: flex +BuildRequires: ncurses-devel +BuildRequires: zlib-devel +BuildRequires: gcc-c++ +Version: 2.25 +Release: 0 +Url: http://www.gnu.org/software/binutils/ +Summary: GNU Binutils +License: GFDL-1.3 and GPL-3.0+ +Group: Development/Building +%{?cross:ExcludeArch: %{cross}} +Source: binutils-%{version}.tar.bz2 +Source1001: binutils.manifest + +%description +C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib, +size, strings, and strip. These utilities are needed whenever you want +to compile a program or kernel. + + +%package gold +Summary: The gold linker +License: GPL-3.0+ +Group: Development/Building + +%description gold +gold is an ELF linker. It is intended to have complete support for ELF +and to run as fast as possible on modern systems. For normal use it is +a drop-in replacement for the older GNU linker. + + +%package devel +Summary: GNU binutils (BFD development files) +License: GPL-3.0+ +Group: Development/Building +Requires: zlib-devel + +%description devel +This package includes header files and static libraries necessary to +build programs which use the GNU BFD library, which is part of +binutils. + + +%prep +%setup -q -n binutils-%{version} +cp %{SOURCE1001} . + + +%build +RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Wno-error %{?cross:-DIGNORE_BROKEN_PLUGINS}" +export CFLAGS="${RPM_OPT_FLAGS}" +export CXXFLAGS="${RPM_OPT_FLAGS}" + +mkdir build-dir +cd build-dir + +../configure \ + --prefix=%{_prefix} --libdir=%{_libdir} \ + --infodir=%{_infodir} --mandir=%{_mandir} \ + --with-bugurl=http://bugs.tizen.org/ \ + --with-sysroot=/ \ + --disable-nls \ + --with-separate-debug-dir=%{_prefix}/lib/debug \ + --with-pic \ + --build=%{host_arch} --target=%{target_arch} \ + --host=%{host_arch} \ +%{?cross: \ + --enable-targets=%{target_arch} \ + --enable-64-bit-bfd \ +} \ +%{!?cross: \ + --enable-targets=aarch64-tizen-linux,armv7l-tizen-linux,armv8l-tizen-linux,i686-tizen-linux,x86_64-tizen-linux \ +} \ + --enable-plugins \ + --enable-gold \ + --enable-shared + +make %{?_smp_mflags} + +%install +cd build-dir +make DESTDIR=$RPM_BUILD_ROOT install + +# Copy instead of hardlinks +for binary in ar as ld{,.bfd,.gold} nm obj{dump,copy} ranlib strip +do + rm %{buildroot}%{_prefix}/%{target_arch}/bin/$binary +%{!?cross: + cp %{buildroot}%{_bindir}/$binary %{buildroot}%{_prefix}/%{target_arch}/bin/$binary +} +%{?cross: + cp %{buildroot}%{_bindir}/%{target_arch}-$binary %{buildroot}%{_prefix}/%{target_arch}/bin/$binary +} +done + +install -m 644 libiberty/pic/libiberty.a %{buildroot}%{_prefix}/%{_lib} +install -m 644 ../include/libiberty.h %{buildroot}%{_prefix}/include + +# Remove unwanted files to shut up rpm +%{remove_docs} +rm -rf %{buildroot}%{_bindir}/gcore +rm -rf %{buildroot}%{_bindir}/gdb* +rm -rf %{buildroot}%{_datadir}/gdb +rm -rf %{buildroot}%{_libdir}/lib{bfd,opcodes,inproctrace}.{so,la} +%{?cross: +rm -rf %{buildroot}%{_prefix}/%{target_arch}/lib/ldscripts +rm -rf %{buildroot}%{_prefix}/%{host_arch} +rm -rf %{buildroot}%{_includedir} +rm -rf %{buildroot}%{_prefix}/lib* +rm -rf %{buildroot}%{_datadir} +} + +%files +%manifest binutils.manifest +%defattr(-,root,root) +%{_bindir}/* +%{_prefix}/%{target_arch}/bin/* +%{!?cross: +%exclude %{_bindir}/ld.gold +%exclude %{_prefix}/%{target_arch}/bin/ld.gold +%{_libdir}/*.so +%{_prefix}/%{host_arch}/lib/ldscripts + +%files devel +%manifest binutils.manifest +%defattr(-,root,root) +%{_includedir}/*.h +%{_includedir}/gdb/*.h +%{_libdir}/*.a + +%files gold +%manifest binutils.manifest +%defattr(-,root,root) +%{_bindir}/ld.gold +%{_prefix}/%{target_arch}/bin/ld.gold +} + +%changelog diff --git a/packaging/binutils.manifest b/packaging/binutils.manifest new file mode 100644 index 0000000..017d22d --- /dev/null +++ b/packaging/binutils.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/packaging/binutils.spec b/packaging/binutils.spec new file mode 100644 index 0000000..3e6729e --- /dev/null +++ b/packaging/binutils.spec @@ -0,0 +1,162 @@ +%ifarch armv7l +%define ARCH armv7l +%define ABI eabi +%endif +%ifarch %ix86 +%define ARCH i586 +%endif +%ifarch x86_64 +%define ARCH x86_64 +%endif +%ifarch aarch64 +%define ARCH aarch64 +%endif + +%define host_arch %{ARCH}-tizen-linux-gnu%{?ABI} + +%define target_cpu %{?cross}%{!?cross:%{ARCH}} +%define target_abi %{?cross:%{?armv7l:eabi}}%{!?cross:%{?ABI}} + +%define target_arch %{target_cpu}-tizen-linux-gnu%{?target_abi} + +Name: binutils%{?cross:-%{cross}} +BuildRequires: makeinfo +BuildRequires: bison +BuildRequires: flex +BuildRequires: ncurses-devel +BuildRequires: zlib-devel +BuildRequires: gcc-c++ +Version: 2.25 +Release: 0 +Url: http://www.gnu.org/software/binutils/ +Summary: GNU Binutils +License: GFDL-1.3 and GPL-3.0+ +Group: Development/Building +%{?cross:ExcludeArch: %{cross}} +Source: binutils-%{version}.tar.bz2 +Source1001: binutils.manifest + +%description +C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib, +size, strings, and strip. These utilities are needed whenever you want +to compile a program or kernel. + + +%package gold +Summary: The gold linker +License: GPL-3.0+ +Group: Development/Building + +%description gold +gold is an ELF linker. It is intended to have complete support for ELF +and to run as fast as possible on modern systems. For normal use it is +a drop-in replacement for the older GNU linker. + + +%package devel +Summary: GNU binutils (BFD development files) +License: GPL-3.0+ +Group: Development/Building +Requires: zlib-devel + +%description devel +This package includes header files and static libraries necessary to +build programs which use the GNU BFD library, which is part of +binutils. + + +%prep +%setup -q -n binutils-%{version} +cp %{SOURCE1001} . + + +%build +RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Wno-error %{?cross:-DIGNORE_BROKEN_PLUGINS}" +export CFLAGS="${RPM_OPT_FLAGS}" +export CXXFLAGS="${RPM_OPT_FLAGS}" + +mkdir build-dir +cd build-dir + +../configure \ + --prefix=%{_prefix} --libdir=%{_libdir} \ + --infodir=%{_infodir} --mandir=%{_mandir} \ + --with-bugurl=http://bugs.tizen.org/ \ + --with-sysroot=/ \ + --disable-nls \ + --with-separate-debug-dir=%{_prefix}/lib/debug \ + --with-pic \ + --build=%{host_arch} --target=%{target_arch} \ + --host=%{host_arch} \ +%{?cross: \ + --enable-targets=%{target_arch} \ + --enable-64-bit-bfd \ +} \ +%{!?cross: \ + --enable-targets=aarch64-tizen-linux,armv7l-tizen-linux,armv8l-tizen-linux,i686-tizen-linux,x86_64-tizen-linux \ +} \ + --enable-plugins \ + --enable-gold \ + --enable-shared + +make %{?_smp_mflags} + +%install +cd build-dir +make DESTDIR=$RPM_BUILD_ROOT install + +# Copy instead of hardlinks +for binary in ar as ld{,.bfd,.gold} nm obj{dump,copy} ranlib strip +do + rm %{buildroot}%{_prefix}/%{target_arch}/bin/$binary +%{!?cross: + cp %{buildroot}%{_bindir}/$binary %{buildroot}%{_prefix}/%{target_arch}/bin/$binary +} +%{?cross: + cp %{buildroot}%{_bindir}/%{target_arch}-$binary %{buildroot}%{_prefix}/%{target_arch}/bin/$binary +} +done + +install -m 644 libiberty/pic/libiberty.a %{buildroot}%{_prefix}/%{_lib} +install -m 644 ../include/libiberty.h %{buildroot}%{_prefix}/include + +# Remove unwanted files to shut up rpm +%{remove_docs} +rm -rf %{buildroot}%{_bindir}/gcore +rm -rf %{buildroot}%{_bindir}/gdb* +rm -rf %{buildroot}%{_datadir}/gdb +rm -rf %{buildroot}%{_libdir}/lib{bfd,opcodes,inproctrace}.{so,la} +%{?cross: +rm -rf %{buildroot}%{_prefix}/%{target_arch}/lib/ldscripts +rm -rf %{buildroot}%{_prefix}/%{host_arch} +rm -rf %{buildroot}%{_includedir} +rm -rf %{buildroot}%{_prefix}/lib* +rm -rf %{buildroot}%{_datadir} +} + +%files +%manifest binutils.manifest +%defattr(-,root,root) +%{_bindir}/* +%{_prefix}/%{target_arch}/bin/* +%{!?cross: +%exclude %{_bindir}/ld.gold +%exclude %{_prefix}/%{target_arch}/bin/ld.gold +%{_libdir}/*.so +%{_prefix}/%{host_arch}/lib/ldscripts + +%files devel +%manifest binutils.manifest +%defattr(-,root,root) +%{_includedir}/*.h +%{_includedir}/gdb/*.h +%{_libdir}/*.a + +%files gold +%manifest binutils.manifest +%defattr(-,root,root) +%{_bindir}/ld.gold +%{_prefix}/%{target_arch}/bin/ld.gold +} + +%changelog diff --git a/packaging/pre_checkin.sh b/packaging/pre_checkin.sh new file mode 100755 index 0000000..68e6483 --- /dev/null +++ b/packaging/pre_checkin.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# the script takes binutils* and creates the cross-* packages +# sh4 is stuck in the testsuite +for arch in armv7l aarch64; do + + echo -n "Building package for $arch --> binutils-$arch ..." + + echo "%define cross $arch" > binutils-${arch}.spec + echo "%define $arch 1" >> binutils-${arch}.spec + echo "" >> binutils-${arch}.spec + cat binutils.spec >> binutils-${arch}.spec + echo " done." +done