Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chromium: Update to 132.0.6834.83 #867

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

adalessandro
Copy link

@adalessandro adalessandro commented Jan 22, 2025

Release notes:

Build and patch changes:

Dropped

None

Added

  • file://0013-build-config-compiler-BUILD.gn-Disable-CREL.patch
  • file://0014-Revert-Set-Rust-symbol-visibility-to-hidden-when-C-s.patch
  • file://0015-pdfium-Fix-missing-PDFiumAPIStringBufferAdapter-temp.patch
  • file://0016-Revert-Connect-the-Rust-log-crate-to-the-base-loggin.patch

Test-built:

Recipes:

  • chromium-x11
  • chromium-ozone-wayland

Target machines:

  • machine: qemuarm
  • machine: qemuarm64
  • machine: qemux86-64

Releases:

  • scarthgap

Layers:

Reference pipeline:

@adalessandro
Copy link
Author

@MaxIhlenfeldt here's the initial PR for chromium 132 release. Please review :-)

Note that there's a TODO section, where I might need your help if possible.

@adalessandro adalessandro marked this pull request as draft January 22, 2025 13:15
Copy link
Collaborator

@MaxIhlenfeldt MaxIhlenfeldt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't reviewed everything yet, but I've left a few comments already.

Regarding the mentioned TODOs:

  • you can use this repo's generate_license_list.py script to generate the updated license hashes.
  • Why do we need to set "RUST_CHANNEL = "nightly"? And where would one need to set that?

@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch from f960f69 to f4a919b Compare January 28, 2025 19:48
@san-skov-dk
Copy link

san-skov-dk commented Jan 29, 2025

I am trying to build for the i.MX6 cpu and get the following.

80/54278] arm-pmc-linux-gnueabi-clang++ -target arm-pmc-linux-gnueabi -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 -mlittle-endian --dyld-prefix=/usr -Qunused-arguments -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wforma
[81/54278] python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/log_severity.h --depfile obj/base/logging_log_severity_bindgen_generator.d --output gen/base/logging_log_se
FAILED: gen/base/logging_log_severity_bindgen_generator/bindings.rs
python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/log_severity.h --depfile obj/base/logging_log_severity_bindgen_generator.d --output gen/base/logging_log_severity_bind
clang diag: warning: argument unused during compilation: '-mthumb' [-Wunused-command-line-argument]
panicked at bindgen-cli/main.rs:52:36:
Unable to generate bindings: ClangDiagnostic("error: unsupported option '-mfpu=' for target 'x86_64-unknown-linux-gnu'\n")
Traceback (most recent call last):
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 118, in
main()
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 106, in main
subprocess.check_call([args.exe, *genargs], env=env)
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/recipe-sysroot-native/usr/lib/python3.12/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../../third_party/rust-toolchain/bin/bindgen', '--no-layout-tests', '--enable-cxx-namespaces', '--no-rustfmt-bindings', '--rust-target', 'nightly', '--depfile', 'buil
[82/54278] python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/rust_log_integration.h --depfile obj/base/logging_rust_log_integration_bindgen_generator.d --output gen/bas
FAILED: gen/base/logging_rust_log_integration_bindgen_generator/bindings.rs
python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/rust_log_integration.h --depfile obj/base/logging_rust_log_integration_bindgen_generator.d --output gen/base/logging_r
clang diag: warning: argument unused during compilation: '-mthumb' [-Wunused-command-line-argument]
panicked at bindgen-cli/main.rs:52:36:
Unable to generate bindings: ClangDiagnostic("error: unsupported option '-mfpu=' for target 'x86_64-unknown-linux-gnu'\n")
Traceback (most recent call last):
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 118, in
main()
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 106, in main
subprocess.check_call([args.exe, *genargs], env=env)
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/recipe-sysroot-native/usr/lib/python3.12/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../../third_party/rust-toolchain/bin/bindgen', '--no-layout-tests', '--enable-cxx-namespaces', '--no-rustfmt-bindings', '--rust-target', 'nightly', '--depfile', '/thick_disk/san/skov-sdk-v90/buil
[83/54278] python3 ../../mojo/public/tools/mojom/mojom_parser.py --input-root ../.. --input-root gen --output-root gen --mojom-file-list=gen/cc/mojom/element_id__parser.rsp --check-imports gen/cc/mojom/element_id.build_metadata --enable-

@adalessandro
Copy link
Author

I am trying to build for the i.MX6 cpu and get the following.

80/54278] arm-pmc-linux-gnueabi-clang++ -target arm-pmc-linux-gnueabi -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 -mlittle-endian --dyld-prefix=/usr -Qunused-arguments -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wforma [81/54278] python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/log_severity.h --depfile obj/base/logging_log_severity_bindgen_generator.d --output gen/base/logging_log_se FAILED: gen/base/logging_log_severity_bindgen_generator/bindings.rs python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/log_severity.h --depfile obj/base/logging_log_severity_bindgen_generator.d --output gen/base/logging_log_severity_bind clang diag: warning: argument unused during compilation: '-mthumb' [-Wunused-command-line-argument] panicked at bindgen-cli/main.rs:52:36: Unable to generate bindings: ClangDiagnostic("error: unsupported option '-mfpu=' for target 'x86_64-unknown-linux-gnu'\n") Traceback (most recent call last): File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 118, in main() File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 106, in main subprocess.check_call([args.exe, *genargs], env=env) File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/recipe-sysroot-native/usr/lib/python3.12/subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['../../third_party/rust-toolchain/bin/bindgen', '--no-layout-tests', '--enable-cxx-namespaces', '--no-rustfmt-bindings', '--rust-target', 'nightly', '--depfile', 'buil [82/54278] python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/rust_log_integration.h --depfile obj/base/logging_rust_log_integration_bindgen_generator.d --output gen/bas FAILED: gen/base/logging_rust_log_integration_bindgen_generator/bindings.rs python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/rust_log_integration.h --depfile obj/base/logging_rust_log_integration_bindgen_generator.d --output gen/base/logging_r clang diag: warning: argument unused during compilation: '-mthumb' [-Wunused-command-line-argument] panicked at bindgen-cli/main.rs:52:36: Unable to generate bindings: ClangDiagnostic("error: unsupported option '-mfpu=' for target 'x86_64-unknown-linux-gnu'\n") Traceback (most recent call last): File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 118, in main() File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 106, in main subprocess.check_call([args.exe, *genargs], env=env) File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/recipe-sysroot-native/usr/lib/python3.12/subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['../../third_party/rust-toolchain/bin/bindgen', '--no-layout-tests', '--enable-cxx-namespaces', '--no-rustfmt-bindings', '--rust-target', 'nightly', '--depfile', '/thick_disk/san/skov-sdk-v90/buil [83/54278] python3 ../../mojo/public/tools/mojom/mojom_parser.py --input-root ../.. --input-root gen --output-root gen --mojom-file-list=gen/cc/mojom/element_id__parser.rsp --check-imports gen/cc/mojom/element_id.build_metadata --enable-

@san-skov-dk could you please retry by pulling the latest changes from this MR?
In any case, more context on your build setup would be great for me to peek/reproduce/help with it. Thanks!

Regenerated by running `generate_license_list.py` script.

Signed-off-by: Ariel D'Alessandro <[email protected]>
This commit rebase previous patches for chromium 132.0.6834.83.

Signed-off-by: Ariel D'Alessandro <[email protected]>
A new assertion has been introduced, causing the build to fail with this
option enabled:

| ERROR at //build/config/linux/libdrm/BUILD.gn:18:3: Assertion failed.
|   assert(!is_linux, "System libdrm is not supported in linux")
|   ^-----
| System libdrm is not supported in linux
| See //ui/gfx/BUILD.gn:666:15: which caused the file to be included.
|     deps += [ "//build/config/linux/libdrm" ]

Link: https://chromium-review.googlesource.com/c/chromium/src/+/5956068
Signed-off-by: Ariel D'Alessandro <[email protected]>
@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch from f4a919b to 9e5ee27 Compare January 30, 2025 19:51
@san-skov-dk
Copy link

@san-skov-dk could you please retry by pulling the latest changes from this MR? In any case, more context on your build setup would be great for me to peek/reproduce/help with it. Thanks!

Still looking into the same issue
Here is my setup for my scarthgap build (of course meta-browser points on the pr)
The serverOS is Alma 9
DISTRO_FEATURES = "argp ext2 largefile usbgadget usbhost xattr nfs zeroconf multiarch systemd alsa opengl wayland usrmerge vulkan rauc security seccomp pam"

[submodule "meta-oe"]
path = meta-oe
url = https://git.openembedded.org/meta-openembedded
branch = scarthgap
[submodule "meta-qt5"]
path = meta-qt5
url = https://github.com/meta-qt5/meta-qt5.git
branch = scarthgap
[submodule "meta-freescale"]
path = meta-freescale
url = https://github.com/Freescale/meta-freescale.git
branch = scarthgap
[submodule "meta-java"]
path = meta-java
url = https://git.yoctoproject.org/meta-java
branch = scarthgap
[submodule "meta-ptx"]
path = meta-ptx
url = https://github.com/pengutronix/meta-ptx.git
branch = scarthgap
[submodule "meta-rauc"]
path = meta-rauc
url = https://github.com/rauc/meta-rauc.git
branch = scarthgap
[submodule "meta-clang"]
path = meta-clang
url = https://github.com/kraj/meta-clang.git
branch = scarthgap
[submodule "meta-browser"]
path = meta-browser
url = https://github.com/OSSystems/meta-browser.git
branch = scarthgap
[submodule "meta-webkit"]
path = meta-webkit
url = https://github.com/Igalia/meta-webkit.git
branch = main
[submodule "meta-security"]
path = meta-security
url = https://git.yoctoproject.org/meta-security
branch = scarthgap
[submodule "poky"]
path = poky
url = https://git.yoctoproject.org/poky
branch = scarthgap
[submodule "meta-lts-mixins"]
path = meta-lts-mixins
url = https://git.yoctoproject.org/meta-lts-mixins
branch = scarthgap/rust

If you need more info I will be happy to provide it.

@adalessandro
Copy link
Author

@san-skov-dk could you please retry by pulling the latest changes from this MR? In any case, more context on your build setup would be great for me to peek/reproduce/help with it. Thanks!

Still looking into the same issue Here is my setup for my scarthgap build (of course meta-browser points on the pr) The serverOS is Alma 9 DISTRO_FEATURES = "argp ext2 largefile usbgadget usbhost xattr nfs zeroconf multiarch systemd alsa opengl wayland usrmerge vulkan rauc security seccomp pam"

[submodule "meta-oe"] path = meta-oe url = https://git.openembedded.org/meta-openembedded branch = scarthgap [submodule "meta-qt5"] path = meta-qt5 url = https://github.com/meta-qt5/meta-qt5.git branch = scarthgap [submodule "meta-freescale"] path = meta-freescale url = https://github.com/Freescale/meta-freescale.git branch = scarthgap [submodule "meta-java"] path = meta-java url = https://git.yoctoproject.org/meta-java branch = scarthgap [submodule "meta-ptx"] path = meta-ptx url = https://github.com/pengutronix/meta-ptx.git branch = scarthgap [submodule "meta-rauc"] path = meta-rauc url = https://github.com/rauc/meta-rauc.git branch = scarthgap [submodule "meta-clang"] path = meta-clang url = https://github.com/kraj/meta-clang.git branch = scarthgap [submodule "meta-browser"] path = meta-browser url = https://github.com/OSSystems/meta-browser.git branch = scarthgap [submodule "meta-webkit"] path = meta-webkit url = https://github.com/Igalia/meta-webkit.git branch = main [submodule "meta-security"] path = meta-security url = https://git.yoctoproject.org/meta-security branch = scarthgap [submodule "poky"] path = poky url = https://git.yoctoproject.org/poky branch = scarthgap [submodule "meta-lts-mixins"] path = meta-lts-mixins url = https://git.yoctoproject.org/meta-lts-mixins branch = scarthgap/rust

If you need more info I will be happy to provide it.

I've hit the same issue cross-compilting for MACHINE=qemuarm64.

@MaxIhlenfeldt looks like it's an old issue that had been work-around previously: #827 (comment) . Sounds familiar? I'll check this out anyway.

@adalessandro
Copy link
Author

adalessandro commented Feb 3, 2025

Indeed, this is pretty similar to 0011-Disable-crabbyavif-to-fix-build-errors.patch.
The issue is related to the way bindgen is configured. To workaround this, I've reverted the
commit the connected bindgen to the rust logger.
Check commit log 26d3dd9

@san-skov-dk @MaxIhlenfeldt let me know if you get the chance to test this out :-)

@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch from 26d3dd9 to 00ee3b6 Compare February 3, 2025 20:25
@adalessandro
Copy link
Author

Indeed, this is pretty similar to 0011-Disable-crabbyavif-to-fix-build-errors.patch. The issue is related to the way bindgen is configured. To workaround this, I've reverted the commit the connected bindgen to the rust logger. Check commit log 26d3dd9

@san-skov-dk @MaxIhlenfeldt let me know if you get the chance to test this out :-)

FYI there's a pipeline running here for different targets https://gitlab.collabora.com/mediatek/aiot/bsp/manifest/-/pipelines/126047

@san-skov-dk
Copy link

san-skov-dk commented Feb 4, 2025

@san-skov-dk @MaxIhlenfeldt let me know if you get the chance to test this out :-)

It is building now :)
booth with cortexa9t2hf-neon-pmc-linux-gnueabi and cortexa53-crypto-pmc-linux

@adalessandro
Copy link
Author

@MaxIhlenfeldt could you do a full PR review?
All the parts should be there now, including license regeneration.
If necessary, of course, we can squash everything up in a single version bump commit.
Let me know if you get the chance to review this, thanks!

@adalessandro adalessandro marked this pull request as ready for review February 6, 2025 12:05
Copy link
Collaborator

@MaxIhlenfeldt MaxIhlenfeldt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the previous PRs we also had links to the changes that introduced the license changes (see e.g. #852). @rakuco do you remember why? Maybe we can drop that and just mention which licenses changed/were added/were removed.

This feature is not supported on the current clang toolchain version,
which causes build to fail with the following error:

| clang++: error: unsupported argument '--crel' to option '-Wa,'
| clang++: error: unsupported argument '--allow-experimental-crel'
  to option '-Wa,'

Signed-off-by: Ariel D'Alessandro <[email protected]>
@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch 3 times, most recently from d3c93cc to 7b49f62 Compare February 7, 2025 17:45
This reverts chromium commit ee3900fd57b3c580aefff15c64052904d81b7760.
* Change-Id: https://crrev.com/c/5966273

Fixes the following compilation error:

```
| FAILED: obj/third_party/rust/ryu/v1/lib/libryu_lib.rlib
[...]
| error: unknown unstable option: `default-visibility`
```

This patch will be dropped once Rust >= 1.83 is available, which
includes:
* rust-lang/rust#130005 [0]
* rust-lang/rust#131519 [1]

Note that currently meta-lts-mixins [2] provides the following versions:
* kirkstone: `1.80.1`
* scarthgap: `1.81.0`

[0] rust-lang/rust#130005
[1] rust-lang/rust#131519
[2] https://git.yoctoproject.org/meta-lts-mixins

Signed-off-by: Ariel D'Alessandro <[email protected]>
@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch from 7b49f62 to 1f12168 Compare February 10, 2025 16:32
@rakuco
Copy link
Collaborator

rakuco commented Feb 11, 2025

In the previous PRs we also had links to the changes that introduced the license changes (see e.g. #852). @rakuco do you remember why? Maybe we can drop that and just mention which licenses changed/were added/were removed.

I think I started doing that ages ago just to make it easier for people actually using the recipe and having to do their due diligence with Chromium's ton of license files and mixes. If it's too much work I think we shouldn't block on this.

@rakuco
Copy link
Collaborator

rakuco commented Feb 11, 2025

I wonder if @SoumyaWind would like to do some testing too?

@MaxIhlenfeldt
Copy link
Collaborator

I think I started doing that ages ago just to make it easier for people actually using the recipe and having to do their due diligence with Chromium's ton of license files and mixes. If it's too much work I think we shouldn't block on this.

Thanks for the context! I personally think the list of changed licenses should be enough. If people were relying on the links to the CLs they'll complain, and we can bring them back :)

Fix the following compilation error:

```
| ../../pdf/pdfium/pdfium_api_wrappers.cc:150:32: error: alias template
  'PDFiumAPIStringBufferAdapter' requires template arguments; argument
  deduction only allowed for class templates
|   150 |   PDFiumAPIStringBufferAdapter adapter(&name, expected_size,
|       |                                ^
| ../../pdf/pdfium/pdfium_api_string_buffer_adapter.h:173:1: note: template
  is declared here
|   173 | using PDFiumAPIStringBufferAdapter =
|       | ^
| 1 error generated.
```

This patch will be dropped once clang >= 19.1.0 is available, which
includes support for class template argument deduction (CTAD) for type
alias templates (P1814R0 [0]) (#54051 [1]).

Note that currently meta-clang [2] provides the clang version `18.1.6`.

[0] https://wg21.link/p1814r0
[1] llvm/llvm-project#54051
[2] https://github.com/kraj/meta-clang

Signed-off-by: Ariel D'Alessandro <[email protected]>
This reverts chromium commit 7ea0a5e831dd5 ("Connect the Rust log crate
to the //base logging implementation".

The above commit enabled bindgen for the Rust logger. Similar to patch
0011-Disable-crabbyavif-to-fix-build-errors.patch added in commit [0],
this fixes a build error that's most likely because the way upstream
configures bindgen makes it incompatible with our cross-architecture
builds.

```
| FAILED: gen/base/logging_rust_log_integration_bindgen_generator/bindings.rs
| [...]
| panicked at bindgen-cli/main.rs:52:36:
| Unable to generate bindings: ClangDiagnostic("error: unsupported option '-mbranch-protection=' for target 'x86_64-unknown-linux-gnu'\n")
```

[0] meta-browser commit fd347dc ("chromium: Update to 127.0.6533.99")

Signed-off-by: Ariel D'Alessandro <[email protected]>
@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch from 1f12168 to cf79385 Compare February 11, 2025 18:33
@adalessandro
Copy link
Author

I think I started doing that ages ago just to make it easier for people actually using the recipe and having to do their due diligence with Chromium's ton of license files and mixes. If it's too much work I think we shouldn't block on this.

Thanks for the context! I personally think the list of changed licenses should be enough. If people were relying on the links to the CLs they'll complain, and we can bring them back :)

@MaxIhlenfeldt shoud I squash all the commits and have a single "update" commit as 0dad36d ? Then add the respective details about patch and license changes?

@SoumyaWind
Copy link

@rakuco Sure, I'll start testing and update once I'm done.

@MaxIhlenfeldt
Copy link
Collaborator

shoud I squash all the commits and have a single "update" commit as 0dad36d ? Then add the respective details about patch and license changes?

I think it's enough if you edit the PR description to add the list of added, removed, and updated licenses (no need to link to the CLs introducing these license changes for now I'd say). Then I can let GitHub automatically squash all the commits when merging the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

5 participants