## epm

Create software packages

### Synopsis

epm [ -a architecture ] [ -f format ] [ -g ] [ -k ] [ -n[mrs] ] [ -s setup.xpm ] [ --output-dir directory ] [ --setup-image setup.xpm ] [ --setup-program /foo/bar/setup ] [ --setup-types setup.types ] [ -v ] [ name=value name=value ] product [ listfile ]

### Description

epm generates software packages complete with installation, removal, and (if necessary) patch scripts. Unless otherwise specified, the files required for product are read from a file named "product.list".

The -a option ("architecture") specifies the actual architecture for the software. Without this option the generic processor architecture is used ("intel", "sparc", "mips", etc.)

The -f option ("format") specifies the distribution format:

aix
  Generate an AIX distribution suitable for installation on an AIX system.
bsd
  Generate a BSD distribution suitable for installation on a FreeBSD, NetBSD, or OpenBSD system.
deb
  Generate a Debian distribution suitable for installation on a Debian Linux system.
inst, tardist
  Generate an IRIX distribution suitable for installation on an system running IRIX.
native
  Generate an native distribution. This uses rpm for Linux, inst for IRIX, pkg for Solaris, swinstall for HP-UX, bsd for FreeBSD, NetBSD, and OpenBSD, and osx for MacOS X. All other operating systems default to the portable format.
osx
  Generate a MacOS X software package.
pkg
  Generate an AT&T software package. These are used primarily under Solaris.
portable
  Generate a portable distribution based on shell scripts and tar files. The resulting distribution is installed and removed the same way on all operating systems. [default]
rpm
  Generate a Red Hat Package Manager ("RPM") distribution suitable for installation on a Red Hat Linux system.
setld
  Generate a Tru64 (setld) software distribution.
slackware
  Generate a Slackware Linux software distribution.
swinstall, depot
  Generate a HP-UX software distribution.

Executable files in the distribution are normally stripped of debugging information when packaged. To disable this functionality use the -g option.

Intermediate (spec, etc.) files used to create the distribution are normally removed after the distribution is created. The -k option keeps these files in the distribution directory.

The -s and --setup-image options ("setup") include the ESP Software Wizard with the specified XPM image file with the distribution. This option is currently only supported by portable distributions.

The --setup-program option specifies the setup executable to use with the distribution. This option is currently only supported by portable distributions.

The --setup-types option specifies the setup.types file to include with the distribution. This option is currently only supported by portable distributions.

The --output-dir option specifies the directory to place output file into. The default directory is based on the operating system, version, and architecture.

The -v option ("verbose") increases the amount of information that is reported. Use multiple v's for more verbose output.

Distributions normally are named "product-version-system-release-machine.ext" and "product-version-system-release-machine-patch.ext" (for patch distributions.) The "system-release-machine" information can be customized or eliminated using the -n option with the appropriate trailing letters. Using -n by itself will remove the "system-release-machine" string from the filename entirely.

Debian, IRIX, portable, and Red Hat distributions use the extensions ".deb", ".tardist", "tar.gz", and ".rpm" respectively.

### List Variables

EPM maintains a list of variables and their values which can be used to substitute values in the list file. These variables are imported from the current environment and taken from the command-line and list file as provided. Substitutions occur when the variable name is referenced with the dollar sign ($):

    %install echo What is your name:
    %install read $$name
    %install echo Your name is $$name

    f 0555 root sys ${bindir}/foo foo
    f 0555 root sys $datadir/foo/foo.dat foo.dat

Variable names can be surrounded by curley brackets (${name}) or alone ($name); without brackets the name is terminated by the first slash (/), dash (-), or whitespace. The dollar sign can be inserted using $$.

### Known Bugs

EPM does not currently support generation of IRIX software patches.

### See Also

epm(1) - create software packages.

epminstall(1) - add a directory, file, or symlink to a list file.
mkepmlist(1) - make an epm list file from a directory.
epm.list(5) - epm list file format.

setup(1) - graphical setup program for the esp package manager.

### Copyright

Copyright 1999-2003 by Easy Software Products, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.