mirror of https://github.com/OpenIPC/firmware.git
added self update function to sysupgrade
parent
40482fc88b
commit
befd9e4f83
|
@ -1,8 +1,12 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# OpenIPC.org | v.20220722
|
||||
# OpenIPC.org | v.20220726
|
||||
#
|
||||
|
||||
scr_version=1.0.0
|
||||
|
||||
args="$@"
|
||||
|
||||
set -e
|
||||
|
||||
echo_c() {
|
||||
|
@ -106,6 +110,24 @@ free_resources() {
|
|||
sync; echo 3 > /proc/sys/vm/drop_caches
|
||||
}
|
||||
|
||||
self_update() {
|
||||
if echo ${args} | grep "rootfs" || echo ${args} | grep "kernel" > /dev/null 2>&1; then
|
||||
echo "Offline upgrade, skip sysupgrade version check."
|
||||
else
|
||||
echo "Online upgrade, checking sysupgrade version..."
|
||||
curl -s -k -L -o /tmp/sysupgrade "https://raw.githubusercontent.com/cronyx/firmware/master/general/overlay/usr/sbin/sysupgrade"
|
||||
dstv=`grep scr_version /tmp/sysupgrade | cut -f 2 -d '='`
|
||||
if ! [ "${scr_version}" = "${dstv}" ]; then
|
||||
echo "A new version is available, trying to update..."
|
||||
mv /tmp/sysupgrade /usr/sbin/ ; chmod +x /usr/sbin/sysupgrade
|
||||
echo "Done. Try running sysupgrade again."
|
||||
exit 0
|
||||
else
|
||||
echo "Ok, version match."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
create_lock() {
|
||||
[ -f /tmp/sysupgrade.lock ] && echo -e "\e[1;31m\nAnother sysupgrade process is already running!\e[0m\n" && exit 1
|
||||
touch /tmp/sysupgrade.lock
|
||||
|
@ -249,8 +271,8 @@ print_sysinfo
|
|||
echo_c 97 "\nTry '$(basename "$0") --help' for options." && \
|
||||
exit 0
|
||||
|
||||
self_update
|
||||
create_lock
|
||||
|
||||
free_resources
|
||||
[ "$remote_update" -eq 1 ] && download_firmware
|
||||
[ "$update_kernel" -eq 1 ] && do_update_kernel "$kernel_file"
|
||||
|
|
Loading…
Reference in New Issue