summaryrefslogtreecommitdiff
path: root/resources/scripts/download/coreboot
diff options
context:
space:
mode:
Diffstat (limited to 'resources/scripts/download/coreboot')
-rwxr-xr-xresources/scripts/download/coreboot33
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/}"