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>
This commit is contained in:
parent
12dc2140af
commit
ec40eb8633
|
@ -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
|
||||
|
||||
( 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
|
||||
|
|
|
@ -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,15 +140,15 @@ downloadfor() {
|
|||
"download/u-boot"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
git -C "${uboot_dir}" pull || touch build_error
|
||||
fi
|
||||
|
||||
git -C "${uboot_dir}" fetch --depth=1 origin "${ubrevision}" || touch build_error
|
||||
if [ -f build_error ]; then
|
||||
printf \
|
||||
"ERROR: %s: Problem with git-pull. Network issue?\n" \
|
||||
"ERROR: %s: Problem with git-fetch. Network issue?\n" \
|
||||
"download/u-boot"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
cp -R "${uboot_dir}" "${ubtree}" || touch build_error
|
||||
if [ -f build_error ]; then
|
||||
|
@ -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}"
|
||||
|
|
Loading…
Reference in New Issue