Subject: Re: [PATCH v0 1/1] Teach git version --build-options about zlib+libcurl

From: Junio C Hamano <[email-masked]>
Date: Fri, 21 Jun 2024 22:11:12 -0700

Junio C Hamano <[email-masked]> writes:

> Unfortunately, we cannot use the same trick, i.e. "Makefile
> knows not to even compile when NO_CURL is set", as this change is to
> help.c and we cannot say "if you do not have libcURL, you do not get
> any help" ;-)
>
>         #ifndef NO_CURL
>         #include "git-curl-compat.h"
>         #endif
>
> may be a simplest workaround, as Makefile does this:
>
>         ifdef NO_CURL
>                 BASIC_CFLAGS += -DNO_CURL
> 		...

So, the version I queued looks like so:

        diff --git a/help.c b/help.c
        index ce55aaa2c0..92bfef140b 100644
        --- a/help.c
        +++ b/help.c
        @@ -15,6 +15,10 @@
         #include "prompt.h"
         #include "fsmonitor-ipc.h"

        +#ifndef NO_CURL
        +#include "git-curl-compat.h" /* For LIBCURL_VERSION only */
        +#endif
        +
         struct category_description {
                uint32_t category;
                const char *desc;
        @@ -757,6 +761,9 @@ void get_version_info(struct strbuf ...

                        if (fsmonitor_ipc__is_supported())
                                strbuf_addstr(buf, "feature: fsmonitor--daemon\n");
        +#if defined LIBCURL_VERSION
        +		strbuf_addf(buf, "libcurl: %s\n", LIBCURL_VERSION);
        +#endif
         #if defined OPENSSL_VERSION_TEXT
                        strbuf_addf(buf, "OpenSSL: %s\n", OPENSSL_VERSION_TEXT);
         #endif

but then there are a few "side builds" at GitHub CI, one of which is
"minimum fuzzer" build.  It compiles bunch of object files without
giving much build options but the final target of the build is not
"git" but something else [*].  And because the job is not interesting
in building a working "git", the environment does not install libcURL,
leading to a failed build.

I sent a separate patch to address this build failure, which is
found at https://lore.kernel.org/git/[email-masked]/

[Reference]
 * https://github.com/git/git/actions/runs/9623017127/job/26544995557