DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ S T ┃
Length: 6764 (0x1a6c) Types: TextFile Names: »STEPS«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00 └─ ⟦0c20f784e⟧ »DATA« └─⟦this⟧
INSTALL_X_LIBRARY => (Do_Step("AUTHORIZATION_CHECK, CONFIGURATION_CHECK, RELEASE_RESTORE, RESTORE_NOTES, RESTORE_DOCUMENTATION, INSTALL_PRODUCT, RECORD_INSTALLATION", "!Machine.Release.Archive.X_Library.release6_0_0.Command_Data.Steps"); ) AUTHORIZATION_CHECK => ( declare subtype Bogus is Natural range 0 .. 1; package Pp is new Parameter_Parser (Bogus); Iter : Pp.Iterator := Pp.Parse ("CMVC, CMVC.Source_Control, X_Library"); Error : Natural := 0; function Product_Name (Iter : Pp.Iterator) return String is begin if String_Utilities.Equal (Pp.Name (Iter), "NAME") then return Pp.Get_Image (Iter); else return Pp.Name (Iter); end if; end Product_Name; begin while not Pp.Done (Iter) loop declare Name : constant String := Product_Name (Iter); begin if "!Implementation".Product_Authorization.Is_Registered (Name) then Log.Put_Line (Name & " is authorized", Profile.Positive_Msg); else Log.Put_Line ("Need to Authorize " & Name, Profile.Error_Msg); Error := Error + 1; end if; end; Pp.Next (Iter); end loop; if Error /= 0 then Log.Put_Line ("Do not proceed until all these products have been authorized", Profile.Error_Msg); Do_Step ("PROMPT=AUTHORIZE_PRODUCT"); end if; end; ) CONFIGURATION_CHECK => ( Io.Put_Line ("EXECUTING CONFIGURATION : "& System_Utilities.System_Boot_Configuration); Io.Set_Output ("!machine.temporary.EEDB_Configuration"); Io.Put_Line ("vd " & System_Utilities.System_Boot_Configuration); Io.Put_Line ("quit"); Io.Reset_Output; Io.Set_Input ("!machine.temporary.EEDB_Configuration"); Operator.Internal_System_Diagnosis; Io.Reset_Input; ) RELEASE_RESTORE => ( Io.Set_Output ("!Machine.Release.Archive.X_Library.Release6_0_0.Logs.Restore_Release_Log"); Archive.Restore (Options => "promote, replace", Device => "Release"); Io.Reset_Output; Log.Filter_Errors (Log_File => "!Machine.Release.Archive.X_Library.Release6_0_0.Logs.Restore_Release_Log", Destination => "!Machine.Release.Archive.X_Library.Release6_0_0.Logs.Restore_Release_Log_Summary", Auxiliaries => False, Warnings => False, Exceptions => True); Common.Definition ("!Machine.Release.Archive.X_Library.Release6_0_0.Logs.Restore_Release_Log_Summary"); ) RESTORE_NOTES => ( Archive.Restore (Device => "Release_Notes"); ) RESTORE_DOCUMENTATION => ( Archive.Restore (Device => "Documentation"); ) INSTALL_PRODUCT => ( declare Delta1 : constant Boolean := System_Utilities.System_Boot_Configuration( (System_Utilities.System_Boot_Configuration'First + 3)) = '0'; Ops : String (1 .. 256); X_Demos, X_Testing, X_Tools, Activity, Primary: Boolean := True; function Get_Input (Querie_String : String) return Boolean is begin loop Io.Put_Line (""); Io.Put (Querie_String); declare Accepts : constant String := Io.Get_Line; begin return (Accepts'Length = 0 or else (Accepts (Accepts'First) = 'y' or Accepts (Accepts'First) = 'Y')); end; end loop; end Get_Input; begin loop X_Demos := Get_Input ("Should X_Demos subsystems be restored? [y] "); X_Testing := Get_Input ("Should X_Testing subsystems be restored? [y] "); X_Tools := Get_Input ("Should X_Tools subsystems be restored? [y] "); Activity := Get_Input ("Should system-wide activity be updated to include all restored subsystems? [y] "); Primary := Get_Input ("Should the subsystems be restored as primary susbsystems? [y] "); exit when Get_Input ("Are all of the above anwers correct? [y] "); end loop; "!Machine.Release.X_Library.Release6_0_0".Install_Product (Log_File => "INSTALL_PRODUCT_LOG", Options => "DELTA1 => " & boolean'image(delta1) & ",DELTA2 => " & boolean'image(not delta1) & ",CONVERT_TO_D2 => " & boolean'image(not delta1) & ",X_DEMOS => " & boolean'image(x_demos) & ",X_TESTING => " & boolean'image(x_testing) & ",X_TOOLS => " & boolean'image(x_tools) & ",UPDATE_ACTIVITY => " & boolean'image(activity) & ",PRIMARY => " & boolean'image(primary) , Response => "<VERBOSE> RAISE_ERROR"); link.edit ("!Machine.Release.Current.Commands"); links.insert ("!Tools.X_Windows.@.rev6@.units.[env@,comm@].@'C(Proc_Spec)"); Common.Definition ("!Machine.Release.X_Library.Release6_0_0.Install_Product_Log_Problems"); end; ) RECORD_INSTALLATION => ( declare Product : constant String := Directory_Tools.Naming.Simple_Name (Directory_Tools.Naming.Full_Name ("^")); Release : constant String := Directory_Tools.Naming.Simple_Name (Directory_Tools.Naming.Full_Name ("$")); Product_Info : constant String := "(RELEASE => " & Release & ", DATE => (" & Time_Utilities.Image (Time_Utilities.Get_Time, Time_Utilities.Year_Month_Day) & "), USER => " & System_Utilities.User_Name & '.' & System_Utilities.Session_Name & ")"; Product_Filename : constant String := "!Machine.Release.Current.Products"; F : Io.File_Type; begin Log.Put_Line ("Allowing unlimited logins", Profile.Positive_Msg); Operator.Limit_Login; Io.Append (F, Name => Product_Filename); Io.Put_Line (F, Product & " => " & Product_Info); Io.Close (F); Log.Put_Line ("Recording product " & Product & " current release as " & Release, Profile.Positive_Msg); end; ) CLEANUP => ( Library.Delete ("!Machine.Release.[X_Library,Archive].[X_Library.Release6_0_0,Release6_0_0.Segments]", Limit => "<ALL_WORLDS>"); ) AUTHORIZE_PRODUCT => ( "!Implementation".Product_Authorization.Register (Product_Name => ">>Product Name<<", Authorization_Code => ">> Code <<"); )