From 2d378b4854ad79fc83cd1d693e3358826c75a4e8 Mon Sep 17 00:00:00 2001 From: Fabio Belavenuto Date: Fri, 15 Jul 2022 21:59:56 -0300 Subject: [PATCH] Adding modules update menu option --- files/board/arpl/make-img.sh | 2 +- files/board/arpl/overlayfs/opt/arpl/menu.sh | 65 ++++++++++++--------- 2 files changed, 40 insertions(+), 27 deletions(-) diff --git a/files/board/arpl/make-img.sh b/files/board/arpl/make-img.sh index 95dc2a1f..ca600c65 100755 --- a/files/board/arpl/make-img.sh +++ b/files/board/arpl/make-img.sh @@ -15,7 +15,7 @@ BOARD_PATH="${CONFIG_DIR}/board/arpl" echo "Creating image file" # Create image zeroed -dd if="/dev/zero" of="${IMAGE_FILE}" bs=1M count=350 conv=sync 2>/dev/null +dd if="/dev/zero" of="${IMAGE_FILE}" bs=1M count=300 conv=sync 2>/dev/null # Copy grub stage1 to image dd if="${BOARD_PATH}/grub.bin" of="${IMAGE_FILE}" conv=notrunc,sync 2>/dev/null # Create partitions on image diff --git a/files/board/arpl/overlayfs/opt/arpl/menu.sh b/files/board/arpl/overlayfs/opt/arpl/menu.sh index f93df4a6..f72fef66 100755 --- a/files/board/arpl/overlayfs/opt/arpl/menu.sh +++ b/files/board/arpl/overlayfs/opt/arpl/menu.sh @@ -687,7 +687,8 @@ function updateMenu() { dialog --backtitle "`backtitle`" --menu "Choose a option" 0 0 0 \ a "Update arpl" \ d "Update addons" \ - l "Update Modules/LKMs" \ + l "Update LKMs" \ + m "Update modules" \ e "Exit" \ 2>${TMP_PATH}/resp [ $? -ne 0 ] && return @@ -768,20 +769,7 @@ function updateMenu() { ;; l) - unset PLATFORMS - declare -A PLATFORMS - while read M; do - M="`basename ${M}`" - MODEL="${M::-4}" - PLATFORM=`readModelKey "${MODEL}" "platform"` - ITEMS="`readConfigEntriesArray "builds" "${MODEL_CONFIG_PATH}/${MODEL}.yml"`" - for BUILD in ${ITEMS}; do - KVER=`readModelKey "${MODEL}" "builds.${BUILD}.kver"` - PLATFORMS["${PLATFORM}-${KVER}"]="" - done - done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort) - - dialog --backtitle "`backtitle`" --title "Update Modules/LKMs" --aspect 18 \ + dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \ --infobox "Checking last version" 0 0 TAG=`curl --insecure -s https://api.github.com/repos/fbelavenuto/redpill-lkm/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` if [ $? -ne 0 -o -z "${TAG}" ]; then @@ -789,32 +777,57 @@ function updateMenu() { --msgbox "Error checking new version" 0 0 continue fi - dialog --backtitle "`backtitle`" --title "Update Modules/LKMs" --aspect 18 \ + dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \ --infobox "Downloading last version" 0 0 curl --insecure -s -L "https://github.com/fbelavenuto/redpill-lkm/releases/download/${TAG}/rp-lkms.zip" -o /tmp/rp-lkms.zip if [ $? -ne 0 ]; then - dialog --backtitle "`backtitle`" --title "Update Modules/LKMs" --aspect 18 \ + dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \ --msgbox "Error downloading last version" 0 0 continue fi + dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \ + --infobox "Extracting last version" 0 0 + rm -rf "${LKM_PATH}/"* + unzip /tmp/rp-lkms.zip -d "${LKM_PATH}" >/dev/null 2>&1 + dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \ + --msgbox "LKMs updated with success!" 0 0 + ;; + m) + unset PLATFORMS + declare -A PLATFORMS + while read M; do + M="`basename ${M}`" + M="${M::-4}" + P=`readModelKey "${M}" "platform"` + ITEMS="`readConfigEntriesArray "builds" "${MODEL_CONFIG_PATH}/${M}.yml"`" + for B in ${ITEMS}; do + KVER=`readModelKey "${M}" "builds.${B}.kver"` + PLATFORMS["${P}-${KVER}"]="" + done + done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort) + dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \ + --infobox "Checking last version" 0 0 + TAG=`curl --insecure -s https://api.github.com/repos/fbelavenuto/arpl-modules/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` + if [ $? -ne 0 -o -z "${TAG}" ]; then + dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \ + --msgbox "Error checking new version" 0 0 + continue + fi for P in ${!PLATFORMS[@]}; do - curl --insecure -s -L "https://github.com/fbelavenuto/redpill-lkm/releases/download/${TAG}/${P}.tgz" -o "/tmp/${P}.tgz" + dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \ + --infobox "Downloading ${P} modules" 0 0 + curl --insecure -s -L "https://github.com/fbelavenuto/arpl-modules/releases/download/${TAG}/${P}.tgz" -o "/tmp/${P}.tgz" if [ $? -ne 0 ]; then - dialog --backtitle "`backtitle`" --title "Update Modules/LKMs" --aspect 18 \ + dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \ --msgbox "Error downloading ${P}.tgz" 0 0 continue fi rm "${MODULES_PATH}/${P}.tgz" mv "/tmp/${P}.tgz" "${MODULES_PATH}/${P}.tgz" done - dialog --backtitle "`backtitle`" --title "Update Modules/LKMs" --aspect 18 \ - --infobox "Extracting last version" 0 0 - rm -rf "${LKM_PATH}/"* - unzip /tmp/rp-lkms.zip -d "${LKM_PATH}" >/dev/null 2>&1 - dialog --backtitle "`backtitle`" --title "Update Modules/LKMs" --aspect 18 \ - --msgbox "LKMs updated with success!" 0 0 + dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \ + --msgbox "Modules updated with success!" 0 0 ;; - e) return ;; esac done