Packaging added.
authorSlava Barinov <v.barinov@samsung.com>
Mon, 27 Feb 2017 09:57:34 +0000 (12:57 +0300)
committerDongkyun Son <dongkyun.s@samsung.com>
Wed, 3 May 2023 09:41:57 +0000 (18:41 +0900)
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
packaging/binutils-aarch64.spec [new file with mode: 0644]
packaging/binutils-armv7l.spec [new file with mode: 0644]
packaging/binutils.manifest [new file with mode: 0644]
packaging/binutils.spec [new file with mode: 0644]
packaging/pre_checkin.sh [new file with mode: 0755]

diff --git a/packaging/binutils-aarch64.spec b/packaging/binutils-aarch64.spec
new file mode 100644 (file)
index 0000000..5a7f15e
--- /dev/null
@@ -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 (file)
index 0000000..9a25224
--- /dev/null
@@ -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 (file)
index 0000000..017d22d
--- /dev/null
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+    <domain name="_"/>
+ </request>
+</manifest>
diff --git a/packaging/binutils.spec b/packaging/binutils.spec
new file mode 100644 (file)
index 0000000..3e6729e
--- /dev/null
@@ -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 (executable)
index 0000000..68e6483
--- /dev/null
@@ -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