X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@lists.alpinelinux.org Received: from jeremythomerson.com (mail.jeremythomerson.com [74.117.189.38]) by lists.alpinelinux.org (Postfix) with ESMTP id 9A2A51EBFFA for ; Sat, 26 Mar 2011 03:30:06 +0000 (UTC) Received: from localhost.localdomain (unknown [208.74.141.112]) by jeremythomerson.com (Postfix) with ESMTP id 6DF701C579; Fri, 25 Mar 2011 22:38:25 -0500 (CDT) From: Jeremy Thomerson To: alpine-devel@lists.alpinelinux.org Cc: Jeremy Thomerson Subject: [alpine-devel] [PATCH] delete remote source files that fail the md5 checksum test Date: Sat, 6 Nov 2010 12:25:06 +0000 Message-Id: <1289046306-8854-1-git-send-email-jeremy@thomersonfamily.com> X-Mailer: git-send-email 1.7.4.1 X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Currently, if the build server downloads a file that fails the md5sum check for some reason (perhaps interrupted download, etc), the file is never deleted so the build can not succeed until someone manually deletes the bad file. This change deletes any file that is a remote source file / package that fails the md5sum check. The subsequent rebuild will then be forced to download the file again. --- abuild.in | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) diff --git a/abuild.in b/abuild.in index ff18c6b..11811ba 100755 --- a/abuild.in +++ b/abuild.in @@ -155,7 +155,7 @@ sanitycheck() { } md5check() { - local dummy f + local dummy f endreturnval originalparams origin file if [ -z "$source" ]; then return 0 fi @@ -167,7 +167,26 @@ md5check() { fi fetch || return 1 msg "Checking md5sums..." - cd "$srcdir" && echo "$md5sums" | md5sum -c + IFS=$'\n' + endreturnval=0 + originalparams=$@ + set -- $source + for src in $md5sums; do + origin=$1; shift + echo "$src" | md5sum -c + if [ $? -ne 0 ]; then + is_remote $origin || continue + echo "Because the remote file above failed the md5sum check it will be deleted." + echo "Rebuilding will cause it to re-download which in some cases may fix the problem." + file=`echo "$src" | sed 's/.*[ \t\n]\(.*\)/\1/'` + echo "Deleting: $file" + rm $file + endreturnval=1 + fi + done + unset IFS + set -- $originalparams + return $endreturnval } # verify upstream sources -- 1.7.4.1 --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---