This is done -- I split these up in Jerry's boot.efs setup, and it worked
fine.

We can now built these independently.

Jerry, I'll walk you through how I did this tomorrow.

On Mon, Oct 11, 2010 at 2:11 PM, Phillip Moore <[email protected]>wrote:

> 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