diff options
author | Alper Nebi Yasak <alpernebiyasak@gmail.com> | 2022-08-27 16:39:47 +0300 |
---|---|---|
committer | Alper Nebi Yasak <alpernebiyasak@gmail.com> | 2022-08-27 17:35:55 +0300 |
commit | cf295741650aaffcb03866ab15a0c7175c3dc882 (patch) | |
tree | 210b0b39a8ab6d230c5d99d34d6baec9c5818b6e /resources/scripts/download | |
parent | ef39e05bb5df505774b42a8739c3e7e57d43dd36 (diff) |
download: Use shallow clones for big projects
Downloading coreboot and U-Boot takes quite the disk space and bandwith.
We don't need to download entire repos, only the revisions that we are
interested in.
Use the --depth=1 option to only download the files we need. Since the
initial clones may not have our target revision, always try to fetch it.
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Diffstat (limited to 'resources/scripts/download')
-rwxr-xr-x | resources/scripts/download/coreboot | 18 | ||||
-rwxr-xr-x | resources/scripts/download/u-boot | 22 |
2 files changed, 20 insertions, 20 deletions
diff --git a/resources/scripts/download/coreboot b/resources/scripts/download/coreboot index 965c00f6..80fff097 100755 --- a/resources/scripts/download/coreboot +++ b/resources/scripts/download/coreboot @@ -152,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 @@ -184,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 diff --git a/resources/scripts/download/u-boot b/resources/scripts/download/u-boot index 2e086337..5fc80868 100755 --- a/resources/scripts/download/u-boot +++ b/resources/scripts/download/u-boot @@ -125,12 +125,12 @@ downloadfor() { if [ ! -d "${uboot_dir}" ]; then printf "Download u-boot from upstream:\n" - git clone https://source.denx.de/u-boot/u-boot.git \ + git clone --depth=1 https://source.denx.de/u-boot/u-boot.git \ "${uboot_dir}" || \ rm -Rf "${uboot_dir}" if [ ! -d "${uboot_dir}" ]; then printf "WARNING: Upstream failed. Trying backup github repository:\n" - git clone https://github.com/u-boot/u-boot.git \ + git clone --depth=1 https://github.com/u-boot/u-boot.git \ "${uboot_dir}" || \ rm -Rf coreboot fi @@ -140,14 +140,14 @@ downloadfor() { "download/u-boot" return 1 fi - else - git -C "${uboot_dir}" pull || touch build_error - if [ -f build_error ]; then - printf \ - "ERROR: %s: Problem with git-pull. Network issue?\n" \ - "download/u-boot" - return 1 - fi + fi + + git -C "${uboot_dir}" fetch --depth=1 origin "${ubrevision}" || touch build_error + if [ -f build_error ]; then + printf \ + "ERROR: %s: Problem with git-fetch. Network issue?\n" \ + "download/u-boot" + return 1 fi cp -R "${uboot_dir}" "${ubtree}" || touch build_error @@ -167,7 +167,7 @@ downloadfor() { return 1 fi - git -C "${ubtree}" submodule update --init || touch build_error + git -C "${ubtree}" submodule update --init --depth=1 || touch build_error if [ -f build_error ]; then printf "ERROR: %s: Unable to update submodules for tree '%s'\n" \ "${ubtree}" |