Permalink
Browse files

update nancy's setup_nginx.sh to use updated mono install, after aspnet

example
  • Loading branch information...
lgratrix-techempower committed Jan 7, 2015
1 parent 46b25f0 commit 69d24e3237949854e914fae41f2888fd55cf16e9
Showing with 41 additions and 35 deletions.
  1. +2 −6 frameworks/CSharp/nancy/setup_nginx.sh
  2. +39 −29 toolset/setup/linux/languages/mono.sh
@@ -1,17 +1,13 @@
#!/bin/bash
. ${IROOT}/mono.installed
sed -i 's|localhost|'"$DBHOST"'|g' src/Web.config
sed -i 's|include /usr/local/nginx/conf/fastcgi_params;|include '"${NGINX_HOME}"'/conf/fastcgi_params;|g' nginx.conf
export PATH="$MONO_ROOT/bin:$PATH"
# Needed to find Mono's shared libraries
export LD_LIBRARY_PATH="$MONO_ROOT/lib"
# build
cd src
rm -rf bin obj
$MONO_ROOT/bin/xbuild /p:Configuration=Release
xbuild /p:Configuration=Release
# nginx
conf="upstream mono {\n"
@@ -1,30 +1,40 @@
#!/bin/bash
set -x
RETCODE=$(fw_exists ${IROOT}/mono.installed)
[ ! "$RETCODE" == 0 ] || { \
echo "Installing RootCAs from Mozilla...";
sudo $IROOT/mono-3.6.0-install/bin/mozroots --import --sync;
return 0; }
sudo apt-get install -y build-essential \
autoconf \
automake \
libtool \
zlib1g-dev \
pkg-config \
gettext
fw_get http://download.mono-project.com/sources/mono/mono-3.6.0.tar.bz2 -O mono-3.6.0.tar.bz2
fw_untar mono-3.6.0.tar.bz2
cd mono-3.6.0
./autogen.sh --prefix=${IROOT}/mono-3.6.0-install
make -j4 EXTERNAL_MCS=${IROOT}/mono-3.6.0/mcs/class/lib/monolite/basic.exe
make install
echo "Installing RootCAs from Mozilla...";
sudo ${IROOT}/mono-3.6.0-install/bin/mozroots --import --sync;
touch ${IROOT}/mono.installed
set -e
RETCODE=$(fw_exists $IROOT/mono.installed)
[ ! "$RETCODE" == 0 ] || { return 0; }
# what do we want? latest mono
# how do we want it? already compiled from packages but without sudo
# save environment
cat > $IROOT/mono.installed <<'END'
export SNAPDATE=20150102075051
export MONO_HOME=$IROOT/mono-snapshot-$SNAPDATE
export MONO_PATH=$MONO_HOME/lib/mono/4.5
export MONO_CFG_DIR=$MONO_HOME/etc
export PATH=$MONO_HOME/bin:$PATH
export LD_LIBRARY_PATH=$MONO_HOME/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$MONO_HOME/lib/pkgconfig:$PKG_CONFIG_PATH
END
# load environment
. $IROOT/mono.installed
# temp dir for extracting archives
TEMP=$IROOT/mono-snapshot-${SNAPDATE}-temp
# start fresh
rm -rf $TEMP && mkdir -p $TEMP
rm -rf $MONO_HOME && mkdir -p $MONO_HOME
# download .debs and extract them into $TEMP dir
fw_get http://jenkins.mono-project.com/repo/debian/pool/main/m/mono-snapshot-${SNAPDATE}/mono-snapshot-${SNAPDATE}_${SNAPDATE}-1_amd64.deb
fw_get http://jenkins.mono-project.com/repo/debian/pool/main/m/mono-snapshot-${SNAPDATE}/mono-snapshot-${SNAPDATE}-assemblies_${SNAPDATE}-1_all.deb
dpkg-deb -x mono-*amd64.deb $TEMP
dpkg-deb -x mono-*assemblies*.deb $TEMP
# move /opt/mono-$SNAPDATE to /installs
mv $TEMP/opt/mono-*/* $MONO_HOME
# cleanup
rm mono-*.deb
rm -rf $TEMP
# replace /opt/mono-$SNAPDATE path
file $MONO_HOME/bin/* | grep "POSIX shell script" | awk -F: '{print $1}' | xargs sed -i "s|/opt/mono-$SNAPDATE|$MONO_HOME|g"
sed -i "s|/opt/mono-$SNAPDATE|$MONO_HOME|g" $MONO_HOME/lib/pkgconfig/*.pc $MONO_HOME/etc/mono/config
# import SSL certificates
mozroots --import --sync
#echo -e 'y\ny\ny\n' | certmgr -ssl https://nuget.org
touch $IROOT/mono.installed

0 comments on commit 69d24e3

Please sign in to comment.