git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Junio C Hamano <junkio@cox.net>
Date
Jun 24, 2006, 11:57 UTC
Message-ID
<7vac82wytw.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20060624111657.GR21864@pasky.or.cz>
Petr Baudis <pasky@suse.cz> 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.
Show 9 quoted lines
> ...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
 }
Previous: Petr BaudisNext: Petr Baudis
Message 23 of 25 in “Introduce Git.pm (v4)”
  1. 01/12 Introduce Git.pm (v4)Petr Baudis, Jun 24, 2006
  2. 02/12 Git.pm: Implement Git::exec_path()Petr Baudis, Jun 24, 2006
  3. 03/12 Git.pm: Call external commands using execv_git_cmd()Petr Baudis, Jun 24, 2006
  4. 04/12 Git.pm: Implement Git::version()Petr Baudis, Jun 24, 2006
  5. 05/12 Customizable error handlersPetr Baudis, Jun 24, 2006
  6. 06/12 Add Error.pm to the distributionPetr Baudis, Jun 24, 2006
  7. 07/12 Git.pm: Better error handlingPetr Baudis, Jun 24, 2006
  8. Junio C HamanoJun 24, 2006
  9. Petr BaudisJun 24, 2006
  10. Petr BaudisJun 25, 2006
  11. Junio C HamanoJun 25, 2006
  12. 08/12 Git.pm: Handle failed commands' outputPetr Baudis, Jun 24, 2006
  13. 09/12 Git.pm: Enhance the command_pipe() mechanismPetr Baudis, Jun 24, 2006
  14. 10/12 Git.pm: Implement options for the command interfacePetr Baudis, Jun 24, 2006
  15. 11/12 Git.pm: Add support for subdirectories inside of working copiesPetr Baudis, Jun 24, 2006
  16. 12/12 Convert git-mv to use Git.pmPetr Baudis, Jun 24, 2006
  17. Petr BaudisJun 24, 2006
  18. Junio C HamanoJun 24, 2006
  19. Petr BaudisJun 24, 2006
  20. Junio C HamanoJun 24, 2006
  21. Petr BaudisJun 24, 2006
  22. Petr BaudisJun 24, 2006
  23. Junio C HamanoJun 24, 2006
  24. Petr BaudisJun 24, 2006
  25. Junio C HamanoJun 25, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.