Rebuilding the perl5/core releases over and over and over....   just to
tweak and fix the EPD code is getting insane.  This is not a sustainable way
to manage this.   I really think EPD is going undergo several natural
evolutionary steps, and it's rate of change will be FAR greater than
perl5/core, and that's really what drives splitting them up.  There are a
number of other side benefits to splitting it up, too.   We can standardize
on Module::Install and the same xt/* tests across all repos, for example.
 We can go back to using English.pm, too, although that's very minor.

Fortunately, decoupling them is trivial.   Here's how you bootstrap it....

First we build EFS-Perl as a normal CPAN release, say into
perl5/EFS-Perl/1.002_001, and dist it.

Build the perl5/core releases with only the sitecustomize.pl patch we need,
but do NOT install EPD and sitecustomize.pl as part of the release.
 Instead, just install this symlink using an install-post hook:

    ..../install/.exec/lib/perl5/sitecustomize.pl ->
        /efs/dist/perl5/EFS-Perl/5.10/.exec/$platform/5.10/lib/perl5/
sitecustomize.pl

When you first dist this perl5/core release, that symlink doesn't resolve,
and thus perl will ignore it.

You couple perl5/core to perl5/EFS-Perl through the 5.10 and 5.12
releasealiases.

    efs create releasealias perl5 EFS-Perl 5.10 1.002_001
    efs create releasealias perl5 EFS-Perl 5.12 1.002_001

sitecustomize.pl will need to be changed, so that is knows where to load the
EPD code.   perl will load sitecustomize.pl by following the symlink we
installed, NOT by adding:

   /efs/dist/perl5/EFS-Perl/5.10/.exec/$platform/5.10/lib/perl5

to @INC, so sitecustomize.pl will require something to make perl5/EFS-Perl
releases self-referential.

Hmm...  It would be simpler if we used TWO sitecustomize.pl scripts here.
 Instead of a symlink, install a very simple one that manages this
indirection in perl5/core.  This first script just checks for the existence
of the perl5/EFS-Perl release, and then sets @INC for *just* that release,
then requires the second sitecustomize.pl, loaded from perl5/EFS-Perl.

There are two perfectly good solutions, and either one is manageable.  We
need to try one or both out tomorrow, and get things split up, otherwise,
we're going to be beating ourselves to death trying to develop EPD.
_______________________________________________
EFS-dev mailing list
[email protected]
http://mailman.openefs.org/mailman/listinfo/efs-dev

Reply via email to