mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-17 00:08:08 +00:00
Bump the Mycroft version and at the same time remove the requirement to install Python packages using pip on the target. Installing packages on the target doesn't always work depending on the features of the rootfs. We now install a lot more of the Python pip packages in OE as well. Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
195 lines
6.0 KiB
Diff
195 lines
6.0 KiB
Diff
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/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 | 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
|
|
|