> The following was supposedly scribed by
> Adrian Howard
> on Wednesday 18 February 2004 10:54 am:

>You can get MakeMaker to do all the tedious jumping between directories
>and building for you. See
><http://www.perlmonks.org/index.pl?node_id=291297> for an example.
>
>You can checkout, build and distribute individual modules if you want -
>or checkout and build the whole tree.
>
>Would this work for you?

This takes care of the build and distribute issues, but the check-in doesn't 
seem to be handled.

I've got a subversion repository setup now, so I'm doing some experiments to 
figure out what is the best way to handle this.  Basically, I want to 
checkout a purely code tree, such that if I did:

svn co svn://servername/module/trunk/code

I could then 'perl -Icode program.pl' and be using the latest version of the 
modules.

But, I don't want to always be doing 'perl -Icode' or have to stick to the 
original checkout directory, so I'd rather copy the latest modules somewhere 
into the global @INC directories.

  svn co svn://servername/module/trunk/code
  cd code
  for i in `find -iname "*.pm"`;do cp $i /usr/lib/perl/site-perl/5.6.1/;done

Note that this will only work if the tree of code/ looks like:
  `-- CAD
      `-- Drawing.pm
(which is incompatible with the h2xs style tree)
  `-- CAD
    `-- Drawing
      `-- Drawing.pm

So, now I can move all over the system, running new programs, and adding new 
functions to the modules (directly in the @INC tree), but when I reach the 
point where I want to check them back in, I've got to do something like:

  # (still in the code/ directory)
  for i in `find -iname "*.pm"`;do cp /usr/lib/perl/site-perl/5.6.1/$i $i;done
  svn commit

Because /usr/lib/perl/site-perl/5.6.1/ will have lots of modules which are not 
in my svn repository.

I guess the main issue is translating between the @INC-style tree and the 
h2xs-style tree.  Then, ExtUtils::MakeMaker could take care of the rest.

--Eric


Reply via email to