git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Andreas Herrmann <aherrmann@suse.de>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] configure.ac: Don't overwrite NO_EXPAT option
Date: Thu, 13 Jul 2023 10:02:17 -0700	[thread overview]
Message-ID: <xmqqwmz3pwx2.fsf@gitster.g> (raw)
In-Reply-To: <20230713074654.23957-1-aherrmann@suse.de> (Andreas Herrmann's message of "Thu, 13 Jul 2023 09:45:41 +0200")

Andreas Herrmann <aherrmann@suse.de> writes:

> Subject: Re: [PATCH] configure.ac: Don't overwrite NO_EXPAT option

Downcase "D" in "Don't" (cf. "git log --oneline --no-merges
--since=2.months"), please.

> Even if 'configure --with-expat=no' was run, expat support is used,
> because library detection overwrites it. Avoid this overwrite.

As I suspect that "configure" is not used a part of any experienced
Git developers' daily development cycle, it is unfortunately very
understandable how this left unnoticed for so long, ever since
424adc50 (autoconf: Move variables which we always set to
config.mak.in, 2006-08-08), if I am reading the patch correctly, as
a part of the very beginning of autoconf support.

Thanks for spotting it, and the fix look straight-forward.

> (I think, configure should obey what the user has specified.)

Sure, but please rephrase this parenthesized sentence.

 * if you are unsure, and leaning to negative, say that below the
   three-dash line.  No need for (parentheses).

 * otherwise, lose the (parentheses), "I think", and in general be
   more assertive.

The latter is more preferrable.  The sentence with "I think" is your
proposal to make it the project policy to make sure that ./configure
script honors what the user gave it.  If other developers disagree
with the policy you propose there, they will object and give their
reason during their reviews.  If we adopt it as the project policy,
which I personally think is very sensible, it is good to have it
stated not as a mere personal opinion of the author of a commit, but
more as a general rule.

Having said all that, I have some further observation.

The NO_EXPAT support does not look *so* special.  It is split into
two parts:

 * Use AC_ARG_WITH(expat) to handle "--with-expat"

 * AC_CHECK_LIB([expat]) to auto-detect NO_EXPAT

Aren't there other symbols that share the same pattern?  For
example, how well do NO_CURL or NO_ICONV (which I picked because
AC_ARG_WITH(curl) comes before and AC_ARG_WITH(iconv) comes after
AC_ARG_WITH(expat)) work?  Do they share the same issue?

A quick "git grep AC_ARG_WITH" finds openssl, libpcre*, and tcltk
also share the same pattern, in addition to curl and iconv.  I may
be misreading the script but USE_LIBPCRE2 support looks OK.
NO_OPENSSL looks iffy, though not wrong per-se.  SHA1_Init is probed
in libcrypto and in libssl regardless of the value of NO_OPENSSL.

I do not think it is a good idea to address the same issue for some
of these other symbols, in addition to expat, in a single patch.
Let's have people review the current patch for NO_EXPAT first, and
leave the other symbols for possible follow-up patches.

Thanks.

  reply	other threads:[~2023-07-13 17:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-13  7:45 [PATCH] configure.ac: Don't overwrite NO_EXPAT option Andreas Herrmann
2023-07-13 17:02 ` Junio C Hamano [this message]
2023-07-14  7:11   ` Andreas Herrmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqwmz3pwx2.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=aherrmann@suse.de \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).