aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2020-04-28 01:28:02 +0800
committerTing-Wei Lan <lantw44@gmail.com>2020-04-28 01:28:02 +0800
commit5951e7bab7958ced68b2f77b26524c7ff924eac5 (patch)
tree28bf22fde4be6c90a55870b9e042f68b9c8c3f93
parentfd5610e0672fbf01c3b8471c208da18560141fb4 (diff)
downloadcopr-rpm-spec-5951e7bab7958ced68b2f77b26524c7ff924eac5.tar
copr-rpm-spec-5951e7bab7958ced68b2f77b26524c7ff924eac5.tar.gz
copr-rpm-spec-5951e7bab7958ced68b2f77b26524c7ff924eac5.tar.bz2
copr-rpm-spec-5951e7bab7958ced68b2f77b26524c7ff924eac5.tar.lz
copr-rpm-spec-5951e7bab7958ced68b2f77b26524c7ff924eac5.tar.xz
copr-rpm-spec-5951e7bab7958ced68b2f77b26524c7ff924eac5.tar.zst
copr-rpm-spec-5951e7bab7958ced68b2f77b26524c7ff924eac5.zip
arm-linux-gnueabi-toolchain: Fix build on Fedora 33
RPM 4.16 no longer allows comparing strings with %if without quoting both sides of the operator. Fix it by adding all necessary quotes. RPM 4.16 adds a new script, brp-strip-lto, which calls %{__strip} on object files. This fails because the native strip command does not work with foreign object files. The reason that this problem did not happen before is that all %{__strip} were called on static archives, which are ignored by %{__ar_no_strip} script. Since %{__ar_no_strip} script never really works, just remove the script and don't strip anything.
-rw-r--r--arm-linux-gnueabi-toolchain/arm-linux-gnueabi-filesystem/arm-linux-gnueabi-filesystem.spec17
-rw-r--r--arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/10/arm-linux-gnueabi-gcc.spec61
-rw-r--r--arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec39
3 files changed, 51 insertions, 66 deletions
diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-filesystem/arm-linux-gnueabi-filesystem.spec b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-filesystem/arm-linux-gnueabi-filesystem.spec
index 73067f1..abf2fc0 100644
--- a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-filesystem/arm-linux-gnueabi-filesystem.spec
+++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-filesystem/arm-linux-gnueabi-filesystem.spec
@@ -2,10 +2,10 @@
%global cross_triplet arm-linux-gnueabi
%global cross_sysroot %{_prefix}/%{cross_triplet}/sys-root
-%if %{cross_arch} == "arm"
+%if "%{cross_arch}" == "arm"
%global lib_dir_name lib
%else
- %if %{cross_arch} == "arm64"
+ %if "%{cross_arch}" == "arm64"
%global lib_dir_name lib64
%else
%global lib_dir_name lib
@@ -14,7 +14,7 @@
Name: %{cross_triplet}-filesystem
Version: 3
-Release: 11%{?dist}
+Release: 12%{?dist}
Summary: Cross compilation toolchain filesystem layout (%{cross_triplet})
License: Public Domain
@@ -37,7 +37,7 @@ mkdir %{buildroot}%{_prefix}/%{cross_triplet}/bin
mkdir %{buildroot}%{_prefix}/%{cross_triplet}/lib
mkdir -p %{buildroot}%{cross_sysroot}
mkdir %{buildroot}%{cross_sysroot}/etc
-%if %{cross_arch} == "arm64"
+%if "%{cross_arch}" == "arm64"
mkdir %{buildroot}%{cross_sysroot}/lib
%endif
mkdir %{buildroot}%{cross_sysroot}/%{lib_dir_name}
@@ -45,7 +45,7 @@ mkdir %{buildroot}%{cross_sysroot}/sbin
mkdir %{buildroot}%{cross_sysroot}/usr
mkdir %{buildroot}%{cross_sysroot}/usr/bin
mkdir %{buildroot}%{cross_sysroot}/usr/include
-%if %{cross_arch} == "arm64"
+%if "%{cross_arch}" == "arm64"
mkdir %{buildroot}%{cross_sysroot}/usr/lib
%endif
mkdir %{buildroot}%{cross_sysroot}/usr/%{lib_dir_name}
@@ -62,7 +62,7 @@ mkdir %{buildroot}%{cross_sysroot}/var/db
%dir %{_prefix}/%{cross_triplet}/lib
%dir %{cross_sysroot}
%dir %{cross_sysroot}/etc
-%if %{cross_arch} == "arm64"
+%if "%{cross_arch}" == "arm64"
%dir %{cross_sysroot}/lib
%endif
%dir %{cross_sysroot}/%{lib_dir_name}
@@ -70,7 +70,7 @@ mkdir %{buildroot}%{cross_sysroot}/var/db
%dir %{cross_sysroot}/usr
%dir %{cross_sysroot}/usr/bin
%dir %{cross_sysroot}/usr/include
-%if %{cross_arch} == "arm64"
+%if "%{cross_arch}" == "arm64"
%dir %{cross_sysroot}/usr/lib
%endif
%dir %{cross_sysroot}/usr/%{lib_dir_name}
@@ -83,6 +83,9 @@ mkdir %{buildroot}%{cross_sysroot}/var/db
%changelog
+* Sun Apr 26 2020 Ting-Wei Lan <lantw44@gmail.com> - 3-12
+- Quote strings in if conditionals for RPM 4.16
+
* Sat Apr 25 2020 Ting-Wei Lan <lantw44@gmail.com> - 3-11
- Rebuilt for Fedora 32 and 33
diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/10/arm-linux-gnueabi-gcc.spec b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/10/arm-linux-gnueabi-gcc.spec
index a616717..916fa69 100644
--- a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/10/arm-linux-gnueabi-gcc.spec
+++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/10/arm-linux-gnueabi-gcc.spec
@@ -10,16 +10,16 @@
%global cross_stage final
%endif
-%if %{cross_stage} != "final"
+%if "%{cross_stage}" != "final"
%global pkg_suffix -%{cross_stage}
%else
%global pkg_suffix %{nil}
%endif
-%if %{cross_arch} == "arm"
+%if "%{cross_arch}" == "arm"
%global lib_dir_name lib
%else
- %if %{cross_arch} == "arm64"
+ %if "%{cross_arch}" == "arm64"
%global lib_dir_name lib64
%else
%global lib_dir_name lib
@@ -34,7 +34,7 @@
Name: %{cross_triplet}-gcc%{pkg_suffix}
Version: 10.0.1
-Release: 1.%{date}git%{shortgitrev}%{?dist}
+Release: 2.%{date}git%{shortgitrev}%{?dist}
Summary: The GNU Compiler Collection (%{cross_triplet})
%global major_version %(echo %{version} | sed 's/\\..*$//')
@@ -61,13 +61,13 @@ Requires: %{cross_triplet}-filesystem
Requires: %{cross_triplet}-binutils
Provides: %{cross_triplet}-gcc-stage1 = %{version}
-%if %{cross_stage} == "pass2"
+%if "%{cross_stage}" == "pass2"
BuildRequires: %{cross_triplet}-glibc-stage1
Requires: %{cross_triplet}-glibc-stage1
Provides: %{cross_triplet}-gcc-stage2 = %{version}
%endif
-%if %{cross_stage} == "final"
+%if "%{cross_stage}" == "final"
BuildRequires: %{cross_triplet}-glibc
BuildRequires: gcc-gnat, libstdc++-static
Requires: %{cross_triplet}-glibc
@@ -135,8 +135,8 @@ export WINDMC_FOR_TARGET=%{_bindir}/%{cross_triplet}-windmc
--enable-linker-build-id \
--enable-gnu-unique-object \
--enable-gnu-indirect-function \
-%if %{cross_arch} == "arm"
-%if %(echo %{cross_triplet} | sed 's/.*-\([a-z]*\)$/\1/') == "gnueabihf"
+%if "%{cross_arch}" == "arm"
+%if "%(echo %{cross_triplet} | sed 's/.*-\([a-z]*\)$/\1/')" == "gnueabihf"
--with-tune=generic-armv7-a \
--with-arch=armv7-a \
--with-float=hard \
@@ -144,7 +144,7 @@ export WINDMC_FOR_TARGET=%{_bindir}/%{cross_triplet}-windmc
--with-abi=aapcs-linux \
%endif
%endif
-%if %{cross_stage} == "pass1"
+%if "%{cross_stage}" == "pass1"
--with-newlib \
--enable-languages=c \
--disable-shared \
@@ -153,7 +153,7 @@ export WINDMC_FOR_TARGET=%{_bindir}/%{cross_triplet}-windmc
%make_build all-gcc
%endif
-%if %{cross_stage} == "pass2"
+%if "%{cross_stage}" == "pass2"
--enable-languages=c \
--enable-shared \
--disable-libgomp \
@@ -161,7 +161,7 @@ export WINDMC_FOR_TARGET=%{_bindir}/%{cross_triplet}-windmc
%make_build all-gcc all-target-libgcc
%endif
-%if %{cross_stage} == "final"
+%if "%{cross_stage}" == "final"
%if %{with ada}
--enable-languages=c,c++,fortran,objc,obj-c++,go,d,ada \
%else
@@ -188,17 +188,17 @@ export WINDMC_FOR_TARGET=%{_bindir}/%{cross_triplet}-windmc
%install
cd %{_builddir}/gcc-build
-%if %{cross_stage} == "pass1"
+%if "%{cross_stage}" == "pass1"
%{__make} install-gcc DESTDIR=%{buildroot}
%endif
-%if %{cross_stage} == "pass2"
+%if "%{cross_stage}" == "pass2"
%{__make} install-gcc install-target-libgcc DESTDIR=%{buildroot}
mkdir -p %{buildroot}%{cross_sysroot}/%{lib_dir_name}
mv %{buildroot}%{_prefix}/%{cross_triplet}/%{lib_dir_name}/* \
%{buildroot}%{cross_sysroot}/%{lib_dir_name}
rmdir %{buildroot}%{_prefix}/%{cross_triplet}/%{lib_dir_name}
%endif
-%if %{cross_stage} == "final"
+%if "%{cross_stage}" == "final"
%make_install
mkdir -p %{buildroot}%{cross_sysroot}/%{lib_dir_name}
mv %{buildroot}%{_prefix}/%{cross_triplet}/%{lib_dir_name}/* \
@@ -220,22 +220,9 @@ rm -f %{buildroot}%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/install-t
rm -f %{buildroot}%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/install-tools/mkinstalldirs
rmdir --ignore-fail-on-non-empty %{buildroot}%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/install-tools
-# Don't strip libgcc.a and libgcov.a - based on Fedora Project cross-gcc.spec
-%global __ar_no_strip $RPM_BUILD_DIR/gcc-%{version}-%{date}/ar-no-strip
-cat > %{__ar_no_strip} << EOF
-#!/bin/sh
-f=\$2
-case \$(basename \$f) in
- *.a)
- ;;
- *)
- %{__strip} \$@
- ;;
-esac
-EOF
-chmod +x %{__ar_no_strip}
+# Don't strip anything - /usr/bin/strip does not work on other architectures
%undefine __strip
-%global __strip %{__ar_no_strip}
+%global __strip /bin/true
%files
@@ -269,7 +256,7 @@ chmod +x %{__ar_no_strip}
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stdalign.h
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stdnoreturn.h
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stdatomic.h
-%if %{cross_arch} == "arm"
+%if "%{cross_arch}" == "arm"
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/unwind-arm-common.h
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/mmintrin.h
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/arm_cmse.h
@@ -277,10 +264,10 @@ chmod +x %{__ar_no_strip}
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/arm_mve.h
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/arm_mve_types.h
%endif
-%if %{cross_arch} == "arm64"
+%if "%{cross_arch}" == "arm64"
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/arm_sve.h
%endif
-%if %{cross_arch} == "arm" || %{cross_arch} == "arm64"
+%if "%{cross_arch}" == "arm" || "%{cross_arch}" == "arm64"
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/arm_neon.h
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/arm_acle.h
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/arm_fp16.h
@@ -296,7 +283,7 @@ chmod +x %{__ar_no_strip}
%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/liblto_plugin.so*
%dir %{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/plugin
%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/plugin/gengtype
-%if %{cross_stage} != "pass1"
+%if "%{cross_stage}" != "pass1"
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/gcov.h
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/unwind.h
%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/crtbegin*.o
@@ -308,7 +295,7 @@ chmod +x %{__ar_no_strip}
%{cross_sysroot}/%{lib_dir_name}/libgcc_s.so
%{cross_sysroot}/%{lib_dir_name}/libgcc_s.so.1
%endif
-%if %{cross_stage} == "final"
+%if "%{cross_stage}" == "final"
%{_bindir}/%{cross_triplet}-c++
%{_bindir}/%{cross_triplet}-g++
%{_bindir}/%{cross_triplet}-gccgo
@@ -374,7 +361,7 @@ chmod +x %{__ar_no_strip}
%{cross_sysroot}/%{lib_dir_name}/libsupc++.a
%{cross_sysroot}/%{lib_dir_name}/libubsan.a
%{cross_sysroot}/%{lib_dir_name}/libubsan.so*
-%if %{cross_arch} == "arm64"
+%if "%{cross_arch}" == "arm64"
%{cross_sysroot}/%{lib_dir_name}/liblsan.a
%{cross_sysroot}/%{lib_dir_name}/liblsan_preinit.o
%{cross_sysroot}/%{lib_dir_name}/liblsan.so*
@@ -404,6 +391,10 @@ chmod +x %{__ar_no_strip}
%changelog
+* Tue Apr 28 2020 Ting-Wei Lan <lantw44@gmail.com> - 10.0.1-2.20200425git8fc8bf8
+- Quote strings in if conditionals for RPM 4.16
+- Remove __ar_no_strip and define __strip to a dummy command
+
* Sun Apr 26 2020 Ting-Wei Lan <lantw44@gmail.com> - 10.0.1-1.20200425git8fc8bf8
- Update to GCC 10 snapshot for Fedora 32
diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec
index a4767aa..50ec397 100644
--- a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec
+++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec
@@ -23,15 +23,15 @@
%global pkg_suffix %{nil}
%endif
-%if %{cross_arch} == "arm"
+%if "%{cross_arch}" == "arm"
%global arm_type %(echo %{cross_triplet} | sed 's/.*-\\([a-z]*\\)$/\\1/')
- %if %{arm_type} == "gnueabi"
+ %if "%{arm_type}" == "gnueabi"
%global loader_suffix %{nil}
%global loader_version 3
%global gnu_hdr_suffix -soft
%global lib_dir_name lib
%else
- %if %{arm_type} == "gnueabihf"
+ %if "%{arm_type}" == "gnueabihf"
%global loader_suffix -armhf
%global loader_version 3
%global gnu_hdr_suffix -hard
@@ -41,7 +41,7 @@
%endif
%endif
%else
- %if %{cross_arch} == "arm64"
+ %if "%{cross_arch}" == "arm64"
%global loader_suffix -aarch64
%global loader_version 1
%global gnu_hdr_suffix -lp64
@@ -56,7 +56,7 @@
Name: %{cross_triplet}-glibc%{pkg_suffix}
Version: 2.31
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: The GNU C Library (%{cross_triplet})
License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
@@ -158,22 +158,9 @@ rm -rf %{buildroot}%{cross_sysroot}/usr/share/info
rm -rf %{buildroot}%{cross_sysroot}/usr/share/locale
%endif
-# Don't any static archive - based on Fedora Project cross-gcc.spec
-%global __ar_no_strip $RPM_BUILD_DIR/glibc-%{version}/ar-no-strip
-cat > %{__ar_no_strip} << EOF
-#!/bin/sh
-f=\$2
-case \$(basename \$f) in
- *.a)
- ;;
- *)
- %{__strip} \$@
- ;;
-esac
-EOF
-chmod +x %{__ar_no_strip}
+# Don't strip anything - /usr/bin/strip does not work on other architectures
%undefine __strip
-%global __strip %{__ar_no_strip}
+%global __strip /bin/true
%files
@@ -365,7 +352,7 @@ chmod +x %{__ar_no_strip}
%{cross_sysroot}/usr/include/sys/fsuid.h
%{cross_sysroot}/usr/include/sys/gmon.h
%{cross_sysroot}/usr/include/sys/gmon_out.h
-%if %{cross_arch} == "arm64"
+%if "%{cross_arch}" == "arm64"
%{cross_sysroot}/usr/include/sys/ifunc.h
%endif
%{cross_sysroot}/usr/include/sys/inotify.h
@@ -459,7 +446,7 @@ chmod +x %{__ar_no_strip}
%{cross_sysroot}/usr/%{lib_dir_name}/libc.so
%if !%{headers_only}
%{cross_sysroot}/etc/rpc
-%if %{cross_arch} == "arm64"
+%if "%{cross_arch}" == "arm64"
%{cross_sysroot}/lib/ld-linux%{loader_suffix}.so.%{loader_version}
%else
%{cross_sysroot}/%{lib_dir_name}/ld-linux%{loader_suffix}.so.%{loader_version}
@@ -574,7 +561,7 @@ chmod +x %{__ar_no_strip}
%{cross_sysroot}/usr/%{lib_dir_name}/libutil.a
%{cross_sysroot}/usr/%{lib_dir_name}/libutil.so
%dir %{cross_sysroot}/usr/libexec/getconf
-%if %{cross_arch} == "arm"
+%if "%{cross_arch}" == "arm"
%{cross_sysroot}/usr/libexec/getconf/POSIX_V6_ILP32_OFF32
%{cross_sysroot}/usr/libexec/getconf/POSIX_V6_ILP32_OFFBIG
%{cross_sysroot}/usr/libexec/getconf/POSIX_V7_ILP32_OFF32
@@ -582,7 +569,7 @@ chmod +x %{__ar_no_strip}
%{cross_sysroot}/usr/libexec/getconf/XBS5_ILP32_OFF32
%{cross_sysroot}/usr/libexec/getconf/XBS5_ILP32_OFFBIG
%else
-%if %{cross_arch} == "arm64"
+%if "%{cross_arch}" == "arm64"
%{cross_sysroot}/usr/libexec/getconf/POSIX_V6_LP64_OFF64
%{cross_sysroot}/usr/libexec/getconf/POSIX_V7_LP64_OFF64
%{cross_sysroot}/usr/libexec/getconf/XBS5_LP64_OFF64
@@ -600,6 +587,10 @@ chmod +x %{__ar_no_strip}
%changelog
+* Tue Apr 28 2020 Ting-Wei Lan <lantw44@gmail.com> - 2.31-3
+- Quote strings in if conditionals for RPM 4.16
+- Remove __ar_no_strip and define __strip to a dummy command
+
* Sat Apr 25 2020 Ting-Wei Lan <lantw44@gmail.com> - 2.31-2
- Rebuilt for Fedora 32 and 33