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:
parent
4258b74ecc
commit
b5f359389d
5 changed files with 83 additions and 22 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue