meta-openembedded: refresh master: 0435c9e193..4a9deabbc8

Update meta-openembedded to master HEAD.

Alistair Francis (7):
      python3-pyaudio: Initial commit
      python3-pyfann2: Initial commit
      python3-pocketsphinx: Initial commit
      python3-xxhash: Initial commit
      mycroft: Initial commit
      libfann: Initial commit
      python-cryptography: Bump from 2.4.1 to 2.6.1

Andreas Müller (10):
      xfce4-screenshooter: upgrade 1.9.4 -> 1.9.5
      networkmanager: Fix upstream regex for 1.16
      networkmanager: fix build with musl
      gvfs: fix configure options and DDEPENDS
      rrdtool: fix build by disabling docs
      libpeas: rework gobject-introspection handling
      gvfs: Fix missing executable permission flags for files in libexec
      gnome-desktop3: remove gconf from DEPENDS
      gnome-desktop3: rework gobject-introspection handling
      gnome-desktop3: Disable libseccomp for all archs

Brad Bishop (1):
      libvncserver: enable split client/server packages

Fabio Berton (1):
      python*-requests: Update 2.20.1 -> 2.21.0

Gianfranco Costamagna (2):
      cpprest: fix build failure on 32bit systems, with upstream merged patch
      libmodbus: start to prefer version 3.1.4 as default

Hongxu Jia (1):
      dracut: fix udevdir not found

Khem Raj (5):
      ncmpc: Rename artist_screen to library_screen
      networkmanager: Fix build with clang
      alsa-oss: Upgrade to 1.1.8
      redis: Fix ocasional parallel build failure
      lcdproc: Fix parallel build

Nikolay Nizov (2):
      android-tools-conf: fix typo
      android-tools-conf: Make sure /dev/pts/0 exists

Oleksandr Kravchuk (2):
      fping: update to 4.2
      nuttcp: update to 7.3.3

Peter Kjellerstedt (1):
      doxygen: Make it build with ninja 1.9.0

Qi.Chen@windriver.com (2):
      openldap: add missing CVE tag to patch
      ipsec-tools: add missing CVE tags to patches

Randy MacLeod (2):
      imagemagic: upgrade to 7.0.8-35
      wolfssl: update to 3.15.8 and use github SRC_URI

Slater, Joseph (1):
      tcpreplay: update to version 4.3.2

Vincent Prince (4):
      Rsyslog: Add mmjsonparse to PACKAGECONFIG
      zeromq: bump version 4.2.5 => 4.3.1
      cppzmq: bump version 4.2.3 => 4.3.0
      czmq: bump version 4.1.1 => 4.2.0

Yi Zhao (3):
      python-engineio: add recipe
      python-socketio: add recipe
      python-flask-socketio

Zang Ruochen (4):
      augeas: upgrade 1.10.1 -> 1.11.0
      libedit: upgrade 20181209-3.1 -> 20190324-3.1
      mcelog: upgrade 161 -> 162
      lockfile-progs: upgrade 0.1.17 -> 0.1.18

leimaohui (1):
      Fix build error for armeb.

Change-Id: Ie79748c484bcf4fd28b3bde84e2194044e1c08a8
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0001-Remove-python-venv.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0001-Remove-python-venv.patch
new file mode 100644
index 0000000..c03bccd
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0001-Remove-python-venv.patch
@@ -0,0 +1,192 @@
+From 6272f36080bd440a5825b526f4c06223c5bb9fbb 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/5] 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     | 36 ------------------------------------
+ start-mycroft.sh | 13 -------------
+ venv-activate.sh | 44 +-------------------------------------------
+ 3 files changed, 1 insertion(+), 92 deletions(-)
+
+diff --git a/dev_setup.sh b/dev_setup.sh
+index e0b07bf25cf..aed54b2167a 100755
+--- a/dev_setup.sh
++++ b/dev_setup.sh
+@@ -310,18 +310,6 @@ function install_deps() {
+     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
+@@ -355,15 +343,7 @@ 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
+@@ -380,22 +360,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 b9514a61ba5..64e0216a62f 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 ${opt}
+         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.21.0
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0002-pip-requirements-Remove-ones-installed-by-OE.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0002-pip-requirements-Remove-ones-installed-by-OE.patch
new file mode 100644
index 0000000..ca79d00
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0002-pip-requirements-Remove-ones-installed-by-OE.patch
@@ -0,0 +1,62 @@
+From 142bc3912ea9e1a4ecf4db0e2bec3049aa416464 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 2/5] pip requirements: Remove ones installed by OE
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
+---
+ requirements.txt      | 14 --------------
+ test-requirements.txt |  1 -
+ 2 files changed, 15 deletions(-)
+
+diff --git a/requirements.txt b/requirements.txt
+index 7e4faf48182..29536e990ac 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,20 +1,10 @@
+-six==1.10.0
+-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==0.7.7
+ python-vlc==1.1.2
+@@ -26,10 +16,6 @@ msm==0.7.3
+ msk==0.3.12
+ adapt-parser==0.3.2
+ 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
+index 8ada8157c95..eb4e364a9b4 100644
+--- a/test-requirements.txt
++++ b/test-requirements.txt
+@@ -1,6 +1,5 @@
+ pep8==1.7.0
+ coveralls==1.5.0
+-pytest==3.5.0
+ pytest-cov==2.5.1
+ cov-core==1.15.0
+ mock==2.0.0
+-- 
+2.21.0
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0003-Use-python3-and-pip3-instead-of-python-and-pip.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0003-Use-python3-and-pip3-instead-of-python-and-pip.patch
new file mode 100644
index 0000000..a1f04b4
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0003-Use-python3-and-pip3-instead-of-python-and-pip.patch
@@ -0,0 +1,135 @@
+From 87b94e54fefa1f83b41030444fc87b421c97b2c5 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 3/5] 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                    | 10 +++++-----
+ scripts/install-pocketsphinx.sh |  2 +-
+ 7 files changed, 12 insertions(+), 12 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 964e16eb0c5..5575969715c 100755
+--- a/bin/mycroft-say-to
++++ b/bin/mycroft-say-to
+@@ -22,4 +22,4 @@ DIR="$( pwd )"
+ source "$DIR/../venv-activate.sh" -q
+ 
+ # Send a message to be spoken
+-output=$(python -m mycroft.messagebus.send "recognizer_loop:utterance"  "{\"utterances\": [\"$@\"], \"lang\": \"en-us\"}")
++output=$(python3 -m mycroft.messagebus.send "recognizer_loop:utterance"  "{\"utterances\": [\"$@\"], \"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 51facf29189..c65556f1173 100755
+--- a/bin/mycroft-speak
++++ b/bin/mycroft-speak
+@@ -22,4 +22,4 @@ DIR="$( pwd )"
+ source "$DIR/../venv-activate.sh" -q
+ 
+ # Send a message to be spoken
+-output=$(python -m mycroft.messagebus.send "speak"  "{\"utterance\": \"$@\"}")
+\ No newline at end of file
++output=$(python3 -m mycroft.messagebus.send "speak"  "{\"utterance\": \"$@\"}")
+\ No newline at end of file
+diff --git a/dev_setup.sh b/dev_setup.sh
+index aed54b2167a..dd391181f19 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
+@@ -351,17 +351,17 @@ if [ -z ${INSTALL_PRECOMMIT_HOOK} ] ; then
+     HOOK_FILE="./.git/hooks/pre-commit"
+     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 "#! $( which python3 )" > ${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]))" )
++PYTHON=$( python3 -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
++if ! pip3 install -r requirements.txt ; then
+     echo "Warning: Failed to install all requirements. Continue? y/N"
+     read -n1 continue
+     if [[ "$continue" != "y" ]] ; then
+@@ -369,7 +369,7 @@ if ! pip install -r requirements.txt ; then
+     fi
+ fi
+ 
+-if ! pip install -r test-requirements.txt ; then
++if ! pip3 install -r test-requirements.txt ; then
+     echo "Warning test requirements wasn't installed, Note: normal operation should still work fine..."
+ fi
+ 
+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.21.0
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-dev_setup.sh-Remove-the-git-dependency.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-dev_setup.sh-Remove-the-git-dependency.patch
new file mode 100644
index 0000000..b7ca160
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-dev_setup.sh-Remove-the-git-dependency.patch
@@ -0,0 +1,48 @@
+From a480dde949f820fda6e46c13261883e851f5a430 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 4/5] 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 dd391181f19..c6aa783e1ef 100755
+--- a/dev_setup.sh
++++ b/dev_setup.sh
+@@ -312,10 +312,6 @@ function install_deps() {
+ 
+ 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
+@@ -346,18 +342,6 @@ fi
+ # Start the virtual environment
+ cd "${TOP}"
+ 
+-# Install pep8 pre-commit hook
+-if [ -z ${INSTALL_PRECOMMIT_HOOK} ] ; then
+-    HOOK_FILE="./.git/hooks/pre-commit"
+-    if [ ! -f ${HOOK_FILE} ] || grep -q "MYCROFT DEV SETUP" ${HOOK_FILE} ; then
+-        echo "Installing PEP8 check as precommit-hook"
+-        echo "#! $( which python3 )" > ${HOOK_FILE}
+-        echo "# MYCROFT DEV SETUP" >> ${HOOK_FILE}
+-        cat ./scripts/pre-commit >> ${HOOK_FILE}
+-        chmod +x ${HOOK_FILE}
+-    fi
+-fi
+-
+ PYTHON=$( python3 -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))" )
+ 
+ # install required python modules
+-- 
+2.21.0
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-dev_setup.sh-Remove-the-test-setup-dependency.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-dev_setup.sh-Remove-the-test-setup-dependency.patch
new file mode 100644
index 0000000..5ae8683
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-dev_setup.sh-Remove-the-test-setup-dependency.patch
@@ -0,0 +1,31 @@
+From 7fc38ae0dec30789fa0d365f1764f4950b700a98 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Tue, 2 Apr 2019 16:52:44 -0700
+Subject: [PATCH 5/5] dev_setup.sh: Remove the test setup dependency
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+---
+ dev_setup.sh | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/dev_setup.sh b/dev_setup.sh
+index c6aa783e1ef..bcfaa0c16c2 100755
+--- a/dev_setup.sh
++++ b/dev_setup.sh
+@@ -353,10 +353,6 @@ if ! pip3 install -r requirements.txt ; then
+     fi
+ fi
+ 
+-if ! pip3 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
+-- 
+2.21.0
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/dev_opts.json b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/dev_opts.json
new file mode 100644
index 0000000..5ed85fa
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/dev_opts.json
@@ -0,0 +1 @@
+{"use_branch": "dev", "auto_update": false}
\ No newline at end of file
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft-setup.service b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft-setup.service
new file mode 100644
index 0000000..0759823
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft-setup.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Mycroft Setup
+DefaultDependencies=no
+After=systemd-user-sessions.service
+
+[Service]
+Type=oneshot
+ExecStart=@LIBDIR@/mycroft/dev_setup.sh --allow-root
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft.service b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft.service
new file mode 100644
index 0000000..04cf436
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/mycroft.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Mycroft
+DefaultDependencies=no
+After=mycroft-setup
+
+[Service]
+Type=forking
+ExecStartPre=mkdir -p /var/log/mycroft
+ExecStart=@LIBDIR@/mycroft/start-mycroft.sh all
+ExecStop=@LIBDIR@/mycroft/stop-mycroft.sh all
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.2.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.2.2.bb
new file mode 100644
index 0000000..c8ae534
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.2.2.bb
@@ -0,0 +1,73 @@
+SUMMARY = "Mycroft is a hackable open source voice assistant."
+DESCRIPTION = "Mycroft is the world’s first open source assistant. "
+HOMEPAGE = "https://mycroft.ai/"
+SECTION = "multimedia"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=79aa497b11564d1d419ee889e7b498f6"
+
+SRCREV = "6706c377820912f83c1838d9eb32950ca9e39ec7"
+SRC_URI = "git://github.com/MycroftAI/mycroft-core.git;branch=master \
+           file://0001-Remove-python-venv.patch \
+           file://0002-pip-requirements-Remove-ones-installed-by-OE.patch \
+           file://0003-Use-python3-and-pip3-instead-of-python-and-pip.patch \
+           file://0004-dev_setup.sh-Remove-the-git-dependency.patch \
+           file://0005-dev_setup.sh-Remove-the-test-setup-dependency.patch \
+           file://dev_opts.json \
+           file://mycroft-setup.service \
+           file://mycroft.service \
+          "
+
+S = "${WORKDIR}/git"
+
+inherit systemd
+
+# Mycroft installs itself on the host
+# Just copy the setup files to the rootfs
+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"
+
+# Install as many Python packages as we can.
+# We don't yet have all the packages in meta-python.
+# Install as many as we can and we will install the rest on the target with pip.
+# TODO: Add all the remaining packages and remove pip
+RDEPENDS_${PN} += "python3-pip \
+                   python3-requests python3-pillow \
+                   python3-tornado python3-pyyaml \
+                   python3-pyalsaaudio python3-inflection \
+                   python3-pyserial python3-psutil \
+                   python3-pyaudio python3-fann2 \
+                   python3-pocketsphinx \
+                   python3-xxhash \
+                 "
+
+# Mycroft uses Alsa and PulseAudio
+RDEPENDS_${PN} += "alsa-oss alsa-utils alsa-plugins alsa-tools"
+RDEPENDS_${PN} += "pulseaudio pulseaudio-misc pulseaudio-server"
+
+# Mycroft can do this itself on the target, but it's quicker to do it here
+RDEPENDS_${PN} += "mimic"
+
+SYSTEMD_SERVICE_${PN} = "mycroft-setup.service mycroft.service"