[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#966705: elfutils introduced a bootstrap loop via libmicrohttpd-dev



On Sun, 2020-08-02 at 07:17 -0400, Frank Ch. Eigler wrote:
> > please send a patch to build without libdebuginfod/debuginfod.
> 
> For distro bootstrapping purposes, elfutils can be built with a
> configure option that builds a libmicrohttpd- / libcurl- free set of
> stub binaries / libraries.  That should suffice to be able to build
> the buildroot of the distro.

0.180 comes with a simple --disable-debuginfod which will simply not
build the debuginfod server binary and libdebuginfod client library and
helper program. Which you could use during bootstrap. Afterwards you'll
need to build elfutils with --enable-debuginfod and rebuild everything
that depends on libdebuginfod.

After 0.180 was released two new configure flags --disable-
libdebuginfod and --enable-libdebuginfod=dummy were introduced to have
slightly more fine grained control over whether just the server or just
the client would be build:

commit f7f0cdc59a13780938ae3f578955737a75e60ea9
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Jun 19 19:41:08 2020 +0200

    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>

See also https://sourceware.org/bugzilla/show_bug.cgi?id=25509

You could use --enable-libdebuginfod=dummy and --disable-debuginfod
during bootstrap and then rebuild elfutils again with 
--enable-debuginfod and --enable-debuginfod after bootstrap. The
advantage of using --enable-libdebuginfod=dummy is that you do get an
abi compatible stub libdebuginfod which other programs can link to
(during bootstrap) so you don't have to rebuild the whole dependency
chain afterwards.

If it is convenient for Debian we can do a 0.181 release to make this
official.

Cheers,

Mark


Reply to: