SEED
.PROC,SEED*I,\
DST     ' LOCAL FILE NAME OF DEADSTART TAPE    '=(*N=DST,*F), 
NOREBLD ' LOAD MINIMAL SET OF BINARIES         '=(*N=NO,NO,YES,*K=YES), 
RESET   ' CLEAR DAYFILS AND JOBSTAT FILES      '=(*N=,NO=,YES,*K=YES),
*CALL COMDEN
*CALL COMPROC 
. 
  
.*  INPUT.
.*  MAKE THE SELECTED DEADSTART TAPE  LOCAL.
.*      IE: LABEL,LFN,D=PE,LB=KU,PO=R,VSN=DST.
.*          IF DST IS NOT MASS STORAGE FILE, IT IS COPYIED
.*          TO A MASS STORAGE FILE FOR EFFICIENT USE BY GTR.
  
.*  INITIAL BUILD.
.*
.*      BEGIN,SEED,INSTALL,DST=LFN,NOREBLD. 
.*
.*  THE GLOBAL LIBRARY MUST BE SEEDED WITH COMPASS, SYMPL 
.*  COPYL, ITEMIZE, LOADER, UPDATE AND TEXT BINARIES FROM 
.*  THE CDC RELEASED DEADSTART TAPE.
.*  PRODUCT IS ALSO SEEDED WITH ULIB'S: SYSLIB AND SYMLIB.
  
.*  REBUILD FROM INTERMEDIATE OR COMPLETED DEADSTART TAPE.
.*
.*      BEGIN,SEED,INSTALL,DST=LFN. 
.*
.*  BINARIES IN THE NOEXIT RANGE WILL BE OBTAINED, IF ON THE DST. 
.*  THE ULIBS ARE PUT INTO FILE PRODUCT, THE REST ARE ADDED TO GLOBLIB. 
  
.IF, FILE(DST, .NOT. AS) ,SEED1.
  ATTACH(DST/NA)
  IF, FILE(DST, .NOT. AS) ,SEED2. 
   IF, ($DST$ .EQ. $SYSTEM$) ,SEED3.
    COMMON(SYSTEM)
   ELSE(SEED3)
REVERT(ABORT)SEED - FILE DST NOT FOUND
   ENDIF(SEED3) 
  ENDIF(SEED2)
.ELSE(SEED1)
.IF, FILE(DST, .NOT. MS) ,SEED1.
  RENAME,DSTDST=DST.
  COPYEI,DSTDST,DST,VFYTAPE.
  UNLOAD,DSTDST.
.ENDIF,SEED1. 
IF,$RESET$.EQ.$YES$,LRESET) 
  BEGIN(ACCESS,INSTALL,DAYFILS,M=#RESET)
  BEGIN(ACCESS,INSTALL,JOBSTAT,M=#RESET)
ENDIF(LRESET) 
BEGIN(ACCESS,INSTALL,GLOBLIB,M=CREATE)
* GLOBLOC AND GLOBLIB ATTACHED IN WRITE MODE. 
BEGIN(ACCESS,INSTALL,PRODUCT,M=CREATE)
BEGIN(ACCESS,INSTALL,DIRFILE,M=CREATE)
  
* DIRFILE IS UPDATED EVERY TIME PRODUCT IS
  
RETURN(LGO,PROD)
$GTR(DST,LGO)ABS/COMPASS,OVL/COMP3$,COMP3$A,AIDTEXT,NADTEXT 
$GTR(DST,LGO)ABS/SYMPL-OVL/SYMP52 
$GTR(DST,LGO)ABS/CATALOG,MODIFY,KRONREF,OPLEDIT 
$GTR(DST,LGO)ABS/COPYB,GTR,LIBEDIT,LIBGEN 
$GTR(DST,LGO)ABS/VERIFY,VFYLIB
$GTR(DST,LGO)ABS/UPDATE,COPYL,ITEMIZE 
$GTR(DST,LGO)ABS/LDRCNTL,LOADU
$GTR(DST,LGO)ABS/LOADER,OVL/LOADC,LOADG,LOADS,LOADZ,LOADM 
$GTR(DST,LGO)ABS/RECLAIM
$GTR(DST,LGO)ABS/TDUEX
$GTR(DST,LGO)OVL/LOADUC,LOADUM,TRAP,SEGRES
$GTR(DST,LGO)OVL/LDRTEXT
$GTR(DST,LGO)OVL/PSSTEXT,NOSTEXT,SYSTEXT,SSYTEXT,PPTEXT,CETEXT,CTITEXT
$GTR(DST,LGO)OVL/NETTEXT
$GTR(DST,LGO)OVL/IOTEXT 
$GTR(DST,LGO,,,,NA)PROC/SYSGEN,PDU,TDU,ULIB,ABS/PANEL,UPSTRT
$GTR(DST,LGO,,,,NA)ABS/PASCAL 
$GTR(DST,LGO,,,,NA)ABS/NETITF,NETPLM,NETFM,OVL/MNFMOVL,SORTOVL
$GTR(DST,LGO,,,,NA)ABS/NETBDF,NETMDF,NETRDF,FCOPY 
$GTR(DST,LGO,,,,NA)ABS/NDLP,OVL/INITOVL-LISTOVL,ABS/LFG 
$GTR(DST,LGO,,,,NA)PROC/NPA,MANCC,ANACD,RCFGEN
UPROD(SRT5LIB)
UPROD(SYSLIB) 
UPROD(SYMLIB) 
UPROD(FTN5LIB)
UPROD(FORTRAN)
UPROD(SRVLIB) 
UPROD(PFGLIB,NA)
UPROD(PASCLIB,NA) 
UPROD(NVERELS,NA) 
.IF,$NOREBLD$.EQ.$NO$,REBLD.
  $GTR(DST,LGO,,,,NA)OVL/TXTCRM 
  $GTR(DST,LGO,,,,NA)OVL/SPPTEXT
  $GTR(DST,LGO,,,,NA)OVL/FCLTEXT
  $GTR(DST,LGO,,,,NA)OVL/FCL5TXT
  $GTR(DST,LGO,,,,NA)OVL/PFMTEXT
  $GTR(DST,LGO,,,,NA)OVL/CPCTEXT
  $GTR(DST,LGO,,,,NA)OVL/CPUTEXT
  $GTR(DST,LGO,,,,NA)OVL/IPTEXT 
  $GTR(DST,LGO,,,,NA)OVL/SCPTEXT
  $GTR(DST,LGO,,,,NA)OVL/MATHTXT
  $GTR(DST,LGO,,,,NA)ABS/FTN5-OVL/FTN523
  $GTR(DST,LGO,,,,NA)ABS/COBOL5-OVL/COB5301 
  $GTR(DST,LGO,,,,NA)ABS/FTN-OVL/FTN24
  $GTR(DST,LGO,,,,NA)ABS/FILE 
  UPROD(NETIO,NA) 
  UPROD(NETIOD,NA)
  UPROD(NETXIO,NA)
  UPROD(NETXIOD,NA) 
  UPROD(MACLIB,NA)
  UPROD(NFMLIB,NA)
  UPROD(BIT8LIB,NA) 
  UPROD(SFLIB)
  UPROD(QSFLIB) 
  UPROD(DMSLIB,NA)
  UPROD(BAMLIB,NA)
  UPROD(AAMLIB,NA)
  UPROD(TRANLIB,NA) 
  UPROD(LCNLIB,NA)
  UPROD(COBOL5,NA)
  UPROD(MSAMLIB,NA) 
.ELSE,REBLD.
  NOTE.++#NOREBLD WAS SELECTED.  SEED ASSUMES START OF FULL INSTALLATION
.ENDIF,REBLD. 
.*
$LIBGEN,F=LGO,P=GLOBLIB.
  
$LIBEDIT,P=PROD,N=PRODUCT,B=0,Z./*BUILD PRODUCT 
RETURN,GLOBLIB,GLOBTMP,GLOBLOC,LGO,DST,PRODUCT,UPROD,DIRFILE) 
RETURN,DIRFLOC,PRODLOC,ZZ,PROD,INSTALL. 
REVERT.         SEED
EXIT. 
REVERT,ABORT.   SEED
.DATA,UPROD 
.PROC,UPROD*I"UPDATE LOCAL FILE PROD",
ULIB    ' NAME OF ULIB TO GET FROM DST         '=(*F),
ABTFLAG ' NO ABORT OPTION                      '=(NA=NOABORT,*N=ABORT), 
. 
#.IF, ($ABTFLAG$ .EQ. $ABORT$) ,UPROD1. 
  $GTR(DST,PROD,U)###ULIB/ULIB
  NOTE(DIRFILE,NR)+ULIB+*ADD LIB4,###ULIB/ULIB
#.ELSE(UPROD1)
  RETURN,ZZ.
  $GTR(DST,ZZ,U,,,NA)###ULIB/ULIB 
  IF, FILE(ZZ, AS) ,UPROD2. 
    $GTR(ZZ,PROD,U)###ULIB/ULIB 
    NOTE(DIRFILE,NR)+ULIB+*ADD LIB4,###ULIB/ULIB
  ENDIF(UPROD2) 
#.ENDIF(UPROD1) 
  
REVERT. UPROD - ###ULIB ULIB PROCESSED
EXIT. UPROD(ULIB) 
REVERT(ABORT) UPROD - ERRORS IN PROCESSING ###ULIB ULIB 
*WEOR 
