## epm(1)

### Name

epm - create software packages.

### Synopsis

epm [ -a architecture ] [ -f format ] [ -g ] [ -k ] [ -m name ] [ -n[mrs] ] [ -s setup.ext ] [ --depend ] [ --help ] [ --keep-files ] [ --output-dir directory ] [ --setup-image setup.ext ] [ --setup-program /foo/bar/setup ] [ --setup-types setup.types ] [ --uninstall-program /foo/bar/uninst ] [ -v ] [ name=value ... name=value ] product [ listfile ]

### Description

epm(1) 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".

### Options

The following options are recognized:

-a architecture
  Specifies the actual architecture for the software. Without this option the generic processor architecture is used ("intel", "sparc", "mips", etc.)
-f bsd
  Generate a BSD distribution suitable for installation on a FreeBSD, NetBSD, or OpenBSD system.
-f deb
  Generate a Debian distribution suitable for installation on a Debian-based Linux system.
-f native
  Generate a native distribution. This uses deb or rpm for Linux, bsd for FreeBSD, NetBSD, and OpenBSD, and macos for macOS. All other operating systems default to the portable format.
-f macos
-f macos-signed
  Generate a macOS software package. The macos-signed format uses the signing identity in the EPM_SIGNING_IDENTITY environment variable.
-f 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]
-f rpm
-f rpm-signed
  Generate a Red Hat Package Manager ("RPM") distribution suitable for installation on an RPM-based Linux system. The rpm-signed format uses the GPG private key you have defined in the ~/.rpmmacros file.
-g
  Disable stripping of executable files in the distribution.
-k
  Keep intermediate (spec, etc.) files used to create the distribution in the distribution directory.
-m name
  Specifies the platform name as a string. The default is to use the auto-generated name from the -n option.
-n[mrs]
  Specifies the operating system and machine information that is included in the package name. 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 appropriate trailing letters. Using -n by itself will remove the "system-release-machine" string from the filename entirely. The letter 'm' includes the architecture (machine). The letter 'r' includes the operating system version (release). The letter 's' includes the operating system name.
-v
  Increases the amount of information that is reported. Use multiple v's for more verbose output.
--depend
  Lists the dependent (source) files for all files in the package.
--output-dir directory
  Specifies the directory for output files. The default directory is based on the operating system, version, and architecture.
-s setup.ext
--setup-image setup.ext
  Include the ESP Software Wizard with the specified image file with the distribution. This option is currently only supported by portable distributions.
--setup-program /foo/bar/setup
  Specifies the setup executable to use with the distribution. This option is currently only supported by portable distributions.
--setup-types setup.types

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

--uninstall-program /foo/bar/uninst
  Specifies the uninst executable to use with the distribution. This option is currently only supported by portable distributions.

### Environment

The following environment variables are supported by epm:

EPM_SIGNING_IDENTITY
  The common name that should be used when signing a package.

### List Files

The EPM list file format is now described in the epm.list(5) man page.

### See Also

epminstall(1), mkepmlist(1), epm.list(5), setup(1).

### Copyright

Copyright © 1999-2020 by Michael R Sweet, All Rights Reserved. Copyright © 2020 by Jim Jagielski, All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.