/* Copyright (c) Oracle Corporation 1996.  All Rights Reserved */

/*****************************************************************************
  NAME
    D2OI60.vrf - analysis/product configuration script for the
                 Open/2000 Interfaces package.

  DESCRIPTION
    This script checks dependencies and environment settings for the
    installation of the Open/2000 Interfaces package

  MODIFIED    MM-DD-YY   Reason
  pgupta      10/01/97  Created
******************************************************************************/

{

    {doit = execute("%installer_home%%dir_separator%%operating_system%.vrf");}
    [
        'UNBOUND_VARIABLE:
        {
            required_version = product_version(instver_product);
            temp = explode(required_version, ".");
            required_version = implode(list(first(temp),first(rest(temp)),
                                            first(rest(rest(temp))),
                                            first(rest(rest(rest(temp))))), ".");
            signal('FAILURE, instantiate(nls("instver_too_early1",
                                             "The version of the Installer currently running is %%installer_version%%. The installation you have chosen requires version %%required_version%% or later. Please run version %%required_version%% or later in order to perform this installation.")));
        }
    ]                                                                   /* This FAILURE will cause 3.0.x.x installer to exit gracefully. */

    /******************************************************************************************************
    START MAIN LOGIC
    *******************************************************************************************************/
    if (doit)
    {
        /*****************************
        Set the VRF-INS script ratchet
        ******************************/
        vrf_ratchet = "6.0.0.0.0";

        /************************************************
        Create a label with the product name, and version
        *************************************************/
        EXECUTE_SCRIPT = "CREATE_LABEL";
        execute("%product_home%%dir_separator%d2kr2vrf.usr");
        /************************************************/

        /***********************
        Create Dependencies List
        ************************/
        dependency_list = list(w32tutil60);
        verify_dependency_list = list(w32tutil60);
        install_dependency_list = list();
        /***********************/

        /*************************
        Set Product Name variables
        **************************/
        {PVCS_PRODUCT = w32d2scp60;}
        ['UNBOUND_VARIABLE: continue();]
        /*************************/

        /**********************************************************************
        parent_in_control = TRUE ==> the complete product needs to be installed
        parent_in_control = FALSE ==> PARENT called by one of the components
        ***********************************************************************/
        parent_in_control = TRUE;
        if(not(member(selected_products, current_product)))
        {
            child_products = all_child_products(current_product);
            while(not(empty(child_products)))
            {
                next_child = first(child_products);
                child_products = rest(child_products);
                if(member(products_for_installation, next_child))        /* PARENT called by one of the components, no need to add PARENT to the list of products to be installed */
                    parent_in_control = FALSE;
            }
        }
        /**********************************************************************/

        /***************************************************************************
        Initialize total size of files
        ****************************************************************************/
        total_sum = 0;

        /***********************************************
        If PARENT is explicitly called for installation,
        verify all the component products
        ************************************************/
        EXECUTE_SCRIPT = "VERIFY_COMPONENTS";
        total_sum = total_sum + execute("%product_home%%dir_separator%d2kr2vrf.usr");
        /***********************************************/

        /******************
        Verify Dependencies
        *******************/
        EXECUTE_SCRIPT = "VERIFY_DEPENDENCIES";
        total_sum = total_sum + execute("%product_home%%dir_separator%d2kr2vrf.usr");
        /******************/

        total_sum = total_sum + sum(deinst);

        return(total_sum);
        /***************************************************************************/
    }
    else
    {
        refresh_map_file = FALSE;
        return(0);
    }
}
