Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
Alternatives To Fpm
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Fpm10,8717794615 days ago130February 01, 2023742otherRuby
Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
6 days ago8gpl-3.0Go
Linux User REpository
5 months ago12mitPython
A utility for creating Debian packages (.deb)
Debpkg5722 years ago2February 10, 20226mitGo
Package creation for Debian written in pure Golang
Publishing Python Packages47
6 months ago2December 25, 2021mitPython
Examples and exercises for Publishing Python Packages from Manning Books 🐍 📦 ⬆️
Ps4 4pt41
2 years ago9C++
PS4 Advanced Packaging Tool
23 days ago10mit
Documentation and issue tracker for the SailfishOS:Chum community repository
Mouse Brain Templates15
3 months agomitShell
Generate a package-manager-friendly mouse brain atlases collection.
4pt Repository13
2 years ago
Template Repository for the 4PT PS4 Package Manager
Pid Workspace4
a day agootherCMake
a build / publishing / deployment / packaging system for C/C++ based on CMake and git
Alternatives To Fpm
Select To Compare

Alternative Project Comparisons


Chat Gem

The goal of fpm is to make it easy and quick to build packages such as rpms, debs, OSX packages, etc.

fpm, as a project, exists to help you build packages, therefore:

  • If fpm is not helping you make packages easily, then there is a bug in fpm.
  • If you are having a bad time with fpm, then there is a bug in fpm.
  • If the documentation is confusing, then this is a bug in fpm.

If there is a bug in fpm, then we can work together to fix it. If you wish to report a bug/problem/whatever, I welcome you to do on the project issue tracker.

You can find out how to use fpm in the documentation.

You can learn how to install fpm on your platform in the installation guide.

Project Principles

  • Community: If a newbie has a bad time, it's a bug.
  • Engineering: Make it work, then make it right, then make it fast.
  • Capabilities: If it doesn't do a thing today, we can make it do it tomorrow.


Sometimes packaging is done wrong (because you can't do it right for all situations), but small tweaks can fix it.

And sometimes, there isn't a package available for the tool you need.

And sometimes if you ask "How do I get python 3.9 on RHEL 8?" some unhelpful trolls will tell you to "Use another distro"

Further, job switches have me flipping between Ubuntu and CentOS. These use two totally different package systems with completely different packaging policies and support tools. Learning both was painful and confusing. I want to save myself (and you) that pain in the future.

It should be easy to say "here's my install dir and here's some dependencies; please make a package"

The Solution - FPM

I wanted a simple way to create packages without needing to memorize too much.

I wanted a tool to help me deliver software with minimal steps or training.

The goal of FPM is to be able to easily build platform-native packages.

With fpm, you can do many things, including:

  • Creating packages easily (deb, rpm, freebsd, etc)
  • Tweaking existing packages (removing files, changing metadata/dependencies)
  • Stripping pre/post/maintainer scripts from packages

Things that should work


  • gem (even autodownloaded for you)
  • python modules (autodownload for you)
  • pear (also downloads for you)
  • directories
  • tar(.gz) archives
  • rpm
  • deb
  • node packages (npm)
  • pacman (ArchLinux) packages


  • deb
  • rpm
  • solaris
  • freebsd
  • tar
  • directories
  • Mac OS X .pkg files (osxpkg)
  • pacman (ArchLinux) packages
Popular Packaging Projects
Popular Package Management Projects
Popular Build Tools Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Package Management