jordansissel/fpm

Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 3 minutes ago
Added to GitGenius on September 5th, 2026
Created on January 3rd, 2011
Open Issues & Pull Requests: 791 (+0)
GitHub issues: Enabled
Number of forks: 1,065
Total Stargazers: 11,505 (+0)
Total Subscribers: 229 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 21.2 hours
Mean response time: 202.8 days
90th percentile: 600.8 days
Tracked items: 70

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 94% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 2% of issues opened in the past year have been closed. Three people close 78% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 63
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,339 days
Stale 30+ days: 63
Stale 90+ days: 58

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • deb (1)
  • nuget (1)
  • rpm (1)
  • windows (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

fpm is a package builder that creates platform-native packages for multiple systems including deb, rpm, FreeBSD, Solaris, macOS, and ArchLinux from a variety of source formats.

The tool solves the problem of packaging complexity across different operating systems and package managers. Rather than learning distinct packaging workflows for each platform, fpm provides a unified interface where you specify a source—whether a gem, Python module, npm package, directory, or archive—and a target package format, then fpm handles the conversion. It can also modify existing packages by removing files or stripping scripts. The approach prioritizes simplicity: you provide your install directory and dependencies, and fpm generates the native package without requiring deep knowledge of each platform's packaging policies.

fpm suits teams that deploy across multiple Linux distributions or need to package software quickly without becoming packaging experts. It works well for organizations switching between Ubuntu and CentOS, or anyone distributing tools that don't have native packages available. The tool is particularly valuable when you want to avoid learning the distinct tooling and conventions of rpm, deb, and other package systems separately. The README does not position fpm against specific alternatives, so no comparative claims can be made.

The project treats user friction as a bug: if someone has a bad time with fpm or finds documentation confusing, this is explicitly considered a defect to be fixed. Development follows an engineering principle of making things work first, then refining them, then optimizing for speed. The project maintains an open stance on capabilities, treating missing features not as limitations but as opportunities to extend functionality.