mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-20 00:05:34 +03:00
Wires up USE=stacktrace for the new eu-stacktrace tool, which is very exciting, but still relies on patched sysprof so masked the USE flag for now. Signed-off-by: Sam James <sam@gentoo.org>
97 lines
5.0 KiB
Diff
97 lines
5.0 KiB
Diff
https://sourceware.org/git/?p=elfutils.git;a=commit;h=42b19e54393f031e6355cf0658e9518571e85ed3
|
|
|
|
From 42b19e54393f031e6355cf0658e9518571e85ed3 Mon Sep 17 00:00:00 2001
|
|
From: Mark Wielaard <mark@klomp.org>
|
|
Date: Tue, 22 Oct 2024 18:19:09 +0200
|
|
Subject: [PATCH] configure: better error message for [lib]debuginfod missing
|
|
dependencies
|
|
|
|
When dependencies for libdebuginfod, debuginfod or ima verification are
|
|
missing and these features are explicitly enabled the user might not
|
|
immediately know which of the dependicies are missing. Move the checks
|
|
around a little so checks for dependencies are done immediately before
|
|
the enable error message. And add the possible reason to the error to
|
|
make things more clear.
|
|
|
|
* configure.ac: Move libcurl and json-c tests before libdebuginfod
|
|
check, move libmicrohttpd, sqlite3 and libarchive tests before
|
|
debuginfod check and move librpm, libcrypto and imaevm.h tests
|
|
before ima verification check.
|
|
|
|
https://sourceware.org/PR32294
|
|
|
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -837,16 +837,7 @@ AC_ARG_ENABLE([debuginfod-ima-verification],[AS_HELP_STRING([--enable-debuginfod
|
|
# Look for various packages, minimum versions as per rhel7.
|
|
PKG_PROG_PKG_CONFIG
|
|
PKG_CHECK_MODULES([libcurl],[libcurl >= 7.29.0],[have_libcurl=yes],[have_libcurl=no])
|
|
-AC_CHECK_LIB(pthread, pthread_setname_np, [AC_DEFINE([HAVE_PTHREAD_SETNAME_NP],[1],[Enable pthread_setname_np])])
|
|
PKG_CHECK_MODULES([jsonc],[json-c >= 0.11],[have_jsonc=yes],[have_jsonc=no])
|
|
-PKG_CHECK_MODULES([libmicrohttpd],[libmicrohttpd >= 0.9.33],[],[enable_debuginfod=no])
|
|
-PKG_CHECK_MODULES([oldlibmicrohttpd],[libmicrohttpd < 0.9.51],[old_libmicrohttpd=yes],[old_libmicrohttpd=no])
|
|
-PKG_CHECK_MODULES([sqlite3],[sqlite3 >= 3.7.17],[have_sqlite3=yes],[have_sqlite3=no])
|
|
-PKG_CHECK_MODULES([libarchive],[libarchive >= 3.1.2],[have_libarchive=yes],[have_libarchive=no])
|
|
-AC_CHECK_LIB(rpm, headerGet, [AC_CHECK_DECL(RPMSIGTAG_FILESIGNATURES,
|
|
- [AC_SUBST(rpm_LIBS, '-lrpm -lrpmio')],[], [#include <rpm/rpmlib.h>])])
|
|
-AC_CHECK_LIB(crypto, EVP_MD_CTX_new, [AC_SUBST(crypto_LIBS, '-lcrypto')])
|
|
-AC_CHECK_HEADER(imaevm.h)
|
|
#
|
|
# pronounce judgement on ability to build client, overridden by =yes/=no
|
|
if test "x$enable_libdebuginfod" = "xno"; then
|
|
@@ -855,11 +846,15 @@ elif test "x$enable_libdebuginfod" = "xdummy"; then
|
|
true
|
|
elif test "x$have_jsonc$have_libcurl" = "xyesyes"; then
|
|
enable_libdebuginfod=yes
|
|
-elif test "x$enable_libdebuginfod" = "xyes" -o "x$enable_libdebuginfod" = "xdummy"; then
|
|
- AC_MSG_ERROR([unable to build libdebuginfod])
|
|
+elif test "x$enable_libdebuginfod" = "xyes"; then
|
|
+ AC_MSG_ERROR([unable to build libdebuginfod, missing libjson-c or libcurl])
|
|
else
|
|
enable_libdebuginfod=no
|
|
fi
|
|
+PKG_CHECK_MODULES([libmicrohttpd],[libmicrohttpd >= 0.9.33],[],[enable_debuginfod=no])
|
|
+PKG_CHECK_MODULES([oldlibmicrohttpd],[libmicrohttpd < 0.9.51],[old_libmicrohttpd=yes],[old_libmicrohttpd=no])
|
|
+PKG_CHECK_MODULES([sqlite3],[sqlite3 >= 3.7.17],[have_sqlite3=yes],[have_sqlite3=no])
|
|
+PKG_CHECK_MODULES([libarchive],[libarchive >= 3.1.2],[have_libarchive=yes],[have_libarchive=no])
|
|
#
|
|
# pronounce judgement on ability to build server, overridden by =yes/=no
|
|
if test "x$enable_debuginfod" = "xno"; then
|
|
@@ -867,18 +862,22 @@ if test "x$enable_debuginfod" = "xno"; then
|
|
elif test "x$have_jsonc$HAVE_CXX11$have_libarchive$have_sqlite3" = "xyesyesyesyes"; then
|
|
enable_debuginfod=yes
|
|
elif test "x$enable_debuginfod" = "xyes"; then
|
|
- AC_MSG_ERROR([unable to build debuginfod])
|
|
+ AC_MSG_ERROR([unable to build debuginfod, missing libmicrohttpd, sqlite3 or libarchive])
|
|
else
|
|
enable_debuginfod=no
|
|
fi
|
|
#
|
|
+AC_CHECK_LIB(rpm, headerGet, [AC_CHECK_DECL(RPMSIGTAG_FILESIGNATURES,
|
|
+ [AC_SUBST(rpm_LIBS, '-lrpm -lrpmio')],[], [#include <rpm/rpmlib.h>])])
|
|
+AC_CHECK_LIB(crypto, EVP_MD_CTX_new, [AC_SUBST(crypto_LIBS, '-lcrypto')])
|
|
+AC_CHECK_HEADER(imaevm.h)
|
|
# pronounce judgment on ima signature support
|
|
if test "x$enable_debuginfod_ima_verification" = "xno"; then
|
|
true
|
|
elif test "x$ac_cv_lib_rpm_headerGet$ac_cv_have_decl_RPMSIGTAG_FILESIGNATURES$ac_cv_lib_crypto_EVP_MD_CTX_new$ac_cv_header_imaevm_h" = "xyesyesyesyes"; then
|
|
enable_debuginfod_ima_verification=yes
|
|
elif test "x$enable_debuginfod_ima_verification" = "xyes"; then
|
|
- AC_MSG_ERROR([unable to enable debuginfod ima verification])
|
|
+ AC_MSG_ERROR([unable to enable ima verification, missing librpm, libcrypto or imaevm.h])
|
|
else
|
|
enable_debuginfod_ima_verification=no
|
|
fi
|
|
@@ -895,6 +894,8 @@ AS_IF([test "x$have_libarchive" = "xyes"],AC_DEFINE([HAVE_LIBARCHIVE],[1],[Defin
|
|
AM_CONDITIONAL([ENABLE_IMA_VERIFICATION],[test "$enable_debuginfod_ima_verification" = "xyes"])
|
|
AM_CONDITIONAL([OLD_LIBMICROHTTPD],[test "x$old_libmicrohttpd" = "xyes"])
|
|
|
|
+AC_CHECK_LIB(pthread, pthread_setname_np, [AC_DEFINE([HAVE_PTHREAD_SETNAME_NP],[1],[Enable pthread_setname_np])])
|
|
+
|
|
dnl for /etc/profile.d/elfutils.{csh,sh}
|
|
default_debuginfod_urls=""
|
|
AC_ARG_ENABLE(debuginfod-urls,
|
|
--
|
|
2.43.5
|