Package: chromium / 138.0.7204.157-1

Metadata

Package Version Patches format
chromium 138.0.7204.157-1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
debianization/manpage.patch | (download)

chrome/app/resources/manpage.1.in | 28 27 + 1 - 0 !
1 file changed, 27 insertions(+), 1 deletion(-)

 manpage updates/fixes
debianization/sandbox.patch | (download)

content/browser/zygote_host/zygote_host_impl_linux.cc | 12 6 + 6 - 0 !
1 file changed, 6 insertions(+), 6 deletions(-)

 debian specific instructions when no working sandbox is available
debianization/master preferences.patch | (download)

chrome/browser/first_run/first_run_internal_linux.cc | 6 1 + 5 - 0 !
1 file changed, 1 insertion(+), 5 deletions(-)

 search for {initial,master}_preferences in /etc/chromium
debianization/clang version.patch | (download)

build/config/compiler/BUILD.gn | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 hardcode lld for whatever version of clang we're using

Upstream doesn't allow overridding the linker name (other than toggling
lld vs gold).


debianization/swiftshader use llvm 16.patch | (download)

third_party/swiftshader/src/Reactor/BUILD.gn | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 switching to llvm-16 for swiftshader
debianization/cross build.patch | (download)

build/gn_run_binary.py | 5 5 + 0 - 0 !
build/toolchain/gcc_toolchain.gni | 30 30 + 0 - 0 !
third_party/protobuf/src/google/protobuf/compiler/subprocess.cc | 16 15 + 1 - 0 !
third_party/wayland/wayland_scanner_wrapper.py | 10 8 + 2 - 0 !
tools/grit/grit/node/brotli_util.py | 5 5 + 0 - 0 !
tools/protoc_wrapper/protoc_convert.py | 9 8 + 1 - 0 !
tools/protoc_wrapper/protoc_wrapper.py | 10 9 + 1 - 0 !
ui/webui/resources/tools/generate_code_cache.py | 8 7 + 1 - 0 !
v8/tools/run.py | 6 6 + 0 - 0 !
9 files changed, 93 insertions(+), 6 deletions(-)

 enable qemu-based cross build of chromium
fixes/ps print.patch | (download)

ui/gtk/printing/print_dialog_gtk.cc | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 add postscript (ps) printing capability
fixes/widevine locations.patch | (download)

chrome/common/chrome_paths.cc | 5 5 + 0 - 0 !
third_party/widevine/cdm/BUILD.gn | 2 1 + 1 - 0 !
2 files changed, 6 insertions(+), 1 deletion(-)

 try alternative locations for libwidevinecdm.so
  - $HOME/.local/lib/ (snap-friendly, see https://launchpad.net/bugs/1738149)
fixes/rust clanglib.patch | (download)

build/config/clang/BUILD.gn | 17 16 + 1 - 0 !
1 file changed, 16 insertions(+), 1 deletion(-)

---
fixes/material utils.patch | (download)

third_party/material_color_utilities/src/cpp/palettes/tones.cc | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

---
fixes/strlcpy.patch | (download)

third_party/libsync/src/sync.c | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

---
fixes/bindgen.patch | (download)

build/rust/rust_bindgen_generator.gni | 2 1 + 1 - 0 !
third_party/crabbyavif/BUILD.gn | 8 8 + 0 - 0 !
2 files changed, 9 insertions(+), 1 deletion(-)

 fix bindgen-related stuff

Two separate but related fixes:

Crabbyav1f is calling bindgen features which are not currently in
bookworm or sid; --allowlist-item was added in bindgen 0.68. As far
as I can tell the build.rs stuff calls allowlist_item from there as
well, so these arguments may just be redundant? Hopefully I'm not
breaking stuff..  Drop this for sid once bindgen gets upgraded.


Also, the call to bindgen sets the path for libclang to
rust_bindgen_root, which is wrong. We're already passing
clang_base_path with the path to libclang, there's no reason that
we'd expect libclang to be in the same directory as bindgen. That
fix should probably go upstream.



fixes/memory allocator dcheck assert fix.patch | (download)

base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

---
fixes/predictor denial of service.patch | (download)

chrome/browser/predictors/loading_data_collector.cc | 10 10 + 0 - 0 !
chrome/browser/predictors/loading_data_collector.h | 3 3 + 0 - 0 !
2 files changed, 13 insertions(+)

---
fixes/fix assert in vnc sessions.patch | (download)

ui/gl/init/gl_factory_ozone.cc | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

---
fixes/armhf timespec.patch | (download)

media/gpu/v4l2/legacy/v4l2_video_decoder_backend_stateful.cc | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

---
fixes/updater test.patch | (download)

chrome/updater/BUILD.gn | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

---
fixes/libsync rk3588 panthor.patch | (download)

third_party/libsync/src/sync.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 thirdparty: fix libsync for rk3588 panthor gpu driver

Chromium will crash with panthor gpu driver on rk3588 when running with
ozone wayland. There is a bug reported upstream:

https://issues.chromium.org/issues/343592370

I find the fix from an upstream commit:

https://chromium.googlesource.com/aosp/platform/system/core/libsync/+/941fe299d072723ddd475c173fe122a4f97b8cdf%5E%21/

fixes/headless gn.patch | (download)

tools/licenses/licenses.py | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 don't hardcode gn path

When building headless_shell, don't use the bundled gn binary; instead
use the gn debian system binary.


fixes/armhf no thumb.patch | (download)

build/config/rust.gni | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 don't use thumbv7neon rust target

In the armhf build, Chromium wants to use a Rust target for NEON that
Debian does not ship. Force it to use the target that we do have.

  [883/52770] ACTION //build/rust/std:find_stdlib(//build/toolchain/linux/unbundle:default_for_rust_host_build_tools)
  FAILED: default_for_rust_host_build_tools/obj/build/rust/std/libstd.rlib [...]
  python3 ../../build/rust/std/find_std_rlibs.py --rust-bin-dir ../../../../../usr/bin --output default_for_rust_host_build_tools/obj/build/rust/std --depfile default_for_rust_host_build_tools/obj/build/rust/std/stdlib.d --depfile-target std --rustc-revision rustc\ 1.85.0\ \(4d91de4e4\ 2025-02-17\)\ \(built\ from\ a\ source\ tarball\) --target thumbv7neon-unknown-linux-gnueabihf
  Traceback (most recent call last):
    File "/build/reproducible-path/chromium-136.0.7103.59/out/Release/../../build/rust/std/find_std_rlibs.py", line 132, in <module>
      sys.exit(main())
               ~~~~^^
    File "/build/reproducible-path/chromium-136.0.7103.59/out/Release/../../build/rust/std/find_std_rlibs.py", line 87, in main
      name for name in os.listdir(rustlib_dir) if name.endswith('.rlib')
                       ~~~~~~~~~~^^^^^^^^^^^^^
  FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/rustlib/thumbv7neon-unknown-linux-gnueabihf/lib'


fixes/armhf icf.patch | (download)

build/config/compiler/BUILD.gn | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 disable icf on armhf to avoid segfaults during build
disable/tests.patch | (download)

chrome/test/variations/BUILD.gn | 1 0 + 1 - 0 !
components/update_client/BUILD.gn | 2 0 + 2 - 0 !
third_party/devtools-frontend/src/BUILD.gn | 1 0 + 1 - 0 !
third_party/puffin/BUILD.gn | 1 0 + 1 - 0 !
4 files changed, 5 deletions(-)

---
disable/tests swiftshader.patch | (download)

third_party/swiftshader/BUILD.gn | 5 0 + 5 - 0 !
1 file changed, 5 deletions(-)

---
disable/signin.patch | (download)

chrome/browser/ui/webui/signin/inline_login_handler_impl.cc | 11 0 + 11 - 0 !
components/signin/internal/identity_manager/primary_account_manager.cc | 2 1 + 1 - 0 !
2 files changed, 1 insertion(+), 12 deletions(-)

 disable browser sign-in
disable/android.patch | (download)

BUILD.gn | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 disable dependency on chrome/android
disable/catapult.patch | (download)

BUILD.gn | 6 0 + 6 - 0 !
chrome/chrome_paks.gni | 3 0 + 3 - 0 !
chrome/test/BUILD.gn | 3 0 + 3 - 0 !
content/browser/BUILD.gn | 1 0 + 1 - 0 !
content/browser/tracing/BUILD.gn | 39 0 + 39 - 0 !
content/browser/tracing/tracing_ui.cc | 3 0 + 3 - 0 !
content/shell/BUILD.gn | 7 0 + 7 - 0 !
mojo/public/tools/BUILD.gn | 1 0 + 1 - 0 !
testing/BUILD.gn | 1 0 + 1 - 0 !
third_party/blink/tools/BUILD.gn | 1 0 + 1 - 0 !
third_party/webrtc/test/BUILD.gn | 5 0 + 5 - 0 !
tools/binary_size/BUILD.gn | 1 0 + 1 - 0 !
tools/grit/BUILD.gn | 1 0 + 1 - 0 !
tools/gritsettings/resource_ids.spec | 4 0 + 4 - 0 !
tools/metrics/BUILD.gn | 1 0 + 1 - 0 !
tools/perf/chrome_telemetry_build/BUILD.gn | 3 0 + 3 - 0 !
tools/perf/core/perfetto_binary_roller/BUILD.gn | 1 0 + 1 - 0 !
tools/polymer/BUILD.gn | 1 0 + 1 - 0 !
18 files changed, 82 deletions(-)

 remove dependencies on third_party catapult
disable/font tests.patch | (download)

skia/BUILD.gn | 2 1 + 1 - 0 !
third_party/test_fonts/fontconfig/BUILD.gn | 2 0 + 2 - 0 !
2 files changed, 1 insertion(+), 3 deletions(-)

 disable building font tests
disable/google api warning.patch | (download)

chrome/browser/ui/startup/infobar_utils.cc | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 disable the google api key warning when those aren't found
disable/third party cookies.patch | (download)

components/content_settings/core/browser/cookie_settings.cc | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 disable third-party cookies by default
disable/driver chrome path.patch | (download)

chrome/test/chromedriver/chrome/chrome_finder.cc | 7 1 + 6 - 0 !
1 file changed, 1 insertion(+), 6 deletions(-)

 disable usage of google-chrome in driver
disable/widevine cdm cu.patch | (download)

chrome/browser/component_updater/registration.cc | 4 0 + 4 - 0 !
1 file changed, 4 deletions(-)

 disable widevine cdm component updater
disable/clang version check.patch | (download)

tools/clang/scripts/update.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 remove strict clang version check during config
disable/screen ai blob.patch | (download)

chrome/browser/component_updater/screen_ai_component_installer.cc | 3 1 + 2 - 0 !
1 file changed, 1 insertion(+), 2 deletions(-)

 delete ~/.config/chromium/screen_ai and don't download libchromescreenai.so

This fixes https://bugs.debian.org/1066910

Chromium will download libchromescreenai.so (an opaque binary blob that
does OCR and other things) without warning the user when you
open a PDF in "reading mode". We don't actually know what's in the
binary blob, so we disable the ScreenAI service right up front (and
as an added benefit, that deletes everything in ~/.config/chromium/screen_ai



disable/buildtools libc.patch | (download)

build/config/BUILDCONFIG.gn | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

---
disable/node version ck.patch | (download)

third_party/node/node.gni | 1 0 + 1 - 0 !
third_party/protobuf/proto_library.gni | 1 0 + 1 - 0 !
2 files changed, 2 deletions(-)

 disable the node version check

https://chromium-review.googlesource.com/c/chromium/src/+/6334038 added
a node version check, but we don't want that as we're using debian's
packaged node.


system/icu shim.patch | (download)

tools/generate_shim_headers/generate_shim_headers.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 allow building against system icu even when is_offical_build=true
system/jpeg.patch | (download)

BUILD.gn | 2 0 + 2 - 0 !
1 file changed, 2 deletions(-)

 use system jpeg library
system/openjpeg.patch | (download)

third_party/pdfium/BUILD.gn | 12 11 + 1 - 0 !
1 file changed, 11 insertions(+), 1 deletion(-)

---
system/opus.patch | (download)

media/audio/audio_opus_encoder.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
system/eu strip.patch | (download)

build/linux/strip_binary.gni | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
system/rapidjson.patch | (download)

third_party/angle/third_party/rapidjson/BUILD.gn | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

 build against debian's rapidjson-dev package
system/rollup.patch | (download)

third_party/devtools-frontend/src/front_end/Images/BUILD.gn | 2 1 + 1 - 0 !
third_party/devtools-frontend/src/front_end/models/live-metrics/web-vitals-injected/BUILD.gn | 2 1 + 1 - 0 !
third_party/devtools-frontend/src/front_end/panels/recorder/injected/BUILD.gn | 2 1 + 1 - 0 !
third_party/devtools-frontend/src/inspector_overlay/BUILD.gn | 2 1 + 1 - 0 !
third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni | 2 1 + 1 - 0 !
third_party/devtools-frontend/src/scripts/devtools_paths.py | 3 1 + 2 - 0 !
third_party/node/node_modules.py | 5 4 + 1 - 0 !
7 files changed, 10 insertions(+), 8 deletions(-)

 include debian node libs (needed for rollup)

This is strictly just needed for bullseye's rollup , but may be useful
later on when we drop more nodejs stuff.


bookworm/gn revert path exists.patch | (download)

build/config/sysroot.gni | 4 3 + 1 - 0 !
build/dir_exists.py | 23 23 + 0 - 0 !
build/dotfile_settings.gni | 1 1 + 0 - 0 !
build/toolchain/siso.gni | 12 0 + 12 - 0 !
4 files changed, 27 insertions(+), 13 deletions(-)

---
bookworm/clang19.patch | (download)

build/config/compiler/BUILD.gn | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

---
bookworm/libxml parseerr.patch | (download)

third_party/blink/renderer/core/xml/xslt_processor.h | 2 1 + 1 - 0 !
third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

---
bookworm/gn allowlist.patch | (download)

.gn | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
bookworm/adler1.patch | (download)

build/rust/std/BUILD.gn | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
bookworm/foreach.patch | (download)

base/containers/to_value_list.h | 9 5 + 4 - 0 !
1 file changed, 5 insertions(+), 4 deletions(-)

---