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.  (This has been obsoleted by the
            %postinstall directive)

       %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.  (This has been obsoleted  by  the
            %postpatch directive)

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

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

       %postremove script or program
            Specifies  a script or program to be run after remov-
            ing files.

       %preinstall script or program
            Specifies a script or program to be  run  before  all
            files are installed.

       %prepatch script or program
            Specifies  a  script  or program to be run before all
            files are patched.
            Specifies a script or program to be run before remov-
            ing files.

       %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  files.   (This has been obsoleted by the %prere-
            move directive)

       %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

       %requires filename
            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
            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
            included as part of a patch.

       i mode user group service-name source

       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

       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
       patches.


SEE ALSO

       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.