| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 #!/bin/bash |  | 
| 2 # Download and extract Jinja2 |  | 
| 3 # Homepage: |  | 
| 4 # http://jinja.pocoo.org/ |  | 
| 5 # Installation instructions: |  | 
| 6 # http://jinja.pocoo.org/docs/intro/#from-the-tarball-release |  | 
| 7 # Download page: |  | 
| 8 # https://pypi.python.org/pypi/Jinja2 |  | 
| 9 PACKAGE='Jinja2' |  | 
| 10 VERSION='2.7.1' |  | 
| 11 PACKAGE_DIR='jinja2' |  | 
| 12 |  | 
| 13 CHROMIUM_FILES="README.chromium OWNERS get_jinja2.sh" |  | 
| 14 EXTRA_FILES='LICENSE AUTHORS' |  | 
| 15 REMOVE_FILES='testsuite' |  | 
| 16 |  | 
| 17 SRC_URL='https://pypi.python.org/packages/source/' |  | 
| 18 SRC_URL+="${PACKAGE:0:1}/$PACKAGE/$PACKAGE-$VERSION.tar.gz" |  | 
| 19 FILENAME="$(basename $SRC_URL)" |  | 
| 20 MD5_FILENAME="$FILENAME.md5" |  | 
| 21 SHA512_FILENAME="$FILENAME.sha512" |  | 
| 22 CHROMIUM_FILES+=" $MD5_FILENAME $SHA512_FILENAME" |  | 
| 23 |  | 
| 24 BUILD_DIR="$PACKAGE-$VERSION" |  | 
| 25 THIRD_PARTY="$(dirname $(realpath $(dirname "${BASH_SOURCE[0]}")))" |  | 
| 26 INSTALL_DIR="$THIRD_PARTY/$PACKAGE_DIR" |  | 
| 27 OUT_DIR="$INSTALL_DIR/$BUILD_DIR/$PACKAGE_DIR" |  | 
| 28 OLD_DIR="$THIRD_PARTY/$PACKAGE_DIR.old" |  | 
| 29 |  | 
| 30 function check_hashes { |  | 
| 31   # Hashes generated via: |  | 
| 32   # FILENAME=Jinja2-2.7.1.tar.gz |  | 
| 33   # md5sum "$FILENAME" > "$FILENAME.md5" |  | 
| 34   # sha512sum "$FILENAME" > "$FILENAME.sha512" |  | 
| 35   # unset FILENAME |  | 
| 36 |  | 
| 37   # MD5 |  | 
| 38   if ! [ -f "$MD5_FILENAME" ] |  | 
| 39   then |  | 
| 40     echo "MD5 hash file $MD5_FILENAME not found, could not verify archive" |  | 
| 41     exit 1 |  | 
| 42   fi |  | 
| 43 |  | 
| 44   # 32-digit hash, followed by filename |  | 
| 45   MD5_HASHFILE_REGEX="^[0-9a-f]{32}  $FILENAME" |  | 
| 46   if ! grep --extended-regex --line-regex --silent \ |  | 
| 47     "$MD5_HASHFILE_REGEX" "$MD5_FILENAME" |  | 
| 48   then |  | 
| 49     echo "MD5 hash file $MD5_FILENAME does not contain hash for $FILENAME," \ |  | 
| 50          'could not verify archive' |  | 
| 51     echo 'Hash file contents are:' |  | 
| 52     cat "$MD5_FILENAME" |  | 
| 53     exit 1 |  | 
| 54   fi |  | 
| 55 |  | 
| 56   if ! md5sum --check "$MD5_FILENAME" |  | 
| 57   then |  | 
| 58     echo 'MD5 hash does not match,' \ |  | 
| 59          "archive file $FILENAME corrupt or compromised!" |  | 
| 60     exit 1 |  | 
| 61   fi |  | 
| 62 |  | 
| 63   # SHA-512 |  | 
| 64   if ! [ -f "$SHA512_FILENAME" ] |  | 
| 65   then |  | 
| 66     echo "SHA-512 hash file $SHA512_FILENAME not found," \ |  | 
| 67          'could not verify archive' |  | 
| 68     exit 1 |  | 
| 69   fi |  | 
| 70 |  | 
| 71   # 128-digit hash, followed by filename |  | 
| 72   SHA512_HASHFILE_REGEX="^[0-9a-f]{128}  $FILENAME" |  | 
| 73   if ! grep --extended-regex --line-regex --silent \ |  | 
| 74     "$SHA512_HASHFILE_REGEX" "$SHA512_FILENAME" |  | 
| 75   then |  | 
| 76     echo "SHA-512 hash file $SHA512_FILENAME does not contain hash for" \ |  | 
| 77          "$FILENAME, could not verify archive" |  | 
| 78     echo 'Hash file contents are:' |  | 
| 79     cat "$SHA512_FILENAME" |  | 
| 80     exit 1 |  | 
| 81   fi |  | 
| 82 |  | 
| 83   if ! sha512sum --check "$SHA512_FILENAME" |  | 
| 84   then |  | 
| 85     echo 'SHA-512 hash does not match,' \ |  | 
| 86          "archive file $FILENAME corrupt or compromised!" |  | 
| 87     exit 1 |  | 
| 88   fi |  | 
| 89 } |  | 
| 90 |  | 
| 91 |  | 
| 92 ################################################################################ |  | 
| 93 # Body |  | 
| 94 |  | 
| 95 cd "$INSTALL_DIR" |  | 
| 96 echo "Downloading $SRC_URL" |  | 
| 97 curl --remote-name "$SRC_URL" |  | 
| 98 check_hashes |  | 
| 99 tar xvzf "$FILENAME" |  | 
| 100 # Copy extra files over |  | 
| 101 for FILE in $CHROMIUM_FILES |  | 
| 102 do |  | 
| 103   cp "$FILE" "$OUT_DIR" |  | 
| 104 done |  | 
| 105 |  | 
| 106 cd "$BUILD_DIR" |  | 
| 107 for FILE in $EXTRA_FILES |  | 
| 108 do |  | 
| 109   cp "$FILE" "$OUT_DIR" |  | 
| 110 done |  | 
| 111 |  | 
| 112 cd "$OUT_DIR" |  | 
| 113 for FILE in $REMOVE_FILES |  | 
| 114 do |  | 
| 115   rm -fr "$FILE" |  | 
| 116 done |  | 
| 117 |  | 
| 118 # Replace with new directory |  | 
| 119 cd .. |  | 
| 120 mv "$INSTALL_DIR" "$OLD_DIR" |  | 
| 121 mv "$PACKAGE_DIR" "$INSTALL_DIR" |  | 
| 122 cd "$INSTALL_DIR" |  | 
| 123 rm -fr "$OLD_DIR" |  | 
| OLD | NEW | 
|---|