mirror of
https://github.com/OpenVoiceOS/OpenVoiceOS
synced 2025-03-06 12:37:54 +01:00
Merge remote-tracking branch 'origin/develop' into feature/wifi-setup
This commit is contained in:
commit
bf24e48ffc
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -1,4 +1,4 @@
|
||||
[submodule "buildroot"]
|
||||
path = buildroot
|
||||
url = https://github.com/buildroot/buildroot.git
|
||||
branch = 2018.08.x
|
||||
branch = 2019.05.x
|
||||
|
28
README.md
28
README.md
@ -1,4 +1,4 @@
|
||||
# <img src='https://rawgithub.com/FortAwesome/Font-Awesome/master/advanced-options/raw-svg/solid/cogs.svg' card_color='#22a7f0' width='50' height='50' style='vertical-align:bottom'/> MycroftOS
|
||||
# <img src='https://camo.githubusercontent.com/48b782bbddb51b97cf2971fda5817080075f7799/68747470733a2f2f7261772e6769746861636b2e636f6d2f466f7274417765736f6d652f466f6e742d417765736f6d652f6d61737465722f737667732f736f6c69642f636f67732e737667' width='50' height='50' style='vertical-align:bottom'/> MycroftOS
|
||||
MycroftOS is a bare minimal linux OS based on Buildroot to run the Mycroft A.I. software stack on embedded devices.
|
||||
The software stack of Mycroft creates a hackable open source voice assistant.
|
||||
|
||||
@ -7,7 +7,7 @@ More information about the Mycroft A.I. software stack at https://mycroft.ai
|
||||
|
||||
## System.
|
||||
- Linux kernel 4.14 (LT)
|
||||
- Buildroot 2018.08.x
|
||||
- Buildroot 2019.05.x
|
||||
- Mycroft 18.08.x
|
||||
- Raspberry Pi 3B (initial development hardware)
|
||||
|
||||
@ -27,27 +27,13 @@ More information about the Mycroft A.I. software stack at https://mycroft.ai
|
||||
At this moment development is in very early stages and focussed on the Raspberry Pi 3B. As soon as an initial first workable version
|
||||
is created, other hardware might be added.
|
||||
|
||||
### Getting the code.
|
||||
First, get the code on your system! The simplest method is via git.
|
||||
|
||||
- cd ~/
|
||||
- git clone --recurse-submodules https://github.com/j1nx/MycroftOS.git
|
||||
- cd MycroftOS
|
||||
|
||||
If this is the very first time you are going to build an image, you need to execute the following command once;
|
||||
- ./scripts/br-patches.sh
|
||||
|
||||
### Building the code.
|
||||
Then we can build the image(s) by running the following command;
|
||||
- ./scripts/build.sh
|
||||
(At this moment only one image get's build. Namely the one for RPi3B. Later on in time this section will get expanded with other hardware such as, the other Raspberry Pi's, perhaps Mark-1 and/or Mark-2 and further down the road for the new Rockchip RK3399Pro SoC with RK1808 NPU
|
||||
|
||||
... More building instructions will follow soon ...
|
||||
## Documentation.
|
||||
More information and instructions can be found within the "documentation" folder.
|
||||
|
||||
## Credits
|
||||
Mycroft AI (@MycroftAI)
|
||||
Mycroft AI (@MycroftAI)<br>
|
||||
Buildroot (@buildroot)
|
||||
|
||||
Inspired by;
|
||||
HassOS (@home-assistant)
|
||||
### Inspired by;
|
||||
HassOS (@home-assistant)<br>
|
||||
Recalbox (Gitlab - @recalbox)
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 507020139190aaf44793c3c901321d23ba476c13
|
||||
Subproject commit 93d8af974346d95e66f5582e420dd0fb35d32916
|
@ -1,3 +1,7 @@
|
||||
menu "Mycroft A.I. Personal Assistant"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-mycroft/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/mycroft-service/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/mycroft-splash/Config.in"
|
||||
menu "Additional drivers, libraries and/or applications"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/fann/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/nodogsplash/Config.in"
|
||||
@ -5,9 +9,11 @@ menu "Additional drivers, libraries and/or applications"
|
||||
endmenu
|
||||
menu "Additional external python modules"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-adapt-parser/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-appdirs/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-bs4/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-cachetools/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-casttube/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-colorzero/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-coverage/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-coveralls/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-deprecated/Config.in"
|
||||
@ -19,43 +25,40 @@ menu "Additional external python modules"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-google-api-python-client/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-google-auth-httplib2/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-google-auth/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-gpiozero/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-gtts/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-gtts_token/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-humanhash3/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-ifaddr/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-inflection/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-lazy/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-monotonic/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-msk/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-msm/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-mycroft/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-oauth2client/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-olefile/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-padaos/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-padatious/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pako/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pep8/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-petact/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pip/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pocketsphinx/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-precise-runner/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pulsectl/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pyasn1-modules/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pyasn1/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pyaudio/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pychromecast/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pyee/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pygithub/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pyjwt/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-pymplayer/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-requests-futures/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-rsa/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-sgmllib3k/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-smmap2/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-source/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-speechrecognition/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-typing/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-uritemplate/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-vlc/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-wrapt/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-xmlrunner/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-xxhash/Config.in"
|
||||
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-zeroconf/Config.in"
|
||||
endmenu
|
||||
endmenu
|
||||
|
@ -1 +1 @@
|
||||
root=/dev/mmcblk0p2 console=tty3 consoleblank=0 loglevel=0 vt.global_cursor_default=0 logo.nologo rootwait noswap quiet
|
||||
root=/dev/mmcblk0p2 console=ttyAMA0,115200 consoleblank=0 loglevel=0 vt.global_cursor_default=0 logo.nologo rootwait noswap quiet
|
||||
|
@ -34,3 +34,4 @@ disable_splash=1
|
||||
dtparam=i2c_arm=on
|
||||
dtoverlay=i2s-mmap
|
||||
dtparam=i2s=on
|
||||
dtparam=spi=on
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Busybox version: 1.29.2
|
||||
# Sun Nov 4 13:10:23 2018
|
||||
# Wed Nov 21 16:27:40 2018
|
||||
#
|
||||
CONFIG_HAVE_DOT_CONFIG=y
|
||||
|
||||
@ -106,15 +106,15 @@ CONFIG_FEATURE_EDITING_WINCH=y
|
||||
# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
|
||||
CONFIG_LOCALE_SUPPORT=y
|
||||
CONFIG_UNICODE_SUPPORT=y
|
||||
# CONFIG_UNICODE_USING_LOCALE is not set
|
||||
CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y
|
||||
CONFIG_UNICODE_USING_LOCALE=y
|
||||
# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
|
||||
CONFIG_SUBST_WCHAR=63
|
||||
CONFIG_LAST_SUPPORTED_WCHAR=767
|
||||
CONFIG_UNICODE_COMBINING_WCHARS=y
|
||||
CONFIG_UNICODE_WIDE_WCHARS=y
|
||||
# CONFIG_UNICODE_BIDI_SUPPORT is not set
|
||||
# CONFIG_UNICODE_NEUTRAL_TABLE is not set
|
||||
# CONFIG_UNICODE_PRESERVE_BROKEN is not set
|
||||
CONFIG_UNICODE_PRESERVE_BROKEN=y
|
||||
CONFIG_FEATURE_NON_POSIX_CP=y
|
||||
# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
|
||||
CONFIG_FEATURE_USE_SENDFILE=y
|
||||
|
@ -4,34 +4,33 @@ BR2_ARM_FPU_NEON_VFPV4=y
|
||||
BR2_DL_DIR="../downloads"
|
||||
BR2_CCACHE=y
|
||||
BR2_CCACHE_DIR="../ccache"
|
||||
BR2_OPTIMIZE_FAST=y
|
||||
BR2_GLOBAL_PATCH_DIR="../buildroot-patches"
|
||||
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y
|
||||
BR2_TARGET_GENERIC_HOSTNAME="MycroftOS"
|
||||
BR2_TARGET_GENERIC_ISSUE="Welcome to MycroftOS"
|
||||
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
|
||||
BR2_INIT_SYSTEMD=y
|
||||
BR2_TARGET_GENERIC_ROOT_PASSWD="mycroft"
|
||||
BR2_SYSTEM_BIN_SH_BASH=y
|
||||
# BR2_TARGET_GENERIC_GETTY is not set
|
||||
BR2_SYSTEM_DHCP="eth0"
|
||||
BR2_ENABLE_LOCALE_WHITELIST="C en_US en_US.UTF8"
|
||||
BR2_GENERATE_LOCALE="en_US en_US.UTF-8"
|
||||
BR2_TARGET_TZ_INFO=y
|
||||
BR2_ROOTFS_OVERLAY="../buildroot-external/rootfs-overlay"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="../buildroot-external/board/raspberrypi3/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="../buildroot-external/board/raspberrypi3/post-image.sh"
|
||||
# BR2_ENABLE_LOCALE_PURGE is not set
|
||||
BR2_GENERATE_LOCALE="en_US.UTF-8"
|
||||
BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL)/user_table.txt"
|
||||
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL)/rootfs-overlay"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL)/board/raspberrypi3/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/board/raspberrypi3/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8ec2a2d27dd3e3e32113445592f44ea974b21732"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7688b39276ff9952df381d79de63b258e73971ce"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-3-b-plus bcm2710-rpi-cm3"
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="../buildroot-external/busybox.config"
|
||||
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/busybox.config"
|
||||
BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y
|
||||
BR2_PACKAGE_ALSA_UTILS=y
|
||||
BR2_PACKAGE_ALSA_UTILS_ALSACONF=y
|
||||
@ -58,6 +57,7 @@ BR2_PACKAGE_MIMIC_AUDIO_BACKEND_ALSA=y
|
||||
BR2_PACKAGE_MPG123=y
|
||||
BR2_PACKAGE_MPV=y
|
||||
BR2_PACKAGE_PULSEAUDIO=y
|
||||
BR2_PACKAGE_PULSEAUDIO_DAEMON=y
|
||||
BR2_PACKAGE_VLC=y
|
||||
BR2_PACKAGE_GZIP=y
|
||||
BR2_PACKAGE_LZ4=y
|
||||
@ -87,9 +87,9 @@ BR2_PACKAGE_RPI_WIFI_FIRMWARE=y
|
||||
BR2_PACKAGE_DBUS_PYTHON=y
|
||||
BR2_PACKAGE_KBD=y
|
||||
BR2_PACKAGE_PARTED=y
|
||||
BR2_PACKAGE_RPI_USERLAND=y
|
||||
BR2_PACKAGE_SPI_TOOLS=y
|
||||
BR2_PACKAGE_PYTHON3=y
|
||||
BR2_PACKAGE_PYTHON3_PY_ONLY=y
|
||||
BR2_PACKAGE_PYTHON3_PY_PYC=y
|
||||
BR2_PACKAGE_PYTHON3_BZIP2=y
|
||||
BR2_PACKAGE_PYTHON3_CODECSCJK=y
|
||||
BR2_PACKAGE_PYTHON3_CURSES=y
|
||||
@ -99,24 +99,28 @@ BR2_PACKAGE_PYTHON3_SQLITE=y
|
||||
BR2_PACKAGE_PYTHON3_XZ=y
|
||||
BR2_PACKAGE_PYTHON_ALSAAUDIO=y
|
||||
BR2_PACKAGE_PYTHON_ARROW=y
|
||||
BR2_PACKAGE_PYTHON_CFFI=y
|
||||
BR2_PACKAGE_PYTHON_CONFIGSHELL_FB=y
|
||||
BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y
|
||||
BR2_PACKAGE_PYTHON_DAEMONIZE=y
|
||||
BR2_PACKAGE_PYTHON_GOBJECT=y
|
||||
BR2_PACKAGE_PYTHON_LXML=y
|
||||
BR2_PACKAGE_PYTHON_NETADDR=y
|
||||
BR2_PACKAGE_PYTHON_NETIFACES=y
|
||||
BR2_PACKAGE_PYTHON_OAUTHLIB=y
|
||||
BR2_PACKAGE_PYTHON_PILLOW=y
|
||||
BR2_PACKAGE_PYTHON_PIP=y
|
||||
BR2_PACKAGE_PYTHON_PSUTIL=y
|
||||
BR2_PACKAGE_PYTHON_PYCLI=y
|
||||
BR2_PACKAGE_PYTHON_PYCRYPTO=y
|
||||
BR2_PACKAGE_PYTHON_PYJWT=y
|
||||
BR2_PACKAGE_PYTHON_PYTZ=y
|
||||
BR2_PACKAGE_PYTHON_PYUSB=y
|
||||
BR2_PACKAGE_PYTHON_PYYAML=y
|
||||
BR2_PACKAGE_PYTHON_SERIAL=y
|
||||
BR2_PACKAGE_PYTHON_SPIDEV=y
|
||||
BR2_PACKAGE_PYTHON_TEXTTABLE=y
|
||||
BR2_PACKAGE_PYTHON_TORNADO=y
|
||||
BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT=y
|
||||
BR2_PACKAGE_PYTHON_WRAPT=y
|
||||
BR2_PACKAGE_PORTAUDIO=y
|
||||
BR2_PACKAGE_PORTAUDIO_OSS=y
|
||||
BR2_PACKAGE_SPEEXDSP=y
|
||||
@ -139,6 +143,7 @@ BR2_PACKAGE_LIBMPEG2_BINS=y
|
||||
BR2_PACKAGE_LIBTHEORA=y
|
||||
BR2_PACKAGE_LIBCURL=y
|
||||
BR2_PACKAGE_CURL=y
|
||||
BR2_PACKAGE_LIBTIRPC=y
|
||||
BR2_PACKAGE_LIBFRIBIDI=y
|
||||
BR2_PACKAGE_LIBUNISTRING=y
|
||||
BR2_PACKAGE_NCURSES_WCHAR=y
|
||||
@ -161,16 +166,15 @@ BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
||||
BR2_PACKAGE_BASH_COMPLETION=y
|
||||
BR2_PACKAGE_FILE=y
|
||||
BR2_PACKAGE_SCREEN=y
|
||||
BR2_PACKAGE_SUDO=y
|
||||
BR2_PACKAGE_TIME=y
|
||||
BR2_PACKAGE_WHICH=y
|
||||
BR2_PACKAGE_HTOP=y
|
||||
BR2_PACKAGE_START_STOP_DAEMON=y
|
||||
BR2_PACKAGE_TAR=y
|
||||
BR2_PACKAGE_UTIL_LINUX_FSCK=y
|
||||
BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y
|
||||
BR2_PACKAGE_UTIL_LINUX_KILL=y
|
||||
BR2_PACKAGE_UTIL_LINUX_MORE=y
|
||||
BR2_PACKAGE_UTIL_LINUX_MOUNT=y
|
||||
BR2_PACKAGE_NANO=y
|
||||
BR2_PACKAGE_VIM=y
|
||||
# BR2_PACKAGE_VIM_RUNTIME is not set
|
||||
@ -181,35 +185,43 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="1024M"
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
BR2_PACKAGE_HOST_MTOOLS=y
|
||||
BR2_PACKAGE_HOST_PYTHON_CYTHON=y
|
||||
BR2_PACKAGE_HOST_PYTHON_LXML=y
|
||||
BR2_PACKAGE_HOST_PYTHON_SIX=y
|
||||
BR2_PACKAGE_HOST_PYTHON_XLRD=y
|
||||
BR2_PACKAGE_PYTHON_MYCROFT=y
|
||||
BR2_PACKAGE_MYCROFT_SERVICE=y
|
||||
BR2_PACKAGE_MYCROFT_SPLASH=y
|
||||
BR2_PACKAGE_FANN=y
|
||||
BR2_PACKAGE_NODOGSPLASH=y
|
||||
BR2_PACKAGE_RESPEAKER=y
|
||||
BR2_PACKAGE_PYTHON_ADAPT_PARSER=y
|
||||
BR2_PACKAGE_PYTHON_COLORZERO=y
|
||||
BR2_PACKAGE_PYTHON_COVERALLS=y
|
||||
BR2_PACKAGE_PYTHON_DEPRECATED=y
|
||||
BR2_PACKAGE_PYTHON_FASTENERS=y
|
||||
BR2_PACKAGE_PYTHON_FEEDPARSER=y
|
||||
BR2_PACKAGE_PYTHON_GOOGLE_API_PYTHON_CLIENT=y
|
||||
BR2_PACKAGE_PYTHON_GPIOZERO=y
|
||||
BR2_PACKAGE_PYTHON_GTTS=y
|
||||
BR2_PACKAGE_PYTHON_HUMANHASH3=y
|
||||
BR2_PACKAGE_PYTHON_INFLECTION=y
|
||||
BR2_PACKAGE_PYTHON_LAZY=y
|
||||
BR2_PACKAGE_PYTHON_MSK=y
|
||||
BR2_PACKAGE_PYTHON_MYCROFT=y
|
||||
BR2_PACKAGE_PYTHON_OAUTH2CLIENT=y
|
||||
BR2_PACKAGE_PYTHON_OLEFILE=y
|
||||
BR2_PACKAGE_PYTHON_PADATIOUS=y
|
||||
BR2_PACKAGE_PYTHON_PAKO=y
|
||||
BR2_PACKAGE_PYTHON_PEP8=y
|
||||
BR2_PACKAGE_PYTHON_PETACT=y
|
||||
BR2_PACKAGE_PYTHON_PIP=y
|
||||
BR2_PACKAGE_PYTHON_POCKETSPHINX=y
|
||||
BR2_PACKAGE_PYTHON_PRECISE_RUNNER=y
|
||||
BR2_PACKAGE_PYTHON_PULSECTL=y
|
||||
BR2_PACKAGE_PYTHON_PYCHROMECAST=y
|
||||
BR2_PACKAGE_PYTHON_PYJWT=y
|
||||
BR2_PACKAGE_PYTHON_PYMPLAYER=y
|
||||
BR2_PACKAGE_PYTHON_REQUESTS_FUTURES=y
|
||||
BR2_PACKAGE_PYTHON_SGMLLIB3K=y
|
||||
BR2_PACKAGE_PYTHON_SOURCE=y
|
||||
BR2_PACKAGE_PYTHON_SPEECHRECOGNITION=y
|
||||
BR2_PACKAGE_PYTHON_VLC=y
|
||||
BR2_PACKAGE_PYTHON_WRAPT=y
|
||||
BR2_PACKAGE_PYTHON_XMLRUNNER=y
|
||||
|
6
buildroot-external/package/mycroft-service/Config.in
Normal file
6
buildroot-external/package/mycroft-service/Config.in
Normal file
@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_MYCROFT_SERVICE
|
||||
bool "mycroft-service"
|
||||
help
|
||||
Start the Mycroft A.I. software as service.
|
||||
|
||||
https://mycroft.ai/
|
@ -0,0 +1,23 @@
|
||||
################################################################################
|
||||
#
|
||||
# mycroft-service
|
||||
#
|
||||
################################################################################
|
||||
|
||||
MYCROFT_SERVICE_VERSION = 0.1.0
|
||||
MYCROFT_SERVICE_SITE = $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/mycroft-service
|
||||
MYCROFT_SERVICE_SITE_METHOD = local
|
||||
MYCROFT_SERVICE_LICENSE = Apache License 2.0
|
||||
MYCROFT_SERVICE_LICENSE_FILES = LICENSE
|
||||
|
||||
define MYCROFT_SERVICE_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 0755 $(@D)/start-mycroft.sh $(TARGET_DIR)/usr/bin/
|
||||
$(INSTALL) -m 0755 $(@D)/stop-mycroft.sh $(TARGET_DIR)/usr/bin/
|
||||
$(INSTALL) -D -m 644 $(@D)/mycroft.service \
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/mycroft.service
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
|
||||
ln -fs ../../../../usr/lib/systemd/system/mycroft.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mycroft.service
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
15
buildroot-external/package/mycroft-service/mycroft.service
Normal file
15
buildroot-external/package/mycroft-service/mycroft.service
Normal file
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Mycroft AI
|
||||
After=pulseaudio.service
|
||||
|
||||
[Service]
|
||||
User=mycroft
|
||||
WorkingDirectory=/home/mycroft
|
||||
ExecStart=start-mycroft.sh all
|
||||
ExecStop=stop-mycroft.sh all
|
||||
Type=forking
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -23,31 +23,34 @@ DIR="$( pwd )"
|
||||
|
||||
function help() {
|
||||
echo "${script}: Mycroft command/service launcher"
|
||||
echo "usage: ${script} [command] [params]"
|
||||
echo "usage: ${script} [COMMAND] [restart] [params]"
|
||||
echo
|
||||
echo "Services:"
|
||||
echo "Services COMMANDs:"
|
||||
echo " all runs core services: bus, audio, skills, voice"
|
||||
echo " debug runs core services, then starts the CLI"
|
||||
echo
|
||||
echo "Services:"
|
||||
echo " audio the audio playback service"
|
||||
echo " bus the messagebus service"
|
||||
echo " skills the skill service"
|
||||
echo " voice voice capture service"
|
||||
# echo " wifi wifi setup service"
|
||||
echo " enclosure mark_1 enclosure service"
|
||||
echo
|
||||
echo "Tools:"
|
||||
echo "Tool COMMANDs:"
|
||||
echo " cli the Command Line Interface"
|
||||
echo " unittest run mycroft-core unit tests (requires pytest)"
|
||||
echo " skillstest run the skill autotests for all skills (requires pytest)"
|
||||
echo
|
||||
echo "Utils:"
|
||||
echo "Util COMMANDs:"
|
||||
echo " audiotest attempt simple audio validation"
|
||||
echo " audioaccuracytest more complex audio validation"
|
||||
echo " sdkdoc generate sdk documentation"
|
||||
echo
|
||||
echo "Options:"
|
||||
echo " restart (optional) Force the service to restart if running"
|
||||
echo
|
||||
echo "Examples:"
|
||||
echo " ${script} all"
|
||||
echo " ${script} all restart"
|
||||
echo " ${script} cli"
|
||||
echo " ${script} unittest"
|
||||
|
||||
@ -72,7 +75,33 @@ function name-to-script-path() {
|
||||
esac
|
||||
}
|
||||
|
||||
first_time=true
|
||||
|
||||
# set the right locale / language settings
|
||||
export LC_ALL=en_US.UTF-8
|
||||
export LANG=en_US.UTF-8
|
||||
export LANGUAGE=en_US.UTF-8
|
||||
|
||||
function init-once() {
|
||||
sudo fbv -f -d 1 /opt/mycroft/splash/logo.png > /dev/null 2>&1
|
||||
if ($first_time) ; then
|
||||
echo "Initializing..."
|
||||
# Check if Mycroft log folders are present and if not
|
||||
# create those logging folders
|
||||
if [[ ! -w /var/log/mycroft/ ]] ; then
|
||||
# Creating needed folders
|
||||
printf "Creating /var/log/mycroft/ directory"
|
||||
if [[ ! -d /var/log/mycroft/ ]] ; then
|
||||
mkdir /var/log/mycroft/
|
||||
fi
|
||||
fi
|
||||
first_time=false
|
||||
fi
|
||||
}
|
||||
|
||||
function launch-process() {
|
||||
init-once
|
||||
|
||||
name-to-script-path ${1}
|
||||
|
||||
# Launch process in foreground
|
||||
@ -80,12 +109,28 @@ function launch-process() {
|
||||
python3 -m ${_module} $_params
|
||||
}
|
||||
|
||||
function require-process() {
|
||||
# Launch process if not found
|
||||
name-to-script-path ${1}
|
||||
if ! pgrep -f "python3 -m ${_module}" > /dev/null ; then
|
||||
# Start required process
|
||||
launch-background ${1}
|
||||
fi
|
||||
}
|
||||
|
||||
function launch-background() {
|
||||
init-once
|
||||
|
||||
# Check if given module is running and start (or restart if running)
|
||||
name-to-script-path ${1}
|
||||
if pgrep -f "python3 -m ${_module}" > /dev/null ; then
|
||||
echo "Restarting: ${1}"
|
||||
"${DIR}/stop-mycroft.sh" ${1}
|
||||
if ($_force_restart) ; then
|
||||
echo "Restarting: ${1}"
|
||||
"${DIR}/stop-mycroft.sh" ${1}
|
||||
else
|
||||
# Already running, no need to restart
|
||||
return
|
||||
fi
|
||||
else
|
||||
echo "Starting background service $1"
|
||||
fi
|
||||
@ -107,25 +152,27 @@ function launch-all() {
|
||||
launch-background skills
|
||||
launch-background audio
|
||||
launch-background voice
|
||||
|
||||
# Determine platform type
|
||||
if [[ -r /etc/mycroft/mycroft.conf ]] ; then
|
||||
mycroft_platform=$( jq -r ".enclosure.platform" < /etc/mycroft/mycroft.conf )
|
||||
if [[ $mycroft_platform = "mycroft_mark_1" ]] ; then
|
||||
# running on a Mark 1, start enclosure service
|
||||
launch-background enclosure
|
||||
fi
|
||||
fi
|
||||
launch-background enclosure
|
||||
}
|
||||
|
||||
_opt=$1
|
||||
_force_restart=false
|
||||
shift
|
||||
if [[ "${1}" == "restart" ]] || [[ "${_opt}" == "restart" ]] ; then
|
||||
_force_restart=true
|
||||
if [[ "${_opt}" == "restart" ]] ; then
|
||||
# Support "start-mycroft.sh restart all" as well as "start-mycroft.sh all restart"
|
||||
_opt=$1
|
||||
fi
|
||||
shift
|
||||
fi
|
||||
_params=$@
|
||||
|
||||
case ${_opt} in
|
||||
"all")
|
||||
launch-all
|
||||
;;
|
||||
|
||||
"bus")
|
||||
launch-background ${_opt}
|
||||
;;
|
||||
@ -138,24 +185,47 @@ case ${_opt} in
|
||||
"voice")
|
||||
launch-background ${_opt}
|
||||
;;
|
||||
|
||||
"debug")
|
||||
launch-all
|
||||
launch-process cli
|
||||
;;
|
||||
|
||||
"cli")
|
||||
require-process bus
|
||||
require-process skills
|
||||
launch-process ${_opt}
|
||||
;;
|
||||
|
||||
# TODO: Restore support for Wifi Setup on a Picroft, etc.
|
||||
# "wifi")
|
||||
# launch-background ${_opt}
|
||||
# ;;
|
||||
"unittest")
|
||||
pytest test/unittests/ --cov=mycroft "$@"
|
||||
;;
|
||||
"singleunittest")
|
||||
pytest "$@"
|
||||
;;
|
||||
"skillstest")
|
||||
pytest test/integrationtests/skills/discover_tests.py "$@"
|
||||
;;
|
||||
"audiotest")
|
||||
launch-process ${_opt}
|
||||
;;
|
||||
"audioaccuracytest")
|
||||
launch-process ${_opt}
|
||||
;;
|
||||
"sdkdoc")
|
||||
cd doc
|
||||
make ${opt}
|
||||
cd ..
|
||||
;;
|
||||
"enclosure")
|
||||
launch-background ${_opt}
|
||||
;;
|
||||
|
||||
*)
|
||||
help
|
||||
;;
|
||||
esac
|
||||
|
@ -31,7 +31,7 @@ function help() {
|
||||
echo " audio stop the audio playback service"
|
||||
echo " skills stop the skill service"
|
||||
echo " voice stop voice capture service"
|
||||
echo " enclosure stop mark_1 enclosure service"
|
||||
echo " enclosure stop enclosure (hardware/gui interface) service"
|
||||
echo
|
||||
echo "Examples:"
|
||||
echo " ${script}"
|
||||
@ -50,8 +50,9 @@ function process-running() {
|
||||
|
||||
function end-process() {
|
||||
if process-running $1 ; then
|
||||
echo -n "Stopping $1..."
|
||||
pid=$( pgrep -f "python3 -m mycroft.*${1}" )
|
||||
# Find the process by name, only returning the oldest if it has children
|
||||
pid=$( pgrep -o -f "python3 -m mycroft.*${1}" )
|
||||
echo -n "Stopping $1 (${pid})..."
|
||||
kill -SIGINT ${pid}
|
||||
|
||||
# Wait up to 5 seconds (50 * 0.1) for process to stop
|
||||
@ -67,7 +68,8 @@ function end-process() {
|
||||
|
||||
if process-running $1 ; then
|
||||
echo "failed to stop."
|
||||
echo -n " Killing $1..."
|
||||
pid=$( pgrep -o -f "python3 -m mycroft.*${1}" )
|
||||
echo -n " Killing $1 (${pid})..."
|
||||
kill -9 ${pid}
|
||||
echo "killed."
|
||||
result=120
|
||||
@ -80,8 +82,10 @@ function end-process() {
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
result=0 # default, no change
|
||||
|
||||
|
||||
OPT=$1
|
||||
shift
|
||||
|
||||
@ -94,15 +98,8 @@ case ${OPT} in
|
||||
end-process skills
|
||||
end-process audio
|
||||
end-process speech
|
||||
|
||||
# determine platform type
|
||||
if [[ -r /etc/mycroft/mycroft.conf ]] ; then
|
||||
mycroft_platform=$( jq -r ".enclosure.platform" < /etc/mycroft/mycroft.conf )
|
||||
if [[ $mycroft_platform == "mycroft_mark_1" ]] ; then
|
||||
# running on a Mark 1, stop enclosure service
|
||||
end-process enclosure
|
||||
fi
|
||||
fi
|
||||
end-process enclosure
|
||||
sudo fbv -f -d 1 /opt/mycroft/splash/background.png > /dev/null 2>&1
|
||||
;;
|
||||
"bus")
|
||||
end-process messagebus.service
|
||||
@ -119,6 +116,7 @@ case ${OPT} in
|
||||
"enclosure")
|
||||
end-process enclosure
|
||||
;;
|
||||
|
||||
*)
|
||||
help
|
||||
;;
|
6
buildroot-external/package/mycroft-splash/Config.in
Normal file
6
buildroot-external/package/mycroft-splash/Config.in
Normal file
@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_MYCROFT_SPLASH
|
||||
bool "mycroft-splash"
|
||||
help
|
||||
Show Mycroft A.I. branded splash screens on boot/halt.
|
||||
|
||||
https://mycroft.ai/ https://www.j1nx.nl
|
@ -0,0 +1,8 @@
|
||||
[Unit]
|
||||
Description=Mycroft AI boot splash screen
|
||||
|
||||
[Service]
|
||||
ExecStart=fbv -f -d 1 /opt/mycroft/splash/boot.png > /dev/null 2>&1
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Mycroft AI halt splash screen
|
||||
DefaultDependencies=no
|
||||
Before=halt.target
|
||||
|
||||
[Service]
|
||||
ExecStart=fbv -f -d 1 /opt/mycroft/splash/down.png > /dev/null 2>&1
|
||||
Type=oneshot
|
||||
|
||||
[Install]
|
||||
WantedBy=halt.target poweroff.target
|
36
buildroot-external/package/mycroft-splash/mycroft-splash.mk
Normal file
36
buildroot-external/package/mycroft-splash/mycroft-splash.mk
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
#
|
||||
# mycroft-splash
|
||||
#
|
||||
################################################################################
|
||||
|
||||
MYCROFT_SPLASH_VERSION = 0.1.0
|
||||
MYCROFT_SPLASH_SITE = $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/mycroft-splash
|
||||
MYCROFT_SPLASH_SITE_METHOD = local
|
||||
MYCROFT_SPLASH_LICENSE = Apache License 2.0
|
||||
MYCROFT_SPLASH_LICENSE_FILES = LICENSE
|
||||
|
||||
define MYCROFT_SPLASH_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -D -m 644 $(@D)/boot-splashscreen.service \
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/boot-splashscreen.service
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/basic.target.wants
|
||||
ln -fs ../../../../usr/lib/systemd/system/boot-splashscreen.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/basic.target.wants/boot-splashscreen.service
|
||||
|
||||
$(INSTALL) -D -m 644 $(@D)/halt-splashscreen.service \
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/halt-splashscreen.service
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/halt.target.wants
|
||||
ln -fs ../../../../usr/lib/systemd/system/halt-splashscreen.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/halt.target.wants/halt-splashscreen.service
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/poweroff.target.wants
|
||||
ln -fs ../../../../usr/lib/systemd/system/halt-splashscreen.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/poweroff.target.wants/halt-splashscreen.service
|
||||
|
||||
$(INSTALL) -D -m 644 $(@D)/off-splashscreen.service \
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/off-splashscreen.service
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/shutdown.target.wants
|
||||
ln -fs ../../../../usr/lib/systemd/system/off-splashscreen.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/shutdown.target.wants/off-splashscreen.service
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Mycroft AI safe power off splash screen
|
||||
DefaultDependencies=no
|
||||
After=umount.target
|
||||
Before=final.target
|
||||
|
||||
[Service]
|
||||
ExecStart=fbv -f -d 1 /opt/mycroft/splash/off.png > /dev/null 2>&1
|
||||
Type=oneshot
|
||||
|
||||
[Install]
|
||||
WantedBy=shutdown.target
|
@ -1,3 +1,3 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/adapt-parser/json
|
||||
md5 f415b363a15c3077a9624280a5bc2d37 adapt-parser-0.3.0.tar.gz
|
||||
sha256 9445c9be4fcf3c519d1fbc605ea289349e11c2eb581db72242b61d12cc4d337f adapt-parser-0.3.0.tar.gz
|
||||
sha256 028de80f603c62d4a8652549ea126423cc12695c9e578574b8932010ca32a33e adapt-parser-0.3.3.tar.gz
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_ADAPT_PARSER_VERSION = 0.3.0
|
||||
PYTHON_ADAPT_PARSER_VERSION = 0.3.3
|
||||
PYTHON_ADAPT_PARSER_SOURCE = adapt-parser-$(PYTHON_ADAPT_PARSER_VERSION).tar.gz
|
||||
PYTHON_ADAPT_PARSER_SITE = https://files.pythonhosted.org/packages/36/a4/3ef82c754a8fb079a98d0adb66be1e3dc7a42d6faafdf1f106924a48c352
|
||||
PYTHON_ADAPT_PARSER_SITE = https://files.pythonhosted.org/packages/d7/be/be6417e4b6c099dfdcfec8c512de1c1e11ba446e6c81f405bd313fc2d6b4
|
||||
PYTHON_ADAPT_PARSER_SETUP_TYPE = setuptools
|
||||
|
||||
$(eval $(python-package))
|
||||
|
7
buildroot-external/package/python-appdirs/Config.in
Normal file
7
buildroot-external/package/python-appdirs/Config.in
Normal file
@ -0,0 +1,7 @@
|
||||
config BR2_PACKAGE_PYTHON_APPDIRS
|
||||
bool "python-appdirs"
|
||||
help
|
||||
A small Python module for determining appropriate platform-
|
||||
specific dirs, e.g. a "user data dir".
|
||||
|
||||
http://github.com/ActiveState/appdirs
|
@ -0,0 +1,5 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/appdirs/json
|
||||
md5 44c679904082a2133f5566c8a0d3ab42 appdirs-1.4.3.tar.gz
|
||||
sha256 9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92 appdirs-1.4.3.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 36ddb4d0a745a93ab203203d7190814b1b89727d254caff48c7a7afbbd47000b LICENSE.txt
|
14
buildroot-external/package/python-appdirs/python-appdirs.mk
Normal file
14
buildroot-external/package/python-appdirs/python-appdirs.mk
Normal file
@ -0,0 +1,14 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-appdirs
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_APPDIRS_VERSION = 1.4.3
|
||||
PYTHON_APPDIRS_SOURCE = appdirs-$(PYTHON_APPDIRS_VERSION).tar.gz
|
||||
PYTHON_APPDIRS_SITE = https://files.pythonhosted.org/packages/48/69/d87c60746b393309ca30761f8e2b49473d43450b150cb08f3c6df5c11be5
|
||||
PYTHON_APPDIRS_SETUP_TYPE = setuptools
|
||||
PYTHON_APPDIRS_LICENSE = MIT
|
||||
PYTHON_APPDIRS_LICENSE_FILES = LICENSE.txt
|
||||
|
||||
$(eval $(python-package))
|
@ -1,3 +1,3 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/casttube/json
|
||||
md5 da6bc1693f9b343237e75760537b4c3c casttube-0.1.0.tar.gz
|
||||
sha256 d3787a38eb3a2bb2c1dc82e9e26387ff056de214b26817cf0bbed2f2a83a5d5c casttube-0.1.0.tar.gz
|
||||
sha256 f25b3c634efe702896233690f7590e8d6311590910f18dbb763b90419d9ef53c casttube-0.2.0.tar.gz
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_CASTTUBE_VERSION = 0.1.0
|
||||
PYTHON_CASTTUBE_VERSION = 0.2.0
|
||||
PYTHON_CASTTUBE_SOURCE = casttube-$(PYTHON_CASTTUBE_VERSION).tar.gz
|
||||
PYTHON_CASTTUBE_SITE = https://files.pythonhosted.org/packages/a1/57/00f76daff3a80f3e84ec25ac25e982f1aca77df16174b900a1c2ec1d9af1
|
||||
PYTHON_CASTTUBE_SITE = https://files.pythonhosted.org/packages/54/d1/8edc98ef2aa08eed8dd72e2ef31b6658ba222ea8d228a4c2c3e73a58991a
|
||||
PYTHON_CASTTUBE_SETUP_TYPE = setuptools
|
||||
|
||||
$(eval $(python-package))
|
||||
|
6
buildroot-external/package/python-colorzero/Config.in
Normal file
6
buildroot-external/package/python-colorzero/Config.in
Normal file
@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_PYTHON_COLORZERO
|
||||
bool "python-colorzero"
|
||||
help
|
||||
Yet another Python color library.
|
||||
|
||||
http://colorzero.readthedocs.io/
|
@ -0,0 +1,5 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/colorzero/json
|
||||
md5 7581c4b7fc5f52bf41422e4bbb29731a colorzero-1.1.tar.gz
|
||||
sha256 acba47119b5d8555680d3cda9afe6ccc5481385ccc3c00084dd973f7aa184599 colorzero-1.1.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 47778d78e05bb6c39c022814e3712a0327c6418c7251757e72167ab8ff12bb4d LICENSE.txt
|
@ -0,0 +1,14 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-colorzero
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_COLORZERO_VERSION = 1.1
|
||||
PYTHON_COLORZERO_SOURCE = colorzero-$(PYTHON_COLORZERO_VERSION).tar.gz
|
||||
PYTHON_COLORZERO_SITE = https://files.pythonhosted.org/packages/08/0e/826b882db4da2970f53331969d66efc2da2071ffd9a8824601d0feff513d
|
||||
PYTHON_COLORZERO_SETUP_TYPE = setuptools
|
||||
PYTHON_COLORZERO_LICENSE = BSD-3-Clause
|
||||
PYTHON_COLORZERO_LICENSE_FILES = LICENSE.txt
|
||||
|
||||
$(eval $(python-package))
|
6
buildroot-external/package/python-gpiozero/Config.in
Normal file
6
buildroot-external/package/python-gpiozero/Config.in
Normal file
@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_PYTHON_GPIOZERO
|
||||
bool "python-gpiozero"
|
||||
help
|
||||
A simple interface to GPIO devices with Raspberry Pi..
|
||||
|
||||
https://github.com/RPi-Distro/python-gpiozero
|
@ -0,0 +1,3 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/gpiozero/json
|
||||
md5 1b138b727e71e976675773e2131a8297 gpiozero-1.4.1.tar.gz
|
||||
sha256 b4b074e56dea12c21b05e6feef792719a392a245f5e685bc56be3dc2546f8609 gpiozero-1.4.1.tar.gz
|
@ -0,0 +1,12 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-gpiozero
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_GPIOZERO_VERSION = 1.4.1
|
||||
PYTHON_GPIOZERO_SOURCE = gpiozero-$(PYTHON_GPIOZERO_VERSION).tar.gz
|
||||
PYTHON_GPIOZERO_SITE = https://files.pythonhosted.org/packages/3b/50/377575ff8fbdb672c27869ce536813cafdd94f5e14b5bf377edabb8a8097
|
||||
PYTHON_GPIOZERO_SETUP_TYPE = setuptools
|
||||
|
||||
$(eval $(python-package))
|
@ -1,6 +1,6 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/gTTS/json
|
||||
md5 a74588d23840f07badb195bda8138b2d gTTS-2.0.1.tar.gz
|
||||
sha256 c85ca77ad71181209068d7437275bd35182f38cfef5a2dd7b8fcd4ba1b78ec1a gTTS-2.0.1.tar.gz
|
||||
sha256 a6d4cf039da2797de8af2da7c1f0ce700ac0b48601ce6c11a02b337fd6bdcf57 gTTS-2.0.3.tar.gz
|
||||
sha256 124dfc447056cc622989319ebb553d56cfd5c197c345cee3397b675a6da84f58 gTTS-1.1.7.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 d762ddea99fa1eddb0a03d040a97e4e1404f432f7c70d4b49d391858230a22aa LICENSE
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_GTTS_VERSION = 1.1.7
|
||||
PYTHON_GTTS_VERSION = 2.0.3
|
||||
PYTHON_GTTS_SOURCE = gTTS-$(PYTHON_GTTS_VERSION).tar.gz
|
||||
PYTHON_GTTS_SITE = https://files.pythonhosted.org/packages/9d/7d/ae1af3b5e4912a630d7aae23c43577799cf49cddd0f5a00a33791d414c2d
|
||||
PYTHON_GTTS_SITE = https://files.pythonhosted.org/packages/e6/37/f55346a736278f0eb0ae9f7edee1a61028735ef0010db68a2e6fcd0ece56
|
||||
PYTHON_GTTS_SETUP_TYPE = setuptools
|
||||
PYTHON_GTTS_LICENSE = MIT
|
||||
PYTHON_GTTS_LICENSE_FILES = LICENSE
|
||||
|
@ -2,3 +2,4 @@
|
||||
md5 39f56680d81c3d553ccc663f013a48f8 gTTS-token-1.1.1.zip
|
||||
sha256 74badf3ba37773d8ba4a462a09b64de76a0ebd4015d667a6fdb041c2219283ef gTTS-token-1.1.1.zip
|
||||
sha256 a45d62dc3a4c5ea71ee1fc3349661394cf84cc801197748f408402b2041d6f32 gTTS-token-1.1.2.tar.gz
|
||||
sha256 9d6819a85b813f235397ef931ad4b680f03d843c9b2a9e74dd95175a4bc012c5 gTTS-token-1.1.3.tar.gz
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_GTTS_TOKEN_VERSION = 1.1.2
|
||||
PYTHON_GTTS_TOKEN_VERSION = 1.1.3
|
||||
PYTHON_GTTS_TOKEN_SOURCE = gTTS-token-$(PYTHON_GTTS_TOKEN_VERSION).tar.gz
|
||||
PYTHON_GTTS_TOKEN_SITE = https://files.pythonhosted.org/packages/5a/81/b54c771ee6a78bdb6aebc274d7a806ad1f8761462f3592f3781d5cd9046f
|
||||
PYTHON_GTTS_TOKEN_SITE = https://files.pythonhosted.org/packages/e7/25/ca6e9cd3275bfc3097fe6b06cc31db6d3dfaf32e032e0f73fead9c9a03ce
|
||||
PYTHON_GTTS_TOKEN_SETUP_TYPE = setuptools
|
||||
PYTHON_GTTS_TOKEN_LICENSE = MIT
|
||||
|
||||
|
6
buildroot-external/package/python-lazy/Config.in
Normal file
6
buildroot-external/package/python-lazy/Config.in
Normal file
@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_PYTHON_LAZY
|
||||
bool "python-lazy"
|
||||
help
|
||||
Lazy attributes for Python objects.
|
||||
|
||||
https://github.com/stefanholek/lazy
|
5
buildroot-external/package/python-lazy/python-lazy.hash
Normal file
5
buildroot-external/package/python-lazy/python-lazy.hash
Normal file
@ -0,0 +1,5 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/lazy/json
|
||||
md5 f4e5a0a5d2add47352a7e10ee87f8211 lazy-1.4.zip
|
||||
sha256 2c6d27a5ab130fb85435320651a47403adcb37ecbcc501b0c6606391f65f5b43 lazy-1.4.zip
|
||||
# Locally computed sha256 checksums
|
||||
sha256 8ba489d9fecfaabf369f6ee4394e689d21b313547531898e2942173f877bfee2 LICENSE
|
20
buildroot-external/package/python-lazy/python-lazy.mk
Normal file
20
buildroot-external/package/python-lazy/python-lazy.mk
Normal file
@ -0,0 +1,20 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-lazy
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_LAZY_VERSION = 1.4
|
||||
PYTHON_LAZY_SOURCE = lazy-$(PYTHON_LAZY_VERSION).zip
|
||||
PYTHON_LAZY_SITE = https://files.pythonhosted.org/packages/ce/10/2c0cd8a601fff792f814b89233859e3fce2e266a5defd8af3bcadbe5c7ef
|
||||
PYTHON_LAZY_SETUP_TYPE = setuptools
|
||||
PYTHON_LAZY_LICENSE = BSD-2-Clause
|
||||
PYTHON_LAZY_LICENSE_FILES = LICENSE
|
||||
|
||||
define PYTHON_LAZY_EXTRACT_CMDS
|
||||
$(UNZIP) -d $(@D) $(DL_DIR)/python-lazy/$(PYTHON_LAZY_SOURCE)
|
||||
mv $(@D)/lazy-$(PYTHON_LAZY_VERSION)/* $(@D)
|
||||
$(RM) -r $(@D)/lazy-$(PYTHON_LAZY_VERSION)
|
||||
endef
|
||||
|
||||
$(eval $(python-package))
|
@ -1,3 +1,5 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/msk/json
|
||||
md5 1460094aeffac634008ba1dd12348c3b msk-0.3.11.tar.gz
|
||||
sha256 d5c157a60eecba4c3b07de89e43e85dec366b5ecdd3677f7e73c0c4cddf01b74 msk-0.3.11.tar.gz
|
||||
sha256 8e5a1fb7afa22977a9d6ee0835ac52420b74324c1d2088286aacc485a521e573 msk-0.3.12.tar.gz
|
||||
sha256 55be86ff2cd0087016759f2b15b40861cda2a8d8a8d0c669fdacdf32a77a10da msk-0.3.13.tar.gz
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_MSK_VERSION = 0.3.11
|
||||
PYTHON_MSK_VERSION = 0.3.13
|
||||
PYTHON_MSK_SOURCE = msk-$(PYTHON_MSK_VERSION).tar.gz
|
||||
PYTHON_MSK_SITE = https://files.pythonhosted.org/packages/6d/2d/561d58e16d456ee5ca79d6dff3fb053f56da4ad62832eccce82b61a65789
|
||||
PYTHON_MSK_SITE = https://files.pythonhosted.org/packages/28/51/8d2193b8f1471178149cdbcc1830b086e978f99598208cae2ba2741b2979
|
||||
PYTHON_MSK_SETUP_TYPE = setuptools
|
||||
|
||||
$(eval $(python-package))
|
||||
|
@ -1,5 +1,6 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/msm/json
|
||||
md5 fe54a2aecd6751bef66fdcd27ffd3cdc msm-0.5.19.tar.gz
|
||||
sha256 0f67b73e277a73ff4c97ecdf0aa6e10b1202bc09d2666f69170f9aa20653c573 msm-0.5.19.tar.gz
|
||||
sha256 955204cb293a83e9cc5d3af9a7d0db69d5bba9215e4bf4337d26bf4b635fd78a msm-0.7.9.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 LICENSE
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_MSM_VERSION = 0.5.19
|
||||
PYTHON_MSM_VERSION = 0.7.9
|
||||
PYTHON_MSM_SOURCE = msm-$(PYTHON_MSM_VERSION).tar.gz
|
||||
PYTHON_MSM_SITE = https://files.pythonhosted.org/packages/ee/ee/8e1dd6ceefea93e2c7009ad7d9b2fb9fcfacad8321042611a4f1179f3e86
|
||||
PYTHON_MSM_SITE = https://files.pythonhosted.org/packages/46/e7/cd1c3771ecf644d95ef7c3ce7b53eeccccac1ad57c3ca3211f70ad02be29
|
||||
PYTHON_MSM_SETUP_TYPE = setuptools
|
||||
PYTHON_MSM_LICENSE = Apache-2.0
|
||||
PYTHON_MSM_LICENSE_FILES = LICENSE
|
||||
|
@ -0,0 +1,35 @@
|
||||
From 6f5b4940d26bc3d3413cd750f3e7e17c5e9e5db7 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Steenbergen <info@j1nx.nl>
|
||||
Date: Wed, 4 Sep 2019 16:01:39 +0200
|
||||
Subject: [PATCH 1/1] Bump python-tornado and python-dateutil versions as
|
||||
requirements
|
||||
|
||||
---
|
||||
requirements.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/requirements.txt b/requirements.txt
|
||||
index 11f08860cc..661dfcbe03 100644
|
||||
--- a/requirements.txt
|
||||
+++ b/requirements.txt
|
||||
@@ -6,7 +6,7 @@ gTTS-token==1.1.3
|
||||
PyAudio==0.2.11
|
||||
pyee==5.0.0
|
||||
SpeechRecognition==3.8.1
|
||||
-tornado==4.5.3
|
||||
+tornado==5.1.1
|
||||
websocket-client==0.54.0
|
||||
requests-futures==0.9.5
|
||||
pyalsaaudio==0.8.2
|
||||
@@ -16,7 +16,7 @@ psutil==5.2.1
|
||||
pocketsphinx==0.1.0
|
||||
inflection==0.3.1
|
||||
pillow==4.1.1
|
||||
-python-dateutil==2.6.0
|
||||
+python-dateutil==2.7.5
|
||||
pychromecast==3.2.2
|
||||
python-vlc==1.1.2
|
||||
pulsectl==17.7.4
|
||||
--
|
||||
2.11.0
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 28a9ff65a9b71ad70b906d688b7b2f593ea108cc Mon Sep 17 00:00:00 2001
|
||||
From: Peter Steenbergen <info@j1nx.nl>
|
||||
Date: Fri, 5 Oct 2018 09:42:55 +0200
|
||||
Subject: [PATCH 1/1] Enforce UTF8 encoding
|
||||
|
||||
---
|
||||
mycroft/dialog/__init__.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/mycroft/dialog/__init__.py b/mycroft/dialog/__init__.py
|
||||
index 59b4a44a0d..59c521b929 100644
|
||||
--- a/mycroft/dialog/__init__.py
|
||||
+++ b/mycroft/dialog/__init__.py
|
||||
@@ -45,7 +45,7 @@ class MustacheDialogRenderer(object):
|
||||
template_name (str): a unique identifier for a group of templates
|
||||
filename (str): a fully qualified filename of a mustache template.
|
||||
"""
|
||||
- with open(filename, 'r') as f:
|
||||
+ with open(filename, 'r', encoding='utf-8') as f:
|
||||
for line in f:
|
||||
template_text = line.strip()
|
||||
if template_name not in self.templates:
|
||||
--
|
||||
2.11.0
|
||||
|
@ -1,5 +1 @@
|
||||
sha256 90255931a864a4abe30f28c470009cf798dc72221cab16ba41712d80b19e28e4 python-mycroft-v18.8.1.tar.gz
|
||||
sha256 af18bd9ee1c6e3bbc6b424af39b352179d05fc337d04573eadba37b01f7105f6 python-mycroft-v18.8.2.tar.gz
|
||||
sha256 25c583e40e888a99ea6fb0817960952bc26dcf8facf87f77f3363ac0c3c3b9d9 python-mycroft-v18.8.3.tar.gz
|
||||
sha256 42950284980d415d5cf75c91ad1e59080770cf82a12dc294f106b97fdf8c65c0 python-mycroft-v18.8.4.tar.gz
|
||||
sha256 35d6c2d6155ea9b1887b296164a8ee7f1abf8e58b192a4829aaa59a7592909fa python-mycroft-v18.8.5.tar.gz
|
||||
sha256 be610c54770cd3faaca2ec57f8b7a8078cf659b8c408c47c25157ba3607b10a8 python-mycroft-v19.2.14.tar.gz
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_MYCROFT_VERSION = v18.8.5
|
||||
PYTHON_MYCROFT_VERSION = v19.2.14
|
||||
PYTHON_MYCROFT_SITE = $(call github,MycroftAI,mycroft-core,release/$(PYTHON_MYCROFT_VERSION))
|
||||
PYTHON_MYCROFT_SETUP_TYPE = setuptools
|
||||
PYTHON_MYCROFT_LICENSE_FILES =
|
||||
PYTHON_MYCROFT_LICENSE_FILES = LICENSE
|
||||
|
||||
$(eval $(python-package))
|
||||
|
@ -2,3 +2,5 @@
|
||||
sha256 06fb231807f1c82d6fe8014e81d8a97124219fe6bcbccc020d445ca22d437146 padaos-0.1.6.tar.gz
|
||||
md5 5dbb47982c859449f06decde6d240bd9 padaos-0.1.7.tar.gz
|
||||
sha256 0703a5fec01a5b40038e90a32c39ac4c2c59b2a91b9bd1624408f017a2f61db3 padaos-0.1.7.tar.gz
|
||||
sha256 287310c7299a1c3ea2d0f8193caf83944d297a30a131b298bc29379acc46714e padaos-0.1.8.tar.gz
|
||||
sha256 47be66fed43f35b5347722aa45ee3c2df64ea1718cf805b2f1da81ed2c98ee83 padaos-0.1.9.tar.gz
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PADAOS_VERSION = 0.1.7
|
||||
PYTHON_PADAOS_VERSION = 0.1.9
|
||||
PYTHON_PADAOS_SOURCE = padaos-$(PYTHON_PADAOS_VERSION).tar.gz
|
||||
PYTHON_PADAOS_SITE = https://files.pythonhosted.org/packages/35/e0/ec50c08c5e8c5e049be9f841dae766c570e600c36730888be6cf1d317266
|
||||
PYTHON_PADAOS_SITE = https://files.pythonhosted.org/packages/5d/d9/f1e366c164c551c79e988c43fa282aea6e671d7842e6f70164ae09ad6376
|
||||
PYTHON_PADAOS_SETUP_TYPE = setuptools
|
||||
|
||||
$(eval $(python-package))
|
||||
|
@ -1,3 +1,3 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/padatious/json
|
||||
md5 6e9d8b85814090a1c3c39774ef24124e padatious-0.4.5.tar.gz
|
||||
sha256 81cefa5c3baf5fe8e3c6987216c1c438eff59f2026bce8ae6302871c7edbd69b padatious-0.4.5.tar.gz
|
||||
md5 cf7bbc745f6689d53f0646d8747f744b padatious-0.4.6.tar.gz
|
||||
sha256 03bebbe81ebf67526b7e7300cfb8fa5ad2f30ed0aa71e4e54e6e8ed292ff9883 padatious-0.4.6.tar.gz
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PADATIOUS_VERSION = 0.4.5
|
||||
PYTHON_PADATIOUS_VERSION = 0.4.6
|
||||
PYTHON_PADATIOUS_SOURCE = padatious-$(PYTHON_PADATIOUS_VERSION).tar.gz
|
||||
PYTHON_PADATIOUS_SITE = https://files.pythonhosted.org/packages/00/ca/5d2262ec5ca90afa94706b78c770de9f48298d3048cd65dc0ad79ffcfb10
|
||||
PYTHON_PADATIOUS_SITE = https://files.pythonhosted.org/packages/1f/37/0022764d88b1aacb7f42a9e3ba5250b10212d8b6cf6223c58e639d669a6c
|
||||
PYTHON_PADATIOUS_SETUP_TYPE = setuptools
|
||||
|
||||
$(eval $(python-package))
|
||||
|
7
buildroot-external/package/python-pako/Config.in
Normal file
7
buildroot-external/package/python-pako/Config.in
Normal file
@ -0,0 +1,7 @@
|
||||
config BR2_PACKAGE_PYTHON_PAKO
|
||||
bool "python-pako"
|
||||
select BR2_PACKAGE_PYTHON_APPDIRS # runtime
|
||||
help
|
||||
The universal package manager library.
|
||||
|
||||
https://github.com/MycroftAI/pako
|
5
buildroot-external/package/python-pako/python-pako.hash
Normal file
5
buildroot-external/package/python-pako/python-pako.hash
Normal file
@ -0,0 +1,5 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/pako/json
|
||||
md5 8eb7077075091c50e4b8a9f939607277 pako-0.2.3.tar.gz
|
||||
sha256 6be55fd8c5a2a6f02974f37438c1c47a3d9e764ce81c9d0a1a8c9a1815a59778 pako-0.2.3.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 LICENSE
|
14
buildroot-external/package/python-pako/python-pako.mk
Normal file
14
buildroot-external/package/python-pako/python-pako.mk
Normal file
@ -0,0 +1,14 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-pako
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PAKO_VERSION = 0.2.3
|
||||
PYTHON_PAKO_SOURCE = pako-$(PYTHON_PAKO_VERSION).tar.gz
|
||||
PYTHON_PAKO_SITE = https://files.pythonhosted.org/packages/96/91/bf16a2f64a6628dfbfd9218f0331fbf73655530608ddd2f8fb597fdb9458
|
||||
PYTHON_PAKO_SETUP_TYPE = setuptools
|
||||
PYTHON_PAKO_LICENSE = Apache-2.0
|
||||
PYTHON_PAKO_LICENSE_FILES = LICENSE
|
||||
|
||||
$(eval $(python-package))
|
@ -1,6 +0,0 @@
|
||||
config BR2_PACKAGE_PYTHON_PIP
|
||||
bool "python-pip"
|
||||
help
|
||||
The PyPA recommended tool for installing Python packages.
|
||||
|
||||
https://pip.pypa.io/
|
@ -1,5 +0,0 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/pip/json
|
||||
md5 52f75ceb21e96c258f289859a2996b60 pip-18.0.tar.gz
|
||||
sha256 a0e11645ee37c90b40c46d607070c4fd583e2cd46231b1c06e389c5e814eed76 pip-18.0.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 391a8784e319dae5431477d4cc9bc504fc5d71fd9e89e1c80f1cd3855f5d7cfa LICENSE.txt
|
@ -1,15 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-pip
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PIP_VERSION = 18.0
|
||||
PYTHON_PIP_SOURCE = pip-$(PYTHON_PIP_VERSION).tar.gz
|
||||
PYTHON_PIP_SITE = https://files.pythonhosted.org/packages/69/81/52b68d0a4de760a2f1979b0931ba7889202f302072cc7a0d614211bc7579
|
||||
PYTHON_PIP_SETUP_TYPE = setuptools
|
||||
PYTHON_PIP_LICENSE = MIT
|
||||
PYTHON_PIP_LICENSE_FILES = LICENSE.txt
|
||||
|
||||
$(eval $(python-package))
|
||||
$(eval $(host-python-package))
|
@ -1,7 +0,0 @@
|
||||
config BR2_PACKAGE_PYTHON_PYASN1_MODULES
|
||||
bool "python-pyasn1-modules"
|
||||
select BR2_PACKAGE_PYTHON_PYASN1 # runtime
|
||||
help
|
||||
A collection of ASN.1-based protocols modules.
|
||||
|
||||
https://github.com/etingof/pyasn1-modules
|
@ -1,5 +0,0 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/pyasn1-modules/json
|
||||
md5 65ce1ea1021679bffe96065baab232de pyasn1-modules-0.2.2.tar.gz
|
||||
sha256 a0cf3e1842e7c60fde97cb22d275eb6f9524f5c5250489e292529de841417547 pyasn1-modules-0.2.2.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 f82128f64d567c333936a12b99a21d0e8cd66ce628d51ce0a7770cc38dc7fe43 LICENSE.txt
|
@ -1,14 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-pyasn1-modules
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PYASN1_MODULES_VERSION = 0.2.2
|
||||
PYTHON_PYASN1_MODULES_SOURCE = pyasn1-modules-$(PYTHON_PYASN1_MODULES_VERSION).tar.gz
|
||||
PYTHON_PYASN1_MODULES_SITE = https://files.pythonhosted.org/packages/37/33/74ebdc52be534e683dc91faf263931bc00ae05c6073909fde53999088541
|
||||
PYTHON_PYASN1_MODULES_SETUP_TYPE = setuptools
|
||||
PYTHON_PYASN1_MODULES_LICENSE = BSD-2-Clause
|
||||
PYTHON_PYASN1_MODULES_LICENSE_FILES = LICENSE.txt
|
||||
|
||||
$(eval $(python-package))
|
@ -1,6 +0,0 @@
|
||||
config BR2_PACKAGE_PYTHON_PYASN1
|
||||
bool "python-pyasn1"
|
||||
help
|
||||
ASN.1 types and codecs.
|
||||
|
||||
https://github.com/etingof/pyasn1
|
@ -1,6 +0,0 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/pyasn1/json
|
||||
md5 0d182b71e1f72fe147d7957bc90be7f2 pyasn1-0.4.4.tar.gz
|
||||
sha256 f58f2a3d12fd754aa123e9fa74fb7345333000a035f3921dbdaa08597aa53137 pyasn1-0.4.4.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 f82128f64d567c333936a12b99a21d0e8cd66ce628d51ce0a7770cc38dc7fe43 LICENSE.rst
|
||||
sha256 2fd7257410c4d7d9c8d8d85cb7f9f4ef9eee34126a96a993245c71577997c345 docs/source/license.rst
|
@ -1,14 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-pyasn1
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PYASN1_VERSION = 0.4.4
|
||||
PYTHON_PYASN1_SOURCE = pyasn1-$(PYTHON_PYASN1_VERSION).tar.gz
|
||||
PYTHON_PYASN1_SITE = https://files.pythonhosted.org/packages/10/46/059775dc8e50f722d205452bced4b3cc965d27e8c3389156acd3b1123ae3
|
||||
PYTHON_PYASN1_SETUP_TYPE = setuptools
|
||||
PYTHON_PYASN1_LICENSE = BSD-2-Clause
|
||||
PYTHON_PYASN1_LICENSE_FILES = LICENSE.rst docs/source/license.rst
|
||||
|
||||
$(eval $(python-package))
|
@ -1,5 +1,5 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/pychromecast/json
|
||||
sha256 addc87ecb769c6883756081e0e775d6cac0b45b6698419d7419c589ff7f55244 PyChromecast-0.7.7.tar.gz
|
||||
sha256 da8a5a5a0d6c1046e818b586b247dd41f556ffa2a2e80f09cff6497c2db5879e PyChromecast-3.2.2.tar.gz
|
||||
md5 4449701d330e33b8694aa7582662958c PyChromecast-2.3.0.tar.gz
|
||||
sha256 f385168e34d2ef47f976c8e41bad2f58f5ca004634c0ccb1a12623d8beb2fa38 PyChromecast-2.3.0.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PYCHROMECAST_VERSION = 0.7.7
|
||||
PYTHON_PYCHROMECAST_VERSION = 3.2.2
|
||||
PYTHON_PYCHROMECAST_SOURCE = PyChromecast-$(PYTHON_PYCHROMECAST_VERSION).tar.gz
|
||||
PYTHON_PYCHROMECAST_SITE = https://files.pythonhosted.org/packages/cf/07/9a95c424e080f4b4e3b0b58cc91e67b03ce67e7f1a4f204e886d2838665f
|
||||
PYTHON_PYCHROMECAST_SITE = https://files.pythonhosted.org/packages/3d/56/21a75152eb64c16d9379639c408869ae15de553e25af18db3c3bbcfc4bfa
|
||||
PYTHON_PYCHROMECAST_SETUP_TYPE = setuptools
|
||||
PYTHON_PYCHROMECAST_LICENSE = MIT
|
||||
PYTHON_PYCHROMECAST_LICENSE_FILES = LICENSE
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PYEE_VERSION = 1.0.1
|
||||
PYTHON_PYEE_VERSION = 5.0.0
|
||||
PYTHON_PYEE_SOURCE = pyee-$(PYTHON_PYEE_VERSION).tar.gz
|
||||
PYTHON_PYEE_SITE = https://files.pythonhosted.org/packages/0b/94/6820b8b1a21ce4d6a1c807342ac35cf4d5fd89b94b3f12e10de3c34d5507
|
||||
PYTHON_PYEE_SITE = https://files.pythonhosted.org/packages/c6/35/b37e4ffbf46063c883675e028e38e2a24b67433fd587f188e2a5005d9329
|
||||
PYTHON_PYEE_SETUP_TYPE = distutils
|
||||
PYTHON_PYEE_LICENSE = MIT
|
||||
|
||||
|
@ -1,6 +0,0 @@
|
||||
config BR2_PACKAGE_PYTHON_PYJWT
|
||||
bool "python-pyjwt"
|
||||
help
|
||||
JSON Web Token implementation in Python.
|
||||
|
||||
http://github.com/jpadilla/pyjwt
|
@ -1,5 +0,0 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/pyjwt/json
|
||||
md5 2731c6b66b67b95d1944f072f5fa35a9 PyJWT-1.6.4.tar.gz
|
||||
sha256 4ee413b357d53fd3fb44704577afac88e72e878716116270d722723d65b42176 PyJWT-1.6.4.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 ec82af815b5f9da8685afb300cc5beb7949e1c22b79b6c1c054796cefdf6cac6 LICENSE
|
@ -1,14 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-pyjwt
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PYJWT_VERSION = 1.6.4
|
||||
PYTHON_PYJWT_SOURCE = PyJWT-$(PYTHON_PYJWT_VERSION).tar.gz
|
||||
PYTHON_PYJWT_SITE = https://files.pythonhosted.org/packages/00/5e/b358c9bb24421e6155799d995b4aa3aa3307ffc7ecae4ad9d29fd7e07a73
|
||||
PYTHON_PYJWT_SETUP_TYPE = setuptools
|
||||
PYTHON_PYJWT_LICENSE = MIT
|
||||
PYTHON_PYJWT_LICENSE_FILES = LICENSE
|
||||
|
||||
$(eval $(python-package))
|
6
buildroot-external/package/python-pymplayer/Config.in
Normal file
6
buildroot-external/package/python-pymplayer/Config.in
Normal file
@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_PYTHON_PYMPLAYER
|
||||
bool "python-pymplayer"
|
||||
help
|
||||
mplayer python api.
|
||||
|
||||
https://github.com/JarbasAl/py_mplayer
|
@ -0,0 +1,2 @@
|
||||
# sha256 from https://pypi.org
|
||||
sha256 f4048a6e882a093affc52469889fbbfa0514fec2e4b01b39446f9d795ab44333 python-pymplayer-eaa0a1dbfc60cb0f4f1b3e495d665714c089474a.tar.gz
|
@ -0,0 +1,12 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-pymplayer
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PYMPLAYER_VERSION = eaa0a1dbfc60cb0f4f1b3e495d665714c089474a
|
||||
PYTHON_PYMPLAYER_SITE = git://github.com/JarbasAl/py_mplayer.git
|
||||
PYTHON_PYMPLAYER_SETUP_TYPE = distutils
|
||||
PYTHON_PYMPLAYER_LICENSE = MIT
|
||||
|
||||
$(eval $(python-package))
|
@ -1,6 +0,0 @@
|
||||
config BR2_PACKAGE_PYTHON_TYPING
|
||||
bool "python-typing"
|
||||
help
|
||||
Type Hints for Python.
|
||||
|
||||
https://docs.python.org/3/library/typing.html
|
@ -1,5 +0,0 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/typing/json
|
||||
md5 64614206b4bdc0864fc0e0bccd69efc9 typing-3.6.6.tar.gz
|
||||
sha256 4027c5f6127a6267a435201981ba156de91ad0d1d98e9ddc2aa173453453492d typing-3.6.6.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 ff17ce94e102024deb68773eb1cc74ca76da4e658f373531f0ac22d68a6bb1ad LICENSE
|
@ -1,13 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-typing
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_TYPING_VERSION = 3.6.6
|
||||
PYTHON_TYPING_SOURCE = typing-$(PYTHON_TYPING_VERSION).tar.gz
|
||||
PYTHON_TYPING_SITE = https://files.pythonhosted.org/packages/bf/9b/2bf84e841575b633d8d91ad923e198a415e3901f228715524689495b4317
|
||||
PYTHON_TYPING_SETUP_TYPE = setuptools
|
||||
PYTHON_TYPING_LICENSE_FILES = LICENSE
|
||||
|
||||
$(eval $(python-package))
|
@ -1,6 +0,0 @@
|
||||
config BR2_PACKAGE_PYTHON_WRAPT
|
||||
bool "python-wrapt"
|
||||
help
|
||||
Module for decorators, wrappers and monkey patching.
|
||||
|
||||
https://github.com/GrahamDumpleton/wrapt
|
@ -1,5 +0,0 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/wrapt/json
|
||||
md5 e1346f31782d50401f81c2345b037076 wrapt-1.10.11.tar.gz
|
||||
sha256 d4d560d479f2c21e1b5443bbd15fe7ec4b37fe7e53d335d3b9b0a7b1226fe3c6 wrapt-1.10.11.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 b6d2e5d228202a11bc5e5988661fc5d8acc1ba4f27256c37e19029131a30b1f2 LICENSE
|
@ -1,14 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-wrapt
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_WRAPT_VERSION = 1.10.11
|
||||
PYTHON_WRAPT_SOURCE = wrapt-$(PYTHON_WRAPT_VERSION).tar.gz
|
||||
PYTHON_WRAPT_SITE = https://files.pythonhosted.org/packages/a0/47/66897906448185fcb77fc3c2b1bc20ed0ecca81a0f2f88eda3fc5a34fc3d
|
||||
PYTHON_WRAPT_SETUP_TYPE = distutils
|
||||
PYTHON_WRAPT_LICENSE = BSD-2-Clause
|
||||
PYTHON_WRAPT_LICENSE_FILES = LICENSE
|
||||
|
||||
$(eval $(python-package))
|
@ -1,9 +0,0 @@
|
||||
config BR2_PACKAGE_PYTHON_ZEROCONF
|
||||
bool "python-zeroconf"
|
||||
select BR2_PACKAGE_PYTHON_IFADDR # runtime
|
||||
select BR2_PACKAGE_PYTHON_TYPING # runtime
|
||||
help
|
||||
Pure Python Multicast DNS Service Discovery Library
|
||||
(Bonjour/Avahi compatible).
|
||||
|
||||
https://github.com/jstasiak/python-zeroconf
|
@ -1,5 +0,0 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/zeroconf/json
|
||||
md5 c853680c933a1d0791a763ceade674fa zeroconf-0.21.1.tar.gz
|
||||
sha256 2e2fde39a3062f89f32a3c4badcd3ba38eb58480961e16540674200a91fec6f9 zeroconf-0.21.1.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 bb117c0fbd7f57f64170b690285d7df07c2371b578e3b3cd3aa2e1155ef461a0 COPYING
|
@ -1,14 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-zeroconf
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_ZEROCONF_VERSION = 0.21.1
|
||||
PYTHON_ZEROCONF_SOURCE = zeroconf-$(PYTHON_ZEROCONF_VERSION).tar.gz
|
||||
PYTHON_ZEROCONF_SITE = https://files.pythonhosted.org/packages/44/94/459e1fc9b5bfec4dfd7a48c563c47b5961153c78c2f145bb5bb73e722ba0
|
||||
PYTHON_ZEROCONF_SETUP_TYPE = setuptools
|
||||
PYTHON_ZEROCONF_LICENSE = LGPL-2.1
|
||||
PYTHON_ZEROCONF_LICENSE_FILES = COPYING
|
||||
|
||||
$(eval $(python-package))
|
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Load seeed-voicecard modules....
|
||||
#
|
||||
|
||||
modprobe snd-soc-seeed-voicecard
|
||||
modprobe snd-soc-ac108
|
||||
modprobe snd-soc-wm8960
|
@ -1,11 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Configure seeed-voicecard....
|
||||
#
|
||||
|
||||
echo "Starting seeed-voicecard..."
|
||||
mount -t configfs none /sys/kernel/config
|
||||
mkdir -p /boot
|
||||
mount -t vfat /dev/mmcblk0p1 /boot
|
||||
/usr/bin/seeed-voicecard
|
||||
touch /var/lock/seeed-voicecard
|
3
buildroot-external/package/respeaker/respeaker.conf
Normal file
3
buildroot-external/package/respeaker/respeaker.conf
Normal file
@ -0,0 +1,3 @@
|
||||
snd-soc-seeed-voicecard
|
||||
snd-soc-ac108
|
||||
snd-soc-wm8960
|
@ -1,2 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 9f38d832acbfc7f07a58f15222d2fdcc0a9215ede488ccafb5c89a3e8223883d respeaker-be0812c70be29b0666a89f22a9d403cfb4c48fca.tar.gz
|
||||
sha256 b68fb60cc173dc18e15bfc8eff97b57c3ef3085f2738c463ca9fa52d13d13896 respeaker-6c6b9ab7deb607aa985048ea170428729afc07a9.tar.gz
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
RESPEAKER_VERSION = be0812c70be29b0666a89f22a9d403cfb4c48fca
|
||||
RESPEAKER_VERSION = 6c6b9ab7deb607aa985048ea170428729afc07a9
|
||||
RESPEAKER_SITE = $(call github,respeaker,seeed-voicecard,$(RESPEAKER_VERSION))
|
||||
RESPEAKER_LICENSE = GNU General Public License v3.0
|
||||
RESPEAKER_DEPENDENCIES = rpi-firmware rpi-userland dtc
|
||||
@ -12,20 +12,43 @@ RESPEAKER_DEPENDENCIES = rpi-firmware rpi-userland dtc
|
||||
$(eval $(kernel-module))
|
||||
|
||||
define RESPEAKER_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/respeaker/S16respeaker_modules \
|
||||
$(TARGET_DIR)/etc/init.d/S16respeaker_modules
|
||||
$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/respeaker/S60seeed_voicecard \
|
||||
$(TARGET_DIR)/etc/init.d/S60seeed_voicecard
|
||||
$(INSTALL) -D -m 0644 $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/respeaker/seeed-voicecard.service \
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/seeed-voicecard.service
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants
|
||||
ln -fs ../../../../usr/lib/systemd/system/seeed-voicecard.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/sysinit.target.wants/seeed-voicecard.service
|
||||
|
||||
$(INSTALL) -D -m 0644 $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/respeaker/respeaker.conf \
|
||||
$(TARGET_DIR)/etc/modules-load.d/respeaker.conf
|
||||
|
||||
mkdir -p $(TARGET_DIR)/etc/voicecard
|
||||
rm $(@D)/dkms.conf
|
||||
$(INSTALL) -D -m 0644 $(@D)/*.conf $(TARGET_DIR)/etc/voicecard
|
||||
$(INSTALL) -D -m 0644 $(@D)/*.state $(TARGET_DIR)/etc/voicecard
|
||||
$(INSTALL) -D -m 0755 $(@D)/seeed-voicecard $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/respeaker/seeed-voicecard \
|
||||
$(TARGET_DIR)/usr/bin
|
||||
|
||||
$(INSTALL) -D -m 0644 $(@D)/seeed-2mic-voicecard.dtbo $(BINARIES_DIR)/rpi-firmware/overlays/
|
||||
$(INSTALL) -D -m 0644 $(@D)/seeed-4mic-voicecard.dtbo $(BINARIES_DIR)/rpi-firmware/overlays/
|
||||
$(INSTALL) -D -m 0644 $(@D)/seeed-8mic-voicecard.dtbo $(BINARIES_DIR)/rpi-firmware/overlays/
|
||||
|
||||
mkdir -p $(TARGET_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/
|
||||
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_4mic/seeed-voicecard.conf \
|
||||
$(TARGET_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/seeed-voicecard-4mic.conf
|
||||
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_6mic/seeed-voicecard.conf \
|
||||
$(TARGET_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/seeed-voicecard-8mic.conf
|
||||
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/91-seeedvoicecard.rules \
|
||||
$(TARGET_DIR)/etc/udev/rules.d/91-seeedvoicecard.rules
|
||||
|
||||
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_4mic/default.pa \
|
||||
$(TARGET_DIR)/etc/pulse/seeed-voicecard-4mic-default.pa
|
||||
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_4mic/daemon.conf \
|
||||
$(TARGET_DIR)/etc/pulse/seeed-voicecard-4mic-daemon.conf
|
||||
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_6mic/default.pa \
|
||||
$(TARGET_DIR)/etc/pulse/seeed-voicecard-8mic-default.pa
|
||||
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_6mic/daemon.conf \
|
||||
$(TARGET_DIR)/etc/pulse/seeed-voicecard-8mic-daemon.conf
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
160
buildroot-external/package/respeaker/seeed-voicecard
Executable file
160
buildroot-external/package/respeaker/seeed-voicecard
Executable file
@ -0,0 +1,160 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 2018 Baozhu Zuo <zuobaozhu@gmail.com>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
|
||||
set -x
|
||||
exec 1>/var/log/$(basename $0).log 2>&1
|
||||
mkdir -p /boot
|
||||
mount -t vfat /dev/mmcblk0p1 /boot
|
||||
|
||||
#enable i2c interface
|
||||
dtparam i2c_arm=on
|
||||
modprobe i2c-dev
|
||||
|
||||
#enable spi interface
|
||||
dtparam spi=on
|
||||
|
||||
_VER_RUN=
|
||||
function get_kernel_version() {
|
||||
local ZIMAGE IMG_OFFSET
|
||||
|
||||
_VER_RUN=""
|
||||
[ -z "$_VER_RUN" ] && {
|
||||
ZIMAGE=/boot/kernel.img
|
||||
IMG_OFFSET=$(LC_ALL=C grep -abo $'\x1f\x8b\x08\x00' $ZIMAGE | head -n 1 | cut -d ':' -f 1)
|
||||
_VER_RUN=$(dd if=$ZIMAGE obs=64K ibs=4 skip=$(( IMG_OFFSET / 4)) | zcat | grep -a -m1 "Linux version" | strings | awk '{ print $3; }')
|
||||
}
|
||||
echo "$_VER_RUN"
|
||||
return 0
|
||||
}
|
||||
|
||||
CONFIG=/boot/config.txt
|
||||
get_overlay() {
|
||||
ov=$1
|
||||
if grep -q -E "^dtoverlay=$ov" $CONFIG; then
|
||||
echo 0
|
||||
else
|
||||
echo 1
|
||||
fi
|
||||
}
|
||||
|
||||
do_overlay() {
|
||||
ov=$1
|
||||
RET=$2
|
||||
DEFAULT=--defaultno
|
||||
CURRENT=0
|
||||
if [ $(get_overlay $ov) -eq 0 ]; then
|
||||
DEFAULT=
|
||||
CURRENT=1
|
||||
fi
|
||||
if [ $RET -eq $CURRENT ]; then
|
||||
ASK_TO_REBOOT=1
|
||||
fi
|
||||
if [ $RET -eq 0 ]; then
|
||||
sed $CONFIG -i -e "s/^#dtoverlay=$ov/dtoverlay=$ov/"
|
||||
if ! grep -q -E "^dtoverlay=$ov" $CONFIG; then
|
||||
printf "dtoverlay=$ov\n" >> $CONFIG
|
||||
fi
|
||||
STATUS=enabled
|
||||
elif [ $RET -eq 1 ]; then
|
||||
sed $CONFIG -i -e "s/^dtoverlay=$ov/#dtoverlay=$ov/"
|
||||
STATUS=disabled
|
||||
else
|
||||
return $RET
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
is_1a=$(i2cdetect -y 1 0x1a 0x1a | egrep "(1a|UU)" | awk '{print $2}')
|
||||
is_35=$(i2cdetect -y 1 0x35 0x35 | egrep "(35|UU)" | awk '{print $2}')
|
||||
is_3b=$(i2cdetect -y 1 0x3b 0x3b | egrep "(3b|UU)" | awk '{print $2}')
|
||||
|
||||
RPI_HATS="seeed-2mic-voicecard seeed-4mic-voicecard seeed-8mic-voicecard"
|
||||
overlay=""
|
||||
|
||||
if [ "x${is_1a}" != "x" ] && [ "x${is_35}" == "x" ] ; then
|
||||
echo "install 2mic"
|
||||
overlay=seeed-2mic-voicecard
|
||||
asound_conf=/etc/voicecard/asound_2mic.conf
|
||||
asound_state=/etc/voicecard/wm8960_asound.state
|
||||
fi
|
||||
|
||||
if [ "x${is_3b}" != "x" ] && [ "x${is_35}" == "x" ] ; then
|
||||
echo "install 4mic"
|
||||
overlay=seeed-4mic-voicecard
|
||||
asound_conf=/etc/voicecard/asound_4mic.conf
|
||||
asound_state=/etc/voicecard/ac108_asound.state
|
||||
pulse_default=/etc/pulse/seeed-voicecard-4mic-default.pa
|
||||
pulse_daemon=/etc/pulse/seeed-voicecard-4mic-daemon.conf
|
||||
fi
|
||||
|
||||
if [ "x${is_3b}" != "x" ] && [ "x${is_35}" != "x" ] ; then
|
||||
echo "install 6mic"
|
||||
overlay=seeed-8mic-voicecard
|
||||
asound_conf=/etc/voicecard/asound_6mic.conf
|
||||
asound_state=/etc/voicecard/ac108_6mic.state
|
||||
pulse_default=/etc/pulse/seeed-voicecard-8mic-default.pa
|
||||
pulse_daemon=/etc/pulse/seeed-voicecard-8mic-daemon.conf
|
||||
fi
|
||||
|
||||
if [ "$overlay" ]; then
|
||||
echo Install $overlay ...
|
||||
|
||||
# Remove old configuration
|
||||
rm /etc/asound.conf
|
||||
rm /var/lib/alsa/asound.state
|
||||
rm /etc/pulse/default.pa
|
||||
rm /etc/pulse/daemon.conf
|
||||
|
||||
kernel_ver=$(get_kernel_version)
|
||||
# echo kernel_ver=$kernel_ver
|
||||
|
||||
# TODO: dynamic dtoverlay Bug of v4.19.x
|
||||
# no DT node phandle inserted.
|
||||
if [[ "$kernel_ver" =~ ^4\.19.*$ ]]; then
|
||||
for i in $RPI_HATS; do
|
||||
if [ "$i" == "$overlay" ]; then
|
||||
do_overlay $overlay 0
|
||||
else
|
||||
echo Uninstall $i ...
|
||||
do_overlay $i 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
#make sure the driver loads correctly
|
||||
dtoverlay $overlay || true
|
||||
|
||||
echo "create $overlay asound configure file"
|
||||
ln -s $asound_conf /etc/asound.conf
|
||||
echo "create $overlay asound status file"
|
||||
ln -s $asound_state /var/lib/alsa/asound.state
|
||||
echo "create $overlay pulse default file"
|
||||
ln -s $pulse_default /etc/pulse/default.pa
|
||||
echo "create $overlay pulse daemon file"
|
||||
ln -s $pulse_daemon /etc/pulse/daemon.conf
|
||||
fi
|
||||
|
||||
alsactl restore
|
||||
|
||||
#Fore 3.5mm ('headphone') jack
|
||||
amixer cset numid=3 1
|
||||
|
||||
touch /var/lock/seeed-voicecard
|
12
buildroot-external/package/respeaker/seeed-voicecard.service
Normal file
12
buildroot-external/package/respeaker/seeed-voicecard.service
Normal file
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Seeed Voicecard service
|
||||
After=alsa-restore.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/seeed-voicecard
|
||||
User=root
|
||||
|
||||
[Install]
|
||||
WantedBy=sysinit.target
|
@ -1,22 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Loading boot splash
|
||||
#
|
||||
|
||||
start() {
|
||||
printf "Loading boot splash ..."
|
||||
cat /dev/zero 1> /dev/fb0 2>/dev/null
|
||||
fbv -f -d 1 /opt/mycroft/splash/boot.png > /dev/null 2>&1
|
||||
echo "[OK]"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
@ -1,25 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Resize SD card
|
||||
#
|
||||
|
||||
start() {
|
||||
printf "Resize data partition ..."
|
||||
parted /dev/mmcblk0 unit % resizepart 2 yes 100% &&
|
||||
partprobe /dev/mmcblk0 &&
|
||||
sync &&
|
||||
resize2fs /dev/mmcblk0p2 &&
|
||||
chmod -x /etc/init.d/S00resize_sdcard &&
|
||||
echo "[OK]"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
@ -1,2 +0,0 @@
|
||||
modprobe snd-bcm2835
|
||||
#modprobe snd-usb-audio
|
@ -1,4 +0,0 @@
|
||||
alsactl init
|
||||
amixer cset numid=3 1
|
||||
amixer sset PCM 95%
|
||||
|
@ -1,47 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Prepare Mycroft software stack.
|
||||
#
|
||||
|
||||
start() {
|
||||
# set the right locale / language settings
|
||||
export LC_ALL=en_US.UTF-8
|
||||
export LANG=en_US.UTF-8
|
||||
export LANGUAGE=en_US.UTF-8
|
||||
|
||||
# Check if Mycroft log folders are present and if not
|
||||
# create those logging folders
|
||||
if [[ ! -w /var/log/mycroft/ ]] ; then
|
||||
# Creating needed folders
|
||||
printf "Creating /var/log/mycroft/ directory"
|
||||
if [[ ! -d /var/log/mycroft/ ]] ; then
|
||||
mkdir /var/log/mycroft/
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check for internet connectivity
|
||||
if ping -q -c 1 -W 1 1.1.1.1 >/dev/null 2>&1 ; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Check if /.mycroft exist already and if not
|
||||
# create a symbolic link to /root/.mycroft
|
||||
if [[ ! -w /.mycroft/ ]] ; then
|
||||
# Creating .mycroft symlink
|
||||
printf "Creating /.mycroft/ symlink"
|
||||
if [[ ! -d /.mycroft/ ]] ; then
|
||||
ln -s /root/.mycroft /.mycroft
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
@ -1,37 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Starts Mycroft services.
|
||||
#
|
||||
|
||||
start() {
|
||||
printf "Starting Mycroft services: "
|
||||
umask 077
|
||||
bash /usr/bin/start-mycroft.sh all
|
||||
echo "OK"
|
||||
}
|
||||
stop() {
|
||||
printf "Stopping Mycroft services: "
|
||||
bash /usr/bin/stop-mycroft.sh all
|
||||
echo "OK"
|
||||
}
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart|reload)
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
@ -1,7 +1,17 @@
|
||||
{
|
||||
"play_wav_cmdline": "aplay -Dhw:0,0 %1",
|
||||
"play_mp3_cmdline": "mpg123 -a hw:0,0 %1",
|
||||
"ipc_path": "/ramdisk/mycroft/ipc/",
|
||||
"ignore_logs": ["enclosure.mouth.viseme", "enclosure.mouth.display"],
|
||||
"log_level": "INFO"
|
||||
"play_wav_cmdline": "aplay -Dhw:0,0 %1",
|
||||
"play_mp3_cmdline": "mpg123 -a hw:0,0 %1",
|
||||
"ipc_path": "/ramdisk/mycroft/ipc/",
|
||||
"enclosure": {
|
||||
"platform": "MycroftOS",
|
||||
"platform_build": "0.1.0"
|
||||
},
|
||||
"listener": {
|
||||
"mute_during_output": false
|
||||
},
|
||||
"skills": {
|
||||
"priority_skills": ["mycroft-pairing", "mycroft-volume"]
|
||||
},
|
||||
"ignore_logs": ["enclosure.mouth.viseme", "enclosure.mouth.display"],
|
||||
"log_level": "INFO"
|
||||
}
|
||||
|
3
buildroot-external/rootfs-overlay/etc/pip.conf
Normal file
3
buildroot-external/rootfs-overlay/etc/pip.conf
Normal file
@ -0,0 +1,3 @@
|
||||
[global]
|
||||
only-binary=:all:
|
||||
extra-index-url=https://www.piwheels.org/simple
|
@ -29,10 +29,11 @@
|
||||
# Authentication:
|
||||
|
||||
#LoginGraceTime 2m
|
||||
PermitRootLogin yes
|
||||
PermitRootLogin no
|
||||
#StrictModes yes
|
||||
#MaxAuthTries 6
|
||||
#MaxSessions 10
|
||||
AllowUsers *@*
|
||||
|
||||
#PubkeyAuthentication yes
|
||||
|
||||
|
97
buildroot-external/rootfs-overlay/etc/sudoers
Normal file
97
buildroot-external/rootfs-overlay/etc/sudoers
Normal file
@ -0,0 +1,97 @@
|
||||
## sudoers file.
|
||||
##
|
||||
## This file MUST be edited with the 'visudo' command as root.
|
||||
## Failure to use 'visudo' may result in syntax or file permission errors
|
||||
## that prevent sudo from running.
|
||||
##
|
||||
## See the sudoers man page for the details on how to write a sudoers file.
|
||||
##
|
||||
|
||||
##
|
||||
## Host alias specification
|
||||
##
|
||||
## Groups of machines. These may include host names (optionally with wildcards),
|
||||
## IP addresses, network numbers or netgroups.
|
||||
# Host_Alias WEBSERVERS = www1, www2, www3
|
||||
|
||||
##
|
||||
## User alias specification
|
||||
##
|
||||
## Groups of users. These may consist of user names, uids, Unix groups,
|
||||
## or netgroups.
|
||||
# User_Alias ADMINS = millert, dowdy, mikef
|
||||
|
||||
##
|
||||
## Cmnd alias specification
|
||||
##
|
||||
## Groups of commands. Often used to group related commands together.
|
||||
# Cmnd_Alias PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
|
||||
# /usr/bin/pkill, /usr/bin/top
|
||||
# Cmnd_Alias REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff
|
||||
|
||||
##
|
||||
## Defaults specification
|
||||
##
|
||||
## You may wish to keep some of the following environment variables
|
||||
## when running commands via sudo.
|
||||
##
|
||||
## Locale settings
|
||||
# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
|
||||
##
|
||||
## Run X applications through sudo; HOME is used to find the
|
||||
## .Xauthority file. Note that other programs use HOME to find
|
||||
## configuration files and this may lead to privilege escalation!
|
||||
# Defaults env_keep += "HOME"
|
||||
##
|
||||
## X11 resource path settings
|
||||
# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"
|
||||
##
|
||||
## Desktop path settings
|
||||
# Defaults env_keep += "QTDIR KDEDIR"
|
||||
##
|
||||
## Allow sudo-run commands to inherit the callers' ConsoleKit session
|
||||
# Defaults env_keep += "XDG_SESSION_COOKIE"
|
||||
##
|
||||
## Uncomment to enable special input methods. Care should be taken as
|
||||
## this may allow users to subvert the command being run via sudo.
|
||||
# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
|
||||
##
|
||||
## Uncomment to use a hard-coded PATH instead of the user's to find commands
|
||||
# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
##
|
||||
## Uncomment to send mail if the user does not enter the correct password.
|
||||
# Defaults mail_badpass
|
||||
##
|
||||
## Uncomment to enable logging of a command's output, except for
|
||||
## sudoreplay and reboot. Use sudoreplay to play back logged sessions.
|
||||
# Defaults log_output
|
||||
# Defaults!/usr/bin/sudoreplay !log_output
|
||||
# Defaults!/usr/local/bin/sudoreplay !log_output
|
||||
# Defaults!REBOOT !log_output
|
||||
|
||||
##
|
||||
## Runas alias specification
|
||||
##
|
||||
|
||||
##
|
||||
## User privilege specification
|
||||
##
|
||||
root ALL=(ALL) ALL
|
||||
|
||||
## Uncomment to allow members of group wheel to execute any command
|
||||
# %wheel ALL=(ALL) ALL
|
||||
|
||||
## Same thing without a password
|
||||
# %wheel ALL=(ALL) NOPASSWD: ALL
|
||||
|
||||
## Uncomment to allow members of group sudo to execute any command
|
||||
# %sudo ALL=(ALL) ALL
|
||||
|
||||
## Uncomment to allow any user to run sudo if they know the password
|
||||
## of the user they are running the command as (root by default).
|
||||
# Defaults targetpw # Ask for the password of the target user
|
||||
# ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw'
|
||||
|
||||
## Read drop-in files from /etc/sudoers.d
|
||||
## (the '#' here does not indicate a comment)
|
||||
#includedir /etc/sudoers.d
|
1
buildroot-external/rootfs-overlay/etc/sudoers.d/mycroft
Normal file
1
buildroot-external/rootfs-overlay/etc/sudoers.d/mycroft
Normal file
@ -0,0 +1 @@
|
||||
mycroft ALL=(ALL:ALL) NOPASSWD: ALL
|
@ -0,0 +1,4 @@
|
||||
d /var/log/mycroft 700 mycroft mycroft
|
||||
d /opt/mycroft 755 mycroft mycroft
|
||||
d /opt/mycroft/skills 755 mycroft mycroft
|
||||
d /opt/mycroft/splash 755 mycroft mycroft
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"max_allowed_core_version": 19.2
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user