Keep the colleague's microbu-esp32c5 tree in this repository
obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but that tree was gitignored, so a clone of this repository could not build the firmware it ships. It is now committed here as ordinary files in its own folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP bridge's signature verification (--trust) used on the bench. Nothing is fetched from or pushed to the colleague's repository; this repository and its remotes carry everything. The folder's own .gitignore keeps build output, downloaded components and private key material out, as it did there; the committed file set is identical to that repository's tracked files. The ESP32-C5 is still flashed from obu-firmware/, which only takes vanetza-idf from microbu-esp32c5/, so the two stay separate folders. FLASHING.md says how to take a newer version of the colleague's tree (copy it over the folder, rebuild, test, commit).
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
ARG DEBIAN_VERSION=stable
|
||||
ARG UBUNTU_VERSION=resolute
|
||||
|
||||
FROM debian:${DEBIAN_VERSION} AS debian
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
capnproto \
|
||||
clang \
|
||||
cmake \
|
||||
git \
|
||||
libboost-date-time-dev \
|
||||
libboost-program-options-dev \
|
||||
libboost-system-dev \
|
||||
libcapnp-dev \
|
||||
libcrypto++-dev \
|
||||
libgeographiclib-dev \
|
||||
libssl-dev \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
COPY --chmod=755 build_and_run_tests.sh build_strict_cxx14.sh /usr/local/bin/
|
||||
RUN useradd -m build-user
|
||||
USER build-user
|
||||
WORKDIR /home/build-user
|
||||
ENTRYPOINT ["build_and_run_tests.sh"]
|
||||
CMD ["/home/build-user/workspace"]
|
||||
|
||||
FROM debian AS strict-cxx14
|
||||
ENTRYPOINT ["build_strict_cxx14.sh"]
|
||||
CMD ["/home/build-user/workspace"]
|
||||
|
||||
FROM ubuntu:${UBUNTU_VERSION} AS ubuntu
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
COPY --chmod=755 update_cmake.sh apt_pkg_name.sh /usr/local/bin/
|
||||
RUN update_cmake.sh && apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
capnproto \
|
||||
cmake \
|
||||
git \
|
||||
libboost-date-time-dev \
|
||||
libboost-program-options-dev \
|
||||
libboost-system-dev \
|
||||
libcapnp-dev \
|
||||
libcrypto++-dev \
|
||||
$(apt_pkg_name.sh geographiclib) \
|
||||
libssl-dev \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
COPY build_and_run_tests.sh /usr/local/bin/build_and_run_tests.sh
|
||||
RUN useradd -m build-user
|
||||
USER build-user
|
||||
WORKDIR /home/build-user
|
||||
ENTRYPOINT ["build_and_run_tests.sh"]
|
||||
CMD ["/home/build-user/workspace"]
|
||||
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
source /etc/os-release
|
||||
case $VERSION_CODENAME in
|
||||
bionic|focal|jammy)
|
||||
GEOGRAPHICLIB=libgeographic-dev
|
||||
;;
|
||||
noble|resolute)
|
||||
GEOGRAPHICLIB=libgeographiclib-dev
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported Ubuntu version: $VERSION_CODENAME"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
case $1 in
|
||||
geographiclib)
|
||||
echo $GEOGRAPHICLIB
|
||||
;;
|
||||
*)
|
||||
echo "Unknown package name: $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
SCRIPT=$(readlink -f $0)
|
||||
SCRIPT_PATH=$(dirname $SCRIPT)
|
||||
ROOT=${1:-$SCRIPT_PATH/../..}
|
||||
ROOT_PATH=$(readlink -f ${ROOT})
|
||||
BUILD_DIR=${BUILD_DIR:-$PWD/build}
|
||||
|
||||
mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
|
||||
cmake -G Ninja \
|
||||
-DVANETZA_WITH_CRYPTOPP=ON \
|
||||
-DVANETZA_WITH_OPENSSL=ON \
|
||||
-DBUILD_CERTIFY=ON \
|
||||
-DBUILD_PKI=ON \
|
||||
-DBUILD_SOCKTAP=ON \
|
||||
-DBUILD_TESTS=ON \
|
||||
-DGTest_BUILD_DIRECTORY_DOWNLOAD=ON \
|
||||
${ROOT_PATH}
|
||||
cmake --build .
|
||||
ctest --output-on-failure
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
# Strict C++14 compile check for the Vanetza libraries.
|
||||
set -e
|
||||
|
||||
SCRIPT=$(readlink -f "$0")
|
||||
SCRIPT_PATH=$(dirname "$SCRIPT")
|
||||
ROOT=${1:-$SCRIPT_PATH/../..}
|
||||
ROOT_PATH=$(readlink -f "${ROOT}")
|
||||
BUILD_DIR=${BUILD_DIR:-$PWD/build}
|
||||
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
cmake -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
-DCMAKE_CXX_STANDARD=14 \
|
||||
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
|
||||
-DCMAKE_CXX_EXTENSIONS=OFF \
|
||||
-DVANETZA_WITH_CRYPTOPP=ON \
|
||||
-DVANETZA_WITH_OPENSSL=ON \
|
||||
-DVANETZA_WITH_GEOGRAPHICLIB=ON \
|
||||
-DVANETZA_WITH_RPC=OFF \
|
||||
-DBUILD_TESTS=OFF \
|
||||
"${ROOT_PATH}"
|
||||
cmake --build .
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
: ${UBUNTU_VERSION:=resolute}
|
||||
SCRIPT_DIR=$(dirname ${BASH_SOURCE[0]})
|
||||
ROOT_DIR=$(readlink -m "${SCRIPT_DIR}/../..")
|
||||
|
||||
echo "Compiling Vanetza for Ubuntu ${UBUNTU_VERSION} and running tests..."
|
||||
docker build --build-arg UBUNTU_VERSION=${UBUNTU_VERSION} --tag vanetza/docker-ci:${UBUNTU_VERSION} ${SCRIPT_DIR}
|
||||
docker run --rm -it -v${ROOT_DIR}:/home/build-user/workspace:ro vanetza/docker-ci:${UBUNTU_VERSION}
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
source /etc/os-release
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
install_kitware_repo() {
|
||||
GPG_KEYFILE=/usr/share/keyrings/kitware-archive-keyring.gpg
|
||||
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor > $GPG_KEYFILE
|
||||
echo "deb [signed-by=$GPG_KEYFILE] https://apt.kitware.com/ubuntu/ ${UBUNTU_CODENAME} main" > /etc/apt/sources.list.d/kitware.list
|
||||
echo "Added Kitware repository for Ubuntu $UBUNTU_CODENAME"
|
||||
}
|
||||
|
||||
if [[ "${UBUNTU_CODENAME}" == "xenial" ]]; then
|
||||
apt-get update && apt-get install -y apt-transport-https wget
|
||||
install_kitware_repo
|
||||
elif [[ "${UBUNTU_CODENAME}" == "bionic" ]]; then
|
||||
apt-get update && apt-get install -y gpg wget
|
||||
install_kitware_repo
|
||||
else
|
||||
# Ubuntu focal and later ship with a sufficiently new CMake version
|
||||
echo "No need to add Kitware repository for Ubuntu $UBUNTU_CODENAME"
|
||||
fi
|
||||
Reference in New Issue
Block a user