Hi,
I have tried to enable debuginfo for Chromium but it cannot fit the disk.
During local build it has 160GB (on x86_64) and Koji shows (moreover AFAIK
shared for multiple builders):
https://kojipkgs.fedoraproject.org//work/tasks/7099/46377099/hw_info.log
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 138G 71G 67G 52% /
Is there some way forward?
In 2013:
https://lists.fedoraproject.org/pipermail/devel/2013-January/176673.html
Looking at space we have, we are just going to bump them all to 150 or
so. Hopefully that will keep us for a while.
Jan
diff --git a/chromium-debug.patch b/chromium-debug.patch
new file mode 100644
index 0000000..181521a
--- /dev/null
+++ b/chromium-debug.patch
@@ -0,0 +1,12 @@
+--- chromium-83.0.4103.116/build/config/compiler/BUILD.gn.debug 2020-06-29
19:07:24.928680424 +0200
++++ chromium-83.0.4103.116/build/config/compiler/BUILD.gn 2020-06-29 19:40:23.063688281
+0200
+@@ -2277,7 +2277,8 @@ config("symbols") {
+ # flag, so we can use use -g1 for pnacl and nacl-clang compiles.
+ # gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are &&
is_clang.
+ if (!is_nacl || is_clang) {
+- cflags += [ "-g2" ]
++ cflags += [ "-g3" ]
++ cflags += [ "-fdebug-types-section" ]
+ }
+
+ if (is_clang && !is_nacl && !use_xcode_clang) {
diff --git a/chromium.spec b/chromium.spec
index 69dcead..3d9bfff 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -45,9 +45,8 @@
%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)
-%global debug_package %{nil}
+# Debuginfo would run out of 32-bit 4GB DWARF so use -fdebug-types-section.
+%global _find_debuginfo_dwz_opts %{nil}
# %%{nil} for Stable; -beta for Beta; -dev for Devel
# dash in -beta and -dev is intentional !
@@ -163,7 +162,7 @@ Name: chromium%{chromium_channel}%{nsuffix}
Name: chromium%{chromium_channel}
%endif
Version: %{majorversion}.0.4103.116
-Release: 3%{?dist}
+Release: 3debugtypes%{?dist}
%if %{?freeworld}
%if %{?shared}
# chromium-libs-media-freeworld
@@ -286,6 +285,8 @@ Patch205: chromium-81.0.4044.92-fix-vaapi-on-intel.patch
# Apply these patches to work around EPEL8 issues
Patch300: chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch
+# Enable chromium-debuginfo.rpm
+Patch900: chromium-debug.patch
# Use chromium-latest.py to generate clean tarball from released build tarballs, found
here:
#
http://build.chromium.org/buildbot/official/
@@ -877,6 +878,7 @@ udev.
%if 0%{?rhel} == 8
%patch300 -p1 -b .disblegnomekeyring
%endif
+%patch900 -p1 -b .debug
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
@@ -959,12 +961,12 @@ popd
# Core defines are flags that are true for both the browser and headless.
CHROMIUM_CORE_GN_DEFINES=""
-CHROMIUM_CORE_GN_DEFINES+=' is_debug=false'
+CHROMIUM_CORE_GN_DEFINES+=' is_debug=false symbol_level=2'
%ifarch x86_64 aarch64
CHROMIUM_CORE_GN_DEFINES+=' system_libdir="lib64"'
%endif
CHROMIUM_CORE_GN_DEFINES+=' google_api_key="%{api_key}"
google_default_client_id="%{default_client_id}"
google_default_client_secret="%{default_client_secret}"'
-CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false use_gold=false
fieldtrial_testing_like_official_build=true use_lld=false
rtc_enable_symbol_export=true'
+CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false use_gold=true
fieldtrial_testing_like_official_build=true use_lld=false
rtc_enable_symbol_export=true'
%if %{freeworld}
CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="ChromeOS"
proprietary_codecs=true'
%else
@@ -992,7 +994,7 @@ CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=true
is_component_build=true'
%else
CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false
is_component_build=false'
%endif
-CHROMIUM_BROWSER_GN_DEFINES+=' blink_symbol_level=0
enable_hangout_services_extension=true'
+CHROMIUM_BROWSER_GN_DEFINES+=' blink_symbol_level=2
enable_hangout_services_extension=true'
CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true'
%if %{use_vaapi}
@@ -1379,11 +1381,6 @@ ulimit -n 4096
. /opt/rh/devtoolset-%{dts_version}/enable
%endif
-# Decrease the debuginfo verbosity, so it compiles in koji
-%ifarch %{ix86}
-%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
-%endif
-
export
PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints"
echo