Package: chromium
Version: 125.0.6422.141-1
Severity: minor

This is something I've noticed in the course of the build that has been
annoying me for some time, and I thought I'd write it up.

Here is an excerpt from the build log which illustrates the problem:

    [...]
    [61738/61742] AR obj/content/web_test/libweb_test_renderer.a
    [61739/61742] AR obj/content/web_test/libweb_test_browser.a
    [61740/61742] AR obj/content/shell/libcontent_shell_app.a
    [61741/61742] LINK ./content_shell
    [61742/61742] LINK ./chrome
    cp out/Release/chrome out/Release/chromium
    cp out/Release/content_shell out/Release/chromium-shell
    [...]
       debian/rules override_dh_auto_build-indep
    make[1]: Entering directory '/tmp/chromium-125.0.6422.141'
    gn gen out/Release --args="clang_use_chrome_plugins=false ..."
    Done. Made 20173 targets from 3449 files in 10398ms
    ninja -j8 -C out/Release packed_resources
    ninja: Entering directory `out/Release'
    [1/30013] CXX 
obj/base/allocator/partition_allocator/src/partition_alloc/allocator_base/file_util_posix.o
    [2/30013] CXX 
obj/base/allocator/partition_allocator/src/partition_alloc/allocator_base/time_override.o
    [3/30013] CXX 
obj/base/allocator/partition_allocator/src/partition_alloc/allocator_base/stack_trace_linux.o
    [...]

It's not clear why, but the "gn gen" operation in the
override_dh_auto_build-indep target renders a significant chunk of the
existing build tree stale, and the packed_resources build then has to
recompile a bunch of things that are distant dependencies of the
requested resource files.

I can't say at what version this started happening, but I do seem to
recall at one point the packed_resources build needing only a three-
digit number of steps.

Would it be reasonable to do something like

     override_dh_auto_build-indep:
    -        gn gen out/Release --args="$(defines)"
    +        test -f out/Release/build.ninja || gn gen out/Release 
--args="$(defines)"
             ninja -j$(njobs) -C out/Release packed_resources

so that it doesn't run "gn gen" again, if not necessary?


--Daniel

Reply via email to