Re: [PATCH 01/12] Introduce Git.pm (v4)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Petr Baudis <pasky@xxxxxxx> writes:

> (This is also why I was a bit confused by your make test patch - it does
> not "fix" anything per se since no tests directly use Git.pm.)

You are right.

You do not want to be testing installed version, but the one
freshly built, so the patch does not have any effect, except for
one case: testing before installing Git.pm for the first time
anywhere yet.  -I prepends the directory to the search path, so
we are not testing the freshly built copy at all.

Is there a way from the environment to override this behaviour,
so that we can run the tests properly?  I think PERL5LIB and
PERLLIB are defeated by having -I there (that's why I said I
liked what Fredrik did with his Python script, which appends the
final installed location to the search path).  I think unshift
into @INC by hand (i.e. without even using use lib "$path")
would do what we want, but I feel that is a bit too ugly just 
for the testing X-<.

I suspect we would need to think this a bit more... sigh.

> ...because well, they do:
>
> $(patsubst %.perl,%,$(SCRIPT_PERL)) : % : %.perl
> 	rm -f $@ $@+
> 	sed -e '1s|#!.*perl\(.*\)|#!$(PERL_PATH_SQ)\1 -I'"$$(make -s -C perl instlibdir)"'|' \
> 	    -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
> 	    $@.perl >$@+
> 	chmod +x $@+
> 	mv $@+ $@

I'll need to look at why it fails for me, but the above seems to
be doing the right thing, from a superficial look at least.

git-fmt-merge-msg substituted like the above begins with:

	#!/usr/bin/perl -w -I/home/junio/git-pu/share/perl/5.8.8

because my $(prefix) is /home/junio/git-pu/ when building from "pu"
branch.  Then it goes on to create ~/git-pu/{lib,share}/perl/5.8.8
and does this:

make -C perl install
make[1]: Entering directory `/opt/git/git.git/perl'
Installing /home/junio/git-pu/lib/perl/5.8.8/auto/Git/Git.so
Installing /home/junio/git-pu/lib/perl/5.8.8/auto/Git/Git.bs
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /home/junio/git-pu/lib/perl/5.8.8/Git.pm
Installing /home/junio/git-pu/lib/perl/5.8.8/Error.pm
Installing /home/junio/git-pu/man/man3/Error.3pm
Installing /home/junio/git-pu/man/man3/Git.3pm
Writing /home/junio/git-pu/lib/perl/5.8.8/auto/Git/.packlist
Appending installation info to /home/junio/git-pu/lib/perl/5.8.8/perllocal.pod

It appears that this is needed perhaps?

diff --git a/perl/Makefile.PL b/perl/Makefile.PL
index 54e8b20..92c140d 100644
--- a/perl/Makefile.PL
+++ b/perl/Makefile.PL
@@ -3,7 +3,7 @@ use ExtUtils::MakeMaker;
 sub MY::postamble {
 	return <<'MAKE_FRAG';
 instlibdir:
-	@echo $(INSTALLSITELIB)
+	@echo $(INSTALLSITEARCH)
 
 MAKE_FRAG
 }

-
: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]