From 2f7e82f28941fe3ff57a0e6b534ba6e2d2acd69a Mon Sep 17 00:00:00 2001 From: Peter Steenbergen Date: Wed, 31 Oct 2018 19:26:44 +0100 Subject: [PATCH 1/5] Buildroot: Try-out internal toolchain + uGlibc-ng --- .../configs/mycroftos_rpi3_defconfig | 15 ++++----------- scripts/build.sh | 9 ++++++--- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/buildroot-external/configs/mycroftos_rpi3_defconfig b/buildroot-external/configs/mycroftos_rpi3_defconfig index 3b18c1b9..96e73862 100644 --- a/buildroot-external/configs/mycroftos_rpi3_defconfig +++ b/buildroot-external/configs/mycroftos_rpi3_defconfig @@ -6,7 +6,9 @@ BR2_CCACHE=y BR2_CCACHE_DIR="../ccache" BR2_OPTIMIZE_FAST=y BR2_GLOBAL_PATCH_DIR="../buildroot-patches" -BR2_TOOLCHAIN_EXTERNAL=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="MycroftOS" BR2_TARGET_GENERIC_ISSUE="Welcome to MycroftOS" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y @@ -47,8 +49,6 @@ BR2_PACKAGE_ALSA_UTILS_BAT=y BR2_PACKAGE_ALSA_UTILS_IECSET=y BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y BR2_PACKAGE_BLUEZ_ALSA=y -BR2_PACKAGE_ESPEAK=y -BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA=y BR2_PACKAGE_FFMPEG_GPL=y BR2_PACKAGE_FFMPEG_NONFREE=y BR2_PACKAGE_FLAC=y @@ -58,11 +58,8 @@ 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 -BR2_PACKAGE_P7ZIP=y -BR2_PACKAGE_UNRAR=y BR2_PACKAGE_UNZIP=y BR2_PACKAGE_ZIP=y BR2_PACKAGE_BINUTILS=y @@ -85,7 +82,6 @@ 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_PYTHON3=y BR2_PACKAGE_PYTHON3_PY_ONLY=y BR2_PACKAGE_PYTHON3_BZIP2=y @@ -115,17 +111,15 @@ BR2_PACKAGE_PYTHON_SERIAL=y BR2_PACKAGE_PYTHON_TEXTTABLE=y BR2_PACKAGE_PYTHON_TORNADO=y BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT=y -BR2_PACKAGE_AUDIOFILE=y +BR2_PACKAGE_PORTAUDIO=y BR2_PACKAGE_PORTAUDIO_OSS=y BR2_PACKAGE_SPEEXDSP=y -BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING=y BR2_PACKAGE_LIBARCHIVE=y BR2_PACKAGE_LIBARCHIVE_BSDTAR=y BR2_PACKAGE_LIBARCHIVE_BSDCPIO=y BR2_PACKAGE_LIBARCHIVE_BSDCAT=y BR2_PACKAGE_LIBZIP=y BR2_PACKAGE_LZO=y -BR2_PACKAGE_SNAPPY=y BR2_PACKAGE_CA_CERTIFICATES=y BR2_PACKAGE_LIBOPENSSL_BIN=y BR2_PACKAGE_LIBOPENSSL_ENGINES=y @@ -137,7 +131,6 @@ BR2_PACKAGE_BCM2835=y BR2_PACKAGE_WIRINGPI=y BR2_PACKAGE_LIBMPEG2=y BR2_PACKAGE_LIBMPEG2_BINS=y -BR2_PACKAGE_LIBOPENH264=y BR2_PACKAGE_LIBTHEORA=y BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_CURL=y diff --git a/scripts/build.sh b/scripts/build.sh index 11493b25..6d0c43b0 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,13 +1,16 @@ #!/bin/bash set -e +mkdir -p release +mkdir -p logs + all_platforms=(rpi3) for platform in "${all_platforms[@]}"; do -# make -C buildroot BR2_EXTERNAL=../buildroot-external distclean -# make -C buildroot BR2_EXTERNAL=../buildroot-external mycroftos_${platform}_defconfig + make -C buildroot BR2_EXTERNAL=../buildroot-external distclean + make -C buildroot BR2_EXTERNAL=../buildroot-external mycroftos_${platform}_defconfig # Optional if you need to change stuff, uncomment the next line. - # make -C buildroot BR2_EXTERNAL=../buildroot-external makemenuconfig +# make -C buildroot BR2_EXTERNAL=../buildroot-external menuconfig make -C buildroot BR2_EXTERNAL=../buildroot-external 2>&1 | tee logs/buildroot_output.txt cp -f buildroot/output/images/sdcard.img release/MycroftOS_${platform}.img From 1c01cb2b9d17cd4847e033955dacea616e098219 Mon Sep 17 00:00:00 2001 From: Peter Steenbergen Date: Thu, 1 Nov 2018 09:52:50 +0100 Subject: [PATCH 2/5] Buildroot: Try-out internal toolchain + glibc --- buildroot-external/configs/mycroftos_rpi3_defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/buildroot-external/configs/mycroftos_rpi3_defconfig b/buildroot-external/configs/mycroftos_rpi3_defconfig index 96e73862..6904eefa 100644 --- a/buildroot-external/configs/mycroftos_rpi3_defconfig +++ b/buildroot-external/configs/mycroftos_rpi3_defconfig @@ -6,8 +6,8 @@ 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_TARGET_GENERIC_HOSTNAME="MycroftOS" BR2_TARGET_GENERIC_ISSUE="Welcome to MycroftOS" @@ -134,6 +134,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 From 2998441e43a9a86b683ef4e08f608bf17ff88ba5 Mon Sep 17 00:00:00 2001 From: Peter Steenbergen Date: Thu, 1 Nov 2018 15:42:02 +0100 Subject: [PATCH 3/5] Buildroot: Bump Mycroft to 18.08.4 - Removed config path patch - Removed /.mycroft symlink - Added /root/.mycroft folder in rootfs overlay --- .../0002-Force-USER-config-path-to-root.patch | 23 ------------------- .../python-mycroft/python-mycroft.hash | 1 + .../package/python-mycroft/python-mycroft.mk | 2 +- .../rootfs-overlay/root/.mycroft | 1 - .../rootfs-overlay/root/.mycroft/.empty | 0 5 files changed, 2 insertions(+), 25 deletions(-) delete mode 100644 buildroot-external/package/python-mycroft/0002-Force-USER-config-path-to-root.patch delete mode 120000 buildroot-external/rootfs-overlay/root/.mycroft create mode 100644 buildroot-external/rootfs-overlay/root/.mycroft/.empty diff --git a/buildroot-external/package/python-mycroft/0002-Force-USER-config-path-to-root.patch b/buildroot-external/package/python-mycroft/0002-Force-USER-config-path-to-root.patch deleted file mode 100644 index bdead728..00000000 --- a/buildroot-external/package/python-mycroft/0002-Force-USER-config-path-to-root.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 93b3e606dddd93e8346da265a1751ecb546c882b Mon Sep 17 00:00:00 2001 -From: Peter Steenbergen -Date: Sat, 13 Oct 2018 10:50:06 +0200 -Subject: [PATCH 1/1] Force USER config path. - ---- - mycroft/configuration/locations.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mycroft/configuration/locations.py b/mycroft/configuration/locations.py -index 0759152f99..3666ac5dfa 100644 ---- a/mycroft/configuration/locations.py -+++ b/mycroft/configuration/locations.py -@@ -15,5 +15,5 @@ from os.path import join, dirname, expanduser - - DEFAULT_CONFIG = join(dirname(__file__), 'mycroft.conf') - SYSTEM_CONFIG = '/etc/mycroft/mycroft.conf' --USER_CONFIG = join(expanduser('~'), '.mycroft/mycroft.conf') -+USER_CONFIG = '/.mycroft/mycroft.conf' - REMOTE_CONFIG = "mycroft.ai" --- -2.11.0 - diff --git a/buildroot-external/package/python-mycroft/python-mycroft.hash b/buildroot-external/package/python-mycroft/python-mycroft.hash index 2115b79b..38794033 100644 --- a/buildroot-external/package/python-mycroft/python-mycroft.hash +++ b/buildroot-external/package/python-mycroft/python-mycroft.hash @@ -1,3 +1,4 @@ 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 diff --git a/buildroot-external/package/python-mycroft/python-mycroft.mk b/buildroot-external/package/python-mycroft/python-mycroft.mk index e7d7323e..f950f7c5 100644 --- a/buildroot-external/package/python-mycroft/python-mycroft.mk +++ b/buildroot-external/package/python-mycroft/python-mycroft.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_MYCROFT_VERSION = v18.8.3 +PYTHON_MYCROFT_VERSION = v18.8.4 PYTHON_MYCROFT_SITE = $(call github,MycroftAI,mycroft-core,release/$(PYTHON_MYCROFT_VERSION)) PYTHON_MYCROFT_SETUP_TYPE = setuptools PYTHON_MYCROFT_LICENSE_FILES = diff --git a/buildroot-external/rootfs-overlay/root/.mycroft b/buildroot-external/rootfs-overlay/root/.mycroft deleted file mode 120000 index 1d8c98c4..00000000 --- a/buildroot-external/rootfs-overlay/root/.mycroft +++ /dev/null @@ -1 +0,0 @@ -../.mycroft \ No newline at end of file diff --git a/buildroot-external/rootfs-overlay/root/.mycroft/.empty b/buildroot-external/rootfs-overlay/root/.mycroft/.empty new file mode 100644 index 00000000..e69de29b From 5a0f875f47ae52206a2a6af0bb059d3127006e3d Mon Sep 17 00:00:00 2001 From: Peter Steenbergen Date: Thu, 1 Nov 2018 20:15:14 +0100 Subject: [PATCH 4/5] Revert "Buildroot: Try-out internal toolchain + glibc" - OK tested both glibc and uglibc-ng, the latter does NOT work properly with python. This reverts commit 1c01cb2b9d17cd4847e033955dacea616e098219. --- buildroot-external/configs/mycroftos_rpi3_defconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/buildroot-external/configs/mycroftos_rpi3_defconfig b/buildroot-external/configs/mycroftos_rpi3_defconfig index 6904eefa..96e73862 100644 --- a/buildroot-external/configs/mycroftos_rpi3_defconfig +++ b/buildroot-external/configs/mycroftos_rpi3_defconfig @@ -6,8 +6,8 @@ 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_TARGET_GENERIC_HOSTNAME="MycroftOS" BR2_TARGET_GENERIC_ISSUE="Welcome to MycroftOS" @@ -134,7 +134,6 @@ 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 From 3c6208c6113c675598c22fe4eb1a278363a750ea Mon Sep 17 00:00:00 2001 From: Peter Steenbergen Date: Thu, 1 Nov 2018 20:18:11 +0100 Subject: [PATCH 5/5] Small changes in build script - make clean instead of distclean - make menuconfig default for now as we only build one image anyway --- scripts/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index 6d0c43b0..11175013 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -6,11 +6,11 @@ mkdir -p logs all_platforms=(rpi3) for platform in "${all_platforms[@]}"; do - make -C buildroot BR2_EXTERNAL=../buildroot-external distclean + make -C buildroot BR2_EXTERNAL=../buildroot-external clean make -C buildroot BR2_EXTERNAL=../buildroot-external mycroftos_${platform}_defconfig # Optional if you need to change stuff, uncomment the next line. -# make -C buildroot BR2_EXTERNAL=../buildroot-external menuconfig + make -C buildroot BR2_EXTERNAL=../buildroot-external menuconfig make -C buildroot BR2_EXTERNAL=../buildroot-external 2>&1 | tee logs/buildroot_output.txt cp -f buildroot/output/images/sdcard.img release/MycroftOS_${platform}.img