epm - create software packages


SYNOPSIS

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


DESCRIPTION

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

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

       deb
            Generate a Debian distribution suitable for installa-
            tion on a Debian Linux system.

       inst, tardist
            Generate  an IRIX distribution suitable for installa-
            tion on an system running IRIX.

       native
            Generate an native distribution. This  uses  rpm  for
            Linux,  inst for IRIX, pkg for Solaris, and swinstall
            for HP-UX. All other operating systems default to the
            portable format.

       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") distribu-
            tion suitable for installation on  a  Red  Hat  Linux
            system.

       setld
            Generate a Tru64 (setld) software distribution.

       swinstall, depot
            Generate a HP-UX software distribution.

       functionality use the -g option.

       Intermediate (spec, etc.) files used to create the distri-
       bution are normally removed after the distribution is cre-
       ated.  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 -v option ("verbose") increases the amount of informa-
       tion 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  elimi-
       nated  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 FILES

       Each  product  has  an associated list file that describes
       the files to include with the product. Comment lines begin
       with  the  "#"  character and are ignored.  All other non-
       blank lines must begin with a letter, dollar  sign  ("$"),
       or the percent sign ("%") as follows:

       $name=value
            Sets the named variable to value. Note: Variables set
            in the list file are overridden by  variables  speci-
            fied  on  the command-line or in the current environ-
            ment.

       %copyright copyright notice
            Sets the copyright notice for the file.

       %description description text
            Adds a line of descriptive text to the  distribution.
            Multiple lines are supported.

            Uses  following files and directives only if the dis-
            tribution format is the same as format.

       %format !format [... format]
            Uses following files and directives only if the  dis-
            tribution format is not the same as format.

       %include filename
            Includes files listed in filename.

       %incompat product

       %incompat filename
            Indicates  that this product is incompatible with the
            named product or file.

       %install script or program
            Specifies a script or program to  be  run  after  all
            files are installed.

       %license license file
            Specifies   the  file  to  display  as  the  software
            license.

       %packager name of packager
            Specifies the name of the packager.

       %patch script or program
            Specifies a script or program to  be  run  after  all
            files are patched.

       %product product name
            Specifies the product name.

       %readme readme file
            Specifies a README file to be included in the distri-
            bution.

       %remove script or program
            Specifies a script or program to be run before remov-
            ing or patching files.

       %release number
            Specifies  the  release  or build number of a product
            (defaults to 0).

       %replaces product
            Indicates that this product replaces the named  prod-
            uct.

       %requires product

            Indicates  that this product requires the named prod-
            uct or file.

       %vendor vendor or author name
            Specifies the vendor or author of the product.

       %version version number
            Specifies the version number of the product.

       %system system[-release] [... system[-release]]
            Specifies that the following  files  should  only  be
            used   for   the   specified  operating  systems  and
            releases.

       %system !system[-release] [... system[-release]]
            Specifies that the following files should not be used
            for the specified operating systems and releases.

       %system all
            Specifies  that the following files are applicable to
            all operating systems.

       c mode user group destination source

       C mode user group destination source
            Specifies a configuration file for installation.  The
            second form specifies that the file has changed or is
            new and should be included as part of a  patch.  Con-
            figuration  files are installed as "destination.N" if
            the destination already exists.

       d mode user group destination -

       D mode user group destination -
            Specifies  a  directory  should   be   created   when
            installing  the  software.  The second form specifies
            that the directory is new and should be  included  as
            part of a patch.

       f mode user group destination source

       F mode user group destination source
            Specifies  a  file  for installation. The second form
            specifies that the file has changed  or  is  new  and
            should be included as part of a patch.

       f mode user group destination source/pattern

       F mode user group destination source/pattern
            Specifies  one  or  more files for installation using
            shell wildcard patterns. The  second  form  specifies
            that  the files have changed or are new and should be

       I mode user group service-name source
            Specifies an initialization script for  installation.
            The  second  form specifies that the file has changed
            or is new and should be included as part of a  patch.
            Initialization      scripts     are     stored     in
            /etc/software/init.d and are linked to the  appropri-
            ate  system-specific directories for run levels 0, 2,
            3, and 5.  Initialization  scripts  must  accepts  at
            least the start and stop commands.

       l mode user group destination source

       L mode user group destination source
            Specifies  a  symbolic  link in the installation. The
            second form specifies that the link has changed or is
            new and should be included as part of a patch.

       R mode user group destination
            Specifies  that the file is to be removed upon patch-
            ing.  The user and group  fields  are  ignored.   The
            mode  field  is  only  used  to  determine if a check
            should be made for a previous version of the file.


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 whites-
       pace. The dollar sign can be inserted using $$.


ENVIRONMENT VARIABLES

       The RPMDIR environment variable will  override  where  EPM
       looks  for  RPM  distributions  you  generate. The default
       locations  are  /usr/src/redhat/RPMS,   /usr/src/RPM/RPMS,
       /usr/src/packages/RPMS, and /usr/local/src/RPMS.


KNOWN BUGS

       EPM does not currently support generation of IRIX software
       mkepmlist(1) - make an EPM list file from a directory.


COPYRIGHT

       Copyright 1999-2001 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.