Tools for creating packages in multiple formats (deb, rpm, etc.):
-
Omnibus - Self-contained installer builder
- Bundles all dependencies
- Ruby-based
- More complex but more powerful than FPM
- ⚠️ Maintenance mode (last release 2014)
-
fpm2 - Fork/alternative of FPM
- Similar feature set to FPM
- Community-maintained variants
-
nfpm - Simple deb/rpm/apk packager in Go
- Zero dependencies
- Configuration via YAML
- Fast, single binary
- Good for Go projects
-
Goreleaser - Go release automation
- Builds Go binaries
- Creates deb, rpm, apk packages
- Homebrew, Docker integrations
- Go-specific
-
dpkg-deb - Debian package builder
- Native Debian tool
- Full control over package structure
- Debian-specific
-
rpmbuild - RPM Package Builder
- Native RPM tool
- Full-featured but complex
- RHEL/Fedora/SUSE
-
Alien - Convert between package formats
- Convert deb ↔ rpm ↔ tgz ↔ slp
- Simple conversions
- Less reliable than native tools
FPM is the best choice when you need:
- Quick package creation from directories or archives
- Multiple output formats from same source
- Simple CLI without complex configuration
- Ruby/gem-based workflows
- Rapid prototyping of packages