Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Software Packaging Tools
  3. fpm

fpm

What it is

fpm is a free, open-source command-line tool for creating packages for existing package systems with less effort. It accepts sources such as local directories, npm packages, CPAN modules, Python packages, Ruby gems, and existing RPM or Debian packages. Output targets listed in its documentation include Debian, RPM, FreeBSD, macOS, Arch Linux, Alpine, Solaris, Snap, tar, zip, and shell archives, along with formats such as pacman, puppet, p5p, and directory output. fpm can convert an RPM package into a Debian package and modify existing packages by removing files or changing metadata and dependencies. It can also remove pre, post, and maintainer scripts. The tool is written in Ruby and installed with `gem install fpm`, so Ruby is required first. Some formats need additional system tools; Docker is documented for running fpm without installing those tools locally. Building an osxpkg package requires macOS. Linux, macOS, and self-hosted use are supported.

For and against

For

  • Free and open-source
  • Supports many package output formats
  • Converts RPM packages to Debian
  • Can modify existing package metadata
  • Docker option for system tools

Against

  • Ruby must be installed first
  • Some formats require extra system tools
  • osxpkg building requires macOS
  • Documentation is a work in progress

The verdict

fpm provides one command-line workflow for building, converting, and adjusting packages across many targets. Check its system-tool requirements and documentation scope before adopting it for a release process.

Who it suits

fpm suits developers and release teams packaging software from varied inputs for several package systems. It is also useful for self-hosted workflows that can provide Ruby and any required system tools.

Plans and prices

fpm

Free

Command-line package building and conversion; some output formats require optional system tools

Every plan, in full

On the record

Current release
The project documentation lists version 1.18.0 as released on August 26, 2026.fpm.readthedocs.io · read 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 · read 4 Oct 2026
Documentation status
The documentation describes itself as a work in progress and says it is not extensive.fpm.readthedocs.io · read 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 · read 4 Oct 2026
License
The project’s RubyGems listing identifies the license as MIT-like.rubygems.org · read 4 Oct 2026
macOS limitation
The installation guide says building an osxpkg package requires running macOS.fpm.readthedocs.io · read 4 Oct 2026
Package conversion
fpm can convert an existing RPM package to a Debian package.fpm.readthedocs.io · read 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 · read 4 Oct 2026
Package modification
The project README says fpm can modify existing packages by removing files or changing metadata and dependencies.github.com · read 4 Oct 2026
Package scripts
The project README says fpm can strip pre, post, and maintainer scripts from packages.github.com · read 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 · read 4 Oct 2026
Prerequisites
Ruby must be installed before installing fpm, and some package formats require additional system tools.fpm.readthedocs.io · read 4 Oct 2026
Purpose
fpm is a command-line tool for creating packages for existing package systems with less effort.fpm.readthedocs.io · read 4 Oct 2026
Support
The documentation invites users to report problems through the project issue tracker.fpm.readthedocs.io · read 4 Oct 2026

Alternatives to fpm

Every alternative, ranked