added my Recipes

This commit is contained in:
2024-07-11 14:16:35 +02:00
parent 38bc4f53ac
commit 09b621d929
7118 changed files with 525762 additions and 3 deletions

View File

@@ -0,0 +1,194 @@
From 07fce2101d83b5334de78e661ba0361c2874ebdf Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Mon, 18 Mar 2019 16:30:45 -0700
Subject: [PATCH 1/7] Remove python venv
Remove the python venv requirements and instead just use the native
python and pip pacakges.
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
dev_setup.sh | 39 ---------------------------------------
start-mycroft.sh | 13 -------------
venv-activate.sh | 44 +-------------------------------------------
3 files changed, 1 insertion(+), 95 deletions(-)
diff --git a/dev_setup.sh b/dev_setup.sh
index cf81ed25f0f..99a44bfd8a7 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -338,18 +338,6 @@ ${YELLOW}Make sure to manually install:$BLUE git python3 python-setuptools pytho
fi
}
-VIRTUALENV_ROOT=${VIRTUALENV_ROOT:-"${TOP}/.venv"}
-
-function install_venv() {
- $opt_python -m venv "${VIRTUALENV_ROOT}/" --without-pip
- # Force version of pip for reproducability, but there is nothing special
- # about this version. Update whenever a new version is released and
- # verified functional.
- curl https://bootstrap.pypa.io/3.3/get-pip.py | "${VIRTUALENV_ROOT}/bin/python" - 'pip==18.0.0'
- # Function status depending on if pip exists
- [[ -x ${VIRTUALENV_ROOT}/bin/pip ]]
-}
-
install_deps
# Configure to use the standard commit template for
@@ -383,17 +371,6 @@ else
fi
fi
-if [[ ! -x ${VIRTUALENV_ROOT}/bin/activate ]] ; then
- if ! install_venv ; then
- echo 'Failed to set up virtualenv for mycroft, exiting setup.'
- exit 1
- fi
-fi
-
-# Start the virtual environment
-source "${VIRTUALENV_ROOT}/bin/activate"
-cd "$TOP"
-
# Install pep8 pre-commit hook
HOOK_FILE='./.git/hooks/pre-commit'
if [[ -n $INSTALL_PRECOMMIT_HOOK ]] || grep -q 'MYCROFT DEV SETUP' $HOOK_FILE; then
@@ -408,22 +385,6 @@ fi
PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
-# Add mycroft-core to the virtualenv path
-# (This is equivalent to typing 'add2virtualenv $TOP', except
-# you can't invoke that shell function from inside a script)
-VENV_PATH_FILE="${VIRTUALENV_ROOT}/lib/$PYTHON/site-packages/_virtualenv_path_extensions.pth"
-if [[ ! -f $VENV_PATH_FILE ]] ; then
- echo 'import sys; sys.__plen = len(sys.path)' > "$VENV_PATH_FILE" || return 1
- echo "import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)" >> "$VENV_PATH_FILE" || return 1
-fi
-
-if ! grep -q "$TOP" $VENV_PATH_FILE ; then
- echo 'Adding mycroft-core to virtualenv path'
- sed -i.tmp '1 a\
-'"$TOP"'
-' "$VENV_PATH_FILE"
-fi
-
# install required python modules
if ! pip install -r requirements.txt ; then
echo 'Warning: Failed to install all requirements. Continue? y/N'
diff --git a/start-mycroft.sh b/start-mycroft.sh
index 0f88430982e..3aed2f189d4 100755
--- a/start-mycroft.sh
+++ b/start-mycroft.sh
@@ -20,7 +20,6 @@ script=${0}
script=${script##*/}
cd -P "$( dirname "$SOURCE" )"
DIR="$( pwd )"
-VIRTUALENV_ROOT=${VIRTUALENV_ROOT:-"${DIR}/.venv"}
function help() {
echo "${script}: Mycroft command/service launcher"
@@ -76,19 +75,11 @@ function name-to-script-path() {
esac
}
-function source-venv() {
- # Enter Python virtual environment, unless under Docker
- if [ ! -f "/.dockerenv" ] ; then
- source ${VIRTUALENV_ROOT}/bin/activate
- fi
-}
-
first_time=true
function init-once() {
if ($first_time) ; then
echo "Initializing..."
"${DIR}/scripts/prepare-msm.sh"
- source-venv
first_time=false
fi
}
@@ -225,15 +216,12 @@ case ${_opt} in
# launch-background ${_opt}
# ;;
"unittest")
- source-venv
pytest test/unittests/ --cov=mycroft "$@"
;;
"singleunittest")
- source-venv
pytest "$@"
;;
"skillstest")
- source-venv
pytest test/integrationtests/skills/discover_tests.py "$@"
;;
"audiotest")
@@ -243,7 +231,6 @@ case ${_opt} in
launch-process ${_opt}
;;
"sdkdoc")
- source-venv
cd doc
make ${_params}
cd ..
diff --git a/venv-activate.sh b/venv-activate.sh
index d1e7bcb44e7..10b46d4de3b 100644
--- a/venv-activate.sh
+++ b/venv-activate.sh
@@ -22,49 +22,7 @@
# wrap in function to allow local variables, since this file will be source'd
function main() {
- local quiet=0
-
- for arg in "$@"
- do
- case $arg in
- "-q"|"--quiet" )
- quiet=1
- ;;
-
- "-h"|"--help" )
- echo "venv-activate.sh: Enter the Mycroft virtual environment"
- echo "Usage:"
- echo " source venv-activate.sh"
- echo "or"
- echo " . venv-activate.sh"
- echo ""
- echo "Options:"
- echo " -q | --quiet Don't show instructions."
- echo " -h | --help Show help."
- return 0
- ;;
-
- *)
- echo "ERROR: Unrecognized option: $@"
- return 1
- ;;
- esac
- done
-
- if [ "$0" == "$BASH_SOURCE" ] ; then
- # Prevent running in script then exiting immediately
- echo "ERROR: Invoke with 'source venv-activate.sh' or '. venv-activate.sh'"
- else
- local SRC_DIR="$( builtin cd "$( dirname "${BASH_SOURCE}" )" ; pwd -P )"
- source ${SRC_DIR}/.venv/bin/activate
-
- # Provide an easier to find "mycroft-" prefixed command.
- unalias mycroft-venv-activate 2>/dev/null
- alias mycroft-venv-deactivate="deactivate && unalias mycroft-venv-deactivate 2>/dev/null && alias mycroft-venv-activate=\"source '${SRC_DIR}/venv-activate.sh'\""
- if [ $quiet -eq 0 ] ; then
- echo "Entering Mycroft virtual environment. Run 'mycroft-venv-deactivate' to exit"
- fi
- fi
+ echo "Not entering Python VENV"
}
main $@
--
2.23.0

View File

@@ -0,0 +1,48 @@
From 88696037af52d6a7f57bc0fb82598de1a25365cc Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Fri, 29 Mar 2019 16:09:57 -0700
Subject: [PATCH 2/7] dev_setup.sh: Remove the git dependency
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
dev_setup.sh | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/dev_setup.sh b/dev_setup.sh
index 99a44bfd8a7..672b27080c2 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -340,10 +340,6 @@ ${YELLOW}Make sure to manually install:$BLUE git python3 python-setuptools pytho
install_deps
-# Configure to use the standard commit template for
-# this repo only.
-git config commit.template .gitmessage
-
# Check whether to build mimic (it takes a really long time!)
build_mimic='n'
if [[ $opt_forcemimicbuild == true ]] ; then
@@ -371,18 +367,6 @@ else
fi
fi
-# Install pep8 pre-commit hook
-HOOK_FILE='./.git/hooks/pre-commit'
-if [[ -n $INSTALL_PRECOMMIT_HOOK ]] || grep -q 'MYCROFT DEV SETUP' $HOOK_FILE; then
- if [[ ! -f $HOOK_FILE ]] || grep -q 'MYCROFT DEV SETUP' $HOOK_FILE; then
- echo 'Installing PEP8 check as precommit-hook'
- echo "#! $(which python)" > $HOOK_FILE
- echo '# MYCROFT DEV SETUP' >> $HOOK_FILE
- cat ./scripts/pre-commit >> $HOOK_FILE
- chmod +x $HOOK_FILE
- fi
-fi
-
PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
# install required python modules
--
2.23.0

View File

@@ -0,0 +1,37 @@
From 5ef52cdea278a1dff966a912549cb6708f2cb699 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Tue, 17 Sep 2019 11:31:47 -0700
Subject: [PATCH 3/7] dev_setup.sh: Remove the TERM dependency
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
dev_setup.sh | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/dev_setup.sh b/dev_setup.sh
index 672b27080c2..72f734f36bf 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -115,18 +115,6 @@ function get_YN() {
done
}
-# If tput is available and can handle multiple colors
-if found_exe tput ; then
- if [[ $(tput colors) != "-1" ]]; then
- GREEN=$(tput setaf 2)
- BLUE=$(tput setaf 4)
- CYAN=$(tput setaf 6)
- YELLOW=$(tput setaf 3)
- RESET=$(tput sgr0)
- HIGHLIGHT=$YELLOW
- fi
-fi
-
# Run a setup wizard the very first time that guides the user through some decisions
if [[ ! -f .dev_opts.json && -z $CI ]] ; then
echo "
--
2.23.0

View File

@@ -0,0 +1,31 @@
From e3b6ca995caca22e65d012a54bc2aeb08eb7e9d4 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Tue, 15 Oct 2019 17:09:06 -0700
Subject: [PATCH 4/7] dev_setup.sh: Ignore missing package manager
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
dev_setup.sh | 6 ------
1 file changed, 6 deletions(-)
diff --git a/dev_setup.sh b/dev_setup.sh
index 72f734f36bf..0c8e11b8170 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -317,12 +317,6 @@ Please review the following package changes carefully."
echo -e "${YELLOW}Could not find package manager
${YELLOW}Make sure to manually install:$BLUE git python3 python-setuptools python-venv pygobject libtool libffi libjpg openssl autoconf bison swig glib2.0 portaudio19 mpg123 flac curl fann g++ jq\n$RESET"
- echo 'Warning: Failed to install all dependencies. Continue? y/N'
- read -n1 continue
- if [[ $continue != 'y' ]] ; then
- exit 1
- fi
-
fi
}
--
2.23.0

View File

@@ -0,0 +1,103 @@
From 04b14c4569309f1a433d955773aeb8a3607a1360 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Tue, 19 Mar 2019 13:32:54 -0700
Subject: [PATCH 5/7] pip requirements: Don't install requirements with pip
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
dev_setup.sh | 15 +--------------
requirements.txt | 36 ------------------------------------
test-requirements.txt | 7 -------
3 files changed, 1 insertion(+), 57 deletions(-)
delete mode 100644 requirements.txt
delete mode 100644 test-requirements.txt
diff --git a/dev_setup.sh b/dev_setup.sh
index 0c8e11b8170..be4a19de0c3 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -351,19 +351,6 @@ fi
PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
-# install required python modules
-if ! pip install -r requirements.txt ; then
- echo 'Warning: Failed to install all requirements. Continue? y/N'
- read -n1 continue
- if [[ $continue != 'y' ]] ; then
- exit 1
- fi
-fi
-
-if ! pip install -r test-requirements.txt ; then
- echo "Warning test requirements wasn't installed, Note: normal operation should still work fine..."
-fi
-
SYSMEM=$(free | awk '/^Mem:/ { print $2 }')
MAXCORES=$(($SYSMEM / 512000))
MINCORES=1
@@ -420,4 +407,4 @@ if [[ ! -w /var/log/mycroft/ ]] ; then
fi
#Store a fingerprint of setup
-md5sum requirements.txt test-requirements.txt dev_setup.sh > .installed
+md5sum dev_setup.sh > .installed
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index 0140d5465dc..00000000000
--- a/requirements.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-six==1.10.0
-cryptography==2.6.1
-requests==2.20.0
-gTTS==2.0.3
-gTTS-token==1.1.3
-PyAudio==0.2.11
-pyee==5.0.0
-SpeechRecognition==3.8.1
-tornado==4.5.3
-websocket-client==0.54.0
-requests-futures==0.9.5
-pyalsaaudio==0.8.2
-xmlrunner==1.7.7
-pyserial==3.0
-psutil==5.2.1
-pocketsphinx==0.1.0
-inflection==0.3.1
-pillow==4.1.1
-python-dateutil==2.6.0
-pychromecast==3.2.2
-python-vlc==1.1.2
-google-api-python-client==1.6.4
-fasteners==0.14.1
-PyYAML==3.13
-
-msm==0.8.3
-msk==0.3.13
-adapt-parser==0.3.3
-padatious==0.4.6
-fann2==1.0.7
-padaos==0.1.9
-precise-runner==0.2.1
-petact==0.1.2
-
-# dev setup tools
-pep8==1.7.0
diff --git a/test-requirements.txt b/test-requirements.txt
deleted file mode 100644
index fd129e3f66d..00000000000
--- a/test-requirements.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-pycodestyle===2.5.0
-coveralls==1.5.0
-pytest==3.5.0
-pytest-cov==2.5.1
-cov-core==1.15.0
-sphinx==1.8.2
-sphinx-rtd-theme==0.4.2
--
2.23.0

View File

@@ -0,0 +1,121 @@
From 86a1d18d96f827baa0c1029c85a53fc89d436e17 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Tue, 19 Mar 2019 13:38:44 -0700
Subject: [PATCH 6/7] Use python3 and pip3 instead of python and pip
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
bin/mycroft-cli-client | 2 +-
bin/mycroft-pip | 2 +-
bin/mycroft-say-to | 2 +-
bin/mycroft-skill-testrunner | 4 ++--
bin/mycroft-speak | 2 +-
dev_setup.sh | 6 +++---
scripts/install-pocketsphinx.sh | 2 +-
7 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/bin/mycroft-cli-client b/bin/mycroft-cli-client
index f40a316e3f6..de2040d9e67 100755
--- a/bin/mycroft-cli-client
+++ b/bin/mycroft-cli-client
@@ -21,4 +21,4 @@ DIR="$( dirname "$SOURCE" )"
source "$DIR/../venv-activate.sh" -q
# Invoke the Command Line Interface
-python -m mycroft.client.text $@
+python3 -m mycroft.client.text $@
diff --git a/bin/mycroft-pip b/bin/mycroft-pip
index a42b16b847a..81bd5bfb3cf 100755
--- a/bin/mycroft-pip
+++ b/bin/mycroft-pip
@@ -21,4 +21,4 @@ DIR="$( dirname "$SOURCE" )"
source "$DIR/../venv-activate.sh" -q
# Install pip packages within the Mycroft venv
-pip $@
\ No newline at end of file
+pip3 $@
\ No newline at end of file
diff --git a/bin/mycroft-say-to b/bin/mycroft-say-to
index 4ae597f3062..8bb4039996d 100755
--- a/bin/mycroft-say-to
+++ b/bin/mycroft-say-to
@@ -26,4 +26,4 @@ set -- "${1:-$(</dev/stdin)}" "${@:2}"
# Send a message to be spoken
data="$@"
-output=$(python -m mycroft.messagebus.send "recognizer_loop:utterance" "{\"utterances\": [\"$data\"], \"lang\": \"en-us\"}")
+output=$(python3 -m mycroft.messagebus.send "recognizer_loop:utterance" "{\"utterances\": [\"$data\"], \"lang\": \"en-us\"}")
diff --git a/bin/mycroft-skill-testrunner b/bin/mycroft-skill-testrunner
index 9699a4d138f..282f5ca65b0 100755
--- a/bin/mycroft-skill-testrunner
+++ b/bin/mycroft-skill-testrunner
@@ -22,7 +22,7 @@ source "$DIR/../venv-activate.sh" -q
# Invoke the individual skill tester
if [ "$#" -eq 0 ] ; then
- python -m test.integrationtests.skills.runner .
+ python3 -m test.integrationtests.skills.runner .
else
- python -m test.integrationtests.skills.runner $@
+ python3 -m test.integrationtests.skills.runner $@
fi
\ No newline at end of file
diff --git a/bin/mycroft-speak b/bin/mycroft-speak
index d80f0e75b13..9448ea3400f 100755
--- a/bin/mycroft-speak
+++ b/bin/mycroft-speak
@@ -24,4 +24,4 @@ source "$DIR/../venv-activate.sh" -q
# Send a message to be spoken
data="$@"
-output=$(python -m mycroft.messagebus.send "speak" "{\"utterance\": \"$data\"}")
+output=$(python3 -m mycroft.messagebus.send "speak" "{\"utterance\": \"$data\"}")
diff --git a/dev_setup.sh b/dev_setup.sh
index be4a19de0c3..2d9e17ddfd6 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -48,7 +48,7 @@ param=''
for var in "$@" ; do
# Check if parameter should be read
- if [[ $param == 'python' ]] ; then
+ if [[ $param == 'python3' ]] ; then
opt_python=$var
param=""
continue
@@ -75,7 +75,7 @@ for var in "$@" ; do
opt_skipmimicbuild=true
fi
if [[ $var == '-p' || $var == '--python' ]] ; then
- param='python'
+ param='python3'
fi
done
@@ -349,7 +349,7 @@ else
fi
fi
-PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
+PYTHON=$(python3 -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
SYSMEM=$(free | awk '/^Mem:/ { print $2 }')
MAXCORES=$(($SYSMEM / 512000))
diff --git a/scripts/install-pocketsphinx.sh b/scripts/install-pocketsphinx.sh
index 44d329b7985..d45f5c22747 100755
--- a/scripts/install-pocketsphinx.sh
+++ b/scripts/install-pocketsphinx.sh
@@ -47,7 +47,7 @@ function install_pocketsphinx() {
# build and install pocketsphinx python bindings
cd ${TOP}/pocketsphinx-python
- python setup.py install
+ python3 setup.py install
}
if [ "$1" = "-q" ] ; then
--
2.23.0

View File

@@ -0,0 +1,30 @@
From b48b3d240cb0fa5e76aa5daf578e51bb8126431d Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Wed, 16 Oct 2019 09:18:39 -0700
Subject: [PATCH 7/7] mycroft.conf: Use pocketsphinx by default
precise only works on certain architectures, to make Mycroft more
versitle use pocketsphinx as it is architecture independent.
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
mycroft/configuration/mycroft.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mycroft/configuration/mycroft.conf b/mycroft/configuration/mycroft.conf
index 1d0be0dcd2b..d2dc75dac44 100644
--- a/mycroft/configuration/mycroft.conf
+++ b/mycroft/configuration/mycroft.conf
@@ -196,7 +196,7 @@
// Hotword configurations
"hotwords": {
"hey mycroft": {
- "module": "precise",
+ "module": "pocketsphinx",
"phonemes": "HH EY . M AY K R AO F T",
"threshold": 1e-90,
"lang": "en-us"
--
2.23.0

View File

@@ -0,0 +1 @@
{"use_branch": "dev", "auto_update": false}

View File

@@ -0,0 +1,12 @@
[Unit]
Description=Mycroft Setup
DefaultDependencies=no
After=systemd-user-sessions.service
[Service]
Type=oneshot
ExecStart=cp -rf @LIBDIR@/mycroft /var/
ExecStart=/var/mycroft/dev_setup.sh --allow-root
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,14 @@
[Unit]
Description=Mycroft
RequiresMountsFor=/var
After=mycroft-setup.service
[Service]
Type=forking
WorkingDirectory=/var/mycroft
ExecStartPre=mkdir -p /var/log/mycroft
ExecStart=/var/mycroft/start-mycroft.sh all
ExecStop=/var/mycroft/stop-mycroft.sh all
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,95 @@
SUMMARY = "Mycroft is a hackable open source voice assistant."
DESCRIPTION = "Mycroft is the worlds first open source assistant. "
HOMEPAGE = "https://mycroft.ai/"
SECTION = "multimedia"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=79aa497b11564d1d419ee889e7b498f6"
SRCREV = "913f29d3d550637934f9abf43a097eb2c30d76fc"
SRC_URI = "git://github.com/MycroftAI/mycroft-core.git;branch=master;protocol=https \
file://0001-Remove-python-venv.patch \
file://0002-dev_setup.sh-Remove-the-git-dependency.patch \
file://0003-dev_setup.sh-Remove-the-TERM-dependency.patch \
file://0004-dev_setup.sh-Ignore-missing-package-manager.patch \
file://0005-pip-requirements-Don-t-install-requirements-with-pip.patch \
file://0006-Use-python3-and-pip3-instead-of-python-and-pip.patch \
file://0007-mycroft.conf-Use-pocketsphinx-by-default.patch \
file://dev_opts.json \
file://mycroft-setup.service \
file://mycroft.service \
"
S = "${WORKDIR}/git"
inherit systemd features_check
# Mycroft installs itself on the host
# Just copy the setup files to the rootfs
# The mycroft-setup service will copy the files to /var/ where we run them from
do_install() {
install -d ${D}${libdir}/
cp -r ${B} ${D}${libdir}/mycroft
rm -r ${D}${libdir}/mycroft/.git
# Install the dev opts so it doesn't ask us on initial setup.
install -m 644 ${WORKDIR}/dev_opts.json ${D}${libdir}/mycroft/.dev_opts.json
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/mycroft-setup.service ${D}${systemd_unitdir}/system
sed -i -e 's,@LIBDIR@,${libdir},g' ${D}${systemd_unitdir}/system/mycroft-setup.service
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/mycroft.service ${D}${systemd_unitdir}/system
sed -i -e 's,@LIBDIR@,${libdir},g' ${D}${systemd_unitdir}/system/mycroft.service
fi
}
FILES:${PN} += "${libdir}/mycroft"
RDEPENDS:${PN} = "python3"
RDEPENDS:${PN} += "python3-requests python3-pillow \
python3-tornado python3-pyyaml \
python3-pyalsaaudio python3-inflection \
python3-pyserial python3-psutil \
python3-pyaudio python3-fann2 \
python3-pocketsphinx \
python3-xxhash python3-pako \
python3-six python3-cryptography \
python3-requests-futures \
python3-xmlrunner python3-fasteners \
python3-python-vlc \
python3-padatious python3-padaos \
python3-petact python3-precise-runner \
python3-pulsectl python3-pychromecast \
python3-msm python3-msk \
python3-websocket-client \
python3-google-api-python-client \
"
# These packages need to be installed on the target
# python3-speechrecognition python3-pyee==5.0.0 python3-six==1.10.0
# python3-websocket-client==0.54.0 python3-gtts python3-gtts-token
# python3-python-dateutil python3-adapt-parser python3-lazy
# Mycroft uses Alsa, PulseAudio and Flac
RDEPENDS:${PN} += "alsa-utils alsa-plugins alsa-tools"
RDEPENDS:${PN} += "pulseaudio pulseaudio-misc pulseaudio-server"
RDEPENDS:${PN} += "flac mpg123"
# Mycroft can do this itself on the target, but it's quicker to do it here
RDEPENDS:${PN} += "mimic"
# pgrep is used by stop-mycroft.sh
RDEPENDS:${PN} += "procps"
# More tools needed by scripts
RDEPENDS:${PN} += "bash jq libnotify"
SYSTEMD_SERVICE:${PN} = "mycroft-setup.service mycroft.service"
REQUIRED_DISTRO_FEATURES += "pulseaudio"