Advice on single (Active)Perl tree for multiple platforms?

Advice on single (Active)Perl tree for multiple platforms?

am 10.01.2007 15:24:35 von ken1

Hi,

While this is probably a bit generic Perl question, I do intend to use
ActivePerl and PerlApp so I figure I can sneak it in here...:-)

My objective is to use ActivePerl+PerlApp to build an app from Perl source
in at least three flavors (Windows, Linux, Solaris).

On the theory that I'd like to keep strict control on configurations, and
that 'less redundancy is better', Ideally, I'd like it all to reside in CM
controlled space - i.e. 1) an ActivePerl for each platform, 2) a PerlApp for
each platform, 3) a single PERLLIB area (for all the modules I expect to
download and install) and 4) our own source code.

Beginning from the back, #4 is a no-brainer of course. Leaving #3 for a
second, I believe #1 and #2 is simply to messy to handle this way. If anyone
has information to the contrary, I'd be interested to hear about it,
especially how to deal with the issue of things in the AP tree having
hardcoded paths to the installation (as this will be incorrect using a CM
system where the tree can be checked out anywhere). Also, would it be
possible/easy to factor out just the differences between the things?

On #3 however, I wish to confirm that I have understood it correctly that a
single tree can be shared. As I've understood it, this will work due to 1)
most modules are just plain text files anyway, and 2) modules that need
binaries will have their stuff installed in separate dirs by platform.
Correct?

So for a 'simple' module, I should be able to install it once and then use
it for any platform. For 'complex' modules, I'd need to compile it and
install it on each platform. Would there be any caveats regarding line
endings here?

....or should I just forget the whole thing and just maintain a Perl
installation for each platform, installing a module in all installations...?

Any advice and opinions welcome...!

TIA,

ken1

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Advice on single (Active)Perl tree for multiple platforms?

am 10.01.2007 16:14:28 von Gisle Aas

Kenneth Ölwing writes:

> My objective is to use ActivePerl+PerlApp to build an app from Perl sourc=
e =

> in at least three flavors (Windows, Linux, Solaris).
> =

> On the theory that I'd like to keep strict control on configurations, and =

> that 'less redundancy is better', Ideally, I'd like it all to reside in C=
M =

> controlled space - i.e. 1) an ActivePerl for each platform, 2) a PerlApp =
for =

> each platform, 3) a single PERLLIB area (for all the modules I expect to =

> download and install) and 4) our own source code.
> =

> Beginning from the back, #4 is a no-brainer of course. Leaving #3 for a =

> second, I believe #1 and #2 is simply to messy to handle this way. If any=
one =

> has information to the contrary, I'd be interested to hear about it, =

> especially how to deal with the issue of things in the AP tree having =

> hardcoded paths to the installation (as this will be incorrect using a CM =

> system where the tree can be checked out anywhere). Also, would it be =

> possible/easy to factor out just the differences between the things?

A suggestion: You could check in the *.tar.gz (or .zip for Windows)
files for the ActivePerl and PDK distributions you want to use into
your CM system and then just have scripts install them to a temporary
location each time you want to build something with this perl.

This shows how ActivePerl could be installed and run from a script:

PERLDIR=3D/tmp/build-$$
tar xzf ActivePerl-5.8.8.819-i686-linux-glibc-2.2.4-gcc-267479.tar.g z
cd ActivePerl-5.8.8.819-i686-linux-glibc-2.2.4-gcc-267479
./install.sh --prefix=3D$PERLDIR --license-accepted --no-install-html =

cd ..
rm -rf ActivePerl-5.8.8.819-i686-linux-glibc-2.2.4-gcc-267479 =

$PERLDIR/bin/perl -v
rm -rf $PERLDIR

> On #3 however, I wish to confirm that I have understood it correctly that=
a =

> single tree can be shared. As I've understood it, this will work due to 1=
) =

> most modules are just plain text files anyway, and 2) modules that need =

> binaries will have their stuff installed in separate dirs by platform. =

> Correct?

ActivePerl does not use platform specific subdirs for the perl modules
so 2) does not hold. You would need to create separate trees for each
platform.

Regards,
Gisle Aas,
ActiveState
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Advice on single (Active)Perl tree for multiple platforms?

am 10.01.2007 16:25:10 von ken1

>A suggestion: You could check in the *.tar.gz (or .zip for Windows)
>files for the ActivePerl and PDK distributions you want to use into
>your CM system and then just have scripts install them to a temporary
>location each time you want to build something with this perl.

Excellent suggestion - I think that will be the way I do it.

>ActivePerl does not use platform specific subdirs for the perl modules
>so 2) does not hold. You would need to create separate trees for each
>platform.

Ok. Well, no biggie - all is in knowing the rules to play by :-)

Many thanks,

ken1
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Advice on single (Active)Perl tree for multiple platforms?

am 10.01.2007 16:47:34 von ken1

>A suggestion: You could check in the *.tar.gz (or .zip for Windows)
>files for the ActivePerl and PDK distributions you want to use into
>your CM system and then just have scripts install them to a temporary
>location each time you want to build something with this perl.

Hi, minor problem...

In PDK downloads, I can only find MSI packages for Windows. Is it possible
to get the zip or can I easily extract it from the msi?

As I really only will need PerlApp, can I use the Deployment tools package
rather than the Pro Pack (which is the license I have)?

A small nitpick - the download page lists two 'Depl. tools' downloads for
SPARC. The second one should probably say 'x86' instead. Someone might want
to fix...:-)

ken1

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Advice on single (Active)Perl tree for multiple platforms?

am 10.01.2007 18:39:13 von Gisle Aas

Kenneth Ölwing writes:

> In PDK downloads, I can only find MSI packages for Windows. Is it
> possible to get the zip or can I easily extract it from the msi?

Don't think so, but you can use 'msiexec' to install MSIs from the
command line. See:

http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/install .html#window=
s%20installers

Regards,
Gisle
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Advice on single (Active)Perl tree for multiple platforms?

am 10.01.2007 21:02:45 von ken1

Hmm, ok - that might work, but for ActivePerl I'd use the AS style package; =

problem is the PDK.

Are there similar options for the PDK msi, and if so what are they more in =

detail? Can I be sure that an msi installed in that manner won't mess up an=
y =

existing settings in the registry (e.g. if I happen to have PDK 7 installed =

already)? Will it leave uninstall information behind (considering that the =

unpacking of it would be basically a transient thing, and when I'm done I'd =

just wipe the directory where it was installed. Etc...

Failing all the above, is it possible to just scavenge a 'real' PDK =

installation and zip up the whole or part of the tree? If I can just take =

bits and pieces what would be essential (considering just PerlApp)? Seems t=
o =

me the PDK install is pretty benign so this might be the easiest route =

perhaps...

ken1

----- Original Message ----- =

From: "Gisle Aas"
To: "Kenneth Ölwing"
Cc:
Sent: Wednesday, January 10, 2007 6:39 PM
Subject: Re: Advice on single (Active)Perl tree for multiple platforms?


Kenneth Ölwing writes:

> In PDK downloads, I can only find MSI packages for Windows. Is it
> possible to get the zip or can I easily extract it from the msi?

Don't think so, but you can use 'msiexec' to install MSIs from the
command line. See:

http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/install .html#window=
s%20installers

Regards,
Gisle

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Advice on single (Active)Perl tree for multiple platforms?

am 10.01.2007 21:09:55 von Jan Dubois

On Wed, 10 Jan 2007 21:02:45 +0100, Kenneth Ölwing
wrote:

>Hmm, ok - that might work, but for ActivePerl I'd use the AS style package=
; =

>problem is the PDK.
>
>Are there similar options for the PDK msi, and if so what are they more in =

>detail? Can I be sure that an msi installed in that manner won't mess up a=
ny =

>existing settings in the registry (e.g. if I happen to have PDK 7 installe=
d =

>already)? Will it leave uninstall information behind (considering that the =

>unpacking of it would be basically a transient thing, and when I'm done I'=
d =

>just wipe the directory where it was installed. Etc...
>
>Failing all the above, is it possible to just scavenge a 'real' PDK =

>installation and zip up the whole or part of the tree? If I can just take =

>bits and pieces what would be essential (considering just PerlApp)? Seems =
to =

>me the PDK install is pretty benign so this might be the easiest route =

>perhaps...

Yes, you can just ZIP up the PDK install directory and prune it to the
files you need.

For PerlApp on Unix this is probably just

bin/perlapp
lib/pdkcheck-5.x

For PerlApp on Windows you need

bin/perlapp.exe
bin/lib/pdkcheck.exe
bin/lib/pdklib.dll
bin/lib/perl58.dll

You should be able to move the files anywhere as long as you keep the
lib directory at bin/../lib on Unix and at bin/lib on Windows.

You will also need to install the PDK license on your build machine
under your build account.

Cheers,
-Jan
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: Advice on single (Active)Perl tree for multiple platforms?

am 11.01.2007 09:17:51 von ken1

Wonderful - I think this wraps up the issues for now and should enable me t=
o =

nicely CM handle most of the environment (licensing is a separate issue =

obviously) and write some nice make scripts to bring up the build =

environment for the variants I need.

Thanks to you both, Jan/Gisle!

ken1

----- Original Message ----- =

From: "Jan Dubois"
To: "Kenneth Ölwing"
Cc:
Sent: Wednesday, January 10, 2007 9:09 PM
Subject: Re: Advice on single (Active)Perl tree for multiple platforms?


> On Wed, 10 Jan 2007 21:02:45 +0100, Kenneth Ölwing
> wrote:
>
>>Hmm, ok - that might work, but for ActivePerl I'd use the AS style =

>>package;
>>problem is the PDK.
>>
>>Are there similar options for the PDK msi, and if so what are they more in
>>detail? Can I be sure that an msi installed in that manner won't mess up =

>>any
>>existing settings in the registry (e.g. if I happen to have PDK 7 =

>>installed
>>already)? Will it leave uninstall information behind (considering that the
>>unpacking of it would be basically a transient thing, and when I'm done =

>>I'd
>>just wipe the directory where it was installed. Etc...
>>
>>Failing all the above, is it possible to just scavenge a 'real' PDK
>>installation and zip up the whole or part of the tree? If I can just take
>>bits and pieces what would be essential (considering just PerlApp)? Seems =

>>to
>>me the PDK install is pretty benign so this might be the easiest route
>>perhaps...
>
> Yes, you can just ZIP up the PDK install directory and prune it to the
> files you need.
>
> For PerlApp on Unix this is probably just
>
> bin/perlapp
> lib/pdkcheck-5.x
>
> For PerlApp on Windows you need
>
> bin/perlapp.exe
> bin/lib/pdkcheck.exe
> bin/lib/pdklib.dll
> bin/lib/perl58.dll
>
> You should be able to move the files anywhere as long as you keep the
> lib directory at bin/../lib on Unix and at bin/lib on Windows.
>
> You will also need to install the PDK license on your build machine
> under your build account.
>
> Cheers,
> -Jan
> =


_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs