1# 2# Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3# Use is subject to license terms. 4# 5#ident "%Z%%M% %I% %E% SMI" 6# 7# 8 9This directory contains utilities that help port and patch a standard perl 105.8.4 build directory into the ON tree. It is hoped that future ports and 11patches will be able to use the same framework, so details of the process used 12for 5.8.4 are documented here. 13 14Porting 15======= 16 17Step 1. 18------- 19Build and install perl 5.8.4 for both the sparc and i386 architectures. To do 20this, unpack perl 5.8.4 and then run the InstallPerl script from inside the 21directory. This script needs to be setuid root, and will install perl under 22/usr/perl5, and will generate the correct config.sh file. A series of status 23files will be generated in the perl build directory. These files are then 24used in step 2 to automatically figure out which files need to be integrated 25into ON. The files are build.touched, test.log and install.packlist. 26 27Step 2. 28------- 29From the perl build directory, run the MapFiles script. This will produce 30a CSV file describing all the files that need to be integrated into ON, using 31the information captured by step 1. The spreadsheet can be viewed in 32StarOffice. The file flist_5.8.4_s10.csv in this directory is the output of 33the MapFiles script. 34 35Step 3. 36------- 37Run the CheckIn script, giving as parameters the CSV file, the perl build 38directory and the workspace that perl is to be checked in to. The script 39outputs a shell script to stdout, the script contains the commands necessary 40to check the perl source into ON. 41 42Step 4. 43------- 44Verify that the resulting script looks sane, then run it to perform the 45integration. Examine the output to make sure that the integration succeeded. 46 47Step 5. 48------ 49Make sure you have a config.sh for both the sparc and x86 architectures, and 50that they are checked in. 51 52Step 6. 53------- 54Generate the makefiles and associated infrastructure to build the resulting 55perl 5.8.4 workspace. These were based on the 5.8.3 versions. Things that 56need to be done manually, in no particular order: 57 a) Merge in the ON-specific changes into installperl fromm the previous 58 perl version. 59 b) Merge in the ON-specific changes into MakeMaker (under utils/lib) 60 using the standard perl files as a starting point. 61 c) Generate Config.pm files for contrib/Sun/Solaris/PerlGcc and 62 make any other necessary changes for the new OS and/or perl version. 63 64Files 65===== 66 67A full list of the files in this directory is given below. 68 69InstallPerl Builds and installs perl. setuid root. 70MapFiles Figures out which files need to be integrated into ON. 71CheckIn Generates a ksh script to do the integration. 72flist_5.8.4_s10.csv Output of MapFiles. 73EditedFiles Utility to find any differences between the perl build 74 directory and an ON workspace. 75ConfigPerlGcc Generate a config.sh file suitable for use with gcc, 76 to be used with Sun::Solaris::PerlGcc. 77README This file. 78