updates for devguide doc
This commit is contained in:
parent
8fe6bc76ca
commit
09756eb7ab
2 changed files with 76 additions and 57 deletions
|
@ -21,15 +21,59 @@ Current development focuses on the Python modules and daemon. Here is a brief de
|
||||||
## Getting started
|
## Getting started
|
||||||
|
|
||||||
Overview for setting up the pipenv environment, building core, installing the GUI and netns, then running
|
Overview for setting up the pipenv environment, building core, installing the GUI and netns, then running
|
||||||
the core-daemon for development.
|
the core-daemon for development based on Ubuntu 18.04.
|
||||||
|
|
||||||
|
### Install Dependencies
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo apt install -y automake pkg-config gcc libev-dev bridge-utils ebtables gawk \
|
||||||
|
python3.6 python3.6-dev python3-pip python3-tk tk libtk-img ethtool libtool libreadline-dev autoconf
|
||||||
|
```
|
||||||
|
|
||||||
|
### Install OSPF MDR
|
||||||
|
|
||||||
|
```shell
|
||||||
|
cd ~/Documents
|
||||||
|
git clone https://github.com/USNavalResearchLaboratory/ospf-mdr
|
||||||
|
cd ospf-mdr
|
||||||
|
./bootstrap.sh
|
||||||
|
./configure --disable-doc --enable-user=root --enable-group=root --with-cflags=-ggdb \
|
||||||
|
--sysconfdir=/usr/local/etc/quagga --enable-vtysh \
|
||||||
|
--localstatedir=/var/run/quagga
|
||||||
|
make
|
||||||
|
sudo make install
|
||||||
|
```
|
||||||
|
|
||||||
### Clone CORE Repo
|
### Clone CORE Repo
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
cd ~/Documents
|
||||||
git clone https://github.com/coreemu/core.git
|
git clone https://github.com/coreemu/core.git
|
||||||
cd core
|
cd core
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Build CORE
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./bootstrap.sh
|
||||||
|
./configure
|
||||||
|
make -j8
|
||||||
|
```
|
||||||
|
|
||||||
|
### Install netns and GUI
|
||||||
|
|
||||||
|
Install legacy GUI if desired and mandatory netns executables.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# install GUI
|
||||||
|
cd $REPO/gui
|
||||||
|
sudo make install
|
||||||
|
|
||||||
|
# install netns scripts
|
||||||
|
cd $REPO/netns
|
||||||
|
sudo make install
|
||||||
|
```
|
||||||
|
|
||||||
### Setup Python Environment
|
### Setup Python Environment
|
||||||
|
|
||||||
To leverage the dev environment you need python 3.6+.
|
To leverage the dev environment you need python 3.6+.
|
||||||
|
@ -38,14 +82,11 @@ To leverage the dev environment you need python 3.6+.
|
||||||
# change to daemon directory
|
# change to daemon directory
|
||||||
cd $REPO/daemon
|
cd $REPO/daemon
|
||||||
|
|
||||||
# copy setup.py for installation
|
|
||||||
cp setup.py.in setup.py
|
|
||||||
|
|
||||||
# install pipenv
|
# install pipenv
|
||||||
pip3 install pipenv
|
sudo pip3 install pipenv
|
||||||
|
|
||||||
# setup a virtual environment and install all required development dependencies
|
# setup a virtual environment and install all required development dependencies
|
||||||
python3 -m pipenv install --dev
|
pipenv install --dev
|
||||||
```
|
```
|
||||||
|
|
||||||
### Setup pre-commit
|
### Setup pre-commit
|
||||||
|
@ -55,29 +96,7 @@ python utilities will be ran to check validity of code, potentially failing and
|
||||||
one to review changes being made by tools ro the fix the issue noted. Then add the changes and commit again.
|
one to review changes being made by tools ro the fix the issue noted. Then add the changes and commit again.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
python3 -m pipenv run pre-commit install
|
pipenv run pre-commit install
|
||||||
```
|
|
||||||
|
|
||||||
### Build CORE
|
|
||||||
|
|
||||||
```shell
|
|
||||||
./bootstrap.sh
|
|
||||||
./configure --prefix=/usr
|
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
### Install netns and GUI
|
|
||||||
|
|
||||||
Below commands assume your development will be focused on the daemon.
|
|
||||||
|
|
||||||
```shell
|
|
||||||
# install GUI
|
|
||||||
cd $REPO/gui
|
|
||||||
sudo make install
|
|
||||||
|
|
||||||
# install netns scripts
|
|
||||||
cd $REPO/netns
|
|
||||||
sudo make install
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Adding EMANE to Pipenv
|
### Adding EMANE to Pipenv
|
||||||
|
@ -99,7 +118,8 @@ sudo apt install libxml2-dev libprotobuf-dev uuid-dev libpcap-dev protobuf-compi
|
||||||
make -j8
|
make -j8
|
||||||
|
|
||||||
# install emane binding in pipenv
|
# install emane binding in pipenv
|
||||||
python3 -m pipenv install $EMANEREPO/src/python
|
# NOTE: this will mody pipenv Pipfiles and we do not want that, use git checkout -- Pipfile*, to remove changes
|
||||||
|
pipenv install $EMANEREPO/src/python
|
||||||
```
|
```
|
||||||
|
|
||||||
### Running CORE
|
### Running CORE
|
||||||
|
@ -107,15 +127,14 @@ python3 -m pipenv install $EMANEREPO/src/python
|
||||||
This will run the core-daemon server using the configuration files within the repo.
|
This will run the core-daemon server using the configuration files within the repo.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo python3 -m pipenv run core
|
# runs for daemon
|
||||||
```
|
sudo pipenv run core
|
||||||
|
|
||||||
### Running CORE Python GUI
|
# runs coretk gui
|
||||||
|
pipenv run coretk
|
||||||
|
|
||||||
Must be ran after the daemon above or will fail to connect.
|
# runs mocked unit tests
|
||||||
|
pipenv run test-mock
|
||||||
```shell
|
|
||||||
python3 -m pipenv run coretk
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Linux Network Namespace Commands
|
## Linux Network Namespace Commands
|
||||||
|
|
|
@ -87,7 +87,7 @@ Requires building from source, from the latest nightly snapshot.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# packages needed beyond what's normally required to build core on ubuntu
|
# packages needed beyond what's normally required to build core on ubuntu
|
||||||
sudo apt install libtool libreadline-dev autoconf
|
sudo apt install libtool libreadline-dev autoconf gawk
|
||||||
|
|
||||||
git clone https://github.com/USNavalResearchLaboratory/ospf-mdr
|
git clone https://github.com/USNavalResearchLaboratory/ospf-mdr
|
||||||
cd ospf-mdr
|
cd ospf-mdr
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue