PROCEDURE install_initial_load_software (
  status)

  VAR
    ignore_status: status
    local_status: status
    loop: integer

    nosve_maintenance_catalog: file

    prolog_names: array 1..9 of name = (system_initiation_prolog ..
                                        system_initiation_epilog ..
                                        job_activation_prolog ..
                                        job_activation_epilog ..
                                        system_termination_prolog ..
                                        network_activation_prolog ..
                                        network_activation_epilog ..
                                        network_deactivation_prolog ..
                                        network_deactivation_epilog ..
                                       )

    name_nosve_maintenance: name = nosve_maintenance
    name_prolog_catalog: name = prologs_and_epilogs
    name_osf_command_library: name = osf$command_library

    rav$installation_defaults: (XREF) rat$installation_defaults
    rav$installation_environment: (XREF) rat$installation_environment
    rav$subproduct_information: (XREF) rat$subproduct_information

    source_prolog_catalog: file
    system_prolog_catalog: file
    system_catalog: file

  VAREND

  nosve_maintenance_catalog = ..
    rav$subproduct_information.actual_installation_path//name_nosve_maintenance
  system_catalog = ..
    rav$subproduct_information.actual_installation_path
  source_prolog_catalog = ..
    rav$subproduct_information.actual_installation_path//name_nosve_maintenance//name_prolog_catalog
  system_prolog_catalog = ..
    rav$subproduct_information.actual_installation_path//name_prolog_catalog


  install_block: ..
    BLOCK

      $system.create_catalog c=system_prolog_catalog status=ignore_status

      FOR loop = 1 to $upper_bound(prolog_names) DO
        IF NOT $file(system_prolog_catalog//prolog_names(loop) permanent) THEN
          $system.put_line l=' Installing '//$string(prolog_names(loop)) o=$job_log
          install_file f=source_prolog_catalog//prolog_names(loop) ..
            t=system_prolog_catalog//prolog_names(loop) status=local_status
          EXIT install_block WHEN NOT local_status.normal
        IFEND
      FOREND

      IF rav$subproduct_information.subproduct_type = release THEN
        install_file f=nosve_maintenance_catalog//name_osf_command_library ..
          t=system_catalog//name_osf_command_library status=local_status
        EXIT install_block WHEN NOT local_status.normal
      ELSE
        update_library f=nosve_maintenance_catalog//name_osf_command_library ..
          l=system_catalog//name_osf_command_library lock_out_library=false ..
          status=local_status
        EXIT install_block WHEN NOT local_status.normal
      IFEND

    BLOCKEND install_block

  EXIT procedure WITH local_status WHEN NOT local_status.normal

" Call installer procedure for batch_output_filters.

  $system.software_maintenance.raf$library.install_batch_filters ..
        status=local_status

  EXIT procedure WITH local_status WHEN NOT local_status.normal

PROCEND install_initial_load_software
