Skip to content

Commit

Permalink
Adding modules update menu option
Browse files Browse the repository at this point in the history
  • Loading branch information
fbelavenuto committed Jul 16, 2022
1 parent 2269b4b commit 4ee4c14
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 27 deletions.
2 changes: 1 addition & 1 deletion files/board/arpl/make-img.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
65 changes: 39 additions & 26 deletions files/board/arpl/overlayfs/opt/arpl/menu.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -768,53 +769,65 @@ 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
dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \
--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
Expand Down

0 comments on commit 4ee4c14

Please sign in to comment.