Add avs-device-sdk to yocto

This commit is contained in:
Huang Xin 2022-07-01 08:51:11 -07:00
parent 30ec1056a9
commit 2ca2fa4b60
3 changed files with 25 additions and 16 deletions

View File

@ -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
}
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"

View File

@ -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"

View File

@ -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