From b7074abfc55005ff3dd331e811384a19425e335e Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Mon, 18 Oct 2021 14:24:52 +0200 Subject: WIP: rm appfw Signed-off-by: Jan-Simon Moeller Change-Id: I803dd18184338a1f5519af27136e1d5a58ee9369 --- .../conf/include/agl-voiceagent-alexa.inc | 17 ++ _to_remove/meta-speech-framework/conf/layer.conf | 27 ++ .../pryon-lite/pryon-lite.bbappend | 2 + .../alexa-voice-high-config/voice-high.json | 1 + .../alexa-voice-high-config_1.0.bb | 20 ++ .../AlexaAutoCoreEngineConfig.json.in | 64 +++++ .../alexa-voiceagent-config_1.0.bb | 51 ++++ .../0001-remove-library-dependency-copying.patch | 33 +++ .../0007-add-autobuild-scripts.patch | 286 +++++++++++++++++++++ .../alexa-voiceagent-service/alexa.json | 14 + .../alexa-voiceagent-service_git.bb | 58 +++++ .../0001-connection-deadlock-workaround.patch | 35 +++ .../avs-device-sdk/avs-device-sdk_1.19.1.bbappend | 3 + .../aac-module-car-control.bbappend | 3 + .../aac-module-messaging.bbappend | 3 + .../aac-module-system-audio.bbappend | 12 + .../0001-update-pipewire-gstreamer-plugins.patch | 44 ++++ .../packagegroup-agl-voiceagent-alexa.bb | 14 + .../packagegroups/packagegroup-agl-jailhouse.bb | 14 - .../packagegroups/packagegroup-agl-jailhouse.bb | 14 + .../conf/include/agl-voiceagent-alexa.inc | 17 -- meta-speech-framework/conf/layer.conf | 27 -- .../pryon-lite/pryon-lite.bbappend | 2 - .../alexa-voice-high-config/voice-high.json | 1 - .../alexa-voice-high-config_1.0.bb | 20 -- .../AlexaAutoCoreEngineConfig.json.in | 64 ----- .../alexa-voiceagent-config_1.0.bb | 51 ---- .../0001-remove-library-dependency-copying.patch | 33 --- .../0007-add-autobuild-scripts.patch | 286 --------------------- .../alexa-voiceagent-service/alexa.json | 14 - .../alexa-voiceagent-service_git.bb | 58 ----- .../0001-connection-deadlock-workaround.patch | 35 --- .../avs-device-sdk/avs-device-sdk_1.19.1.bbappend | 3 - .../aac-module-car-control.bbappend | 3 - .../aac-module-messaging.bbappend | 3 - .../aac-module-system-audio.bbappend | 12 - .../0001-update-pipewire-gstreamer-plugins.patch | 44 ---- .../packagegroup-agl-voiceagent-alexa.bb | 14 - 38 files changed, 701 insertions(+), 701 deletions(-) create mode 100644 _to_remove/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc create mode 100644 _to_remove/meta-speech-framework/conf/layer.conf create mode 100644 _to_remove/meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch create mode 100644 _to_remove/meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb delete mode 100644 meta-agl-devel/meta-agl-jailhouse/recipes-platform/packagegroups/packagegroup-agl-jailhouse.bb create mode 100644 meta-agl-jailhouse/recipes-platform/packagegroups/packagegroup-agl-jailhouse.bb delete mode 100644 meta-speech-framework/conf/include/agl-voiceagent-alexa.inc delete mode 100644 meta-speech-framework/conf/layer.conf delete mode 100644 meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend delete mode 100644 meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json delete mode 100644 meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb delete mode 100644 meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in delete mode 100644 meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb delete mode 100644 meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch delete mode 100644 meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch delete mode 100644 meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json delete mode 100644 meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb delete mode 100644 meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch delete mode 100644 meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend delete mode 100644 meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend delete mode 100644 meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend delete mode 100644 meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend delete mode 100644 meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch delete mode 100644 meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb diff --git a/_to_remove/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc b/_to_remove/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc new file mode 100644 index 00000000..10f08301 --- /dev/null +++ b/_to_remove/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc @@ -0,0 +1,17 @@ +# A bbappend has been added to meta-agl to enable nghttp2, mask out the one +# from meta-aac to avoid triggering rebuilds of all curl dependencies when +# agl-voiceagent-alexa is configured. +BBMASK += "meta-aac/recipes-support/curl/curl_%.bbappend" +# Mask out the nghttp2 recipe in meta-aac as well, as a newer version +# is available in meta-networking, and due to meta-aac having a higher +# layer priority, rebuilds will be triggered when the voiceagent feature +# is configured and the layer is added. +BBMASK += "meta-aac/recipes-connectivity/nghttp2" +# Mask out the duplicate libopus recipe in meta-aac for the same reason +BBMASK += "meta-aac/recipes-multimedia/libopus" + +PREFERRED_RPROVIDER_virtual/voice-high-config = "alexa-voice-high-config" + +FEATURE_PACKAGES:agl-voiceagent-alexa = "packagegroup-agl-voiceagent-alexa" + +AGL_FEATURES += "agl-voiceagent-alexa" diff --git a/_to_remove/meta-speech-framework/conf/layer.conf b/_to_remove/meta-speech-framework/conf/layer.conf new file mode 100644 index 00000000..b3f004ce --- /dev/null +++ b/_to_remove/meta-speech-framework/conf/layer.conf @@ -0,0 +1,27 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# Let us add layer-specific bbappends which are only applied when that +# layer is included in our configuration - +# e.g. only add layers if a bsp is present. +# This is based on the BBFILE_COLLECTIONS name of the layer. +# We use either the BBFILE_COLLECTIONS name of the layer directly (meta-ti) +BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bbappend' % layer \ + for layer in BBFILE_COLLECTIONS.split())}" +BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bb' % layer \ + for layer in BBFILE_COLLECTIONS.split())}" +# or we prepend it with meta- (e.g. rpi, fsl*) +BBFILES += "${@' '.join('${LAYERDIR}/meta-%s/recipes*/*/*.bbappend' % layer \ + for layer in BBFILE_COLLECTIONS.split())}" +BBFILES += "${@' '.join('${LAYERDIR}/meta-%s/recipes*/*/*.bb' % layer \ + for layer in BBFILE_COLLECTIONS.split())}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "speech-framework" +BBFILE_PATTERN_speech-framework = "^${LAYERDIR}/" +BBFILE_PRIORITY_speech-framework = "8" + +LAYERSERIES_COMPAT_speech-framework = "dunfell" diff --git a/_to_remove/meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend b/_to_remove/meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend new file mode 100644 index 00000000..288b652e --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend @@ -0,0 +1,2 @@ +# Required to avoid QA errors from the prebuilt libraries +INSANE_SKIP:${PN} += "ldflags" diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json new file mode 100644 index 00000000..f460ccfc --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json @@ -0,0 +1 @@ +{ "default": "VA-001" } diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb new file mode 100644 index 00000000..6b0203a9 --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "High level voice service binding default voiceagent configuration for Alexa" +DESCRIPTION = "Alexa default voiceagent JSON configuration file for agl-service-voice-high binding" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/agl-service-voice-high" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +SRC_URI = "file://voice-high.json" + +inherit allarch + +do_compile[noexec] = "1" + +do_install () { + install -D -m 644 ${WORKDIR}/voice-high.json ${D}${sysconfdir}/xdg/AGL/voice-high.json +} + +RPROVIDES:${PN} += "virtual/voice-high-config" + diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in new file mode 100644 index 00000000..4bf00f89 --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in @@ -0,0 +1,64 @@ +{ + "deviceInfo": + { + "clientId": "@@ALEXA_CLIENTID@@", + "deviceSerialNumber": "@@ALEXA_SERIALNUMBER@@", + "productId": "@@ALEXA_PRODUCTID@@", + "manufacturerName": "@@ALEXA_MFG_NAME@@", + "description": "@@ALEXA_DESCRIPTION@@" + }, + "libcurlUtils": + { + "CURLOPT_CAPATH":"/etc/ssl/certs" + }, + "deviceSettings": { + "defaultLocale":"@@ALEXA_LOCALE@@", + "defaultTimezone":"@@ALEXA_TIMEZONE@@" + }, + "aace.vehicle": { + "info": { + "make": "Amazon", + "model": "AutoSDK", + "year": "2019", + "trim": "aac", + "geography": "US", + "version": "1.2.3", + "os": "AGL", + "arch": "aarch64", + "language": "en_US", + "microphone": "SingleArray", + "countries": "US,GB,IE,CA,DE,AT,IN,JP,AU,NZ,FR", + "vehicleIdentifier": "Sample Identifier ABC" + }, + "operatingCountry": "US", + "currentLocation": "36.1363,-115.1513" + }, + "aace.audio.input": { + "voice": "Default" + }, + "aace.audio.output": { + "tts": "Speech-Low", + "music": "Speech-High", + "alarm": "Custom-Low" + }, + "aace.wakeword": { + "enabled":@@ALEXA_WAKEWORD@@ + }, + "aace.cbl": { + "enabled": true + }, + "aace.localmediasource": { + "enabled":false, + "sources": { + "bluetooth":true, + "usb":true, + "fmRadio":true, + "amRadio":true, + "satelliteRadio":false, + "lineIn":false, + "compactDisc":true, + "siriusXM":false, + "dab":false + } + } +} diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb new file mode 100644 index 00000000..13d259b8 --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb @@ -0,0 +1,51 @@ +SUMMARY = "Alexa service binding default configuration to connect to Alexa" +DESCRIPTION = "Alexa alexa-voiceagent-service binding configuration files" +HOMEPAGE = "https://github.com/alexa/alexa-auto-sdk/tree/master/platforms/agl/alexa-voiceagent-service" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +SRC_URI = "file://AlexaAutoCoreEngineConfig.json.in" + +inherit allarch + +ALEXA_WAKEWORD ??= "false" +ALEXA_LOCALE ??= "en-US" +ALEXA_TIMEZONE ??= "America/Vancouver" + +do_compile[noexec] = "1" + +do_install () { + if [ -z "${ALEXA_CLIENTID}" ]; then + bbfatal "ALEXA_CLIENTID not defined in your environment e.g. conf/local.conf" + fi + if [ -z "${ALEXA_SERIALNUMBER}" ]; then + bbfatal "ALEXA_SERIALNUMBER not defined in your environment e.g. conf/local.conf" + fi + if [ -z "${ALEXA_PRODUCTID}" ]; then + bbfatal "ALEXA_PRODUCTID not defined in your environment e.g. conf/local.conf" + fi + if [ -z "${ALEXA_MFG_NAME}" ]; then + bbfatal "ALEXA_MFG_NAME not defined in your environment e.g. conf/local.conf" + fi + if [ -z "${ALEXA_DESCRIPTION}" ]; then + bbfatal "ALEXA_DESCRIPTION not defined in your environment e.g. conf/local.conf" + fi + + #replace + sed -e "s|@@ALEXA_CLIENTID@@|${ALEXA_CLIENTID}|" \ + -e "s|@@ALEXA_SERIALNUMBER@@|${ALEXA_SERIALNUMBER}|" \ + -e "s|@@ALEXA_PRODUCTID@@|${ALEXA_PRODUCTID}|" \ + -e "s|@@ALEXA_MFG_NAME@@|${ALEXA_MFG_NAME}|" \ + -e "s|@@ALEXA_DESCRIPTION@@|${ALEXA_DESCRIPTION}|" \ + -e "s|@@ALEXA_WAKEWORD@@|${ALEXA_WAKEWORD}|" \ + -e "s|@@ALEXA_LOCALE@@|${ALEXA_LOCALE}|" \ + -e "s|@@ALEXA_TIMEZONE@@|${ALEXA_TIMEZONE}|" \ + ${WORKDIR}/AlexaAutoCoreEngineConfig.json.in > ${WORKDIR}/AlexaAutoCoreEngineConfig.json + + # install + install -D -m 644 ${WORKDIR}/AlexaAutoCoreEngineConfig.json ${D}${sysconfdir}/xdg/AGL/AlexaAutoCoreEngineConfig.json +} + +RPROVIDES:${PN} += "virtual/alexa-voiceagent-config" diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch new file mode 100644 index 00000000..ee61ac20 --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch @@ -0,0 +1,33 @@ +Remove copying of library dependencies + +Since we are targeting building into an image, the widget build does +not have to copy host library dependencies into the widget as it would +when being built standalone with the SDK. Remove the copying, as +runtime dependencies will be used to pull the libraries in. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Scott Murray + +diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt +index 8a955feb..5b097877 100644 +--- a/libs/CMakeLists.txt ++++ b/libs/CMakeLists.txt +@@ -92,16 +92,11 @@ add_avs_library(SQLiteStorage ${AAC_HOME}/lib/libSQLiteStorage.so) + add_avs_library(SystemSoundPlayer ${AAC_HOME}/lib/libSystemSoundPlayer.so) + add_avs_library(TemplateRuntime ${AAC_HOME}/lib/libTemplateRuntime.so) + add_avs_library(ToggleController ${AAC_HOME}/lib/libToggleController.so) +-add_avs_library(curl ${AAC_HOME}/lib/libcurl.so.4) +-add_avs_library(nghttp2 ${AAC_HOME}/lib/libnghttp2.so.14) +-add_avs_library(opus ${AAC_HOME}/lib/libopus.so.0) +-add_avs_library(sqlite3 ${AAC_HOME}/lib/libsqlite3.so.0) + +-if(EXISTS ${AAC_HOME}/lib/libpryon_lite.so.1.13) ++if(EXISTS ${AAC_HOME}/lib/libAACEAmazonLiteEngine.so) + add_aace_library(AACEAmazonLiteEngine) + add_avs_library(AMAZONLITE ${AAC_HOME}/lib/libAMAZONLITE.so) + add_avs_library(KeywordDetectorProvider ${AAC_HOME}/lib/libKeywordDetectorProvider.so) +- add_avs_library(pryon_lite ${AAC_HOME}/lib/libpryon_lite.so.1.13) + endif() + + if(EXISTS ${AAC_HOME}/share/cmake/AACESystemAudio.cmake) diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch new file mode 100644 index 00000000..5886709b --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch @@ -0,0 +1,286 @@ +Add autobuild scripts + +Add autobuild scripts and update .gitignore to not ignore them. +The autobuild/agl/autobuild script will be required for building widgets +in AGL, add the latest version to the voiceagent source tree. + +Upstream-Status: Pending + +Signed-off-by: Scott Murray + +diff --git a/.gitignore b/.gitignore +index b3c1108..edbf1b5 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -1,3 +1,2 @@ +-autobuild/ + build/ + alexa-voiceagent-apidef.h +diff --git a/autobuild/agl/autobuild b/autobuild/agl/autobuild +new file mode 100755 +index 0000000..16181b8 +--- /dev/null ++++ b/autobuild/agl/autobuild +@@ -0,0 +1,128 @@ ++#!/usr/bin/make -f ++# Copyright (C) 2015 - 2018 "IoT.bzh" ++# Copyright (C) 2020 Konsulko Group ++# Author "Romain Forlot" ++# ++# Licensed under the Apache License, Version 2.0 (the "License"); ++# you may not use this file except in compliance with the License. ++# You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. ++ ++THISFILE := $(lastword $(MAKEFILE_LIST)) ++ROOT_DIR := $(abspath $(dir $(THISFILE))/../..) ++ ++# Build directories ++# Note that the debug/test/coverage directories are defined in relation ++# to the release directory (BUILD_DIR), this needs to be kept in mind ++# if over-riding it and building those widget types, the specific widget ++# type variable (e.g. BUILD_DIR_DEBUG) may also need to be specified ++# to yield the desired output hierarchy. ++BUILD_DIR = $(ROOT_DIR)/build ++BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug) ++BUILD_DIR_TEST = $(abspath $(BUILD_DIR)/../build-test) ++BUILD_DIR_COVERAGE = $(abspath $(BUILD_DIR)/../build-coverage) ++ ++# Output directory variable for use in pattern rules. ++# This is intended for internal use only, hence the explicit override ++# definition. ++override OUTPUT_DIR = $(BUILD_DIR) ++ ++# Final install directory for widgets ++DEST = $(OUTPUT_DIR) ++ ++# Default build type for release/test builds ++BUILD_TYPE = RELEASE ++ ++.PHONY: all help update install distclean ++.PHONY: clean clean-release clean-debug clean-test clean-coverage clean-all ++.PHONY: configure configure-release configure-debug configure-test configure-coverage ++.PHONY: build build-release build-debug build-test build-coverage build-all ++.PHONY: package package-release package-debug package-test package-coverage package-all ++ ++help: ++ @echo "List of targets available:" ++ @echo "" ++ @echo "- all" ++ @echo "- help" ++ @echo "- clean" ++ @echo "- distclean" ++ @echo "- configure" ++ @echo "- build: compilation, link and prepare files for package into a widget" ++ @echo "- package: output a widget file '*.wgt'" ++ @echo "- install: install in your $(CMAKE_INSTALL_DIR) directory" ++ @echo "" ++ @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt" ++ @echo "Don't use your build dir as DEST as wgt file is generated at this location" ++ ++all: package-all ++ ++# Target specific variable over-rides so static pattern rules can be ++# used for the various type-specific targets. ++ ++configure-test build-test package-test clean-test: OUTPUT_DIR = $(BUILD_DIR_TEST) ++ ++configure-coverage build-coverage package-coverage clean-coverage: OUTPUT_DIR = $(BUILD_DIR_COVERAGE) ++configure-coverage build-coverage package-coverage: BUILD_TYPE = COVERAGE ++ ++configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG) ++configure-debug build-debug package-debug: BUILD_TYPE = DEBUG ++ ++clean-release clean-test clean-debug clean-coverage: ++ @if [ -d $(OUTPUT_DIR) ]; then \ ++ $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \ ++ else \ ++ echo Nothing to clean; \ ++ fi ++ ++clean: clean-release ++ ++clean-all: clean-release clean-test clean-debug clean-coverage ++ ++distclean: clean-all ++ ++configure-release configure-test configure-debug configure-coverage: ++ @mkdir -p $(OUTPUT_DIR) ++ @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \ ++ (cd $(OUTPUT_DIR) && cmake -S $(ROOT_DIR) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(CONFIGURE_ARGS)); \ ++ fi ++ ++configure: configure-release ++ ++build-release build-debug build-coverage: build-%: configure-% ++ @cmake --build $(OUTPUT_DIR) $(BUILD_ARGS) --target all ++ ++# Kept for consistency, empty to avoid building everything for test widget ++build-test: configure-test ++ ++build: build-release ++ ++build-all: build-release build-debug build-test build-coverage ++ ++package-release package-debug package-coverage: package-%: build-% ++ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target widget ++ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ ++ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ ++ fi ++ ++package-test: build-test ++ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target test_widget ++ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ ++ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ ++ fi ++ ++package: package-release ++ ++package-all: package-release package-test package-coverage package-debug ++ ++update: configure ++ @cmake --build $(BUILD_DIR) --target autobuild ++ ++install: build ++ @cmake --build $(BUILD_DIR) $(INSTALL_ARGS) --target install +diff --git a/autobuild/linux/autobuild b/autobuild/linux/autobuild +new file mode 100755 +index 0000000..16181b8 +--- /dev/null ++++ b/autobuild/linux/autobuild +@@ -0,0 +1,128 @@ ++#!/usr/bin/make -f ++# Copyright (C) 2015 - 2018 "IoT.bzh" ++# Copyright (C) 2020 Konsulko Group ++# Author "Romain Forlot" ++# ++# Licensed under the Apache License, Version 2.0 (the "License"); ++# you may not use this file except in compliance with the License. ++# You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. ++ ++THISFILE := $(lastword $(MAKEFILE_LIST)) ++ROOT_DIR := $(abspath $(dir $(THISFILE))/../..) ++ ++# Build directories ++# Note that the debug/test/coverage directories are defined in relation ++# to the release directory (BUILD_DIR), this needs to be kept in mind ++# if over-riding it and building those widget types, the specific widget ++# type variable (e.g. BUILD_DIR_DEBUG) may also need to be specified ++# to yield the desired output hierarchy. ++BUILD_DIR = $(ROOT_DIR)/build ++BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug) ++BUILD_DIR_TEST = $(abspath $(BUILD_DIR)/../build-test) ++BUILD_DIR_COVERAGE = $(abspath $(BUILD_DIR)/../build-coverage) ++ ++# Output directory variable for use in pattern rules. ++# This is intended for internal use only, hence the explicit override ++# definition. ++override OUTPUT_DIR = $(BUILD_DIR) ++ ++# Final install directory for widgets ++DEST = $(OUTPUT_DIR) ++ ++# Default build type for release/test builds ++BUILD_TYPE = RELEASE ++ ++.PHONY: all help update install distclean ++.PHONY: clean clean-release clean-debug clean-test clean-coverage clean-all ++.PHONY: configure configure-release configure-debug configure-test configure-coverage ++.PHONY: build build-release build-debug build-test build-coverage build-all ++.PHONY: package package-release package-debug package-test package-coverage package-all ++ ++help: ++ @echo "List of targets available:" ++ @echo "" ++ @echo "- all" ++ @echo "- help" ++ @echo "- clean" ++ @echo "- distclean" ++ @echo "- configure" ++ @echo "- build: compilation, link and prepare files for package into a widget" ++ @echo "- package: output a widget file '*.wgt'" ++ @echo "- install: install in your $(CMAKE_INSTALL_DIR) directory" ++ @echo "" ++ @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt" ++ @echo "Don't use your build dir as DEST as wgt file is generated at this location" ++ ++all: package-all ++ ++# Target specific variable over-rides so static pattern rules can be ++# used for the various type-specific targets. ++ ++configure-test build-test package-test clean-test: OUTPUT_DIR = $(BUILD_DIR_TEST) ++ ++configure-coverage build-coverage package-coverage clean-coverage: OUTPUT_DIR = $(BUILD_DIR_COVERAGE) ++configure-coverage build-coverage package-coverage: BUILD_TYPE = COVERAGE ++ ++configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG) ++configure-debug build-debug package-debug: BUILD_TYPE = DEBUG ++ ++clean-release clean-test clean-debug clean-coverage: ++ @if [ -d $(OUTPUT_DIR) ]; then \ ++ $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \ ++ else \ ++ echo Nothing to clean; \ ++ fi ++ ++clean: clean-release ++ ++clean-all: clean-release clean-test clean-debug clean-coverage ++ ++distclean: clean-all ++ ++configure-release configure-test configure-debug configure-coverage: ++ @mkdir -p $(OUTPUT_DIR) ++ @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \ ++ (cd $(OUTPUT_DIR) && cmake -S $(ROOT_DIR) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(CONFIGURE_ARGS)); \ ++ fi ++ ++configure: configure-release ++ ++build-release build-debug build-coverage: build-%: configure-% ++ @cmake --build $(OUTPUT_DIR) $(BUILD_ARGS) --target all ++ ++# Kept for consistency, empty to avoid building everything for test widget ++build-test: configure-test ++ ++build: build-release ++ ++build-all: build-release build-debug build-test build-coverage ++ ++package-release package-debug package-coverage: package-%: build-% ++ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target widget ++ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ ++ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ ++ fi ++ ++package-test: build-test ++ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target test_widget ++ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ ++ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ ++ fi ++ ++package: package-release ++ ++package-all: package-release package-test package-coverage package-debug ++ ++update: configure ++ @cmake --build $(BUILD_DIR) --target autobuild ++ ++install: build ++ @cmake --build $(BUILD_DIR) $(INSTALL_ARGS) --target install diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json new file mode 100644 index 00000000..48918015 --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json @@ -0,0 +1,14 @@ +{ + "id": "VA-001", + "active": true, + "name": "Alexa", + "api": "alexa-voiceagent", + "wakewords": [ + "alexa", + "computer", + "echo" + ], + "activewakeword": "alexa", + "description": "Alexa voice assistant by Amazon.", + "vendor": "Amazon.com Services Inc" +} diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb new file mode 100644 index 00000000..c08377cd --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb @@ -0,0 +1,58 @@ +SUMMARY = "Alexa voice agent binding" +DESCRIPTION = "alexa-voiceagent-service is an Alexa Auto SDK based voiceagent binding" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/agl-service-voice-high" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://License.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS = " \ + libafb-helpers \ + libappcontroller \ + avs-device-sdk \ + aac-module-core \ + aac-module-alexa \ + aac-module-address-book \ + aac-module-car-control \ + aac-module-cbl \ + aac-module-contact-uploader \ + aac-module-navigation \ + aac-module-phone-control \ + aac-module-system-audio \ + ${@bb.utils.contains("ALEXA_WAKEWORD", "true", "aac-module-amazonlite pryon-lite", "", d)} \ +" + +SRC_URI = "git://github.com/alexa/alexa-auto-sdk.git;protocol=https;branch=2.3 \ + file://alexa.json \ + file://0001-remove-library-dependency-copying.patch \ + file://0007-add-autobuild-scripts.patch \ +" +SRCREV = "d46f22b453f528868b483e39bc7a057ca68a5199" + +PV = "2.3+git${SRCPV}" +S = "${WORKDIR}/git/platforms/agl/alexa-voiceagent-service" + +inherit cmake aglwgt + +EXTRA_OECMAKE += "-DAAC_HOME=${RECIPE_SYSROOT}/${AAC_PREFIX}" + +ALEXA_WAKEWORD ??= "false" + +do_install:append() { + install -D -m 0644 ${WORKDIR}/alexa.json ${D}${sysconfdir}/xdg/AGL/voiceagents/alexa.json +} + +PACKAGES =+ "${PN}-conf" + +FILES:${PN}-conf = "${sysconfdir}/xdg/AGL/voiceagents/*" + +# NOTE: curl and opus are from the base SDK libraries, sqlite3 from the +# core module +RDEPENDS:${PN} += " \ + libcurl \ + libopus \ + libsqlite3 \ + ${PN}-conf \ + ${@bb.utils.contains("ALEXA_WAKEWORD", "true", "pryon-lite", "", d)} \ + gstreamer1.0-plugins-bad-hls \ +" diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch b/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch new file mode 100644 index 00000000..3bf79835 --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch @@ -0,0 +1,35 @@ +Workaround for connection deadlock + +Change the maximum (effectively infinite) delay in HTTP2Transport's +connecting state handling code to use the inactivity timeout value, +which is currently 5 minutes. This seems to avoid triggering a +deadlock between the condition variable checking in the +monitorSharedQueueWhileWaiting method and use of the object's m_mutex +member in sendPostConnectMessage and onActivity methods. +At present, my theory is this issue stems from some change or bug +in the newer g++/libstdc++ coming with dunfell versus the thud release +that Amazon supports. + +Upstream-Status: Inappropriate [other] + +Signed-off-by: Scott Murray + +diff --git a/ACL/src/Transport/HTTP2Transport.cpp b/ACL/src/Transport/HTTP2Transport.cpp +index f1b5c03..dec7424 100644 +--- a/ACL/src/Transport/HTTP2Transport.cpp ++++ b/ACL/src/Transport/HTTP2Transport.cpp +@@ -618,7 +618,13 @@ HTTP2Transport::State HTTP2Transport::handleConnecting() { + return m_state; + } + +- return monitorSharedQueueWhileWaiting(State::CONNECTING); ++ // Wait for connection for the same length of time as the post-connection ++ // inactivity monitor timeout (currently 5 minutes). ++ // This seems to avoid triggering an issue where connecting deadlocks when ++ // using the maximum timeout of std::chrono:steady_clock. ++ std::chrono::time_point timeout = ++ std::chrono::steady_clock::now() + INACTIVITY_TIMEOUT; ++ return monitorSharedQueueWhileWaiting(State::CONNECTING, timeout); + } + + HTTP2Transport::State HTTP2Transport::handleWaitingToRetryConnecting() { diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend b/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend new file mode 100644 index 00000000..3b1bc32c --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" + +SRC_URI += "file://0001-connection-deadlock-workaround.patch" diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend new file mode 100644 index 00000000..a4a0c57b --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend @@ -0,0 +1,3 @@ +# Fix nlohmann dependency to pick up newer nlohmann-json recipe in meta-oe +DEPENDS:remove = "nlohmann" +DEPENDS:append = " nlohmann-json" diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend new file mode 100644 index 00000000..a4a0c57b --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend @@ -0,0 +1,3 @@ +# Fix nlohmann dependency to pick up newer nlohmann-json recipe in meta-oe +DEPENDS:remove = "nlohmann" +DEPENDS:append = " nlohmann-json" diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend new file mode 100644 index 00000000..7417b494 --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend @@ -0,0 +1,12 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +# Needed for the required gstreamer-app-1.0 pkgconfig bits +DEPENDS += "gstreamer1.0-plugins-base" + +AAC_PATCHES += "file://0001-update-pipewire-gstreamer-plugins.patch" + +# Need to enable PipeWire support +EXTRA_OECMAKE += "-DUSE_PIPEWIRE=1" + +# Pull static library into appropriate package to avoid a QA error +FILES:${PN}-staticdev += "${AAC_PREFIX}/lib/libaal.a" diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch new file mode 100644 index 00000000..bc277588 --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch @@ -0,0 +1,44 @@ +Update PipeWire gstreamer plugins + +Update PipeWire sink and source to handle drop of pwaudiosink and +pwaudiosrc in favor of pipewire* replacements. However, testing +has found that Alexa does not work with pipewiresrc (input hangs +after first interaction), so for now use "alsasrc device=pipewire" +as a workaround as recommended by upstream. + +Given that Amazon has dropped AGL support, this patch will need to +be carried locally. + +Upstream-Status: Inappropriate [no upstream] +Signed-off-by: Scott Murray +--- + lib/aal/src/gstreamer/player.c | 2 +- + lib/aal/src/gstreamer/recorder.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/aal/src/gstreamer/player.c b/lib/aal/src/gstreamer/player.c +index 5dd6627..5ff9402 100644 +--- a/lib/aal/src/gstreamer/player.c ++++ b/lib/aal/src/gstreamer/player.c +@@ -142,7 +142,7 @@ static aal_handle_t gstreamer_player_create(const aal_attributes_t* attr, aal_au + } else { + #ifdef USE_PIPEWIRE + g_info("Using Pipewire device: %s\n", attr->device); +- sink = gstreamer_create_and_add_element(bin, "pwaudiosink", "sink"); ++ sink = gstreamer_create_and_add_element(bin, "pipewiresink", "sink"); + if (sink) { + GstStructure* s = gst_structure_new("properties", "media.role", G_TYPE_STRING, attr->device, NULL); + g_object_set(G_OBJECT(sink), "stream-properties", s, NULL); +diff --git a/lib/aal/src/gstreamer/recorder.c b/lib/aal/src/gstreamer/recorder.c +index ff6d464..a13b000 100644 +--- a/lib/aal/src/gstreamer/recorder.c ++++ b/lib/aal/src/gstreamer/recorder.c +@@ -69,7 +69,7 @@ static aal_handle_t gstreamer_recorder_create(const aal_attributes_t* attr, aal_ + strncpy(src_desc, "autoaudiosrc", sizeof(src_desc) - 1); + } else { + #ifdef USE_PIPEWIRE +- snprintf(src_desc, sizeof(src_desc), "pwaudiosrc stream-properties=\"properties,media.role=%s\"", attr->device); ++ snprintf(src_desc, sizeof(src_desc), "alsasrc device=pipewire"); + #else + g_info("Using ALSA device: %s\n", attr->device); + snprintf(src_desc, sizeof(src_desc), "alsasrc device=%s", attr->device); diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb b/_to_remove/meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb new file mode 100644 index 00000000..12f51604 --- /dev/null +++ b/_to_remove/meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb @@ -0,0 +1,14 @@ +SUMMARY = "The software for the AGL Alexa voiceagent feature" +DESCRIPTION = "The software for the AGL Alexa voiceagent feature" + +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "\ + packagegroup-agl-voiceagent-alexa \ + " + +RDEPENDS:${PN} = " \ + alexa-voiceagent-service \ + " diff --git a/meta-agl-devel/meta-agl-jailhouse/recipes-platform/packagegroups/packagegroup-agl-jailhouse.bb b/meta-agl-devel/meta-agl-jailhouse/recipes-platform/packagegroups/packagegroup-agl-jailhouse.bb deleted file mode 100644 index 5fe7bd65..00000000 --- a/meta-agl-devel/meta-agl-jailhouse/recipes-platform/packagegroups/packagegroup-agl-jailhouse.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Virtio over IVSHMEM" -DESCRIPTION = "The set of modules required to use virtio over IVSHMEM applications in AGL" -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-jailhouse \ -" - -RDEPENDS:packagegroup-agl-jailhouse = "\ - virtio-ivshmem-block \ - virtio-ivshmem-console \ -" \ No newline at end of file diff --git a/meta-agl-jailhouse/recipes-platform/packagegroups/packagegroup-agl-jailhouse.bb b/meta-agl-jailhouse/recipes-platform/packagegroups/packagegroup-agl-jailhouse.bb new file mode 100644 index 00000000..5fe7bd65 --- /dev/null +++ b/meta-agl-jailhouse/recipes-platform/packagegroups/packagegroup-agl-jailhouse.bb @@ -0,0 +1,14 @@ +SUMMARY = "Virtio over IVSHMEM" +DESCRIPTION = "The set of modules required to use virtio over IVSHMEM applications in AGL" +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "\ + packagegroup-agl-jailhouse \ +" + +RDEPENDS:packagegroup-agl-jailhouse = "\ + virtio-ivshmem-block \ + virtio-ivshmem-console \ +" \ No newline at end of file diff --git a/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc b/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc deleted file mode 100644 index 10f08301..00000000 --- a/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc +++ /dev/null @@ -1,17 +0,0 @@ -# A bbappend has been added to meta-agl to enable nghttp2, mask out the one -# from meta-aac to avoid triggering rebuilds of all curl dependencies when -# agl-voiceagent-alexa is configured. -BBMASK += "meta-aac/recipes-support/curl/curl_%.bbappend" -# Mask out the nghttp2 recipe in meta-aac as well, as a newer version -# is available in meta-networking, and due to meta-aac having a higher -# layer priority, rebuilds will be triggered when the voiceagent feature -# is configured and the layer is added. -BBMASK += "meta-aac/recipes-connectivity/nghttp2" -# Mask out the duplicate libopus recipe in meta-aac for the same reason -BBMASK += "meta-aac/recipes-multimedia/libopus" - -PREFERRED_RPROVIDER_virtual/voice-high-config = "alexa-voice-high-config" - -FEATURE_PACKAGES:agl-voiceagent-alexa = "packagegroup-agl-voiceagent-alexa" - -AGL_FEATURES += "agl-voiceagent-alexa" diff --git a/meta-speech-framework/conf/layer.conf b/meta-speech-framework/conf/layer.conf deleted file mode 100644 index b3f004ce..00000000 --- a/meta-speech-framework/conf/layer.conf +++ /dev/null @@ -1,27 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# Let us add layer-specific bbappends which are only applied when that -# layer is included in our configuration - -# e.g. only add layers if a bsp is present. -# This is based on the BBFILE_COLLECTIONS name of the layer. -# We use either the BBFILE_COLLECTIONS name of the layer directly (meta-ti) -BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bbappend' % layer \ - for layer in BBFILE_COLLECTIONS.split())}" -BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bb' % layer \ - for layer in BBFILE_COLLECTIONS.split())}" -# or we prepend it with meta- (e.g. rpi, fsl*) -BBFILES += "${@' '.join('${LAYERDIR}/meta-%s/recipes*/*/*.bbappend' % layer \ - for layer in BBFILE_COLLECTIONS.split())}" -BBFILES += "${@' '.join('${LAYERDIR}/meta-%s/recipes*/*/*.bb' % layer \ - for layer in BBFILE_COLLECTIONS.split())}" - -# We have recipes-* directories, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "speech-framework" -BBFILE_PATTERN_speech-framework = "^${LAYERDIR}/" -BBFILE_PRIORITY_speech-framework = "8" - -LAYERSERIES_COMPAT_speech-framework = "dunfell" diff --git a/meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend b/meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend deleted file mode 100644 index 288b652e..00000000 --- a/meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend +++ /dev/null @@ -1,2 +0,0 @@ -# Required to avoid QA errors from the prebuilt libraries -INSANE_SKIP:${PN} += "ldflags" diff --git a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json b/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json deleted file mode 100644 index f460ccfc..00000000 --- a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json +++ /dev/null @@ -1 +0,0 @@ -{ "default": "VA-001" } diff --git a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb b/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb deleted file mode 100644 index 6b0203a9..00000000 --- a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "High level voice service binding default voiceagent configuration for Alexa" -DESCRIPTION = "Alexa default voiceagent JSON configuration file for agl-service-voice-high binding" -HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/agl-service-voice-high" -SECTION = "apps" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -SRC_URI = "file://voice-high.json" - -inherit allarch - -do_compile[noexec] = "1" - -do_install () { - install -D -m 644 ${WORKDIR}/voice-high.json ${D}${sysconfdir}/xdg/AGL/voice-high.json -} - -RPROVIDES:${PN} += "virtual/voice-high-config" - diff --git a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in b/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in deleted file mode 100644 index 4bf00f89..00000000 --- a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in +++ /dev/null @@ -1,64 +0,0 @@ -{ - "deviceInfo": - { - "clientId": "@@ALEXA_CLIENTID@@", - "deviceSerialNumber": "@@ALEXA_SERIALNUMBER@@", - "productId": "@@ALEXA_PRODUCTID@@", - "manufacturerName": "@@ALEXA_MFG_NAME@@", - "description": "@@ALEXA_DESCRIPTION@@" - }, - "libcurlUtils": - { - "CURLOPT_CAPATH":"/etc/ssl/certs" - }, - "deviceSettings": { - "defaultLocale":"@@ALEXA_LOCALE@@", - "defaultTimezone":"@@ALEXA_TIMEZONE@@" - }, - "aace.vehicle": { - "info": { - "make": "Amazon", - "model": "AutoSDK", - "year": "2019", - "trim": "aac", - "geography": "US", - "version": "1.2.3", - "os": "AGL", - "arch": "aarch64", - "language": "en_US", - "microphone": "SingleArray", - "countries": "US,GB,IE,CA,DE,AT,IN,JP,AU,NZ,FR", - "vehicleIdentifier": "Sample Identifier ABC" - }, - "operatingCountry": "US", - "currentLocation": "36.1363,-115.1513" - }, - "aace.audio.input": { - "voice": "Default" - }, - "aace.audio.output": { - "tts": "Speech-Low", - "music": "Speech-High", - "alarm": "Custom-Low" - }, - "aace.wakeword": { - "enabled":@@ALEXA_WAKEWORD@@ - }, - "aace.cbl": { - "enabled": true - }, - "aace.localmediasource": { - "enabled":false, - "sources": { - "bluetooth":true, - "usb":true, - "fmRadio":true, - "amRadio":true, - "satelliteRadio":false, - "lineIn":false, - "compactDisc":true, - "siriusXM":false, - "dab":false - } - } -} diff --git a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb b/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb deleted file mode 100644 index 13d259b8..00000000 --- a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "Alexa service binding default configuration to connect to Alexa" -DESCRIPTION = "Alexa alexa-voiceagent-service binding configuration files" -HOMEPAGE = "https://github.com/alexa/alexa-auto-sdk/tree/master/platforms/agl/alexa-voiceagent-service" -SECTION = "apps" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -SRC_URI = "file://AlexaAutoCoreEngineConfig.json.in" - -inherit allarch - -ALEXA_WAKEWORD ??= "false" -ALEXA_LOCALE ??= "en-US" -ALEXA_TIMEZONE ??= "America/Vancouver" - -do_compile[noexec] = "1" - -do_install () { - if [ -z "${ALEXA_CLIENTID}" ]; then - bbfatal "ALEXA_CLIENTID not defined in your environment e.g. conf/local.conf" - fi - if [ -z "${ALEXA_SERIALNUMBER}" ]; then - bbfatal "ALEXA_SERIALNUMBER not defined in your environment e.g. conf/local.conf" - fi - if [ -z "${ALEXA_PRODUCTID}" ]; then - bbfatal "ALEXA_PRODUCTID not defined in your environment e.g. conf/local.conf" - fi - if [ -z "${ALEXA_MFG_NAME}" ]; then - bbfatal "ALEXA_MFG_NAME not defined in your environment e.g. conf/local.conf" - fi - if [ -z "${ALEXA_DESCRIPTION}" ]; then - bbfatal "ALEXA_DESCRIPTION not defined in your environment e.g. conf/local.conf" - fi - - #replace - sed -e "s|@@ALEXA_CLIENTID@@|${ALEXA_CLIENTID}|" \ - -e "s|@@ALEXA_SERIALNUMBER@@|${ALEXA_SERIALNUMBER}|" \ - -e "s|@@ALEXA_PRODUCTID@@|${ALEXA_PRODUCTID}|" \ - -e "s|@@ALEXA_MFG_NAME@@|${ALEXA_MFG_NAME}|" \ - -e "s|@@ALEXA_DESCRIPTION@@|${ALEXA_DESCRIPTION}|" \ - -e "s|@@ALEXA_WAKEWORD@@|${ALEXA_WAKEWORD}|" \ - -e "s|@@ALEXA_LOCALE@@|${ALEXA_LOCALE}|" \ - -e "s|@@ALEXA_TIMEZONE@@|${ALEXA_TIMEZONE}|" \ - ${WORKDIR}/AlexaAutoCoreEngineConfig.json.in > ${WORKDIR}/AlexaAutoCoreEngineConfig.json - - # install - install -D -m 644 ${WORKDIR}/AlexaAutoCoreEngineConfig.json ${D}${sysconfdir}/xdg/AGL/AlexaAutoCoreEngineConfig.json -} - -RPROVIDES:${PN} += "virtual/alexa-voiceagent-config" diff --git a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch b/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch deleted file mode 100644 index ee61ac20..00000000 --- a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch +++ /dev/null @@ -1,33 +0,0 @@ -Remove copying of library dependencies - -Since we are targeting building into an image, the widget build does -not have to copy host library dependencies into the widget as it would -when being built standalone with the SDK. Remove the copying, as -runtime dependencies will be used to pull the libraries in. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Scott Murray - -diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt -index 8a955feb..5b097877 100644 ---- a/libs/CMakeLists.txt -+++ b/libs/CMakeLists.txt -@@ -92,16 +92,11 @@ add_avs_library(SQLiteStorage ${AAC_HOME}/lib/libSQLiteStorage.so) - add_avs_library(SystemSoundPlayer ${AAC_HOME}/lib/libSystemSoundPlayer.so) - add_avs_library(TemplateRuntime ${AAC_HOME}/lib/libTemplateRuntime.so) - add_avs_library(ToggleController ${AAC_HOME}/lib/libToggleController.so) --add_avs_library(curl ${AAC_HOME}/lib/libcurl.so.4) --add_avs_library(nghttp2 ${AAC_HOME}/lib/libnghttp2.so.14) --add_avs_library(opus ${AAC_HOME}/lib/libopus.so.0) --add_avs_library(sqlite3 ${AAC_HOME}/lib/libsqlite3.so.0) - --if(EXISTS ${AAC_HOME}/lib/libpryon_lite.so.1.13) -+if(EXISTS ${AAC_HOME}/lib/libAACEAmazonLiteEngine.so) - add_aace_library(AACEAmazonLiteEngine) - add_avs_library(AMAZONLITE ${AAC_HOME}/lib/libAMAZONLITE.so) - add_avs_library(KeywordDetectorProvider ${AAC_HOME}/lib/libKeywordDetectorProvider.so) -- add_avs_library(pryon_lite ${AAC_HOME}/lib/libpryon_lite.so.1.13) - endif() - - if(EXISTS ${AAC_HOME}/share/cmake/AACESystemAudio.cmake) diff --git a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch b/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch deleted file mode 100644 index 5886709b..00000000 --- a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch +++ /dev/null @@ -1,286 +0,0 @@ -Add autobuild scripts - -Add autobuild scripts and update .gitignore to not ignore them. -The autobuild/agl/autobuild script will be required for building widgets -in AGL, add the latest version to the voiceagent source tree. - -Upstream-Status: Pending - -Signed-off-by: Scott Murray - -diff --git a/.gitignore b/.gitignore -index b3c1108..edbf1b5 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -1,3 +1,2 @@ --autobuild/ - build/ - alexa-voiceagent-apidef.h -diff --git a/autobuild/agl/autobuild b/autobuild/agl/autobuild -new file mode 100755 -index 0000000..16181b8 ---- /dev/null -+++ b/autobuild/agl/autobuild -@@ -0,0 +1,128 @@ -+#!/usr/bin/make -f -+# Copyright (C) 2015 - 2018 "IoT.bzh" -+# Copyright (C) 2020 Konsulko Group -+# Author "Romain Forlot" -+# -+# Licensed under the Apache License, Version 2.0 (the "License"); -+# you may not use this file except in compliance with the License. -+# You may obtain a copy of the License at -+# -+# http://www.apache.org/licenses/LICENSE-2.0 -+# -+# Unless required by applicable law or agreed to in writing, software -+# distributed under the License is distributed on an "AS IS" BASIS, -+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+# See the License for the specific language governing permissions and -+# limitations under the License. -+ -+THISFILE := $(lastword $(MAKEFILE_LIST)) -+ROOT_DIR := $(abspath $(dir $(THISFILE))/../..) -+ -+# Build directories -+# Note that the debug/test/coverage directories are defined in relation -+# to the release directory (BUILD_DIR), this needs to be kept in mind -+# if over-riding it and building those widget types, the specific widget -+# type variable (e.g. BUILD_DIR_DEBUG) may also need to be specified -+# to yield the desired output hierarchy. -+BUILD_DIR = $(ROOT_DIR)/build -+BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug) -+BUILD_DIR_TEST = $(abspath $(BUILD_DIR)/../build-test) -+BUILD_DIR_COVERAGE = $(abspath $(BUILD_DIR)/../build-coverage) -+ -+# Output directory variable for use in pattern rules. -+# This is intended for internal use only, hence the explicit override -+# definition. -+override OUTPUT_DIR = $(BUILD_DIR) -+ -+# Final install directory for widgets -+DEST = $(OUTPUT_DIR) -+ -+# Default build type for release/test builds -+BUILD_TYPE = RELEASE -+ -+.PHONY: all help update install distclean -+.PHONY: clean clean-release clean-debug clean-test clean-coverage clean-all -+.PHONY: configure configure-release configure-debug configure-test configure-coverage -+.PHONY: build build-release build-debug build-test build-coverage build-all -+.PHONY: package package-release package-debug package-test package-coverage package-all -+ -+help: -+ @echo "List of targets available:" -+ @echo "" -+ @echo "- all" -+ @echo "- help" -+ @echo "- clean" -+ @echo "- distclean" -+ @echo "- configure" -+ @echo "- build: compilation, link and prepare files for package into a widget" -+ @echo "- package: output a widget file '*.wgt'" -+ @echo "- install: install in your $(CMAKE_INSTALL_DIR) directory" -+ @echo "" -+ @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt" -+ @echo "Don't use your build dir as DEST as wgt file is generated at this location" -+ -+all: package-all -+ -+# Target specific variable over-rides so static pattern rules can be -+# used for the various type-specific targets. -+ -+configure-test build-test package-test clean-test: OUTPUT_DIR = $(BUILD_DIR_TEST) -+ -+configure-coverage build-coverage package-coverage clean-coverage: OUTPUT_DIR = $(BUILD_DIR_COVERAGE) -+configure-coverage build-coverage package-coverage: BUILD_TYPE = COVERAGE -+ -+configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG) -+configure-debug build-debug package-debug: BUILD_TYPE = DEBUG -+ -+clean-release clean-test clean-debug clean-coverage: -+ @if [ -d $(OUTPUT_DIR) ]; then \ -+ $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \ -+ else \ -+ echo Nothing to clean; \ -+ fi -+ -+clean: clean-release -+ -+clean-all: clean-release clean-test clean-debug clean-coverage -+ -+distclean: clean-all -+ -+configure-release configure-test configure-debug configure-coverage: -+ @mkdir -p $(OUTPUT_DIR) -+ @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \ -+ (cd $(OUTPUT_DIR) && cmake -S $(ROOT_DIR) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(CONFIGURE_ARGS)); \ -+ fi -+ -+configure: configure-release -+ -+build-release build-debug build-coverage: build-%: configure-% -+ @cmake --build $(OUTPUT_DIR) $(BUILD_ARGS) --target all -+ -+# Kept for consistency, empty to avoid building everything for test widget -+build-test: configure-test -+ -+build: build-release -+ -+build-all: build-release build-debug build-test build-coverage -+ -+package-release package-debug package-coverage: package-%: build-% -+ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target widget -+ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ -+ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ -+ fi -+ -+package-test: build-test -+ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target test_widget -+ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ -+ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ -+ fi -+ -+package: package-release -+ -+package-all: package-release package-test package-coverage package-debug -+ -+update: configure -+ @cmake --build $(BUILD_DIR) --target autobuild -+ -+install: build -+ @cmake --build $(BUILD_DIR) $(INSTALL_ARGS) --target install -diff --git a/autobuild/linux/autobuild b/autobuild/linux/autobuild -new file mode 100755 -index 0000000..16181b8 ---- /dev/null -+++ b/autobuild/linux/autobuild -@@ -0,0 +1,128 @@ -+#!/usr/bin/make -f -+# Copyright (C) 2015 - 2018 "IoT.bzh" -+# Copyright (C) 2020 Konsulko Group -+# Author "Romain Forlot" -+# -+# Licensed under the Apache License, Version 2.0 (the "License"); -+# you may not use this file except in compliance with the License. -+# You may obtain a copy of the License at -+# -+# http://www.apache.org/licenses/LICENSE-2.0 -+# -+# Unless required by applicable law or agreed to in writing, software -+# distributed under the License is distributed on an "AS IS" BASIS, -+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+# See the License for the specific language governing permissions and -+# limitations under the License. -+ -+THISFILE := $(lastword $(MAKEFILE_LIST)) -+ROOT_DIR := $(abspath $(dir $(THISFILE))/../..) -+ -+# Build directories -+# Note that the debug/test/coverage directories are defined in relation -+# to the release directory (BUILD_DIR), this needs to be kept in mind -+# if over-riding it and building those widget types, the specific widget -+# type variable (e.g. BUILD_DIR_DEBUG) may also need to be specified -+# to yield the desired output hierarchy. -+BUILD_DIR = $(ROOT_DIR)/build -+BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug) -+BUILD_DIR_TEST = $(abspath $(BUILD_DIR)/../build-test) -+BUILD_DIR_COVERAGE = $(abspath $(BUILD_DIR)/../build-coverage) -+ -+# Output directory variable for use in pattern rules. -+# This is intended for internal use only, hence the explicit override -+# definition. -+override OUTPUT_DIR = $(BUILD_DIR) -+ -+# Final install directory for widgets -+DEST = $(OUTPUT_DIR) -+ -+# Default build type for release/test builds -+BUILD_TYPE = RELEASE -+ -+.PHONY: all help update install distclean -+.PHONY: clean clean-release clean-debug clean-test clean-coverage clean-all -+.PHONY: configure configure-release configure-debug configure-test configure-coverage -+.PHONY: build build-release build-debug build-test build-coverage build-all -+.PHONY: package package-release package-debug package-test package-coverage package-all -+ -+help: -+ @echo "List of targets available:" -+ @echo "" -+ @echo "- all" -+ @echo "- help" -+ @echo "- clean" -+ @echo "- distclean" -+ @echo "- configure" -+ @echo "- build: compilation, link and prepare files for package into a widget" -+ @echo "- package: output a widget file '*.wgt'" -+ @echo "- install: install in your $(CMAKE_INSTALL_DIR) directory" -+ @echo "" -+ @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt" -+ @echo "Don't use your build dir as DEST as wgt file is generated at this location" -+ -+all: package-all -+ -+# Target specific variable over-rides so static pattern rules can be -+# used for the various type-specific targets. -+ -+configure-test build-test package-test clean-test: OUTPUT_DIR = $(BUILD_DIR_TEST) -+ -+configure-coverage build-coverage package-coverage clean-coverage: OUTPUT_DIR = $(BUILD_DIR_COVERAGE) -+configure-coverage build-coverage package-coverage: BUILD_TYPE = COVERAGE -+ -+configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG) -+configure-debug build-debug package-debug: BUILD_TYPE = DEBUG -+ -+clean-release clean-test clean-debug clean-coverage: -+ @if [ -d $(OUTPUT_DIR) ]; then \ -+ $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \ -+ else \ -+ echo Nothing to clean; \ -+ fi -+ -+clean: clean-release -+ -+clean-all: clean-release clean-test clean-debug clean-coverage -+ -+distclean: clean-all -+ -+configure-release configure-test configure-debug configure-coverage: -+ @mkdir -p $(OUTPUT_DIR) -+ @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \ -+ (cd $(OUTPUT_DIR) && cmake -S $(ROOT_DIR) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(CONFIGURE_ARGS)); \ -+ fi -+ -+configure: configure-release -+ -+build-release build-debug build-coverage: build-%: configure-% -+ @cmake --build $(OUTPUT_DIR) $(BUILD_ARGS) --target all -+ -+# Kept for consistency, empty to avoid building everything for test widget -+build-test: configure-test -+ -+build: build-release -+ -+build-all: build-release build-debug build-test build-coverage -+ -+package-release package-debug package-coverage: package-%: build-% -+ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target widget -+ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ -+ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ -+ fi -+ -+package-test: build-test -+ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target test_widget -+ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ -+ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ -+ fi -+ -+package: package-release -+ -+package-all: package-release package-test package-coverage package-debug -+ -+update: configure -+ @cmake --build $(BUILD_DIR) --target autobuild -+ -+install: build -+ @cmake --build $(BUILD_DIR) $(INSTALL_ARGS) --target install diff --git a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json b/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json deleted file mode 100644 index 48918015..00000000 --- a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id": "VA-001", - "active": true, - "name": "Alexa", - "api": "alexa-voiceagent", - "wakewords": [ - "alexa", - "computer", - "echo" - ], - "activewakeword": "alexa", - "description": "Alexa voice assistant by Amazon.", - "vendor": "Amazon.com Services Inc" -} diff --git a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb b/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb deleted file mode 100644 index c08377cd..00000000 --- a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "Alexa voice agent binding" -DESCRIPTION = "alexa-voiceagent-service is an Alexa Auto SDK based voiceagent binding" -HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/agl-service-voice-high" -SECTION = "apps" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://License.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" - -DEPENDS = " \ - libafb-helpers \ - libappcontroller \ - avs-device-sdk \ - aac-module-core \ - aac-module-alexa \ - aac-module-address-book \ - aac-module-car-control \ - aac-module-cbl \ - aac-module-contact-uploader \ - aac-module-navigation \ - aac-module-phone-control \ - aac-module-system-audio \ - ${@bb.utils.contains("ALEXA_WAKEWORD", "true", "aac-module-amazonlite pryon-lite", "", d)} \ -" - -SRC_URI = "git://github.com/alexa/alexa-auto-sdk.git;protocol=https;branch=2.3 \ - file://alexa.json \ - file://0001-remove-library-dependency-copying.patch \ - file://0007-add-autobuild-scripts.patch \ -" -SRCREV = "d46f22b453f528868b483e39bc7a057ca68a5199" - -PV = "2.3+git${SRCPV}" -S = "${WORKDIR}/git/platforms/agl/alexa-voiceagent-service" - -inherit cmake aglwgt - -EXTRA_OECMAKE += "-DAAC_HOME=${RECIPE_SYSROOT}/${AAC_PREFIX}" - -ALEXA_WAKEWORD ??= "false" - -do_install:append() { - install -D -m 0644 ${WORKDIR}/alexa.json ${D}${sysconfdir}/xdg/AGL/voiceagents/alexa.json -} - -PACKAGES =+ "${PN}-conf" - -FILES:${PN}-conf = "${sysconfdir}/xdg/AGL/voiceagents/*" - -# NOTE: curl and opus are from the base SDK libraries, sqlite3 from the -# core module -RDEPENDS:${PN} += " \ - libcurl \ - libopus \ - libsqlite3 \ - ${PN}-conf \ - ${@bb.utils.contains("ALEXA_WAKEWORD", "true", "pryon-lite", "", d)} \ - gstreamer1.0-plugins-bad-hls \ -" diff --git a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch deleted file mode 100644 index 3bf79835..00000000 --- a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch +++ /dev/null @@ -1,35 +0,0 @@ -Workaround for connection deadlock - -Change the maximum (effectively infinite) delay in HTTP2Transport's -connecting state handling code to use the inactivity timeout value, -which is currently 5 minutes. This seems to avoid triggering a -deadlock between the condition variable checking in the -monitorSharedQueueWhileWaiting method and use of the object's m_mutex -member in sendPostConnectMessage and onActivity methods. -At present, my theory is this issue stems from some change or bug -in the newer g++/libstdc++ coming with dunfell versus the thud release -that Amazon supports. - -Upstream-Status: Inappropriate [other] - -Signed-off-by: Scott Murray - -diff --git a/ACL/src/Transport/HTTP2Transport.cpp b/ACL/src/Transport/HTTP2Transport.cpp -index f1b5c03..dec7424 100644 ---- a/ACL/src/Transport/HTTP2Transport.cpp -+++ b/ACL/src/Transport/HTTP2Transport.cpp -@@ -618,7 +618,13 @@ HTTP2Transport::State HTTP2Transport::handleConnecting() { - return m_state; - } - -- return monitorSharedQueueWhileWaiting(State::CONNECTING); -+ // Wait for connection for the same length of time as the post-connection -+ // inactivity monitor timeout (currently 5 minutes). -+ // This seems to avoid triggering an issue where connecting deadlocks when -+ // using the maximum timeout of std::chrono:steady_clock. -+ std::chrono::time_point timeout = -+ std::chrono::steady_clock::now() + INACTIVITY_TIMEOUT; -+ return monitorSharedQueueWhileWaiting(State::CONNECTING, timeout); - } - - HTTP2Transport::State HTTP2Transport::handleWaitingToRetryConnecting() { diff --git a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend deleted file mode 100644 index 3b1bc32c..00000000 --- a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" - -SRC_URI += "file://0001-connection-deadlock-workaround.patch" diff --git a/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend b/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend deleted file mode 100644 index a4a0c57b..00000000 --- a/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -# Fix nlohmann dependency to pick up newer nlohmann-json recipe in meta-oe -DEPENDS:remove = "nlohmann" -DEPENDS:append = " nlohmann-json" diff --git a/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend b/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend deleted file mode 100644 index a4a0c57b..00000000 --- a/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -# Fix nlohmann dependency to pick up newer nlohmann-json recipe in meta-oe -DEPENDS:remove = "nlohmann" -DEPENDS:append = " nlohmann-json" diff --git a/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend b/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend deleted file mode 100644 index 7417b494..00000000 --- a/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend +++ /dev/null @@ -1,12 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -# Needed for the required gstreamer-app-1.0 pkgconfig bits -DEPENDS += "gstreamer1.0-plugins-base" - -AAC_PATCHES += "file://0001-update-pipewire-gstreamer-plugins.patch" - -# Need to enable PipeWire support -EXTRA_OECMAKE += "-DUSE_PIPEWIRE=1" - -# Pull static library into appropriate package to avoid a QA error -FILES:${PN}-staticdev += "${AAC_PREFIX}/lib/libaal.a" diff --git a/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch b/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch deleted file mode 100644 index bc277588..00000000 --- a/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch +++ /dev/null @@ -1,44 +0,0 @@ -Update PipeWire gstreamer plugins - -Update PipeWire sink and source to handle drop of pwaudiosink and -pwaudiosrc in favor of pipewire* replacements. However, testing -has found that Alexa does not work with pipewiresrc (input hangs -after first interaction), so for now use "alsasrc device=pipewire" -as a workaround as recommended by upstream. - -Given that Amazon has dropped AGL support, this patch will need to -be carried locally. - -Upstream-Status: Inappropriate [no upstream] -Signed-off-by: Scott Murray ---- - lib/aal/src/gstreamer/player.c | 2 +- - lib/aal/src/gstreamer/recorder.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/aal/src/gstreamer/player.c b/lib/aal/src/gstreamer/player.c -index 5dd6627..5ff9402 100644 ---- a/lib/aal/src/gstreamer/player.c -+++ b/lib/aal/src/gstreamer/player.c -@@ -142,7 +142,7 @@ static aal_handle_t gstreamer_player_create(const aal_attributes_t* attr, aal_au - } else { - #ifdef USE_PIPEWIRE - g_info("Using Pipewire device: %s\n", attr->device); -- sink = gstreamer_create_and_add_element(bin, "pwaudiosink", "sink"); -+ sink = gstreamer_create_and_add_element(bin, "pipewiresink", "sink"); - if (sink) { - GstStructure* s = gst_structure_new("properties", "media.role", G_TYPE_STRING, attr->device, NULL); - g_object_set(G_OBJECT(sink), "stream-properties", s, NULL); -diff --git a/lib/aal/src/gstreamer/recorder.c b/lib/aal/src/gstreamer/recorder.c -index ff6d464..a13b000 100644 ---- a/lib/aal/src/gstreamer/recorder.c -+++ b/lib/aal/src/gstreamer/recorder.c -@@ -69,7 +69,7 @@ static aal_handle_t gstreamer_recorder_create(const aal_attributes_t* attr, aal_ - strncpy(src_desc, "autoaudiosrc", sizeof(src_desc) - 1); - } else { - #ifdef USE_PIPEWIRE -- snprintf(src_desc, sizeof(src_desc), "pwaudiosrc stream-properties=\"properties,media.role=%s\"", attr->device); -+ snprintf(src_desc, sizeof(src_desc), "alsasrc device=pipewire"); - #else - g_info("Using ALSA device: %s\n", attr->device); - snprintf(src_desc, sizeof(src_desc), "alsasrc device=%s", attr->device); diff --git a/meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb b/meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb deleted file mode 100644 index 12f51604..00000000 --- a/meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "The software for the AGL Alexa voiceagent feature" -DESCRIPTION = "The software for the AGL Alexa voiceagent feature" - -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-voiceagent-alexa \ - " - -RDEPENDS:${PN} = " \ - alexa-voiceagent-service \ - " -- cgit 1.2.3-korg