The package rpms/gprbuild.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/gprbuild.git/commit/?id=2a2ff702a....
Change:
+%ifarch %{bootstrap_arch}
Thanks.
Full change:
============
commit 2a2ff702a2846644fcf9ad5b9b01e90a787a38bf
Author: Pavel Zhukov <pzhukov(a)redhat.com>
Date: Sat Jul 15 11:14:07 2017 +0200
Re-bootstrap because of arm archiver
diff --git a/gprbuild-2017-fedora_compilers.patch b/gprbuild-2017-fedora_compilers.patch
new file mode 100644
index 0000000..13fca2f
--- /dev/null
+++ b/gprbuild-2017-fedora_compilers.patch
@@ -0,0 +1,13 @@
+diff --git a/share/gprconfig/linker.xml b/share/gprconfig/linker.xml
+index e1f637d..575d926 100644
+--- a/share/gprconfig/linker.xml
++++ b/share/gprconfig/linker.xml
+@@ -797,7 +797,6 @@
+ <target name="^.*-pikeos$" />
+ <target name="^arm-linux-androideabi$" />
+ <target name="^.*-gnueabihf$" />
+- <target name="^.*-gnueabi$" />
+ </targets>
+ <config>
+ for Archive_Builder use ("ar", "cr");
+
diff --git a/gprbuild.spec b/gprbuild.spec
index 6884a66..51892b6 100644
--- a/gprbuild.spec
+++ b/gprbuild.spec
@@ -1,9 +1,8 @@
%undefine _hardened_build
-%define gprbuild_bootstrap 1
Name: gprbuild
Version: 2017
-Release: 2%{?dist}
+Release: 5%{?dist}
Summary: Ada project builder
Group: Development/Languages
License: GPLv3+
@@ -17,14 +16,15 @@ Patch2: %{name}-2016-gcc5.patch
# would be needed to handle other possible setups.
Patch3: %{name}-2016-usrmove.patch
## FIXME ??
-##Patch6: %{name}-2016-arm_compiler.patch
+Patch6: %{name}-2017-fedora_compilers.patch
##Patch7: %{name}-2016-mingw.patch
# Adaptation to a change in GCC's version numbering:
Patch8: %{name}-2016-gcc7.patch
Patch9: gprbuild-2017-bootstrap.patch
-%global bootstrap_arch currently_not_bootstrapping
+## %%%global bootstrap_arch none
+%global bootstrap_arch %{GPRbuild_arches}
# When bootstrapping GPRbuild for a new architecture, set bootstrap_arch to the
# name of that architecture and add a tarball with binaries as Source100.
# When not bootstrapping bootstrap_arch must have a nonempty value that isn't
@@ -47,9 +47,12 @@ Patch9: gprbuild-2017-bootstrap.patch
#
# Static linkage exception:
https://fedorahosted.org/fesco/ticket/1551
+BuildRequires: xmlada-static
+
%ifnarch %{bootstrap_arch}
-BuildRequires: xmlada-static gprbuild
+BuildRequires: gprbuild
%endif
+
# XMLada is built with GPRbuild, so it's unavailable when GPRbuild hasn't been
# bootstrapped yet.
@@ -78,7 +81,7 @@ and libraries and is particularly well-suited for compiled languages.
%patch2 -p1
%patch3 -p1
-##%%%patch6 -p1
+%patch6 -p1
###%patch7 -p1
%patch8 -p0
%patch9 -p1 -b .bootstrap
@@ -87,25 +90,26 @@ and libraries and is particularly well-suited for compiled languages.
cp /usr/lib/rpm/config.* .
%build
-
-echo "XXX ARCH CHECK"
-uname -m
-uname -a
-uname -r
-echo "YYY ARCH CHECK"
-%if %{gprbuild_bootstrap}
-## bootstraping
+%ifarch %{bootstrap_arch}
./bootstrap.sh --with-xmlada=%{_includedir}/xmlada --prefix=./bootstrap
+cp %{SOURCE2} bootstrap/share/gprconfig/
+export PATH="$PWD/bootstrap/bin:${PATH}"
%endif
+gcc -v
+gcc -dumpmachine
+gcc -dumpversion
+gnatls -v --version
# The build won't work when GPRbuild is unavailable or broken, so do nothing in
# this stage when bootstrapping.
-%ifnarch %{bootstrap_arch}
-##%%configure --disable-rpath --datadir="%{buildroot}/%{_datadir}"
--libdir="%{buildroot}/%{_libdir}" --bindir="%{buildroot}/%{_bindir}"
--libexecdir="%{buildroot}/%{_libexecdir}"
make prefix=%{buildroot}/%{_prefix} setup
# Build it, and link statically by setting XMLADA_BUILD to "static".
-XMLADA_BUILD=static make ADA_PROJECT_PATH=%_GNAT_project_dir BUILDER="gprbuild
%{GPRbuild_optflags}"
+
+%ifarch %{bootstrap_arch}
+XMLADA_BUILD=static make ADA_PROJECT_PATH=%_GNAT_project_dir BUILDER="gprbuild -v
%{GPRbuild_optflags}"
+%else
+XMLADA_BUILD=shared make ADA_PROJECT_PATH=%_GNAT_project_dir BUILDER="gprbuild -v
%{GPRbuild_optflags}"
%endif
%install
@@ -116,11 +120,8 @@ XMLADA_BUILD=static make ADA_PROJECT_PATH=%_GNAT_project_dir
BUILDER="gprbuild %
}
rm -rf %{buildroot}
%ifarch %{bootstrap_arch}
-# Bootstrapping. Just unpack the bootstrap tarball in the staging directory.
-mkdir -p %{buildroot}
-tar -C %{buildroot} -xf %{SOURCE100}
-%else
-# Not bootstrapping. Install normally into the staging directory.
+export PATH="$PWD/exe/:${PATH}"
+%endif
make install DESTDIR=%{buildroot}
find %{buildroot}%{_datadir}/gprconfig -type f -name "*.xml" -exec chmod -x {}
\;
# Add target patterns for Fedora's architectures.
@@ -130,10 +131,7 @@ mv %{buildroot}/%{_datadir}/doc/%{name}/* __doc
mv %{buildroot}/%{_datadir}/examples __doc
rm -rf %{buildroot}/%{_datadir}/doc/%{name}
##%%find __doc/examples -type f -exec chmod -x {} \;
-%endif
-%if %{gprbuild_bootstrap}
rm -f %{buildroot}/%{_prefix}/doinstall
-%endif
%files
%defattr(-,root,root,-)
@@ -149,6 +147,10 @@ rm -f %{buildroot}/%{_prefix}/doinstall
%_GNAT_project_dir/*
%changelog
+* Sat Jul 15 2017 Pavel Zhukov <landgraf(a)fedoraproject.org> - 2017-5
+- Use upstream bootstrap
+- Enable bootstrap for all %{GPRbuild_arches}
+
* Fri Jul 14 2017 Pavel Zhukov <landgraf(a)fedoraproject.org> - 2017-2
- New version 2017
- Drop dev suffix