From 8cd8b77b95666cda9b4752be47d76b5644b1c8e6 Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Mon, 18 Oct 2021 14:24:52 +0200 Subject: Prepare master for new framework integration During the last workshop the transition to the new framework was presented. This change essentially deprecates the SMACK-based application framework. To prepare the integration of it, we remove the deprecated components: - meta-speech-framework and the voiceagent services Bug-AGL: SPEC-4121 Signed-off-by: Jan-Simon Moeller Change-Id: I803dd18184338a1f5519af27136e1d5a58ee9369 --- .../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 - 20 files changed, 14 insertions(+), 701 deletions(-) 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/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