Customize the ninja status to show the currently build target

So one is able to realize faster, where the build is failing.
epel8
Tomas Popela 5 years ago
parent d0e5893874
commit d544c78407

@ -2,6 +2,13 @@
# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 # https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2
%global _python_bytecompile_extra 1 %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. # This is faster when it works, but it doesn't always.
%ifarch aarch64 %ifarch aarch64
%global use_jumbo 0 %global use_jumbo 0
@ -28,9 +35,9 @@
%global useapikeys 1 %global useapikeys 1
# Leave this alone, please. # Leave this alone, please.
%global target out/Release %global builddir out/Release
%global headlesstarget out/Headless %global headlessbuilddir out/Headless
%global remotingtarget out/Remoting %global remotingbuilddir out/Remoting
# Debuginfo packages aren't very useful here. If you need to debug # 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) # 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 fi
tools/gn/bootstrap/bootstrap.py -v "$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" 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} %if %{freeworld}
# do not need to do headless gen # do not need to do headless gen
%else %else
%if %{build_headless} %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
%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} %if %{bundlelibusbx}
# no hackity hack hack # no hackity hack hack
@ -1436,31 +1443,33 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE
echo echo
# Now do the full browser # Now do the full browser
%if 0%{freeworld} %if 0%{freeworld}
../depot_tools/ninja -C %{target} -vvv media %build_target %{builddir} media
%else %else
%if %{build_headless} %if %{build_headless}
# Do headless first. # Do headless first.
../depot_tools/ninja -C %{headlesstarget} -vvv headless_shell %build_target %{headlessbuilddir} headless_shell
%endif %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 # remote client
pushd remoting # ../../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
# ../../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
%if 0%{?build_remoting_app} %if 0%{?build_remoting_app}
%if 0%{?nacl} %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
%endif %endif
popd
%endif %endif
# Nuke nacl/pnacl bits at the end of the build # 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 native_client/toolchain
rm -rf third_party/llvm-build/* rm -rf third_party/llvm-build/*
@ -1470,7 +1479,7 @@ rm -rf %{buildroot}
%if 0%{freeworld} %if 0%{freeworld}
mkdir -p %{buildroot}%{chromium_path} mkdir -p %{buildroot}%{chromium_path}
pushd %{target} pushd %{builddir}
cp -a libffmpeg.so* %{buildroot}%{chromium_path} cp -a libffmpeg.so* %{buildroot}%{chromium_path}
cp -a libmedia.so* %{buildroot}%{chromium_path} cp -a libmedia.so* %{buildroot}%{chromium_path}
mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} 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} ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
mkdir -p %{buildroot}%{_mandir}/man1/ mkdir -p %{buildroot}%{_mandir}/man1/
pushd %{target} pushd %{builddir}
cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path}
%if 0%{?nacl} %if 0%{?nacl}
cp -a nacl_helper* *.nexe pnacl tls_edit %{buildroot}%{chromium_path} cp -a nacl_helper* *.nexe pnacl tls_edit %{buildroot}%{chromium_path}
@ -1550,7 +1559,7 @@ popd
%endif %endif
popd popd
pushd %{remotingtarget} pushd %{remotingbuilddir}
# See remoting/host/installer/linux/Makefile for logic # See remoting/host/installer/linux/Makefile for logic
cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host 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 %endif
%if %{build_headless} %if %{build_headless}
pushd %{headlesstarget} pushd %{headlessbuilddir}
cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path} cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path}
popd popd
%endif %endif

Loading…
Cancel
Save