Switch to Fedora 31 builds

We still have GCC 8 in the ARM targets, so let's make sure we're using
one target with a similar compiler during our project builds.

Change-Id: I58ab5c2e61dd4effff027d9d02ead72a88a3bd2c
Depends-on: https://gerrit.cesnet.cz/c/CzechLight/dependencies/+/2481
Depends-on: https://gerrit.cesnet.cz/c/ci/zuul-jobs-cesnet/+/2481
diff --git a/.zuul.yaml b/.zuul.yaml
index 792b363..1ddd416 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -2,17 +2,19 @@
     check:
       fail-fast: true
       jobs:
-        - f29-gcc-cover:
+        - f31-gcc-cover:
+            requires: CzechLight-deps-f31-gcc
+        - f31-gcc-asan-ubsan:
+            requires: CzechLight-deps-f31-gcc-asan-ubsan
+        - f31-clang-asan:
+            requires: CzechLight-deps-f31-clang-asan
+        - f31-clang-tsan:
+            requires: CzechLight-deps-f31-clang-tsan
+        - f29-gcc:
             requires: CzechLight-deps-f29-gcc
-        - f29-gcc-asan-ubsan:
-            requires: CzechLight-deps-f29-gcc-asan-ubsan
-        - f29-clang-asan:
-            requires: CzechLight-deps-f29-clang-asan
-        - f29-clang-tsan:
-            requires: CzechLight-deps-f29-clang-tsan
-        - cpp-coverage-diff:
+        - f31-cpp-coverage-diff:
             voting: false
         - clang-format:
             voting: false
-        - f29-gcc-cover-previous:
-            requires: CzechLight-deps-f29-gcc
+        - f31-gcc-cover-previous:
+            requires: CzechLight-deps-f31-gcc
diff --git a/ci/build.sh b/ci/build.sh
index 956fa0d..fe8d8a7 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -32,6 +32,11 @@
     export CFLAGS="-fsanitize=address ${CFLAGS}"
     export CXXFLAGS="-fsanitize=address ${CXXFLAGS}"
     export LDFLAGS="-fsanitize=address ${LDFLAGS}"
+
+    if [[ $ZUUL_JOB_NAME =~ f31-.* ]]; then
+        # On Fedora 31, libev's ev_realloc looks fishy for sysrepoctl & sysrepocfg
+        export LSAN_OPTIONS="suppressions=${ZUUL_PROJECT_SRC_DIR}/ci/lsan.supp:print_suppressions=0"
+    fi
 fi
 
 if [[ $ZUUL_JOB_NAME =~ .*-tsan ]]; then
diff --git a/ci/lsan.supp b/ci/lsan.supp
new file mode 100644
index 0000000..af49784
--- /dev/null
+++ b/ci/lsan.supp
@@ -0,0 +1,11 @@
+# Fedora 31: sysrepocfg and sysrepoctl binaries
+# Direct leak of 112 byte(s) in 2 object(s) allocated from:
+#  #0 0x7f12a9dc314e in realloc (/lib64/libasan.so.5+0x10e14e)
+#  #1 0x7f12a760bb99 in ev_realloc /usr/src/debug/libev-4.27-1.fc31.x86_64/ev.c:1776
+leak:ev.c
+
+# I have no idea if it is legit -- libnetconf2's test_server_thread
+# Direct leak of 321 byte(s) in 1 object(s) allocated from:
+#  #0 0x7fc37cd79f16 in __interceptor_calloc (/lib64/libasan.so.5+0x10df16)
+#  #1 0x7fc37b004871 in ssh_find_all_matching /usr/src/debug/libssh-0.9.4-2.fc31.x86_64/src/token.c:221
+leak:ssh_find_all_matching
diff --git a/submodules/dependencies b/submodules/dependencies
index 6a3317e..4044404 160000
--- a/submodules/dependencies
+++ b/submodules/dependencies
@@ -1 +1 @@
-Subproject commit 6a3317e699b8f5a5aba77ee57c4464e1c39fb6b3
+Subproject commit 4044404d72ee0d6bed086c49e60fa2aee97d6317