Skip to content

Commit

Permalink
Building zenohd as part of dependencies (#176)
Browse files Browse the repository at this point in the history
* building zenohd in a separated directory to avoid missing symbols at runtime

Signed-off-by: gabrik <gabriele.baldoni@gmail.com>

* building also yaks and updated makefile

Signed-off-by: gabrik <gabriele.baldoni@gmail.com>

* using sudo when installing python and lib dependencies

Signed-off-by: gabrik <gabriele.baldoni@gmail.com>

* copying repo from host, installing sudo

Signed-off-by: gabrik <gabriele.baldoni@gmail.com>

* remove -r from docker cp

Signed-off-by: gabrik <gabriele.baldoni@gmail.com>

* fix docker cp command

Signed-off-by: gabrik <gabriele.baldoni@gmail.com>

* removed useless lines in makefile

Signed-off-by: gabrik <gabriele.baldoni@gmail.com>
  • Loading branch information
gabrik committed Feb 7, 2020
2 parents b09c130 + bc7bc64 commit 4b9b467
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 21 deletions.
9 changes: 4 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,13 @@ before_install:
- docker run -it -d --name build debian:10-slim bash
- docker exec build apt update
# install deps
- docker exec build apt install git wget jq libev-dev libssl-dev python3 python3-dev python3-pip m4 pkg-config rsync unzip cmake -y
- docker exec build apt install git wget jq libev-dev libssl-dev python3 python3-dev python3-pip m4 pkg-config rsync unzip cmake sudo -y
- docker exec build pip3 install pyangbind
# install opam
- docker exec build wget -O opam https://github.com/ocaml/opam/releases/download/2.0.6/opam-2.0.6-x86_64-linux
- docker exec build install ./opam /usr/local/bin/opam
- docker exec build opam init --disable-sandboxing
# clone repo at specific ref
- docker exec build git clone https://github.com/$TRAVIS_REPO_SLUG fog05
- docker exec build bash -c "cd fog05 && git checkout $TRAVIS_BRANCH"
# copying repo inside container
- docker cp ../fog05 build:/root/
script:
- docker exec build bash -c "eval \$(opam env) && cd fog05 && ./build.sh"
- docker exec build bash -c "eval \$(opam env) && cd /root/fog05 && ./build.sh"
14 changes: 2 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -57,29 +57,19 @@ endif

sudo id -u fos >/dev/null 2>&1 || sudo useradd -r -s /bin/false fos
sudo usermod -aG sudo fos
ifeq ($(shell uname -m), x86_64)
curl -L -o /tmp/yaks.tar.gz https://www.dropbox.com/s/hx6w8qs9i4cx5r1/yaks.0.3.0.tar.gz
else ifeq ($(shell uname -m), armv7l)
curl -L -o /tmp/yaks.tar.gz https://www.dropbox.com/s/wi65knmjcj74pgg/yaks.tar.gz
else ifeq ($(shell uname -m), aarch64)
curl -L -o /tmp/yaks.tar.gz https://www.dropbox.com/s/oj4z80c1jwofv2a/yaks.tar.gz
endif
tar -xzvf /tmp/yaks.tar.gz -C /etc/fos
rm -rf /tmp/yaks.tar.gz
cp ./fos_build/zenohd/_build/default/zenoh-router-daemon/zenohd.exe /etc/fos/zenohd
cp ./fos_build/yaks/_build/default/src/yaks/yaks-plugin.cmxs /etc/fos/yaks-plugin.cmxs

ifeq "$(wildcard $(VAR_FOS_DIR))" ""
sudo mkdir -p /var/fos
sudo chown fos:fos /var/fos
endif

echo "fos ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers > /dev/null
# sudo cp src/agent/_build/default/fos-agent/fos_agent.exe /etc/fos/agent
make -C plugins/plugin-os-linux install

sudo cp etc/yaks.service /lib/systemd/system/
sudo cp etc/yaks.target /lib/systemd/system/
sudo ln -sf /etc/fos/yaksd /usr/bin/yaksd
sudo ln -sf /etc/fos/agent /usr/bin/fagent

lldp:
sudo mkdir -p /etc/fos/lldpd
Expand Down
25 changes: 21 additions & 4 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,24 +41,41 @@ cd yaks-ocaml
git checkout $VER_YAKS
opam install . --working-dir -y
cd ..
git clone http://github.com/atolab/yaks
cd yaks
git checkout $VER_YAKS
rm -rf src/yaks-be/yaks-be-influxdb/ src/yaks-be/yaks-be-sql/
make
cd ..
git clone http://github.com/atolab/zenoh-c
cd zenoh-c
git checkout $VER_ZENOH
make
make install
sudo make install
cd ..
git clone http://github.com/atolab/zenoh-python
cd zenoh-python
git checkout $VER_ZENOH
python3 setup.py install
sudo python3 setup.py install
cd ..
git clone http://github.com/atolab/yaks-python
cd yaks-python
git checkout $VER_YAKS
make install
sudo make install
cd ..
mkdir zenohd
cp zenoh/Makefile zenohd/
cp zenoh/zenoh-router-daemon.opam zenohd/
cp -r zenoh/src/zenoh-router-daemon zenohd/
echo -e "(lang dune 1.11.1)\n(name zenohd)" > zenohd/dune-project
sed -i 's/zenoh_proto/zenoh-proto/g' zenohd/zenoh-router-daemon/dune
sed -i 's/zenoh_tx_inet/zenoh-tx-inet/g' zenohd/zenoh-router-daemon/dune
sed -i 's/zenoh_router/zenoh-router/g' zenohd/zenoh-router-daemon/dune
cd zenohd
make
cd ../..

echo "[BUILD] Building Fog05"
# build fog05
cd ../..
git submodule update --init --recursive
make

0 comments on commit 4b9b467

Please sign in to comment.