This appendix lists the change log for each release of the
EPM software.
Changes in EPM v3.7
- Fixed init script support for Tru64 packages.
- AIX output now correctly generates the inventory file
for files in /usr and /opt.
- The Slackware packaging code swapped the output
directory and product name when generating the
post-install script.
- RPM dependencies of the form "%requires package >=
version" are now correctly written in the spec file.
- AIX output now correctly lists file sizes by directory
and handles /opt properly.
- RPM output now correctly handles installing,
upgrading, and removing init scripts.
- RPM output did not work with filenames that contained
a dollar sign ($).
- Added Slackware packager support based upon a patch
contributed by Alec Thomas.
- The file copy code reported write errors for the
source filename and not the (correct) destination
filename.
- Fixed the handling of absolute output directories when
generating RPM packages.
- The configure script did not support the OPTIM
environment variable for custom optimization settings.
- Portable packages updated the permissions of
configuration files before they were copied.
- Portable installations did not remove empty
installation directories when the remove script was
run.
- Portable patch installation did not correctly
determine when root or /usr files were present in the
patch.
- OSX packages incorrectly looked in /System/Library for
the init scripts instead of /Library.
- RPM building did not work properly when --output-dir
was specified using an absolute path.
- Made cosmetic changes to the setup/uninstall GUIs.
- The setup GUI did not support software patches.
- The documentation incorrectly specified runlevels()
instead of runlevel().
- The portable distributions incorrectly used
/usr/local/src/rc.d as a fallback location for init
scripts.
Changes in EPM v3.6
- Added a GUI uninstall program to be distributed with
portable distributions with a setup image.
- MacOS X portable packages now support graphical setup
and uninstall using the Apple authorization API.
- Debian packages did not include the (required)
trailing period when running the update-rc.d script.
- BSD packages now create directories using postinstall
commands instead of listing them directly. This
should eliminate errors from the FreeBSD pkg_delete
command.
- File dependencies were incorrectly specified in RPM
spec files.
- IRIX portable distributions didn't write the chkconfig
commands properly.
- The mkepmlist utility didn't support files as well as
directories.
- EPM didn't do variable expansion of imported files
("<foo.txt") or in-line data ("<<FOO")
- Now build gzip'd depot files as well as the tar.gz
files when creating HP-UX software packages.
- Now correctly use --libdir setting to locate the setup
GUI.
- Now use rpmbuild command, if available, to build RPM
files since newer versions of RPM may not map the
"-bb" option to build a package.
- Now set the RPMDIR environment variable when building
with older versions of RPM that don't understand the
"topdir_" variable.
- Now handle dependencies of the form "package >=
version" in Debian packages.
- Portable distributions that didn't have any files in
/usr or in / would look for a non-existent .sw or .ss
file.
- EPM's sample list file didn't include the man pages
for setup or setup.types, and installed the epm list
file format man page in the wrong directories.
- EPM would quote the ":" character in filenames but
didn't need to.
- EPM tried to move the wrong RPM file on non-intel
systems.
Changes in EPM v3.5.1
- OSX packages did not set the "install as root" package
type, so package installation usually failed.
- OSX packages installed init scripts in
/System/Library/StartupItems, but non-Apple packages
should be installed in /Library/StartupItems.
- Added support for "requires(foo)", "uses(foo)",
"provides(foo)", and "order(foo)" as options for init
scripts. These options are currently only used when
creating OSX packages.
Changes in EPM v3.5
- Added support for MacOS X package generation.
- No longer need/use RPMDIR when building RPMs, just
set the "topdir_" variable in the spec file.
- The portable removal scripts didn't correctly write
the list of init scripts to remove.
- Added a new --output-dir option contributed by
Geoffrey Wossum.
- Not all implementations of the "id" command support
the "-u" option, so EPM now looks at the default
output.
- RPM dependencies with a single version number didn't
get written to the spec file properly.
- Added support for file options - nostrip(),
runlevel(12345), start(nn), and stop(nn).
- Filenames can now contain spaces, either by putting
the full name in quotes ("file with spaces")
or using the backslash character
(file\ with\ spaces).
- The mkepmlist utility didn't handle symlinks properly.
- BSD packages needed to list the directories to remove
separately and in reverse order.
Changes in EPM v3.4
- No longer install init scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in run levels 2 and 5
under Solaris, which runs all init scripts in each run
levelinit scripts in r