added install.sh options for dev install

This commit is contained in:
Blake Harnden 2019-12-23 09:28:49 -08:00
parent ace15636ac
commit 0d0862d29c

View file

@ -4,52 +4,95 @@
set -e set -e
function install_python_depencencies() { function install_python_depencencies() {
sudo python3 -m pip install -r daemon/requirements.txt sudo python3 -m pip install -r daemon/requirements.txt
}
function install_python_dev_dependencies() {
sudp pip install pipenv grpcio-tools
} }
function install_ospf_mdr() { function install_ospf_mdr() {
git clone https://github.com/USNavalResearchLaboratory/ospf-mdr /tmp/ospf-mdr rm -rf /tmp/ospf-mdr
cd /tmp/ospf-mdr git clone https://github.com/USNavalResearchLaboratory/ospf-mdr /tmp/ospf-mdr
./bootstrap.sh cd /tmp/ospf-mdr
./configure --disable-doc --enable-user=root --enable-group=root --with-cflags=-ggdb \ ./bootstrap.sh
--sysconfdir=/usr/local/etc/quagga --enable-vtysh \ ./configure --disable-doc --enable-user=root --enable-group=root --with-cflags=-ggdb \
--localstatedir=/var/run/quagga --sysconfdir=/usr/local/etc/quagga --enable-vtysh \
make -j8 --localstatedir=/var/run/quagga
sudo make install make -j8
cd - sudo make install
cd -
}
function build_core() {
./bootstrap.sh
./configure $1
make -j8
} }
function install_core() { function install_core() {
./bootstrap.sh sudo make install
./configure $1 }
make -j8
sudo make install function install_dev_core() {
cd daemon
pipenv install --dev
} }
# detect os/ver for install type # detect os/ver for install type
os="" os=""
if [[ -f /etc/os-release ]]; then if [[ -f /etc/os-release ]]; then
. /etc/os-release . /etc/os-release
os=${NAME} os=${ID}
fi fi
# parse arguments
while getopts ":d" opt; do
case ${opt} in
d)
dev=1
;;
\?)
echo "Invalid Option: $OPTARG" 1>&2
;;
esac
done
shift $((OPTIND - 1))
# check install was found # check install was found
case ${os} in case ${os} in
"Ubuntu") "ubuntu")
sudo apt install -y automake pkg-config gcc libev-dev bridge-utils ebtables gawk \ echo "Installing CORE for Ubuntu"
python3.6 python3.6-dev python3-pip python3-tk tk libtk-img ethtool libtool libreadline-dev autoconf sudo apt install -y automake pkg-config gcc libev-dev bridge-utils ebtables gawk iproute2 \
python3.6 python3.6-dev python3-pip python3-tk tk libtk-img ethtool libtool libreadline-dev autoconf
install_ospf_mdr
if [[ -z ${dev} ]]; then
echo "normal install"
install_python_depencencies install_python_depencencies
install_ospf_mdr build_core
install_core install_core
;; else
"CentOS Linux") echo "dev install"
sudo yum install -y automake pkgconf-pkg-config gcc gcc-c++ libev-devel bridge-utils iptables-ebtables gawk \ install_python_dev_dependencies
python36 python36-devel python3-pip python3-tkinter tk ethtool libtool readline-devel autoconf build_core
install_dev_core
fi
;;
"centos")
sudo yum install -y automake pkgconf-pkg-config gcc gcc-c++ libev-devel bridge-utils iptables-ebtables iproute \
python36 python36-devel python3-pip python3-tkinter tk ethtool libtool readline-devel autoconf gawk
install_ospf_mdr
if [[ -z ${dev} ]]; then
install_python_depencencies install_python_depencencies
install_ospf_mdr build_core --prefix=/usr
install_core --prefix=/usr install_core
;; else
install_python_dev_dependencies
build_core --prefix=/usr
install_dev_core
fi
;;
*) *)
echo "unknown os ${os} cannot install" echo "unknown OS ID ${os} cannot install"
;; ;;
esac esac