Added function to download and check hashes, added hash files

This commit is contained in:
twangboy 2015-12-22 13:08:23 -07:00
parent 7f0b87bfb3
commit 0be53953af
10 changed files with 109 additions and 88 deletions

View file

@ -39,6 +39,7 @@ ulimit -n 1200
SRCDIR=`git rev-parse --show-toplevel`
SCRIPTDIR=`pwd`
SHADIR=$SCRIPTDIR/shasums
PKG_CONFIG_PATH=/opt/salt/lib/pkgconfig
CFLAGS="-I/opt/salt/include"
LDFLAGS="-L/opt/salt/lib"
@ -58,6 +59,42 @@ else
fi
export PATH
############################################################################
# Functions Required for the script
############################################################################
download(){
if [ -z "$1" ]; then
echo "Must pass a URL to the download function"
fi
URL=$1
PKGNAME=${URL##*/}
cd $BUILDDIR
echo "################################################################################"
echo "Retrieving $PKGNAME"
echo "################################################################################"
curl -O# $URL
echo "################################################################################"
echo "Comparing Sha512 Hash"
echo "################################################################################"
FILESHA=($(shasum -a 512 $PKGNAME))
EXPECTEDSHA=($(cat $SHADIR/$PKGNAME.sha512))
if [ "$FILESHA" != "$EXPECTEDSHA" ]; then
echo "ERROR: Sha Check Failed for $PKGNAME"
return 1
fi
echo "################################################################################"
echo "Unpacking $PKGNAME"
echo "################################################################################"
tar -zxvf $PKGNAME
return $?
}
############################################################################
# Ensure Paths are present and clean
############################################################################
@ -78,18 +115,15 @@ BUILDDIR=$SCRIPTDIR/build
echo -n -e "\033]0;Build_Evn: pkg-config\007"
cd $BUILDDIR
PKGURL="http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.tar.gz"
PKGDIR="pkg-config-0.29"
echo "#####################################################################"
echo "Retrieving pkg-config"
echo "#####################################################################"
curl -O# http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.tar.gz
download $PKGURL
echo "#####################################################################"
echo "################################################################################"
echo "Building pkg-config"
echo "#####################################################################"
tar -zxvf pkg-config-0.29.tar.gz
cd pkg-config-0.29
echo "################################################################################"
cd $PKGDIR
env LDFLAGS="-framework CoreFoundation -framework Carbon" ./configure --prefix=/opt/salt --with-internal-glib
$MAKE
$MAKE check
@ -102,18 +136,15 @@ sudo $MAKE install
echo -n -e "\033]0;Build_Evn: libsodium\007"
cd $BUILDDIR
PKGURL="https://download.libsodium.org/libsodium/releases/libsodium-1.0.7.tar.gz"
PKGDIR="libsodium-1.0.7"
echo "#####################################################################"
echo "Retrieving libsodium"
echo "#####################################################################"
curl -O# https://download.libsodium.org/libsodium/releases/libsodium-1.0.7.tar.gz
download $PKGURL
echo "#####################################################################"
echo "################################################################################"
echo "Building libsodium"
echo "#####################################################################"
tar -xvf libsodium-1.0.7.tar.gz
cd libsodium-1.0.7
echo "################################################################################"
cd $PKGDIR
./configure --prefix=/opt/salt
$MAKE
$MAKE check
@ -126,18 +157,15 @@ sudo $MAKE install
echo -n -e "\033]0;Build_Evn: zeromq\007"
cd $BUILDDIR
PKGURL="http://download.zeromq.org/zeromq-4.1.3.tar.gz"
PKGDIR="zeromq-4.1.3"
echo "#####################################################################"
echo "Retrieving zeromq"
echo "#####################################################################"
curl -O# http://download.zeromq.org/zeromq-4.1.3.tar.gz
download $PKGURL
echo "#####################################################################"
echo "################################################################################"
echo "Building zeromq"
echo "#####################################################################"
tar -zxvf zeromq-4.1.3.tar.gz
cd zeromq-4.1.3
echo "################################################################################"
cd $PKGDIR
./configure --prefix=/opt/salt
$MAKE
$MAKE check
@ -150,18 +178,15 @@ sudo $MAKE install
echo -n -e "\033]0;Build_Evn: OpenSSL\007"
cd $BUILDDIR
PKGURL="http://openssl.org/source/openssl-1.0.2e.tar.gz"
PKGDIR="openssl-1.0.2e"
echo "#####################################################################"
echo "Retrieving OpenSSL 1.0.2e"
echo "#####################################################################"
curl -O# http://openssl.org/source/openssl-1.0.2e.tar.gz
download $PKGURL
echo "#####################################################################"
echo "################################################################################"
echo "Building OpenSSL 1.0.2e"
echo "#####################################################################"
tar -zxvf openssl-1.0.2e.tar.gz
cd openssl-1.0.2e
echo "################################################################################"
cd $PKGDIR
./Configure darwin64-x86_64-cc --prefix=/opt/salt --openssldir=/opt/salt/openssl
$MAKE
$MAKE test
@ -174,18 +199,15 @@ sudo $MAKE install
echo -n -e "\033]0;Build_Evn: GDBM\007"
cd $BUILDDIR
PKGURL="ftp://ftp.gnu.org/gnu/gdbm/gdbm-1.11.tar.gz"
PKGDIR="gdbm-1.11"
echo "#####################################################################"
echo "Retrieving gdbm 1.11"
echo "#####################################################################"
curl -O# ftp://ftp.gnu.org/gnu/gdbm/gdbm-1.11.tar.gz
download $PKGURL
echo "#####################################################################"
echo "################################################################################"
echo "Building gdbm 1.11"
echo "#####################################################################"
tar -zxvf gdbm-1.11.tar.gz
cd gdbm-1.11
echo "################################################################################"
cd $PKGDIR
./configure --prefix=/opt/salt --enable-libgdbm-compat
$MAKE
$MAKE check
@ -198,18 +220,17 @@ sudo $MAKE install
echo -n -e "\033]0;Build_Evn: Gnu Readline\007"
cd $BUILDDIR
PKGURL="ftp://ftp.cwru.edu/pub/bash/readline-6.3.tar.gz"
PKGDIR="readline-6.3"
download $PKGURL
echo "#####################################################################"
echo "Retrieving GNU Readline"
echo "#####################################################################"
curl -O# ftp://ftp.cwru.edu/pub/bash/readline-6.3.tar.gz
echo "#####################################################################"
echo "################################################################################"
echo "Building GNU Readline 6.3"
echo "#####################################################################"
tar -zxvf readline-6.3.tar.gz
cd readline-6.3
echo "################################################################################"
cd $PKGDIR
./configure --prefix=/opt/salt
$MAKE
sudo $MAKE install
@ -221,19 +242,16 @@ sudo $MAKE install
echo -n -e "\033]0;Build_Evn: Python\007"
cd $BUILDDIR
PKGURL="https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz"
PKGDIR="Python-2.7.11"
echo "#####################################################################"
echo "Retrieving Python 2.7.11"
echo "#####################################################################"
curl -O# https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz
download $PKGURL
echo "#####################################################################"
echo "################################################################################"
echo "Building Python 2.7.11"
echo "#####################################################################"
echo "################################################################################"
echo "Note there are some test failures"
tar -zxvf Python-2.7.11.tar.xz
cd Python-2.7.11
cd $PKGDIR
./configure --prefix=/opt/salt --enable-shared --enable-toolbox-glue --with-ensurepip=install
$MAKE
# $MAKE test
@ -246,18 +264,15 @@ sudo $MAKE install
echo -n -e "\033]0;Build_Evn: CMake\007"
cd $BUILDDIR
PKGURL="https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz"
PKGDIR="cmake-3.4.1"
echo "#####################################################################"
echo "Retrieving CMake 3.4.1"
echo "#####################################################################"
curl -O# https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz
download $PKGURL
echo "#####################################################################"
echo "################################################################################"
echo "Building CMake 3.4.1"
echo "#####################################################################"
tar -zxvf cmake-3.4.1.tar.gz
cd cmake-3.4.1
echo "################################################################################"
cd $PKGDIR
./bootstrap
$MAKE
sudo $MAKE install
@ -269,18 +284,15 @@ sudo $MAKE install
echo -n -e "\033]0;Build_Evn: libgit2\007"
cd $BUILDDIR
PKGURL="https://codeload.github.com/libgit2/libgit2/tar.gz/v0.23.4"
PKGDIR="libgit2-0.23.4"
echo "#####################################################################"
echo "Retrieving libgit2 0.23.4"
echo "#####################################################################"
curl -O# https://codeload.github.com/libgit2/libgit2/tar.gz/v0.23.4
download $PKGURL
echo "#####################################################################"
echo "################################################################################"
echo "Building libgit2 0.23.4"
echo "#####################################################################"
tar -zxvf v0.23.4
cd libgit2-0.23.4
echo "################################################################################"
cd $PKGDIR
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/salt
sudo cmake --build . --target install
@ -294,31 +306,31 @@ echo -n -e "\033]0;Build_Evn: PIP Dependencies\007"
cd $BUILDDIR
echo "#####################################################################"
echo "################################################################################"
echo "Installing Salt Dependencies with pip (normal)"
echo "#####################################################################"
echo "################################################################################"
sudo -H /opt/salt/bin/pip install \
-r $SRCDIR/pkg/osx/req.txt \
--no-cache-dir
echo "#####################################################################"
echo "################################################################################"
echo "Installing Salt Dependencies with pip (build_ext)"
echo "#####################################################################"
echo "################################################################################"
sudo -H /opt/salt/bin/pip install \
-r $SRCDIR/pkg/osx/req_ext.txt \
--global-option=build_ext \
--global-option="-I/opt/salt/include" \
--no-cache-dir
echo "---------------------------------------------------------------------"
echo "--------------------------------------------------------------------------------"
echo "Create Symlink to certifi for openssl"
echo "---------------------------------------------------------------------"
echo "--------------------------------------------------------------------------------"
ln -s /opt/salt/lib/python2.7/site-packages/certifi/cacert.pem /opt/salt/openssl/cert.pem
echo -n -e "\033]0;Build_Evn: Finished\007"
cd $BUILDDIR
echo "#####################################################################"
echo "################################################################################"
echo "Build Environment Script Completed"
echo "#####################################################################"
echo "################################################################################"

View file

@ -0,0 +1 @@
72166763a2fe6aab45ecf378f55a1efc7322d1742c4638bae84f4ed4b9fb4c01f2a0293733c64426ae2c70df24d95ff2b1e2a4f3c2715de00d8f320d4d939ea0 Python-2.7.11.tar.xz

View file

@ -0,0 +1 @@
072bbfc3ffe3a838945ce6e7c4bbce267362673c3b870886accdc5a5ee01dbd071604fca6aa519d077676423d37bfe987b71f22f14a194f8d6ec8fb9de0a6049 ./cmake-3.4.1.tar.gz

View file

@ -0,0 +1 @@
272fb65ab9ca0a21e9f0dcfb2c638457e87cbb938c65ee850123474d11f2858496f84d3fa9edca27cd91c7220160cfdb59f90bd46ddc45395514addc9fd4151c ./gdbm-1.11.tar.gz

View file

@ -0,0 +1 @@
21a2991010bc4e6e03d42c6df5443049c99f7622dc68a7bdc3d6d082621a165faab32612280526509d310ad1faefc00aa21c594a384a7fa8b05f4666e82e5e1d ./libsodium-1.0.7.tar.gz

View file

@ -0,0 +1 @@
b73f114a117ccab284cf5891dac050e3016d28e0b1fc71639442cdb42accef676115af90a12deff4bcc1f599cc0cbdeb38142cbf4570bd7d03634786ad32c95f ./openssl-1.0.2e.tar.gz

View file

@ -0,0 +1 @@
c2857cd67801c0db5d204912453ff6bdc7da3ea61f8b1c6b38983d48dffb958725e7723f909abbc057c7b34a85c27290eec6943808312a75909306076064aa63 ./pkg-config-0.29.tar.gz

View file

@ -0,0 +1 @@
f70efaf46d570b85c7637172b0ee2eb9a4aa73ba38a62bb45075e665929d9701b96fba0aea6c767fd9a2a0d39dfe8e70ab06da08f8524aee76a7c502f370a401 ./readline-6.3.tar.gz

View file

@ -0,0 +1 @@
f2f6244dfee4dab2dc5ef9607808404467a1f6baa684aa4e24b7116e7e7f63f396eef3282c1bcffbef47f19824731c2887deadbe3b2dad8a075b0639e5965d9e ./v0.23.4

View file

@ -0,0 +1 @@
2c993d18ea44e1cba890e024176af65b85b842ca4f8a22d319be4ace8388ab8828dd706b065f02754025bf271b1d7aa878c3f6655878248f7826452cb2a6134c ./zeromq-4.1.3.tar.gz