Overview

EPM is a simple cross-platform tool that generates software and patch distributions in various formats from a list of files. Supported formats include:

  • AIX software packages (“installp”)
  • AT&T software packages (“pkgadd”), used by Solaris and others
  • BSD packages (“pkg_create”)
  • Compaq Tru64 UNIX (“setld”)
  • Debian Package Manager (“dpkg”)
  • HP-UX software packages (“swinstall”)
  • IRIX software manager (“inst”, “swmgr”, or “tardist”)
  • macOS software packages (“name.pkg”)
  • Portable (installation and removal scripts with tar files)
  • Red Hat Package Manager (“rpm”)
  • Slackware software packages (“name.tgz”)

EPM also includes graphical “setup” and “uninstall” programs that can be provided with your distributions to make installation and removal of more than one package a snap. The installers can be customized with product logos, “readme” files, and click-wrap licenses as desired.

The latest version is 5.0.0

Why you might need it

EPM was designed from the beginning to build binary software distributions using a common software specification format. The same distribution files work for all operating systems and all distribution formats. Supporting source code distributions was not a goal since most RPM and Debian source distributions are little more than wrapping around a compressed tar file containing the source files and a configure script.

Over the years, additional features have made their way into EPM to support more advanced software packages. Whenever possible, EPM emulates a feature if the vendor package format does not support it natively.

License

EPM is open source software distributed under ALv2 terms; see https://www.apache.org/licenses/LICENSE-2.0 for more information. You can use or redistribute this software, but need to preserve the credits of author. Please read LICENSE for information on the software availability and distribution.

Documentation

You'll find some basic user-level docs in the docs folder

History

EPM was originally written by Michael Sweet (https://www.msweet.org/epm/) as part of his Easy Software Products effort. It was for a long time maintained by Michael until around 2018 when development was moved to Maintenance Mode on the project.

EPM was, and still is, an important dependency for numerous open source projects, especially Apache OpenOffice, which uses EPM to create our complimentary community builds. I (jimjag), saw the need to keep EPM alive and kicking, as well as officially folding into the project the various AOO features needed by the OpenOffice project. Also, we needed to continue to support some platforms that the official EPM distro deprecated.

With all that in mind, jimjag contacted Michael and offered to take on and "take over" active development and maintenance of EPM, to which Michael graciously agreed to. All future development and releases will be done via jimjag's EPM

Contributing

Please submit bug reports, suggestions and pull requests to the GitHub issue tracker.

We're particularly interested in fixing edge-cases, expanding test coverage and adding additional package formats.