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: 8647 (0x21c7) Types: TextFile Names: »STEPS«
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS └─ ⟦91c658230⟧ »DATA« └─⟦this⟧
INSTALL_X_INTERFACE => (do_step("AUTHORIZATION_CHECK, INSTALL_PRODUCT, RECORD_INSTALLATION", "!Machine.Release.Archive.X_Interface.Release10_9_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 ("NAME => (X Interface)"); Token_Iter : Pp.Iterator := Pp.Parse ("NAME => (X Interface)"); 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; if Get_Site /= "" and then not Pp.Done (Token_Iter) then Error := 0; Log.Put_Line ("Checking Token Count"); declare Limit, Current, Buy_Out : Natural; begin while not Pp.Done (Token_Iter) loop "!Machine.Release.Archive.X_Interface.Release10_9_0.Command_Data". Token_Information (Product_Name (Token_Iter), Limit, Buy_Out, Current); if Limit = 0 then Error := Error + 1; Log.Put_Line ("No tokens (sessions) for " & Product_Name (Token_Iter) & " have been authorized. Do not proceed until you have authorized tokens for this product", Profile.Error_Msg); elsif (Buy_Out /= Current) and Current = Limit then Log.Put_Line ("Tokens (Sessions) have been authorized for " & Product_Name (Token_Iter) & ", but all are in use", Profile.Error_Msg); Log.Put_Line ("Have users which are using these tokens log off (and then back on) before continuing", Profile.Error_Msg); Show_Tokens (Product_Filter => Product_Name (Token_Iter)); else Log.Put_Line (Product_Name (Token_Iter) & " has available tokens", Profile.Positive_Msg); end if; Pp.Next (Token_Iter); end loop; if Error /= 0 then Do_Step ("PROMPT=AUTHORIZE_TOKEN"); end if; end; else Log.Put_Line ("Machine has not been configured for per session pricing (product tokens)." & " Skipping product token check"); end if; end; ) INSTALL_PRODUCT => ( if "!Implementation".Product_Authorization.Is_Registered ("x interface") then Log.Put_Line ("x interface" & " is authorized", Profile.Note_Msg); Do_Step ("RESTORE_NOTES"); Do_Step ("RELEASE_RESTORE"); else Log.Put_Line ("Need to Authorize " & "X Interface", Profile.Error_Msg); Log.Put_Line ("Do not proceed until all these products have been authorized", Profile.Error_Msg); Do_Step ("PROMPT=AUTHORIZE_PRODUCT"); end if; ) 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 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.Archive.X_Interface.Release10_9_0"); ) RELEASE_RESTORE => ( Io.Set_Output ("!Machine.Release.Archive.X_Interface.Release10_9_0.Logs.Restore_Release_Log"); Archive.Restore (Options => "promote replace", Device => "Release"); Io.Reset_Output; Log.Filter_Errors (Log_File => "!Machine.Release.Archive.X_Interface.Release10_9_0.Logs.Restore_Release_Log", Destination => "!Machine.Release.Archive.X_Interface.Release10_9_0.Logs.Restore_Release_Log_Summary", Auxiliaries => False, Warnings => False, Exceptions => True); Common.Definition ("!Machine.Release.Archive.X_Interface.Release10_9_0.Logs.Restore_Release_Log_Summary"); ) RESTORE_NOTES => ( Archive.Restore (Device => "Release_Notes"); ) INSTALL_ALL_KEYMAPS => ( declare Second_Value : Integer; Last_Value : Integer; begin Common.Definition ("!Machine.Release.X_Interface.Release10_9_0"); Library.Context (To_Be => "!Machine.Release.x_interface.Release10_9_0"); System_Utilities.Set_Page_Limit (16_000); Second_Value := "!machine.release.x_interface.release10_9_0". Rxi_Install.Terminal_Type'Pos ("!machine.release.x_interface.release10_9_0". Rxi_Install.Terminal_Type'First) + 1; Last_Value := "!machine.release.x_interface.release10_9_0". Rxi_Install.Terminal_Type'Pos ("!machine.release.x_interface.release10_9_0". Rxi_Install.Terminal_Type'Last); "!machine.release.x_interface.release10_9_0". Rxi_Install.Machine_Editor_Data_Files (Keyboard => "!machine.release.x_interface.release10_9_0". Rxi_Install.Terminal_Type'First, Suppress_Rxi_Files => False); for I in Second_Value .. Last_Value loop "!machine.release.x_interface.release10_9_0". Rxi_Install.Machine_Editor_Data_Files (Keyboard => "!machine.release.x_interface.release10_9_0". Rxi_Install.Terminal_Type'Val (I), Suppress_Rxi_Files => True); end loop; end; ) AUTHORIZE_PRODUCT => ( "!Implementation".Product_Authorization.Register (Product_Name => "X Interface", Authorization_Code => ">> Code <<"); ) AUTHORIZE_TOKEN => ( Accept_Tokens (Product => [STRING-expression], Donation => [POSITIVE-expression], Resulting_Count => [POSITIVE-expression], Code => [STRING-expression], Response => "<PROFILE>"); ) D1_AUTHORIZATION_CHECK => ( if "!Implementation".Product_Authorization.Is_Registered ("x interface") then Log.Put_Line ("x interface" & " is authorized", Profile.Note_Msg); else Log.Put_Line ("Need to Authorize " & "X Interface", Profile.Error_Msg); Log.Put_Line ("Do not proceed until all these products have been authorized", Profile.Error_Msg); Do_Step ("PROMPT=AUTHORIZE_PRODUCT"); end if; )