Commit Graph

12 Commits

Author SHA1 Message Date
Denis Ovsienko
166cdc3dfb CI: Run "make releasetar" regardless of the OS.
Same as in tcpslice.
2021-07-18 01:04:13 +01:00
Francois-Xavier Le Bail
24f217998d CI: Add back running tcpdump -J/-L and capture, now with Cirrus VMs.
The Cirrus virtual machines are throwaway.

Revert partially f5739ad4ca.
2021-07-08 16:25:15 +02:00
Denis Ovsienko
f5739ad4ca CI: Get Travis CI vestige sorted in build.sh.
Compiling user-provided source code and running the resulting binary
with sudo was a security problem, thus instead of fixing two no-op
blocks remove them altogether. If anyone later needs to debug features
that require higher privileges, they will need to come up with a better
solution. Simplify the debug output test condition and rephrase the
associated comment for clarity.
2021-07-05 19:47:29 +01:00
Denis Ovsienko
d56f061500 CI: List shared libraries on more OSes.
Running ldd on Linux only originates from the Travis CI setup, where the
OS was either Linux or macOS. However, ldd is available in BSD systems
too, and macOS seems to have its own tool for the same job.
2021-07-05 19:47:25 +01:00
Denis Ovsienko
35a8fc576d CI: Lose the output folding props.
Same as in libpcap.
2021-07-05 12:09:59 +01:00
Denis Ovsienko
63ea6b5d47 CI: Switch from bash to POSIX shell.
Same as in libpcap.
2021-07-05 11:59:03 +01:00
Francois-Xavier Le Bail
5abf27529d build.sh: Disable a shellcheck error
We need the $@ expansion.

The error was:
Double quote array expansions to avoid re-splitting elements. [SC2068]
2021-05-31 15:01:44 +02:00
Denis Ovsienko
75e92bef00 CI: Refine the build matrix scripts. [skip appveyor]
Reproduce the recent improvements made in tcpslice and libpcap.
2021-03-21 00:32:50 +00:00
Francois-Xavier Le Bail
fb8908c0ec build.sh, build_matrix.sh: Use more the PREFIX variable 2021-03-13 19:50:02 +01:00
Francois-Xavier Le Bail
40fa95e88a Restore the possibility of building when remote is enabled in libpcap
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 3861a41bfa.
"Remove the REMOTE dimension from the nested matrix."
2021-02-11 10:32:58 +01:00
Denis Ovsienko
3861a41bfa Remove the REMOTE dimension from the nested matrix. [skip appveyor]
Neither the build process nor the tests of tcpdump currently depend on
presence or absence of the libpcap remote feature, and there is already
the libpcap nested matrix to cover that dimension, thus in the tcpdump
nested matrix just leave this aspect of the local libpcap build
unspecified and reduce the total number of rounds from 48 to 32.
2021-02-10 14:20:33 +00:00
Francois-Xavier Le Bail
973e9c1c9c Add the build_matrix.sh and build.sh scripts
Use them with Travis CI to build with less builders and save CI runtime.
This will currently run five builders: amd64, arm64, ppc64le, s390x and osx.

The build_matrix.sh script executes the matrix loops, exclude tests and
cleaning.
It conditionally builds libpcap running the build.sh script of libpcap.
It calls the build.sh script which runs one build with setup environment
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_REMOTE, MATRIX_CC, MATRIX_CMAKE, MATRIX_CRYPTO
and MATRIX_SMB
(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').

These scripts can easily be updated to run new tests (32 bits builds,
sanitizers, coverage, etc).

They can be used locally for build tests or used with other CI systems.

Run examples:
./build_matrix.sh
MATRIX_BUILD_LIBPCAP=yes ./build_matrix.sh
MATRIX_CC=clang ./build_matrix.sh
CC=clang ./build.sh
CMAKE=yes ./build.sh
CC=clang CMAKE=yes CRYPTO=yes ./build.sh

Moreover:
Remove the old workaround PATH=$PATH...
Update the install directory prefix to /tmp/local.
Use vim modeline in the two shell scripts.
2021-02-09 16:11:39 +01:00