From f45347cefdade8b80d183f30cff25b8691abf365 Mon Sep 17 00:00:00 2001 From: Romain Hunault Date: Thu, 25 Apr 2019 16:15:12 +0200 Subject: [PATCH 1/3] blue-red-green order --- lock-cable.sh | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/lock-cable.sh b/lock-cable.sh index 6e77564..11627fe 100755 --- a/lock-cable.sh +++ b/lock-cable.sh @@ -37,19 +37,23 @@ fi while [ -z ${CABLE} ] do - if [ ! -f ${CABLES_LOCKED_FOLDER}/blue.lock ] - then - CABLE=blue - elif [ ! -f ${CABLES_LOCKED_FOLDER}/red.lock ] + sleep 1 + + if [ -f ${CABLES_LOCKED_FOLDER}/blue.lock ] && [ -f ${CABLES_LOCKED_FOLDER}/red.lock ] && [ -f ${CABLES_LOCKED_FOLDER}/green.lock ] then - CABLE=red - elif [ ! -f ${CABLES_LOCKED_FOLDER}/green.lock ] + continue + fi + + CABLE=blue + + if [ -f ${CABLES_LOCKED_FOLDER}/red.lock ] && [ ! -f ${CABLES_LOCKED_FOLDER}/green.lock ] then CABLE=green + elif [ -f ${CABLES_LOCKED_FOLDER}/blue.lock ] && [ ! -f ${CABLES_LOCKED_FOLDER}/red.lock ] + then + CABLE=red fi - sleep 1 - done echo ${CABLE} -- GitLab From 0a2348747a62ba0c546566beb4e9dd3abdf84c65 Mon Sep 17 00:00:00 2001 From: Romain Hunault Date: Thu, 25 Apr 2019 17:44:18 +0200 Subject: [PATCH 2/3] Check downloaded files --- get-e.sh | 24 +++++++++++++++++++++++- get-twrp.sh | 25 +++++++++++++++++++++++-- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/get-e.sh b/get-e.sh index ee71e96..6cbf46b 100755 --- a/get-e.sh +++ b/get-e.sh @@ -30,6 +30,7 @@ # - 7 : Protocol errors (see wget exit status here: https://www.gnu.org/software/wget/manual/html_node/Exit-Status.html) # - 8 : Server issued an error response (see wget exit status here: https://www.gnu.org/software/wget/manual/html_node/Exit-Status.html) # - 10: No internet connection +# - 11: Invalid file downloaded # - 101 : E_ARCHIVE_URL missing # - 102 : E_FOLDER missing @@ -51,4 +52,25 @@ then exit 102 fi -wget -P ${E_FOLDER} -N ${E_ARCHIVE_URL} +mkdir -p ${E_FOLDER} +FILENAME=$(basename ${E_ARCHIVE_URL}) +wget -O ${E_FOLDER}/${FILENAME}.sha256sum ${E_ARCHIVE_URL}.sha256sum +E_FOLDER_ESCAPED=$(echo ${E_FOLDER} | sed 's/\/$//' | sed 's/\//\\\//g') +sed -i 's/\(.*\) \(.*\)/\1 '${E_FOLDER_ESCAPED}'\/\2/' ${E_FOLDER}/${FILENAME}.sha256sum + +sha256sum -c ${E_FOLDER}/${FILENAME}.sha256sum +SUM_OK=$? +if [ ${SUM_OK} = 0 ] +then + exit 0 +fi + +wget -O ${E_FOLDER}/${FILENAME} ${E_ARCHIVE_URL} + +sha256sum -c ${E_FOLDER}/${FILENAME}.sha256sum +SUM_OK=$? +if [ ${SUM_OK} != 0 ] +then + rm ${FILENAME} + exit 11 +fi diff --git a/get-twrp.sh b/get-twrp.sh index cccfd96..5518dc6 100755 --- a/get-twrp.sh +++ b/get-twrp.sh @@ -30,6 +30,7 @@ # - 7 : Protocol errors (see wget exit status here: https://www.gnu.org/software/wget/manual/html_node/Exit-Status.html) # - 8 : Server issued an error response (see wget exit status here: https://www.gnu.org/software/wget/manual/html_node/Exit-Status.html) # - 10: No internet connection +# - 11: Invalid file downloaded # - 101 : TWRP_IMG_URL missing # - 102 : TWRP_FOLDER missing @@ -51,7 +52,27 @@ then exit 102 fi -if [ ! -f ${TWRP_FOLDER}/$(basename ${TWRP_IMG_URL}) ] +mkdir -p ${TWRP_FOLDER} +FILENAME=$(basename ${TWRP_IMG_URL}) +wget -O ${TWRP_FOLDER}/${FILENAME}.sha256 ${TWRP_IMG_URL}.sha256 +TWRP_FOLDER_ESCAPED=$(echo ${TWRP_FOLDER} | sed 's/\/$//' | sed 's/\//\\\//g') +sed -i 's/\(.*\) \(.*\)/\1 '${TWRP_FOLDER_ESCAPED}'\/\2/' ${TWRP_FOLDER}/${FILENAME}.sha256 + +sha256sum -c ${TWRP_FOLDER}/${FILENAME}.sha256 +SUM_OK=$? + +if [ ${SUM_OK} = 0 ] +then + exit 0 +fi + +wget -O ${TWRP_FOLDER}/${FILENAME} ${TWRP_IMG_URL} --referer='https://dl.twrp.me/BUTTS' + +sha256sum -c ${TWRP_FOLDER}/${FILENAME}.sha256 +SUM_OK=$? + +if [ ${SUM_OK} != 0 ] then - wget -P ${TWRP_FOLDER} ${TWRP_IMG_URL} --referer='https://dl.twrp.me/BUTTS' + rm ${FILENAME} + exit 11 fi -- GitLab From aae50f0f008bc586798dfcc740fb46a4a8ab79d9 Mon Sep 17 00:00:00 2001 From: Romain Hunault Date: Thu, 25 Apr 2019 17:50:58 +0200 Subject: [PATCH 3/3] Fix crash when devices folder is missing --- lock-device.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lock-device.sh b/lock-device.sh index ed4ef32..75cf036 100755 --- a/lock-device.sh +++ b/lock-device.sh @@ -37,4 +37,6 @@ then exit 10 fi +mkdir -p $(dirname ${DEVICE_LOCKED_PATH}) + touch ${DEVICE_LOCKED_PATH} -- GitLab