Last active
March 15, 2017 14:56
-
-
Save barthy1/55eef4a01f38e8775dc4b3b254bf3558 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# cf-linux bosh release | |
mkdir -p releases | |
sudo add-apt-repository -y ppa:openjdk-r/ppa | |
apt-get update | |
sudo apt-get install -y git zip openjdk-8-jre openjdk-8-jdk ruby unzip | |
wget ftp://ftp.unicamp.br/pub/ppc64el/ubuntu/14_04/cloud-foundry/go-1.7-ppc64le.tar.gz | |
rm -rf /usr/local/go /usr/local/bin/go | |
tar xvfz go-1.7-ppc64le.tar.gz -C /usr/local | |
ln -s /usr/local/go/bin/go /usr/local/bin | |
#gem install bosh_cli | |
cd releases | |
git clone --recursive https://github.com/cloudfoundry/cf-release | |
git clone https://github.com/hashicorp/consul src/github.com/hashicorp/consul | |
#git clone https://github.com/hashicorp/consul src/github.com/hashicorp/consul-template | |
export GOPATH=$PWD | |
export PATH=$PWD/bin:$PATH | |
cd $GOPATH/src/github.com/hashicorp/consul | |
git checkout v0.7.1 | |
env XC_ARCH=ppc64le XC_OS=linux make | |
cd $GOPATH/cf-release | |
git checkout v248 | |
dir=$PWD | |
scripts/update | |
buildpacks="go python nodejs staticfile binary ruby" | |
delete_buildpacks="dotnet-core java java-offline php " | |
#for buildpack in $buildpacks; do | |
# sed -i "s|cloudfoundry/${buildpack}-buildpack-release|barthy1/${buildpack}-buildpack-release|g" .gitmodules | |
#done | |
#git submodule sync | |
#git submodule update --init --recursive | |
#for buildpack ib $buildpacks; do | |
#cd $dir/src/$buildpack-buildpack-release | |
#git checkout ppc64le_buildpack | |
#done | |
echo 'yes' | bosh create release --force --name cf | |
for buildpack in $delete_buildpacks; do | |
rm -rf $dir/jobs/$buildpack-buildpack | |
rm -rf $dir/packages/$buildpack-buildpack | |
rm -rf $dir/blobs/{$buildpack}-buildpack | |
done | |
# openjdk | |
cd $dir/blobs/openjdk | |
wget http://ftp.unicamp.br/pub/ppc64el/ubuntu/14_04/cloud-foundry/openjdk-1.8.0_101-ppc64le-trusty.tar.gz -O java-8-openjdk-ppc64le.tgz | |
cd $dir/src/uaa-release/packages/uaa | |
cat spec; echo -e '- openjdk/java-8-openjdk-ppc64le.tgz' >> spec | |
sed -i 's/openjdk-1.8.0_101-x86_64-trusty.tar.gz/java-8-openjdk-ppc64le.tgz/g' packaging | |
sed -i 's/`uname` = "Linux"/`uname -m` = "ppc64le"/g' pre_packaging | |
sed -i 's/openjdk-1.8.0_101-x86_64-trusty.tar.gz/java-8-openjdk-ppc64le.tgz/g' pre_packaging | |
# golang 1.7 and 1.6.3 | |
cd $dir/blobs/golang | |
wget -O ppc64le-go.tar.gz https://storage.googleapis.com/golang/go1.7.4.linux-ppc64le.tar.gz | |
fname=$(ls go1.7.linux*); dst=$(readlink $fname); rm -f $dst; mv ppc64le-go.tar.gz $fname | |
wget -O ppc64le-go.tar.gz http://ftp.unicamp.br/pub/ppc64el/ubuntu/14_04/cloud-foundry/go-1.6.2-ppc64le.tar.gz | |
fname=$(ls go1.6.3.linux*); dst=$(readlink $fname); rm -f $dst; mv ppc64le-go.tar.gz $fname | |
#cf | |
cd $dir/blobs/cli | |
wget -O cf http://ftp.unicamp.br/pub/ppc64el/ubuntu/14_04/cloud-foundry/cf-6.23.1-ppc64le | |
ls -al | |
fname=$(ls cf-cli*); dst=$(readlink $fname); rm -f $dst $fname; tar zcvf $fname cf; rm cf | |
# consul, consul-template | |
cd $dir/blobs/consul | |
fname=$(ls consul_*); dst=$(readlink $fname); rm -f $dst; zip -j $fname $GOPATH/bin/consul | |
wget -O consul-template http://ftp.unicamp.br/pub/ppc64el/ubuntu/14_04/cloud-foundry/consul-template-0.16.0rc1-ppc64le | |
chmod +x consul-template | |
fname=$(ls consul-template_*); dst=$(readlink $fname); rm -f $dst; zip $fname consul-template | |
rm -rf consul consul-template | |
# libmariadb | |
cd $dir/blobs/libmariadb | |
fname=$(ls libmariadb-*); dst=$(readlink $fname); rm -f $dst; rm -f $fname | |
wget ftp://ftp.unicamp.br/pub/ppc64el/ubuntu/14_04/cloud-foundry/libmariadb-5.5.36.tar.xz | |
# rootfs | |
cd $dir/blobs/rootfs | |
wget -O rootfs.tar.gz http://ftp.unicamp.br/pub/ppc64el/ubuntu/14_04/cloud-foundry/cflinuxfs2-1.97.0.tar.gz | |
fname=$(ls cflinuxfs2*); dst=$(readlink $fname); rm -f $dst; mv rootfs.tar.gz $fname | |
# etcd | |
cd $dir/blobs/etcd | |
fname=$(ls etcd-*); dst=$(readlink $fname); rm -f $dst $fname; | |
wget http://ftp.unicamp.br/pub/ppc64el/ubuntu/14_04/cloud-foundry/etcd-v3.1.2-linux-ppc64le.tar.gz -O etcd.tar.gz | |
tar zxvf etcd.tar.gz; rm etcd.tar.gz | |
mv etcd-v2.1.1-linux-amd64 ${fname%.tar.gz} | |
tar zcvf $fname ${fname%.tar.gz} | |
rm -rf ${fname%.tar.gz} | |
#buildpacks | |
cd $dir/blobs | |
declare -A array | |
array[go]="https://s3.amazonaws.com/dev-power-buildpacks/buildpack-release-candidates/go/go_buildpack-cached-v1.7.19.zip" | |
array[binary]="https://s3.amazonaws.com/dev-power-buildpacks/buildpack-release-candidates/binary/binary_buildpack-cached-v1.0.9.zip" | |
array[nodejs]="https://s3.amazonaws.com/dev-power-buildpacks/buildpack-release-candidates/nodejs/nodejs_buildpack-cached-v1.5.29.zip" | |
array[python]="https://s3.amazonaws.com/dev-power-buildpacks/buildpack-release-candidates/python/python_buildpack-cached-v1.5.15.zip" | |
array[ruby]="https://s3.amazonaws.com/dev-power-buildpacks/buildpack-release-candidates/ruby/ruby_buildpack-cached-v1.6.34.zip" | |
array[staticfile]="https://s3.amazonaws.com/dev-power-buildpacks/buildpack-release-candidates/staticfile/staticfile_buildpack-cached-v1.3.17.zip" | |
for buildpack in $buildpacks; do | |
fname=$(ls ${buildpack}-buildpack/${buildpack}_buildpack*.zip); dst=$(readlink $fname); rm -f $dst $fname | |
wget ${array[$buildpack]} -O $fname | |
done | |
# final.yml | |
cd $dir/config | |
sed -i 's/provider: s3/provider: local/g' final.yml | |
sed -i 's/bucket_name: cf-release-blobs/blobstore_path: ~\/releases\/cf-release\/blobs/g' final.yml | |
cd $dir | |
yes 'yes' | bosh upload blobs | |
# type 'yes' for each blob | |
bosh create release --force --with-tarball --name cf --version $(git describe --tags | sed 's/v//g' | cut -d - -f 1) | |
cp $dir/dev_releases/cf/cf-*.tgz $dir/../../ | |
# RESULT: Release tarball (cf-X.X.X.tgz) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment