Freedom251 › Software Packaging Tools
fpm

What fpm is
fpm is a free, open-source command-line tool for creating packages for existing package systems with less effort. It accepts inputs such as local directories, npm packages, CPAN modules, Python packages, Ruby gems, and existing RPM or Debian packages. Its documented targets include Debian, RPM, FreeBSD, macOS, Arch Linux, Alpine, Solaris, Snap, tar, zip, and shell archive packages. It can convert an RPM package to Debian, adjust existing packages by removing files or changing metadata and dependencies, and strip pre, post, and maintainer scripts.
The tool is written in Ruby and installed with `gem install fpm`, so Ruby is a prerequisite. Some package formats require additional system tools; the documentation describes running fpm in Docker to avoid installing many of those tools locally. Building an osxpkg package requires macOS. The project supports Linux, macOS, and self-hosted use, and invites users to report problems through its issue tracker. Its documentation describes itself as a work in progress and not extensive. The documentation lists version 1.18.0 as released on August 26, 2026.
Who it suits
fpm suits developers and operators who package software for existing package systems from a command line. It may be useful when converting or modifying packages, provided the required Ruby setup and any format-specific tools are available.
What it does well
- Free and open source under an MIT-like license.
- Accepts inputs from directories and several language package formats.
- Converts RPM packages to Debian packages.
- Can change metadata, dependencies, or included files.
- Docker can avoid local installation of many underlying tools.
What to know first
- Ruby must be installed before fpm.
- Some package formats need extra system tools.
- Building osxpkg packages requires macOS.
- Documentation is a work in progress and not extensive.
Limits
The free fpm plan covers command-line package building and conversion; some output formats require optional system tools. Building an osxpkg package requires macOS.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| fpm | Command-line package building and conversion; some output formats require optional system tools | Free |
As fpm.readthedocs.io lists them, read 4 Oct 2026. The maker's own page has the final word.
Getting started
- Visit https://fpm.readthedocs.io/ for the documentation.
- Install Ruby.
- Install fpm with `gem install fpm`.
- Install any additional system tools required for your chosen package format, or use the documented Docker approach.
- Choose an input and output format, then run fpm from the command line.
Verdict
fpm covers package creation, conversion, and modification across a broad range of targets. Plan for Ruby and possible format-specific tools, and expect limited documentation.
Questions
How much does fpm cost?
The listed fpm plan is free.
Is fpm open source?
Yes. It is identified as open source, and its RubyGems listing gives an MIT-like license.
Which platforms does fpm support?
The listed platforms include Linux, macOS, and self-hosted use. Target platforms include Debian, Ubuntu, Fedora, CentOS, RHEL, Arch Linux, FreeBSD, macOS, and Solaris.
What does fpm need to install?
fpm is written in Ruby, and the installation guide instructs users to install it with `gem install fpm`. Ruby must be installed first.
Does fpm have a free trial?
No free trial is listed; fpm is offered as a free plan.
Where can users report problems?
The documentation invites users to report problems through the project issue tracker.
Facts from fpm's own pages
- Current release
- The project documentation lists version 1.18.0 as released on August 26, 2026. · fpm.readthedocs.io, 4 Oct 2026
- Docker
- The documentation says Docker can avoid installing fpm’s many underlying system tools locally and describes running fpm in a container. · fpm.readthedocs.io, 4 Oct 2026
- Documentation status
- The documentation describes itself as a work in progress and says it is not extensive. · fpm.readthedocs.io, 4 Oct 2026
- Installation
- fpm is written in Ruby and the installation guide instructs users to install it with `gem install fpm`. · fpm.readthedocs.io, 4 Oct 2026
- License
- The project’s RubyGems listing identifies the license as MIT-like. · rubygems.org, 4 Oct 2026
- macOS limitation
- The installation guide says building an osxpkg package requires running macOS. · fpm.readthedocs.io, 4 Oct 2026
- Package conversion
- fpm can convert an existing RPM package to a Debian package. · fpm.readthedocs.io, 4 Oct 2026
- Package inputs
- Examples and documentation cover inputs such as local directories, npm packages, CPAN modules, Python packages, Ruby gems, and existing RPM or Debian packages. · fpm.readthedocs.io, 4 Oct 2026
- Package modification
- The project README says fpm can modify existing packages by removing files or changing metadata and dependencies. · github.com, 4 Oct 2026
- Package scripts
- The project README says fpm can strip pre, post, and maintainer scripts from packages. · github.com, 4 Oct 2026
- Package targets
- The documentation lists targets including Debian, RPM, FreeBSD, macOS, Arch Linux, Alpine, Solaris, Snap, tar, zip, and shell archive packages. · fpm.readthedocs.io, 4 Oct 2026
- Prerequisites
- Ruby must be installed before installing fpm, and some package formats require additional system tools. · fpm.readthedocs.io, 4 Oct 2026
- Purpose
- fpm is a command-line tool for creating packages for existing package systems with less effort. · fpm.readthedocs.io, 4 Oct 2026
- Support
- The documentation invites users to report problems through the project issue tracker. · fpm.readthedocs.io, 4 Oct 2026
Where fpm stands on Freedom251
- Software Packaging Tools#8 of 29