|
|
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: T V
Length: 22415 (0x578f)
Types: TextFile
Names: »V«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
└─⟦fc9b38f02⟧ »DATA«
└─⟦9b46a407a⟧
└─⟦12c68c704⟧
└─⟦this⟧
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS
└─⟦91c658230⟧ »DATA«
└─⟦458657fb6⟧
└─⟦220843204⟧
└─⟦this⟧
with Machine;
package Archive is
procedure Save (Objects : String := "<IMAGE>";
Options : String := "R1000";
Device : String := "MACHINE.DEVICES.TAPE_0";
Response : String := "<PROFILE>");
-- Save a set of objects (files, Ada units, etc.) to a tape or directory
-- such that they may be restored to their original form at a later time
-- or on another system.
-- The Objects parameter specifies the primary objects to be saved. It
-- can be any naming expression. By default, the current image is saved
-- unless there is a selection on that image, in which case the selected
-- object is saved. Normally, the specified object(s) and all contained
-- objects are archived; this feature can be disabled.
-- The Options parameter specifies the type of tape to be written and
-- options to control what is saved. The Options parameter for each of
-- the Archive operations is written as a sequence of option
-- names separated by spaces or commas. Options with arguments are
-- given as an option name followed by an equal sign followed by a
-- value.
---------------------------------------------------------------------------
-- The save options are:
--
-- FORMAT = R1000 | R1000_LONG | ANSI
-- R1000
-- Writes an ANSI tape with the data file followed by the index
-- file. The images of the objects being saved are written
-- directly to the tape. This is the default.
-- R1000_LONG
-- like R1000 format but the data file is written to one ANSI tape
-- and the index file to a second ANSI tape.
-- ANSI
-- Writes the data to a temporary file and then writes both index
-- and data file to a tape using ANSI tape facilities.
-- LABEL=(<any balanced string>)
-- An identifying string written at the head of the archived data.
-- The label parameter allows the user to specify a string that
-- will be put at the front of the index file. When a restore is
-- done the label specified to the restore procedure will be
-- checked against the one on the save tape.
-- NONRECURSIVE
-- Save only the objects resolved to by the Objects parameter. Do
-- not recursively save objects that are inside of other objects.
-- The default is to save the objects mentioned in the Objects
-- parameter and all objects contained in them.
-- To save a world and a subset of its contents one can say:
-- Save (Objects => "[!FOO?,~!FOO.ABC?,~!FOO.DEF?]", ...,
-- Options => "R1000 NONRECURSIVE");
-- AFTER=<time_expression>
-- Only objects changed after the time represented by
-- <time_expression> will be archived. The <time_expression>
-- should be acceptable to the time_utilities.value function.
-- STARTING_AT=<time_expression>
-- the archive will delay until the given time
-- (after the mount request has been processed).
-- EFFORT_ONLY
-- The EFFORT_ONLY option causes a list to be printed of the names
-- of the units that would be saved if the archive command
-- was given with this set of parameters.
-- CODE [=load_proc_list]
-- The CODE option specifies that code is to be archived for the
-- named load procs. If no specification follows the
-- CODE option, the Objects parameter specification is used
-- instead.
-- COMPATIBILITY_DATABASE (CDB) [=<Subsystems>]
-- Causes the full compatibility database for each subsystem
-- specified to be archived. If no subsystems are specified with
-- the option, the Objects parameter specification is used instead.
-- When Ada units in a subsystem are archived, the relevant
-- portions of the subsystem Compatibility Database is
-- automatically archived with them. Therefore, this option is
-- required only in special situations, primarily when one needs to
-- "sync up" a primary and a secondary subsystem.
-- To archive just Compatibility Databases, use
-- Save ("Subsystems", "CDB");
-- To archive compatibility databases with other objects, use
-- Save ("Other Stuff", "CDB=Subsystems");
-- The "Subsystems" and "Other Stuff" specifications will usually
-- describe disjoint sets of objects.
-- IGNORE_CDB
-- Specifies that no compatibility database information is to be
-- saved.
-- LINKS [=<worlds>]
-- Causes only the link pack for each world specified to be archived.
-- If no worlds are specified with the option, the Objects
-- parameter specification is used instead.
-- PREFIX=<naming pattern>
-- A naming pattern that is saved with the archived objects, which
-- can be recalled as the For_Prefix when the data is Restored.
-- When set to an appropriate value, the restorer need not know
-- exactly the names of the archived objects to be able to restore
-- them to a new place. If this option is not given, the value
-- used is derived from the Objects parameter.
-- UNLOAD
-- A boolean option. When True (the default), causes the tape to
-- be rewound and unloaded after the operation is complete. When
-- False, this option causes the tape to be rewound to the beginning
-- and to remain online and available for subsequent requests.
-- When the tape is left online, subsequent requests send a tape-
-- mount request to the operator's console, which must be answered
-- before the tape can be accessed.
-- For downward compatibility the following options are provided.
--
-- DELTA0
-- write a tape which can be read on a delta0 system.
--
-- DELTA1
-- write a tape which can be read on a delta1 system.
--
-- VERSION=<archive_version_number>
-- write a tape that can be read by a version of source
-- earlier than the current one. The argument is a three digit
-- integer. For example, version=440.
-- The Device parameter can be set to the name of a directory. In this
-- case the index and data files are written to that directory. The
-- tape format option is irrelevant in this case.
---------------------------------------------------------------------------
procedure Restore (Objects : String := "?";
Use_Prefix : String := "*";
For_Prefix : String := "*";
Options : String := "R1000";
Device : String := "MACHINE.DEVICES.TAPE_0";
Response : String := "<PROFILE>");
-- Restore an object or a set of objects from an Archive Tape.
-- If the archive is on a tape then the tape format option given to
-- Restore should be the same as that given during the save. If the
-- archive is in a directory then the device parameter on the restore
-- should be set to that directory.
-- The Objects parameter may be any wildcard pattern specifying the
-- objects to be restored.
--
-- For example:
-- !USERS.FOO.CLI.TEST
-- [!USERS.FOO.TESTS.@, !USERS.FOO.LOGS.ABC]
-- The pattern in the Objects parameter is compared against the full
-- names of the saved objects. The objects whose names match the Objects
-- parameter specification are restored. If the name denotes an Ada
-- unit all of its parts are restored from the tape. If the name denotes
-- a world or directory all of its subcomponents are restored.
-- The Use_Prefix and For_Prefix parameters provide a simple means for
-- changing the names of the archived objects when they are restored.
-- If the Use_Prefix is the special default value, "*", the For_Prefix
-- is ignored and the objects are restored using the names they had when
-- they were saved.
-- If the Use_Prefix is not "*", it must specify the name of an object
-- into which the archived objects can be restored. The name for a
-- restored object is derived from the name of the archived object by
-- replacing the shortest portion of the name matched by the For_Prefix
-- with the value of the Use_Prefix. If the For_Prefix is "*" the
-- archived objects are restored using the Default_Prefix stored with
-- the archived data.
-- For example:
--
-- Restore (Objects => "!A.B.C.D.E",
-- Use_Prefix => "!X.Y",
-- For_Prefix => "!A.B.C");
--
-- will restore to !X.Y.D.E.
-- The For_Prefix may contain wildcard characters (#, @, ?) and the
-- Use_Prefix parameter may contain substitution characters (@ or # only).
-- For example:
--
-- Restore (Objects => "[!A.B.TEST1, !D.E.F.TEST2]"
-- For_Prefix => "?.@"
-- Use_Prefix => "!C.D.@");
--
-- will restore to !C.D.TEST1 and !C.D.TEST2
-- If the object named by the prefix of the target name of an object
-- being restored doesn't exist, that object will be created as a set of
-- nested libraries. So, for example, if the For_Prefix is !A.B and the
-- unit being restored is then !A.B.X.Y.Z and ...X.Y hasn't been saved on
-- the tape then !A, !A.B, !A.B.X, !A.B.X.Y will be created.
---------------------------------------------------------------------------
-- The following options are allowed in the Options parameter:
--
-- FORMAT and LABEL
-- as in the save option.
-- NONRECURSIVE
-- prevents subcomponents of libraries and Ada units from being
-- implicitly restored. for example:
-- Archive.Restore
-- (Objects => "[!USERS.FOO, !USERS.FOO.CLI, !USERS.FOO.CLI.@]",
-- Options => "R1000 NONRECURSIVE");
-- will restore only the named objects and not their substructure.
-- ALL_OBJECTS
-- All specified objects are restored. This is the default.
-- NEW_OBJECTS
-- Only specified objects that don't already exist on the target
-- machine are restored.
-- UPDATED_OBJECTS
-- Only specified objects that already exists on the target are
-- restored, but only if the update time of the archived object
-- is greater than the update time on the target object.
-- CHANGED_OBJECTS
-- Restore both new and updated Objects.
-- EXISTING_OBJECTS
-- Only specified objects that already exists on the target
-- are restored.
-- DIFFERENT_OBJECTS
-- Only specified objects that already exists on the target
-- and have a different update time from the archived object are
-- restored.
-- REPLACE
-- Given an object that is being restored that already exists
-- on the target, this option will cause the restore operation
-- (1) to unfreeze the target object if it is frozen.
-- (2) If the target object is an installed or coded Ada unit
-- with clients, it is demoted to source using Compilation.
-- Demote with the "<ALL_WORLDS>" parameter.
-- Any frozen dependents will be unfrozen.
-- (3) if the parent library into which an object is being
-- restored is frozen, the parent will be unfrozen to restore
-- the object then refrozen.
-- PROMOTE
-- After they are restored, any Ada units will be promoted to the
-- state they were in when they were archived.
-- REMAKE [=NO_MAINS]
-- Like the promote option with the further effect that
-- any objects outside the restore set which were demoted
-- because the replace option was given will be repromoted.
-- If no_mains is specified dependent main programs will not
-- be recoded.
-- GOAL_STATE = ARCHIVED | SOURCE | INSTALLED | CODED
-- Specify that all ada objects restored should (if possible)
-- end up in the given state.
-- EFFORT_ONLY
-- Show what would be restored if restore is run with this
-- set of parameters.
-- CODE [=load_proc_list>]
-- Specifies that just the Code Archive Object for the named
-- load_procs are to be restored. This option is needed only when
-- it is desired to restore a Code Archive Object from an archive
-- that also contains the spec for that load_proc, which is not
-- to be restored.
-- COMPATIBILITY_DATABASE, (CDB) [=<Subsystems>]
-- Specifies that the Compatibility Databases for just the named
-- subsystems are to be restored.
-- IGNORE_CDB
-- Specifies that no compatibility information is to be restored.
-- LINKS [=<worlds>]
-- specifies that just the link packs for the named worlds are to
-- be restored. if no argument is given all link packs of all worlds
-- on the tape are restored.
-- PRIMARY
-- restore the compatibility database as a primary, rather than as a
-- secondary (which is the default).
-- REVERT_CDB
-- allow the compatibility database to be overwritten by the values
-- in the restore.
-- OBJECT_ACL=<acl_value>
-- WORLD_ACL=<acl_value>
-- DEFAULT_ACL=<acl_value>
-- Specifies the Access Control List for restored objects
-- (OBJECT_ACL) and worlds (WORLD_ACL) and the default ACL for
-- restored worlds (DEFAULT_ACL).
-- The value is either an ACL specification or one of the special
-- values RETAIN, ARCHIVED, INHERIT.
-- - RETAIN means to set the final acl of an already existing object
-- to the value it had before the restore. If the object doesn't
-- exist the archived acl value will be used. This is the default.
-- - ARCHIVED means to use the ACL archived with the object.
-- - INHERIT means to use the standard inheritence rules for new
-- versions of objects.
-- BECOME_OWNER
-- Modify the ACL of all restored objects such that the restorer
-- becomes the owner of the restored object.
-- TRAILING_BLANKS=integer
-- Specifies the number of trailing blanks which are to be
-- considered significant when parsing ada units during the
-- restore. If a line ends in more than this number of blanks,
-- the line break will be preserved in the image of the restored
-- ada unit. The default is 2.
-- UNCONTROL
-- specifies that controlled objects which are checked in
-- will be made uncontrolled before being overwritten.
-- objects will be recontrolled at the end of the archive.
-- only valid if the replace option is also given.
-- REQUIRE_PARENTS
-- require that the parent context for a unit to be restored
-- already exists. default is false.
-- VOLUME
-- specifies which volume archive is to create worlds on.
-- VERBOSE
-- Specifies that extra log messages are to be generated describing
-- more fully the steps of the restore process.
-- UNLOAD
-- A boolean option. When True (the default), causes the tape to
-- be rewound and unloaded after the operation is complete. When
-- False, this option causes the tape to be rewound to the beginning
-- and to remain online and available for subsequent requests.
-- When the tape is left online, subsequent requests send a tape-
-- mount request to the operator's console, which must be answered
-- before the tape can be accessed.
---------------------------------------------------------------------------
procedure List (Objects : String := "?";
Options : String := "R1000";
Device : String := "MACHINE.DEVICES.TAPE_0";
Response : String := "<PROFILE>");
-- Produce a listing of the names of the objects on an Archive tape.
-- The Objects parameter specifies the objects to be listed. Wildcards
-- are permitted, so if Objects = "?", the default, then all Objects are
-- listed.
-- The Options parameters are:
-- FORMAT and LABEL
-- as in the Save options.
-- NONRECURSIVE
-- don't list items on tape which are subcomponents of objects
-- selected by first paramater.
---------------------------------------------------------------------------
procedure Copy (Objects : String := "<IMAGE>";
Use_Prefix : String := "*";
For_Prefix : String := "*";
Options : String := "";
Response : String := "<PROFILE>");
-- Copy objects from one location to another, including between
-- machines on the same network.
-- The Objects parameter specifies where the objects are to be gotten
-- from as in an Archive.Save.
-- The Objects and Use_prefix parameters consist of an (optional)
-- machine name followed directly by an objects name.
-- A machine name has the form !!name.
-- Example:
-- !!machine1!users.foo
-- Another acceptable way to say the same thing is !!machine1.users.foo
--
-- The machine name on the objects parameter specifies the source machine.
-- The machine name on the use prefix specifies the destination machine.
-- If either machine is the one on which the command is being given
-- it is not necessary to give the machine name.
-- The non-machine name part of the Objects parameter is a name like that
-- given to the save operation.
--
-- The Use_Prefix/For_Prefix parameters specify where the objects
-- are to go as in Archive.Restore.
-- If the Use_Prefix parameter is "*" or just a machine name, then the
-- source Objects are moved to the same place on the destination machine
-- as specified by the source. The For_Prefix parameter is ignored.
-- If neither Objects nor Use_Prefix have a machine name then the
-- objects are copied from the source to the Use_Prefix on the
-- current machine.
--
-- If it is desired to transfer the same set of objects to multiple
-- targets in the same command a set of target names can be
-- specified as the use_prefix in one of the following two ways.
-- The use prefix can be of the form:
-- [use_prefix1, ..., use_prefixn]<optional_naming_expression>
-- examples:
-- archive.copy (..., use_prefix => "[m1,m2]", ...);
-- archive.copy (..., use_prefix => "[m1,m2,m3]!users.foo", ...);
--
-- The use prefix can be of the form:
-- _filename<optional_naming_expression_beginning_with_!>
-- The filename should contain a list of use_prefix's, one per line.
-- examples:
-- archive.copy (... use_prefix => "_targets", ...);
-- archive.copy (... use_prefix => "_targets!users.foo", ...);
-- where targets is a text file containing (e.g)
-- m1
-- m2
--
-- In both of the above cases the leading !! in machine names is optional.
---------------------------------------------------------------------------
-- The Options parameter has the following options.
--
-- AFTER, CODE, CDB, LINKS, IGNORE_CDB
-- NONRECURSIVE, EFFORT_ONLY
-- as in the save operation.
--
-- ALL_OBJECTS, NEW_OBJECTS, UPDATED_OBJECTS, CHANGED_OBJECTS,
-- EXISTING_OBJECTS, DIFFERENT_OBJECTS
-- PROMOTE, REPLACE, UNCONTROL, REMAKE, GOAL_STATE,
-- PRIMARY, REVERT_CDB, REQUIRE_PARENTS, VOLUME
-- BECOME_OWNER, OBJECT_ACL, WORLD_ACL, DEFAULT_ACL
-- VERBOSE
-- as in the restore operation.
-- ENABLE_PRIVILEGES
-- cause the archive server (and the copy job) to attempt to
-- enable_privileges.
---------------------------------------------------------------------------
-- Examples of calls:
--
-- Copy (Objects => "!USERS.JMK.CLI",
-- Use_Prefix => "!!M1");
--
-- will copy the CLI directory in !USERS.JMK on the
-- current machine to machine M1 !USERS.JMK.CLI.
--
-- Copy (Objects => "!!M2!USERS.OLLIE.CLI");
--
-- will copy !USERS.OLLIE.CLI on M2 to !USERS.OLLIE.CLI on the
-- current machine.
--
-- Copy (Objects => "!!M3!USERS.JMK.CLI.CMD",
-- Use_Prefix => "!USERS.OLLIE",
-- For_Prefix => "!USERS.JMK.CLI");
--
-- will copy the file !USERS.JMK.CLI.CMD on M3 to
-- !USERS.OLLIE.CMD on the current machine.
-- note when repositioning Objects it is necessary to give a
-- for_prefix which is a prefix of the Objects part of the
-- source parameter.
--
-- Copy (Objects => "!!M1!USERS.JMK.ILFORD",
-- Use_Prefix => "!!M2!AGFA",
-- For_Prefix => "!USERS.JMK");
--
-- will copy !USERS.JMK.ILFORD from machine M1 to
-- machine M2 !AGFA!ILFORD
--
-- Copy (Objects => "!USERS.JMK.CLI",
-- Use_Prefix => "!!M1",
-- Options => "REPLACE AFTER=12/25/86");
--
-- will copy those files which have changed since 12/25/86 in
-- !USERS.JMK.CLI on the current machine to machine M1 !USERS.JMK.CLI
-- Any existing files with the same names will be overwritten.
---------------------------------------------------------------------------
procedure Server;
-- start the archive server;
procedure Status (For_Job : Machine.Job_Id);
-- Prints information about the status of the Archive job specified.
-- Can be the job number of an Archive Server or of a job running
-- Archive.Copy, Archive.Restore, or Archive.Save.
pragma Subsystem (Archive);
pragma Module_Name (4, 3546);
end Archive;