The real fix to the issue [is] to fix the build
procedure of gitweb/gitweb.perl so that the above script rewriting is also
applied to it.
I've now implemented this, since it's becoming necessary for the
Mechanize tests. However, I'm not totally confident that what I wrote
is (a) correct and (b) a good idea -- I simply copy-and-pasted from
the previous Makefile entry, since I'm not very proficient with sed.
Comments appreciated!
-- Lea
Makefile | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
gitweb/gitweb.cgi now respects $GITPERLLIB, like the Perl-based Git
commands.
Signed-off-by: Lea Wiemann <redacted>
---
Changed since v1: Added missing INSTLIBDIR initialization.
I just noticed that as of now Gitweb isn't using any Perl modules, so
this change is actually not necessary yet; hence I'm making it an RFC
patch. I'll probably squash this into a larger "gitweb: use new
Git::Repo API" patch (which I'll publish in a few days).
Comments on this change to the Makefile are still appreciated, of
course. :)
-- Lea
Makefile | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
gitweb/gitweb.cgi now respects $GITPERLLIB, like the Perl-based Git
commands.
Signed-off-by: Lea Wiemann <redacted>
---
Changed since v1: Added missing INSTLIBDIR initialization.
I just noticed that as of now Gitweb isn't using any Perl modules, so
this change is actually not necessary yet; hence I'm making it an RFC
patch. I'll probably squash this into a larger "gitweb: use new
Git::Repo API" patch (which I'll publish in a few days).
Comments on this change to the Makefile are still appreciated, of
course. :)
-- Lea
Makefile | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
From: Junio C Hamano <hidden> Date: 2016-06-15 22:44:48
Lea Wiemann [off-list ref] writes:
quoted hunk
gitweb/gitweb.cgi now respects $GITPERLLIB, like the Perl-based Git
commands.
Signed-off-by: Lea Wiemann <redacted>
---
Changed since v1: Added missing INSTLIBDIR initialization.
I just noticed that as of now Gitweb isn't using any Perl modules, so
this change is actually not necessary yet; hence I'm making it an RFC
patch. I'll probably squash this into a larger "gitweb: use new
Git::Repo API" patch (which I'll publish in a few days).
Comments on this change to the Makefile are still appreciated, of
course. :)
-- Lea
Makefile | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
This part seems to duplicate quite a bit of sed insn used elsewhere, and
we may want to factor the common part out, perhaps like this...
Makefile | 25 ++++++++++++++-----------
1 files changed, 14 insertions(+), 11 deletions(-)
gitweb/gitweb.cgi now respects $GITPERLLIB, like the Perl-based Git
commands.
This patch is not for inclusion, it'll be squashed with a larger
commit.
---
Junio C Hamano wrote:
This part seems to duplicate quite a bit of sed insn used elsewhere, and
we may want to factor the common part out, perhaps like this...
Thanks! This needs some tender loving quoting though; diff to your
version:
diff --git a/Makefile b/Makefile
index e6fd8ac..92a802f 100644
--- a/Makefile
+++ b/Makefile
@@ -1065,13 +1065,13 @@ $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
perl/perl.mak: GIT-CFLAGS perl/Makefile perl/Makefile.PL
$(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
PERL_USE_LIB_REWRITE = \
-e '1{' \
- -e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \
+ -e ' s|\#!.*perl|\#!$(PERL_PATH_SQ)|' \
-e ' h' \
- -e ' s=.*=use lib (split(/:/, $$ENV{GITPERLLIB} || "@@INSTLIBDIR@@"));=' \
+ -e ' s=.*=use lib (split(/:/, \$$ENV{GITPERLLIB} || \"@@INSTLIBDIR@@\"));=' \
-e ' H' \
-e ' x' \
-e '}' \
-e 's|@@INSTLIBDIR@@|'"$$INSTLIBDIR"'|g' \
-e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g'
I wonder though if that's too brittle or unmaintainable and we should
rather use the explicit version in v2 (even if it duplicated code);
I'd prefer v2 off the top of my head.
Also, note that I really only did trial-and-error quoting here. ;-)
-- Lea
Makefile | 25 ++++++++++++++-----------
1 files changed, 14 insertions(+), 11 deletions(-)