mkperm(SMT) 6 January 1993 mkperm(SMT) Name mkperm - make a product permissions list (permlist) Syntax mkperm [-p prdvalue] [-s "setstring"] [-t type] \ [-r release] [-S "serialized files"] \ [-o output file] [-O dist directory] \ [-x volprefix] [-D dirfile] \ pkgdir PKGNAME "pkgdesc" [pkgdir2 PKGNAME2 "pkgdesc2" ... ]] Description mkperm creates a permlist from a directory hierarchy. This utility is called by docut(SMT). The resultant permlist is suitable as input for the mkcuts utility. The following is a list of required values. If not specified on the com- mand line, they are read from the appropriate environment variables. If a required value is not present on the command line or in the environ- ment, mkperm gives an error message. prdvalue: abbreviated product name; example: pro. Default value is $PRODPRD. setstring: name of the full set or application; example: SCO Profes- sional. Default value is $PRODSET. type: target system. Default value is $PRODTYP. release: release number of the product. Default value is $PRODREL. pkgdir: root directory path for a given package PKGNAME: name of the package associated with pkgdir pkgdesc: description of the package If pkgdir, PKGNAME, and pkgdesc are not given on the command line, they are taken from the variables BASEPACKDIR, BASEPACKNAME, and BASEPACKDESC. The -S option sets the permlist variable ser, which lists the names of serialized files. If the -S option is not given, the SERIALIZE environ- ment variable is used. If this is not set, a default value of "" (zero- length string) is used. The -x option specifies prefix letters for the volume number field in the permlist. (This is mainly used for updates, and for the N, B, and X vol- umes of the OS.) If the -x option is not given, the value of the environment variable VOLPREFIX is used. If this is not set, no prefix letters are used. If an output filename of ``-'' is given with the -o option, the permlist output is written to stdout. If the -o option is not given, the permlist output is written to $DISTDIR/$PERMLIST with a default value of ./dist/tmp/perms/prdvalue. The -O option specifies the root directory of the distribution tree, which holds all the files to be copied onto the distribution media. mkperm creates this tree by making links to the appropriate files under the package directories. If a value of ``-'' is given with the -O option, this action is turned off; no links are made, and the distribu- tion tree is not created. If the -O option is not given, the directory name is taken from the DISTDIR environment variable, with a default value of ./dist Note that the fixperm -c command must be run on the distribution tree before cutting the distribution media. This is necessary to set owner- ship and permissions, ensure that all links are made, and to create all directories and devices listed in the permlist. (This is done automati- cally if mkcuts is used.) The -D option controls which directories are listed in the permlist. Without it, by default, mkperm omits from the created permlist any direc- tories that are already listed in the operating system permlists (for example, ./etc, ./usr, ./usr/bin). This is to ensure that custom- installable applications do not change the ownership/permissions on OS directories when installed. If this behavior is not appropriate (for example, when producing a permlist for an OS component) the -D option can specify a file that lists the directories to be omitted from the created permlist. The directories should be listed in the file one per line, without surrounding whitespace. (This is the same format as the output of fixperm -D.) Specifying a filename of ``-'' with the -D option makes mkperm include all directories in the created permlist, without omitting any. Notes mkperm must be run from the root login. Any files whose uid or gid name cannot be determined are inherited by root. Files /etc/fixperm See also docut(SMT), fixperm(ADM), fixperm(M), mkcuts(SMT)