All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Jeff King" <peff@peff.net>,
	"SZEDER Gábor" <szeder.dev@gmail.com>,
	git@vger.kernel.org
Subject: Re: [PATCH v2 0/7] gitweb: fix "make" not including "gitweb" without NOOP run slowdowns
Date: Thu, 23 Jun 2022 12:29:58 +0200	[thread overview]
Message-ID: <220623.865ykrll0j.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <xmqq7d587lqx.fsf@gitster.g>


On Wed, Jun 22 2022, Junio C Hamano wrote:

> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>>>   - I wondered if "make NO_PERL=1" would complain about "gitweb" being
>>>     in the default targets. It doesn't, but it does actually build
>>>     gitweb, which seems a little weird. I don't think we actually rely
>>>     on perl during the build (e.g., no "perl -c" checks or anything),
>>>     and the t950x tests seem to respect NO_PERL and avoid running the
>>>     generated file. So maybe it's OK?
>>
>> I think it's arguably a bug, but as you note we build/test etc. without
>> errors, and I think it's restoring the state before e25c7cc146
>> (Makefile: drop dependency between git-instaweb and gitweb, 2015-05-29).
>>
>> Arguably we should replace with a stub script like git-svn et al, and
>> arguably we should leave it, as you're more likely to e.g. run gitweb on
>> a webserver, so even if you build a "no perl" package, perhaps it's
>> convenient to have "gitweb" part of it, and then on that one box that
>> runs it you'll install perl...
>
> It is perfectly acceptable to "make DESTDIR=... install" and tar up
> the result on a host with NO_PERL and extract it on the target that
> is capable to run gitweb, isn't it?  As long as "make NO_PERL=1"
> gives exactly the gitweb as a build without NO_PERL, that should be
> OK, I would think.  I would think what you have is in a good state.

I think so, but it is inconsistent with how we treat the rest of the
*.perl scripts, which I think is what Jeff is correctly pointing
out.

I.e. if you do this your git-send-email, git-cvsserver, git-svn
etc. will be replaced by this shellscript:

	#!/bin/sh

	echo >&2 "fatal: git was built without support for $(basename $0) (NO_PERL=Y)."
	exit 128

>>>   - Speaking of backwards compatibility: after this series, "cd gitweb
>>>     && make" yields an error. It's got a nice message telling you what
>>>     to do, but it's likely breaking distro scripts. Again, I'm not sure
>>>     I care, but if the point of the exercise was to avoid breaking
>>>     things, well...
>>
>> I think that's OK, having maintained those sorts of build scripts in a
>> past life.
>>
>> I.e. when you upgrade the package it's a minor hassle, and the error
>> tells you exactly what to do, and the fix is a 2-3 lines in your recipe
>> at most.
>
> We could easily add "cd .. && make gitweb" to gitweb/Makefile with
> the same "minor hassle" but that needs to be done just once, instead
> of having to be done once per packager, so I am not sure the above
> argues for a good tradeoff.

True, but I think critically in this case we've never documented that
you should be running gitweb/Makefile directly. I.e. the gitweb/INSTALL
has always documented and assumed that you run these from the top-level.

There's no "make gitweb" target in the sub-Makefile, and the
instructions make it clear that it's the top-level, as we also suggest:

    make configure &&
    [... no cd-ing to gitweb/ ...] &&
    make gitweb

(and there's no "configure" there either).

So I think this will Just Work for anyone who's packaging this already,

I was just going above & beyond in being friendly by emitting that new
message saying you should be running "make" at the top-level in case
anyone built this in a way that we never documented, but which happened
to work before.

  reply	other threads:[~2022-06-23 10:41 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-25 20:56 [PATCH] Makefile: build 'gitweb' in the default target SZEDER Gábor
2022-05-26  0:14 ` Ævar Arnfjörð Bjarmason
2022-05-26  7:57   ` Jeff King
2022-05-26 21:33   ` SZEDER Gábor
2022-05-27  9:23     ` Ævar Arnfjörð Bjarmason
2022-05-31 17:45       ` [PATCH v2 0/7] gitweb: fix "make" not including "gitweb" without NOOP run slowdowns Ævar Arnfjörð Bjarmason
2022-05-31 17:45         ` [PATCH v2 1/7] gitweb/Makefile: define all .PHONY prerequisites inline Ævar Arnfjörð Bjarmason
2022-05-31 17:45         ` [PATCH v2 2/7] gitweb/Makefile: add a $(GITWEB_ALL) variable Ævar Arnfjörð Bjarmason
2022-05-31 17:45         ` [PATCH v2 3/7] gitweb/Makefile: clear up and de-duplicate the gitweb.{css,js} vars Ævar Arnfjörð Bjarmason
2022-05-31 17:45         ` [PATCH v2 4/7] gitweb/Makefile: prepare to merge into top-level Makefile Ævar Arnfjörð Bjarmason
2022-05-31 17:45         ` [PATCH v2 5/7] gitweb: remove "test" and "test-installed" targets Ævar Arnfjörð Bjarmason
2022-05-31 17:45         ` [PATCH v2 6/7] gitweb/Makefile: include in top-level Makefile Ævar Arnfjörð Bjarmason
2022-05-31 17:46         ` [PATCH v2 7/7] Makefile: build 'gitweb' in the default target Ævar Arnfjörð Bjarmason
2022-06-06 17:44         ` [PATCH v2 0/7] gitweb: fix "make" not including "gitweb" without NOOP run slowdowns Junio C Hamano
2022-06-20  8:32           ` SZEDER Gábor
2022-06-21  6:47             ` Jeff King
2022-06-22  9:27               ` Ævar Arnfjörð Bjarmason
2022-06-22 15:37                 ` Junio C Hamano
2022-06-23 10:29                   ` Ævar Arnfjörð Bjarmason [this message]
2022-06-23 23:25                     ` Junio C Hamano
2022-06-23 23:45                       ` Ævar Arnfjörð Bjarmason
2022-06-24  1:14                         ` Junio C Hamano
2022-06-28 10:15         ` [PATCH v3 0/8] " Ævar Arnfjörð Bjarmason
2022-06-28 10:15           ` [PATCH v3 1/8] gitweb/Makefile: define all .PHONY prerequisites inline Ævar Arnfjörð Bjarmason
2022-06-28 10:15           ` [PATCH v3 2/8] gitweb/Makefile: add a $(GITWEB_ALL) variable Ævar Arnfjörð Bjarmason
2022-06-28 10:15           ` [PATCH v3 3/8] gitweb/Makefile: clear up and de-duplicate the gitweb.{css,js} vars Ævar Arnfjörð Bjarmason
2022-06-28 10:15           ` [PATCH v3 4/8] gitweb/Makefile: prepare to merge into top-level Makefile Ævar Arnfjörð Bjarmason
2022-06-28 10:15           ` [PATCH v3 5/8] gitweb: remove "test" and "test-installed" targets Ævar Arnfjörð Bjarmason
2022-06-28 10:16           ` [PATCH v3 6/8] gitweb/Makefile: include in top-level Makefile Ævar Arnfjörð Bjarmason
2022-06-28 10:16           ` [PATCH v3 7/8] Makefile: build 'gitweb' in the default target Ævar Arnfjörð Bjarmason
2022-06-28 10:16           ` [PATCH v3 8/8] gitweb/Makefile: add a "NO_GITWEB" parameter Ævar Arnfjörð Bjarmason

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=220623.865ykrll0j.gmgdl@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    --cc=szeder.dev@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.