Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- PWD=`pwd`
- SAVE=$PWD'/'
- NEW_PERM=$SUDO_USER:$SUDO_USER
- if [ -z $BUILDDIR ]; then
- BUILDDIR=~/nova-build
- fi
- if [ -z $1 ]; then
- BRANCH="master"
- else
- BRANCH="$1"
- fi
- echo "Build Dir is $BUILDDIR"
- check_err() {
- ERR=$?
- if [ "$ERR" -ne "0" ] ; then
- echo "Error occurred during build process; terminating script!"
- exit $ERR
- fi
- }
- mkdir -p ${BUILDDIR}
- echo "##############################################################################"
- echo "# NOVA DEPENDENCY CHECK #"
- echo "##############################################################################"
- apt-get -y install git build-essential libann-dev libpcap0.8-dev libboost-program-options-dev libboost-serialization-dev sqlite3 libsqlite3-dev libcurl3 libcurl4-gnutls-dev iptables libevent-dev libprotoc-dev protobuf-compiler libdumbnet-dev libpcap-dev libpcre3-dev libedit-dev bison flex libtool automake libcap2-bin libboost-system-dev libboost-filesystem-dev python perl tcl liblinux-inotify2-perl libfile-readbackwards-perl
- check_err
- echo "##############################################################################"
- echo "# DOWNLOADING NOVA FROM GIT #"
- echo "##############################################################################"
- cd ${BUILDDIR}
- rm -fr Honeyd
- rm -fr Nova
- git clone git://github.com/DataSoft/Honeyd.git
- check_err
- git clone git://github.com/DataSoft/Nova.git
- check_err
- echo "##############################################################################"
- echo "# BUILDING HONEYD #"
- echo "##############################################################################"
- cd ${BUILDDIR}/Honeyd
- git checkout -f $BRANCH
- ./autogen.sh
- check_err
- automake
- check_err
- ./configure
- check_err
- make -j2
- check_err
- make install
- check_err
- cd ${BUILDDIR}/Nova
- git checkout -f $BRANCH
- git submodule init
- git submodule update
- check_err
- echo "##############################################################################"
- echo "# BUILDING NOVA #"
- echo "##############################################################################"
- cd ${BUILDDIR}/Nova/Quasar
- bash getDependencies.sh
- check_err
- chown -R -f $NEW_PERM node-v0.8.5/
- chown -f $NEW_PERM node-v0.8.5.tar.gz
- cd ${HOME}
- chown -R $NEW_PERM .npm/
- check_err
- cd ${BUILDDIR}/Nova/Quasar
- npm install -g forever
- check_err
- cd ${BUILDDIR}/Nova
- make -j2 debug
- check_err
- make uninstall-files
- make install
- check_err
- bash ${BUILDDIR}/Nova/Installer/nova_init
- echo "##############################################################################"
- echo "# FETCHING NMAP 6 #"
- echo "##############################################################################"
- version=$(nmap --version | sed -n '2p')
- if [ "$version" != "Nmap version 6.01 ( http://nmap.org )" ]; then
- cd ${BUILDDIR}
- wget http://nmap.org/dist/nmap-6.01.tar.bz2
- check_err
- tar -xf nmap-6.01.tar.bz2
- check_err
- chown -R nova:nova nmap-6.01
- cd nmap-6.01
- ./configure
- check_err
- make -j2
- check_err
- make install
- check_err
- else
- echo "Nmap version already matches required version. Skipping step."
- fi
- cd $SAVE
- chown -R -f $NEW_PERM nova-build/
- cd $HOME
- chown -R -f $NEW_PERM .node-gyp/
- cd /usr/share/honeyd/scripts/
- chown -R -f $NEW_PERM misc/
- echo "##############################################################################"
- echo "# DONE #"
- echo "##############################################################################"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement