| Index: third_party/jinja2/get_jinja2.sh
|
| diff --git a/third_party/jinja2/get_jinja2.sh b/third_party/jinja2/get_jinja2.sh
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..950214653ba1c69356157e7d01ab8550c0e59841
|
| --- /dev/null
|
| +++ b/third_party/jinja2/get_jinja2.sh
|
| @@ -0,0 +1,123 @@
|
| +#!/bin/bash
|
| +# Download and extract Jinja2
|
| +# Homepage:
|
| +# http://jinja.pocoo.org/
|
| +# Installation instructions:
|
| +# http://jinja.pocoo.org/docs/intro/#from-the-tarball-release
|
| +# Download page:
|
| +# https://pypi.python.org/pypi/Jinja2
|
| +PACKAGE='Jinja2'
|
| +VERSION='2.7.1'
|
| +PACKAGE_DIR='jinja2'
|
| +
|
| +CHROMIUM_FILES="README.chromium OWNERS get_jinja2.sh"
|
| +EXTRA_FILES='LICENSE AUTHORS'
|
| +REMOVE_FILES='testsuite'
|
| +
|
| +SRC_URL='https://pypi.python.org/packages/source/'
|
| +SRC_URL+="${PACKAGE:0:1}/$PACKAGE/$PACKAGE-$VERSION.tar.gz"
|
| +FILENAME="$(basename $SRC_URL)"
|
| +MD5_FILENAME="$FILENAME.md5"
|
| +SHA512_FILENAME="$FILENAME.sha512"
|
| +CHROMIUM_FILES+=" $MD5_FILENAME $SHA512_FILENAME"
|
| +
|
| +BUILD_DIR="$PACKAGE-$VERSION"
|
| +THIRD_PARTY="$(dirname $(realpath $(dirname "${BASH_SOURCE[0]}")))"
|
| +INSTALL_DIR="$THIRD_PARTY/$PACKAGE_DIR"
|
| +OUT_DIR="$INSTALL_DIR/$BUILD_DIR/$PACKAGE_DIR"
|
| +OLD_DIR="$THIRD_PARTY/$PACKAGE_DIR.old"
|
| +
|
| +function check_hashes {
|
| + # Hashes generated via:
|
| + # FILENAME=Jinja2-2.7.1.tar.gz
|
| + # md5sum "$FILENAME" > "$FILENAME.md5"
|
| + # sha512sum "$FILENAME" > "$FILENAME.sha512"
|
| + # unset FILENAME
|
| +
|
| + # MD5
|
| + if ! [ -f "$MD5_FILENAME" ]
|
| + then
|
| + echo "MD5 hash file $MD5_FILENAME not found, could not verify archive"
|
| + exit 1
|
| + fi
|
| +
|
| + # 32-digit hash, followed by filename
|
| + MD5_HASHFILE_REGEX="^[0-9a-f]{32} $FILENAME"
|
| + if ! grep --extended-regex --line-regex --silent \
|
| + "$MD5_HASHFILE_REGEX" "$MD5_FILENAME"
|
| + then
|
| + echo "MD5 hash file $MD5_FILENAME does not contain hash for $FILENAME," \
|
| + 'could not verify archive'
|
| + echo 'Hash file contents are:'
|
| + cat "$MD5_FILENAME"
|
| + exit 1
|
| + fi
|
| +
|
| + if ! md5sum --check "$MD5_FILENAME"
|
| + then
|
| + echo 'MD5 hash does not match,' \
|
| + "archive file $FILENAME corrupt or compromised!"
|
| + exit 1
|
| + fi
|
| +
|
| + # SHA-512
|
| + if ! [ -f "$SHA512_FILENAME" ]
|
| + then
|
| + echo "SHA-512 hash file $SHA512_FILENAME not found," \
|
| + 'could not verify archive'
|
| + exit 1
|
| + fi
|
| +
|
| + # 128-digit hash, followed by filename
|
| + SHA512_HASHFILE_REGEX="^[0-9a-f]{128} $FILENAME"
|
| + if ! grep --extended-regex --line-regex --silent \
|
| + "$SHA512_HASHFILE_REGEX" "$SHA512_FILENAME"
|
| + then
|
| + echo "SHA-512 hash file $SHA512_FILENAME does not contain hash for" \
|
| + "$FILENAME, could not verify archive"
|
| + echo 'Hash file contents are:'
|
| + cat "$SHA512_FILENAME"
|
| + exit 1
|
| + fi
|
| +
|
| + if ! sha512sum --check "$SHA512_FILENAME"
|
| + then
|
| + echo 'SHA-512 hash does not match,' \
|
| + "archive file $FILENAME corrupt or compromised!"
|
| + exit 1
|
| + fi
|
| +}
|
| +
|
| +
|
| +################################################################################
|
| +# Body
|
| +
|
| +cd "$INSTALL_DIR"
|
| +echo "Downloading $SRC_URL"
|
| +curl --remote-name "$SRC_URL"
|
| +check_hashes
|
| +tar xvzf "$FILENAME"
|
| +# Copy extra files over
|
| +for FILE in $CHROMIUM_FILES
|
| +do
|
| + cp "$FILE" "$OUT_DIR"
|
| +done
|
| +
|
| +cd "$BUILD_DIR"
|
| +for FILE in $EXTRA_FILES
|
| +do
|
| + cp "$FILE" "$OUT_DIR"
|
| +done
|
| +
|
| +cd "$OUT_DIR"
|
| +for FILE in $REMOVE_FILES
|
| +do
|
| + rm -fr "$FILE"
|
| +done
|
| +
|
| +# Replace with new directory
|
| +cd ..
|
| +mv "$INSTALL_DIR" "$OLD_DIR"
|
| +mv "$PACKAGE_DIR" "$INSTALL_DIR"
|
| +cd "$INSTALL_DIR"
|
| +rm -fr "$OLD_DIR"
|
|
|