IEEE/The Open Group
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-2008, 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):
|-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:
|-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 l list 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:
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:
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.
|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.|
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-2008, 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||An error occurred.|
CONSEQUENCES OF ERRORS
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-2008, 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, 2013 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, Copyright (C) 2013 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. (This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) 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.unix.org/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 .