perp-setup(8)

NAME
perp-setup - initialize a perp installation

SYNOPSIS
perp-setup [ basedir ] [ ctldir ]

DESCRIPTION
perp-setup is a post-installation configuration script intended to automate the setup of a perp system. It is usually run only one-time, after the installation of the perp package.

perp-setup configures the base service directory as given by the argument basedir. If the basedir argument is not specified, perp-setup will use the environmental variable PERP_BASE. If PERP_BASE is not set or empty, perp-setup will use a default value for basedir, normally /etc/perp.

perp-setup creates the directories basedir and basedir/.boot if they don't already exist. It then installs the standard perpboot(8) scripts rc.log and rc.perp into basedir/.boot, and sets them executable. (If either of these scripts already exists, perp-setup leaves them alone and installs the new versions for review, non-executable, and with a .new extension.)

perp-setup then inspects the installation for the existence of basedir/.control. If it does not exist, perp-setup configures basedir/.control as a symlink to the directory given by the argument ctldir. If the ctldir argument is not specified, perp-setup will use the environmental variable PERP_CTL. If PERP_CTL is not set or empty, perp-setup will use a default value for ctrldir, normally /var/run/perp. Note that the perp-setup utility does not itself create the ctldir directory, only the symlink.

perp-setup then checks for a sysv-compatible init(8) system by looking for the file /etc/inittab. If present, and if no perpboot(8) entry is found within it, perp-setup appends an inittab(5) entry like the following:

    ## perpboot:
    PB:12345:respawn:/usr/sbin/perpboot -x /etc/perp

Check to see that this entry and the perpboot(8) runscripts are suitable for your installation. A SIGHUP signal to init(8) will then start the perp system:

    kill -HUP 1

Otherwise, perp-setup checks for a BSD-type init(8) system by looking for the file /etc/rc.local. If present, and if no perpboot(8) is already found within it, perp-setup appends an entry like the following:

    ## perpboot:
    if [ -x /usr/sbin/perpboot ]; then
        echo -n ' perpd'
            /usr/sbin/perpboot -d /etc/perp
    fi

Check to see that this entry and the perpboot(8) runscripts are suitable for your installation. The perp system will then start after the system is rebooted:

    shutdown -r now

Whether using inittab or rc.local, the administrator should look over the boot scripts and modify them if/as necessary for the specific installation.

The default rc.log script installed by perp-setup configures tinylog(8) as the perpd(8) logger. The adminstrator may modify the logger and/or logging options by editing the script directly. The rc.log script also tries to run tinylog(8) as an unprivileged user with runuid(8). The adminstrator will need to add a ``tinylog'' user/group account to the system to enable this feature.

FILES
/etc/perp/
    The default base operating directory for perpd(8).

/etc/perp/.boot/
    Directory containing the startup scripts used by perpboot.

/etc/perp/.boot/rc.log
    Control script used by perpboot to start a logger for perpd(8).

/etc/perp/.boot/rc.perp
    Control script used by perpboot to start up perpd(8).

/etc/perp/.control [--> /var/run/perp]
    Directory (normally a symlink) for runtime control files.

/etc/inittab
    inittab(5) configuration file for sysv-compatible system.

/etc/rc.local
    init(8) startup script for BSD-compatible system.

ENVIRONMENT
DESTDIR
    If this variable is defined and non-empty, perp-setup prepends basedir with this value before making directories and installing files. Implies NO_INIT, that is, perp-setup will skip setting up any system boot scripts inittab or rc.local. May be useful for package builders.

NO_INIT
    If this variable is defined and non-empty, perp-setup skips installation of any perpboot(8) stanzas into the system bootscripts inittab and rc.local. May be useful for package installation scripts, and/or when using other methods (such as an /etc/rc.d script) for starting perpboot(8).

PERP_BASE
    If no basedir argument is given at the command-line on startup, perp-setup checks for a value defined by PERP_BOOT. If this is not defined or empty, perp-setup uses a built-in default, normally /etc/perp.

PERP_CTL
    If no ctldir argument is given at the command-line on startup, perp-setup checks for a value defined by PERP_CTL. If this is not defined or empty, perp-setup uses a built-in default, normall /var/run/perp.

AUTHOR
Wayne Marshall, http://b0llix.net/perp/

SEE ALSO
perp_intro(8), perpboot(8), perpctl(8), perpd(8), perpetrate(5), perphup(8), perpls(8), perpok(8), perpstat(8), sissylog(8), tinylog(8), runuid(8)