635 Commits

Author SHA1 Message Date
lizhenlin efba194008 update version to 0.193
Signed-off-by: lizhenlin <lizhenlin2@h-partners.com>
2025-11-12 14:48:40 +08:00
unknown 705c22626b update to v0.190
Signed-off-by: unknown <zhangchun39@huawei.com>
2024-12-06 15:48:16 +08:00
zhanghaibo e660ab2124 upgrade to v0.188
Signed-off-by: zhanghaibo <zhanghaibo0@huawei.com>
Change-Id: I83c8756f5ce0a464b037bc963cfdce43df82921b
2023-04-25 18:45:37 +08:00
Frank Ch. Eigler 0b454c7e19 PR27859: correct 404-latch bug in debuginfod client reuse
PR27701 implemented curl handle reuse in debuginfod_client objects,
but with an unexpected bug.  Server responses returning an error
"latched" because the curl_easy handles for error cases weren't all
systematically removed from the curl multi handle.  This prevented
their proper re-addition the next time.

This version of the code simplfies matters by making only the curl
curl_multi handle long-lived.  This turns out to be enough, because it
can maintain a pool of long-lived http/https connections and related
data, and lend them out to short-lived curl_easy handles.  This mode
handles errors or hung downloads even better, because the easy handles
don't undergo complex state transitions between reuse.

A new test case confirms this correction via the federating debuginfod
instance (cleaning caches between subtests to make sure http* is being
used and reused).

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2021-05-16 17:51:16 -04:00
Martin Liska adc201f819 Come up with startswith function.
New function in system.h that returns true if a string has a given
prefix, false otherwise.  Use it in place of strncmp.

Signed-off-by: Martin Liška <mliska@suse.cz>
2021-05-12 11:56:57 +02:00
Alice Zhang via Elfutils-devel 5f72c51a7e debuginfod: debuginfod client should cache negative results.
Add debuginfod_config_cache for reading and writing to cache
configuration files, make use of the function within
debuginfod_clean_cache and debuginfod_query_server.

In debuginfod_query_server, create 000-permission file on failed
queries. Before querying each BUILDID, if corresponding 000 file
detected, compare its stat mtime with parameter from
.cache/cache_miss_s. If mtime is fresher, then return ENOENT and
exit; otherwise unlink the 000 file and proceed to a new query.

tests: add test in run-debuginfod-find.sh

test if the 000 file is created on failed query; if querying the
same failed BUILDID, whether the query should proceed without
going through server; set the cache_miss_s to 0 and query the same
buildid, and this time should go through the server.

Signed-off-by: Alice Zhang <alizhang@redhat.com>
2021-05-06 23:04:26 +02:00
Frank Ch. Eigler 92980edc82 PR27571: debuginfod client cache - file permissions
Files in the download cache should be read-only.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2021-05-01 14:15:32 -04:00
Frank Ch. Eigler 95edde45e5 PR26125: debuginfod client cache - rmdir harder
With PR25365, we accidentally lost the ability to rmdir client-cache
directories corresponding to buildids.  Bring this back, with some
attention to a possible race between a client doing cleanup and
another client doing lookups at the same time.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2021-05-01 14:03:01 -04:00
Omar Sandoval d63b26b8d2 libdw: handle DW_FORM_indirect when reading attributes
Whenever we encounter an attribute with DW_FORM_indirect, we need to
read its true form from the DIE data. Then, we can continue normally.
This adds support to the most obvious places: __libdw_find_attr() and
dwarf_getattrs(). There may be more places that need to be updated.

I encountered this when inspecting a file that was processed by our BOLT
tool: https://github.com/facebookincubator/BOLT. This also adds a couple
of test cases using a file generated by that tool.

Signed-off-by: Omar Sandoval <osandov@fb.com>
2021-05-01 16:49:48 +02:00
Frank Ch. Eigler 6c8b68b024 PR27701: debuginfod client: encourage reused debuginfod_client objects
Client objects now carry long-lived curl handles for outgoing
connections.  This makes it more efficient for multiple sequential
queries, because the TCP connections and/or TLS state info are kept
around awhile, avoiding O(100ms) setup latencies.  debuginfod is
adjusted to take advantage of this for federation.  Other clients
should gradually do this too, perhaps including elfutils itself (in
the libdwfl->debuginfod_client hooks).

A large gdb session with 117 debuginfo downloads was observed to run
twice as fast (45s vs. 1m30s wall-clock time), just in nuking this
extra setup latency.  This was tested via a debuginfod intermediary:
it should be even faster once gdb reuses its own debuginfod_client.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2021-04-30 21:26:27 -04:00
Frank Ch. Eigler 69fc2b3a5c debuginfod: Set child thread names via pthread_setname_np()
In order to assist problem diagnosis / monitoring, use this
gnu-flavoured pthread function to set purpose names to the various
child threads debuginfod starts.  libmicrohttpd already sets this for
its threads.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2021-03-30 13:22:43 -04:00
Timm Bäder 5e77688768 tests: Pull new_data_buf() into file scope for elfstrmerge.
Get rid of a nested function this way.

Signed-off-by: Timm Bäder <tbaeder@redhat.com>
2021-03-01 23:31:44 +01:00
Timm Bäder 78d0436265 tests: Pull newsecndx() info file scope for elfstrmerge
Get rid of a nested function this way.

Signed-off-by: Timm Bäder <tbaeder@redhat.com>
2021-03-01 23:31:35 +01:00
Frank Ch. Eigler 35e49cac53 debuginfod: filter webapi for bad keywords early
Prevent some unnecessary processing of user data and
keep invalid request types out of metrics.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2021-02-25 14:07:51 -05:00
Frank Ch. Eigler df2f49d83c testsuite: run-debuginfod-find.sh: Fix grooming test indeterminacy
We were looking at a less-than-ideal metric to check the effects
of grooming on the database.  It turns out there is a counter
just for removed files/archives, which will have the same value
regardless of the presence of other test configurations.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2021-02-17 19:34:09 -05:00
Frank Ch. Eigler 8a3ec8f2a2 testsuite: run-debuginfod-find.sh: Be more verbose on failure
To help diagnose timing glitches in debuginfod testing, print more
diagnostics on a metric-timeout failure.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2021-02-17 15:41:21 -05:00
Mark Wielaard 4019aa8148 readelf: Type DIE offset is from start of CU.
While inspecting some type units I noticed the type offset seemed off.
We were printing the offset as is, but it should include the offset of
the unit. There was actually a testcase for this, run-readelf-types.sh
but that had the same bug in the expected output. Fixed both.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2021-02-17 16:55:53 +01:00
Alexander Miller via Elfutils-devel 7a5ea4591d tests: Quote make variables in TESTS_ENVIRONMENT
Commit eb922a1b8f ("tests: use ${CC} instead of 'gcc' in tests")
exports ${CC} into the test environment, but doesn't quote the
value for the assignment. That doesn't work properly if the value
contains whitespace. In a multilib/biarch environment however, it's
common to set CC="gcc -m32" or similar. That causes tests to print
error messages: "/bin/sh: line 2: -m32: command not found".

Fix that by adding quotes around all make variables (not just $CC)
used in setting up TESTS_ENVIRONMENT.

Signed-off-by: Alexander Miller <alex.miller@gmx.de>
2021-02-12 18:12:17 +01:00
Érico Rolim d358f63299 tests/run-debuginfod-find.sh: skip test if cpio isn't available.
Signed-off-by: Érico Rolim <erico.erc@gmail.com>
2021-02-08 19:56:50 -05:00
Frank Ch. Eigler aa121ea7f1 PR27092: debuginfod low-memory handling
A couple of closely related pieces of work allow more early warning
about low storage/memory conditions:

- New prometheus metrics to track filesystem freespace, and more
  details about some errors.
- Frequent checking of $TMPDIR freespace, to trigger fdcache
  emergency flushes.
- Switch to floating point prometheus metrics, to communicate
  fractions - and short time intervals - accurately.
- Fix startup-time pthread-creation error handling.

Testing is smoke-test-level only as it is hard to create
free-space-limited $TMPDIRs. Locally tested against tiny through
medium tmpfs filesystems, with or without sqlite db also there.  Shows
a pleasant stream of diagnostics and metrics during shortage but
generally does not fail outright.  However, catching an actual
libstdc++- or kernel-level OOM is beyond our ken.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2021-02-05 12:38:50 -05:00
Sergei Trofimovich via Elfutils-devel eb922a1b8f tests: use ${CC} instead of 'gcc' in tests
To better support cross-compilation Gentoo provides a way
to configure system without 'gcc' binary and only provide
tool-prefixed tools, like 'x86_64-pc-linux-gnu-gcc'.
The packages are built as ./configure --host=x86_64-pc-linux-gnu.

In https://bugs.gentoo.org/718872 Agostino Sarubbo found
a few test failures that use hardcoded 'gcc' instead of
expected ${CC}. The change propagates detected ${CC} at
configure time to test scripts.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2021-01-31 18:16:45 +01:00
Timm Bäder 04e19e8a44 zstrptr: Pull print_string() into file scope
Get rid of a nested function this way.

Signed-off-by: Timm Bäder <tbaeder@redhat.com>
2021-01-29 21:34:53 +01:00
Dmitry V. Levin 05c232f7fd Split the top level .gitignore file
Move subdirectory parts of the top level .gitignore into appropriate
subdirectories.  This would be consistent with ChangeLog files,
currently one has to update the top level ChangeLog file when
the top level .gitignore file is changed in a way that affects
a specific subdirectory only.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2020-12-20 08:00:00 +00:00
Mark Wielaard 84f1daf129 Handle SHF_GNU_RETAIN in eu-readelf and eu-elflint.
readelf -S now shows 'R' when SHF_GNU_RETAIN is set.
elflint accepts SHF_GNU_RETAIN when set on section in --gnu mode.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-12-16 19:44:47 +01:00
Dmitry V. Levin 0a5defb64e Consistently define _(Str) using dgettext ("elfutils", Str)
Move the definition of _(Str) macro to lib/eu-config.h which already
provides a definition of N_(Str) macro.  Since lib/eu-config.h is
appended to config.h, it is included into every compilation unit
and therefore both macros are now universally available.

Remove all other definitions of N_(Str) and _(Str) macros from other files
to avoid conflicts and redundancies.

The next step is to replace all uses of gettext(Str) with _(Str).

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2020-12-16 10:01:52 +00:00
Dmitry V. Levin 29d3b65896 tests: fix spelling typos in error diagnostics and comments
Cannnot -> Cannot
decriptors -> descriptors
experssions -> expressions
explit -> explicit
falg -> flag
irrelevent -> irrelevant
mininum -> minimum
outselves -> ourselves
proces -> process
versio -> version

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2020-12-12 18:06:28 +01:00
Dmitry V. Levin 441d2f09e1 Remove unused tests/configure.ac
tests/configure.ac was introduced 15 years ago by commit
d7f8d0caa7.  However, the ability to build
tests as a separate project was broken by the same author 4 years later
by commit 22359e2653, if not earlier.

An attempt to run autoreconf in tests would currently fail
with the following automake error:
automake: error: cannot open < config/eu.am: No such file or directory

Apparently, nobody builds tests as a separate project for more than 10
years, so cleanup the remains of that unused and broken code.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2020-12-11 12:47:54 +01:00
Frank Ch. Eigler ba6499984c debuginfod: sqlite3 metrics
Add metrics for tracking sqlite3 error counts and query performance.

The former looks like a new sibling of the "error_count" family, and
is tested by dd-corrupting a live database file then triggering some
debuginfod activity.

    error_count{sqlite3="file is not a database"} 1

The latter looks like _count/_sum pairs for each type of sqlite
prepared-statement used in the code, and is grep smoke-tested.  They
should assist a sysadmin in tuning db storage.  This example shows a
6.4 ms/operation cost:

    sqlite3_milliseconds_count{step-done="rpm-file-intern"} 318
    sqlite3_milliseconds_sum{reset="rpm-file-intern"} 2033

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2020-11-25 19:42:10 -05:00
Frank Ch. Eigler 73548bd3e8 debuginfod: add thread-busy metrics to webapi service
Improve monitoring of debuginfod instances by tracking thread_busy
status for the threads responding to http requests.  While these are
usually short-lived, longer archive-uncompress operations can take
long enough time to show up on top/uptime.  This should also assist
noticing abusive clients and guide scaling of the service.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2020-11-21 17:10:49 -05:00
Mark Wielaard 6105277a59 tests: Create bogus R/nothing.rpm with cyclic symlink.
We used to try to trigger an error during debuginfod scanning using
a chmod 000 file. But this doesn't always result in an error. Create
a cyclic symlink instead, which always results in a failure to open/read.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-11-06 18:37:36 +01:00
Érico Rolim ced66615bd Switch from numerical to defined constants for permissions.
Use defined constants for permission values. Also add fallback
definitions for them in system.h, to allow for compatibility with
systems that don't provide these macros.

Include system.h in all tests/ files that required it.

Signed-off-by: Érico Rolim <erico.erc@gmail.com>
Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-11-03 15:54:14 +01:00
Frank Ch. Eigler 201077456a debuginfod: Accelerate traversal, shutdowns, improve metrics
Added new metrics for scanning that allow estimation of its reading
bandwidth.  Accelerated responsivity to SIGINT shutdown during
archive-scanning phase, which previously insisted on completely
processing the current archive.  Noted in systemd service file that in
the worst case, it might still take a long time.  Accelerated
traversals by moving regex -I/-X handling to apply to file names only
(as always documented), so directory traversal metrics are accurate
regardless of their name.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2020-10-31 10:00:39 -04:00
Mark Wielaard 63719a2c15 tests: Add dlopen override to dwfl-proc-attach for old glibc/valgrind.
Some combination of old glibc and valgrind create unsuppressable memory
leak warnings when the process is run under valgrind, is multi-threaded
and uses dlopen. libdw will try to dlopen libdebuginfod be default.
So simply override dlopen and always return NULL to make sure
libdebuginfod is never loaded.  The dwfl-proc-attach test doesn't rely
on libdebuginfod anyway.

This was seen on the armbian buildbot which uses valgrind 3.14.0 and
glibc 2.28.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-10-31 13:43:42 +01:00
Mark Wielaard 92692b8170 tests: Remove bashism from test-wrapper.sh /bin/sh script.
Debian uses dash as /bin/sh which is pretty strict about syntax. It
didn't like the == in  the test for strings in the test-wrapper.sh.
Replace by single =.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-10-31 11:19:23 +01:00
Mark Wielaard 70717f8c1f tests: Run valgrind also on binary tests.
When configuring with --enable-valgrind we were only running valgrind
on tests with a shell wrapper script. This patch makes sure to also run
valgrind on "pure" binary tests. This found one small issue in libasm
where we could be writing some uninitialized padding to an ELF file.
And there were a couple tests that didn't clean up all the resources
they used. Both issues are also fixed with this patch.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-10-31 00:49:42 +01:00
Frank Ch. Eigler 736cd2e2b5 PR26775: restore thread_work_groom metric to cycle count
... and add new metrics about progress of traversal and groom
processes.  Correct one control flow abnormality that could
prematurely end a scanner thread and might have accounted for
the inconsistent test results from the previous patch.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2020-10-30 18:26:04 -04:00
Frank Ch. Eigler 2237828857 PR26775: make grooming progress visible & interruptible
On very large servers, it's desirable to be able to interrupt a rescan
or groom cycle.  SIGUSR[12] now do that.  (Unfortunately, this is not
practically testable in the testsuite, since these cycles are so fast
on that small dataset.)  We also expose more internal progress count
about the grooming pass, so the administrator can assess possible need
to interrupt.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2020-10-30 10:09:29 -04:00
Frank Ch. Eigler f5015aebdb PR26810: debuginfod should tolerate some absence/renaming sans grooming
debuginfod now knows to handle a case where a buildid search is
satisfiable from more than one source (e.g., archive location), but
some of them are invalid.  New exception catching beneath the sqlite
scanning loop ensures all possible matches are scanned in case of
errors.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2020-10-30 10:09:29 -04:00
Mark Wielaard 4c39dc18bb tests: Add read_unaligned testcase
Run tests/read_unaligned 1 on a big endian and little endian machine
to generate the le_mem and be_mem arrays. The one byte variants are
kind of impossible to get wrong, but including them makes sure the
other variants are not naturally aligned in memory.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-10-30 00:12:05 +01:00
Tom Tromey 70343f4844 Fix leb128 reading
PR 26773 points out that some sleb128 values are decoded incorrectly.

This version of the fix only examines the sleb128 conversion.
Overlong encodings are not handled, and the uleb128 decoders are not
touched.  The approach taken here is to do the work in an unsigned
type, and then rely on an implementation-defined cast to convert to
signed.

Signed-off-by: Tom Tromey <tom@tromey.com>
2020-10-29 23:59:25 +01:00
Mark Wielaard 5621fe5443 libdw: dwarf_frame_register takes an array of at least 3 Dwarf_Ops
GCC11 will warn about a mismatch in the declaration of dwarf_frame_register:

dwarf_frame_register.c:37:61: error: argument 3 of type ‘Dwarf_Op *’
  declared as a pointer [-Werror=array-parameter=]
   37 | dwarf_frame_register (Dwarf_Frame *fs, int regno, Dwarf_Op *ops_mem,
      |                                                   ~~~~~~~~~~^~~~~~~
libdw.h:1068:43: note: previously declared as an array ‘Dwarf_Op[3]’
 1068 |                                  Dwarf_Op ops_mem[3],
      |                                  ~~~~~~~~~^~~~~~~~~~

When fixing that it will show an actual bug in the addrcfi testcase:

addrcfi.c:98:16: error: ‘dwarf_frame_register’ accessing 96 bytes in a
  region of size 64 [-Werror=stringop-overflow=]
   98 |   int result = dwarf_frame_register (stuff->frame, regno, ops_mem, &ops, &nops);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
addrcfi.c:98:16: note: referencing argument 3 of type ‘Dwarf_Op *’
 1069 | extern int dwarf_frame_register (Dwarf_Frame *frame, int regno,
      |            ^~~~~~~~~~~~~~~~~~~~

Fix the declaration, fix the bug and add an extra comment to the description
in libdw.h.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-10-26 22:44:07 +01:00
Mark Wielaard e14a5561f7 backends: Remove tilegx backend.
Support for the Tilera TILE-Gx processor has been removed or deprecated
in gcc and binutils already. There are no users and there is no way to
test it.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-10-26 22:44:07 +01:00
Frank Ch. Eigler 01348c28a2 PR26756: add more prometheus metrics to debuginfod
Add an error_count{} family of metrics for each libc/libarchive/http
exception instance created during operation.  Add a family of fdcache*
metrics for tracking fdcache operations and status.  Test via a
injecting a permission-000 empty nothing.rpm in the testsuite.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2020-10-21 13:37:34 -04:00
Mark Wielaard 52536d7d21 libdwfl: Add ZSTD support.
Newer kernels might be compressed using ZSTD add support to libdwfl open
so we can can automatically read ZSTD compressed files and kernel images.

The support is very similar to the bzip2 and lzma support, but slightly
different. With a bit more macros it could maybe have used the gzip.c
USE_INFLATE code path. But I felt that the many macros didn't really help
understand the code. So the unzip routine has a slightly different code
path for ZSTD.

https://sourceware.org/bugzilla/show_bug.cgi?id=26632

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-09-21 15:17:00 +02:00
Mark Wielaard 5ed73d79bf libdw,readelf: Recognize DW_CFA_AARCH64_negate_ra_state
DW_CFA_AARCH64_negate_ra_state is used on aarch64 to indicate whether
or not the return address is mangled or not. This has the same value
as the DW_CFA_GNU_window_save. So we have to pass around the e_machine
value of the process or core we are inspecting to know which one to
use.

Note that it isn't actually implemented yet. It needs ARMv8.3 hardware.
If we don't have such hardware it is enough to simply ignore the
DW_CFA_AARCH64_negate_ra_state (and not confuse it with
DW_CFA_GNU_window_save) to get backtraces to work on aarch64.

Add a testcase for eu-readelf --debug-dump=frames to show the value
is correctly recognized. Also don't warn we cannot find any DWARF
if we are just dumping frames (those will come from .eh_frame if
there is no .debug_frame).

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-09-07 12:21:10 +02:00
Mark Wielaard 18d64cd8e7 libebl: Handle aarch64 bti, pac bits in gnu property note
When building with gcc -mbranch-protection= we might get a gnu property
note indicating BTI (Branch Target Identification) and/or PAC (Pointer
Authentication Code) is being used.

Add a small testcase to show eu-readelf -n now properly lists those
bits in the gnu property note.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-09-07 11:23:54 +02:00
Mark Wielaard 1549518230 Only typedef Ebl once.
Since commit 287a18452 libasm.h defines an opague Ebl handle.
This is fine, except for (internal) code that also includes libebl.h.
Since C11 having multiple typedefs for the same thing is fine, but we
do build using GNU/C99. This also allows multiple same typedefs, except
for (very) old GCCs.

This only affects internal code, since libebl.h isn't a public header.

For internal code, only add the typedef in libebl.h when libasm.h
hasn't been included. Make sure all code that includes both headers
includes libasm.h first.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-07-23 22:46:46 +02:00
Mark Wielaard f9915d3f19 libasm: Make libasm.h include work without relying on any other include.
The public headers should be usable when includes as is.
libasm.h wasn't because it was using gelf.h data structures without
include gelf.h. Include it now in libasm.h.

Add a new testcase run-test-includes.sh to test all public headers
can be included "standalone".

https://sourceware.org/bugzilla/show_bug.cgi?id=26176

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-07-18 01:50:01 +02:00
Alice Zhang 8de6f9af46 debuginfod: DEBUGINFOD_URLS should accept scheme-free urls
Check scheme instead of effective url so that user may abbreviate
DEBUGINFOD_URL. Add one test for scheme free http url.

Notice that libcurl does not provide an almighty scheme free url
support, /path/to/something without FILE:// can not be recognized
in most circumstances, therefore for the neatness of our code
structure, DEBUGINFOD_ URL of scheme "FILE" must be input as URI.

Signed-off-by: Alice Zhang <alizhang@redhat.com>
2020-07-05 17:00:33 +02:00
Mark Wielaard f7f0cdc59a debuginfod: Add --disable-libdebuginfod and --enable-libdebuginfod=dummy.
Make it possible to build just the debuginfod client or to create a
dummy libdebuginfod that doesn't link against libcurl. The dummy library
can be used for bootstrapping. For testing purposes you can also build
debuginfod against the dummy libdebuginfod but then the debuginfod
server will not be able to do delegation.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-07-04 01:30:07 +02:00