fpm vs makeself
fpm
fpm.readthedocs.iomakeself
makeself.ioSide by side
| Figure | fpm | makeself |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Software Packaging Tools | 7.8 (#13) | 8.0 (#6) |
| License | The project’s RubyGems listing identifies the license as MIT-like. | Makeself is covered by the GNU General Public License version 2 and above; the maker says generated archives do not have to use that license. |
| Purpose | fpm is a command-line tool for creating packages for existing package systems with less effort. | Makeself is a shell script that creates self-extracting compressed TAR archives from directories. |
| Support | The documentation invites users to report problems through the project issue tracker. | The maintainer welcomes patches and bug reports through the GitHub project page and lists an email address for suggestions. |
Plans
In their own words
fpm
fpm is a free, open-source command-line tool for creating packages for existing package systems. It accepts sources such as local directories, npm packages, CPAN modules, Python packages, Ruby gems, and existing RPM or Debian packages. Outputs include Debian, RPM, FreeBSD, macOS, Arch Linux, Alpine, Solaris, Snap, tar, zip, shell archive, and other listed formats. fpm can convert an RPM package to Debian, remove files, change metadata or dependencies, and strip pre, post, or maintainer scripts. It is written in Ruby and installed with `gem install fpm`; Ruby must be installed first, and some formats need additional system tools. Docker is documented as a way to run fpm without installing those tools locally. Building an osxpkg package requires macOS. The tool supports Linux, macOS, and self-hosted use. Documentation is described as a work in progress and not extensive. The listed release is version 1.18.0, released August 26, 2026. The license is identified as MIT-like.
makeself
makeself is a shell script for packaging directories as self-extracting compressed TAR archives. Each archive includes a shell stub that extracts its contents to a temporary directory and can run an optional command, such as an installation script, before removing temporary files. Archive options let users list files, check integrity, select an extraction target, request confirmation or skip the embedded command. Compression choices include gzip, bzip2, bzip3, xz, lz4 and zstd, among other compressors; using a non-default method requires the corresponding compressor to be installed for extraction. Archives can include CRC or MD5 checksums, with optional SHA256 support. Creation also offers GPG and OpenSSL encryption, which requires those tools on the archive user's system. The project aims to avoid Bash-specific features and run on Unix-compatible systems with a compatible Bourne shell and the required compression programs. It lists Linux, macOS, several Unix and BSD systems, and Windows through Cygwin or WSL among tested platforms. makeself is free and covered by GNU General Public License version 2 and above; generated archives do not have to use that license. The project notes that archives made before version 2.1.2 may have extraction problems on some GNU/Linux distributions because of obsolete head and tail syntax.