From 1c3c06842ac1b9c089d0a08e91c60f44e4844fac Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Tue, 8 Dec 2020 11:12:45 +0100 Subject: SPEC-3723: restructure meta-agl Goal is to reach a minimal meta-agl-core as base for IVI and IC work at the same time. Trim dependencies and move most 'demo' related recipes to meta-agl-demo. v2: changed to bbapend + .inc , added description v3: testbuild of all images v4: restore -test packagegroup and -qa images, compare manifests and adapt packagegroups. v5: rebased v6: merged meta-agl-distro into meta-agl-core, due to dependency on meta-oe, moved -test packagegroup and -qa images to own layer meta-agl-core-test v7: Fixed comments from Paul Barker v8: Update the markdown files v9: restore wayland/weston/agl-compositor recipes/appends, reworked to move app f/w specific changes to bbappends in meta-app-framework and only demo specific weston-init changes to meta-agl-demo v10: fix s/agldemo/aglcore/ missed in weston-init.bbappend Description: This patch is part 1 out of 2 large patches that implement the layer rework discussed during the previous workshop. Essentially meta-agl-core is the small but versatile new core layer of AGL serving as basis for the work done by the IC and IVI EGs. All demo related work is moved to meta-agl-demo in the 2nd patchset. This should be applied together as atomic change. The resulting meta-agl/* follows these guidelines: - only bsp adaptations in meta-agl-bsp - remove the agl-profile-* layers for simplicity -- the packagegroup-agl(-profile)-graphical and so on have been kept in meta-agl-demo - meta-agl-profile-core is now meta-agl-core - meta-agl-core does pass yocto-check-layer -- therefore use the bbappend + conditional + .inc file construct found in meta-virtualization - meta-agl/meta-security has been merged into meta-agl/meta-app-framework - meta-netboot does pass yocto-check-layer - meta-pipewire does pass yocto-check-layer Migration: All packagegroups are preserved but they're now enabled by 'agl-demo'. Bug-AGL: SPEC-3723 Signed-off-by: Jan-Simon Moeller Signed-off-by: Scott Murray Change-Id: Ia6c6e5e6ce2b4ffa69ea94959cdc57c310ba7c53 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25769 --- .../chromium/chromium-browser-service.bb | 19 - .../chromium/chromium68/v8-qemu-wrapper.patch | 40 -- .../recipes-wam/chromium/chromium68_git.bb | 404 --------------------- .../recipes-wam/chromium/gn-utils.inc | 157 -------- .../recipes-wam/wam/files/WebAppMgr.env | 202 ----------- .../recipes-wam/wam/files/WebAppMgr@.service | 37 -- .../recipes-wam/wam/files/trunc-webapp-roles.patch | 56 --- .../recipes-wam/wam/wam_git.bb | 51 --- 8 files changed, 966 deletions(-) delete mode 100644 meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium-browser-service.bb delete mode 100644 meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium68/v8-qemu-wrapper.patch delete mode 100644 meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium68_git.bb delete mode 100644 meta-agl-profile-graphical-html5/recipes-wam/chromium/gn-utils.inc delete mode 100644 meta-agl-profile-graphical-html5/recipes-wam/wam/files/WebAppMgr.env delete mode 100644 meta-agl-profile-graphical-html5/recipes-wam/wam/files/WebAppMgr@.service delete mode 100644 meta-agl-profile-graphical-html5/recipes-wam/wam/files/trunc-webapp-roles.patch delete mode 100644 meta-agl-profile-graphical-html5/recipes-wam/wam/wam_git.bb (limited to 'meta-agl-profile-graphical-html5/recipes-wam') diff --git a/meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium-browser-service.bb b/meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium-browser-service.bb deleted file mode 100644 index 90242d792..000000000 --- a/meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium-browser-service.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Chromium browser widget" -DESCRIPTION = "Wgt packaging for running chromium installed browser" -HOMEPAGE = "https://webosose.org" -SECTION = "apps" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/chromium;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "${AGL_APP_REVISION}" - -PV = "1.0+git${SRCPV}" -S = "${WORKDIR}/git" - -#build-time dependencies -DEPENDS += "af-binder af-main-native chromium68" - -inherit cmake aglwgt - -RDEPENDS_${PN} += "chromium68-browser" diff --git a/meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium68/v8-qemu-wrapper.patch b/meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium68/v8-qemu-wrapper.patch deleted file mode 100644 index 485766b02..000000000 --- a/meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium68/v8-qemu-wrapper.patch +++ /dev/null @@ -1,40 +0,0 @@ -Upstream-Status: Inappropriate [embedder specific] - -The patch below makes the V8 binaries run during the build be invoked through -QEMU, as they are built for the target. - -Signed-off-by: Raphael Kubo da Costa -Signed-off-by: Maksim Sisov - -Index: git/src/tools/v8_context_snapshot/BUILD.gn -=================================================================== ---- git.orig/src/tools/v8_context_snapshot/BUILD.gn -+++ git/src/tools/v8_context_snapshot/BUILD.gn -@@ -62,6 +62,7 @@ if (use_v8_context_snapshot) { - output_path = rebase_path(output_file, root_build_dir) - - args = [ -+ "./v8-qemu-wrapper.sh", - "./" + rebase_path( - get_label_info( - ":v8_context_snapshot_generator($v8_snapshot_toolchain)", -Index: git/src/v8/BUILD.gn -=================================================================== ---- git.orig/src/v8/BUILD.gn -+++ git/src/v8/BUILD.gn -@@ -900,6 +900,7 @@ action("run_torque") { - } - - args = [ -+ "./v8-qemu-wrapper.sh", - "./" + rebase_path(get_label_info(":torque($v8_torque_toolchain)", - "root_out_dir") + "/torque", - root_build_dir), -@@ -977,6 +978,7 @@ template("run_mksnapshot") { - data = [] - - args = [ -+ "./v8-qemu-wrapper.sh", - "./" + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)", - "root_out_dir") + "/mksnapshot", - root_build_dir), diff --git a/meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium68_git.bb b/meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium68_git.bb deleted file mode 100644 index 4f545c145..000000000 --- a/meta-agl-profile-graphical-html5/recipes-wam/chromium/chromium68_git.bb +++ /dev/null @@ -1,404 +0,0 @@ -# Copyright (c) 2018 LG Electronics, Inc. - -SUMMARY = "Chromium webruntime for webOS" -AUTHOR = "Lokesh Kumar Goel " -SECTION = "webos/apps" -LICENSE = "Apache-2.0 & BSD-3-Clause & LGPL-2.0 & LGPL-2.1" -LIC_FILES_CHKSUM = "\ - file://src/LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d \ - file://src/third_party/blink/renderer/core/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ - file://src/third_party/blink/renderer/core/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ -" - -require gn-utils.inc - -inherit gettext qemu pythonnative - -DEPENDS = "virtual/gettext wayland wayland-native pixman freetype glib-2.0 fontconfig openssl pango cairo icu libxkbcommon libexif dbus pciutils udev libcap alsa-lib virtual/egl elfutils-native libdrm atk gperf-native gconf nss nss-native nspr nspr-native bison-native qemu-native" - -PROVIDES = "${BROWSER_APPLICATION}" - -SRC_URI = "\ - git://github.com/igalia/${BPN};branch=WIP@39.agl.compositor;protocol=https;rev=${SRCREV_chromium68};name=chromium68 \ - git://github.com/webosose/v8;destsuffix=git/src/v8;rev=${SRCREV_v8};name=v8 \ - file://v8-qemu-wrapper.patch \ -" -SRCREV_chromium68 = "61e96d1ee5dfc2461697457d287bf922d8a03d9a" -SRCREV_v8 = "1e3af71f1ff3735e8a5b639c48dfca63a7b8a647" - -# we don't include SRCPV in PV, so we have to manually include SRCREVs in do_fetch vardeps -do_fetch[vardeps] += "SRCREV_v8" -SRCREV_FORMAT = "main_v8" - -S = "${WORKDIR}/git" - -SRC_DIR = "${S}/src" -OUT_DIR = "${WORKDIR}/build" -BUILD_TYPE = "Release" - -B = "${OUT_DIR}/${BUILD_TYPE}" - -WEBRUNTIME_BUILD_TARGET = "webos:weboswebruntime" -BROWSER_APP_BUILD_TARGET = "chrome" -BROWSER_APPLICATION = "chromium68-browser" -BROWSER_APPLICATION_DIR = "/opt/chromium68" - -TARGET = "${WEBRUNTIME_BUILD_TARGET} ${BROWSER_APP_BUILD_TARGET}" - -# Skip do_install_append of webos_system_bus. It is not compatible with this component. -WEBOS_SYSTEM_BUS_FILES_LOCATION = "${S}/files/sysbus" - -PACKAGECONFIG ?= "jumbo use-upstream-wayland" - -# Options to enable debug-webcore build. -# Add the following line to local.conf (or local.dev.inc) to enable them: -# PACKAGECONFIG_append_pn-chromium68 = " debug-webcore" -# Other debug options are controlled by sections later in this file -PACKAGECONFIG[debug-webcore] = "remove_webcore_debug_symbols=false,remove_webcore_debug_symbols=true" - -# Set a default value for jumbo file merge of 8. This should be good for build -# servers and workstations with a big number of cores. In case build is -# happening in a machine with less cores but still enough RAM a good value could -# be 50. -JUMBO_FILE_MERGE_LIMIT="8" -PACKAGECONFIG[jumbo] = "use_jumbo_build=true jumbo_file_merge_limit=${JUMBO_FILE_MERGE_LIMIT}, use_jumbo_build=false" - -PACKAGECONFIG[lttng] = "use_lttng=true,use_lttng=false,lttng-ust,lttng-tools lttng-modules babeltrace" - -# Chromium can use v4l2 device for hardware accelerated video decoding on such boards as Renesas R-car M3, for example. -# In case of R-car m3, additional patches are required for gstreamer and v4l2apps. -# See https://github.com/igel-oss/meta-browser-hwdecode/tree/igalia-chromium71. -PACKAGECONFIG[use-linux-v4l2] = "use_v4l2_codec=true use_v4lplugin=true use_linux_v4l2_only=true" - -PACKAGECONFIG[use-upstream-wayland] = " \ - ozone_platform_wayland_external=false ozone_platform_wayland=true \ - use_system_minigbm=true, \ - ozone_platform_wayland_external=true ozone_platform_wayland=false \ -" - -GN_ARGS = "\ - enable_memorymanager_webapi=false\ - ffmpeg_branding=\"Chrome\"\ - host_os=\"linux\"\ - ozone_auto_platforms=false\ - proprietary_codecs=true\ - target_os=\"linux\"\ - treat_warnings_as_errors=false\ - is_agl=true\ - use_cbe=true\ - is_chrome_cbe=true\ - use_cups=false\ - use_custom_libcxx=false\ - use_kerberos=false\ - use_neva_media=false\ - use_ozone=true\ - use_xkbcommon=true\ - use_pmlog=false\ - use_system_debugger_abort=true\ - use_webos_gpu_info_collector=false\ - ${PACKAGECONFIG_CONFARGS}\ -" - -# From Chromium's BUILDCONFIG.gn: -# Set to enable the official build level of optimization. This has nothing -# to do with branding, but enables an additional level of optimization above -# release (!is_debug). This might be better expressed as a tri-state -# (debug, release, official) but for historical reasons there are two -# separate flags. -# See also: https://groups.google.com/a/chromium.org/d/msg/chromium-dev/hkcb6AOX5gE/PPT1ukWoBwAJ -GN_ARGS += "is_debug=false is_official_build=true" - -# is_cfi default value is true for x86-64 builds with is_official_build=true. -# As of M63, we explicitly need to set it to false, otherwise we fail the -# following assertion in //build/config/sanitizers/sanitizers.gni: -# assert(!is_cfi || is_clang, -# "is_cfi requires setting is_clang = true in 'gn args'") -GN_ARGS += "is_cfi=false" - -# By default, passing is_official_build=true to GN causes its symbol_level -# variable to be set to "2". This means the compiler will be passed "-g2" and -# we will end up with a very large chrome binary (around 5Gb as of M58) -# regardless of whether DEBUG_BUILD has been set or not. In addition, binutils, -# file and other utilities are unable to read a 32-bit binary this size, which -# causes it not to be stripped. -# The solution is two-fold: -# 1. Make sure -g is not passed on 32-bit architectures via DEBUG_FLAGS. -g is -# the same as -g2. -g1 generates an 800MB binary, which is a lot more -# manageable. -# 2. Explicitly pass symbol_level=0 to GN. This causes -g0 to be passed -# instead, so that if DEBUG_BUILD is not set GN will not create a huge debug -# binary anyway. Since our compiler flags are passed after GN's, -g0 does -# not cause any issues if DEBUG_BUILD is set, as -g1 will be passed later. -DEBUG_FLAGS_remove_arm = "-g" -DEBUG_FLAGS_append_arm = "-g1" -DEBUG_FLAGS_remove_x86 = "-g" -DEBUG_FLAGS_append_x86 = "-g1" -GN_ARGS += "symbol_level=0" - -# We do not want to use Chromium's own Debian-based sysroots, it is easier to -# just let Chromium's build system assume we are not using a sysroot at all and -# let Yocto handle everything. -GN_ARGS += "use_sysroot=false" - -# 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 += "\ - custom_toolchain=\"//build/toolchain/yocto:yocto_target\" \ - gold_path=\"\" \ - host_toolchain=\"//build/toolchain/yocto:yocto_native\" \ - is_clang=${@is_default_cc_clang(d)} \ - clang_base_path=\"${@clang_install_path(d)}\" \ - clang_use_chrome_plugins=false \ - linux_use_bundled_binutils=false \ - target_cpu=\"${@gn_target_arch_name(d)}\" \ - v8_snapshot_toolchain=\"//build/toolchain/yocto:yocto_target\" \ -" - -# ARM builds need special additional flags (see ${S}/build/config/arm.gni). -# If we do not pass |arm_arch| and friends to GN, it will deduce a value that -# will then conflict with TUNE_CCARGS and CC. -# Note that as of M61 in some corner cases parts of the build system disable -# the "compiler_arm_fpu" GN config, whereas -mfpu is always passed via ${CC}. -# We might want to rework that if there are issues in the future. -def get_compiler_flag(params, param_name, d): - """Given a sequence of compiler arguments in |params|, returns the value of - an option |param_name| or an empty string if the option is not present.""" - for param in params: - if param.startswith(param_name): - return param.split('=')[1] - return '' - -ARM_FLOAT_ABI = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d)}" -ARM_FPU = "${@get_compiler_flag(d.getVar('TUNE_CCARGS').split(), '-mfpu', d)}" -ARM_TUNE = "${@get_compiler_flag(d.getVar('TUNE_CCARGS').split(), '-mcpu', d)}" -ARM_VERSION_aarch64 = "8" -ARM_VERSION_armv7a = "7" -ARM_VERSION_armv7ve = "7" -ARM_VERSION_armv6 = "6" - -# GN computes and defaults to it automatically where needed -# forcing it from cmdline breaks build on places where it ends up -# overriding what GN wants -TUNE_CCARGS_remove = "-mthumb" - -GN_ARGS_append_arm = " \ - arm_float_abi=\"${ARM_FLOAT_ABI}\" \ - arm_fpu=\"${ARM_FPU}\" \ - arm_tune=\"${ARM_TUNE}\" \ - arm_version=${ARM_VERSION} \ -" -# tcmalloc's atomicops-internals-arm-v6plus.h uses the "dmb" instruction that -# is not available on (some?) ARMv6 models, which causes the build to fail. -GN_ARGS_append_armv6 += 'use_allocator="none"' -# The WebRTC code fails to build on ARMv6 when NEON is enabled. -# https://bugs.chromium.org/p/webrtc/issues/detail?id=6574 -GN_ARGS_append_armv6 += 'arm_use_neon=false' - -# Disable glibc shims on musl -# tcmalloc does not play well with musl as of M62 (and possibly earlier). -# https://github.com/gperftools/gperftools/issues/693 -GN_ARGS_append_libc-musl = ' use_allocator_shim=false' - -# V8's JIT infrastructure requires binaries such as mksnapshot and -# mkpeephole to be run in the host during the build. However, these -# binaries must have the same bit-width as the target (e.g. a x86_64 -# host targeting ARMv6 needs to produce a 32-bit binary). Instead of -# depending on a third Yocto toolchain, we just build those binaries -# for the target and run them on the host with QEMU. -python do_create_v8_qemu_wrapper () { - """Creates a small wrapper that invokes QEMU to run some target V8 binaries - on the host.""" - qemu_libdirs = [d.expand('${STAGING_DIR_HOST}${libdir}'), - d.expand('${STAGING_DIR_HOST}${base_libdir}')] - qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST', True), - qemu_libdirs) - wrapper_path = d.expand('${B}/v8-qemu-wrapper.sh') - with open(wrapper_path, 'w') as wrapper_file: - wrapper_file.write("""#!/bin/sh - -# This file has been generated automatically. -# It invokes QEMU to run binaries built for the target in the host during the -# build process. - -%s "$@" -""" % qemu_cmd) - os.chmod(wrapper_path, 0o755) -} -do_create_v8_qemu_wrapper[dirs] = "${B}" -addtask create_v8_qemu_wrapper after do_patch before do_configure - -python do_write_toolchain_file () { - """Writes a BUILD.gn file for Yocto detailing its toolchains.""" - toolchain_dir = d.expand("${S}/src/build/toolchain/yocto") - bb.utils.mkdirhier(toolchain_dir) - toolchain_file = os.path.join(toolchain_dir, "BUILD.gn") - write_toolchain_file(d, toolchain_file) -} -addtask write_toolchain_file after do_patch before do_configure - -# More options to speed up the build -GN_ARGS += "\ - enable_nacl=false\ - disable_ftp_support=true\ - enable_print_preview=false\ - enable_remoting=false\ - use_glib=true\ - use_gnome_keyring=false\ - use_pulseaudio=false\ -" - -# Respect ld-is-gold in DISTRO_FEATURES when enabling gold -# Similar patch applied in meta-browser -# http://patchwork.openembedded.org/patch/77755/ -EXTRA_OEGN_GOLD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'use_gold=true', 'use_gold=false', d)}" -GN_ARGS += "${EXTRA_OEGN_GOLD}" - -# Doesn't build for armv[45]* -COMPATIBLE_MACHINE = "(-)" -COMPATIBLE_MACHINE_aarch64 = "(.*)" -COMPATIBLE_MACHINE_armv6 = "(.*)" -COMPATIBLE_MACHINE_armv7a = "(.*)" -COMPATIBLE_MACHINE_armv7ve = "(.*)" -COMPATIBLE_MACHINE_x86 = "(.*)" -COMPATIBLE_MACHINE_x86-64 = "(.*)" - -#CHROMIUM_PLUGINS_PATH = "${libdir}" -CBE_DATA_PATH = "${libdir}/cbe" -CBE_DATA_LOCALES_PATH = "${CBE_DATA_PATH}/locales" - -# The text relocations are intentional -- see comments in [GF-52468] -# TODO: check if we need INSANE_SKIP on ldflags -INSANE_SKIP_${PN} = "textrel ldflags" - - -do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+" -do_compile() { - if [ ! -f ${OUT_DIR}/${BUILD_TYPE}/build.ninja ]; then - do_configure - fi - - export PATH="${S}/depot_tools:$PATH" - ${S}/depot_tools/ninja -v -C ${OUT_DIR}/${BUILD_TYPE} ${TARGET} -} - -do_configure() { - configure_env -} - -configure_env() { - export GYP_CHROMIUM_NO_ACTION=1 - export PATH="${S}/depot_tools:$PATH" - - GN_ARGS="${GN_ARGS}" - echo GN_ARGS is ${GN_ARGS} - echo BUILD_TARGETS are ${TARGET} - cd ${SRC_DIR} - gn gen ${OUT_DIR}/${BUILD_TYPE} --args="${GN_ARGS}" -} - -WINDOW_SIZE ?= "1920,1080" - -configure_browser_settings() { - USER_AGENT="Mozilla/5.0 (Linux; NetCast; U) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/${CHROMIUM_VERSION} Safari/537.31" - echo "${USER_AGENT}" > ${D_DIR}/user_agent_conf - #We can replace below WINDOW_SIZE values from build configuration if available - #echo "${WINDOW_SIZE}" > ${D_DIR}/window_size_conf -} - -install_chromium_browser() { - D_DIR=${D}${BROWSER_APPLICATION_DIR} - install -d ${D_DIR} - - # Install browser files - if [ -e "${SRC_DIR}/webos/install" ]; then - cd ${OUT_DIR}/${BUILD_TYPE} - xargs --arg-file=${SRC_DIR}/webos/install/default_browser/binary.list cp -R --no-dereference --preserve=mode,links -v --target-directory=${D_DIR} - cd ${SRC_DIR} - xargs --arg-file=${SRC_DIR}/webos/install/default_browser/runtime.list cp -R --no-dereference --preserve=mode,links -v --target-directory=${D_DIR} - fi - - # AGL does not have PMLOG - sed -i.bak s/PmLogCtl.*// ${D_DIR}/run_webbrowser - - # To execute chromium in JAILER, Security Part needs permissions change - # run_webbrowser: Script file for launching chromium - chmod -v 755 ${D_DIR}/chrome - chmod -v 755 ${D_DIR}/kill_webbrowser - chmod -v 755 ${D_DIR}/run_webbrowser - - configure_browser_settings -} - -install_webruntime() { - install -d ${D}${libdir} - install -d ${D}${includedir}/${BPN} - install -d ${D}${CBE_DATA_PATH} - install -d ${D}${CBE_DATA_LOCALES_PATH} - - # Install webos webview files - if [ -e "${SRC_DIR}/webos/install" ]; then - cd ${SRC_DIR} - xargs --arg-file=${SRC_DIR}/webos/install/weboswebruntime/staging_inc.list cp --parents --target-directory=${D}${includedir}/${BPN} - - cd ${OUT_DIR}/${BUILD_TYPE} - - cp libcbe.so ${D}${libdir}/ - if [ "${WEBOS_LTTNG_ENABLED}" = "1" ]; then - # use bindir if building non-cbe - cp libchromium_lttng_provider.so ${D}${libdir}/ - fi - xargs --arg-file=${SRC_DIR}/webos/install/weboswebruntime/binary.list cp --parents --target-directory=${D}${CBE_DATA_PATH} - cat ${SRC_DIR}/webos/install/weboswebruntime/data_locales.list | xargs -I{} install -m 755 -p {} ${D}${CBE_DATA_LOCALES_PATH} - fi - - # move this to separate mksnapshot-cross recipe once we figure out how to build just cross mksnapshot from chromium repository - install -d ${D}${bindir_cross} - gzip -c ${OUT_DIR}/${BUILD_TYPE}/${MKSNAPSHOT_PATH}mksnapshot > ${D}${bindir_cross}/${HOST_SYS}-mksnapshot.gz -} - -do_install() { - install_webruntime - install_chromium_browser -} - -WEBOS_SYSTEM_BUS_DIRS_LEGACY_BROWSER_APPLICATION = " \ - ${webos_sysbus_prvservicesdir}/${BROWSER_APPLICATION}.service \ - ${webos_sysbus_pubservicesdir}/${BROWSER_APPLICATION}.service \ - ${webos_sysbus_prvrolesdir}/${BROWSER_APPLICATION}.json \ - ${webos_sysbus_pubrolesdir}/${BROWSER_APPLICATION}.json \ -" - -SYSROOT_DIRS_append = " ${bindir_cross}" - -PACKAGES_prepend = " \ - ${PN}-cross-mksnapshot \ - ${BROWSER_APPLICATION} \ -" - -FILES_${BROWSER_APPLICATION} += " \ - ${BROWSER_APPLICATION_DIR} \ - ${WEBOS_SYSTEM_BUS_DIRS_LEGACY_BROWSER_APPLICATION} \ -" - -RDEPENDS_${BROWSER_APPLICATION} += "${PN}" - -VIRTUAL-RUNTIME_gpu-libs ?= "" -RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_gpu-libs}" - -# The text relocations are intentional -- see comments in [GF-52468] -# TODO: check if we need INSANE_SKIP on ldflags -INSANE_SKIP_${BROWSER_APPLICATION} += "libdir ldflags textrel" - -FILES_${PN} = " \ - ${libdir}/*.so \ - ${CBE_DATA_PATH}/* \ - ${libdir}/${BPN}/*.so \ - ${WEBOS_SYSTEM_BUS_DIRS} \ -" - -FILES_${PN}-dev = " \ - ${includedir} \ -" - -FILES_${PN}-cross-mksnapshot = "${bindir_cross}/${HOST_SYS}-mksnapshot.gz" diff --git a/meta-agl-profile-graphical-html5/recipes-wam/chromium/gn-utils.inc b/meta-agl-profile-graphical-html5/recipes-wam/chromium/gn-utils.inc deleted file mode 100644 index 0fd55a638..000000000 --- a/meta-agl-profile-graphical-html5/recipes-wam/chromium/gn-utils.inc +++ /dev/null @@ -1,157 +0,0 @@ -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -# GN host architecture helpers. -# -# BUILD_ARCH's value corresponds to what uname returns as the machine name. -# The mapping in gn_host_arch_name() tries to match several possible values -# returned by the Linux kernel in uname(2) into the corresponding values GN -# understands. -def gn_host_arch_name(d): - """Returns a GN architecture name corresponding to the build host's machine - architecture.""" - import re - arch_translations = { - r'aarch64.*': 'arm64', - r'arm.*': 'arm', - r'i[3456]86$': 'x86', - r'x86_64$': 'x64', - } - build_arch = d.getVar("BUILD_ARCH") - for arch_regexp, gn_arch_name in arch_translations.items(): - if re.match(arch_regexp, build_arch): - return gn_arch_name - bb.fatal('Unsuported BUILD_ARCH value: "%s"' % build_arch) - -# GN target architecture helpers. -# -# Determining the target architecture is more difficult, as there are many -# different values we can use on the Yocto side (e.g. TUNE_ARCH, TARGET_ARCH, -# MACHINEOVERRIDES etc). What we do is define the mapping with regular, -# non-Python variables with overrides that are generic enough (i.e. "x86" -# instead of "i586") and then use gn_target_arch_name() to return the right -# value with some validation. -GN_TARGET_ARCH_NAME_aarch64 = "arm64" -GN_TARGET_ARCH_NAME_arm = "arm" -GN_TARGET_ARCH_NAME_x86 = "x86" -GN_TARGET_ARCH_NAME_x86-64 = "x64" - -BUILD_CC_toolchain-clang = "clang" -BUILD_CXX_toolchain-clang = "clang++" -BUILD_LD_toolchain-clang = "clang" - -# knob for clang, when using meta-clang to provide clang and case where -# clang happens to be default compiler for OE we should let it use clang -def is_default_cc_clang(d): - """Return true if clang is default cross compiler.""" - toolchain = d.getVar("TOOLCHAIN") - overrides = d.getVar("OVERRIDES") - if toolchain == "clang" and "toolchain-clang" in overrides.split(":"): - return "true" - return "false" - -def clang_install_path(d): - """Return clang compiler install path.""" - return d.getVar("STAGING_BINDIR_NATIVE") - -def gn_target_arch_name(d): - """Returns a GN architecture name corresponding to the target machine's - architecture.""" - name = d.getVar("GN_TARGET_ARCH_NAME") - if name is None: - bb.fatal('Unsupported target architecture. A valid override for the ' - 'GN_TARGET_ARCH_NAME variable could not be found.') - return name - -def write_toolchain_file(d, file_path): - """Creates a complete GN toolchain file in |file_path|.""" - import string - gcc_toolchain_tmpl = string.Template( - 'gcc_toolchain("${toolchain_name}") {\n' - ' cc = "${cc}"\n' - ' cxx = "${cxx}"\n' - ' ar = "${ar}"\n' - ' ld = cxx # GN expects a compiler, not a linker.\n' - ' nm = "${nm}"\n' - ' readelf = "${readelf}"\n' - ' extra_cflags = "${extra_cflags}"\n' - ' extra_cppflags = "${extra_cppflags}"\n' - ' extra_cxxflags = "${extra_cxxflags}"\n' - ' extra_ldflags = "${extra_ldflags}"\n' - ' toolchain_args = {\n' - ' current_cpu = "${current_cpu}"\n' - ' current_os = "linux"\n' - ' is_clang = false\n' - ' }\n' - '}\n' - ) - clang_toolchain_tmpl = string.Template( - 'clang_toolchain("clang_${toolchain_name}") {\n' - ' extra_cflags = "${extra_cflags}"\n' - ' extra_cppflags = "${extra_cppflags}"\n' - ' extra_cxxflags = "${extra_cxxflags}"\n' - ' extra_ldflags = "${extra_ldflags}"\n' - ' toolchain_args = {\n' - ' current_cpu = "${current_cpu}"\n' - ' current_os = "linux"\n' - ' is_clang = true\n' - ' use_gold = true\n' - ' }\n' - '}\n' - ) - - native_toolchain = { - 'toolchain_name': 'yocto_native', - 'current_cpu': gn_host_arch_name(d), - 'cc': d.expand('${BUILD_CC}'), - 'cxx': d.expand('${BUILD_CXX}'), - 'ar': d.expand('${BUILD_AR}'), - 'nm': d.expand('${BUILD_NM}'), - 'readelf': d.expand('${BUILD_PREFIX}readelf'), - 'extra_cflags': d.expand('${BUILD_CFLAGS}'), - 'extra_cppflags': d.expand('${BUILD_CPPFLAGS}'), - 'extra_cxxflags': d.expand('${BUILD_CXXFLAGS}'), - 'extra_ldflags': d.expand('${BUILD_LDFLAGS}'), - } - target_toolchain = { - 'toolchain_name': 'yocto_target', - 'current_cpu': gn_target_arch_name(d), - 'cc': d.expand('${CC}'), - 'cxx': d.expand('${CXX}'), - 'ar': d.expand('${AR}'), - 'nm': d.expand('${NM}'), - 'readelf': d.expand('${TARGET_PREFIX}readelf'), - 'extra_cflags': d.expand('${TARGET_CFLAGS}'), - 'extra_cppflags': d.expand('${TARGET_CPPFLAGS}'), - 'extra_cxxflags': d.expand('${TARGET_CXXFLAGS}'), - 'extra_ldflags': d.expand('${TARGET_LDFLAGS}'), - 'strip': '', - } - - with open(file_path, 'w') as toolchain_file: - toolchain_file.write( - '# This file has been generated automatically.\n' - '\n' - 'import("//build/config/sysroot.gni")\n' - 'import("//build/toolchain/gcc_toolchain.gni")\n' - '\n' - ) - toolchain_file.write(gcc_toolchain_tmpl.substitute(native_toolchain)) - toolchain_file.write(gcc_toolchain_tmpl.substitute(target_toolchain)) - toolchain_file.write(clang_toolchain_tmpl.substitute(native_toolchain)) - toolchain_file.write(clang_toolchain_tmpl.substitute(target_toolchain)) diff --git a/meta-agl-profile-graphical-html5/recipes-wam/wam/files/WebAppMgr.env b/meta-agl-profile-graphical-html5/recipes-wam/wam/files/WebAppMgr.env deleted file mode 100644 index c8ddc5173..000000000 --- a/meta-agl-profile-graphical-html5/recipes-wam/wam/files/WebAppMgr.env +++ /dev/null @@ -1,202 +0,0 @@ -##### AGL: not set in WebAppMgr@.service -#XDG_SESSION_ID="c2" - -##### AGL: set by WebAppMgr@.service (depends on user) -#XDG_RUNTIME_DIR="/run/user/%i" - -# Set wam executable file path -HOOK_SEGV=NO -WAM_EXE_PATH="/usr/bin/WebAppMgr" - -# Set wam name for user-agent -WAM_NAME="WebAppManager" - -# Only allow UTF8 encoding for luna-service messages. -LS_ENABLE_UTF8=1 - -# Set effective userid and groupid -#WAM_UID="wam" -#WAM_GID="compositor" - -# Set location of error page (will follow localization rules based on this path) -#WAM_ERROR_PAGE="file:///usr/share/localization/wam/loaderror.html" - -# suspending javascript execution delay for page visibility -WAM_SUSPEND_DELAY_IN_MS=250 - -#if [ -e "etc/wam/make_shm.sh" ] ; then -# /etc/wam/make_shm.sh -#fi - -# Set user data directory for WebAppMgr -##### AGL: set by WebAppMgr@.service (depends on user) -#WAM_DATA_PATH="/home/%i/wamdata" - -# ensure that wam data directories exist -#mkdir -p ${WAM_DATA_PATH} - -# set directories permission -#chown ${WAM_UID}:${WAM_GID} ${WAM_DATA_PATH} - -# setup 50 Mb maximum for ApplicationCache -WAM_APPCACHE_MAXSIZE=52428800 - -# setup 10 Mb maximum for ApplicationCache per domain -WAM_APPCACHE_DOMAINLIMIT=10485760 - -# setup 50 Mb maximum for DiskCache -WAM_DISKCACHE_MAXSIZE=52428800 - -# setup 256 Kb maximum for resource buffer allocation -WAM_RESOURCE_BUFFER_MAX_ALLOC_SIZE=262144 - -# setup 1 Mb for resource buffer -WAM_RESOURCE_BUFFER_SIZE=1048576 - -# setup 200 seconds for watchdog timeout of render process -WATCHDOG_RENDER_TIMEOUT=200 - -# setup nubmer of raster threads to 1 -BLINK_NUM_RASTER_THREADS=2 - -# use default tile width if not sed by recipe -#if [ "$BLINK_NUM_RASTER_THREADS" = "WEBOS${BLINK_NUM_RASTER_THREADS#WEBOS}" ]; then -BLINK_NUM_RASTER_THREADS=1 -#fi - -# setup 6 Mb maximum for the program GPU cache -GPU_PROGRAM_CACHE_SIZE=6144 - -# disable using enyo system app specfic optimization -# currently used optimizations : inline caching off -#USE_SYSTEM_APP_OPTIMIZATION="0" - -# Set location of NaCl modules -#CHROMIUM_PATH="/usr/palm/applications/com.lge.app.chromium" -#NACL_PLUGIN=${CHROMIUM_PATH}"/libppGoogleNaClPluginChrome.so" -#NACL_IRT_LIBRARY=${CHROMIUM_PATH}"/nacl_irt_arm.nexe" -#NACL_HELPER=${CHROMIUM_PATH}"/nacl_helper" -#NACL_HELPER_BOOTSTRAP=${CHROMIUM_PATH}"/nacl_helper_bootstrap" - -# Set location of NPAPI plugins for all Apps including default Apps -# This is for the flash plugin of Signage, webOS TV doesn't use it. -#PRIVILEGED_PLUGIN_PATH="" - -# Set location of NPAPI plugins for NetCast Apps -# NetCast Apps should access only the plugins in this path -#NETCAST_PLUGIN_PATH="/usr/lib/BrowserPlugins" - -# Set location of NPAPI plugins for HbbTV app. -#HBBTV_PLUGIN_PATH="/usr/lib/HbbtvPlugins" - -# Set InetTV player stored path -#INETTV_HTML_PLAYER_PATH="/usr/share/inettv/inettv_player/index.html" - -# Set location of extra libraries -#CDM_LIB_PATH="/usr/lib" - -# Set location of all NPAPI plugins -NPAPI_PLUGIN_PATH=${HBBTV_PLUGIN_PATH}":"${NETCAST_PLUGIN_PATH}":"${PRIVILEGED_PLUGIN_PATH} - -#if [ -e "etc/wam/make_shm.sh" ] ; then -# /etc/wam/make_shm.sh -#fi - -# setup 8 Mb minimum codecache capacity -JSC_minGlobalCodeCacheCapacity=8388608 - -# Enable more explicit logging of timing with regards to rendering -# export WAM2_ENABLE_DEBUG_RENDER_TIMING=1 - -# enable Web Inspector and Tellurium if in developer mode -TELLURIUM_NUB_PATH=/usr/palm/tellurium/telluriumnub.js -ENABLE_INSPECTOR=1 - -# Enable cursor by default -ENABLE_CURSOR_BY_DEFAULT=1 - -# Enable launch optimization -ENABLE_LAUNCH_OPTIMIZATION=1 - -# Set the duration(seconds) passed from last network activity (e.g. FMP Detector) -# If set to a positive value, adjust a custom timeout for a network stable timer in FMPDetector -NETWORK_STABLE_TIMEOUT=3 - -# please keep it in alphabetical order -#WAM_EXTRA_FLAGS="" -#WAM_JS_FLAGS="" -#WAM_COMMON_SWITCHES=" \ -# --application-cache-domain-limit=$WAM_APPCACHE_DOMAINLIMIT \ -# --application-cache-size=$WAM_APPCACHE_MAXSIZE \ -# --browser-subprocess-path=$WAM_EXE_PATH \ -# --disable-direct-npapi-requests \ -# --disable-extensions \ -# --disable-low-res-tiling \ -# --disable-new-video-renderer \ -# --disk-cache-size=$WAM_DISKCACHE_MAXSIZE \ -# --enable-aggressive-release-policy \ -# --enable-accelerated-plugin-rendering \ -# --accelerated-plugin-rendering-blacklist=device;drmAgent;sound;service \ -# --enable-gpu-rasterization \ -# --disable-gpu-rasterization-for-first-frame \ -# --enable-key-event-throttling \ -# --enable-threaded-compositing \ -# --enable-watchdog \ -# --hide-selection-handles \ -# --ignore-gpu-blacklist \ -# --ignore-netif=p2p \ -# --in-process-gpu \ -# --max-unused-resource-memory-usage-percentage=0 \ -# --network-stable-timeout=$NETWORK_STABLE_TIMEOUT \ -# --noerrdialogs \ -# --num-raster-threads=$BLINK_NUM_RASTER_THREADS \ -# --ozone-platform=wayland \ -# --remote-debugging-port=9998 \ -# --resource-buffer-max-allocation-size=$WAM_RESOURCE_BUFFER_MAX_ALLOC_SIZE \ -# --resource-buffer-size=$WAM_RESOURCE_BUFFER_SIZE \ -# --touch-events=disabled \ -# --ui-disable-opaque-shader-program \ -# --user-agent-suffix=SmartTV \ -# --user-data-dir=$WAM_DATA_PATH \ -# --enable-devtools-experiments \ -# --webos-wam \ " - -#WAM_LITE_SWITCHES=" --in-process-zygote " - -#export WAM_WEBOS_LITE=NO -#if [ "${WAM_WEBOS_LITE}" = "YES" ] ; then -# export WAM_SWITCHES=${WAM_COMMON_SWITCHES}${WAM_LITE_SWITCHES} -# export SKIA_FONT_CACHE_SIZE=1 -# export SKIA_IMAGE_CACHE_SIZE=40 -# export SKIA_BACKGROUND_FONT_CACHE_SIZE=0 -#else -# export WAM_SWITCHES=${WAM_COMMON_SWITCHES} -# export SKIA_FONT_CACHE_SIZE=8 -# export SKIA_IMAGE_CACHE_SIZE=80 -# export SKIA_BACKGROUND_FONT_CACHE_SIZE=512 -#fi - -#export WAM_EXTRA_SKIA_CACHE_SWITCHES=" \ -# --skia-font-cache-size-mb=$SKIA_FONT_CACHE_SIZE \ -# --skia-image-cache-size-mb=$SKIA_IMAGE_CACHE_SIZE \ -# --skia-background-font-cache-size-kb=$SKIA_BACKGROUND_FONT_CACHE_SIZE \ -# " - -#export WAM_EXTRA_GPU_TUNING_SWITCHES=" \ -# --gpu-program-cache-size-kb=$GPU_PROGRAM_CACHE_SIZE \ -# " -#export WAM_WATCHDOG_RENDER_TIMEOUT_SWITCHES=" \ -# --watchdog-render-timeout=$WATCHDOG_RENDER_TIMEOUT \ -# " - -#WEBOS_LOAD_ACCESSIBILITY_PLUGIN=1 - -#WAM_V8_CODE_CACHE_SWITCHES=" --enable-local-resource-code-cache --disallow-code-cache-from-file-uris-with-query-string " - -# Load any special configuration from plugins -#if [ -e "/etc/wam/plugins/conf.sh" ] ; then -# . /etc/wam/plugins/conf.sh || true -#fi - -#exec $WAM_EXE_PATH $WAM_SWITCHES $WAM_EXTRA_SKIA_CACHE_SWITCHES $WAM_EXTRA_GPU_TUNING_SWITCHES $WAM_WATCHDOG_RENDER_TIMEOUT_SWITCHES $WAM_EXTRA_FLAGS $WAM_V8_CODE_CACHE_SWITCHES --js-flags="$WAM_JS_FLAGS" - diff --git a/meta-agl-profile-graphical-html5/recipes-wam/wam/files/WebAppMgr@.service b/meta-agl-profile-graphical-html5/recipes-wam/wam/files/WebAppMgr@.service deleted file mode 100644 index a855bf9f5..000000000 --- a/meta-agl-profile-graphical-html5/recipes-wam/wam/files/WebAppMgr@.service +++ /dev/null @@ -1,37 +0,0 @@ -# @@@LICENSE -# -# Copyright (c) 2017-2018 LG Electronics, Inc. -# -# Confidential computer software. Valid license from LG required for -# possession, use or copying. Consistent with FAR 12.211 and 12.212, -# Commercial Computer Software, Computer Software Documentation, and -# Technical Data for Commercial Items are licensed to the U.S. Government -# under vendor's standard commercial license. -# -# LICENSE@@@ - -[Unit] -Description="WebAppMgr is responsible for running web apps and manage their lifecycle" -After=afm-service-homescreen-service--0.1--main@%i.service weston@display.service -Wants=afm-service-homescreen-service--0.1--main@%i.service -BindsTo=weston@display.service - -[Service] -Type=simple -User=%i -Slice=user-%i.slice -SmackProcessLabel=System -SupplementaryGroups=audio display -UMask=0077 -CapabilityBoundingSet= -OOMScoreAdjust=-1000 -EnvironmentFile=-/etc/default/WebAppMgr.env -Environment=XDG_RUNTIME_DIR=/run/user/%i -Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%i/bus -Environment=WAM_DATA_PATH="/home/%i/wamdata" -ExecStart=/usr/bin/WebAppMgr --no-sandbox --in-process-gpu --remote-debugging-port=9998 --user-data-dir="/home/%i/wamdata" --webos-wam -Restart=on-failure -RestartSec=50 - -[Install] -WantedBy=default.target diff --git a/meta-agl-profile-graphical-html5/recipes-wam/wam/files/trunc-webapp-roles.patch b/meta-agl-profile-graphical-html5/recipes-wam/wam/files/trunc-webapp-roles.patch deleted file mode 100644 index 829abe07f..000000000 --- a/meta-agl-profile-graphical-html5/recipes-wam/wam/files/trunc-webapp-roles.patch +++ /dev/null @@ -1,56 +0,0 @@ -From f31e93261f34abaa3dcdc4959963f5b5a8983002 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= -Date: Thu, 25 Jun 2020 19:47:24 +0200 -Subject: [PATCH] Set webapp roles that are max 12 characters long. - -From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= - -This is a workaround for SPEC-3127. To prevent repeated roles as much -as possible, I'm using the appid as a basis instead of "Webapp-" + -host + port, which has many chances to be redundant in the first 12 -chars. - -Bug-AGL: SPEC-3127 - ---- - src/agl/WebRuntimeAGL.cpp | 10 +++------- - 1 file changed, 3 insertions(+), 7 deletions(-) - -diff --git a/src/agl/WebRuntimeAGL.cpp b/src/agl/WebRuntimeAGL.cpp -index aed928b..efd2ee4 100644 ---- a/src/agl/WebRuntimeAGL.cpp -+++ b/src/agl/WebRuntimeAGL.cpp -@@ -274,7 +274,6 @@ int WebAppLauncherRuntime::run(int argc, const char** argv) { - - m_id = getAppId(args); - m_url = getAppUrl(args); -- m_role = "WebApp"; - - setup_signals(); - -@@ -326,15 +325,9 @@ bool WebAppLauncherRuntime::init() { - if (n != std::string::npos) { - std::string sport = authority.substr(n+1); - m_host = authority.substr(0, n); -- m_role.push_back('-'); -- m_role.append(m_host); -- m_role.push_back('-'); -- m_role.append(sport); - m_port = stringTo(sport); - } else { - m_host = authority; -- m_role.push_back('-'); -- m_role.append(m_host); - } - } - -@@ -375,6 +368,9 @@ bool WebAppLauncherRuntime::init() { - m_role = "homescreen"; - else if (m_id.rfind("webapps-homescreen", 0) == 0) - m_role = "homescreen"; -+ else { -+ m_role = m_id.substr(0,12); -+ } - - LOG_DEBUG("id=[%s], name=[%s], role=[%s], url=[%s], host=[%s], port=%d, token=[%s], width=[%s], height[%s], surface_type[%d], panel_type[%d]", - m_id.c_str(), m_name.c_str(), m_role.c_str(), m_url.c_str(), diff --git a/meta-agl-profile-graphical-html5/recipes-wam/wam/wam_git.bb b/meta-agl-profile-graphical-html5/recipes-wam/wam/wam_git.bb deleted file mode 100644 index d50a14fa0..000000000 --- a/meta-agl-profile-graphical-html5/recipes-wam/wam/wam_git.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "WAM" -AUTHOR = "Jani Hautakangas " -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -inherit cmake - -DEPENDS = "glib-2.0 jsoncpp boost chromium68 wayland-ivi-extension libhomescreen" - -EXTRA_OECMAKE = "\ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${prefix} \ - -DPLATFORM_NAME=${@'${DISTRO}'.upper().replace('-', '_')} \ - -DCHROMIUM_SRC_DIR=${STAGING_INCDIR}/chromium68" - -PR="r0" - -PROVIDES += "virtual/webruntime" -RPROVIDES_${PN} += "virtual/webruntime" - -SRC_URI = "\ - git://github.com/igalia/${BPN}.git;branch=WIP@6.agl.compositor;protocol=https \ - file://WebAppMgr@.service \ - file://WebAppMgr.env \ - file://trunc-webapp-roles.patch \ -" -S = "${WORKDIR}/git" -SRCREV = "bd650046b688eb1593ae68c16ba3912837507d08" - -do_install_append() { - install -d ${D}${sysconfdir}/wam - install -v -m 644 ${S}/files/launch/security_policy.conf ${D}${sysconfdir}/wam/security_policy.conf - install -d ${D}${systemd_system_unitdir} - install -v -m 644 ${WORKDIR}/WebAppMgr@.service ${D}${systemd_system_unitdir}/WebAppMgr@.service - install -d ${D}${sysconfdir}/default/ - install -v -m 644 ${WORKDIR}/WebAppMgr.env ${D}${sysconfdir}/default/WebAppMgr.env - ln -snf WebAppMgr ${D}${bindir}/web-runtime - install -d ${D}${systemd_system_unitdir}/afm-user-session@.target.wants - ln -sf ../WebAppMgr@.service ${D}${systemd_system_unitdir}/afm-user-session@.target.wants/ -} - -FILES_${PN} += "${sysconfdir}/init ${sysconfdir}/wam ${libdir}/webappmanager/plugins/*.so ${systemd_system_unitdir}" - -CXXFLAGS_append_agl-devel = " -DAGL_DEVEL" - -do_install_append_agl-devel() { - # Enable remote inspector and dev mode - install -d ${D}${localstatedir}/agl-devel/preferences - touch ${D}${localstatedir}/agl-devel/preferences/debug_system_apps - touch ${D}${localstatedir}/agl-devel/preferences/devmode_enabled -} -- cgit 1.2.3-korg