]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Restore the possibility of building when remote is enabled in libpcap
authorFrancois-Xavier Le Bail <[email protected]>
Thu, 11 Feb 2021 08:25:29 +0000 (09:25 +0100)
committerFrancois-Xavier Le Bail <[email protected]>
Thu, 11 Feb 2021 09:32:58 +0000 (10:32 +0100)
This change allows to test the build with HAVE_PCAP_FINDALLDEVS_EX and
HAVE_PCAP_OPEN enabled.

Some ways to run theses tests:

MATRIX_BUILD_LIBPCAP=yes MATRIX_REMOTE=yes MATRIX_CMAKE=no MATRIX_CC=gcc \
MATRIX_CRYPTO=no MATRIX_SMB=no ./build_matrix.sh
(configure should display:
checking for pcap_open... yes
checking for pcap_findalldevs_ex... yes)

MATRIX_BUILD_LIBPCAP=yes MATRIX_REMOTE=yes MATRIX_CMAKE=yes MATRIX_CC=gcc \
MATRIX_CRYPTO=no MATRIX_SMB=no ./build_matrix.sh
(cmake should display:
Looking for pcap_open - found
Looking for pcap_findalldevs_ex - found)

Don't enable the builds with REMOTE=yes by default.

This partially reverts commit 3861a41bfa60b9a8bed2d5a11a2ba7a7b1bbed3d.
"Remove the REMOTE dimension from the nested matrix."

build.sh
build_matrix.sh

index a4cf2e9381e98cdee4962698837bb2c06aca94a0..083559aa4e911e7c0d7c6d0ef24082b78a0d6e68 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -1,13 +1,15 @@
 #!/usr/bin/env bash
 
 # This script runs one build with setup environment variables: BUILD_LIBPCAP,
-# CC, CMAKE, CRYPTO and SMB
-# (default: BUILD_LIBPCAP=no, CC=gcc, CMAKE=no, CRYPTO=no, SMB=no).
+# REMOTE, CC, CMAKE, CRYPTO and SMB
+# (default: BUILD_LIBPCAP=no, REMOTE=no, CC=gcc, CMAKE=no, CRYPTO=no, SMB=no).
 
 set -e
 
 # BUILD_LIBPCAP: no or yes
 BUILD_LIBPCAP=${BUILD_LIBPCAP:-no}
+# REMOTE: no or yes
+REMOTE=${REMOTE:-no}
 # CC: gcc or clang
 CC=${CC:-gcc}
 # CMAKE: no or yes
@@ -37,7 +39,7 @@ run_after_echo() {
 }
 
 # LABEL is needed to build the travis fold labels
-LABEL="$BUILD_LIBPCAP.$CC.$CMAKE.$CRYPTO.$SMB"
+LABEL="$BUILD_LIBPCAP.$REMOTE.$CC.$CMAKE.$CRYPTO.$SMB"
 if [ "$CMAKE" = no ]; then
     echo '$ ./configure [...]'
     travis_fold start configure
index 87a18d0d4fe80b442860d39fa8e9278e537d68c1..1e610a9b50e328666cb7b369429e4892b0284e90 100755 (executable)
@@ -2,12 +2,12 @@
 
 # This script executes the matrix loops, exclude tests and cleaning.
 # It calls the build.sh script which runs one build with setup environment
-# variables: BUILD_LIBPCAP, CC, CMAKE, CRYPTO and SMB
-# (default: BUILD_LIBPCAP=no, CC=gcc, CMAKE=no, CRYPTO=no, SMB=no).
+# variables: BUILD_LIBPCAP, REMOTE, CC, CMAKE, CRYPTO and SMB
+# (default: BUILD_LIBPCAP=no, REMOTE=no, CC=gcc, CMAKE=no, CRYPTO=no, SMB=no).
 # The matrix can be configured with environment variables
-# MATRIX_BUILD_LIBPCAP, MATRIX_CC, MATRIX_CMAKE, MATRIX_CRYPTO
+# MATRIX_BUILD_LIBPCAP, MATRIX_REMOTE, MATRIX_CC, MATRIX_CMAKE, MATRIX_CRYPTO
 # and MATRIX_SMB
-# (default: MATRIX_BUILD_LIBPCAP='no yes',
+# (default: MATRIX_BUILD_LIBPCAP='no yes', MATRIX_REMOTE='no yes',
 # MATRIX_CC='gcc clang', MATRIX_CMAKE='no yes', MATRIX_CRYPTO='no yes',
 # MATRIX_SMB='no yes').
 
@@ -47,11 +47,11 @@ build_tcpdump() {
                 for SMB in ${MATRIX_SMB:-no yes}; do
                     export SMB
                     COUNT=$((COUNT+1))
-                    echo_magenta "===== SETUP $COUNT: BUILD_LIBPCAP=$BUILD_LIBPCAP CC=$CC CMAKE=$CMAKE CRYPTO=$CRYPTO SMB=$SMB ====="
+                    echo_magenta "===== SETUP $COUNT: BUILD_LIBPCAP=$BUILD_LIBPCAP REMOTE=${REMOTE:-?} CC=$CC CMAKE=$CMAKE CRYPTO=$CRYPTO SMB=$SMB ====="
                     # LABEL is needed to build the travis fold labels
-                    LABEL="$BUILD_LIBPCAP.$CC.$CMAKE.$CRYPTO.$SMB"
+                    LABEL="$BUILD_LIBPCAP.$REMOTE.$CC.$CMAKE.$CRYPTO.$SMB"
                     # Run one build with setup environment variables:
-                    # BUILD_LIBPCAP, CC, CMAKE, CRYPTO and SMB
+                    # BUILD_LIBPCAP, REMOTE, CC, CMAKE, CRYPTO and SMB
                     ./build.sh
                     echo 'Cleaning...'
                     travis_fold start cleaning
@@ -75,7 +75,7 @@ choose_libpcap() {
         # Build libpcap with autoconf
         CMAKE_SAVE=$CMAKE
         CMAKE=no
-        echo_magenta "Build libpcap (CMAKE=$CMAKE)"
+        echo_magenta "Build libpcap (CMAKE=$CMAKE REMOTE=$REMOTE)"
         (cd ../libpcap && ./build.sh && make distclean)
         CMAKE=$CMAKE_SAVE
     fi
@@ -84,14 +84,20 @@ choose_libpcap() {
 touch .devel configure
 for BUILD_LIBPCAP in ${MATRIX_BUILD_LIBPCAP:-no yes}; do
 export BUILD_LIBPCAP
-    choose_libpcap
     if [ "$BUILD_LIBPCAP" = yes ]; then
-        # Set PKG_CONFIG_PATH for configure when building libpcap
-        if [ "$CMAKE" != no ]; then
-            export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
-        fi
+        for REMOTE in ${MATRIX_REMOTE:-no}; do
+            export REMOTE
+            choose_libpcap
+            # Set PKG_CONFIG_PATH for configure when building libpcap
+            if [ "$CMAKE" != no ]; then
+                export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
+            fi
+            build_tcpdump
+        done
+    else
+        choose_libpcap
+        build_tcpdump
     fi
-    build_tcpdump
 done
 
 rm -rf $PREFIX