diff options
author | Bart Ribbers <bribbers@disroot.org> | 2020-04-30 16:59:38 +0200 |
---|---|---|
committer | Rasmus Thomsen <oss@cogitri.dev> | 2020-05-09 17:24:24 +0000 |
commit | 8758aac07d8a4f7c68531fbb759477aba2525418 (patch) | |
tree | 82140787c2df6be22092a2df9d5241085505cbdb /testing/mycroft-core/0005-make-some-deps-optional.patch | |
parent | 50d68de6551d0c5bd2371206c71928d2a24a0162 (diff) |
testing/mycroft-core: new aport
Diffstat (limited to 'testing/mycroft-core/0005-make-some-deps-optional.patch')
-rw-r--r-- | testing/mycroft-core/0005-make-some-deps-optional.patch | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/testing/mycroft-core/0005-make-some-deps-optional.patch b/testing/mycroft-core/0005-make-some-deps-optional.patch new file mode 100644 index 00000000000..c75a0fbd7d8 --- /dev/null +++ b/testing/mycroft-core/0005-make-some-deps-optional.patch @@ -0,0 +1,187 @@ +Upstream pull-request: https://github.com/MycroftAI/mycroft-core/pull/2575 + +diff --git a/.travis.yml b/.travis.yml +index c01c851d87..a0b9ab2c1c 100644 +--- a/.travis.yml ++++ b/.travis.yml +@@ -26,8 +26,6 @@ install: + - mkdir ${TMPDIR} + - echo ${TMPDIR} + - VIRTUALENV_ROOT=${VIRTUAL_ENV} ./dev_setup.sh +- - pip install -r requirements.txt +- - pip install -r test-requirements.txt + # command to run tests + script: + - pycodestyle mycroft test +diff --git a/LICENSE.md b/LICENSE.md +index b2719d2a5e..b882a785c0 100644 +--- a/LICENSE.md ++++ b/LICENSE.md +@@ -208,4 +208,4 @@ Component licenses for mycroft-core: + The mycroft-core software references various Python Packages (via PIP), + each of which has a separate license. All are compatible with the + Apache 2.0 license. See the referenced packages listed in the +-"requirements.txt" file for specific terms and conditions. ++"requirements/requirements.txt" file for specific terms and conditions. +diff --git a/MANIFEST.in b/MANIFEST.in +index 1888d6da7b..1708d5345f 100644 +--- a/MANIFEST.in ++++ b/MANIFEST.in +@@ -1,5 +1,5 @@ + recursive-include mycroft/client/speech/recognizer/model * +-include requirements.txt ++include requirements/requirements.txt + include mycroft/configuration/*.conf + recursive-include mycroft/res * + recursive-include mycroft/res/snd * +diff --git a/dev_setup.sh b/dev_setup.sh +index 3c59bc427b..f7f2d90009 100755 +--- a/dev_setup.sh ++++ b/dev_setup.sh +@@ -495,16 +495,26 @@ if ! grep -q "$TOP" $VENV_PATH_FILE ; then + fi + + # install required python modules +-if ! pip install -r requirements.txt ; then +- echo 'Warning: Failed to install all requirements. Continue? y/N' ++if ! pip install -r requirements/requirements.txt ; then ++ echo 'Warning: Failed to install required dependencies. 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..." ++# install optional python modules ++if ! pip install -r requirements/requirements-optional.txt ; then ++ echo 'Warning: Failed to install optional dependencies. Continue? y/N' ++ read -n1 continue ++ if [[ $continue != 'y' ]] ; then ++ exit 1 ++ fi ++fi ++ ++ ++if ! pip install -r requirements/requirements-tests.txt ; then ++ echo "Warning: Test requirements failed to install. Note: normal operation should still work fine..." + fi + + SYSMEM=$(free | awk '/^Mem:/ { print $2 }') +@@ -563,4 +573,4 @@ if [[ ! -w /var/log/mycroft/ ]] ; then + fi + + #Store a fingerprint of setup +-md5sum requirements.txt test-requirements.txt dev_setup.sh > .installed ++md5sum requirements/requirements.txt requirements/requirements-optional.txt requirements/requirements-tests.txt dev_setup.sh > .installed +diff --git a/mycroft/client/enclosure/generic/__init__.py b/mycroft/client/enclosure/generic/__init__.py +index 6256498add..a86dda739c 100644 +--- a/mycroft/client/enclosure/generic/__init__.py ++++ b/mycroft/client/enclosure/generic/__init__.py +@@ -15,7 +15,6 @@ + import subprocess + import time + import sys +-from alsaaudio import Mixer + from threading import Thread, Timer + + import mycroft.dialog +diff --git a/requirements/requirements-optional.txt b/requirements/requirements-optional.txt +new file mode 100644 +index 0000000000..4a62dad731 +--- /dev/null ++++ b/requirements/requirements-optional.txt +@@ -0,0 +1,4 @@ ++pychromecast==3.2.2 ++python-vlc==1.1.2 ++pyalsaaudio==0.8.2 ++google-api-python-client==1.6.4 +diff --git a/test-requirements.txt b/requirements/requirements-tests.txt +similarity index 90% +rename from test-requirements.txt +rename to requirements/requirements-tests.txt +index 874a0f130d..9e038123e5 100644 +--- a/test-requirements.txt ++++ b/requirements/requirements-tests.txt +@@ -7,3 +7,5 @@ sphinx==2.2.1 + sphinx-rtd-theme==0.4.3 + git+https://github.com/behave/behave@v1.2.7.dev1 + allure-behave==2.8.10 ++ ++python-vlc==1.1.2 +diff --git a/requirements.txt b/requirements/requirements.txt +similarity index 83% +rename from requirements.txt +rename to requirements/requirements.txt +index db2fa43738..f86a81b4bf 100644 +--- a/requirements.txt ++++ b/requirements/requirements.txt +@@ -7,16 +7,12 @@ SpeechRecognition==3.8.1 + tornado==6.0.3 + websocket-client==0.54.0 + requests-futures==0.9.5 +-pyalsaaudio==0.8.2 + pyserial==3.0 + psutil==5.6.6 + pocketsphinx==0.1.0 + inflection==0.3.1 + pillow==7.1.2 + 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==5.1.2 + +diff --git a/scripts/my-info.sh b/scripts/my-info.sh +index a3b944308e..e395411120 100644 +--- a/scripts/my-info.sh ++++ b/scripts/my-info.sh +@@ -144,7 +144,7 @@ function checkmimic() { + # pythoning! + function checkPIP() { + mlog "Python checks" +- mlog " - Verifying ${MYCROFT_HOME}/requirements.txt:" ++ mlog " - Verifying ${MYCROFT_HOME}/requirements/requirements.txt:" + if workon mycroft ; then + pip list > /tmp/mycroft-piplist.$$ + +diff --git a/setup.py b/setup.py +index c98f7b4f8f..2e171d66b6 100644 +--- a/setup.py ++++ b/setup.py +@@ -56,7 +56,9 @@ setup( + author_email='devs@mycroft.ai', + url='https://github.com/MycroftAI/mycroft-core', + description='Mycroft Core', +- install_requires=required('requirements.txt'), ++ install_requires=required('requirements/requirements.txt'), ++ extras_requires=required('requirements/requirements-optional.txt'), ++ tests_requires=required('requirements/requirements-tests.txt'), + packages=find_packages(include=['mycroft*']), + include_package_data=True, + +diff --git a/test/Dockerfile.test b/test/Dockerfile.test +index 87e3c85287..32554af019 100644 +--- a/test/Dockerfile.test ++++ b/test/Dockerfile.test +@@ -64,12 +64,14 @@ RUN python3 -m venv "/opt/mycroft/mycroft-core/.venv" + # determine if any changes have been made since it last started + WORKDIR /opt/mycroft/mycroft-core + RUN .venv/bin/python -m pip install pip==20.0.2 +-COPY requirements.txt . ++COPY requirements/requirements.txt . + RUN .venv/bin/python -m pip install -r requirements.txt +-COPY test-requirements.txt . +-RUN .venv/bin/python -m pip install -r test-requirements.txt ++COPY requirements/requirements-optional.txt . ++RUN .venv/bin/python -m pip install -r requirements-optional.txt ++COPY requirements/requirements-tests.txt . ++RUN .venv/bin/python -m pip install -r requirements-tests.txt + COPY dev_setup.sh . +-RUN md5sum requirements.txt test-requirements.txt dev_setup.sh > .installed ++RUN md5sum requirements.txt requirements-tests.txt requirements-optional.txt dev_setup.sh > .installed + + # Add the mycroft core virtual environment to the system path. + ENV PATH /opt/mycroft/mycroft-core/.venv/bin:$PATH |