Merge #10276: contrib/verifybinaries: allow filtering by platform
8d4dafd
contrib/verifybinaries: allow filtering by platform (Andres G. Aragoneses)
Tree-SHA512: 5c117d18fd6e73cdbbf39c610f521bccb32ca7100eb8d5d5ed9c664514c37b32bd2f94f357b64c34f7c093e0c09312ecff330b7f5c708700d4b48643780ebac5
This commit is contained in:
commit
b750b33c3c
2 changed files with 47 additions and 6 deletions
|
@ -26,6 +26,14 @@ The script returns 0 if everything passes the checks. It returns 1 if either the
|
|||
./verify.sh bitcoin-core-0.13.0-rc3
|
||||
```
|
||||
|
||||
If you only want to download the binaries of certain platform, add the corresponding suffix, e.g.:
|
||||
|
||||
```sh
|
||||
./verify.sh bitcoin-core-0.11.2-osx
|
||||
./verify.sh 0.12.0-linux
|
||||
./verify.sh bitcoin-core-0.13.0-rc3-win64
|
||||
```
|
||||
|
||||
If you do not want to keep the downloaded binaries, specify anything as the second parameter.
|
||||
|
||||
```sh
|
||||
|
|
|
@ -42,13 +42,36 @@ if [ -n "$1" ]; then
|
|||
VERSION="$VERSIONPREFIX$1"
|
||||
fi
|
||||
|
||||
#now let's see if the version string contains "rc", and strip it off if it does
|
||||
# and simultaneously add RCSUBDIR to BASEDIR, where we will look for SIGNATUREFILENAME
|
||||
if [[ $VERSION == *"$RCVERSIONSTRING"* ]]; then
|
||||
BASEDIR="$BASEDIR${VERSION/%-$RCVERSIONSTRING*}/"
|
||||
BASEDIR="$BASEDIR$RCSUBDIR.$RCVERSIONSTRING${VERSION: -1}/"
|
||||
else
|
||||
STRIPPEDLAST="${VERSION%-*}"
|
||||
|
||||
#now let's see if the version string contains "rc" or a platform name (e.g. "osx")
|
||||
if [[ "$STRIPPEDLAST-" == "$VERSIONPREFIX" ]]; then
|
||||
BASEDIR="$BASEDIR$VERSION/"
|
||||
else
|
||||
# let's examine the last part to see if it's rc and/or platform name
|
||||
STRIPPEDNEXTTOLAST="${STRIPPEDLAST%-*}"
|
||||
if [[ "$STRIPPEDNEXTTOLAST-" == "$VERSIONPREFIX" ]]; then
|
||||
|
||||
LASTSUFFIX="${VERSION##*-}"
|
||||
VERSION="$STRIPPEDLAST"
|
||||
|
||||
if [[ $LASTSUFFIX == *"$RCVERSIONSTRING"* ]]; then
|
||||
RCVERSION="$LASTSUFFIX"
|
||||
else
|
||||
PLATFORM="$LASTSUFFIX"
|
||||
fi
|
||||
|
||||
else
|
||||
RCVERSION="${STRIPPEDLAST##*-}"
|
||||
PLATFORM="${VERSION##*-}"
|
||||
|
||||
VERSION="$STRIPPEDNEXTTOLAST"
|
||||
fi
|
||||
|
||||
BASEDIR="$BASEDIR$VERSION/"
|
||||
if [[ $RCVERSION == *"$RCVERSIONSTRING"* ]]; then
|
||||
BASEDIR="$BASEDIR$RCSUBDIR.$RCVERSION/"
|
||||
fi
|
||||
fi
|
||||
|
||||
SIGNATUREFILE="$BASEDIR$SIGNATUREFILENAME"
|
||||
|
@ -92,12 +115,22 @@ if [ $RET -ne 0 ]; then
|
|||
exit "$RET"
|
||||
fi
|
||||
|
||||
if [ -n "$PLATFORM" ]; then
|
||||
grep $PLATFORM $TMPFILE > "$TMPFILE-plat"
|
||||
TMPFILESIZE=$(stat -c%s "$TMPFILE-plat")
|
||||
if [ $TMPFILESIZE -eq 0 ]; then
|
||||
echo "error: no files matched the platform specified" && exit 3
|
||||
fi
|
||||
mv "$TMPFILE-plat" $TMPFILE
|
||||
fi
|
||||
|
||||
#here we extract the filenames from the signature file
|
||||
FILES=$(awk '{print $2}' "$TMPFILE")
|
||||
|
||||
#and download these one by one
|
||||
for file in $FILES
|
||||
do
|
||||
echo "Downloading $file"
|
||||
wget --quiet -N "$BASEDIR$file"
|
||||
done
|
||||
|
||||
|
|
Loading…
Reference in a new issue