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>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2017-12-22 11:07:21 -08:00 коммит произвёл Junio C Hamano
Родитель 20d2a30f8f
Коммит 805a378649
2 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -2274,14 +2274,14 @@ endif
po/build/locale/%/LC_MESSAGES/git.mo: po/%.po
$(QUIET_MSGFMT)mkdir -p $(dir $@) && $(MSGFMT) -o $@ $<
PMFILES := $(wildcard perl/*.pm perl/*/*.pm perl/*/*/*.pm perl/*/*/*/*.pm)
PMCFILES := $(patsubst perl/%.pm,perl/build/lib/%.pmc,$(PMFILES))
LIB_PERL := $(wildcard perl/Git.pm perl/Git/*.pm perl/Git/*/*.pm perl/Git/*/*/*.pm)
LIB_PERL_GEN := $(patsubst perl/%.pm,perl/build/lib/%.pm,$(LIB_PERL))
ifndef NO_PERL
all:: $(PMCFILES)
all:: $(LIB_PERL_GEN)
endif
perl/build/lib/%.pmc: perl/%.pm
perl/build/lib/%.pm: perl/%.pm
$(QUIET_GEN)mkdir -p $(dir $@) && \
sed -e 's|@@LOCALEDIR@@|$(localedir_SQ)|g' < $< > $@

Просмотреть файл

@ -39,7 +39,7 @@ sub import {
require Error;
};
local @_ = ($caller, @_);
unshift @_, $caller;
goto &Error::import;
}