Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Re: non-CPAN module distributions

by perrin (Chancellor)
on Sep 16, 2003 at 22:05 UTC ( [id://291977]=note: print w/replies, xml ) Need Help??


in reply to Re: non-CPAN module distributions
in thread non-CPAN module distributions

You don't need to put them all in one directory, just make sure you don't use the ridiculous structure that h2xs creates. Schwern has talked about modifying h2xs at some point so that it will no longer do this. With a sane directory structure, you can check things out directly from CVS and use them right away without running make (assuming they are not XS modules), even if they are multiple directories deep. The structure shown in that tutorial you linked to is correct, and you'll note that it is different from what h2xs generates.

Replies are listed 'Best First'.
Re: Re: Re: non-CPAN module distributions
by jmanning2k (Pilgrim) on Sep 17, 2003 at 18:55 UTC
    Really? I've been having trouble with that. Any help you can provide would be appreciated.

    What do I set NAME to? If I set NAME to 'MyCorp', then it only installs modules in lib/MyCorp/, and totally ignores lib/OtherUtils/.

    I have a structure like:

    t/tests.t lib/MyCorp/Mod1.pm lib/MyCorp/Submodules/Mod2.pm lib/OtherUtil/Mod3.pm Makefile.PL bin/helperscript.pl
    The problem is, Mod1.pm and Mod2.pm get installed OK, but Mod3 is ignored. NAME in Makefile.PL is set to 'MyCorp'.

    Do I need multiple makefiles for this? aka:

    Makefile.PL (master) MyCorp/Makefile.PL MyCorp/lib/MyCorp/Mod1.pm OtherUtil/Makefile.PL OtherUtil/lib/OtherUtil/Mod3.pm

    The only way it works for me now, is if I put everything under MyCorp/.

    Thanks, ~Jon

      I don't think the NAME setting affects what gets installed at all. What happens when you set it to OtherUtil? There are definitely distributions on CPAN that have multiple module namespaces and they don't appear to be doing anything special in their Makefile.PL to accomplish this. Maybe you could post your Makefile.PL here?
        OK, I set the NAME setting to something other than one of my top level module names (NAME => 'LocalScripts'). It's really for local use only anyway. But, since NAME isn't one of the module names, it picks up everything in ./lib/.

        BTW - If I set it to OtherUtil, only OtherUtil gets installed, so it does seem to affect what get's installed.

        Thanks! ~Jon

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://291977]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (2)
As of 2024-04-25 20:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found