develooper Front page | perl.dist | Postings from May 2002

Solaris/perl packaging issues.

From:
Alan Burlison
Date:
May 14, 2002 07:13
Subject:
Solaris/perl packaging issues.
Message ID:
3CE11B3B.4B3745C0@sun.com
I know there has been a lot of discussion about splitting up perl into
chunks, and we too have had to do this for Solaris.  The reason is that
perl is included in the Solaris boot image, and 5.6.1 (included in Solaris
9) is far too big to fit.  It is in there in the first place to allow
people to customise their Jumpstart (OS auto-install) environment using
perl.  5.005_03 fitted fine into the Solaris 8 boot image, so continuing
growth (I'm carefully avoiding the 'bloat' word ;-) is a real problem.

My approach was to split perl into 'core' and 'everything-else'.  The
miniroot (OS boot image) includes just the core bits, but when you have
actually installed the OS you will end up with both the core and
everything-else bits installed.

Here are the bits I removed and put into the 'everything-else' package:

a2p, c2ph, h2XXX, pod2XXX, B::, CGI::, CPAN::, Devel::,  ExtUtils::, all
PODs, all lib/*.pl files, all of lib/unicode and all .h files under CORE.

Because there only has to be enough there to run during OS install, it is
reasonable to assume that all this stuff won't be used, although it is
obviously too drastic to be considered as a standard cut-down version of
perl.

I have done some experimentation, and the absolute minimum required for a
functioning perl interpreter (picoperl? is):

../bin/perl
../lib/perl5/5.6.1/sun4-solaris-64int/auto/DynaLoader/autosplit.ix
../lib/perl5/5.6.1/sun4-solaris-64int/auto/DynaLoader/dl_expandspec.al
../lib/perl5/5.6.1/sun4-solaris-64int/auto/DynaLoader/dl_find_symbol_anywhere.al
../lib/perl5/5.6.1/sun4-solaris-64int/auto/DynaLoader/dl_findfile.al
../lib/perl5/5.6.1/sun4-solaris-64int/auto/File/Glob/Glob.so
../lib/perl5/5.6.1/sun4-solaris-64int/auto/File/Glob/autosplit.ix
../lib/perl5/5.6.1/sun4-solaris-64int/Config.pm
../lib/perl5/5.6.1/sun4-solaris-64int/XSLoader.pm
../lib/perl5/5.6.1/sun4-solaris-64int/DynaLoader.pm
../lib/perl5/5.6.1/sun4-solaris-64int/CORE/libperl.so
../lib/perl5/5.6.1/strict.pm
../lib/perl5/5.6.1/warnings.pm
../lib/perl5/5.6.1/Carp.pm
../lib/perl5/5.6.1/Exporter.pm
../lib/perl5/5.6.1/File/Glob.pm
../lib/perl5/5.6.1/AutoLoader.pm
../lib/perl5/5.6.1/vars.pm
../lib/perl5/5.6.1/warnings/register.pm
../lib/perl5/5.6.1/Carp/Heavy.pm
../lib/perl5/5.6.1/Exporter/Heavy.pm

On Solaris this comes to 1692K

Anything else is just jam ;-)

-- 
Alan Burlison
--
$ head -1 /dev/bollocks
adaptively characterize back-end meta-architectures, going forwards



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About