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

kirkstone: backport chromium from scarthgap #843

Draft
wants to merge 26 commits into
base: kirkstone
Choose a base branch
from

Conversation

adalessandro
Copy link

MaxIhlenfeldt and others added 26 commits March 20, 2024 13:04
Release notes:
    https://chromereleases.googleblog.com/2024/01/stable-channel-update-for-desktop_23.html
    https://chromereleases.googleblog.com/2024/01/stable-channel-update-for-desktop_30.html
    https://chromereleases.googleblog.com/2024/02/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/02/stable-channel-update-for-desktop_13.html

Build and patch changes:
------------------------

Drop five backported patches that are included upstream now, and add
three new backports.

Drop arm/0002-Fix-ARM-build-with-recent-glibc.patch as
https://crrev.com/c/5035139 includes an equivalent patch.

Add 0019-Don-t-require-profiler_builtins.rlib.patch to fix a build error
when using OE master.

Rebase and renumber remaining patches.

License changes:
----------------

Added licenses:
  * third_party/lit/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5046161

Removed licenses:
  * base/third_party/xdg_mime/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/4996430

  * native_client/LICENSE
  - not sure which change caused this, but we don't use NativeClient anyways

Updated licenses:
  * third_party/libxml/src/Copyright
  - https://chromium-review.googlesource.com/c/chromium/src/+/4985186

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,   MACHINE=qemuarm, qemux86-64
 - nanbield, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,   MACHINE=qemuarm, qemuarm64, qemux86-64
 - nanbield, clang, MACHINE=qemuarm, qemuarm64, qemux86-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
- Remove dunfell-specific notes now that dunfell is unsupported.
- Link to chromiumdash.appspot.com, as OmahaProxy has been retired.

Signed-off-by: Raphael Kubo da Costa <[email protected]>
Given that we have decided not to support kirkstone until it uses a more
recent version of clang, we can now drop all patches that are only
needed to fix errors with clang < 17 (as nanbield uses clang 17).

This also updates LAYERSERIES_COMPAT, dropping kirkstone, as well as the
EOL'd mickledore and langdale.

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#795.

Release notes:
    https://chromereleases.googleblog.com/2024/02/stable-channel-update-for-desktop_20.html
    https://chromereleases.googleblog.com/2024/02/stable-channel-update-for-desktop_22.html
    https://chromereleases.googleblog.com/2024/02/stable-channel-update-for-desktop_27.html
    https://chromereleases.googleblog.com/2024/03/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/03/stable-channel-update-for-desktop_12.html

Build and patch changes:
------------------------

Drop six backported patches that are included upstream now.

Drop arm/0002-Fix-static_assert-failed-build-error-on-32-bit-ARM.patch
as it was only needed to fix a build error with clang < 17, which we
don't support any more.

Rebase remaining patches and renumber remaining ARM patches.

License changes:
----------------

Added licenses:
  * third_party/coremltools/mlmodel/format/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5108678

  * third_party/node/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5136956

  * third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/etc_decoder/LICENSE,
  third_party/angle/src/third_party/libXNVCtrl/LICENSE,
  third_party/angle/src/third_party/volk/LICENSE.md,
  third_party/angle/third_party/android_system_sdk/LICENSE,
  third_party/angle/third_party/flatbuffers/LICENSE,
  third_party/catapult/experimental/trace_on_tap/third_party/pako/LICENSE,
  third_party/catapult/third_party/Paste/docs/license.txt,
  third_party/catapult/third_party/WebOb/docs/license.txt,
  third_party/catapult/third_party/apiclient/LICENSE,
  third_party/catapult/third_party/cachetools/LICENSE,
  third_party/catapult/third_party/chardet/LICENSE,
  third_party/catapult/third_party/cloudstorage/COPYING,
  third_party/catapult/third_party/coverage/LICENSE.txt,
  third_party/catapult/third_party/flot/LICENSE.txt,
  third_party/catapult/third_party/google-auth/LICENSE,
  third_party/catapult/third_party/gsutil/LICENSE,
  third_party/catapult/third_party/html5lib-python/LICENSE,
  third_party/catapult/third_party/httplib2/LICENSE,
  third_party/catapult/third_party/ijson/LICENSE.txt,
  third_party/catapult/third_party/oauth2client/LICENSE,
  third_party/catapult/third_party/polymer/LICENSE.polymer,
  third_party/catapult/third_party/polymer2/LICENSE.polymer,
  third_party/catapult/third_party/polymer3/LICENSE.polymer,
  third_party/catapult/third_party/pyfakefs/COPYING,
  third_party/catapult/third_party/pyparsing/LICENSE,
  third_party/catapult/third_party/python_gflags/COPYING,
  third_party/catapult/third_party/redux/LICENSE.md,
  third_party/catapult/third_party/requests_toolbelt/LICENSE,
  third_party/catapult/third_party/six/LICENSE,
  third_party/catapult/third_party/typ/LICENSE,
  third_party/catapult/third_party/vinn/third_party/v8/LICENSE,
  third_party/catapult/third_party/vinn/third_party/v8/LICENSE.strongtalk,
  third_party/catapult/third_party/vinn/third_party/v8/LICENSE.v8,
  third_party/catapult/third_party/vinn/third_party/v8/LICENSE.valgrind,
  third_party/catapult/third_party/webapp2/LICENSE,
  third_party/catapult/tracing/third_party/jpeg-js/LICENSE,
  third_party/catapult/tracing/third_party/oboe/LICENCE,
  third_party/catapult/tracing/third_party/pako/LICENSE,
  third_party/chromevox/third_party/closure-library/LICENSE,
  third_party/chromevox/third_party/sre/LICENSE,
  third_party/crashpad/crashpad/third_party/getopt/LICENSE,
  third_party/crashpad/crashpad/third_party/xnu/APPLE_LICENSE,
  third_party/dawn/third_party/khronos/LICENSE,
  third_party/devtools-frontend/src/front_end/third_party/axe-core/LICENSE,
  third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/LICENSE,
  third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data/package/LICENSE.md,
  third_party/google_input_tools/third_party/closure_library/LICENSE,
  third_party/openscreen/src/third_party/protobuf/LICENSE,
  third_party/openscreen/src/third_party/tinycbor/src/LICENSE,
  third_party/openscreen/src/third_party/zlib/LICENSE,
  third_party/pdfium/third_party/fp16/LICENSE,
  third_party/pdfium/third_party/freetype/FTL.TXT,
  third_party/screen-ai/LICENSE,
  third_party/selenium-atoms/LICENSE.closure,
  third_party/selenium-atoms/LICENSE.sizzle,
  third_party/selenium-atoms/LICENSE.wgxpath,
  third_party/swiftshader/third_party/SPIRV-Headers/LICENSE,
  third_party/swiftshader/third_party/SPIRV-Tools/LICENSE,
  third_party/webrtc/common_audio/third_party/ooura/LICENSE,
  third_party/webrtc/common_audio/third_party/spl_sqrt_floor/LICENSE,
  third_party/webrtc/modules/third_party/portaudio/LICENSE,
  third_party/webrtc/rtc_base/third_party/sigslot/LICENSE,
  - https://chromium-review.googlesource.com/c/chromium/src/+/5061468

Removed licenses:
  * third_party/gvr-android-sdk/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5128757

  * third_party/nasm/LICENSE
  - Removed due to being marked as not shipped.

Updated licenses:
  * chrome/installer/mac/third_party/xz/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5289735

  * third_party/libxml/src/Copyright
  - https://chromium-review.googlesource.com/c/chromium/src/+/5140988

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,   MACHINE=qemux86-64, raspberrypi4-64
 - nanbield, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,   MACHINE=qemuarm, qemuarm64, qemux86-64
 - nanbield, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Build and patch changes:
------------------------

Add one backported patch to fix a build error on Yocto master.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-x11:
 - master, clang, MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
…stems#810)

Build and patch changes:
------------------------

Replace all usages off `RECIPE_SYSROOT` and `RECIPE_SYSROOT_NATIVE` with
the respective matching `STAGING_*` variables to ensure compatibility
with all build setups.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-wayland:
 - nanbield, clang, MACHINE=qemuarm64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#811.

Build and patch changes:
------------------------

Add one backported patch to fix a build race condition that would
sometimes lead to build errors.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-wayland:
 - nanbield, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,   MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
chromium: Depend on libstd-rs instead of rust

Fixes OSSystems#792.

Build and patch changes:
------------------------

In OSSystems#782, we decided to depend on rust instead of libstd-rs, because the
latter didn't include libprofiler_builtins and also used a naming scheme
that trips up Chromium.

However, in OSSystems#791 we decided to patch Chromium so that it doesn't need
libprofiler_builtins any more, because the master version of the rust
recipe also doesn't include it.

Finally, while investigating OSSystems#792 it turned out that our approach breaks
as soon as we have something that depends on libstd-rs in our dependency
graph. In that scenario, both libstd-rs and rust (the latter due to our
bbappend file) install Rust libraries to /usr/lib/rustlib. This first
leads to Chromium build system errors (due to libstd-rs's naming
scheme), and after fixing these to Rust compiler errors due to multiple
versions being present.

The conclusion is now that we can depend on libstd-rs we should do so.
This only requires a small change to Chromium's Rust build scripts to
adapt them to the slightly different naming scheme.

Also, while we're already reworking our Rust setup, we can remove the
remaining part of our bbappend for the rust recipe and instead inherit
the `rust-common` class, thereby inheriting `rust-target-config` (which
needs stuff from `rust-common`). This means we get the `target.json`
files the Rust compiler needs installed in the directory pointed to by
the `RUST_TARGET_PATH` environment variable.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-wayland:
 - nanbield, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,   MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
…ems#814)

Fixes OSSystems#794.

Build and patch changes:
------------------------

We previously created a symlink pointing to the subdirectory of the
latest version under $STAGING_LIBDIR_NATIVE/clang, and then copied the
libclang_rt.builtins library from $STAGING_LIBDIR/clang to the same
directory as the native library. This is necessary because we need to
point Chromium to a single clang directory for building both native and
target code, and we need its path to be independent of the specific
clang version used.

However, the chosen approach leads to an error when doing a build,
updating meta-clang to a revision containing a new version of clang, and
then doing an incremental build.

This commit replaces the previous approach with a more safe one that
does a full copy of the $STAGING_LIBDIR_NATIVE/clang subdirectory that
we want to point Chromium to, and then copies the libclang_rt.builtins
library for the target architecture to this copied directory.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-x11:
 - master, clang, MACHINE=qemuarm64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#796.

Note that this PR drops support for Nanbield (which is scheduled to
reach its EOL this month anyway), see the discussion at OSSystems#796 for why.

Release notes:
    https://chromereleases.googleblog.com/2024/03/stable-channel-update-for-desktop_19.html
    https://chromereleases.googleblog.com/2024/03/stable-channel-update-for-desktop_26.html
    https://chromereleases.googleblog.com/2024/04/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/04/stable-channel-update-for-desktop_10.html

Build and patch changes:
------------------------

Drop one backported patch that is included upstream now.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/android_deps/libs/com_google_android_gms_play_services_tflite_impl/LICENSE,
    third_party/android_deps/libs/com_google_android_gms_play_services_tflite_java/LICENSE,
    third_party/android_deps/libs/org_tensorflow_tensorflow_lite_api/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5288046

  * third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_android_extensions_runtime/LICENSE,
    third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_parcelize_runtime/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5260026

  * third_party/android_deps/libs/org_jetbrains_kotlinx_atomicfu_jvm/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5237443

Removed licenses:
  * third_party/catapult/third_party/Paste/docs/license.txt
  - https://chromium-review.googlesource.com/c/catapult/+/5288589

  * third_party/screen-ai/LICENSE
  - Not sure why.

Updated licenses:
  * third_party/android_deps/libs/com_google_android_gms_play_services_base/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5288046

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Cherry-pick of OSSystems#815.

Build and patch changes:
------------------------

Add one backported patch to fix a build race condition that would
sometimes lead to build errors.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-x11:
 - scarthgap, clang, MACHINE=qemux86-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Co-authored-by: Daniel Semkowicz <[email protected]>
Fixes OSSystems#817.

Release notes:
    https://chromereleases.googleblog.com/2024/04/stable-channel-update-for-desktop_16.html
    https://chromereleases.googleblog.com/2024/04/stable-channel-update-for-desktop_24.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/04/stable-channel-update-for-desktop_30.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_7.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_9.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_13.html

Build and patch changes:
------------------------

Rebase patches.

License changes:
----------------

Added licenses:
  * third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/mitt/LICENSE,
    third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/rxjs/LICENSE
  - https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5349136

  * third_party/protobuf-javascript/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5365789

Removed licenses:
  * third_party/catapult/third_party/WebOb/docs/license.txt
  - https://chromium-review.googlesource.com/c/catapult/+/5324206

  * v8/LICENSE.fdlibm, v8/LICENSE.strongtalk
  - Most likely wrongly removed due to https://crrev.com/c/5375144. See
    https://crbug.com/342197912.

Updated licenses:
  * third_party/ffmpeg/CREDITS.chromium
  - https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/5315059

  * third_party/selenium-atoms/LICENSE.sizzle
  - https://chromium-review.googlesource.com/c/chromium/src/+/5339957

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#818.

Release notes:
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_15.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_21.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_23.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_30.html

Build and patch changes:
------------------------

Drop one backported patch that is included in upstream now.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/bidimapper/licenses/LICENSE.mitt,
    third_party/bidimapper/licenses/LICENSE.urlpattern_polyfill,
    third_party/bidimapper/licenses/LICENSE.zod
  - https://chromium-review.googlesource.com/c/chromium/src/+/5374914

  * third_party/lens_server_proto/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5394109

Removed licenses:
  * third_party/selenium-atoms/LICENSE.closure
  - https://chromium-review.googlesource.com/c/chromium/src/+/5424804

Updated licenses:
  * third_party/icu/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/deps/icu/+/5397901

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Build and patch changes:
------------------------

`arm/0001-BUILD-do-not-specify-march-on-arm.patch` depends on
`0001-Remove-the-GN-settings-done-for-clang-that-conflict-.patch` (i.e.
it fails to apply on its own), which is confusing and makes rebasing on
new upstream releases harder.

This merges the two patches into a single one.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-ozone-wayland:
 - scarthgap, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#823.

Release notes:
    https://chromereleases.googleblog.com/2024/06/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/06/stable-channel-update-for-desktop_13.html
    https://chromereleases.googleblog.com/2024/06/stable-channel-update-for-desktop_18.html
    https://chromereleases.googleblog.com/2024/06/stable-channel-update-for-desktop_24.html

Build and patch changes:
------------------------

Drop two backported patches that are included in upstream now.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/crabbyavif/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5458147

Removed licenses:
  * base/third_party/dynamic_annotations/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/2544607

  * third_party/android_deps/libs/com_google_android_gms_play_services_places_placereport/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5515920

  * third_party/android_deps/libs/com_google_android_gms_play_services_tflite_impl/LICENSE,
    third_party/android_deps/libs/com_google_android_gms_play_services_tflite_java/LICENSE,
    third_party/android_deps/libs/org_tensorflow_tensorflow_lite_api/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5494530

Updated licenses:
  * third_party/android_deps/libs/com_google_android_gms_play_services_location/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5515920

  * third_party/ffmpeg/CREDITS.chromium
  - https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+/46a49cb3ec46cf95499c7f265e9d840c16430ac7

  * third_party/swiftshader/third_party/SPIRV-Headers/LICENSE
  - https://swiftshader-review.googlesource.com/c/SwiftShader/+/73371

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#827.

Release notes:
    https://chromereleases.googleblog.com/2024/07/stable-channel-update-for-desktop_23.html
    https://chromereleases.googleblog.com/2024/07/stable-channel-update-for-desktop_30.html
    https://chromereleases.googleblog.com/2024/08/stable-channel-update-for-desktop.html

Build and patch changes:
------------------------

Add 0011-Disable-crabbyavif-to-fix-build-errors.patch to fix a build
error that's most likely because the way upstream configures bindgen
makes it incompatible with our cross-architecture builds.

Add 0012-m127-side_panel-Add-missing-deps.patch to fix build race
conditions due to missing deps.

Add a backported patch to fix a build race conditions due to a missing
dep.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/angle/third_party/spirv-headers/LICENSE,
    third_party/angle/third_party/spirv-tools/LICENSE,
    third_party/angle/third_party/vulkan-headers/LICENSE.txt
  - https://chromium-review.googlesource.com/c/angle/angle/+/5545577

  * third_party/dawn/third_party/spirv-headers/LICENSE,
    third_party/dawn/third_party/spirv-tools/LICENSE,
    third_party/dawn/third_party/vulkan-headers/LICENSE.txt
  - https://dawn-review.googlesource.com/c/dawn/+/189420

  * third_party/devtools-frontend/src/front_end/third_party/web-vitals/package/LICENSE
  - https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5549634

  * third_party/spirv-headers/LICENSE,
    third_party/spirv-tools/LICENSE,
    third_party/vulkan-headers/LICENSE.txt,
    third_party/vulkan-loader/src/LICENSE.txt
  - https://chromium-review.googlesource.com/c/chromium/src/+/5568828

Removed licenses:
  * base/third_party/valgrind/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5571961

  * third_party/devtools-frontend/src/front_end/third_party/axe-core/LICENSE,
    third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/LICENSE,
    third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data/package/LICENSE.md
  - unknown

  * third_party/maldoca/src/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5536396

  * third_party/vulkan-deps/vulkan-loader/src/LICENSE.txt
  - https://chromium-review.googlesource.com/c/chromium/src/+/5568828

Updated licenses:
  * third_party/ffmpeg/CREDITS.chromium
  - https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/a65f1034

Test-built (big thanks to @SoumyaWind):
---------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Due to commit [clang: use nonarch_libdir/clang for all runtime
files][1] applied, the clang runtime libraries was installed
to ${nonarch_libdir}, no matter the value of libdir

Tweak it for do_copy_clang_library, use ${nonarch_libdir} to instead

[1] kraj/meta-clang@cda1376

Signed-off-by: Hongxu Jia <[email protected]>
Fixes OSSystems#831.

Release notes:
    https://chromereleases.googleblog.com/2024/08/stable-channel-update-for-desktop_21.html

Build and patch changes:
------------------------

Drop 0012-m127-side_panel-Add-missing-deps.patch as m128 contains the
proper fix for the issue this patch was working around.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/parsel/LICENSE
  - https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5630499

Removed licenses:
  * third_party/catapult/third_party/polymer2/LICENSE.polymer
  - https://chromium-review.googlesource.com/c/catapult/+/5670761

  * third_party/setupdesign/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5659916

Updated licenses:
  * third_party/perfetto/LICENSE
  - https://android.googlesource.com/platform/external/perfetto/+/917165dd

Test-built (big thanks to @SoumyaWind):
---------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Release notes:
    https://chromereleases.googleblog.com/2024/08/stable-channel-update-for-desktop_28.html
    https://chromereleases.googleblog.com/2024/09/stable-channel-update-for-desktop.html

Build and patch changes:
------------------------

None.

License changes:
----------------

None.

Test-built:
-----------

* chromium-ozone-wayland:
 - scarthgap, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
OE-Core has switched the master branch to styhead, follow the change.

Signed-off-by: Dmitry Baryshkov <[email protected]>
Release notes:
    https://chromereleases.googleblog.com/2024/09/stable-channel-update-for-desktop_10.html

Build and patch changes:
------------------------

None.

License changes:
----------------

None.

Test-built:
-----------

* chromium-ozone-wayland:
 - scarthgap, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#837.

Release notes:
    https://chromereleases.googleblog.com/2024/09/stable-channel-update-for-desktop_17.html
    https://chromereleases.googleblog.com/2024/09/stable-channel-update-for-desktop_24.html

Build and patch changes:
------------------------

Drop one backported patch that is included upstream now.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/android_deps/libs/com_google_android_gms_play_services_identity_credentials/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5766672

  * third_party/fast_float/src/LICENSE-MIT
  - https://chromium-review.googlesource.com/c/chromium/src/+/5743598

Removed licenses:
  * ios/components/third_party/compiler-rt/LICENSE.TXT
  - https://chromium-review.googlesource.com/c/chromium/src/+/5767039

  * third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_jdk7/LICENSE,
    third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_jdk8/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5786197

  * third_party/catapult/third_party/html5lib-python/LICENSE
  - https://chromium-review.googlesource.com/c/catapult/+/5768072

  * third_party/libudev/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5738848

  * third_party/sudden_motion_sensor/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5734364

Updated licenses:
  * third_party/android_deps/libs/com_google_android_gms_play_services_base/LICENSE,
    third_party/android_deps/libs/com_google_android_gms_play_services_basement/LICENSE,
    third_party/android_deps/libs/com_google_android_gms_play_services_tasks/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5766672

Test-built (big thanks to @SoumyaWind):
---------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Release notes:
    https://chromereleases.googleblog.com/2024/10/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/10/stable-channel-update-for-desktop_8.html

Build and patch changes:
------------------------

None.

License changes:
----------------

None.

Test-built:
-----------

* chromium-ozone-wayland:
 - scarthgap, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
@adalessandro
Copy link
Author

adalessandro commented Oct 23, 2024

@MaxIhlenfeldt:

I'd like your comments if possible:

  • What's the right way to get this merged? Note that this PR targets kirkstone, but it's based on `master.
  • The README needs to be updated as well. Could you help there perhaps?
  • Is there a testing/CI to be used here?

@adalessandro adalessandro changed the title WIP: Backport chromium from scarthgap kirkstone: backport chromium from scarthgap Oct 23, 2024
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.

That was fast, awesome!

What's the right way to get this merged?

I'd say the first step is merging the meta-clang changes, before that we can't merge this PR.

Note that this PR targets kirkstone, but it's based on master.

We only create separate branches for Yocto releases that we don't support any more to capture the last supported version. As I understand it, the goal here is to reintroduce support for kirkstone, so the PR should target master.

The README needs to be updated as well. Could you help there perhaps?

Sure! But let's wait until the PR is ready to be merged before updating the README in case something changes during review.

Is there a testing/CI to be used here?

It'd be great if you could state which build configurations you've tested yourself. @SoumyaWind usually helps with testing for the version updates. But I'd wait with that until the meta-clang changes have been merged.

meta-chromium/recipes-browser/chromium/rust_%.bbappend Outdated Show resolved Hide resolved
@adalessandro adalessandro marked this pull request as draft October 23, 2024 11:46
@SoumyaWind
Copy link

I will start testing these changes locally. Will update results once done.

@SoumyaWind
Copy link

I have completed testing for the following configurations for Poky kirkstone with the changes from this PR and meta-lts-mixins (checked out to Rust version 1.77.2) along with meta-clang from kraj/meta-clang#1024]. Here are the results for reference:

  1. chromium-x11 on qemux86-64 target: Compiled successfully without any build issues, verified chromium version using the qemux86-64 emulator.
  2. chromium-x11 on qemuarm target: Compiled successfully without any build issues, verified chromium version using the qemuarm emulator.
  3. chromium-x11 on qemuarm64 target: Compiled successfully without any build issues, verified chromium version using the qemuarm64 emulator.
  4. chromium-x11 on raspberrypi4-64 target: Compiled successfully without any build issues, verified chromium version from command line on the Raspberry Pi 4.
  5. chromium-ozone-wayland on qemux86-64 target: Compiled successfully without any build issues, verified chromium version using the qemux86-64 emulator.

@adalessandro
Copy link
Author

@SoumyaWind thanks a lot for the testing scenarios covered!
@MaxIhlenfeldt , as per comment kraj/meta-clang#1024 (comment) the clang major version bump won't be accepted and could be submitted to https://git.yoctoproject.org/meta-lts-mixins/ . Shall we try to push forward in that direction?

@MaxIhlenfeldt
Copy link
Collaborator

Yes, iirc the initial feedback on the mailing list was positive, so let's do that!

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.

6 participants