diff --git a/README.md b/README.md index e00c781..8d85b1f 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ For Otel module build and tests: ### Fedora - install zlib-ng-compat-devel and zlib-ng-compat-static for zlib, not zlibrary-devel or zlib-ng-devel. - fedora also seems to need the openssl-devel-engine package. +- need perl-Test-Harness and perl-FindBin and perl-Sys-Hostname for the nginx tests ## Usage Invoke `test.sh` with some or all of the following flags: diff --git a/nginx.sh b/nginx.sh index 85ac7ef..0231a89 100644 --- a/nginx.sh +++ b/nginx.sh @@ -52,7 +52,7 @@ function build_nginx() { --with-stream_ssl_module \ --with-stream_realip_module \ --with-stream_ssl_preread_module \ - --with-debug && \ + --with-debug make -j$(num_jobs) } @@ -67,13 +67,23 @@ function clean_nginx() { } function build_otel() { - mkdir -p build && \ - cd build && \ - cmake -DCMAKE_CXX_COMPILER=$(which g++) \ - -DNGX_OTEL_NGINX_BUILD_DIR=../../nginx/objs \ - -DNGX_OTEL_GRPC=package \ - -DCMAKE_CXX_FLAGS="-D_LARGEFILE64_SOURCE" .. && \ - make -j$(num_jobs) + BSDFLG="" + if [[ $(uname) == "FreeBSD" ]] || [[ "$(grep "Fedora" /etc/issue)" ]]; then + BSDFLG="-DNGX_OTEL_GRPC=package" + fi + + if [[ -d build ]]; then + rm -rf build + fi + + mkdir -p build + cd build + cmake -DCMAKE_CXX_COMPILER=$(which g++) \ + -DNGX_OTEL_NGINX_BUILD_DIR=../../nginx/objs \ + $BSDFLG \ + -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_CXX_FLAGS="-D_LARGEFILE64_SOURCE" .. + make -j$(num_jobs) } function test_otel() { diff --git a/utils.sh b/utils.sh new file mode 100644 index 0000000..52e51e1 --- /dev/null +++ b/utils.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +dirn=$(dirname "$0") +source $dirn/common.sh + +function otel() { + docker run \ + --name lgtm \ + -p 3000:3000 \ + -p 4317:4317 \ + -p 4318:4318 \ + --rm \ + -ti \ + -v "$PWD"/container/grafana:/data/grafana \ + -v "$PWD"/container/prometheus:/data/prometheus \ + -v "$PWD"/container/loki:/data/loki \ + -e GF_PATHS_DATA=/data/grafana \ + docker.io/grafana/otel-lgtm +}