commit e0d06a0fbf5063d875762e3c2cec32e15082c8b3
Author: Tomas Popela <tpopela(a)redhat.com>
Date: Sat Sep 14 19:15:24 2019 +0200
Customize the ninja status to show the currently build target
So one is able to realize faster, where the build is failing.
chromium.spec | 53 +++++++++++++++++++++++++++++++----------------------
1 file changed, 31 insertions(+), 22 deletions(-)
---
diff --git a/chromium.spec b/chromium.spec
index 854c788..247c3e6 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -2,6 +2,13 @@
#
https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompi...
%global _python_bytecompile_extra 1
+# Fancy build status, so we at least know, where we are..
+# %1 where
+# %2 what
+%global build_target() \
+ export NINJA_STATUS="[%2:%f/%t] " ; \
+ ../depot_tools/ninja -C '%1' -vvv '%2'
+
# This is faster when it works, but it doesn't always.
%ifarch aarch64
%global use_jumbo 0
@@ -28,9 +35,9 @@
%global useapikeys 1
# Leave this alone, please.
-%global target out/Release
-%global headlesstarget out/Headless
-%global remotingtarget out/Remoting
+%global builddir out/Release
+%global headlessbuilddir out/Headless
+%global remotingbuilddir out/Remoting
# Debuginfo packages aren't very useful here. If you need to debug
# you should do a proper debug build (not implemented in this spec yet)
@@ -1403,17 +1410,17 @@ if python2 -c 'import google ; print google.__path__'
2> /dev/null ; then \
fi
tools/gn/bootstrap/bootstrap.py -v "$CHROMIUM_CORE_GN_DEFINES
$CHROMIUM_BROWSER_GN_DEFINES"
-%{target}/gn --script-executable=/usr/bin/python2 gen
--args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{target}
+%{builddir}/gn --script-executable=/usr/bin/python2 gen
--args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir}
%if %{freeworld}
# do not need to do headless gen
%else
%if %{build_headless}
-%{target}/gn --script-executable=/usr/bin/python2 gen
--args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES"
%{headlesstarget}
+%{builddir}/gn --script-executable=/usr/bin/python2 gen
--args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES"
%{headlessbuilddir}
%endif
%endif
-%{target}/gn --script-executable=/usr/bin/python2 gen
--args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES"
%{remotingtarget}
+%{builddir}/gn --script-executable=/usr/bin/python2 gen
--args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES"
%{remotingbuilddir}
%if %{bundlelibusbx}
# no hackity hack hack
@@ -1433,34 +1440,36 @@ sed -i.orig -e
's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE
. /opt/rh/devtoolset-%{dts_version}/enable
%endif
-echo
+echo
# Now do the full browser
%if 0%{freeworld}
-../depot_tools/ninja -C %{target} -vvv media
+%build_target %{builddir} media
%else
%if %{build_headless}
-# Do headless first.
-../depot_tools/ninja -C %{headlesstarget} -vvv headless_shell
+# Do headless first.
+%build_target %{headlessbuilddir} headless_shell
%endif
-../depot_tools/ninja -C %{target} -vvv chrome chrome_sandbox chromedriver clear_key_cdm
policy_templates
+%build_target %{builddir} chrome
+%build_target %{builddir} chrome_sandbox
+%build_target %{builddir} chromedriver
+%build_target %{builddir} clear_key_cdm
+%build_target %{builddir} policy_templates
# remote client
-pushd remoting
-
-# ../../depot_tools/ninja -C ../%{target} -vvv remoting_me2me_host remoting_start_host
remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host
remoting_native_messaging_manifests remoting_resources
-../../depot_tools/ninja -C ../%{remotingtarget} -vvv remoting_all
+# ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host
remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host
remoting_native_messaging_manifests remoting_resources
+%build_target %{remotingbuilddir} remoting_all
%if 0%{?build_remoting_app}
%if 0%{?nacl}
-GOOGLE_CLIENT_ID_REMOTING_IDENTITY_API=%{chromoting_client_id} ../../depot_tools/ninja
-vv -C ../out/Release/ remoting_webapp
+export GOOGLE_CLIENT_ID_REMOTING_IDENTITY_API=%{chromoting_client_id}
+%build_target %{builddir} remoting_webapp
%endif
%endif
-popd
%endif
# Nuke nacl/pnacl bits at the end of the build
-rm -rf out/Release/gen/sdk
+rm -rf %{builddir}/gen/sdk
rm -rf native_client/toolchain
rm -rf third_party/llvm-build/*
@@ -1470,7 +1479,7 @@ rm -rf %{buildroot}
%if 0%{freeworld}
mkdir -p %{buildroot}%{chromium_path}
-pushd %{target}
+pushd %{builddir}
cp -a libffmpeg.so* %{buildroot}%{chromium_path}
cp -a libmedia.so* %{buildroot}%{chromium_path}
mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
@@ -1499,7 +1508,7 @@ sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g"
%{buildroot}%{chromium_path}/%{chromiu
ln -s %{chromium_path}/%{chromium_browser_channel}.sh
%{buildroot}%{_bindir}/%{chromium_browser_channel}
mkdir -p %{buildroot}%{_mandir}/man1/
-pushd %{target}
+pushd %{builddir}
cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path}
%if 0%{?nacl}
cp -a nacl_helper* *.nexe pnacl tls_edit %{buildroot}%{chromium_path}
@@ -1550,7 +1559,7 @@ popd
%endif
popd
-pushd %{remotingtarget}
+pushd %{remotingbuilddir}
# See remoting/host/installer/linux/Makefile for logic
cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host
@@ -1593,7 +1602,7 @@ cp -a remoting_client_plugin_newlib.* %{buildroot}%{chromium_path}
%endif
%if %{build_headless}
-pushd %{headlesstarget}
+pushd %{headlessbuilddir}
cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path}
popd
%endif