From b29b40dbbf203b2949598311804cd0d9ac621cd5 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 26 Aug 2022 12:01:05 +0200 Subject: [PATCH 01/37] set python3.10 for venvs --- src/modules/beamos/start_chroot_script | 6 +++--- src/variants/beamos/config | 2 +- src/variants/beamos/config.mrb3 | 0 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 src/variants/beamos/config.mrb3 diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index d86ab996..81658e3d 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -58,10 +58,10 @@ enable_hw_serial() { add_mrb3() { echo "--- Installing Python3" # additional python3 packages (uncomment when needed +20sec) - apt-get -y install python3 python3-venv python3-dev + apt-get -y install python3.10 python3.10-venv python3.10-dev # create mrb virtual environments # TODO create mrb2 and mrb3 (python 2 and 3 versions) - sudo -u pi python3.7 -m venv /home/pi/mrb3 + sudo -u pi python3.10 -m venv /home/pi/mrb3 } OPRINT=/home/pi/oprint/bin @@ -329,7 +329,7 @@ pushd /home/pi # Create a python2 venv because python2-pip might not be an available package BEAMOS_IOBEAM_VENV=/usr/local/iobeam/venv mkdir -p $(dirname $BEAMOS_IOBEAM_VENV) - python3 -m virtualenv -p python2 $BEAMOS_IOBEAM_VENV + python3 -m virtualenv -p python3 $BEAMOS_IOBEAM_VENV # change pip commands to match the new virtualenv # Do this BEFORE INSTALLING as - in the develop version, # it will move the source folder, in which case we couldn't access it. diff --git a/src/variants/beamos/config b/src/variants/beamos/config index fc10374d..aead25aa 100755 --- a/src/variants/beamos/config +++ b/src/variants/beamos/config @@ -28,7 +28,7 @@ export OCTOPI_INCLUDE_FFMPEG_HLS=no # Fix - only python2 compatible for now: export OCTOPI_PYTHON_VERSION=python2 # Add dev repos to build up the MrBeam dependencies - Will not be kept in the image. -export DEV_LIBS_EXTRA="python2-dev libxml2-dev libxslt1-dev" +export DEV_LIBS_EXTRA="python2-dev libxml2-dev libxslt1-dev python3-dev" # Dev allow ssh for now export BEAMOS_INCLUDE_SSH=yes diff --git a/src/variants/beamos/config.mrb3 b/src/variants/beamos/config.mrb3 new file mode 100644 index 00000000..e69de29b From 8a32578c5df851285216b5a524d134bd89264282 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 26 Aug 2022 14:26:55 +0200 Subject: [PATCH 02/37] create python3.10 env --- src/modules/beamos/start_chroot_script | 2 +- src/modules/octopi/start_chroot_script | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index 81658e3d..adc165e7 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -329,7 +329,7 @@ pushd /home/pi # Create a python2 venv because python2-pip might not be an available package BEAMOS_IOBEAM_VENV=/usr/local/iobeam/venv mkdir -p $(dirname $BEAMOS_IOBEAM_VENV) - python3 -m virtualenv -p python3 $BEAMOS_IOBEAM_VENV + python3 -m virtualenv -p python3.10 $BEAMOS_IOBEAM_VENV # change pip commands to match the new virtualenv # Do this BEFORE INSTALLING as - in the develop version, # it will move the source folder, in which case we couldn't access it. diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 7ca366f8..a78e7428 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -32,7 +32,7 @@ if [ "$OCTOPI_PYTHON_VERSION" = python2 ]; then else PYTHON=python3 fi -apt-get -y --force-yes install python3 python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base +apt-get -y --force-yes install python3.10 python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base echo " - Reinstall iputils-ping" apt-get install --reinstall iputils-ping From 7913b333590178a64acee85e9f97f6424b88ec5c Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 26 Aug 2022 14:36:31 +0200 Subject: [PATCH 03/37] try to install python 3.10 --- src/modules/octopi/start_chroot_script | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index a78e7428..47d5b9ed 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -32,6 +32,9 @@ if [ "$OCTOPI_PYTHON_VERSION" = python2 ]; then else PYTHON=python3 fi + +add-apt-repository ppa:deadsnakes/ppa +apt-get update apt-get -y --force-yes install python3.10 python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base echo " - Reinstall iputils-ping" From 230a6d58d1e18d8c08e483cdaff04fddd1fd1b1b Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 26 Aug 2022 14:41:30 +0200 Subject: [PATCH 04/37] add apr-repository --- src/modules/octopi/start_chroot_script | 1 + src/variants/beamos/config | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 47d5b9ed..528247e0 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -33,6 +33,7 @@ else PYTHON=python3 fi +apt-get install software-properties-common add-apt-repository ppa:deadsnakes/ppa apt-get update apt-get -y --force-yes install python3.10 python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base diff --git a/src/variants/beamos/config b/src/variants/beamos/config index aead25aa..8a3033c5 100755 --- a/src/variants/beamos/config +++ b/src/variants/beamos/config @@ -28,7 +28,7 @@ export OCTOPI_INCLUDE_FFMPEG_HLS=no # Fix - only python2 compatible for now: export OCTOPI_PYTHON_VERSION=python2 # Add dev repos to build up the MrBeam dependencies - Will not be kept in the image. -export DEV_LIBS_EXTRA="python2-dev libxml2-dev libxslt1-dev python3-dev" +export DEV_LIBS_EXTRA="python2-dev libxml2-dev libxslt1-dev python3.10-dev" # Dev allow ssh for now export BEAMOS_INCLUDE_SSH=yes From eec4a314c2b800b3e21dfa20d736a6d73c20610b Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 26 Aug 2022 14:54:44 +0200 Subject: [PATCH 05/37] try toinstall python3.10 --- src/modules/dev-libs/start_chroot_script | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/dev-libs/start_chroot_script b/src/modules/dev-libs/start_chroot_script index 435b6176..83d906c6 100755 --- a/src/modules/dev-libs/start_chroot_script +++ b/src/modules/dev-libs/start_chroot_script @@ -13,5 +13,7 @@ then cp /etc/apt/sources.list /etc/apt/sources.list.backup sed -i "s@http://raspbian.raspberrypi.org/raspbian/@$DEV_LIBS_APTMIRROR@g" /etc/apt/sources.list fi - +apt-get install software-properties-common +add-apt-repository ppa:deadsnakes/ppa +apt-get update apt-get install -y $(echo $DEV_LIBS_BASE $DEV_LIBS_EXTRA) From be31781237289acf5a5d843cc3a2fe1cbc0036a7 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 26 Aug 2022 15:01:15 +0200 Subject: [PATCH 06/37] add yes option --- src/modules/dev-libs/start_chroot_script | 2 +- src/modules/octopi/start_chroot_script | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/dev-libs/start_chroot_script b/src/modules/dev-libs/start_chroot_script index 83d906c6..b962880b 100755 --- a/src/modules/dev-libs/start_chroot_script +++ b/src/modules/dev-libs/start_chroot_script @@ -13,7 +13,7 @@ then cp /etc/apt/sources.list /etc/apt/sources.list.backup sed -i "s@http://raspbian.raspberrypi.org/raspbian/@$DEV_LIBS_APTMIRROR@g" /etc/apt/sources.list fi -apt-get install software-properties-common +apt-get -y install software-properties-common add-apt-repository ppa:deadsnakes/ppa apt-get update apt-get install -y $(echo $DEV_LIBS_BASE $DEV_LIBS_EXTRA) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 528247e0..daa445e0 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -33,7 +33,7 @@ else PYTHON=python3 fi -apt-get install software-properties-common +apt-get -y install software-properties-common add-apt-repository ppa:deadsnakes/ppa apt-get update apt-get -y --force-yes install python3.10 python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base From fcdc0305339977d0cf1e829a718c8cb654c11b98 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 26 Aug 2022 15:08:17 +0200 Subject: [PATCH 07/37] try different way to install --- src/modules/dev-libs/start_chroot_script | 6 +++--- src/modules/octopi/start_chroot_script | 9 +++++---- src/variants/beamos/config | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/modules/dev-libs/start_chroot_script b/src/modules/dev-libs/start_chroot_script index b962880b..49d143c0 100755 --- a/src/modules/dev-libs/start_chroot_script +++ b/src/modules/dev-libs/start_chroot_script @@ -13,7 +13,7 @@ then cp /etc/apt/sources.list /etc/apt/sources.list.backup sed -i "s@http://raspbian.raspberrypi.org/raspbian/@$DEV_LIBS_APTMIRROR@g" /etc/apt/sources.list fi -apt-get -y install software-properties-common -add-apt-repository ppa:deadsnakes/ppa -apt-get update +#apt-get -y install software-properties-common +#add-apt-repository ppa:deadsnakes/ppa +#apt-get update apt-get install -y $(echo $DEV_LIBS_BASE $DEV_LIBS_EXTRA) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index daa445e0..4db2a730 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -33,10 +33,11 @@ else PYTHON=python3 fi -apt-get -y install software-properties-common -add-apt-repository ppa:deadsnakes/ppa -apt-get update -apt-get -y --force-yes install python3.10 python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base +#apt-get -y install software-properties-common +#add-apt-repository ppa:deadsnakes/ppa +#apt-get update +apt-get -y --force-yes install python3 python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base +wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.10.0 echo " - Reinstall iputils-ping" apt-get install --reinstall iputils-ping diff --git a/src/variants/beamos/config b/src/variants/beamos/config index 8a3033c5..aead25aa 100755 --- a/src/variants/beamos/config +++ b/src/variants/beamos/config @@ -28,7 +28,7 @@ export OCTOPI_INCLUDE_FFMPEG_HLS=no # Fix - only python2 compatible for now: export OCTOPI_PYTHON_VERSION=python2 # Add dev repos to build up the MrBeam dependencies - Will not be kept in the image. -export DEV_LIBS_EXTRA="python2-dev libxml2-dev libxslt1-dev python3.10-dev" +export DEV_LIBS_EXTRA="python2-dev libxml2-dev libxslt1-dev python3-dev" # Dev allow ssh for now export BEAMOS_INCLUDE_SSH=yes From 77ce97689f3fc44ac62e13b0e050e0d88a4080db Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 26 Aug 2022 16:05:30 +0200 Subject: [PATCH 08/37] try to fix ssh key problems --- src/modules/octopi/start_chroot_script | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 4db2a730..4595831d 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -36,7 +36,7 @@ fi #apt-get -y install software-properties-common #add-apt-repository ppa:deadsnakes/ppa #apt-get update -apt-get -y --force-yes install python3 python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base +apt-get -y --force-yes install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.10.0 echo " - Reinstall iputils-ping" From 44c0a6d3069164c8537ec0dcca48522b7724c396 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 26 Aug 2022 16:18:00 +0200 Subject: [PATCH 09/37] update python3 commands to python3.10 commands --- src/modules/beamos/start_chroot_script | 6 +++--- src/modules/octopi/start_chroot_script | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index adc165e7..96417dca 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -206,7 +206,7 @@ mv ./micro /usr/bin/ # Install a toml cli tool and neofetch presentation script # Can be used to edit / query /etc/mrbeam `crudini --get /etc/mrbeam "" hostname` apt-install python3-pip neofetch -python3 -m pip install crudini +python3.10 -m pip install crudini mkdir -p /root/.ssh # Add ssh creds to prevent errors when pulling from bitbucket @@ -236,7 +236,7 @@ pushd /home/pi # Create a python2 venv because python2-pip might not be an available package BEAMOS_CHECK_VENV=/usr/local/mrb_check/venv mkdir -p $(dirname $BEAMOS_CHECK_VENV) - python3 -m virtualenv -p python2 $BEAMOS_CHECK_VENV + python3.10 -m virtualenv -p python2 $BEAMOS_CHECK_VENV # OctoPrint has no need to update mrb_check -> No need to add to config.yaml PIP_DEFAULT_TIMEOUT=60 $BEAMOS_CHECK_VENV/bin/python -m pip install /filesystem/repos/mrb_check @@ -329,7 +329,7 @@ pushd /home/pi # Create a python2 venv because python2-pip might not be an available package BEAMOS_IOBEAM_VENV=/usr/local/iobeam/venv mkdir -p $(dirname $BEAMOS_IOBEAM_VENV) - python3 -m virtualenv -p python3.10 $BEAMOS_IOBEAM_VENV + python3.10 -m virtualenv -p python3.10 $BEAMOS_IOBEAM_VENV # change pip commands to match the new virtualenv # Do this BEFORE INSTALLING as - in the develop version, # it will move the source folder, in which case we couldn't access it. diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 4595831d..ff11f5c8 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -45,7 +45,7 @@ apt-get install --reinstall iputils-ping pushd /home/"${BASE_USER}" # build virtualenv - sudo -u "${BASE_USER}" python3 -m virtualenv --python=$PYTHON oprint + sudo -u "${BASE_USER}" python3.10 -m virtualenv --python=$PYTHON oprint sudo -u "${BASE_USER}" /home/"${BASE_USER}"/oprint/bin/pip install --upgrade pip # OctoPrint From 0938b766a02a508c149bbb2fdad33fba0bfde2c0 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Wed, 31 Aug 2022 09:06:23 +0200 Subject: [PATCH 10/37] add dev packaages --- src/modules/octopi/start_chroot_script | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index ff11f5c8..326edb04 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -36,6 +36,7 @@ fi #apt-get -y install software-properties-common #add-apt-repository ppa:deadsnakes/ppa #apt-get update +apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget apt-get -y --force-yes install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.10.0 From c1387c1ce55e102050d0b4d53cfe1842925b5c68 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Wed, 31 Aug 2022 09:27:28 +0200 Subject: [PATCH 11/37] force yes --- src/modules/octopi/start_chroot_script | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 326edb04..4e87fe69 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -36,8 +36,8 @@ fi #apt-get -y install software-properties-common #add-apt-repository ppa:deadsnakes/ppa #apt-get update -apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget -apt-get -y --force-yes install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base +apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget +apt-get -yes install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.10.0 echo " - Reinstall iputils-ping" From d35eb9acda1650efc380e9a7ec984c34cf2369b5 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Wed, 31 Aug 2022 09:36:02 +0200 Subject: [PATCH 12/37] force yes --- src/modules/octopi/start_chroot_script | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 4e87fe69..ea65cc53 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -37,7 +37,7 @@ fi #add-apt-repository ppa:deadsnakes/ppa #apt-get update apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget -apt-get -yes install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base +apt-get --force-yes install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.10.0 echo " - Reinstall iputils-ping" From 983570595591fc98aa4abe6878cea1d1a1273a33 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Wed, 31 Aug 2022 10:00:32 +0200 Subject: [PATCH 13/37] force yes --- src/modules/octopi/start_chroot_script | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index ea65cc53..ac55f6ae 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -37,7 +37,7 @@ fi #add-apt-repository ppa:deadsnakes/ppa #apt-get update apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget -apt-get --force-yes install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base +apt-get -y install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.10.0 echo " - Reinstall iputils-ping" From 73ea086d62ea29da768394a5be15b6b4e66ad09e Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Thu, 1 Sep 2022 17:40:24 +0200 Subject: [PATCH 14/37] remove apt install --- src/modules/octopi/start_chroot_script | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index ac55f6ae..fd5c6c07 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -36,8 +36,8 @@ fi #apt-get -y install software-properties-common #add-apt-repository ppa:deadsnakes/ppa #apt-get update -apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget -apt-get -y install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base +#apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget +#apt-get -y install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.10.0 echo " - Reinstall iputils-ping" From cf1bee43ffa2732caf27d5b4fd4b5b7e1d20f48a Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 08:51:29 +0200 Subject: [PATCH 15/37] try to resolve python3.10 problem --- src/modules/dev-libs/config | 2 +- src/variants/beamos/config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/dev-libs/config b/src/modules/dev-libs/config index 98b20565..44c98e86 100755 --- a/src/modules/dev-libs/config +++ b/src/modules/dev-libs/config @@ -1,7 +1,7 @@ #!/usr/bin/env sh # libxslt-dev required for etree in lxml package -[ -n "$DEV_LIBS_BASE" ] || DEV_LIBS_BASE="python3-dev libffi-dev libssl-dev libjpeg9-dev" +[ -n "$DEV_LIBS_BASE" ] || DEV_LIBS_BASE="libffi-dev libssl-dev libjpeg9-dev" [ -n "$DEV_LIBS_EXTRA" ] || DEV_LIBS_EXTRA= diff --git a/src/variants/beamos/config b/src/variants/beamos/config index aead25aa..7de910a3 100755 --- a/src/variants/beamos/config +++ b/src/variants/beamos/config @@ -28,7 +28,7 @@ export OCTOPI_INCLUDE_FFMPEG_HLS=no # Fix - only python2 compatible for now: export OCTOPI_PYTHON_VERSION=python2 # Add dev repos to build up the MrBeam dependencies - Will not be kept in the image. -export DEV_LIBS_EXTRA="python2-dev libxml2-dev libxslt1-dev python3-dev" +#export DEV_LIBS_EXTRA="python2-dev libxml2-dev libxslt1-dev python3-dev" # Dev allow ssh for now export BEAMOS_INCLUDE_SSH=yes From a1dd4b774f9f8d06bcf7e2a50d51ae96f63b7d04 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 10:25:40 +0200 Subject: [PATCH 16/37] change install of python3 --- src/modules/octopi/start_chroot_script | 31 +++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index fd5c6c07..ea1e7af4 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -38,7 +38,36 @@ fi #apt-get update #apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget #apt-get -y install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base -wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.10.0 +#wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.10.0 +echo "Updating & upgrading system" +apt -qq update && apt --yes --force-yes upgrade < /dev/null +echo "Installing Python essentials" +apt -qq install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev < /dev/null +echo "Downloading Python 3.10" +wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz +echo "Decompressing file" +tar -zxvf Python-3.10.0.tgz +cd Python-3.10.0 +echo "Prepare the source for the installation" +./configure --enable-optimizations +echo "(Install the new Python version 3.10)" +sudo make altinstall +echo "Let's cleanup!" +cd .. +rm -rf "Python-$new_version" +rm -r "${file}" + +echo "Let's install PIP" +apt -qq install -y python3-pip < /dev/null + +echo "updating pip..." +python"${py_main_version}" -m pip install --upgrade pip + +new_python_version=$(python -c 'import platform; print(platform.python_version())') +echo "new python version $new_python_version" + +new_python_version=$(python3.10 -c 'import platform; print(platform.python_version())') +echo "new python version2 $new_python_version" echo " - Reinstall iputils-ping" apt-get install --reinstall iputils-ping From 8cb56df8b91aa70bb0c081e207367910239f71f0 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 10:51:36 +0200 Subject: [PATCH 17/37] fixed cleanup --- src/modules/octopi/start_chroot_script | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index ea1e7af4..47b8b2c2 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -54,8 +54,7 @@ echo "(Install the new Python version 3.10)" sudo make altinstall echo "Let's cleanup!" cd .. -rm -rf "Python-$new_version" -rm -r "${file}" +rm -rf "Python-3.10.0" echo "Let's install PIP" apt -qq install -y python3-pip < /dev/null From 96eeb48807f7255c503dd3152b597cfc8e00e1bd Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 11:15:05 +0200 Subject: [PATCH 18/37] try to fix build error --- src/modules/octopi/start_chroot_script | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 47b8b2c2..251178cb 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -59,8 +59,8 @@ rm -rf "Python-3.10.0" echo "Let's install PIP" apt -qq install -y python3-pip < /dev/null -echo "updating pip..." -python"${py_main_version}" -m pip install --upgrade pip +#echo "updating pip..." +#python"${py_main_version}" -m pip install --upgrade pip new_python_version=$(python -c 'import platform; print(platform.python_version())') echo "new python version $new_python_version" From d3a5873b64c372004cc1a4b00c7cb0b53c11accd Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 11:42:24 +0200 Subject: [PATCH 19/37] add virtualenv --- src/modules/octopi/start_chroot_script | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 251178cb..08f68e8c 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -37,7 +37,7 @@ fi #add-apt-repository ppa:deadsnakes/ppa #apt-get update #apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget -#apt-get -y install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base +apt-get -y install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base #wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.10.0 echo "Updating & upgrading system" apt -qq update && apt --yes --force-yes upgrade < /dev/null @@ -65,8 +65,11 @@ apt -qq install -y python3-pip < /dev/null new_python_version=$(python -c 'import platform; print(platform.python_version())') echo "new python version $new_python_version" +new_python_version=$(python3 -c 'import platform; print(platform.python_version())') +echo "new python version3 $new_python_version" + new_python_version=$(python3.10 -c 'import platform; print(platform.python_version())') -echo "new python version2 $new_python_version" +echo "new python version3.10 $new_python_version" echo " - Reinstall iputils-ping" apt-get install --reinstall iputils-ping From d83e140bb555361336b0526a7fd20ed1353be27b Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 12:55:59 +0200 Subject: [PATCH 20/37] fix virtual env --- src/modules/beamos/start_chroot_script | 8 ++++---- src/modules/octopi/start_chroot_script | 18 +++++++++++------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index 96417dca..05483db3 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -236,7 +236,7 @@ pushd /home/pi # Create a python2 venv because python2-pip might not be an available package BEAMOS_CHECK_VENV=/usr/local/mrb_check/venv mkdir -p $(dirname $BEAMOS_CHECK_VENV) - python3.10 -m virtualenv -p python2 $BEAMOS_CHECK_VENV + python3 -m virtualenv -p python3.10 $BEAMOS_CHECK_VENV # OctoPrint has no need to update mrb_check -> No need to add to config.yaml PIP_DEFAULT_TIMEOUT=60 $BEAMOS_CHECK_VENV/bin/python -m pip install /filesystem/repos/mrb_check @@ -329,7 +329,7 @@ pushd /home/pi # Create a python2 venv because python2-pip might not be an available package BEAMOS_IOBEAM_VENV=/usr/local/iobeam/venv mkdir -p $(dirname $BEAMOS_IOBEAM_VENV) - python3.10 -m virtualenv -p python3.10 $BEAMOS_IOBEAM_VENV + python3 -m virtualenv -p python3.10 $BEAMOS_IOBEAM_VENV # change pip commands to match the new virtualenv # Do this BEFORE INSTALLING as - in the develop version, # it will move the source folder, in which case we couldn't access it. @@ -388,7 +388,7 @@ pushd /home/pi NETCONNECTD_PROJ=sources/netconnectd gitclone BEAMOS_NETCONNECTD_REPO $NETCONNECTD_PROJ # Create venv - python3 -m virtualenv -p python3 $BEAMOS_NETCONNECTD_VENV + python3 -m virtualenv -p python3.10 $BEAMOS_NETCONNECTD_VENV $BEAMOS_NETCONNECTD_VENV/bin/python -m pip install $BEAMOS_NETCONNECTD_WIFI_ARCHIVE $NETCONNECTD_PROJ pushd $NETCONNECTD_PROJ mkdir -p /etc/netconnectd.conf.d/{hostapd,dnsmasq} /etc/network/interfaces.d/ @@ -458,7 +458,7 @@ pushd /home/pi # apt-install python3-pip # Install in a separate venv LED_VENV=/usr/local/mrbeam_ledstrips/venv - python3 -m virtualenv -p python3 $LED_VENV + python3 -m virtualenv -p python3.10 $LED_VENV $LED_VENV/bin/pip install $BEAMOS_RPI_WS281X_ARCHIVE $BEAMOS_MRBEAMLED_ARCHIVE # Link the executables to have mrbeam_ledstrips(_cli) in the $PATH ln -s $LED_VENV/bin/mrbeam_ledstrips /usr/bin/ diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 08f68e8c..73939815 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -37,24 +37,28 @@ fi #add-apt-repository ppa:deadsnakes/ppa #apt-get update #apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget +PYTHON3_VERSION=python3.10.6 +file="Python-${PYTHON3_VERSION}.tar.xz" +url="https://www.python.org/ftp/python/${PYTHON3_VERSION}/${file}" apt-get -y install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base #wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.10.0 echo "Updating & upgrading system" apt -qq update && apt --yes --force-yes upgrade < /dev/null echo "Installing Python essentials" apt -qq install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev < /dev/null -echo "Downloading Python 3.10" -wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz +echo "Downloading Python $PYTHON3_VERSION" +wget "${url}" echo "Decompressing file" -tar -zxvf Python-3.10.0.tgz -cd Python-3.10.0 +tar -Jxf "${file}" < /dev/null +cd "Python-${$PYTHON3_VERSION}" echo "Prepare the source for the installation" ./configure --enable-optimizations -echo "(Install the new Python version 3.10)" +echo "(Install the new Python version $PYTHON3_VERSION)" sudo make altinstall echo "Let's cleanup!" cd .. -rm -rf "Python-3.10.0" +rm -rf "Python-${PYTHON3_VERSION}" +rm -r "${file}" echo "Let's install PIP" apt -qq install -y python3-pip < /dev/null @@ -77,7 +81,7 @@ apt-get install --reinstall iputils-ping pushd /home/"${BASE_USER}" # build virtualenv - sudo -u "${BASE_USER}" python3.10 -m virtualenv --python=$PYTHON oprint + sudo -u "${BASE_USER}" python3 -m virtualenv --python=$PYTHON oprint sudo -u "${BASE_USER}" /home/"${BASE_USER}"/oprint/bin/pip install --upgrade pip # OctoPrint From 851ab14a4c8d8127b311b1ea2ebf97defc98e7d3 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 12:57:37 +0200 Subject: [PATCH 21/37] fix version --- src/modules/octopi/start_chroot_script | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 73939815..9a299010 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -37,7 +37,7 @@ fi #add-apt-repository ppa:deadsnakes/ppa #apt-get update #apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget -PYTHON3_VERSION=python3.10.6 +PYTHON3_VERSION=3.10.6 file="Python-${PYTHON3_VERSION}.tar.xz" url="https://www.python.org/ftp/python/${PYTHON3_VERSION}/${file}" apt-get -y install python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base From cf7b83d18bf03f674f1e79c3c98dd0e57d928a38 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 13:10:14 +0200 Subject: [PATCH 22/37] fix version --- src/modules/octopi/start_chroot_script | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 9a299010..64b73be3 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -50,7 +50,7 @@ echo "Downloading Python $PYTHON3_VERSION" wget "${url}" echo "Decompressing file" tar -Jxf "${file}" < /dev/null -cd "Python-${$PYTHON3_VERSION}" +cd "Python-${PYTHON3_VERSION}" echo "Prepare the source for the installation" ./configure --enable-optimizations echo "(Install the new Python version $PYTHON3_VERSION)" From f38721a5a072331b4471bbbb9e25b62eaadfffce Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 13:38:30 +0200 Subject: [PATCH 23/37] fix build problems --- src/modules/beamos/start_chroot_script | 8 ++++---- src/modules/dev-libs/config | 2 +- src/modules/octopi/start_chroot_script | 1 + src/variants/beamos/config | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index 05483db3..ec431e12 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -236,7 +236,7 @@ pushd /home/pi # Create a python2 venv because python2-pip might not be an available package BEAMOS_CHECK_VENV=/usr/local/mrb_check/venv mkdir -p $(dirname $BEAMOS_CHECK_VENV) - python3 -m virtualenv -p python3.10 $BEAMOS_CHECK_VENV + python3.10 -m venv $BEAMOS_CHECK_VENV # OctoPrint has no need to update mrb_check -> No need to add to config.yaml PIP_DEFAULT_TIMEOUT=60 $BEAMOS_CHECK_VENV/bin/python -m pip install /filesystem/repos/mrb_check @@ -329,7 +329,7 @@ pushd /home/pi # Create a python2 venv because python2-pip might not be an available package BEAMOS_IOBEAM_VENV=/usr/local/iobeam/venv mkdir -p $(dirname $BEAMOS_IOBEAM_VENV) - python3 -m virtualenv -p python3.10 $BEAMOS_IOBEAM_VENV + python3.10 -m venv $BEAMOS_IOBEAM_VENV # change pip commands to match the new virtualenv # Do this BEFORE INSTALLING as - in the develop version, # it will move the source folder, in which case we couldn't access it. @@ -388,7 +388,7 @@ pushd /home/pi NETCONNECTD_PROJ=sources/netconnectd gitclone BEAMOS_NETCONNECTD_REPO $NETCONNECTD_PROJ # Create venv - python3 -m virtualenv -p python3.10 $BEAMOS_NETCONNECTD_VENV + python3.10 -m venv $BEAMOS_NETCONNECTD_VENV $BEAMOS_NETCONNECTD_VENV/bin/python -m pip install $BEAMOS_NETCONNECTD_WIFI_ARCHIVE $NETCONNECTD_PROJ pushd $NETCONNECTD_PROJ mkdir -p /etc/netconnectd.conf.d/{hostapd,dnsmasq} /etc/network/interfaces.d/ @@ -458,7 +458,7 @@ pushd /home/pi # apt-install python3-pip # Install in a separate venv LED_VENV=/usr/local/mrbeam_ledstrips/venv - python3 -m virtualenv -p python3.10 $LED_VENV + python3.10 -m venv $LED_VENV $LED_VENV/bin/pip install $BEAMOS_RPI_WS281X_ARCHIVE $BEAMOS_MRBEAMLED_ARCHIVE # Link the executables to have mrbeam_ledstrips(_cli) in the $PATH ln -s $LED_VENV/bin/mrbeam_ledstrips /usr/bin/ diff --git a/src/modules/dev-libs/config b/src/modules/dev-libs/config index 44c98e86..98b20565 100755 --- a/src/modules/dev-libs/config +++ b/src/modules/dev-libs/config @@ -1,7 +1,7 @@ #!/usr/bin/env sh # libxslt-dev required for etree in lxml package -[ -n "$DEV_LIBS_BASE" ] || DEV_LIBS_BASE="libffi-dev libssl-dev libjpeg9-dev" +[ -n "$DEV_LIBS_BASE" ] || DEV_LIBS_BASE="python3-dev libffi-dev libssl-dev libjpeg9-dev" [ -n "$DEV_LIBS_EXTRA" ] || DEV_LIBS_EXTRA= diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 64b73be3..0c4a5ba1 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -32,6 +32,7 @@ if [ "$OCTOPI_PYTHON_VERSION" = python2 ]; then else PYTHON=python3 fi +apt-get -y --force-yes install python3 python3-virtualenv git screen subversion cmake avahi-daemon libavahi-compat-libdnssd1 libatlas3-base #apt-get -y install software-properties-common #add-apt-repository ppa:deadsnakes/ppa diff --git a/src/variants/beamos/config b/src/variants/beamos/config index 7de910a3..fc10374d 100755 --- a/src/variants/beamos/config +++ b/src/variants/beamos/config @@ -28,7 +28,7 @@ export OCTOPI_INCLUDE_FFMPEG_HLS=no # Fix - only python2 compatible for now: export OCTOPI_PYTHON_VERSION=python2 # Add dev repos to build up the MrBeam dependencies - Will not be kept in the image. -#export DEV_LIBS_EXTRA="python2-dev libxml2-dev libxslt1-dev python3-dev" +export DEV_LIBS_EXTRA="python2-dev libxml2-dev libxslt1-dev" # Dev allow ssh for now export BEAMOS_INCLUDE_SSH=yes From e19d3487bc7d69e9e0daa273ab458b3d1fae61e8 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 14:11:14 +0200 Subject: [PATCH 24/37] create mrb variant --- .github/workflows/build.yml | 2 +- src/modules/beamos/start_chroot_script | 2 +- src/variants/beamos/config.mrb3 | 28 ++++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 96ae3532..89b44a77 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: then flavors='{"flavor":"alpha 2R"}' else - flavors='{"flavor":"2R"}' + flavors='{"flavor":"mrb3"}' fi echo "::set-output name=matrix::{\"include\":[$flavors]}" diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index ec431e12..a1994955 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -236,7 +236,7 @@ pushd /home/pi # Create a python2 venv because python2-pip might not be an available package BEAMOS_CHECK_VENV=/usr/local/mrb_check/venv mkdir -p $(dirname $BEAMOS_CHECK_VENV) - python3.10 -m venv $BEAMOS_CHECK_VENV + python -m venv $BEAMOS_CHECK_VENV # OctoPrint has no need to update mrb_check -> No need to add to config.yaml PIP_DEFAULT_TIMEOUT=60 $BEAMOS_CHECK_VENV/bin/python -m pip install /filesystem/repos/mrb_check diff --git a/src/variants/beamos/config.mrb3 b/src/variants/beamos/config.mrb3 index e69de29b..05137610 100644 --- a/src/variants/beamos/config.mrb3 +++ b/src/variants/beamos/config.mrb3 @@ -0,0 +1,28 @@ +#!/bin/sh +export BEAMOS_DEV=yes +export BEAMOS_DEVICE_MODEL="mrb3" +export BEAMOS_MODEL="MRBEAM2_DC_S" + + +export BEAMOS_MRBEAMPLUGIN_REPO_BRANCH=v0.11.0 +export BEAMOS_CAMERA_REPO_BRANCH=mrbeam2-stable +export BEAMOS_FINDMYMRBEAM_REPO_BRANCH=v0.4.0 +export BEAMOS_NETCONNECTD_PLUGIN_REPO_BRANCH=v0.2.0 +## Dependencies +export BEAMOS_IOBEAM_REPO_BRANCH=feature/SW-1522-iobeam-to-python-3.10.x-in-githu +export BEAMOS_MRBHWINFO_REPO_BRANCH=SW-1677 +export BEAMOS_MRBEAMLED_REPO_BRANCH=SW-1677 +export BEAMOS_NETCONNECTD_REPO_BRANCH=v1.0.0 +export BEAMOS_MRBEAMPLUGIN_DOCS_REPO_BRANCH=v1.0.0 +## BeamOS-dependencies +export BEAMOS_MOUNTMANAGER_REPO_BRANCH=mrbeam2-stable +export BEAMOS_SHIELDFLASHER_REPO_BRANCH=master +export BEAMOS_RPI_WS281X_REPO_BRANCH=master +export BEAMOS_CHECK_REPO_BRANCH=beamos +export BEAMOS_NETCONNECTD_WIFI_REPO_BRANCH=master + +export BEAMOS_MRBEAMPLUGIN_REPO_BUILD=https://github.com/mrbeam/MrBeamPlugin.git +export BEAMOS_IOBEAM_REPO_BUILD=git+ssh://git@bitbucket.org/mrbeam/iobeam.git +export BEAMOS_MRBHWINFO_REPO_BUILD=git+ssh://git@bitbucket.org/mrbeam/mrb_hw_info.git +export BEAMOS_MRBEAMLED_REPO_BUILD=https://github.com/mrbeam/MrBeamLedStrips.git +export BEAMOS_NETCONNECTD_REPO_BUILD=https://github.com/mrbeam/netconnectd_mrbeam.git \ No newline at end of file From 9285cf6ef2e8f2874b36bdf391d07b3893bf63e1 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam <81746291+Josef-MrBeam@users.noreply.github.com> Date: Fri, 2 Sep 2022 14:19:20 +0200 Subject: [PATCH 25/37] build image with oprint 1.7.3 (#98) * add ssh key for mrb3-core-image * change branch for octoprint --- .github/workflows/build.yml | 6 ++++-- src/modules/beamos/filesystem/home/pi/.ssh/config | 3 +++ src/modules/beamos/start_chroot_script | 11 ++++++++++- src/variants/beamos/config | 4 ++-- src/variants/beamos/config.oprint173 | 8 ++++++++ 5 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 src/modules/beamos/filesystem/home/pi/.ssh/config create mode 100644 src/variants/beamos/config.oprint173 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 89b44a77..4ba6dc2c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: then flavors='{"flavor":"alpha 2R"}' else - flavors='{"flavor":"mrb3"}' + flavors='{"flavor":"mrb3 oprint173"}' fi echo "::set-output name=matrix::{\"include\":[$flavors]}" @@ -50,7 +50,7 @@ jobs: sudo apt update sudo apt install coreutils p7zip-full qemu-user-static - - name: Configure SSH-Keys inside image + - name: Configure SSH-Keys for pipeline env: SSH_KEY_MOUNTMANAGER: ${{ secrets.DEPLOY_KEY_MOUNTMANAGER }} SSH_KEY_MRBCHECK: ${{ secrets.DEPLOY_KEY_MRBCHECK }} @@ -60,6 +60,7 @@ jobs: echo "$SSH_KEY_BITBUCKET" > ~/.ssh/bitbucket.key echo "$SSH_KEY_MOUNTMANAGER" > ~/.ssh/mountmanager.key echo "$SSH_KEY_MRBCHECK" > ~/.ssh/mrbcheck.key + chmod 600 ~/.ssh/bitbucket.key chmod 600 ~/.ssh/mountmanager.key chmod 600 ~/.ssh/mrbcheck.key @@ -120,6 +121,7 @@ jobs: sudo modprobe loop cd repository/src echo "export EXTRA_SSH_KEY='${{ secrets.SSH_BEAMOS01_RSA }}'" >> config + echo "export SSH_KEY_MRB3_CORE_PLUGIN='${{ secrets.DEPLOY_KEY_MRB3_CORE_PLUGIN }}'" >> config sudo bash -x ./build_dist $VARIANT ${{ matrix.flavor }} - name: Copy output diff --git a/src/modules/beamos/filesystem/home/pi/.ssh/config b/src/modules/beamos/filesystem/home/pi/.ssh/config new file mode 100644 index 00000000..6eef8021 --- /dev/null +++ b/src/modules/beamos/filesystem/home/pi/.ssh/config @@ -0,0 +1,3 @@ +Host github.com-mrb3-core-plugin + HostName github.com + IdentityFile /home/pi/.ssh/mrb3-core-plugin \ No newline at end of file diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index a1994955..15be520d 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -214,6 +214,7 @@ ssh-keyscan -t rsa bitbucket.org >> /root/.ssh/known_hosts mkdir -p /home/pi/.ssh ssh-keyscan -t rsa bitbucket.org >> /home/pi/.ssh/known_hosts +ssh-keyscan -t rsa github.com >> /home/pi/.ssh/known_hosts chown 1000:1000 /home/pi/.ssh/known_hosts # Enable ssh identification for private packages in bitbucket.org @@ -224,6 +225,14 @@ if [ -n "$EXTRA_SSH_KEY" ]; then chmod 0600 /root/.ssh/id_rsa fi +if [ -n "$SSH_KEY_MRB3_CORE_PLUGIN" ]; then + # EXTRA_SSH_KEY is not written in any config for security reasons. + # Use it when invoking BeamOS : `EXTRA_SSH_KEY="some_key" ./build_dist mrbeam` + echo "$SSH_KEY_MRB3_CORE_PLUGIN" > /home/pi/.ssh/mrb3-core-plugin + chmod 0600 /home/pi/.ssh/mrb3-core-plugin + chown pi:pi /home/pi/.ssh/mrb3-core-plugin +fi + pushd /home/pi # Add .local/bin to PATH and add link to octoprint there sudo -u pi mkdir -p .local/bin @@ -308,7 +317,7 @@ pushd /home/pi gitclone BEAMOS_MRBEAMPLUGIN_REPO OctoPrint-MrBeam pip_install_dev_or_rm ./OctoPrint-MrBeam - set_plugin_update_conf_remote mrbeam $BEAMOS_MRBEAMPLUGIN_REPO_SHIP $BEAMOS_MRBEAMPLUGIN_REPO_BRANCH +# set_plugin_update_conf_remote mrbeam $BEAMOS_MRBEAMPLUGIN_REPO_SHIP $BEAMOS_MRBEAMPLUGIN_REPO_BRANCH rm /proc/cpuinfo # Install MrBeamDocs diff --git a/src/variants/beamos/config b/src/variants/beamos/config index fc10374d..b901e66b 100755 --- a/src/variants/beamos/config +++ b/src/variants/beamos/config @@ -1,7 +1,7 @@ #!/bin/sh # variant mrbeam, flavor default: override hostname & custom config setting export DIST_NAME=BeamOS -export DIST_VERSION=0.19.0 +export DIST_VERSION=0.19.0dev0 export BASE_OVERRIDE_HOSTNAME=MrBeam-XXXX export BASE_IMAGE_ENLARGEROOT=1700 @@ -14,7 +14,7 @@ export BASE_PYPI_INDEX="http://datamania.atbo.studio:3141/root/dev/" export OCTOPI_OCTOPRINT_REPO_BUILD=https://github.com/mrbeam/OctoPrint.git export OCTOPI_OCTOPRINT_REPO_SHIP=https://github.com/mrbeam/OctoPrint.git -export OCTOPI_OCTOPRINT_REPO_BRANCH=v1.3.6.9 +export OCTOPI_OCTOPRINT_REPO_BRANCH=feature/SW-1030-octoprint-upgrade-to-latest-v-1-x # export OCTOPI_OCTOPRINT_ARCHIVE=/filesystem/OctoPrint export OCTOPI_OCTOPRINT_ARCHIVE=https://github.com/mrbeam/OctoPrint/archive/$OCTOPI_OCTOPRINT_REPO_BRANCH.zip diff --git a/src/variants/beamos/config.oprint173 b/src/variants/beamos/config.oprint173 new file mode 100644 index 00000000..321c8e7e --- /dev/null +++ b/src/variants/beamos/config.oprint173 @@ -0,0 +1,8 @@ +#!/bin/sh + +export DIST_VERSION=0.19.0dev1 + +export BEAMOS_MRBEAMPLUGIN_ARCHIVE=https://github.com/mrbeam/mrb3-core-plugin/archive/$BEAMOS_MRBEAMPLUGIN_REPO_BRANCH.zip +export BEAMOS_MRBEAMPLUGIN_REPO_SHIP=https://github.com/mrbeam/mrb3-core-plugin.git +export BEAMOS_MRBEAMPLUGIN_REPO_BUILD=git@github.com-mrb3-core-plugin:mrbeam/mrb3-core-plugin.git +export BEAMOS_MRBEAMPLUGIN_REPO_BRANCH=epic/SW-1030-octoprint-upgrade-to-latest-v-1-x From e4867f3c2cfd22ccfae5dd78ae3465b109e46bb5 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 14:43:35 +0200 Subject: [PATCH 26/37] fix virtual env of beamcheck --- src/modules/beamos/start_chroot_script | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index 15be520d..d732adf8 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -245,7 +245,7 @@ pushd /home/pi # Create a python2 venv because python2-pip might not be an available package BEAMOS_CHECK_VENV=/usr/local/mrb_check/venv mkdir -p $(dirname $BEAMOS_CHECK_VENV) - python -m venv $BEAMOS_CHECK_VENV + python3 -m virtualenv -p python2 $BEAMOS_CHECK_VENV # OctoPrint has no need to update mrb_check -> No need to add to config.yaml PIP_DEFAULT_TIMEOUT=60 $BEAMOS_CHECK_VENV/bin/python -m pip install /filesystem/repos/mrb_check From bc18bc11cfc63879374f60d42ba81eb4a34a279d Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 2 Sep 2022 17:19:06 +0200 Subject: [PATCH 27/37] remove post update --- src/variants/beamos/post_chroot_script.backup | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/variants/beamos/post_chroot_script.backup b/src/variants/beamos/post_chroot_script.backup index 7a1df865..eb762605 100755 --- a/src/variants/beamos/post_chroot_script.backup +++ b/src/variants/beamos/post_chroot_script.backup @@ -58,14 +58,14 @@ sudo -u pi /home/pi/oprint/bin/pip install --no-index --find-links=/wheels/ pill sudo rm -rf /wheels # install Mr Beam Plugin -pushd /home/pi - gitclone OCTOPI_MRBEAMPLUGIN_REPO MrBeamPlugin - pushd MrBeamPlugin - addGitHashToConfig "mrbeamhash" - sudo -u pi /home/pi/oprint/bin/pip install . - popd - rm -rf MrBeamPlugin -popd +#pushd /home/pi +# gitclone OCTOPI_MRBEAMPLUGIN_REPO MrBeamPlugin +# pushd MrBeamPlugin +# addGitHashToConfig "mrbeamhash" +# sudo -u pi /home/pi/oprint/bin/pip install . +# popd +# rm -rf MrBeamPlugin +#popd # install netconnectd sudo systemctl disable hostapd.service From de8d26da00c4da7709c4f124ff7304473ce135cb Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Mon, 5 Sep 2022 08:18:32 +0200 Subject: [PATCH 28/37] add bitbucket to ssh config --- src/modules/beamos/filesystem/home/pi/.ssh/config | 3 +++ src/modules/beamos/start_chroot_script | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/modules/beamos/filesystem/home/pi/.ssh/config b/src/modules/beamos/filesystem/home/pi/.ssh/config index 6eef8021..0acfaf75 100644 --- a/src/modules/beamos/filesystem/home/pi/.ssh/config +++ b/src/modules/beamos/filesystem/home/pi/.ssh/config @@ -1,3 +1,6 @@ +Host bitbucket.org + HostName bitbucket.org + IdentityFile ~/.ssh/bitbucket.key Host github.com-mrb3-core-plugin HostName github.com IdentityFile /home/pi/.ssh/mrb3-core-plugin \ No newline at end of file diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index d732adf8..a88b5f3e 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -221,8 +221,8 @@ chown 1000:1000 /home/pi/.ssh/known_hosts if [ -n "$EXTRA_SSH_KEY" ]; then # EXTRA_SSH_KEY is not written in any config for security reasons. # Use it when invoking BeamOS : `EXTRA_SSH_KEY="some_key" ./build_dist mrbeam` - echo "$EXTRA_SSH_KEY" > /root/.ssh/id_rsa - chmod 0600 /root/.ssh/id_rsa + echo "$EXTRA_SSH_KEY" > /root/.ssh/bitbucket + chmod 0600 /root/.ssh/bitbucket fi if [ -n "$SSH_KEY_MRB3_CORE_PLUGIN" ]; then From 2e2fabc79f966da7b20c6e2a06e7f9b706da2773 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Tue, 6 Sep 2022 09:17:35 +0200 Subject: [PATCH 29/37] fix bitbucket key name --- src/modules/beamos/filesystem/home/pi/.ssh/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/beamos/filesystem/home/pi/.ssh/config b/src/modules/beamos/filesystem/home/pi/.ssh/config index 0acfaf75..d7da5219 100644 --- a/src/modules/beamos/filesystem/home/pi/.ssh/config +++ b/src/modules/beamos/filesystem/home/pi/.ssh/config @@ -1,6 +1,6 @@ Host bitbucket.org HostName bitbucket.org - IdentityFile ~/.ssh/bitbucket.key + IdentityFile ~/.ssh/bitbucket Host github.com-mrb3-core-plugin HostName github.com IdentityFile /home/pi/.ssh/mrb3-core-plugin \ No newline at end of file From 14bbe67301abe539e274455f820d5e155fb3b38d Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Tue, 6 Sep 2022 17:45:39 +0200 Subject: [PATCH 30/37] fix iobeam clone --- src/modules/beamos/start_chroot_script | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index a88b5f3e..d732adf8 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -221,8 +221,8 @@ chown 1000:1000 /home/pi/.ssh/known_hosts if [ -n "$EXTRA_SSH_KEY" ]; then # EXTRA_SSH_KEY is not written in any config for security reasons. # Use it when invoking BeamOS : `EXTRA_SSH_KEY="some_key" ./build_dist mrbeam` - echo "$EXTRA_SSH_KEY" > /root/.ssh/bitbucket - chmod 0600 /root/.ssh/bitbucket + echo "$EXTRA_SSH_KEY" > /root/.ssh/id_rsa + chmod 0600 /root/.ssh/id_rsa fi if [ -n "$SSH_KEY_MRB3_CORE_PLUGIN" ]; then From 3263931befe12ef468525356122a2c7b8055f190 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Wed, 7 Sep 2022 13:23:08 +0200 Subject: [PATCH 31/37] dont' use new python 3 branch --- src/variants/beamos/config.mrb3 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/variants/beamos/config.mrb3 b/src/variants/beamos/config.mrb3 index 05137610..8e533604 100644 --- a/src/variants/beamos/config.mrb3 +++ b/src/variants/beamos/config.mrb3 @@ -9,7 +9,7 @@ export BEAMOS_CAMERA_REPO_BRANCH=mrbeam2-stable export BEAMOS_FINDMYMRBEAM_REPO_BRANCH=v0.4.0 export BEAMOS_NETCONNECTD_PLUGIN_REPO_BRANCH=v0.2.0 ## Dependencies -export BEAMOS_IOBEAM_REPO_BRANCH=feature/SW-1522-iobeam-to-python-3.10.x-in-githu +#export BEAMOS_IOBEAM_REPO_BRANCH=feature/SW-1522-iobeam-to-python-3.10.x-in-githu #TODO not ready yet export BEAMOS_MRBHWINFO_REPO_BRANCH=SW-1677 export BEAMOS_MRBEAMLED_REPO_BRANCH=SW-1677 export BEAMOS_NETCONNECTD_REPO_BRANCH=v1.0.0 From 7003e25b78039345391f125871d5ecf057260be3 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Thu, 15 Sep 2022 13:26:26 +0200 Subject: [PATCH 32/37] -fix iobeam -change opencv -change python version to 3 for oprint venv --- src/modules/beamos/start_chroot_script | 6 ++++-- src/variants/beamos/config | 2 -- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index d732adf8..14981b68 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -299,13 +299,15 @@ pushd /home/pi # as you don't have to configure the OpenCV build and link everything. echo "--- Installing OpenCV from pip wheels ~ 10min because installs gtk" # After this operation, 1085 MB of additional disk space will be used. - apt-install python-opencv +# apt-install python-opencv # link the global library to the oprint environment - ln -s /usr/lib/python2.7/dist-packages/cv2.arm-linux-gnueabihf.so /home/pi/oprint/lib/python2.7/cv2.so +# ln -s /usr/lib/python2.7/dist-packages/cv2.arm-linux-gnueabihf.so /home/pi/oprint/lib/python2.7/cv2.so # Headless install (which fails) # PIP_DEFAULT_TIMEOUT=60 sudo -u pi $OPRINT/pip install opencv-python-headless # Install the opencv wheel available for raspberry (also fails) # PIP_DEFAULT_TIMEOUT=60 sudo -u pi /home/pi/oprint/bin/pip install opencv-python #opencv-contrib-python-nonfree-headless + + pip_install opencv-python fi echo "--- Installing MrBeamPlugin" # Library dependencies for lxml and PIL diff --git a/src/variants/beamos/config b/src/variants/beamos/config index b901e66b..128ecca7 100755 --- a/src/variants/beamos/config +++ b/src/variants/beamos/config @@ -25,8 +25,6 @@ export OCTOPI_INCLUDE_MJPGSTREAMER=no export OCTOPI_INCLUDE_WIRINGPI=no export OCTOPI_INCLUDE_FFMPEG_HLS=no -# Fix - only python2 compatible for now: -export OCTOPI_PYTHON_VERSION=python2 # Add dev repos to build up the MrBeam dependencies - Will not be kept in the image. export DEV_LIBS_EXTRA="python2-dev libxml2-dev libxslt1-dev" From 263c72dfacf38cd827574de9be54ce4f29b1e199 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 16 Sep 2022 13:39:45 +0200 Subject: [PATCH 33/37] oprint venv with python3 --- .../beamos/filesystem/home/pi/.ssh/config | 3 -- src/modules/beamos/start_chroot_script | 36 ++++++++++--------- src/modules/octopi/start_chroot_script | 6 +++- src/variants/beamos/config | 2 +- src/variants/beamos/config.mrb3 | 2 +- 5 files changed, 26 insertions(+), 23 deletions(-) diff --git a/src/modules/beamos/filesystem/home/pi/.ssh/config b/src/modules/beamos/filesystem/home/pi/.ssh/config index d7da5219..6eef8021 100644 --- a/src/modules/beamos/filesystem/home/pi/.ssh/config +++ b/src/modules/beamos/filesystem/home/pi/.ssh/config @@ -1,6 +1,3 @@ -Host bitbucket.org - HostName bitbucket.org - IdentityFile ~/.ssh/bitbucket Host github.com-mrb3-core-plugin HostName github.com IdentityFile /home/pi/.ssh/mrb3-core-plugin \ No newline at end of file diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index 14981b68..d112a4ec 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -67,7 +67,7 @@ add_mrb3() { OPRINT=/home/pi/oprint/bin pip_install() { - PIP_DEFAULT_TIMEOUT=60 sudo -u pi $OPRINT/pip --disable-pip-version-check install $@ + PIP_DEFAULT_TIMEOUT=60 sudo -u pi $OPRINT/pip3 --disable-pip-version-check install $@ } pip_install_dev_or_rm() { @@ -238,7 +238,7 @@ pushd /home/pi sudo -u pi mkdir -p .local/bin sudo -u pi ln -s /home/pi/oprint/bin/octoprint .local/bin/ # Add symlink to preserve legacy compatibility for mrbtools - sudo -u pi ln -s oprint/lib/python2.7/site-packages + # sudo -u pi ln -s oprint/lib/python2.7/site-packages if [ "$BEAMOS_INCLUDE_CHECK" = "yes" ] then @@ -262,6 +262,7 @@ pushd /home/pi # picamera (OctoPrint-MrBeam dependency) needs to check /proc/cpuinfo at install time to figure out which model it's used with. cp /filesystem/picamera/cpuinfo.pi3bp /proc/cpuinfo gitclone BEAMOS_CAMERA_REPO OctoPrint-Camera + pip_install numpy==1.23.3 pip_install_dev_or_rm ./OctoPrint-Camera set_plugin_update_conf_remote camera $BEAMOS_CAMERA_REPO_SHIP $BEAMOS_CAMERA_REPO_BRANCH rm /proc/cpuinfo @@ -288,8 +289,14 @@ pushd /home/pi echo "Compiling OpenCV v.$BEAMOS_OPENCV_VERSION for python $PYTHON_VERSION -- This can take around an hour" # Following the pyimagesearch tutorial # https://www.pyimagesearch.com/2019/09/16/install-opencv-4-on-raspberry-pi-4-and-raspbian-buster/ - DEV_LIBS_OPENCV="libjpeg-dev libtiff5-dev libjasper-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran libhdf5-dev libhdf5-serial-dev" +# DEV_LIBS_OPENCV="libjpeg-dev libtiff5-dev libjasper-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran libhdf5-dev libhdf5-serial-dev" + DEV_LIBS_OPENCV="cmake gcc g++ python3-dev python3-numpy libavcodec-dev libavformat-dev libswscale-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgtk-3-dev" apt-install $DEV_LIBS_OPENCV libhdf5-103 + + cp /filesystem/picamera/cpuinfo.pi3bp /proc/cpuinfo + pip_install opencv-python-headless + rm /proc/cpuinfo + # TODO finish up sudo apt -y remove $DEV_LIBS_OPENCV # save space @@ -300,14 +307,14 @@ pushd /home/pi echo "--- Installing OpenCV from pip wheels ~ 10min because installs gtk" # After this operation, 1085 MB of additional disk space will be used. # apt-install python-opencv + sudo apt-get -y install python3-opencv # link the global library to the oprint environment -# ln -s /usr/lib/python2.7/dist-packages/cv2.arm-linux-gnueabihf.so /home/pi/oprint/lib/python2.7/cv2.so + ln -s /usr/lib/python3.10/dist-packages/cv2.arm-linux-gnueabihf.so /home/pi/oprint/lib/python3.10/cv2.so # Headless install (which fails) # PIP_DEFAULT_TIMEOUT=60 sudo -u pi $OPRINT/pip install opencv-python-headless # Install the opencv wheel available for raspberry (also fails) # PIP_DEFAULT_TIMEOUT=60 sudo -u pi /home/pi/oprint/bin/pip install opencv-python #opencv-contrib-python-nonfree-headless - pip_install opencv-python fi echo "--- Installing MrBeamPlugin" # Library dependencies for lxml and PIL @@ -353,18 +360,13 @@ pushd /home/pi # numpy and mrb_hw_info AND requests are not listed as a dependency in iobeam or mrb_hw_info, install them manually before iobeam # They are installed on the root level because they use root files from time to time. See iobeam#69 (nice) # iobeam is cloned as a submodule to /filesystem before running the script - if [ "$BEAMOS_DEV" = "yes" ]; then - PIP_DEFAULT_TIMEOUT=60 $BEAMOS_IOBEAM_VENV/bin/python -m pip install requests numpy - gitclone BEAMOS_IOBEAM_REPO iobeam - gitclone BEAMOS_MRBHWINFO_REPO mrb_hw_info - mv mrb_hw_info iobeam sources/ - PIP_DEFAULT_TIMEOUT=60 $BEAMOS_IOBEAM_VENV/bin/python -m pip install -e sources/mrb_hw_info sources/iobeam - else - PIP_DEFAULT_TIMEOUT=60 $BEAMOS_IOBEAM_VENV/bin/python -m pip install requests numpy - sudo git clone -b $BEAMOS_IOBEAM_REPO_BRANCH $BEAMOS_IOBEAM_REPO_BUILD iobeam - PIP_DEFAULT_TIMEOUT=60 $BEAMOS_IOBEAM_VENV/bin/python -m pip install ./iobeam - sudo git clone -b $BEAMOS_MRBHWINFO_REPO_BRANCH $BEAMOS_MRBHWINFO_REPO_BUILD mrb_hw_info - PIP_DEFAULT_TIMEOUT=60 $BEAMOS_IOBEAM_VENV/bin/python -m pip install ./mrb_hw_info + PIP_DEFAULT_TIMEOUT=60 $BEAMOS_IOBEAM_VENV/bin/python -m pip install requests numpy + sudo git clone -b $BEAMOS_IOBEAM_REPO_BRANCH $BEAMOS_IOBEAM_REPO_BUILD iobeam + PIP_DEFAULT_TIMEOUT=60 $BEAMOS_IOBEAM_VENV/bin/python -m pip install ./iobeam + sudo git clone -b $BEAMOS_MRBHWINFO_REPO_BRANCH $BEAMOS_MRBHWINFO_REPO_BUILD mrb_hw_info + PIP_DEFAULT_TIMEOUT=60 $BEAMOS_IOBEAM_VENV/bin/python -m pip install ./mrb_hw_info + + if [ "$BEAMOS_DEV" != "yes" ]; then rm -rf mrb_hw_info rm -rf iobeam fi diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 0c4a5ba1..f9921970 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -56,6 +56,8 @@ echo "Prepare the source for the installation" ./configure --enable-optimizations echo "(Install the new Python version $PYTHON3_VERSION)" sudo make altinstall +#echo "Let's try to create package" +#sudo cpack echo "Let's cleanup!" cd .. rm -rf "Python-${PYTHON3_VERSION}" @@ -82,8 +84,10 @@ apt-get install --reinstall iputils-ping pushd /home/"${BASE_USER}" # build virtualenv - sudo -u "${BASE_USER}" python3 -m virtualenv --python=$PYTHON oprint +# sudo -u "${BASE_USER}" python3 -m virtualenv --python=$PYTHON oprint + sudo -u "${BASE_USER}" python3.10 -m venv oprint sudo -u "${BASE_USER}" /home/"${BASE_USER}"/oprint/bin/pip install --upgrade pip + sudo -u "${BASE_USER}" /home/"${BASE_USER}"/oprint/bin/pip install wheel # OctoPrint if [ "$OCTOPI_INCLUDE_OCTOPRINT" == "yes" ] diff --git a/src/variants/beamos/config b/src/variants/beamos/config index 128ecca7..fd975ce6 100755 --- a/src/variants/beamos/config +++ b/src/variants/beamos/config @@ -3,7 +3,7 @@ export DIST_NAME=BeamOS export DIST_VERSION=0.19.0dev0 export BASE_OVERRIDE_HOSTNAME=MrBeam-XXXX -export BASE_IMAGE_ENLARGEROOT=1700 +export BASE_IMAGE_ENLARGEROOT=2000 export BEAMOS_DEV=no export MODULES="base(raspicam, network, disable-services(dev-libs(octopi, beamos)))" diff --git a/src/variants/beamos/config.mrb3 b/src/variants/beamos/config.mrb3 index 8e533604..05137610 100644 --- a/src/variants/beamos/config.mrb3 +++ b/src/variants/beamos/config.mrb3 @@ -9,7 +9,7 @@ export BEAMOS_CAMERA_REPO_BRANCH=mrbeam2-stable export BEAMOS_FINDMYMRBEAM_REPO_BRANCH=v0.4.0 export BEAMOS_NETCONNECTD_PLUGIN_REPO_BRANCH=v0.2.0 ## Dependencies -#export BEAMOS_IOBEAM_REPO_BRANCH=feature/SW-1522-iobeam-to-python-3.10.x-in-githu #TODO not ready yet +export BEAMOS_IOBEAM_REPO_BRANCH=feature/SW-1522-iobeam-to-python-3.10.x-in-githu export BEAMOS_MRBHWINFO_REPO_BRANCH=SW-1677 export BEAMOS_MRBEAMLED_REPO_BRANCH=SW-1677 export BEAMOS_NETCONNECTD_REPO_BRANCH=v1.0.0 From 55c79cd38f020d4099038bff31313ce9bd9c2fd6 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Fri, 16 Sep 2022 14:35:57 +0200 Subject: [PATCH 34/37] use core plugin for mrb3 variant --- src/variants/beamos/config.mrb3 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/variants/beamos/config.mrb3 b/src/variants/beamos/config.mrb3 index 05137610..e584cf01 100644 --- a/src/variants/beamos/config.mrb3 +++ b/src/variants/beamos/config.mrb3 @@ -3,8 +3,11 @@ export BEAMOS_DEV=yes export BEAMOS_DEVICE_MODEL="mrb3" export BEAMOS_MODEL="MRBEAM2_DC_S" +export BEAMOS_MRBEAMPLUGIN_ARCHIVE=https://github.com/mrbeam/mrb3-core-plugin/archive/$BEAMOS_MRBEAMPLUGIN_REPO_BRANCH.zip +export BEAMOS_MRBEAMPLUGIN_REPO_SHIP=https://github.com/mrbeam/mrb3-core-plugin.git +export BEAMOS_MRBEAMPLUGIN_REPO_BUILD=git@github.com-mrb3-core-plugin:mrbeam/mrb3-core-plugin.git +export BEAMOS_MRBEAMPLUGIN_REPO_BRANCH=epic/SW-1030-octoprint-upgrade-to-latest-v-1-x -export BEAMOS_MRBEAMPLUGIN_REPO_BRANCH=v0.11.0 export BEAMOS_CAMERA_REPO_BRANCH=mrbeam2-stable export BEAMOS_FINDMYMRBEAM_REPO_BRANCH=v0.4.0 export BEAMOS_NETCONNECTD_PLUGIN_REPO_BRANCH=v0.2.0 @@ -21,7 +24,6 @@ export BEAMOS_RPI_WS281X_REPO_BRANCH=master export BEAMOS_CHECK_REPO_BRANCH=beamos export BEAMOS_NETCONNECTD_WIFI_REPO_BRANCH=master -export BEAMOS_MRBEAMPLUGIN_REPO_BUILD=https://github.com/mrbeam/MrBeamPlugin.git export BEAMOS_IOBEAM_REPO_BUILD=git+ssh://git@bitbucket.org/mrbeam/iobeam.git export BEAMOS_MRBHWINFO_REPO_BUILD=git+ssh://git@bitbucket.org/mrbeam/mrb_hw_info.git export BEAMOS_MRBEAMLED_REPO_BUILD=https://github.com/mrbeam/MrBeamLedStrips.git From 8e50ad5b35f9ae4b4a6f7ae9de58692d3f2e89e7 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Mon, 10 Oct 2022 17:06:57 +0200 Subject: [PATCH 35/37] -fixed link to opencv -fixed branch for core plugin -set version to 1.0.0dev0 --- src/modules/beamos/start_chroot_script | 2 +- src/variants/beamos/config | 2 +- src/variants/beamos/config.mrb3 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index d112a4ec..bc1ef60e 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -309,7 +309,7 @@ pushd /home/pi # apt-install python-opencv sudo apt-get -y install python3-opencv # link the global library to the oprint environment - ln -s /usr/lib/python3.10/dist-packages/cv2.arm-linux-gnueabihf.so /home/pi/oprint/lib/python3.10/cv2.so + ln -s /usr/lib/python3/dist-packages/cv2.cpython-37m-arm-linux-gnueabihf.so /home/pi/oprint/lib/python3.10/site-packages/cv2.so # Headless install (which fails) # PIP_DEFAULT_TIMEOUT=60 sudo -u pi $OPRINT/pip install opencv-python-headless # Install the opencv wheel available for raspberry (also fails) diff --git a/src/variants/beamos/config b/src/variants/beamos/config index fd975ce6..80a6587b 100755 --- a/src/variants/beamos/config +++ b/src/variants/beamos/config @@ -1,7 +1,7 @@ #!/bin/sh # variant mrbeam, flavor default: override hostname & custom config setting export DIST_NAME=BeamOS -export DIST_VERSION=0.19.0dev0 +export DIST_VERSION=1.0.0dev0 export BASE_OVERRIDE_HOSTNAME=MrBeam-XXXX export BASE_IMAGE_ENLARGEROOT=2000 diff --git a/src/variants/beamos/config.mrb3 b/src/variants/beamos/config.mrb3 index e584cf01..d55a90ce 100644 --- a/src/variants/beamos/config.mrb3 +++ b/src/variants/beamos/config.mrb3 @@ -6,7 +6,7 @@ export BEAMOS_MODEL="MRBEAM2_DC_S" export BEAMOS_MRBEAMPLUGIN_ARCHIVE=https://github.com/mrbeam/mrb3-core-plugin/archive/$BEAMOS_MRBEAMPLUGIN_REPO_BRANCH.zip export BEAMOS_MRBEAMPLUGIN_REPO_SHIP=https://github.com/mrbeam/mrb3-core-plugin.git export BEAMOS_MRBEAMPLUGIN_REPO_BUILD=git@github.com-mrb3-core-plugin:mrbeam/mrb3-core-plugin.git -export BEAMOS_MRBEAMPLUGIN_REPO_BRANCH=epic/SW-1030-octoprint-upgrade-to-latest-v-1-x +export BEAMOS_MRBEAMPLUGIN_REPO_BRANCH=alpha export BEAMOS_CAMERA_REPO_BRANCH=mrbeam2-stable export BEAMOS_FINDMYMRBEAM_REPO_BRANCH=v0.4.0 From 9ffe876b7ad3c5c778961ec8382938e4bcd8981e Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Wed, 19 Oct 2022 14:16:56 +0200 Subject: [PATCH 36/37] -add deploy keys -change to mrb3 repos and python3 branches --- .github/workflows/build.yml | 5 ++++ .../beamos/filesystem/home/pi/.ssh/config | 17 ++++++++++- src/modules/beamos/start_chroot_script | 28 +++++++++++++++++-- src/variants/beamos/config.mrb3 | 27 ++++++++++-------- 4 files changed, 62 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4ba6dc2c..6638ed0e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -122,6 +122,11 @@ jobs: cd repository/src echo "export EXTRA_SSH_KEY='${{ secrets.SSH_BEAMOS01_RSA }}'" >> config echo "export SSH_KEY_MRB3_CORE_PLUGIN='${{ secrets.DEPLOY_KEY_MRB3_CORE_PLUGIN }}'" >> config + echo "export SSH_KEY_MRB3_FINDME_PLUGIN='${{ secrets.DEPLOY_KEY_MRB3_FINDME_PLUGIN }}'" >> config + echo "export SSH_KEY_MRB3_CONNECT_PLUGIN='${{ secrets.DEPLOY_KEY_MRB3_CONNECT_PLUGIN }}'" >> config + echo "export SSH_KEY_MRB3_CONNECT_DAEMON='${{ secrets.DEPLOY_KEY_MRB3_CONNECT_DAEMON }}'" >> config + echo "export SSH_KEY_MRB3_DOC='${{ secrets.DEPLOY_KEY_MRB3_DOC }}'" >> config + echo "export SSH_KEY_MRB3_HAL='${{ secrets.DEPLOY_KEY_MRB3_HAL }}'" >> config sudo bash -x ./build_dist $VARIANT ${{ matrix.flavor }} - name: Copy output diff --git a/src/modules/beamos/filesystem/home/pi/.ssh/config b/src/modules/beamos/filesystem/home/pi/.ssh/config index 6eef8021..872c1496 100644 --- a/src/modules/beamos/filesystem/home/pi/.ssh/config +++ b/src/modules/beamos/filesystem/home/pi/.ssh/config @@ -1,3 +1,18 @@ Host github.com-mrb3-core-plugin HostName github.com - IdentityFile /home/pi/.ssh/mrb3-core-plugin \ No newline at end of file + IdentityFile /home/pi/.ssh/mrb3-core-plugin +Host github.com-mrb3-findMe-plugin + HostName github.com + IdentityFile /home/pi/.ssh/mrb3-findMe-plugin +Host github.com-mrb3-connect-plugin + HostName github.com + IdentityFile /home/pi/.ssh/mrb3-connect-plugin +Host github.com-mrb3-connect-daemon + HostName github.com + IdentityFile /home/pi/.ssh/mrb3-connect-daemon +Host github.com-mrb3-doc + HostName github.com + IdentityFile /home/pi/.ssh/mrb3-doc +Host github.com-mrb3-hal + HostName github.com + IdentityFile /home/pi/.ssh/mrb3-hal diff --git a/src/modules/beamos/start_chroot_script b/src/modules/beamos/start_chroot_script index bc1ef60e..510edcf3 100755 --- a/src/modules/beamos/start_chroot_script +++ b/src/modules/beamos/start_chroot_script @@ -226,13 +226,37 @@ if [ -n "$EXTRA_SSH_KEY" ]; then fi if [ -n "$SSH_KEY_MRB3_CORE_PLUGIN" ]; then - # EXTRA_SSH_KEY is not written in any config for security reasons. - # Use it when invoking BeamOS : `EXTRA_SSH_KEY="some_key" ./build_dist mrbeam` echo "$SSH_KEY_MRB3_CORE_PLUGIN" > /home/pi/.ssh/mrb3-core-plugin chmod 0600 /home/pi/.ssh/mrb3-core-plugin chown pi:pi /home/pi/.ssh/mrb3-core-plugin fi +if [ -n "$SSH_KEY_MRB3_FINDME_PLUGIN" ]; then + echo "$SSH_KEY_MRB3_FINDME_PLUGIN" > /home/pi/.ssh/mrb3-findMe-plugin + chmod 0600 /home/pi/.ssh/mrb3-findMe-plugin + chown pi:pi /home/pi/.ssh/mrb3-findMe-plugin +fi +if [ -n "$SSH_KEY_MRB3_CONNECT_PLUGIN" ]; then + echo "$SSH_KEY_MRB3_CONNECT_PLUGIN" > /home/pi/.ssh/mrb3-connect-plugin + chmod 0600 /home/pi/.ssh/mrb3-connect-plugin + chown pi:pi /home/pi/.ssh/mrb3-connect-plugin +fi +if [ -n "$SSH_KEY_MRB3_CONNECT_DAEMON" ]; then + echo "$SSH_KEY_MRB3_CONNECT_DAEMON" > /home/pi/.ssh/mrb3-connect-daemon + chmod 0600 /home/pi/.ssh/mrb3-connect-daemon + chown pi:pi /home/pi/.ssh/mrb3-connect-daemon +fi +if [ -n "$SSH_KEY_MRB3_DOC" ]; then + echo "$SSH_KEY_MRB3_DOC" > /home/pi/.ssh/mrb3-doc + chmod 0600 /home/pi/.ssh/mrb3-doc + chown pi:pi /home/pi/.ssh/mrb3-doc +fi +if [ -n "$SSH_KEY_MRB3_HAL" ]; then + echo "$SSH_KEY_MRB3_HAL" > /home/pi/.ssh/mrb3-hal + chmod 0600 /home/pi/.ssh/mrb3-hal + chown pi:pi /home/pi/.ssh/mrb3-hal +fi + pushd /home/pi # Add .local/bin to PATH and add link to octoprint there sudo -u pi mkdir -p .local/bin diff --git a/src/variants/beamos/config.mrb3 b/src/variants/beamos/config.mrb3 index d55a90ce..40efdca9 100644 --- a/src/variants/beamos/config.mrb3 +++ b/src/variants/beamos/config.mrb3 @@ -8,15 +8,22 @@ export BEAMOS_MRBEAMPLUGIN_REPO_SHIP=https://github.com/mrbeam/mrb3-core-plugin. export BEAMOS_MRBEAMPLUGIN_REPO_BUILD=git@github.com-mrb3-core-plugin:mrbeam/mrb3-core-plugin.git export BEAMOS_MRBEAMPLUGIN_REPO_BRANCH=alpha -export BEAMOS_CAMERA_REPO_BRANCH=mrbeam2-stable -export BEAMOS_FINDMYMRBEAM_REPO_BRANCH=v0.4.0 -export BEAMOS_NETCONNECTD_PLUGIN_REPO_BRANCH=v0.2.0 +export BEAMOS_CAMERA_REPO_BRANCH=mrbeam2-stable #TODO not python3 compatible version +export BEAMOS_FINDMYMRBEAM_REPO_BRANCH=alpha +export BEAMOS_FINDMYMRBEAM_REPO_BRANCH_BUILD=git@github.com-mrb3-findMe-plugin:mrbeam/mrb3-findMe-plugin.git +export BEAMOS_NETCONNECTD_PLUGIN_REPO_BRANCH=alpha +export BEAMOS_NETCONNECTD_PLUGIN_REPO_BUILD=git@github.com-mrb3-connect-plugin:mrbeam/mrb3-connect-plugin.git ## Dependencies -export BEAMOS_IOBEAM_REPO_BRANCH=feature/SW-1522-iobeam-to-python-3.10.x-in-githu -export BEAMOS_MRBHWINFO_REPO_BRANCH=SW-1677 -export BEAMOS_MRBEAMLED_REPO_BRANCH=SW-1677 -export BEAMOS_NETCONNECTD_REPO_BRANCH=v1.0.0 -export BEAMOS_MRBEAMPLUGIN_DOCS_REPO_BRANCH=v1.0.0 +export BEAMOS_IOBEAM_REPO_BRANCH=feature/SW-1522-iobeam-to-python-3.10.x-in-githu #TODO will be HAL +export BEAMOS_IOBEAM_REPO_BUILD=git+ssh://git@bitbucket.org/mrbeam/iobeam.git +export BEAMOS_MRBHWINFO_REPO_BRANCH=SW-1677 #TODO will be HAL +export BEAMOS_MRBHWINFO_REPO_BUILD=git+ssh://git@bitbucket.org/mrbeam/mrb_hw_info.git +export BEAMOS_MRBEAMLED_REPO_BRANCH=SW-1677 #TODO will be HAL +export BEAMOS_MRBEAMLED_REPO_BUILD=https://github.com/mrbeam/MrBeamLedStrips.git +export BEAMOS_NETCONNECTD_REPO_BRANCH=alpha +export BEAMOS_NETCONNECTD_REPO_BUILD=git@github.com-mrb3-connect-daemon:mrbeam/mrb3-connect-daemon.git +export BEAMOS_MRBEAMPLUGIN_DOCS_REPO_BRANCH=alpha +export BEAMOS_NETCONNECTD_REPO_BUILD=git@github.com-mrb3-doc:mrbeam/mrb3-doc.git ## BeamOS-dependencies export BEAMOS_MOUNTMANAGER_REPO_BRANCH=mrbeam2-stable export BEAMOS_SHIELDFLASHER_REPO_BRANCH=master @@ -24,7 +31,3 @@ export BEAMOS_RPI_WS281X_REPO_BRANCH=master export BEAMOS_CHECK_REPO_BRANCH=beamos export BEAMOS_NETCONNECTD_WIFI_REPO_BRANCH=master -export BEAMOS_IOBEAM_REPO_BUILD=git+ssh://git@bitbucket.org/mrbeam/iobeam.git -export BEAMOS_MRBHWINFO_REPO_BUILD=git+ssh://git@bitbucket.org/mrbeam/mrb_hw_info.git -export BEAMOS_MRBEAMLED_REPO_BUILD=https://github.com/mrbeam/MrBeamLedStrips.git -export BEAMOS_NETCONNECTD_REPO_BUILD=https://github.com/mrbeam/netconnectd_mrbeam.git \ No newline at end of file From 8f93831bd665817346185d58f2816636bf7347b8 Mon Sep 17 00:00:00 2001 From: Josef-MrBeam Date: Thu, 20 Oct 2022 09:28:02 +0200 Subject: [PATCH 37/37] fix doc repo --- src/variants/beamos/config.mrb3 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/variants/beamos/config.mrb3 b/src/variants/beamos/config.mrb3 index 40efdca9..c648c228 100644 --- a/src/variants/beamos/config.mrb3 +++ b/src/variants/beamos/config.mrb3 @@ -23,7 +23,7 @@ export BEAMOS_MRBEAMLED_REPO_BUILD=https://github.com/mrbeam/MrBeamLedStrips.git export BEAMOS_NETCONNECTD_REPO_BRANCH=alpha export BEAMOS_NETCONNECTD_REPO_BUILD=git@github.com-mrb3-connect-daemon:mrbeam/mrb3-connect-daemon.git export BEAMOS_MRBEAMPLUGIN_DOCS_REPO_BRANCH=alpha -export BEAMOS_NETCONNECTD_REPO_BUILD=git@github.com-mrb3-doc:mrbeam/mrb3-doc.git +export BEAMOS_MRBEAMPLUGIN_DOCS_REPO_BUILD=git@github.com-mrb3-doc:mrbeam/mrb3-doc.git ## BeamOS-dependencies export BEAMOS_MOUNTMANAGER_REPO_BRANCH=mrbeam2-stable export BEAMOS_SHIELDFLASHER_REPO_BRANCH=master