RE: [PATCH v0 1/1] Teach git version --build-options about zlib+libcurl
- From
rsbecker@nexbridge.com <rsbecker@nexbridge.com>
- Date
- Jun 25, 2024, 19:29 UTC
- Message-ID
- <03ef01dac735$f3496ac0$d9dc4040$@nexbridge.com>
- In-Reply-To
- <xmqqtthlimtr.fsf@gitster.g>
On Saturday, June 22, 2024 1:11 AM, Junio C Hamano wrote:
Show 38 quoted lines
>Junio C Hamano <gitster@pobox.com> 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");
Show 5 quoted lines
> +#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/xmqqwmmhimxx.fsf@gitster.g/
My take on the separate patches and discussion about reporting run-time values of libcurl, zlib, and OpenSSL, is that these are being added to --build-options not --runtime-options (does not exist yet). I think that grabbing run-time values could be confusing to users who expect the --build-options even if comparing the two values. --Randall