|
|
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 - metrics - downloadIndex: B T
Length: 4637 (0x121d)
Types: TextFile
Names: »B«
└─⟦516dceb10⟧ Bits:30000751 8mm tape, Rational 1000, RCI_VADS
└─⟦9a14c9417⟧ »DATA«
└─⟦this⟧
with Directory;
with Directory_Tools;
with Rcf_Switch_Implementation;
separate (Library_Extensions)
procedure Create_Program_Library
(Host_View : String;
Remote_Directory : String;
Remote_Program_Library : String;
Remote_Machine : String;
Status : in out Simple_Status.Condition) is
Remote_Connection : Remote_Command_Interface.Context;
Build_Adalib_Command : constant String := "a.mklib -f " & Remote_Directory;
function Remote_Parent_Library_Name return String is
Subsystem_Path_Name : constant String :=
Directory_Tools.Naming.Full_Name ("<subsystem>");
Library_Switch_File : constant String :=
Subsystem_Path_Name & "." & "library_switches";
Remote_Parent_Library_Option : constant String :=
"M68K_Sunos_Vdx_Remote_Parent_Library";
Object : Directory.Object;
Name_Status : Directory.Naming.Name_Status;
begin
Directory.Naming.Resolve (Name => Library_Switch_File,
The_Object => Object,
Status => Name_Status);
return Rcf_Switch_Implementation.Value
(Name => Remote_Parent_Library_Option, Switch_File => Object);
end Remote_Parent_Library_Name;
begin
-- This routine reads a switch named Remote_Parent_Library in order
-- to determine if a parent library needs to be associated with the
-- library to be created. If so, it is appended to the a.mklib
-- command.
--
-- The library switch file is assumed to reside in the subsystem
-- level library. That is, the library containing the names of all
-- the views within the subsystem.
Log.Put_Line
(Message => "Creating remote program library = " &
Remote_Program_Library,
Kind => Profile.Debug_Msg);
Acquire_Connection
(Remote_Connection => Remote_Connection,
Remote_Machine => Remote_Machine,
Status => Status);
Log.Put_Line
(Message => "Executing remote command: " & Build_Adalib_Command,
Kind => Profile.Note_Msg);
Rci.Execute_Command
(Command_Line => Build_Adalib_Command & " " & Remote_Parent_Library_Name,
Remote_Connection => Remote_Connection,
Status => Status,
Error_Pattern => "",
Parse_Error_Output => False,
Parse_Standard_Output => False,
Show_Parsed_Output => True,
Trace_Command => Trace_Rci_Commands);
if Simple_Status.Error (Status) then
Log.Put_Line
(Message => Simple_Status.Message (Status),
Kind => Profile.Negative_Msg);
Set_Status
(Status => Status,
Message => "Unable to create the remote adalib in, " &
Remote_Directory & ".");
Log.Put_Line
(Message => "Creation of the Remote Ada Library Failed",
Kind => Profile.Error_Msg);
Log.Put_Line
(Message => "Possible causes of this failure include: ",
Kind => Profile.Negative_Msg);
Log.Put_Line
(Message => " - Invalid Username & Password from your " &
"switches or remote passwords file.",
Kind => Profile.Negative_Msg);
Log.Put_Line
(Message =>
" - Remote machine is not accessable via the network",
Kind => Profile.Negative_Msg);
Log.Put_Line
(Message => " - Invalid permissions on the target",
Kind => Profile.Negative_Msg);
Log.Put_Line
(Message =>
"After resolving this problem use Rcf.Build_Remote_Library " &
"to create the Ada library on the target.",
Kind => Profile.Negative_Msg);
end if;
-- Rci.Release
-- (Remote_Connection => Remote_Connection,
-- Status => Local_Status,
-- Trace_Command => Trace_Rci_Commands);
--
exception
when others =>
Unhandled_Exception (Status, "Create_Program_Library");
-- BEGIN
-- Rci.Release
-- (Remote_Connection => Remote_Connection,
-- Status => Local_Status,
-- Trace_Command => Trace_Rci_Commands);
--
-- EXCEPTION
-- WHEN OTHERS =>
-- NULL;
-- END;
--
end Create_Program_Library;