Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ perms(F) — OpenDesktop 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

custom(ADM)


 perms(F)                      06 January 1993                       perms(F)


 Name

    perms - file permissions list for package installation

 Description

    An add-on software distribution is divided into a number of packages that
    may be installed separately or together. A permissions list (perms list)
    file contains an entry for each file that may be installed or created
    from a software distribution. The perms lists are located in the
    /etc/perms directory. The filename of a perms list is an abbreviation (a
    maximum of eight alphabetic characters) of the product; the filename must
    match the value of the #prd keyword in the perms list.

    A perms list file has the following format:

    +  A comment line is begun with a hash character (#) followed by a space.

    +  A special keyword phrase is begun by a hash character followed by an
       exclamation mark (!) (to define a package within a distribution), or a
       keyword. The keywords are described later in this section.

    +  A file description line does not start with a hash character.

    The custom(ADM) utility parses the keyword phrases and description lines
    to determine what files are being installed or, in the case of direc-
    tories, created. Only one file to be installed may be specified on a file
    description line.

 Examples

    A simple example of a perms list:

    1       # Small OS Perms List
    2       #
    3       #prd=smallos
    4       #typ=ku386
    5       #rel=3.2.5
    6       #set="The Very Small OS Product"
    7       uid     root    0
    8       uid     bin     2
    9       gid     root    0
    10      gid     bin     2
    11      #
    12      #!ALL           300     Entire Product
    13      #
    14      PERM    f644    bin/bin         1       ./etc/perms/smallos     01
    15      #
    16      #!BASEPKG       256     Basic Package
    17      #
    18      # directory that is part of the required product
    19      BASEPKG d755    bin/bin         1       ./dev
    20      # directory not part of the required product (signified by D)
    21      BASEPKG D755    bin/bin         1       ./tmp
    22      # standard file
    23      BASEPKG x711    bin/bin         1       ./bin/cat               02
    24      # standard file with 3 links
    25      BASEPKG x711    bin/bin         3       ./bin/cp                01
    26                                              ./bin/ln                01
    27                                              ./bin/mv                01
    28      # special chmod bit set, see chmod(S)
    29      BASEPKG x2111   bin/bin         2       ./bin/df                01
    30                                              ./bin/devnm             01
    31      # shell script: note that read permissions are needed
    32      BASEPKG f755    bin/bin         1       ./usr/lib/mkdev/lp      02
    33      # character device node
    34      BASEPKG c440    root/root       1       ./dev/auditr            21/0
    35      #
    36      #!DEVPKG        26      Development Package
    37      #
    38      # block device node
    39      DEVPKG  b440    root/bin        1       ./dev/root              1/40
    40      # finked device node
    41      DEVPKG  c622    root/bin        3       ./dev/console           3/1
    42                                              ./dev/syscon
    43                                              ./dev/systty


    Lines 1 and 2 are comment lines.

    Lines 3 to 6 introduce the product using the following keywords:

    #prd The product name as a lowercase string with at most eight charac-
         ters. This name must be the same as the perms list filename.

    #typ The computer processor type.

    #rel The release number of the distribution.

    #set The product name to be displayed by custom.

    Lines 7 to 10 specify the user ID (uid) and group ID (gid) that are used
    to assign user and group ownership to each file being installed. The
    first field indicates the ID type (uid or gid), the second field contains
    the user or group name, and the third field is the corresponding numeric
    ID.

    Line 12 is required to introduce the PERM package.  All perms lists must
    include this package to define the files used by all packages within the
    distribution. This package never includes the label file.  Each package
    description contains three fields; a package name, the package size in
    512-byte blocks, and a string describing the package.

    Line 14 defines the perms list file itself. The perms list is always
    assigned to the PERM package since it is needed by all packages within
    the distribution.

    Lines 16 and 36 introduce two example packages, BASEPKG and DEVPKG,
    included to show how a distribution may be grouped into smaller packages.
    Each package defines a number of files on file description lines.

    A file description line has the following fields:

    package name
         The name of the package within a distribution.

    type and permission
         A character indicating file type followed by an octal chmod(C) per-
         mission specification. The file type can be one of the following:

         a,A     archive file
         b,B     block device file
         c,C     character device file
         d,D     directory
         e,E     empty file
         f,F     text file
         o,O     turn off any file type checking; used with data files
         p,P     named pipe
         x,X     executable file

         An uppercase file type indicates that the associated file is
         optional; custom will overlook the file in deciding whether a pack-
         age is fully installed.

    owner/group
         The owner and group of the file selected from the list of possible
         owners and groups at the start of the perms list.

    number of links
         If there is more than one link to a file, the following lines con-
         tain the name of the linked file and the volume number only (see
         lines 25 through 27 of the example). Linked device special files
         only list the name of the linked file (see lines 41 through 43 of
         the example).

    pathname
         The pathname of the file relative to the root directory (/). The
         pathname must be relative and begin with ``./''.

    volume or major/minor number
         The number of the media volume on which the file exists. The volume
         number has the same value as the vol= entry in the label file.
         Allowed volume numbers are in the range 01 to 99. This field is
         blank for directories which are created as needed by custom (see
         lines 19 and 21 of the example).

         Special files use this field to specify the major and minor device
         numbers separated by a slash. Device files are created as necessary
         by custom.  Linked device special files leave this field blank (see
         lines 41 through 43 of the example).

 Files

    /etc/perms/*   package file permissions lists

 See also

    custom(ADM)


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026