This manual page is part of the POSIX Programmer's Manual. The
Linux implementation of this interface may differ (consult the corresponding
Linux manual page for details of Linux behavior), or the interface may not
be implemented on Linux.
admin — create and administer SCCS files
(DEVELOPMENT)
admin -i[name] [-n] [-a login] [-d flag] [-e login] [-f flag]
[-m mrlist] [-r rel] [-t[name] [-y[comment]] newfile
admin -n [-a login] [-d flag] [-e login] [-f flag] [-m mrlist]
[-t[name]] [-y[comment]] newfile...
admin [-a login] [-d flag] [-m mrlist] [-r rel] [-t[name]] file...
admin -h file...
admin -z file...
The admin utility shall create new SCCS files or change
parameters of existing ones. If a named file does not exist, it shall be
created, and its parameters shall be initialized according to the specified
options. Parameters not initialized by an option shall be assigned a default
value. If a named file does exist, parameters corresponding to specified
options shall be changed, and other parameters shall be left as is.
All SCCS filenames supplied by the application shall be of the
form s.filename. New SCCS files shall be given read-only permission
mode. Write permission in the parent directory is required to create a file.
All writing done by admin shall be to a temporary x-file,
named x.filename (see get) created with read-only mode
if admin is creating a new SCCS file, or created with the same mode
as that of the SCCS file if the file already exists. After successful
execution of admin, the SCCS file shall be removed (if it exists),
and the x-file shall be renamed with the name of the SCCS file. This
ensures that changes are made to the SCCS file only if no errors occur.
The admin utility shall also use a transient lock file
(named z.filename), which is used to prevent simultaneous updates to
the SCCS file; see get.
The admin utility shall conform to the Base Definitions
volume of POSIX.1‐2017, Section 12.2, Utility Syntax
Guidelines, except that the -i, -t, and -y options
have optional option-arguments. These optional option-arguments shall not be
presented as separate arguments. The following options are supported:
- -n
- Create a new SCCS file. When -n is used without -i, the SCCS
file shall be created with control information but without any file
data.
- -i[name]
- Specify the name of a file from which the text for a new SCCS file
shall be taken. The text constitutes the first delta of the file (see the
-r option for the delta numbering scheme). If the -i option
is used, but the name option-argument is omitted, the text shall be
obtained by reading the standard input. If this option is omitted, the
SCCS file shall be created with control information but without any file
data. The -i option implies the -n option.
- -r SID
- Specify the SID of the initial delta to be inserted. This SID shall be a
trunk SID; that is, the branch and sequence numbers shall be zero or
missing. The level number is optional, and defaults to 1.
- -t[name]
- Specify the name of a file from which descriptive text for the SCCS
file shall be taken. In the case of existing SCCS files (neither -i
nor -n is specified):
- *
- A -t option without a name option-argument shall cause the
removal of descriptive text (if any) currently in the SCCS file.
- *
- A -t option with a name option-argument shall cause the text
(if any) in the named file to replace the descriptive text (if any)
currently in the SCCS file.
- -f flag
- Specify a flag, and, possibly, a value for the flag, to be
placed in the SCCS file. Several -f options may be supplied on a
single admin command line. Implementations shall recognize the
following flags and associated values:
- b
- Allow use of the -b option on a get command to create branch
deltas.
- cceil
- Specify the highest release (that is, ceiling), a number less than or
equal to 9999, which may be retrieved by a get command for editing.
The default value for an unspecified c flag shall be 9999.
- ffloor
- Specify the lowest release (that is, floor), a number greater than 0 but
less than 9999, which may be retrieved by a get command for
editing. The default value for an unspecified f flag shall be
1.
- dSID
- Specify the default delta number (SID) to be used by a get
command.
- istr
- Treat the ``No ID keywords'' message issued by get or delta
as a fatal error. In the absence of this flag, the message is only a
warning. The message is issued if no SCCS identification keywords (see
get) are found in the text retrieved or stored in the SCCS
file. If a value is supplied, the application shall ensure that the
keywords exactly match the given string; however, the string shall contain
a keyword, and no embedded <newline> characters.
- j
- Allow concurrent get commands for editing on the same SID of an
SCCS file. This allows multiple concurrent updates to the same version of
the SCCS file.
- llist
- Specify a list of releases to which deltas can no longer be made
(that is, get -e against one of these locked releases
fails). Conforming applications shall use the following syntax to specify
a list. Implementations may accept additional forms as an
extension:
<list> ::= a | <range-list>
<range-list> ::= <range> | <range-list>, <range>
<range> ::= <SID>
The character a in the list shall be equivalent to
specifying all releases for the named SCCS file. The non-terminal
<SID> in range shall be the delta number of an existing delta
associated with the SCCS file.
- n
- Cause delta to create a null delta in each of those releases (if
any) being skipped when a delta is made in a new release (for example, in
making delta 5.1 after delta 2.7, releases 3 and 4 are skipped). These
null deltas shall serve as anchor points so that branch deltas may later
be created from them. The absence of this flag shall cause skipped
releases to be nonexistent in the SCCS file, preventing branch deltas from
being created from them in the future. During the initial creation of an
SCCS file, the n flag may be ignored; that is, if the -r
option is used to set the release number of the initial SID to a value
greater than 1, null deltas need not be created for the ``skipped''
releases.
- qtext
- Substitute user-definable text for all occurrences of the
%Q% keyword in the SCCS file text retrieved by get.
- mmod
- Specify the module name of the SCCS file substituted for all occurrences
of the %M% keyword in the SCCS file text retrieved by get.
If the m flag is not specified, the value assigned shall be the
name of the SCCS file with the leading '.' removed.
- ttype
- Specify the type of module in the SCCS file substituted for all
occurrences of the %Y% keyword in the SCCS file text retrieved by
get.
- vpgm
- Cause delta to prompt for modification request (MR) numbers as the
reason for creating a delta. The optional value specifies the name of an
MR number validation program. (If this flag is set when creating an SCCS
file, the application shall ensure that the m option is also used
even if its value is null.)
- -d flag
- Remove (delete) the specified flag from an SCCS file. Several
-d options may be supplied on a single admin command. See
the -f option for allowable flag names. (The
llist flag gives a list of releases to be unlocked.
See the -f option for further description of the l flag and
the syntax of a list.)
- -a login
- Specify a login name, or numerical group ID, to be added to the
list of users who may make deltas (changes) to the SCCS file. A group ID
shall be equivalent to specifying all login names common to that
group ID. Several -a options may be used on a single admin
command line. As many logins, or numerical group IDs, as desired
may be on the list simultaneously. If the list of users is empty, then
anyone may add deltas. If login or group ID is preceded by a
'!', the users so specified shall be denied permission to make
deltas.
- -e login
- Specify a login name, or numerical group ID, to be erased from the
list of users allowed to make deltas (changes) to the SCCS file.
Specifying a group ID is equivalent to specifying all login names
common to that group ID. Several -e options may be used on a single
admin command line.
- -y[comment]
- Insert the comment text into the SCCS file as a comment for the
initial delta in a manner identical to that of delta. In the POSIX
locale, omission of the -y option shall result in a default comment
line being inserted in the form:
"date and time created %s %s by %s", <date>, <time>, <login>
where <date> is expressed in the format of the
date utility's %y/%m/%d conversion
specification, <time> in the format of the date
utility's %T conversion specification format, and
<login> is the login name of the user creating the file.
- -m mrlist
- Insert the list of modification request (MR) numbers into the SCCS file as
the reason for creating the initial delta in a manner identical to
delta. The application shall ensure that the v flag is set
and the MR numbers are validated if the v flag has a value (the
name of an MR number validation program). A diagnostic message shall be
written if the v flag is not set or MR validation fails.
- -h
- Check the structure of the SCCS file and compare the newly computed
checksum with the checksum that is stored in the SCCS file. If the newly
computed checksum does not match the checksum in the SCCS file, a
diagnostic message shall be written.
- -z
- Recompute the SCCS file checksum and store it in the first line of the
SCCS file (see the -h option above). Note that use of this option
on a truly corrupted file may prevent future detection of the
corruption.
The following operands shall be supported:
- file
- A pathname of an existing SCCS file or a directory. If file is a
directory, the admin utility shall behave as though each file in
the directory were specified as a named file, except that non-SCCS files
(last component of the pathname does not begin with s.) and
unreadable files shall be silently ignored.
- newfile
- A pathname of an SCCS file to be created.
If exactly one file or newfile operand appears, and
it is '-', the standard input shall be read; each line of the
standard input shall be taken to be the name of an SCCS file to be
processed. Non-SCCS files and unreadable files shall be silently
ignored.
The standard input shall be a text file used only if -i is
specified without an option-argument or if a file or newfile
operand is specified as '-'. If the first character of any standard
input line is <SOH> in the POSIX locale, the results are
unspecified.
The existing SCCS files shall be text files of an unspecified
format.
The application shall ensure that the file named by the -i
option's name option-argument shall be a text file; if the first
character of any line in this file is <SOH> in the POSIX locale, the
results are unspecified. If this file contains more than 99999 lines, the
number of lines recorded in the header for this file shall be 99999 for this
delta.
The following environment variables shall affect the execution of
admin:
- LANG
- Provide a default value for the internationalization variables that are
unset or null. (See the Base Definitions volume of POSIX.1‐2017,
Section 8.2, Internationalization Variables for the
precedence of internationalization variables used to determine the values
of locale categories.)
- LC_ALL
- If set to a non-empty string value, override the values of all the other
internationalization variables.
- LC_CTYPE
- Determine the locale for the interpretation of sequences of bytes of text
data as characters (for example, single-byte as opposed to multi-byte
characters in arguments and input files).
- LC_MESSAGES
-
Determine the locale that should be used to affect the format and contents
of diagnostic messages written to standard error and the contents of the
default -y comment.
- NLSPATH
- Determine the location of message catalogs for the processing of
LC_MESSAGES.
The standard error shall be used only for diagnostic messages.
Any SCCS files created shall be text files of an unspecified
format. During processing of a file, a locking z-file, as
described in get, may be created and deleted.
The following exit values shall be returned:
- 0
- Successful completion.
- >0
- An error occurred.
Default.
The following sections are informative.
It is recommended that directories containing SCCS files be
writable by the owner only, and that SCCS files themselves be read-only. The
mode of the directories should allow only the owner to modify SCCS files
contained in the directories. The mode of the SCCS files prevents any
modification at all except by SCCS commands.
delta, get, prs,
what
The Base Definitions volume of POSIX.1‐2017, Chapter
8, Environment Variables, Section 12.2, Utility Syntax
Guidelines
Portions of this text are reprinted and reproduced in electronic
form from IEEE Std 1003.1-2017, Standard for Information Technology --
Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group. In the event
of any discrepancy between this version and the original IEEE and The Open
Group Standard, the original IEEE and The Open Group Standard is the referee
document. The original Standard can be obtained online at
http://www.opengroup.org/unix/online.html .
Any typographical or formatting errors that appear in this page
are most likely to have been introduced during the conversion of the source
files to man page format. To report such errors, see
https://www.kernel.org/doc/man-pages/reporting_bugs.html .