1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

add Etherlab to CI builds

This commit is contained in:
Steffen Vogel 2020-01-25 17:36:29 +01:00
parent 4258b74ecc
commit b5f359389d
5 changed files with 83 additions and 22 deletions

View file

@ -42,8 +42,9 @@ ADD https://packages.fein-aachen.org/fedora/fein.repo /etc/yum.repos.d/
RUN dnf -y install \
gcc gcc-c++ \
pkgconfig cmake make ninja-build \
texinfo git curl tar \
protobuf-compiler protobuf-c-compiler
texinfo git mercurial curl tar \
protobuf-compiler protobuf-c-compiler \
libtool
# Several tools only needed for developement and testing
RUN dnf -y install \
@ -90,8 +91,17 @@ RUN dnf -y install \
RUN cd /tmp && \
git clone --recursive https://github.com/Snaipe/Criterion && \
mkdir -p Criterion/build && cd Criterion/build && \
git checkout v2.3.3 && \
cmake -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/Criterion
# Build & Install EtherLab
RUN cmd /tmp && \
hg clone --branch stable-1.5 http://hg.code.sf.net/p/etherlabmaster/code etherlab && \
cd etherlab && \
./bootstrap && ./configure --enable-userlib=yes --enable-kernel=no --enable-tool=no && \
make -j$(nproc) install && \
rm -rf /tmp/etherlab
# Workaround for libnl3's search path for netem distributions
RUN ln -s /usr/lib64/tc /usr/lib/tc

View file

@ -97,7 +97,7 @@ RUN cd /tmp && \
mkdir -p fmt/build && cd fmt/build && \
git checkout 5.2.0 && \
cmake3 -DBUILD_SHARED_LIBS=1 .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/fmt
# Build & Install spdlog
RUN cd /tmp && \
@ -105,12 +105,13 @@ RUN cd /tmp && \
mkdir -p spdlog/build && cd spdlog/build && \
git checkout v1.3.1 && \
cmake3 -DCMAKE_BUILD_TYPE=Release -DSPDLOG_FMT_EXTERNAL=1 -DSPDLOG_BUILD_BENCH=OFF .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/spdlog
# Build & Install Criterion
RUN cd /tmp && \
git clone --recursive https://github.com/Snaipe/Criterion && \
mkdir -p Criterion/build && cd Criterion/build && \
git checkout v2.3.3 && \
cmake3 -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 .. && make install && \
rm -rf /tmp/*
@ -119,14 +120,30 @@ RUN cd /tmp && \
git clone -b v3.1-stable https://github.com/warmcat/libwebsockets && \
mkdir -p libwebsockets/build && cd libwebsockets/build && \
cmake3 -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DLWS_WITHOUT_TESTAPPS=ON .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/libwebsockets
# Build & Install libiec61850
RUN cd /tmp && \
git clone -b v1.3.1 https://github.com/mz-automation/libiec61850 && \
mkdir -p libiec61850/build && cd libiec61850/build && \
cmake3 -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/libiec61850
# Build & Install uldaq
RUN cd /tmp && \
git clone -b rpm https://github.com/stv0g/uldaq && \
cd uldaq && \
autoreconf -i && ./configure --enable-examples=no && \
make -j$(nproc) install && \
rm -rf /tmp/uldaq
# Build & Install EtherLab
RUN cmd /tmp && \
hg clone --branch stable-1.5 http://hg.code.sf.net/p/etherlabmaster/code etherlab && \
cd etherlab && \
./bootstrap && ./configure --enable-userlib=yes --enable-kernel=no --enable-tool=no && \
make -j$(nproc) install && \
rm -rf /tmp/etherlab
# Workaround for libnl3's search path for netem distributions
RUN ln -s /usr/lib64/tc /usr/lib/tc

View file

@ -92,7 +92,7 @@ RUN cd /tmp && \
mkdir -p fmt/build && cd fmt/build && \
git checkout 5.2.0 && \
cmake ${CMAKE_OPTS} -DBUILD_SHARED_LIBS=1 .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/fmt
# Build & Install spdlog
RUN cd /tmp && \
@ -100,21 +100,21 @@ RUN cd /tmp && \
mkdir -p spdlog/build && cd spdlog/build && \
git checkout v1.3.1 && \
cmake ${CMAKE_OPTS} -DCMAKE_BUILD_TYPE=Release -DSPDLOG_FMT_EXTERNAL=1 -DSPDLOG_BUILD_BENCH=OFF .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/spdlog
# Build & Install libwebsockets
RUN cd /tmp && \
git clone -b v3.1-stable https://github.com/warmcat/libwebsockets && \
mkdir -p libwebsockets/build && cd libwebsockets/build && \
cmake ${CMAKE_OPTS} -DLWS_INSTALL_LIB_DIR=/usr/lib/${TRIPLET} -DLWS_WITHOUT_TESTAPPS=ON .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/libwebsockets
# Build & Install libiec61850
RUN cd /tmp && \
git clone -b v1.3.1 https://github.com/mz-automation/libiec61850 && \
mkdir -p libiec61850/build && cd libiec61850/build && \
cmake ${CMAKE_OPTS} .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/libiec61850
# Build & Install uldaq
RUN apt-get -y install automake autoconf libtool
@ -123,7 +123,15 @@ RUN cd /tmp && \
mkdir -p uldaq/build && cd uldaq && \
autoreconf -i && cd build && \
../configure --host=${TRIPLET} && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/uldaq
# Build & Install EtherLab
RUN cmd /tmp && \
hg clone --branch stable-1.5 http://hg.code.sf.net/p/etherlabmaster/code etherlab && \
cd etherlab && \
./bootstrap && ./configure --enable-userlib=yes --enable-kernel=no --enable-tool=no && \
make -j$(nproc) install && \
rm -rf /tmp/etherlab
WORKDIR /villas
ENTRYPOINT bash

View file

@ -67,7 +67,7 @@ RUN cd /tmp && \
mkdir -p fmt/build && cd fmt/build && \
git checkout 5.2.0 && \
cmake -DBUILD_SHARED_LIBS=1 .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/fmt
# Build & Install spdlog
RUN cd /tmp && \
@ -75,28 +75,37 @@ RUN cd /tmp && \
mkdir -p spdlog/build && cd spdlog/build && \
git checkout v1.3.1 && \
cmake -DCMAKE_BUILD_TYPE=Release -DSPDLOG_FMT_EXTERNAL=1 -DSPDLOG_BUILD_BENCH=OFF .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/spdlog
# Build & Install libwebsockets
RUN cd /tmp && \
git clone -b v3.1-stable https://github.com/warmcat/libwebsockets && \
mkdir -p libwebsockets/build && cd libwebsockets/build && \
cmake -DLWS_WITHOUT_TESTAPPS=ON .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/libwebsockets
# Build & Install libiec61850
RUN cd /tmp && \
git clone -b v1.3.1 https://github.com/mz-automation/libiec61850 && \
mkdir -p libiec61850/build && cd libiec61850/build && \
cmake .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/libiec61850
# Build & Install uldaq
RUN cd /tmp && \
git clone -b rpm https://github.com/stv0g/uldaq && \
cd uldaq && \
autoreconf -i && ./configure --enable-examples=no && \
make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/uldaq
# Build & Install EtherLab
RUN cmd /tmp && \
hg clone --branch stable-1.5 http://hg.code.sf.net/p/etherlabmaster/code etherlab && \
cd etherlab && \
./bootstrap && ./configure --enable-userlib=yes --enable-kernel=no --enable-tool=no && \
make -j$(nproc) install && \
rm -rf /tmp/etherlab
# Expose ports for HTTP and WebSocket frontend
EXPOSE 80

View file

@ -86,7 +86,7 @@ RUN cd /tmp && \
mkdir -p fmt/build && cd fmt/build && \
git checkout 5.2.0 && \
cmake -DBUILD_SHARED_LIBS=1 .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/fmt
# Build & Install spdlog
RUN cd /tmp && \
@ -94,28 +94,45 @@ RUN cd /tmp && \
mkdir -p spdlog/build && cd spdlog/build && \
git checkout v1.3.1 && \
cmake -DCMAKE_BUILD_TYPE=Release -DSPDLOG_FMT_EXTERNAL=1 -DSPDLOG_BUILD_BENCH=OFF .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/spdlog
# Build & Install Criterion
RUN cd /tmp && \
git clone --recursive https://github.com/Snaipe/Criterion && \
mkdir -p Criterion/build && cd Criterion/build && \
git checkout v2.3.3 && \
cmake -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/Criterion
# Build & Install libwebsockets
RUN cd /tmp && \
git clone -b v3.1-stable https://github.com/warmcat/libwebsockets && \
mkdir -p libwebsockets/build && cd libwebsockets/build && \
cmake -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 -DLWS_WITHOUT_TESTAPPS=ON .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/libwebsockets
# Build & Install libiec61850
RUN cd /tmp && \
git clone -b v1.3.1 https://github.com/mz-automation/libiec61850 && \
mkdir -p libiec61850/build && cd libiec61850/build && \
cmake -DCMAKE_INSTALL_LIBDIR=/usr/local/lib64 .. && make -j$(nproc) install && \
rm -rf /tmp/*
rm -rf /tmp/libiec61850
# Build & Install uldaq
RUN cd /tmp && \
git clone -b rpm https://github.com/stv0g/uldaq && \
cd uldaq && \
autoreconf -i && ./configure --enable-examples=no && \
make -j$(nproc) install && \
rm -rf /tmp/uldaq
# Build & Install EtherLab
RUN cmd /tmp && \
hg clone --branch stable-1.5 http://hg.code.sf.net/p/etherlabmaster/code etherlab && \
cd etherlab && \
./bootstrap && ./configure --enable-userlib=yes --enable-kernel=no --enable-tool=no && \
make -j$(nproc) install && \
rm -rf /tmp/etherlab
# Expose ports for HTTP and WebSocket frontend
EXPOSE 80