[coreboot-gerrit] Patch set updated for coreboot: 2bbc0e9 crossgcc: Re-download the archive if it is incomplete
Zheng Bao (zheng.bao@amd.com)
gerrit at coreboot.org
Fri Dec 13 05:57:10 CET 2013
Zheng Bao (zheng.bao at amd.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4511
-gerrit
commit 2bbc0e96d48c921faf98ddb8c591507d1862dacc
Author: Zheng Bao <fishbaozi at gmail.com>
Date: Fri Dec 13 12:33:45 2013 +0800
crossgcc: Re-download the archive if it is incomplete
If the buildgcc is interrupt by Ctrl-C, probably part of
an archive is downloaded. If we run buildgcc again, the
incomplete archive would be considered as cached file
and skipped.
We check file hashes to see if the file is complete. If test
is failed, we need to delete the partially-downloaded file
and download it again.
sha1sum is quite different among the distributions.
Only Linux, Cygwin, Darwin have been tested.
Discuss: Do we need to use option -c of wget to continue
downloading?
Change-Id: Ibb1aa25a0374f774e1e643fe5e698de7bf7cc418
Signed-off-by: Zheng Bao <zheng.bao at amd.com>
Signed-off-by: Zheng Bao <fishbaozi at gmail.com>
---
util/crossgcc/buildgcc | 40 +++++++++++++++++++++-
.../crossgcc/sum/acpica-unix-20130626.tar.gz.cksum | 1 +
util/crossgcc/sum/binutils-2.23.2.tar.bz2.cksum | 1 +
util/crossgcc/sum/gcc-4.7.3.tar.bz2.cksum | 1 +
util/crossgcc/sum/gmp-5.1.2.tar.bz2.cksum | 1 +
util/crossgcc/sum/libelf-0.8.13.tar.gz.cksum | 1 +
util/crossgcc/sum/mpc-1.0.1.tar.gz.cksum | 1 +
util/crossgcc/sum/mpfr-3.1.2.tar.bz2.cksum | 1 +
8 files changed, 46 insertions(+), 1 deletion(-)
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index 5d7ac6f..340ebdf 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -114,6 +114,26 @@ searchgnu()
fi
fi
fi
+ if [ "`echo $1 | cut -b -3`" = "sha" ]; then
+ if [ $UNAME = "FreeBSD" ]; then
+ if test -x "`which shasum 2>/dev/null`"; then
+ echo shasum -a `echo $1 | sed -e 's,sha,,' -e 's,sum,,'`
+ return
+ fi
+ fi
+ if [ $UNAME = "NetBSD" ]; then
+ if test -x "`which cksum 2>/dev/null`"; then
+ echo cksum -a `echo $1 | sed -e 's,sum,,'`
+ return
+ fi
+ fi
+ if [ $UNAME = "Darwin" ]; then
+ if test -x "`which openssl 2>/dev/null`"; then
+ echo openssl `echo $1 | sed -e 's,sum,,'`
+ return
+ fi
+ fi
+ fi
printf "${RED}ERROR:${red} Missing toolchain: $1${NC}\n" >&2
exit 1
}
@@ -121,6 +141,9 @@ searchgnu()
TAR=`searchgnu tar` || exit $?
PATCH=`searchgnu patch` || exit $?
MAKE=`searchgnu make` || exit $?
+SHA1SUM=`searchgnu sha1sum`
+SHA512SUM=`searchgnu sha512sum`
+CHECKSUM=$SHA1SUM
searchgnu m4 > /dev/null
searchgnu bison > /dev/null
@@ -266,10 +289,25 @@ for ARCHIVE in $GMP_ARCHIVE $MPFR_ARCHIVE $MPC_ARCHIVE $LIBELF_ARCHIVE \
$IASL_ARCHIVE $PYTHON_ARCHIVE $EXPAT_ARCHIVE; do
FILE=`basename $ARCHIVE`
printf " * $FILE "
- test -f tarballs/$FILE && printf "(cached)" || (
+
+ ##create the sum
+ #test -f sum/$FILE.cksum || (
+ # $CHECKSUM tarballs/$FILE > sum/$FILE.cksum
+ # continue
+ #)
+
+ test -f tarballs/$FILE && \
+ (test -z "$CHECKSUM" || \
+ test "`cat sum/$FILE.cksum 2>/dev/null | sed -e 's,.*\([0-9a-f]\{40\}\).*,\1,'`" = "`$CHECKSUM tarballs/$FILE 2>/dev/null | sed -e 's,.*\([0-9a-f]\{40\}\).*,\1,'`" ) && \
+ printf "(cached)" || (
printf "(downloading)"
+ rm -f tarballs/$FILE
cd tarballs
wget --no-check-certificate -q $ARCHIVE
+ cd ..
+ test ! -f sum/$FILE.cksum && test -f tarballs/$FILE && \
+ (test -z "$CHECKSUM" || $CHECKSUM tarballs/$FILE > sum/$FILE.cksum ) && \
+ printf "(checksum created. ${RED}Note. Please upload sum/$FILE.cksum if the corresponding archive is upgraded.${NC})"
)
test -f tarballs/$FILE || \
printf "\n${RED}Failed to download $FILE.${NC}\n"
diff --git a/util/crossgcc/sum/acpica-unix-20130626.tar.gz.cksum b/util/crossgcc/sum/acpica-unix-20130626.tar.gz.cksum
new file mode 100644
index 0000000..51f1906
--- /dev/null
+++ b/util/crossgcc/sum/acpica-unix-20130626.tar.gz.cksum
@@ -0,0 +1 @@
+dbfe0ca8c8f24795dbffc50f0c9f8cc3c69a11fa tarballs/acpica-unix-20130626.tar.gz
diff --git a/util/crossgcc/sum/binutils-2.23.2.tar.bz2.cksum b/util/crossgcc/sum/binutils-2.23.2.tar.bz2.cksum
new file mode 100644
index 0000000..81751b5
--- /dev/null
+++ b/util/crossgcc/sum/binutils-2.23.2.tar.bz2.cksum
@@ -0,0 +1 @@
+042c51073205ebaf88c272d6168f9deb71984b56 tarballs/binutils-2.23.2.tar.bz2
diff --git a/util/crossgcc/sum/gcc-4.7.3.tar.bz2.cksum b/util/crossgcc/sum/gcc-4.7.3.tar.bz2.cksum
new file mode 100644
index 0000000..6ee3519
--- /dev/null
+++ b/util/crossgcc/sum/gcc-4.7.3.tar.bz2.cksum
@@ -0,0 +1 @@
+69e02737bd6e1a7c6047d801600d39c32b9427ca tarballs/gcc-4.7.3.tar.bz2
diff --git a/util/crossgcc/sum/gmp-5.1.2.tar.bz2.cksum b/util/crossgcc/sum/gmp-5.1.2.tar.bz2.cksum
new file mode 100644
index 0000000..540e284
--- /dev/null
+++ b/util/crossgcc/sum/gmp-5.1.2.tar.bz2.cksum
@@ -0,0 +1 @@
+2cb498322b9be4713829d94dee944259c017d615 tarballs/gmp-5.1.2.tar.bz2
diff --git a/util/crossgcc/sum/libelf-0.8.13.tar.gz.cksum b/util/crossgcc/sum/libelf-0.8.13.tar.gz.cksum
new file mode 100644
index 0000000..daa27c6
--- /dev/null
+++ b/util/crossgcc/sum/libelf-0.8.13.tar.gz.cksum
@@ -0,0 +1 @@
+c1d6ac5f182d19dd685c4dfd74eedbfe3992425d tarballs/libelf-0.8.13.tar.gz
diff --git a/util/crossgcc/sum/mpc-1.0.1.tar.gz.cksum b/util/crossgcc/sum/mpc-1.0.1.tar.gz.cksum
new file mode 100644
index 0000000..6240238
--- /dev/null
+++ b/util/crossgcc/sum/mpc-1.0.1.tar.gz.cksum
@@ -0,0 +1 @@
+8c7e19ad0dd9b3b5cc652273403423d6cf0c5edf tarballs/mpc-1.0.1.tar.gz
diff --git a/util/crossgcc/sum/mpfr-3.1.2.tar.bz2.cksum b/util/crossgcc/sum/mpfr-3.1.2.tar.bz2.cksum
new file mode 100644
index 0000000..d62e243
--- /dev/null
+++ b/util/crossgcc/sum/mpfr-3.1.2.tar.bz2.cksum
@@ -0,0 +1 @@
+46d5a11a59a4e31f74f73dd70c5d57a59de2d0b4 tarballs/mpfr-3.1.2.tar.bz2
More information about the coreboot-gerrit
mailing list