aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBart Ribbers <bribbers@disroot.org>2021-02-12 10:07:13 +0100
committerBart Ribbers <bribbers@disroot.org>2021-02-12 09:11:22 +0000
commit2b772d3cf532e8ff733257c4a44f1fbdf5f37d9f (patch)
tree9f4e897d79d715e8e111329c6c14f3660eda836b
parent500fba0fe1517375eaff5152d03df7d840c61a79 (diff)
downloadaports-2b772d3cf532e8ff733257c4a44f1fbdf5f37d9f.tar.gz
aports-2b772d3cf532e8ff733257c4a44f1fbdf5f37d9f.tar.bz2
aports-2b772d3cf532e8ff733257c4a44f1fbdf5f37d9f.tar.xz
community/mycroft-core: upgrade to 20.8.1
-rw-r--r--community/mycroft-core/0001-xdg-settings-cache-and-runtime-data.patch214
-rw-r--r--community/mycroft-core/0002-system-wide-setups.patch14
-rw-r--r--community/mycroft-core/0003-skills-from-xdg.patch113
-rw-r--r--community/mycroft-core/APKBUILD18
-rw-r--r--community/mycroft-core/mycroft-core.post-install4
5 files changed, 248 insertions, 115 deletions
diff --git a/community/mycroft-core/0001-xdg-settings-cache-and-runtime-data.patch b/community/mycroft-core/0001-xdg-settings-cache-and-runtime-data.patch
index f6ae296b12..4113441d8b 100644
--- a/community/mycroft-core/0001-xdg-settings-cache-and-runtime-data.patch
+++ b/community/mycroft-core/0001-xdg-settings-cache-and-runtime-data.patch
@@ -1,16 +1,42 @@
-From e1397d10abb4d1e6d45f5eeacd550efe6b5737ef Mon Sep 17 00:00:00 2001
+From 96593f740c0ed52993ad80422552d17c083ed68b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=85ke=20Forslund?= <ake.forslund@gmail.com>
+Date: Fri, 8 Jan 2021 21:40:22 +0100
+Subject: [PATCH 1/4] Update identity location for VK test
+
+Moved from .mycroft to XDG folder
+---
+ Jenkinsfile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Jenkinsfile b/Jenkinsfile
+index be7ea9d8fa0..9382ad35a91 100644
+--- a/Jenkinsfile
++++ b/Jenkinsfile
+@@ -57,7 +57,7 @@ pipeline {
+ sh 'mkdir -p $HOME/core/$BRANCH_ALIAS/allure'
+ sh 'mkdir -p $HOME/core/$BRANCH_ALIAS/mycroft-logs'
+ sh 'docker run \
+- -v "$HOME/voight-kampff/identity:/root/.mycroft/identity" \
++ -v "$HOME/voight-kampff/identity:/root/.config/mycroft/identity" \
+ -v "$HOME/core/$BRANCH_ALIAS/allure:/root/allure" \
+ -v "$HOME/core/$BRANCH_ALIAS/mycroft-logs:/var/log/mycroft" \
+ --label build=${JOB_NAME} \
+
+From 96d85187a64dee8046135e0ef3dc898812af83b1 Mon Sep 17 00:00:00 2001
From: Bart Ribbers <bribbers@disroot.org>
Date: Fri, 8 May 2020 21:32:33 +0200
-Subject: [PATCH] Use XDG Base directories for settings, cache and runtime data
+Subject: [PATCH 2/4] Use XDG Base directories for settings, cache and runtime
+ data
+Improve deprecation warning message
---
- README.md | 10 +--
+ README.md | 8 +--
bin/mycroft-config | 6 +-
mycroft/api/__init__.py | 17 ++----
mycroft/client/enclosure/__main__.py | 6 +-
mycroft/client/enclosure/mark1/__init__.py | 5 ++
- mycroft/client/speech/hotword_factory.py | 48 +++++++++++++--
- mycroft/client/text/text_client.py | 35 ++++++++++-
+ mycroft/client/speech/hotword_factory.py | 33 ++++++++--
+ mycroft/client/text/text_client.py | 36 ++++++++++-
mycroft/configuration/__init__.py | 1 -
mycroft/configuration/config.py | 67 +++++++++++++++++----
mycroft/configuration/locations.py | 25 ++------
@@ -24,23 +50,22 @@ Subject: [PATCH] Use XDG Base directories for settings, cache and runtime data
test/unittests/skills/test_skill_updater.py | 6 +-
test/unittests/util/commented.json | 2 +-
test/unittests/util/plain.json | 2 +-
- 20 files changed, 212 insertions(+), 92 deletions(-)
+ 20 files changed, 197 insertions(+), 91 deletions(-)
diff --git a/README.md b/README.md
-index 1665b0a68d..eaf04259dd 100644
+index 01958ef2c73..82fcca33e7b 100644
--- a/README.md
+++ b/README.md
-@@ -71,20 +71,20 @@ Mycroft is nothing without skills. There are a handful of default skills that a
+@@ -73,20 +73,20 @@ Mycroft is nothing without skills. There are a handful of default skills that a
- ## Pairing Information
+ ### Pairing Information
Pairing information generated by registering with Home is stored in:
-`~/.mycroft/identity/identity2.json` <b><-- DO NOT SHARE THIS WITH OTHERS!</b>
+`~/.config/mycroft/identity/identity2.json` <b><-- DO NOT SHARE THIS WITH OTHERS!</b>
- ## Configuration
- Mycroft configuration consists of 4 possible locations:
--- `mycroft-core/mycroft/configuration/mycroft.conf`(Defaults)
-+- `mycroft-core/mycroft/configuration/mycroft.conf` (Defaults)
+ ### Configuration
+ Mycroft's configuration consists of 4 possible locations:
+ - `mycroft-core/mycroft/configuration/mycroft.conf`(Defaults)
- [Mycroft Home](https://home.mycroft.ai) (Remote)
-- `/etc/mycroft/mycroft.conf`(Machine)
-- `$HOME/.mycroft/mycroft.conf`(User)
@@ -49,7 +74,7 @@ index 1665b0a68d..eaf04259dd 100644
When the configuration loader starts, it looks in these locations in this order, and loads ALL configurations. Keys that exist in multiple configuration files will be overridden by the last file to contain the value. This process results in a minimal amount being written for a specific device and user, without modifying default distribution files.
- ## Using Mycroft Without Home
+ ### Using Mycroft Without Home
-If you do not wish to use the Mycroft Home service, before starting Mycroft for the first time, create `$HOME/.mycroft/mycroft.conf` with the following contents:
+If you do not wish to use the Mycroft Home service, before starting Mycroft for the first time, create `$HOME/.config/mycroft/mycroft.conf` with the following contents:
@@ -57,7 +82,7 @@ index 1665b0a68d..eaf04259dd 100644
```
{
diff --git a/bin/mycroft-config b/bin/mycroft-config
-index a1271b328d..981f2c5d0c 100755
+index a1271b328df..981f2c5d0c6 100755
--- a/bin/mycroft-config
+++ b/bin/mycroft-config
@@ -95,13 +95,13 @@ function validate_config_file() {
@@ -78,10 +103,10 @@ index a1271b328d..981f2c5d0c 100755
*)
echo "ERROR: Unknown name '${1}'."
diff --git a/mycroft/api/__init__.py b/mycroft/api/__init__.py
-index 43663ee127..d2843120ef 100644
+index 43663ee1270..d2843120ef4 100644
--- a/mycroft/api/__init__.py
+++ b/mycroft/api/__init__.py
-@@ -20,8 +20,6 @@ import requests
+@@ -20,8 +20,6 @@
from requests import HTTPError, RequestException
from mycroft.configuration import Configuration
@@ -105,7 +130,7 @@ index 43663ee127..d2843120ef 100644
config_server = config.get("server")
self.url = config_server.get("url")
self.version = config_server.get("version")
-@@ -238,9 +233,7 @@ class DeviceApi(Api):
+@@ -238,9 +233,7 @@ def activate(self, state, token):
platform_build = ""
# load just the local configs to get platform info
@@ -116,7 +141,7 @@ index 43663ee127..d2843120ef 100644
if "enclosure" in config:
platform = config.get("enclosure").get("platform", "unknown")
platform_build = config.get("enclosure").get("platform_build", "")
-@@ -262,9 +255,7 @@ class DeviceApi(Api):
+@@ -262,9 +255,7 @@ def update_version(self):
platform_build = ""
# load just the local configs to get platform info
@@ -128,7 +153,7 @@ index 43663ee127..d2843120ef 100644
platform = config.get("enclosure").get("platform", "unknown")
platform_build = config.get("enclosure").get("platform_build", "")
diff --git a/mycroft/client/enclosure/__main__.py b/mycroft/client/enclosure/__main__.py
-index 7ff403f417..074258e0d9 100644
+index 7ff403f4175..074258e0d9b 100644
--- a/mycroft/client/enclosure/__main__.py
+++ b/mycroft/client/enclosure/__main__.py
@@ -17,7 +17,7 @@
@@ -152,7 +177,7 @@ index 7ff403f417..074258e0d9 100644
enclosure = create_enclosure(platform)
if enclosure:
diff --git a/mycroft/client/enclosure/mark1/__init__.py b/mycroft/client/enclosure/mark1/__init__.py
-index 26a7311c79..491d096496 100644
+index 26a7311c791..491d096496c 100644
--- a/mycroft/client/enclosure/mark1/__init__.py
+++ b/mycroft/client/enclosure/mark1/__init__.py
@@ -15,8 +15,10 @@
@@ -166,7 +191,7 @@ index 26a7311c79..491d096496 100644
import serial
-@@ -163,6 +165,9 @@ class EnclosureReader(Thread):
+@@ -163,6 +165,9 @@ def process(self, data):
if "unit.factory-reset" in data:
self.bus.emit(Message("speak", {
'utterance': mycroft.dialog.get("reset to factory defaults")}))
@@ -177,24 +202,28 @@ index 26a7311c79..491d096496 100644
'rm ~/.mycroft/identity/identity2.json',
shell=True)
diff --git a/mycroft/client/speech/hotword_factory.py b/mycroft/client/speech/hotword_factory.py
-index 6573b7aac4..4938c9dbb8 100644
+index e5385bf5ed8..8ee4fb1c4f6 100644
--- a/mycroft/client/speech/hotword_factory.py
+++ b/mycroft/client/speech/hotword_factory.py
-@@ -28,10 +28,12 @@ from os.path import dirname, exists, join, abspath, expanduser, isfile, isdir
- from shutil import rmtree
+@@ -26,13 +26,15 @@
from threading import Timer, Thread
+ from time import time, sleep
from urllib.error import HTTPError
+from xdg import BaseDirectory
from petact import install_package
+ import requests
-from mycroft.configuration import Configuration, LocalConf, USER_CONFIG
+-from mycroft.util.monotonic_event import MonotonicEvent
+from mycroft.configuration import Configuration, LocalConf
+from mycroft.configuration.locations import OLD_USER_CONFIG
from mycroft.util.log import LOG
- from mycroft.util.monotonic_event import MonotonicEvent
++from mycroft.util.monotonic_event import MonotonicEvent
from mycroft.util.plugins import load_plugin
-@@ -191,7 +193,27 @@ class PreciseHotword(HotWordEngine):
+
+ RECOGNIZER_DIR = join(abspath(dirname(__file__)), "recognizer")
+@@ -189,7 +191,27 @@ def __init__(self, key_phrase="hey mycroft", config=None, lang="en-us"):
from precise_runner import (
PreciseRunner, PreciseEngine, ReadWriteStream
)
@@ -223,7 +252,7 @@ index 6573b7aac4..4938c9dbb8 100644
if (local_conf.get('precise', {}).get('dist_url') ==
'http://bootstrap.mycroft.ai/artifacts/static/daily/'):
del local_conf['precise']['dist_url']
-@@ -249,7 +271,10 @@ class PreciseHotword(HotWordEngine):
+@@ -247,7 +269,10 @@ def update_precise(self, precise_config):
@property
def folder(self):
@@ -235,33 +264,8 @@ index 6573b7aac4..4938c9dbb8 100644
@property
def install_destination(self):
-@@ -359,8 +384,23 @@ class SnowboyHotWord(HotWordEngine):
- class PorcupineHotWord(HotWordEngine):
- def __init__(self, key_phrase="hey mycroft", config=None, lang="en-us"):
- super(PorcupineHotWord, self).__init__(key_phrase, config, lang)
-+
-+ xdg_data_path = None
-+
-+ # Use the old path if available
-+ old_path = join(expanduser('~'), '.mycroft', 'Porcupine')
-+ if os.path.isdir(old_path):
-+ xdg_data_path = old_path
-+
-+ # Otherwise use the new XDG config dirs
-+ if xdg_data_path is None:
-+ for dir in BaseDirectory.load_data_paths('mycroft', 'Porcupine'):
-+ if os.path.isdir(dir):
-+ xdg_data_path = dir
-+ break
-+
- porcupine_path = expanduser(self.config.get(
-- "porcupine_path", join('~', '.mycroft', 'Porcupine')))
-+ "porcupine_path", xdg_data_path))
- keyword_file_paths = [expanduser(x.strip()) for x in self.config.get(
- "keyword_file_path", "hey_mycroft.ppn").split(',')]
- sensitivities = self.config.get("sensitivities", 0.5)
diff --git a/mycroft/client/text/text_client.py b/mycroft/client/text/text_client.py
-index 0c841d71a8..3729f153f2 100644
+index 0c841d71a87..a6be076e89f 100644
--- a/mycroft/client/text/text_client.py
+++ b/mycroft/client/text/text_client.py
@@ -15,6 +15,7 @@
@@ -281,7 +285,7 @@ index 0c841d71a8..3729f153f2 100644
def load_mycroft_config(bus):
-@@ -171,6 +172,34 @@ def load_settings():
+@@ -171,6 +172,35 @@ def load_settings():
global max_log_lines
global show_meter
@@ -298,7 +302,8 @@ index 0c841d71a8..3729f153f2 100644
+ LOG.warning(" Note that this location is deprecated and will" +
+ " not be used in the future")
+ LOG.warning(" Please move it to " +
-+ BaseDirectory.save_config_path('mycroft'))
++ os.path.join(BaseDirectory.save_config_path('mycroft'),
++ filename))
+ config_file = path
+
+ # Check XDG_CONFIG_DIR
@@ -316,7 +321,7 @@ index 0c841d71a8..3729f153f2 100644
try:
with io.open(config_file, 'r') as f:
config = json.load(f)
-@@ -196,6 +225,10 @@ def save_settings():
+@@ -196,6 +226,10 @@ def save_settings():
config["show_last_key"] = show_last_key
config["max_log_lines"] = max_log_lines
config["show_meter"] = show_meter
@@ -328,7 +333,7 @@ index 0c841d71a8..3729f153f2 100644
f.write(str(json.dumps(config, ensure_ascii=False)))
diff --git a/mycroft/configuration/__init__.py b/mycroft/configuration/__init__.py
-index da28826c11..b920d9c833 100644
+index da28826c11d..b920d9c8336 100644
--- a/mycroft/configuration/__init__.py
+++ b/mycroft/configuration/__init__.py
@@ -13,4 +13,3 @@
@@ -337,7 +342,7 @@ index da28826c11..b920d9c833 100644
from .config import Configuration, LocalConf, RemoteConf
-from .locations import SYSTEM_CONFIG, USER_CONFIG
diff --git a/mycroft/configuration/config.py b/mycroft/configuration/config.py
-index dd82eae651..d5a9fd520a 100644
+index 32af4d41bb8..b7304e48312 100644
--- a/mycroft/configuration/config.py
+++ b/mycroft/configuration/config.py
@@ -17,15 +17,15 @@
@@ -370,7 +375,7 @@ index dd82eae651..d5a9fd520a 100644
from mycroft.api import is_paired
if not is_paired():
self.load_local(cache)
-@@ -173,7 +174,7 @@ class Configuration:
+@@ -174,7 +175,7 @@ class Configuration:
__patch = {} # Patch config that skills can update to override config
@staticmethod
@@ -379,7 +384,7 @@ index dd82eae651..d5a9fd520a 100644
"""Get configuration
Returns cached instance if available otherwise builds a new
-@@ -182,6 +183,9 @@ class Configuration:
+@@ -183,6 +184,9 @@ def get(configs=None, cache=True):
Arguments:
configs (list): List of configuration dicts
cache (boolean): True if the result should be cached
@@ -389,7 +394,7 @@ index dd82eae651..d5a9fd520a 100644
Returns:
(dict) configuration dictionary.
-@@ -189,23 +193,62 @@ class Configuration:
+@@ -190,23 +194,62 @@ def get(configs=None, cache=True):
if Configuration.__config:
return Configuration.__config
else:
@@ -459,7 +464,7 @@ index dd82eae651..d5a9fd520a 100644
# Handle strings in stack
for index, item in enumerate(configs):
diff --git a/mycroft/configuration/locations.py b/mycroft/configuration/locations.py
-index cbbaab6ca9..eb8cfb18c7 100644
+index cbbaab6ca94..eb8cfb18c76 100644
--- a/mycroft/configuration/locations.py
+++ b/mycroft/configuration/locations.py
@@ -13,26 +13,13 @@
@@ -496,7 +501,7 @@ index cbbaab6ca9..eb8cfb18c7 100644
+USER_CONFIG = join(BaseDirectory.save_config_path('mycroft'),
+ 'mycroft.conf')
diff --git a/mycroft/configuration/mycroft.conf b/mycroft/configuration/mycroft.conf
-index b18eb9b09a..c61fd90579 100644
+index b18eb9b09a9..c61fd90579b 100644
--- a/mycroft/configuration/mycroft.conf
+++ b/mycroft/configuration/mycroft.conf
@@ -5,7 +5,7 @@
@@ -536,7 +541,7 @@ index b18eb9b09a..c61fd90579 100644
"single_thread": false
},
diff --git a/mycroft/filesystem/__init__.py b/mycroft/filesystem/__init__.py
-index 45ec15a4ac..ecd10d86e4 100644
+index b8804241585..21b12e8f9a5 100644
--- a/mycroft/filesystem/__init__.py
+++ b/mycroft/filesystem/__init__.py
@@ -13,7 +13,9 @@
@@ -549,7 +554,7 @@ index 45ec15a4ac..ecd10d86e4 100644
class FileSystemAccess:
-@@ -30,7 +32,13 @@ class FileSystemAccess:
+@@ -31,7 +33,13 @@ def __init__(self, path):
def __init_path(path):
if not isinstance(path, str) or len(path) == 0:
raise ValueError("path must be initialized as a non empty string")
@@ -565,7 +570,7 @@ index 45ec15a4ac..ecd10d86e4 100644
if not isdir(path):
os.makedirs(path)
diff --git a/mycroft/messagebus/send_func.py b/mycroft/messagebus/send_func.py
-index 403db9f45c..a11a9b0a59 100644
+index 403db9f45c1..a11a9b0a591 100644
--- a/mycroft/messagebus/send_func.py
+++ b/mycroft/messagebus/send_func.py
@@ -15,8 +15,6 @@
@@ -590,7 +595,7 @@ index 403db9f45c..a11a9b0a59 100644
url = MessageBusClient.build_url(
config.get("host"),
diff --git a/mycroft/skills/event_scheduler.py b/mycroft/skills/event_scheduler.py
-index fe41ac1bed..f9931a7ea1 100644
+index fe41ac1bedc..f9931a7ea13 100644
--- a/mycroft/skills/event_scheduler.py
+++ b/mycroft/skills/event_scheduler.py
@@ -16,10 +16,12 @@
@@ -629,10 +634,10 @@ index fe41ac1bed..f9931a7ea1 100644
self.load()
diff --git a/mycroft/skills/skill_updater.py b/mycroft/skills/skill_updater.py
-index ace247e2db..2fa2ab6834 100644
+index ace247e2db4..2fa2ab6834f 100644
--- a/mycroft/skills/skill_updater.py
+++ b/mycroft/skills/skill_updater.py
-@@ -17,6 +17,7 @@ import os
+@@ -17,6 +17,7 @@
import sys
from datetime import datetime
from time import time
@@ -640,7 +645,7 @@ index ace247e2db..2fa2ab6834 100644
from msm import MsmException
-@@ -96,9 +97,8 @@ class SkillUpdater:
+@@ -96,9 +97,8 @@ def installed_skills_file_path(self):
'.mycroft-skills'
)
else:
@@ -653,10 +658,10 @@ index ace247e2db..2fa2ab6834 100644
return self._installed_skills_file_path
diff --git a/mycroft/util/file_utils.py b/mycroft/util/file_utils.py
-index 84555fc3bb..7c09fd226e 100644
+index 84555fc3bb3..7c09fd226ee 100644
--- a/mycroft/util/file_utils.py
+++ b/mycroft/util/file_utils.py
-@@ -22,6 +22,7 @@ import os
+@@ -22,6 +22,7 @@
import psutil
from stat import S_ISREG, ST_MTIME, ST_MODE, ST_SIZE
import tempfile
@@ -703,10 +708,10 @@ index 84555fc3bb..7c09fd226e 100644
return filename
diff --git a/mycroft/util/log.py b/mycroft/util/log.py
-index 0ea391f8f7..788f6df1c3 100644
+index 0ea391f8f79..788f6df1c37 100644
--- a/mycroft/util/log.py
+++ b/mycroft/util/log.py
-@@ -21,7 +21,7 @@ This module provides the LOG pseudo function quickly creating a logger instance
+@@ -21,7 +21,7 @@
for use.
The default log level of the logger created here can ONLY be set in
@@ -715,7 +720,7 @@ index 0ea391f8f7..788f6df1c3 100644
The default log level can also be programatically be changed by setting the
LOG.level parameter.
-@@ -31,10 +31,10 @@ import inspect
+@@ -31,10 +31,10 @@
import logging
import sys
@@ -728,7 +733,7 @@ index 0ea391f8f7..788f6df1c3 100644
def getLogger(name="MYCROFT"):
-@@ -84,7 +84,10 @@ class LOG:
+@@ -84,7 +84,10 @@ def init(cls):
# Check configs manually, the Mycroft configuration system can't be
# used since it uses the LOG system and would cause horrible cyclic
# dependencies.
@@ -741,7 +746,7 @@ index 0ea391f8f7..788f6df1c3 100644
for conf in confs:
try:
diff --git a/test/unittests/skills/test_skill_updater.py b/test/unittests/skills/test_skill_updater.py
-index 38d4083d7f..d7cc72e3e6 100644
+index 38d4083d7f2..d7cc72e3e67 100644
--- a/test/unittests/skills/test_skill_updater.py
+++ b/test/unittests/skills/test_skill_updater.py
@@ -13,8 +13,9 @@
@@ -755,7 +760,7 @@ index 38d4083d7f..d7cc72e3e6 100644
from unittest.mock import Mock, patch, PropertyMock
from mycroft.skills.skill_updater import SkillUpdater
-@@ -143,7 +144,8 @@ class TestSkillUpdater(MycroftUnitTestBase):
+@@ -143,7 +144,8 @@ def test_installed_skills_path_not_virtual_env(self):
os_patch.return_value = False
updater = SkillUpdater(self.message_bus_mock)
self.assertEqual(
@@ -766,7 +771,7 @@ index 38d4083d7f..d7cc72e3e6 100644
)
diff --git a/test/unittests/util/commented.json b/test/unittests/util/commented.json
-index 87c7d3e2c2..00a581f6df 100644
+index 87c7d3e2c2d..00a581f6df4 100644
--- a/test/unittests/util/commented.json
+++ b/test/unittests/util/commented.json
@@ -54,7 +54,7 @@
@@ -779,7 +784,7 @@ index 87c7d3e2c2..00a581f6df 100644
"server": {
"url": "https://api.mycroft.ai",
diff --git a/test/unittests/util/plain.json b/test/unittests/util/plain.json
-index f8c474139c..eec84631d8 100644
+index f8c474139ce..eec84631d88 100644
--- a/test/unittests/util/plain.json
+++ b/test/unittests/util/plain.json
@@ -36,7 +36,7 @@
@@ -791,6 +796,49 @@ index f8c474139c..eec84631d8 100644
},
"server": {
"url": "https://api.mycroft.ai",
---
-2.30.0
+From db60de5dc7016b13c2de73c7c2b5ca82504e2c2e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=85ke=20Forslund?= <ake.forslund@gmail.com>
+Date: Sun, 31 Jan 2021 08:56:10 +0100
+Subject: [PATCH 3/4] Increase Jenkins timeout
+
+---
+ Jenkinsfile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Jenkinsfile b/Jenkinsfile
+index 9382ad35a91..4db48e1d8a7 100644
+--- a/Jenkinsfile
++++ b/Jenkinsfile
+@@ -52,7 +52,7 @@ pipeline {
+ --label build=${JOB_NAME} \
+ -t voight-kampff-mark-1:${BRANCH_ALIAS} .'
+ echo 'Running Mark I Voight-Kampff Test Suite'
+- timeout(time: 60, unit: 'MINUTES')
++ timeout(time: 90, unit: 'MINUTES')
+ {
+ sh 'mkdir -p $HOME/core/$BRANCH_ALIAS/allure'
+ sh 'mkdir -p $HOME/core/$BRANCH_ALIAS/mycroft-logs'
+
+From 0fd7742287810a8ccd515077d92d85ebee575121 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=85ke=20Forslund?= <ake.forslund@gmail.com>
+Date: Tue, 2 Feb 2021 17:02:32 +0100
+Subject: [PATCH 4/4] wait some more before user input
+
+---
+ .../voight_kampff/features/steps/utterance_responses.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/integrationtests/voight_kampff/features/steps/utterance_responses.py b/test/integrationtests/voight_kampff/features/steps/utterance_responses.py
+index cb703189d0c..e3fcdb733d2 100644
+--- a/test/integrationtests/voight_kampff/features/steps/utterance_responses.py
++++ b/test/integrationtests/voight_kampff/features/steps/utterance_responses.py
+@@ -235,7 +235,7 @@ def check_contains(message):
+ @then('the user replies "{text}"')
+ @then('the user says "{text}"')
+ def then_user_follow_up(context, text):
+- time.sleep(2)
++ time.sleep(3)
+ wait_while_speaking()
+ context.bus.emit(Message('recognizer_loop:utterance',
+ data={'utterances': [text],
diff --git a/community/mycroft-core/0002-system-wide-setups.patch b/community/mycroft-core/0002-system-wide-setups.patch
index 7a69ae9cfd..9817298bff 100644
--- a/community/mycroft-core/0002-system-wide-setups.patch
+++ b/community/mycroft-core/0002-system-wide-setups.patch
@@ -1,4 +1,4 @@
-From 51820329b69fa37423474aecf8c70d731452dea2 Mon Sep 17 00:00:00 2001
+From 06cc33c94b20a3e6ac37fb2f594b9bcaf8987ea6 Mon Sep 17 00:00:00 2001
From: Bart Ribbers <bribbers@disroot.org>
Date: Fri, 15 Jan 2021 12:59:25 +0100
Subject: [PATCH 1/2] Replace mycroft-{start,stop} with scripts that can launch
@@ -330,7 +330,7 @@ index 963c503e4d2..89eefa496fc 100644
+ ]
)
-From befd8a1d0a849ff2ccaf2f58e79ffe4d339882c2 Mon Sep 17 00:00:00 2001
+From d7727ae06432349782bea2b648dd91b19933cd9f Mon Sep 17 00:00:00 2001
From: Bart Ribbers <bribbers@disroot.org>
Date: Fri, 15 Jan 2021 13:18:35 +0100
Subject: [PATCH 2/2] Update README to reflect properly installed setups
@@ -340,12 +340,12 @@ Subject: [PATCH 2/2] Update README to reflect properly installed setups
1 file changed, 27 insertions(+), 11 deletions(-)
diff --git a/README.md b/README.md
-index 1665b0a68dd..9de90003ca7 100644
+index 01958ef2c73..84937e30b9e 100644
--- a/README.md
+++ b/README.md
-@@ -30,29 +30,45 @@ Mycroft is a hackable open source voice assistant.
+@@ -32,29 +32,45 @@ Mycroft is a hackable open source voice assistant.
- # Getting Started
+ ## Getting Started
-First, get the code on your system! The simplest method is via git ([git installation instructions](https://gist.github.com/derhuerst/1b15ff4652a867391f03)):
-- `cd ~/`
@@ -372,7 +372,7 @@ index 1665b0a68dd..9de90003ca7 100644
-NOTE: The default branch for this repository is 'dev', which should be considered a work-in-progress. If you want to clone a more stable version, switch over to the 'master' branch.
+**NOTE:** The default branch for this repository is 'dev', which should be considered a work-in-progress. If you want to clone a more stable version, switch over to the 'master' branch.
- # Running Mycroft
+ ## Running Mycroft
-Mycroft provides `start-mycroft.sh` to perform common tasks. This script uses a virtualenv created by `dev_setup.sh`. Assuming you installed mycroft-core in your home directory run:
-- `cd ~/mycroft-core`
@@ -398,5 +398,5 @@ index 1665b0a68dd..9de90003ca7 100644
+If you want to develop for Mycroft, please use `start-mycroft.sh` and `stop-mycroft.sh` instead of the aforementioned commands.
+These provide extra options for development purposes.
- # Using Mycroft
+ ## Using Mycroft
diff --git a/community/mycroft-core/0003-skills-from-xdg.patch b/community/mycroft-core/0003-skills-from-xdg.patch
index 60c147f779..a454936b20 100644
--- a/community/mycroft-core/0003-skills-from-xdg.patch
+++ b/community/mycroft-core/0003-skills-from-xdg.patch
@@ -1,21 +1,23 @@
-From b1da87f6edcdb94c198d52af1ed566c0ccf536a7 Mon Sep 17 00:00:00 2001
+From a09c9ca489989dabe8e6ab30c8e2dd840f4ca624 Mon Sep 17 00:00:00 2001
From: Bart Ribbers <bribbers@disroot.org>
Date: Fri, 15 Jan 2021 16:29:09 +0100
Subject: [PATCH] Read skills from XDG home directory
Also move over skills from data_dir if they still exist
---
- mycroft/configuration/mycroft.conf | 4 +---
- mycroft/skills/msm_wrapper.py | 13 +++++--------
+ mycroft/skills/msm_wrapper.py | 13 ++--
mycroft/skills/mycroft_skill/mycroft_skill.py | 2 +-
mycroft/skills/settings.py | 2 +-
- mycroft/skills/skill_manager.py | 9 +++++++--
- mycroft/skills/skill_updater.py | 4 +++-
- pytest.ini | 2 ++
+ mycroft/skills/skill_manager.py | 9 ++-
+ mycroft/skills/skill_updater.py | 4 +-
+ pytest.ini | 2 +
requirements/tests.txt | 1 +
- test/unittests/base.py | 3 +++
- test/unittests/skills/test_skill_manager.py | 8 +++++---
- 10 files changed, 29 insertions(+), 19 deletions(-)
+ scripts/prepare-msm.sh | 65 -------------------
+ start-mycroft.sh | 1 -
+ test/unittests/base.py | 3 +
+ test/unittests/skills/test_skill_manager.py | 8 ++-
+ 12 files changed, 29 insertions(+), 86 deletions(-)
+ delete mode 100755 scripts/prepare-msm.sh
diff --git a/mycroft/skills/msm_wrapper.py b/mycroft/skills/msm_wrapper.py
index 4f579f85ac5..27753c678ab 100644
@@ -98,7 +100,7 @@ index c48416afac0..6e70783df0c 100644
# sure the file always exists
if not Path(settings_path).exists():
diff --git a/mycroft/skills/skill_manager.py b/mycroft/skills/skill_manager.py
-index b76c555600a..7b1dada8cc8 100644
+index d1bd79ff914..89109ac70a5 100644
--- a/mycroft/skills/skill_manager.py
+++ b/mycroft/skills/skill_manager.py
@@ -17,6 +17,8 @@
@@ -110,7 +112,7 @@ index b76c555600a..7b1dada8cc8 100644
from mycroft.api import is_paired
from mycroft.enclosure.api import EnclosureAPI
-@@ -262,7 +264,9 @@ def run(self):
+@@ -260,7 +262,9 @@ def run(self):
def _remove_git_locks(self):
"""If git gets killed from an abrupt shutdown it leaves lock files."""
@@ -121,7 +123,7 @@ index b76c555600a..7b1dada8cc8 100644
LOG.warning('Found and removed git lock file: ' + i)
os.remove(i)
-@@ -308,7 +312,8 @@ def _load_skill(self, skill_directory):
+@@ -306,7 +310,8 @@ def _load_skill(self, skill_directory):
return skill_loader if load_status else None
def _get_skill_directories(self):
@@ -167,6 +169,89 @@ index 9e038123e51..3d2e2b9a4c9 100644
cov-core==1.15.0
sphinx==2.2.1
sphinx-rtd-theme==0.4.3
+diff --git a/scripts/prepare-msm.sh b/scripts/prepare-msm.sh
+deleted file mode 100755
+index aae08b96f94..00000000000
+--- a/scripts/prepare-msm.sh
++++ /dev/null
+@@ -1,65 +0,0 @@
+-#!/usr/bin/env bash
+-
+-# Copyright 2017 Mycroft AI Inc.
+-#
+-# Licensed under the Apache License, Version 2.0 (the "License");
+-# you may not use this file except in compliance with the License.
+-# You may obtain a copy of the License at
+-#
+-# http://www.apache.org/licenses/LICENSE-2.0
+-#
+-# Unless required by applicable law or agreed to in writing, software
+-# distributed under the License is distributed on an "AS IS" BASIS,
+-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-# See the License for the specific language governing permissions and
+-# limitations under the License.
+-
+-mycroft_root_dir="/opt/mycroft" # Also change in configuration
+-skills_dir="${mycroft_root_dir}"/skills
+-# exit on any error
+-set -Ee
+-
+-SOURCE="${BASH_SOURCE[0]}"
+-while [ -h "$SOURCE" ] ; do
+- DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
+- SOURCE="$(readlink "$SOURCE")"
+- [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
+-done
+-DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
+-
+-# Determine which user is running this script
+-setup_user=$USER
+-setup_group=$( id -gn $USER )
+-
+-function found_exe() {
+- hash "$1" 2>/dev/null
+-}
+-
+-if found_exe sudo ; then
+- # The main checks happen in dev_setup.sh, don't error here if we don't have sudo
+- SUDO=sudo
+-fi
+-
+-# change ownership of ${mycroft_root_dir} to ${setup_user } recursively
+-function change_ownership {
+- echo "Changing ownership of" ${mycroft_root_dir} "to user:" ${setup_user} "with group:" ${setup_group}
+- $SUDO chown -Rf ${setup_user}:${setup_group} ${mycroft_root_dir}
+-}
+-
+-
+-if [[ ${CI} != true ]] ; then
+- if [ ! -d ${skills_dir} ] ; then
+- echo "Create ${skills_dir}"
+- $SUDO mkdir -p ${skills_dir}
+- change_ownership
+- fi
+-
+- if [ ! -w ${SKILLS_DIR} ] ; then
+- change_ownership
+- fi
+-fi
+-
+-# fix ownership of ${mycroft_root_dir} if it is not owned by the ${setup_user}
+-if [[ $( stat -c "%U:%G" ${mycroft_root_dir} ) != "${setup_user}:${setup_group}" ]] ; then
+- change_ownership
+-fi
+diff --git a/start-mycroft.sh b/start-mycroft.sh
+index 05814c510d8..1e5fd30cbae 100755
+--- a/start-mycroft.sh
++++ b/start-mycroft.sh
+@@ -88,7 +88,6 @@ first_time=true
+ function init-once() {
+ if ($first_time) ; then
+ echo "Initializing..."
+- "${DIR}/scripts/prepare-msm.sh"
+ source-venv
+ first_time=false
+ fi
diff --git a/test/unittests/base.py b/test/unittests/base.py
index fed93941769..ee86778fa10 100644
--- a/test/unittests/base.py
@@ -186,7 +271,7 @@ index fed93941769..ee86778fa10 100644
rmtree(str(self.temp_dir))
+ rmtree(BaseDirectory.save_data_path('mycroft'))
diff --git a/test/unittests/skills/test_skill_manager.py b/test/unittests/skills/test_skill_manager.py
-index f2bdde3fa46..8de8168be14 100644
+index dfd92718f40..cc6130362ea 100644
--- a/test/unittests/skills/test_skill_manager.py
+++ b/test/unittests/skills/test_skill_manager.py
@@ -13,6 +13,8 @@
@@ -208,7 +293,7 @@ index f2bdde3fa46..8de8168be14 100644
self.skill_loader_mock = Mock(spec=SkillLoader)
self.skill_loader_mock.instance = Mock()
self.skill_loader_mock.instance.default_shutdown = Mock()
-@@ -125,8 +128,7 @@ def test_instantiate(self):
+@@ -123,8 +126,7 @@ def test_instantiate(self):
)
def test_remove_git_locks(self):
diff --git a/community/mycroft-core/APKBUILD b/community/mycroft-core/APKBUILD
index f2ad958a7c..3453d978ef 100644
--- a/community/mycroft-core/APKBUILD
+++ b/community/mycroft-core/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=mycroft-core
-pkgver=20.8.0
-pkgrel=6
+pkgver=20.8.1
+pkgrel=0
pkgdesc="Mycroft Core, the Mycroft Artificial Intelligence platform"
url="https://mycroft.ai/"
# mips, mips64 and s390x blocked by py3-precise-runner
@@ -55,7 +55,11 @@ depends="$depends
mycroft-skill-pairing
"
makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-wheel py3-vlc"
+checkdepends="
+ py3-pytest
+ py3-vlc
+ py3-wheel
+ "
install="$pkgname.post-install"
source="$pkgname-$pkgver.tar.gz::https://github.com/MycroftAI/mycroft-core/archive/release/v$pkgver.tar.gz
profile.sh
@@ -83,8 +87,8 @@ package() {
install -Dm644 "$srcdir"/profile.sh "$pkgdir"/etc/profile.d/mycroft.sh
}
-sha512sums="5e86ee27aa9736b61f49f34ae14669ae453d0609d63443e29b8c027327f87a4495d10fec866f923862cef226da803bb55c45537d0b7bdad57c452b55acb9addc mycroft-core-20.8.0.tar.gz
+sha512sums="34d32e671f206d6d9fc3be97acc6a50f09363c9e9d04a503738b89b7b8f395728227ae30bcfdf5995835b000714b7f71b35caca8fc3290c8dca961d4aa9b2652 mycroft-core-20.8.1.tar.gz
c3d1a605a0b574c8e2c4031f592bdbf023f5ed9b2e1ba0cea38cf79278331f245dbe4e220e7f81de73fe612ffd722253805058dae04ba89c3d01c361b329e4ef profile.sh
-a4554ae06b5c32371cfdfb5d5ad76c0bfee806cc5c5d6462ebe039347c10d0c66bb750330328426196f6cf203df7e9ab4cb90fcb11325ae7cf2782ca2e851fcd 0001-xdg-settings-cache-and-runtime-data.patch
-861269f037c5090da03caf9782be7fabd1381e46fd3bb33b726befbbf12788b7ddc3aec08beeea23a9e7b78ca0c43286ed179746c1b715880f8447ad86c4e747 0002-system-wide-setups.patch
-987c3041482a2adfa4e99228b8670f381692ace6dbf3efbedeb06c95ebcc6274b50510a19cf5f9eadb73e23344a4d1256771fc6a656748ba36dfe97767140bef 0003-skills-from-xdg.patch"
+44c387672fe495ec9d44d873f997142f4938a12770a9072e3283692df5de408543f9f1dac89ae0e3cfdc3f0374ad982ea6d4983d5f3b74c71dd21362e8b16893 0001-xdg-settings-cache-and-runtime-data.patch
+b9c72bb62cdc91c912f8c3ac11990c760d7892678683165607b68195e237cd43d2e9c5df1d9385b9214c7f0012c3fad5b72fd68c415a76ead0ddc16a9226ccd4 0002-system-wide-setups.patch
+4a7ce033538cbe0aff4abd9039196e166fd210560ae7bba1856701780ab6bf27d8040c4d668f1c61794974c991e18b5941989fdd6792d741ab6869bb559cc219 0003-skills-from-xdg.patch"
diff --git a/community/mycroft-core/mycroft-core.post-install b/community/mycroft-core/mycroft-core.post-install
index e05d9b0646..77fa031e9c 100644
--- a/community/mycroft-core/mycroft-core.post-install
+++ b/community/mycroft-core/mycroft-core.post-install
@@ -1,10 +1,6 @@
#!/bin/sh
cat <<EOF
-mycroft-core installs with the most basic skills required to get the package working.
-If you want all the official MycroftAI skills, consider installing the mycroft-skills meta package.
-Other skills can be found by searching for "mycroft-skill-*"
-
To start and stop MyCroft run the following:
- /usr/bin/mycroft-start all
- /usr/bin/mycroft