perl: avoid *.pmc and fix Error.pm further

The previous round tried to use *.pmc files but it confused RPM dependency analysis on some distros. Install them as plain vanilla *.pm files instead. Also "local @_" construct did not properly work when goto &sub is used until recent versions of Perl. Avoid it (and we do not need to localize it here anyway). Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ævar Arnfjörð Bjarmason committed Dec 22, 2017 at 11:07 UTC 805a378649d69aa1503fd2a22afc5490c6e9c2d3
2 files changed +5 -5
Makefile
+4 -4
@@ -2274,14 +2274,14 @@ endif
2274 po/build/locale/%/LC_MESSAGES/git.mo: po/%.po
2275 $(QUIET_MSGFMT)mkdir -p $(dir $@) && $(MSGFMT) -o $@ $<
2276
2277 -PMFILES := $(wildcard perl/*.pm perl/*/*.pm perl/*/*/*.pm perl/*/*/*/*.pm)
2278 -PMCFILES := $(patsubst perl/%.pm,perl/build/lib/%.pmc,$(PMFILES))
2277 +LIB_PERL := $(wildcard perl/Git.pm perl/Git/*.pm perl/Git/*/*.pm perl/Git/*/*/*.pm)
2278 +LIB_PERL_GEN := $(patsubst perl/%.pm,perl/build/lib/%.pm,$(LIB_PERL))
2279
2280 ifndef NO_PERL
2281 -all:: $(PMCFILES)
2281 +all:: $(LIB_PERL_GEN)
2282 endif
2283
2284 -perl/build/lib/%.pmc: perl/%.pm
2284 +perl/build/lib/%.pm: perl/%.pm
2285 $(QUIET_GEN)mkdir -p $(dir $@) && \
2286 sed -e 's|@@LOCALEDIR@@|$(localedir_SQ)|g' < $< > $@
2287
perl/Git/Error.pm
+1 -1
@@ -39,7 +39,7 @@ sub import {
39 require Error;
40 };
41
42 - local @_ = ($caller, @_);
42 + unshift @_, $caller;
43 goto &Error::import;
44 }
45