From 2ca2fa4b60bca42975990c8ed38912e6f48eabef Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Fri, 1 Jul 2022 08:51:11 -0700 Subject: [PATCH] Add avs-device-sdk to yocto --- .../avs-device-sdk/avs-device-sdk_1.26.0.bb | 31 +++++++++---------- .../images/mtk-image-aud-8516.bb | 8 +++++ src/apps/aud-base/service/appmainprog.sh | 2 ++ 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/meta/meta-mediatek-aud/recipes-avs/avs-device-sdk/avs-device-sdk_1.26.0.bb b/meta/meta-mediatek-aud/recipes-avs/avs-device-sdk/avs-device-sdk_1.26.0.bb index b433abfe2..ce3687549 100644 --- a/meta/meta-mediatek-aud/recipes-avs/avs-device-sdk/avs-device-sdk_1.26.0.bb +++ b/meta/meta-mediatek-aud/recipes-avs/avs-device-sdk/avs-device-sdk_1.26.0.bb @@ -10,17 +10,18 @@ HOMEPAGE = "https://developer.amazon.com/avs/sdk" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d92e60ee98664c54f68aa515a6169708" -DEPENDS = "curl nghttp2 sqlite3 openssl gstreamer1.0 gstreamer1.0-plugins-base libopus portaudio libarchive" +DEPENDS = "useradd curl nghttp2 sqlite3 openssl gstreamer1.0 gstreamer1.0-plugins-base libopus libarchive cjson" SRC_URI = "git://xajhuang.com:3100/avs/avs-device-sdk.git;protocol=https;branch=master" SRCREV = "${AUTOREV}" COMPATIBLE_HOST = "aarch64-poky-linux" -S = "${WORKDIR}/git" +S = "${WORKDIR}/git/srcs" -EXTRA_OECMAKE = "${S} -DCMAKE_SKIP_RPATH=TRUE -DBUILD_TESTING=OFF \ - -DGSTREAMER_MEDIA_PLAYER=ON -DASPMIC=ON -DCMAKE_BUILD_TYPE=DEBUG -DPKCS11=OFF \ +EXTRA_OECMAKE = "${S} -DBUILD_TESTING=OFF \ + -DCMAKE_INSTALL_PREFIX=/home/avs/SampleApp -DCOMPANION_APP_AUTH=OFF \ + -DGSTREAMER_MEDIA_PLAYER=ON -DASPMIC=ON -DCMAKE_BUILD_TYPE=DEBUG -DPKCS11=ON \ -DCURL_INCLUDE_DIR=${STAGING_DIR_HOST}${includedir}/curl \ -DCURL_LIBRARY=${STAGING_DIR_HOST}${libdir}/libcurl.so \ -DLibArchive_INCLUDE_DIR=${STAGING_DIR_HOST}${includedir} \ @@ -33,25 +34,23 @@ EXTRA_OECMAKE = "${S} -DCMAKE_SKIP_RPATH=TRUE -DBUILD_TESTING=OFF \ " inherit cmake -FILES_${PN} = "${libdir}" +FILES_${PN} = "/home/avs/SampleApp/*" do_compile() { make -j8 SampleApp } do_install() { - install -d ${B}${libdir} - make install DESTDIR=${B}${libdir} + install -d ${B}/avs_app + make install DESTDIR=${B}/avs_app } do_install_append() { # Install Sample application to test Alexa Voice Service - install -d ${D}${bindir} - install -d ${D}${libdir} - install -d ${D}${libdir}/pkgconfig - install -m 0755 ${B}/SampleApp/src/SampleApp ${D}${bindir} - install -m 0755 ${B}${libdir}/usr/lib/*.so ${D}${libdir} - install -m 0755 ${B}/extension/mic-asp-sdk/libmic_asp.so ${D}${libdir} - install -m 0755 ${B}${libdir}/usr/lib/pkgconfig/AlexaClientSDK.pc ${D}${libdir}/pkgconfig/AlexaClientSDK.pc - chrpath -d ${D}${bindir}/SampleApp -} \ No newline at end of file + install -d -o avs -g avs ${D}/home/avs/SampleApp + install -m 0755 -o avs -g avs ${B}/SampleApp/src/SampleApp ${D}/home/avs/SampleApp/SampleApp + install -m 0755 -o avs -g avs ${B}/SampleApp/src/libLibSampleApp.so ${D}/home/avs/SampleApp/libLibSampleApp.so + install -m 0755 -o avs -g avs ${B}/avs_app/home/avs/SampleApp/lib/*.so ${D}/home/avs/SampleApp/ +} + +INSANE_SKIP_${PN} += "rpaths" \ No newline at end of file diff --git a/meta/meta-mediatek-mt8516/recipes-audio/images/mtk-image-aud-8516.bb b/meta/meta-mediatek-mt8516/recipes-audio/images/mtk-image-aud-8516.bb index bf74d78ce..568a8214b 100755 --- a/meta/meta-mediatek-mt8516/recipes-audio/images/mtk-image-aud-8516.bb +++ b/meta/meta-mediatek-mt8516/recipes-audio/images/mtk-image-aud-8516.bb @@ -80,6 +80,7 @@ IMAGE_INSTALL_append = " \ libev \ iptables \ useradd \ + avs-device-sdk \ " install_proc() { @@ -137,6 +138,13 @@ install_proc() { sed -i '2,$s#/bin/sh#/bin/false#' ${IMAGE_ROOTFS}/etc/passwd usermod --root ${IMAGE_ROOTFS} -G input,audio,video,netdev avs usermod --root ${IMAGE_ROOTFS} -P "avs123!@#" root + + chown -R avs:avs ${IMAGE_ROOTFS}/home/avs/SampleApp + mkdir ${IMAGE_ROOTFS}/data/database + mkdir ${IMAGE_ROOTFS}/data/avs + chown -R avs:avs ${IMAGE_ROOTFS}/data/database + chown -R avs:avs ${IMAGE_ROOTFS}/data/avs + chrpath -r /home/avs/SampleApp ${IMAGE_ROOTFS}/home/avs/SampleApp/SampleApp } ROOTFS_POSTPROCESS_COMMAND += " install_proc" diff --git a/src/apps/aud-base/service/appmainprog.sh b/src/apps/aud-base/service/appmainprog.sh index 59938e602..e7f9d3afb 100644 --- a/src/apps/aud-base/service/appmainprog.sh +++ b/src/apps/aud-base/service/appmainprog.sh @@ -2,6 +2,8 @@ hwclock -w +setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /home/avs/SampleApp/SampleApp + # start appmainprog echo 2 > /proc/sys/kernel/randomize_va_space /usr/sbin/iptables-restore < /etc/iptables.rules