Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
python3-setuptools rsync squashfs-tools uidmap unzip uuid-runtime \
wget xz-utils
+ARGS="--enable-sanitizers --enable-tests --prefix=/usr/ --sysconfdir=/etc/ --localstatedir=/var/ --disable-no-undefined"
+case "$CC" in clang*)
+ ARGS="$ARGS --enable-fuzzers"
+esac
+
./autogen.sh
-CFLAGS="-Wall -Werror" ./configure --enable-sanitizers --enable-tests --prefix=/usr/ --sysconfdir=/etc/ --localstatedir=/var/ --disable-no-undefined
+CFLAGS="-Wall -Werror" ./configure $ARGS
make
make install
- name: Build
run: |
- sudo CC=${{ matrix.compiler }} .github/workflows/sanitizers.sh
+ sudo CC=${{ matrix.compiler }} CXX=${{ matrix.compiler }}++ .github/workflows/sanitizers.sh
--disable-selinux \
--disable-seccomp \
--disable-capabilities \
- --disable-no-undefined
+ --disable-no-undefined \
+ --enable-tests \
+ --enable-fuzzers
make -j$(nproc)
for fuzz_target_source in src/tests/fuzz-lxc*.c; do
fuzz_target_name=$(basename "$fuzz_target_source" ".c")
- $CC -c -o "$fuzz_target_name.o" $CFLAGS -Isrc -Isrc/lxc "$fuzz_target_source"
- $CXX $CXXFLAGS $LIB_FUZZING_ENGINE "$fuzz_target_name.o" src/lxc/.libs/liblxc.a -o "$OUT/$fuzz_target_name"
+ cp "src/tests/$fuzz_target_name" "$OUT"
done
perl -lne 'if (/config_jump_table\[\]\s*=/../^}/) { /"([^"]+)"/ && print "$1=" }' src/lxc/confile.c >doc/examples/keys.conf