]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
github/workflows/sanitizers: port sanitizers builds to meson 4137/head
authorChristian Brauner <brauner@kernel.org>
Wed, 8 Jun 2022 18:14:23 +0000 (20:14 +0200)
committerChristian Brauner (Microsoft) <christian.brauner@ubuntu.com>
Wed, 8 Jun 2022 18:15:07 +0000 (20:15 +0200)
Signed-off-by: Christian Brauner (Microsoft) <christian.brauner@ubuntu.com>
.github/workflows/sanitizers.sh
.github/workflows/sanitizers.yml

index 2f99f131877422ee68d52d0d0c0a0a4aafe7fdfe..061061c0ad50716a5a4fb7d0704b4bc81c83b8a8 100755 (executable)
@@ -11,58 +11,23 @@ export UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1
 
 apt-get update -qq
 apt-get install --yes --no-install-recommends \
-    apparmor automake autoconf bash-completion bridge-utils build-essential \
+    apparmor bash-completion bridge-utils build-essential \
     busybox-static clang cloud-image-utils curl dbus debhelper debootstrap \
     devscripts dnsmasq-base docbook2x doxygen ed fakeroot file gcc graphviz \
-    git iptables net-tools libapparmor-dev libcap-dev libgnutls28-dev liblua5.2-dev \
+    git iptables meson net-tools libapparmor-dev libcap-dev libgnutls28-dev liblua5.2-dev \
     libpam0g-dev libseccomp-dev libselinux1-dev libtool linux-libc-dev \
     llvm lsb-release make openssl pkg-config python3-all-dev \
     python3-setuptools rsync squashfs-tools uidmap unzip uuid-runtime \
     wget xz-utils systemd-coredump
 apt-get remove --yes lxc-utils liblxc-common liblxc1 liblxc-dev
 
-ARGS="--enable-sanitizers \
-       --prefix=/usr/ \
-       --disable-no-undefined \
-       --build=x86_64-linux-gnu \
-       --includedir=\${prefix}/include \
-       --mandir=\${prefix}/share/man \
-       --infodir=\${prefix}/share/info \
-       --sysconfdir=/etc \
-       --localstatedir=/var \
-       --disable-silent-rules \
-       --libdir=\${prefix}/lib/x86_64-linux-gnu \
-       --libexecdir=\${prefix}/lib/x86_64-linux-gnu \
-       --disable-maintainer-mode \
-       --disable-dependency-tracking \
-       --libdir=\${prefix}/lib/x86_64-linux-gnu \
-       --libexecdir=\${prefix}/lib/x86_64-linux-gnu \
-       --with-rootfs-path=\${prefix}/lib/x86_64-linux-gnu/lxc \
-       --enable-doc \
-       --disable-rpath \
-       --with-distro=ubuntu \
-       --enable-commands \
-       --enable-pam \
-       --enable-tests \
-       --enable-memfd-rexec \
-       --disable-static-binaries \
-       --enable-static \
-       --enable-silent-rules \
-       --enable-apparmor \
-       --enable-capabilities \
-       --enable-seccomp \
-       --enable-selinux \
-       --disable-liburing \
-       --enable-werror"
-
+ARGS="-Dprefix=/usr -Dtests=true -Dpam-cgroup=false -Dwerror=true -Dio-uring-event-loop=false -Db_lto_mode=default -Db_lundef=false"
 case "$CC" in clang*)
-       ARGS="$ARGS --enable-fuzzers"
+       ARGS="$ARGS -Db_sanitize=address,undefined"
 esac
-
-./autogen.sh
-CFLAGS="-Wall -Werror" ./configure $ARGS
-make -j$(nproc)
-make install
+meson setup san_build $ARGS
+ninja -C san_build
+ninja -C san_build install
 
 cat <<'EOF' >/usr/bin/lxc-test-share-ns
 #!/bin/bash
index 15849635f9bb1516eca1cf7482a140ec8e307547..e5a64249b5a740f680f97906bd785bb146628f00 100644 (file)
@@ -15,6 +15,12 @@ jobs:
       - name: Checkout code
         uses: actions/checkout@v2
 
+      - name: Install dependencies
+        run: |
+          sudo apt-get update -qq
+          sudo apt-get install -qq gcc clang meson llvm
+          sudo apt-get install -qq libapparmor-dev libcap-dev libseccomp-dev libselinux1-dev linux-libc-dev libpam0g-dev docbook2x
+
       - name: Compiler version
         env:
           CC: ${{ matrix.compiler }}