# =========================================================
# Header details
# Copyright ........: Frank Schulte (fschulte\@hightek.com)
# Module/method ....: ./sourceforge.net/doc/pkg/perl/index.html
# Version ..........: 00001
# CVS ..............: $Id: index.html,v 2001/07/18 01:50:34 fschulte Exp $
# Analyst ..........: FS
# Developers .......: FS  - Frank Schulte (fschulte\@hightek.com)
# Description ......: PERL installation documentation
#  LastAmended Name
#  ----------- -------------------------------------------------------------
# History ..........:
# Vers.     Date    SSR   By  Reason
# ----- ----------- ---- ---- ------------------------------
# 00001 19.12.2000  n/a  FS   Begin Documentation of installation process
# 00002 21.02.2001  n/a  FS   Move changelog into a seperate file.
# =========================================================
0. Changelog: here # Perl 5.6.0 at the time of this writing

# For perl CPAN.pm it is recommended to use:

4.0.1 Perl-5.6.0:

We need Perl for many scripts in the Backendpart. So we install the latest one in our own Base tree. We do NOT install this Perl binary as sitewide perl for this system. We only use it localy in our sourceforge.net Installation path. We do so to not interfere with the default system installation of perl because there can be many special perl modiles be installed we do not want or do not need.

cd ${BASE_SOURCES}/sourceforge.net-binaries-needed-software

cd perl-5.6.0
rm -f config.sh Policy.sh

sh Configure -Dprefix=${PKG}/perl -Uinstallusrbinperl

# Now answer the questions: In this expmple we are on a linux system
# Accept the defaults be pressing <return>
# We only show questions that we will not answer with the default
Q: Use which C compiler= [cc] gcc

# You will be asked several times that an directory doesn't exist and if you want to continue.
# Enter in those situatuins "y" to continue.
Q: Directory /home/system/pkg/sourceforge.net/perl doesn't exist. Use that name anyway? [n] y

Q: Do you want to install perl as /usr/bin/perl? [n] <return>

# type here the contens of ${SF_DOMAIN}
Q: What is you domain name? 8.local] ${SF_DOMAIN}

# type here the contens of ${EMAIL_ADMIN}
Q: What is you e-mail address? [xxx@yyy] ${EMAIL_ADMIN}

# type here the contens of ${EMAIL_ADMIN}
Q: Perl administrator e-mail address [www@rrrr] ${EMAIL_ADMIN}

make depend


make test

# You will probably get an error on lfs operation because you have not enough space in your
# filesystem to create a 5 GB file for testing if the big files support is working or not. You can
# ignore this error.


make install

# Now you can run our SF perl from
/home/system/pkg/sourceforge.net/perl/bin/perl -V Install NcFTP client

It is possible that this software is not realy needed. You can skip this.

cd ${BASE_SOURCES}/sourceforge.net-binaries-needed-software

cd ncftp-3.0.2

./configure --prefix=${PKG}/ncftp/3.0.2

su -

cd ${BASE_SOURCES}/sourceforge.net-binaries-needed-software

cd ncftp-3.0.2

mkdir -p ${PKG}/ncftp/3.0.2

make install Configure and install CPAN.pm module

If we are running behind a firewall we can possibly not use the CPAN.pm module to retreive the module extensions. So we must get the extension elsewhere and do then the installation by hand. But if you can arrange to have suiteable internet connection you can do modul installation interactively.

But if you know the URL of your local ftp and http proxies then you can use CPAN.pm.

# Do as root user

${PKG}/perl/bin/perl -MCPAN -e shell

Q: Are you ready for manual configuration? [yes] <return>
Q: CPAN build and cache directory? [/root/.cpan] ${PKG}/perl/.cpan <return>
Q: Cache size for build directory (in MB)? [10] 100 <return>
Q: Perform cache scanning (atstart or never)? [atstart] never <return>
Q: Policy on building prerequisites (follow, ask or ignore)? [follow] ask <retrun>

Now you will be aked for several programs. You can find out on root prompt if those programs are accessible for you. Try

    which gzip


to get the information you need.

Q: Where is your ncftpget program? [] /home/system/pkg/sourceforge.net/ncftp/3.0.2/bin/ncftp <return>

Q: Parameters for the 'perl Makefile.PL' command? [] <return>
Q: Parameters for the 'make' command? [] <return>
Q: Parameters for the 'make install' command? [] <return>
Q: Timeout for inactivity during Makefile.PL;? [0] <return>

# Now we get an real interesting setting to get ftp and http connection to outside if we reside behind a firewall
# If you do have an ftp_proxy and/or http_proxy then enter URL for access to it and hit <return>
# In this example we expect to have direct interent connection and press <return> without entering the ftp
# proxy URL.

Q: Your ftp_proxy? <return>
Q: Your http_proxy? <return>
Q: Your no_proxy? [localhost] <return>

# We are by example in Europe / Germany and want all ftp servers there to contact:
Q: Select your continent (or several nearby continents) [] 5 <return>
Q: Select your country (or several nearby countries) [] 10 <return>
Q: Select as many URLs as you like [] 1 2 3 4 5 6 7 8 9 10
Q: Enter another URL or RETURN to quit: [] <return>

Q: Your favorite WAIT server? [...] <return>

install Bundle::CPAN

Ahh, I see you already have installed libnet before.

Q: Do you want to modify/update your configuration (y|n) ? [no] y <return>
Q: Do you want me to perform hostname lookups (y|n) [yes] <return>

Q: Enter a list of available NNTP hosts : [] news.you-know.com
Q: Enter a list of available SMTP hosts : [] mail.you-know.com
Q: Enter a list of available POP3 hosts : [] pop3.you-know.com
Q: Enter a list of available SNPP hosts : [] <space> <return>
Q: Enter a list of available PH Hosts : [] <space> <return>
Q: Enter a list of available TIME Hosts : [] <space> <return>
Q: Enter a list of available DAYTIME Hosts : [] <space> <return>

# If you are behind a forewall set the apropriate settings:
Q: Do you have a firewall/ftp proxy between your machine and the internet

If you use a SOCKS firewall answer no

(y|n) ? [no] <return>

Q: Should all FTP connections be passive (y|n) ? [no] y <return>

Q: What is you local internet domain name : [] ${SF_DOMAIN}

Q: Do you want me to run these tests (y|n) ? [yes] <return>

Q: What host can I use : [] download.sourceforge.net

At this point I got errors because I choosed ftp Server that did not allow uploads. So I must use this after the stop of installation:

force install Bundle::libnet

install Bundle::CPAN

So now we have a complete working CPAN module and we are ready to install other modules !