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

Re: Find .pm files automatically (was Re: Fix git-svn tests for SVN 1.7.5.)

From
Michael G Schwern <schwern@pobox.com>
Date
Jul 18, 2012, 01:41 UTC
Message-ID
<50061435.1090900@pobox.com>
In-Reply-To
<20120718000120.GG25325@burratino>
On 2012.7.17 5:01 PM, Jonathan Nieder wrote:
Show 8 quoted lines
>> It also moves Error.pm into a bundle directory.  This both makes it just
>> another directory to scan (or not scan), but it also makes it possible to
>> bundle additional modules in the future.  ExtUtils::MakeMaker uses this
>> technique itself.
> 
> This is not so much "also" as "as an example to demonstrate the
> technique", no?  I guess I'd prefer it to be in a separate patch, but
> this way's fine, too.

I wrote the MakeMaker system so I was just cribbing off that. It made more sense to build a list of directories to scan and then scan them than to add individual file exceptions later. I could put it in a separate patch, but it would require some bending.

> You'll probably hate this.  Because we have a bunch of patches to
> incorporate, I think it's worth spending the time to make that go as
> smoothly as possible for later patches.

Sorry. I have lots of experience with git but very little with the email submission tools. I've always either just done everything via repositories or used Github.

It sounds like I should figure out the git-send-email tool and do this very slowly.

> The word "bundles/" left me a little nervous, because I (ignorantly)
> imagined that this might be some specialized facility like Python eggs
> or Ruby gems.
Nope, just copy .pm files in.
> Is the intent that this directory contains CPAN modules
> we want to be able to depend on?
Yes.
> Is there really any intention of having more of them than Error.pm?

No idea, this is my first look at the code, but now it's possible. In my experience, if there's a barrier to using CPAN modules then people won't use them. They'll rewrite the functionality poorly.

Show 5 quoted lines
> Before this patch, in the default case (with MakeMaker), "make
> install" wrote a manpage in <mandir>/man3/private-Error.3pm.  Does it
> still do so after the patch?  Will people who have installation
> scripts that expected that manpage have to change them, and if so, is
> the new behavior better to make up for that effort?

The man page is now man3/bundles::Error::Error.3 which is equally as incorrect as man3/private-Error.3. It is possible to correct that so it's man3/Error.3, but that's going to require some effort. Basically its in the same boat as PM. Once you have to change one you have to change them all.

Why do install scripts have specific code to look for that man page?

If it's going to be trouble I can put Error.pm back. It's just something I did in passing.

Show 14 quoted lines
>> +# Don't forget to update the perl/Makefile, too.
>> +# Don't forget to test with NO_PERL_MAKEMAKER=YesPlease
> 
> Now the reader will have no reason to be looking at this file, so
> these comments are pretty much useless.  In an ideal world, "make
> test" in the MakeMaker build would automatically "grep perl/Makefile"
> to catch modules that are not listed there, but that can wait, I
> imagine.
> 
> Alternatively, maybe there could be a perl/modules.list that both
> makefiles read?  That way, if I drop in an unrelated .pm file for
> reference while coding the build system would not be confused by
> it, and since both build systems would use the same module list
> there would be no risk of it falling out of date.

Ideally, that second Makefile would go away. Parallel build systems are extra work and generate bugs.

The log suggests it might have something to do with people wanting to build with an ActiveState Perl on Cygwin or something? MakeMaker builds different Makefiles depending on the OS, so it may be as simple as telling Makefile.PL what flavor of make you're using.

-- 
emacs -- THAT'S NO EDITOR... IT'S AN OPERATING SYSTEM!
Previous: Jonathan NiederNext: Jonathan Nieder
Message 8 of 34 in “Fix git-svn tests for SVN 1.7.5.”
  1. Michael G SchwernJul 17, 2012
  2. Jonathan NiederJul 17, 2012
  3. Michael G SchwernJul 17, 2012
  4. Extract Git classes from git-svn (4/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  5. Extract Git classes from git-svn (5/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  6. Find .pm files automatically (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  7. Jonathan NiederJul 18, 2012
  8. Michael G SchwernJul 18, 2012
  9. Jonathan NiederJul 18, 2012
  10. Extract Git classes from git-svn (2/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  11. Jonathan NiederJul 18, 2012
  12. Eric WongJul 18, 2012
  13. Michael G SchwernJul 19, 2012
  14. Extract Git classes from git-svn (3/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  15. Jonathan NiederJul 18, 2012
  16. Extract Git classes from git-svn (6/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  17. Extract Git classes from git-svn (7/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  18. Extract Git classes from git-svn (8/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  19. Extract Git classes from git-svn (9/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  20. Extract Git classes from git-svn (10/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  21. Ben WaltonJul 21, 2012
  22. Jonathan NiederJul 17, 2012
  23. Junio C HamanoJul 18, 2012
  24. Thiago FarinaJul 19, 2012
  25. Michael G SchwernJul 24, 2012
  26. Jonathan NiederJul 24, 2012
  27. Eric WongJul 25, 2012
  28. Michael G SchwernJul 25, 2012
  29. OT: mail-based interfaces and web-based interfaces (Re: Extract Git classes from git-svn (1/10))Jonathan Nieder, Jul 25, 2012
  30. Michael G SchwernJul 25, 2012
  31. Eric WongJul 25, 2012
  32. Michael G SchwernJul 26, 2012
  33. Jonathan NiederJul 26, 2012
  34. Eric WongJul 26, 2012

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.