iinnssttaallll -- Command

Install a software update onto COHERENT
/eettcc/iinnssttaallll [-cc] _i_d _d_e_v_i_c_e _n_d_i_s_k_s

The command  iinnssttaallll installs  an update of  the COHERENT system  onto your
hard disk.  _i_d identifies the update to be installed.  _d_e_v_i_c_e is the device
from which  the update disks will  be read.  _n_d_i_s_k_s is  the number of disks
that comprise the update.

Option  -cc tells  iinnssttaallll to  uncompress  compressed files.   iinnssttaallll reads
information about compression formats and options from file /eettcc/iinnssttaallll.uu.
This switch permits software packages other than COHERENT to use compressed
files.

_T_h_i_r_d-_P_a_r_t_y _S_o_f_t_w_a_r_e
iinnssttaallll also provides a standard mechanism by which software developers can
install their  software onto systems  that run COHERENT.  The  rest of this
article  discusses how  to prepare  a software  release so  that it  can be
installed using iinnssttaallll.

For iinnssttaallll to be able to install a software distribution, the distribution
must consist  of a set of  mountable floppy disks, each  holding a COHERENT
file system created by mmkkffss. This keeps the disks independent of each other
and also lets  the user to insert the disks  in any order.  iinnssttaallll records
the  fact  that it  has  read  a given  disk  from  the distribution,  thus
preventing the  user from attempting  to read a  given disk more  than once
during an installation session.

Floppy  disks  should  be  built  using  mmkkffss, with  possible  input  being
generated by the command uunnmmkkffss. Each disk in the distribution must hold in
its root directory a file whose name is of the form:

    /_i_d._s_e_q_u_e_n_c_e

Here, _i_d identifies the release, as  described above.  Note that _i_d must be
formed from  the set of  upper- and lower-case letters,  digits, the period
`.', and  the underscore character  `_', and not exceed  nine characters in
length.  _s_e_q_u_e_n_c_e  indicates which disk  in the distribution  this disk is,
from one through the total number of disks.

iinnssttaallll uses  the command ccppddiirr to  copy each of the  distribution disks to
directory /  on the current system.  Therefore, all  disks should be ``root
based'' (i.e., full path names should  be used).  Because iinnssttaallll is run by
the  superuser,  ccppddiirr preserves  the  date  and time  for  each file,  and
preserves  ownership and  modes.  To  keep  file ownership  consistent with
COHERENT conventions,  make files that are neither  _s_e_t_u_i_d nor _s_e_t_g_i_d owned
by user bbiinn and group bbiinn. Directories found on the distribution disks will
be created on the target file  system, as needed.  Be careful when choosing
the  ownership and  mode  of directories  because  you could  inadvertently
compromise the security of your users' systems.

_P_o_s_t_p_r_o_c_e_s_s_i_n_g
After  all disks  in a  distribution have been  successfully copied  by the
user, iinnssttaallll checks for the existence of a file of the form

    /conf/_i_d.post

where _i_d matches the _i_d field found on the iinnssttaallll command line.  If found,
iinnssttaallll  executes this  file to allow  special ``postprocessing,''  such as
installing manual pages  into directory /uussrr/mmaann or executing installation-
specific commands.

Before an  installation procedure  completes its postprocessing,  it should
remove any _i_d files of the following form from the target system:

    /conf/_i_d.post
    /_i_d._s_e_q_u_e_n_c_e

_A_d_d_i_n_g _M_a_n_u_a_l-_P_a_g_e _E_n_t_r_i_e_s
As part of building a distribution, you usually must generate pre-processed
or  ``cooked'' manual-page  entries for distribution  with your  upgrade or
add-on  package.   These  should be  inserted  into  the subdirectories  of
/uussrr/mmaann, with the name of the subdirectory being specific to your product.
This  naming  convention  avoids  name-space  collisions,  should  multiple
applications use the same name for a manual-page entry.

If you  install new or additional  manual pages, you must  update the index
file   used  by   the  mmaann   command  to   locate  manual   entries.   File
/uussrr/mmaann/mmaann.iinnddeexx on the target file system contains index entries for all
manual pages  on the  system.  As part  of postprocessing, you  must append
index information  for your manual pages  to the end of  the existing index
file.  In addition,  file /uussrr/mmaann/mmaann.hheellpp contains the mmaann command's help
message.  This  includes a list of valid topics  and some explanatory text.
You should also append to this file a brief list of the manual page entries
that  you have  added.  For  further information on  manual pages,  see the
Lexicon entry for the command mmaann.

_L_o_g_g_i_n_g
iinnssttaallll  logs  all  partial as  well  as  completed  installations in  file
/eettcc/iinnssttaallll.lloogg.  This  information  includes  date/time  stamps  and  the
command-line arguments to iinnssttaallll.

_E_x_a_m_p_l_e
The following installs COHERENT update ccoohh.330011, which consists of one disk,
from a high-density 5.25-inch floppy drive:

    /etc/install coh.301 /dev/fha0 1

_F_i_l_e_s
/eettcc/iinnssttaallll.lloogg

_S_e_e _A_l_s_o
ccoommmmaannddss, mmaann, mmkkffss, uunnmmkkffss
