5.0.2a on SunOS 4.x install bug - tar: /cdrom/1. : No such file or directory

 

PROBLEM

When installing 5.0.2a on a SunOS 4.x machine, you are likely to run into the following problem. The run.ips script is erroneously looking for a non-existing file, whose name is a number with a trailing '.'.

SYMPTOMS

If these installation errors are ignored or go unnoticed, then it might seem that the installation was a success.  The products will generally start up, but will have various problems due to missing files in the Island installation directory.

Following are some problems related to this installation problem which have been reported to Island Technical Support.
 

BACKGROUND

This is a problem with the Island installation script, run.ips.  trying to be smart about a problem that Sun CDROM's used to have with dropping trailing .'s. Here is a description of the problem from one of our developers...

The Problem is in interpreting file names on a CD file system - each OS has it's own little idiosyncracies.  The various sunOS systems we tested on all put a '.' at the end of a file that did not have a dot in it's name.  The install script (run.ips) tries to account for this. Evidently sun has patched this, or the user is mounting it on another OS and then reading it through NFS (in this case, it's most likely the former since the mount args correspond to sunOS).

This problem has been fixed in the run.ips which ships with the IPS 6.0 CD.

WORKAROUND

Use the script below to install the Island Office 5.0.2a products on SunOS 4.x.  By default, this script 'sun_install' will create a directory (/tmp/island_links) which will contain symbolic links to all the files on the CDROM.  The names of the files 1-11 will be changed to match what run.ips is expecting to see, then the run.ips script is run from the link directory...

#!/bin/sh
#
# sun_install
#
# Creates a link directory and renames files 1-11 to have a
# trailing dot to get around the SunOS install script/CDROM problem...
#
# Just copy this script to a file called sun_install, and change the
# permissions to 755 in order to run it, i.e. chmod 755 sun_install.
 
# CD-ROM directory containing the run.ips script
cdrom_dir=/cdrom

# directory to create links to the Island CDROM files
link_dir=/tmp/island_links
 
if [ ! -f "$cdrom_dir/run.ips" ]; then
    echo "The directory '$cdrom_dir' does not contain the run.ips script."
    echo "Modify the cdrom_dir variable in this script to point at"
    echo "the Island cdrom mount directory which contains run.ips."
    exit 1
fi
 
# make Island Temporary Directory in /tmp.
if [ -d "$link_dir" ]; then
  echo "Removing existing Island CDROM link directory: $link_dir"
  /bin/rm -rf $link_dir
fi
 
echo "Creating Island CDROM link directory: $link_dir"
mkdir $link_dir
 cd $link_dir
ln -s $cdrom_dir/* .
for file in 1 2 3 4 5 6 7 8 9 11
do
   mv $file "${file}."
done
 
echo ""
echo "Press <RETURN> to execute run.ips from link directory..."
read foo
./run.ips
 
cd ..
rm -rf $link_dir
echo "Removed Island CDROM link directory: $link_dir"
# end of script