diff options
Diffstat (limited to 'resources/scripts/download/coreboot')
-rwxr-xr-x | resources/scripts/download/coreboot | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/resources/scripts/download/coreboot b/resources/scripts/download/coreboot index 21fe0781..80fff097 100755 --- a/resources/scripts/download/coreboot +++ b/resources/scripts/download/coreboot @@ -3,6 +3,7 @@ # helper script: download coreboot # # Copyright (C) 2014, 2015, 2016, 2020, 2021 Leah Rowe <info@minifree.org> +# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -64,8 +65,12 @@ fi # set this when you want to modify each coreboot tree # for example, you want to test custom patches # NODELETE= ./download coreboot +deletegit="true" deleteblobs="true" -[ "x${NODELETE+set}" = 'xset' ] && deleteblobs="false" +if [ "x${NODELETE+set}" = 'xset' ]; then + [ "x${NODELETE:-all}" = "xgit" ] && deletegit="false" + [ "x${NODELETE:-all}" = "xall" ] && deleteblobs="false" && deletegit="false" +fi # Error handling is extreme in this script. # This script handles the internet, and Git. Both are inherently unreliable. @@ -147,21 +152,21 @@ downloadfor() { if [ ! -d coreboot ]; then printf "Download coreboot from upstream:\n" - git clone https://review.coreboot.org/coreboot || rm -Rf coreboot + git clone --depth=1 https://review.coreboot.org/coreboot || rm -Rf coreboot if [ ! -d coreboot ]; then printf "WARNING: Upstream failed. Trying backup github repository:\n" - git clone https://github.com/coreboot/coreboot.git || rm -Rf coreboot + git clone --depth=1 https://github.com/coreboot/coreboot.git || rm -Rf coreboot fi if [ ! -d coreboot ]; then printf "ERROR: download/coreboot: Problem with git-clone. Network issue?\n" cd ../; return 1 fi - else - ( cd coreboot/; git pull || touch ../build_error ) - if [ -f ../build_error ]; then - printf "ERROR: download/coreboot: Problem with git-pull. Network issue?\n" - cd ../; return 1 - fi + fi + + ( cd coreboot/; git fetch --depth=1 origin "${cbrevision}" || touch ../build_error ) + if [ -f ../build_error ]; then + printf "ERROR: download/coreboot: Problem with git-fetch. Network issue?\n" + cd ../; return 1 fi cp -R coreboot "${cbtree}" || touch ../build_error @@ -179,7 +184,7 @@ downloadfor() { cd ../../; return 1 fi - git submodule update --init || touch ../../build_error + git submodule update --init --depth=1 || touch ../../build_error if [ -f ../../build_error ]; then printf "ERROR: download/coreboot: Unable to update submodules for tree '%s'\n" "${cbtree}" cd ../../; return 1 @@ -239,9 +244,11 @@ rm -f resources/coreboot/*/seen rm -f "build_error" printf "\n\n" if [ "${deleteblobs}" = "true" ]; then - rm -Rf coreboot/coreboot/ - rm -Rf coreboot/.git* coreboot/*/.git* coreboot/*/3rdparty/*/.git* - rm -Rf coreboot/*/util/nvidia/cbootimage/.git* + if [ "${deletegit}" = "true" ]; then + rm -Rf coreboot/coreboot/ + rm -Rf coreboot/.git* coreboot/*/.git* coreboot/*/3rdparty/*/.git* + rm -Rf coreboot/*/util/nvidia/cbootimage/.git* + fi for cbdir in coreboot/*; do if [ ! -d "${cbdir}" ]; then continue; fi cbtree="${cbdir##coreboot/}" |