From dee3a47a4d12561f82747f1907081235abf691f8 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz Date: Tue, 1 Feb 2022 17:04:32 +0100 Subject: chromium, wam: update to chromium87 tree. Update to chromium87 tree, and wam adapted to chromium87. This does not include yet the webOS OSE QtLess version, but the submission right before QtLess work. This is because in webOS OSE current chromium87 release, the only work after the submission we are using is QtLess, without adding any new functionality. Renamed the recipe and package name to be "chromium" instead of "chromium84" or "chromium87". Now we use PV to state the version of the upstream Chromium. The Chromium87 tree history has been heavily simplified to make it easier to rebase in next upgrades. Bug-AGL: SPEC-4142, SPEC-4225, SPEC-4227, SPEC-4228 Change-Id: I6caed396f758dd80291803266f6a59f1fec406c4 Signed-off-by: Jose Dapena Paz --- recipes-wam/chromium/chromium.inc | 5 +- recipes-wam/chromium/chromium84_git.bb | 76 ------------------------------ recipes-wam/chromium/chromium_git.bb | 83 +++++++++++++++++++++++++++++++++ recipes-wam/wam/files/WebAppMgr.service | 2 +- recipes-wam/wam/wam_git.bb | 8 ++-- 5 files changed, 91 insertions(+), 83 deletions(-) delete mode 100644 recipes-wam/chromium/chromium84_git.bb create mode 100644 recipes-wam/chromium/chromium_git.bb diff --git a/recipes-wam/chromium/chromium.inc b/recipes-wam/chromium/chromium.inc index d45dfe79f..0fc599bc9 100644 --- a/recipes-wam/chromium/chromium.inc +++ b/recipes-wam/chromium/chromium.inc @@ -34,8 +34,8 @@ OUT_DIR = "${B}/${BUILD_TYPE}" WEBRUNTIME_BUILD_TARGET = "webos:weboswebruntime" BROWSER_APP_BUILD_TARGET = "chrome" -BROWSER_APPLICATION = "chromium84-browser" -BROWSER_APPLICATION_DIR = "/opt/chromium84" +BROWSER_APPLICATION = "chromium-browser" +BROWSER_APPLICATION_DIR = "/opt/chromium" TARGET = "${WEBRUNTIME_BUILD_TARGET} ${BROWSER_APP_BUILD_TARGET}" @@ -70,6 +70,7 @@ GN_ARGS = "\ proprietary_codecs=true\ target_os=\"linux\"\ treat_warnings_as_errors=false\ + use_x11=false\ is_agl=true\ use_cbe=true\ is_chrome_cbe=true\ diff --git a/recipes-wam/chromium/chromium84_git.bb b/recipes-wam/chromium/chromium84_git.bb deleted file mode 100644 index aaff50bdd..000000000 --- a/recipes-wam/chromium/chromium84_git.bb +++ /dev/null @@ -1,76 +0,0 @@ -require chromium.inc - -SRC_URI = "\ - git://github.com/igalia/${PN};branch=marlin;protocol=https;rev=${SRCREV_chromium84};name=chromium84 \ - git://github.com/webosose/chromium-v8;branch=@chromium84;destsuffix=git/src/v8;rev=${SRCREV_v8};name=v8;protocol=https \ -" - -# Needed by catapult -DEPENDS += "python-six-native python-beautifulsoup4-native python-lxml-native python-html5lib-native python-webencodings-native" - -SRCREV_chromium84 = "005a9257d3ba9eb363e19f5a8efc6758924dbf9b" -SRCREV_v8 = "5c1d89dd2945a10cf7a6a3458050b3177a870b09" - -BROWSER_APPLICATION = "chromium84-browser" -BROWSER_APPLICATION_DIR = "/opt/chromium84" -MKSNAPSHOT_PATH = "v8_snapshot/" - -GN_ARGS += "use_gtk=false" - -# Disable closure_compile -# Else we need HOSTTOOLS += "java" -GN_ARGS += "closure_compile=false" - -# When using meta-clang, one can switch to using the lld linker -# by using the ld-is-lld distro feature otherwise use gold linker -GN_ARGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', 'use_lld=true use_gold=false', bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'use_lld=false use_gold=true', 'use_lld=false use_gold=false', d), d)}" - -# Toolchains we will use for the build. We need to point to the toolchain file -# we've created, set the right target architecture and make sure we are not -# using Chromium's toolchain (bundled clang, bundled binutils etc). -GN_ARGS += "\ - host_toolchain=\"//build/toolchain/cros:host\" \ - cros_host_is_clang=false \ - use_custom_libcxx_for_host=false \ - cros_host_ar=\"${BUILD_AR}\" \ - cros_host_cc=\"${BUILD_CC} ${BUILD_CFLAGS}\" \ - cros_host_cxx=\"${BUILD_CXX} ${BUILD_CXXFLAGS}\" \ - cros_host_extra_ldflags=\"${BUILD_LDFLAGS}\" \ - custom_toolchain=\"//build/toolchain/cros:target\" \ - is_clang=false \ - use_custom_libcxx=false \ - target_cpu=\"${@gn_arch_name('${TUNE_ARCH}')}\" \ - cros_target_ar=\"${AR}\" \ - cros_target_cc=\"${CC}\" \ - cros_target_cxx=\"${CXX}\" \ - cros_target_extra_ldflags=\"${LDFLAGS}\" \ - v8_snapshot_toolchain=\"//build/toolchain/cros:v8_snapshot\" \ - cros_v8_snapshot_is_clang=false \ - cros_v8_snapshot_ar=\"${BUILD_AR}\" \ - cros_v8_snapshot_cc=\"${BUILD_CC}\" \ - cros_v8_snapshot_cxx=\"${BUILD_CXX}\" \ - linux_use_bundled_binutils=false \ - gold_path=\"\" \ - v8_enable_embedded_builtins=false \ - use_v8_context_snapshot=false \ -" - -GN_ARGS:append = " \ - use_system_minigbm=false \ - use_wayland_gbm=false \ -" - -GN_ARGS:append = " \ - is_webos=false \ - is_agl=true \ -" - -# TODO: drop this after we migrate to ubuntu 16.04 or above -GN_ARGS += "\ - fatal_linker_warnings=false\ -" - -# TODO(rzanoni) copied from original recipe to fix qemux86 build. -# check if it can be removed in the future. -PACKAGECONFIG:remove:qemux86 = "gstreamer umediaserver neva-media gav neva-webrtc" -#END TODO diff --git a/recipes-wam/chromium/chromium_git.bb b/recipes-wam/chromium/chromium_git.bb new file mode 100644 index 000000000..e58932c15 --- /dev/null +++ b/recipes-wam/chromium/chromium_git.bb @@ -0,0 +1,83 @@ +require chromium.inc + +SRC_URI = "\ + git://github.com/igalia/chromium87;branch=@10.agl.marlin;protocol=https;rev=${SRCREV_chromium87};name=chromium87 \ + git://github.com/webosose/chromium-v8;branch=@chromium87;destsuffix=git/src/v8;rev=${SRCREV_v8};name=v8;protocol=https \ +" + +# Needed by catapult +DEPENDS += "python-six-native python-beautifulsoup4-native python-lxml-native python-html5lib-native python-webencodings-native" + +SRCREV_chromium87 = "7412ccde56b8054af89d6f515bc7c852287fc3b2" +SRCREV_v8 = "935065d097cce0090bc858746e6aee0919b222de" + +CHROMIUM_VERSION = "87.0.4280.88" +PV_BRANCH_SUFFIX = "ose10.agl.marlin" + +PV = "${CHROMIUM_VERSION}.${PV_BRANCH_SUFFIX}+git" + +BROWSER_APPLICATION = "chromium-browser" +BROWSER_APPLICATION_DIR = "/opt/chromium" +MKSNAPSHOT_PATH = "v8_snapshot/" + +GN_ARGS += "use_gtk=false" + +# Disable closure compile +# Else we need HOSTTOOLS += "java" +GN_ARGS += " \ + enable_mojom_closure_compile=false\ + enable_js_type_check=false\ +" + +# When using meta-clang, one can switch to using the lld linker +# by using the ld-is-lld distro feature otherwise use gold linker +GN_ARGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', 'use_lld=true use_gold=false', bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'use_lld=false use_gold=true', 'use_lld=false use_gold=false', d), d)}" + +# Toolchains we will use for the build. We need to point to the toolchain file +# we've created, set the right target architecture and make sure we are not +# using Chromium's toolchain (bundled clang, bundled binutils etc). +GN_ARGS += "\ + host_toolchain=\"//build/toolchain/cros:host\" \ + cros_host_is_clang=false \ + use_custom_libcxx_for_host=false \ + cros_host_ar=\"${BUILD_AR}\" \ + cros_host_cc=\"${BUILD_CC} ${BUILD_CFLAGS}\" \ + cros_host_cxx=\"${BUILD_CXX} ${BUILD_CXXFLAGS}\" \ + cros_host_extra_ldflags=\"${BUILD_LDFLAGS}\" \ + custom_toolchain=\"//build/toolchain/cros:target\" \ + is_clang=false \ + use_custom_libcxx=false \ + target_cpu=\"${@gn_arch_name('${TUNE_ARCH}')}\" \ + cros_target_ar=\"${AR}\" \ + cros_target_cc=\"${CC}\" \ + cros_target_cxx=\"${CXX}\" \ + cros_target_extra_ldflags=\"${LDFLAGS}\" \ + v8_snapshot_toolchain=\"//build/toolchain/cros:v8_snapshot\" \ + cros_v8_snapshot_is_clang=false \ + cros_v8_snapshot_ar=\"${BUILD_AR}\" \ + cros_v8_snapshot_cc=\"${BUILD_CC}\" \ + cros_v8_snapshot_cxx=\"${BUILD_CXX}\" \ + gold_path=\"\" \ + v8_enable_embedded_builtins=false \ + use_v8_context_snapshot=false \ +" + +GN_ARGS:append = " \ + use_system_minigbm=false \ + use_wayland_gbm=false \ +" + +GN_ARGS:append = " \ + is_webos=false \ + is_agl=true \ +" + +# TODO: drop this after we migrate to ubuntu 16.04 or above +GN_ARGS += "\ + fatal_linker_warnings=false\ +" + +# TODO(rzanoni) copied from original recipe to fix qemux86 build. +# check if it can be removed in the future. +PACKAGECONFIG:remove:qemux86 = "gstreamer umediaserver neva-media gav neva-webrtc" +#END TODO diff --git a/recipes-wam/wam/files/WebAppMgr.service b/recipes-wam/wam/files/WebAppMgr.service index 5cb536d9a..0fa7dbe5b 100644 --- a/recipes-wam/wam/files/WebAppMgr.service +++ b/recipes-wam/wam/files/WebAppMgr.service @@ -21,7 +21,7 @@ Type=simple UMask=0077 OOMScoreAdjust=-1000 EnvironmentFile=-/etc/default/WebAppMgr.env -ExecStart=/usr/bin/WebAppMgr --enable-features=UseOzonePlatform --ozone-platform=wayland --no-sandbox --use-viz-fmp-with-timeout=0 --in-process-gpu --remote-debugging-port=9998 --user-data-dir="/home/%u/wamdata" --webos-wam +ExecStart=/usr/bin/WebAppMgr --use-gl=egl --enable-features=UseOzonePlatform --ozone-platform=wayland --no-sandbox --use-viz-fmp-with-timeout=0 --in-process-gpu --remote-debugging-port=9998 --user-data-dir="/home/%u/wamdata" --webos-wam Restart=on-failure RestartSec=50 diff --git a/recipes-wam/wam/wam_git.bb b/recipes-wam/wam/wam_git.bb index 18ace85ee..81833bb34 100644 --- a/recipes-wam/wam/wam_git.bb +++ b/recipes-wam/wam/wam_git.bb @@ -5,13 +5,13 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7ca inherit cmake -DEPENDS = "glib-2.0 jsoncpp boost chromium84 protobuf protobuf-native" +DEPENDS = "glib-2.0 jsoncpp boost chromium protobuf protobuf-native" EXTRA_OECMAKE = "\ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=${prefix} \ -DPLATFORM_NAME=${@'${DISTRO}'.upper().replace('-', '_')} \ - -DCHROMIUM_SRC_DIR=${STAGING_INCDIR}/chromium84" + -DCHROMIUM_SRC_DIR=${STAGING_INCDIR}/chromium" PR="r0" @@ -25,12 +25,12 @@ lcl_maybe_fortify = "" SECURITY_STACK_PROTECTOR = "" SRC_URI = "\ - git://github.com/igalia/${BPN}.git;branch=marlin;protocol=https \ + git://github.com/igalia/${BPN}.git;branch=@52.agl.marlin;protocol=https \ file://WebAppMgr.service \ file://WebAppMgr.env \ " S = "${WORKDIR}/git" -SRCREV = "478bc7b00d2704d74814c4685c60d62afca50872" +SRCREV = "0a0e6c52fa2983f4703ef9fce68b01b631003043" do_install:append() { install -v -d ${D}${sysconfdir}/wam -- cgit 1.2.3-korg