https://github.com/jordansissel/fpm
Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
https://github.com/jordansissel/fpm
Keywords
packaging
Keywords from Contributors
rubygems activerecord chef deployment activejob mvc rack cfgmgt configuration-management discovery
Last synced: about 22 hours ago
JSON representation
Repository metadata
Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
- Host: GitHub
- URL: https://github.com/jordansissel/fpm
- Owner: jordansissel
- License: other
- Created: 2011-01-03T20:07:59.000Z (about 15 years ago)
- Default Branch: main
- Last Pushed: 2026-01-28T06:20:19.000Z (about 1 month ago)
- Last Synced: 2026-02-13T22:49:30.877Z (18 days ago)
- Topics: packaging
- Language: Ruby
- Homepage: http://fpm.readthedocs.io/en/latest/
- Size: 2.94 MB
- Stars: 11,435
- Watchers: 228
- Forks: 1,070
- Open Issues: 787
- Releases: 5
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: docs/contributing.rst
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
README.rst
fpm
===
|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`_.
.. _the project issue tracker: https://github.com/jordansissel/fpm/issues
You can find out how to use fpm in the `documentation`_.
.. _documentation: https://fpm.readthedocs.io/en/latest/
You can learn how to install fpm on your platform in the `installation guide`_.
.. _installation guide: https://fpm.readthedocs.io/en/latest/installation.html
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.
Backstory
---------
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
.. include: docs/installing
Things that should work
-----------------------
Sources:
* 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
Targets:
* deb
* rpm
* solaris
* freebsd
* tar
* directories
* Mac OS X `.pkg` files (`osxpkg`)
* pacman (ArchLinux) packages
.. include: docs/contributing
.. |Gem| image:: https://img.shields.io/gem/v/fpm.svg
:target: https://rubygems.org/gems/fpm
Owner metadata
- Name: Jordan Sissel
- Login: jordansissel
- Email:
- Kind: user
- Description:
- Website: http://www.semicomplete.com/
- Location: Silicon Valley
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/131818?u=5c20c2ec6386e8d7ecfe940dc34cef0717cede0d&v=4
- Repositories: 179
- Last ynced at: 2024-04-14T06:39:17.923Z
- Profile URL: https://github.com/jordansissel
GitHub Events
Total
- Release event: 1
- Pull request event: 43
- Fork event: 21
- Issues event: 29
- Watch event: 250
- Issue comment event: 134
- Push event: 42
- Pull request review comment event: 9
- Pull request review event: 12
- Create event: 11
Last Year
- Pull request event: 24
- Fork event: 11
- Issues event: 17
- Watch event: 160
- Issue comment event: 87
- Push event: 28
- Pull request review event: 4
- Pull request review comment event: 3
- Create event: 7
Committers metadata
Last synced: 13 days ago
Total Commits: 1,955
Total Committers: 351
Avg Commits per committer: 5.57
Development Distribution Score (DDS): 0.457
Commits in past year: 69
Committers in past year: 8
Avg Commits per committer in past year: 8.625
Development Distribution Score (DDS) in past year: 0.246
| Name | Commits | |
|---|---|---|
| Jordan Sissel | j****s@s****m | 1061 |
| Daniel Haskin | d****7@g****m | 61 |
| Pranay Kanwar | p****r@g****m | 53 |
| Jeanine Adkisson | j****n@j****t | 31 |
| George Lester | g****1@g****m | 30 |
| Nicholas Hubbard | n****d@p****t | 23 |
| Paweł Tomulik | p****k@m****l | 20 |
| Jan Vansteenkiste | j****n@v****u | 18 |
| Remi Hakim | r****i@d****m | 15 |
| Aman Gupta | a****n@t****t | 15 |
| Matt Sharpe | m****e@g****m | 15 |
| Nick Griffiths | n****g@c****z | 12 |
| Richard Grainger | g****r@g****m | 11 |
| Zsolt Takács | z****t@t****c | 9 |
| Tray Torrance | d****k@w****m | 8 |
| Chris Gerber | c****r@t****m | 8 |
| Jose | j****e@c****m | 8 |
| Vedant K | g****2@g****m | 7 |
| Thomas Meson | z****k@h****g | 7 |
| Lars van de Kerkhof | l****s@p****l | 7 |
| Matt Schreiber | E****L | 7 |
| Vladimir Rutsky | v****y@t****m | 6 |
| Adam Stephens | a****s@d****t | 6 |
| Brett Gailey | b****y@d****m | 6 |
| Eric Connell | e****l@i****m | 6 |
| Jay Buffington | me@j****m | 6 |
| Oliver Hookins | o****s@g****m | 5 |
| Justin Kolberg | a****t@g****m | 5 |
| Emmanuel Bastien | os@e****e | 5 |
| Peter Woodman | p****r@s****g | 5 |
| and 321 more... | ||
Committer domains:
- apple.com: 3
- yandex.ru: 2
- pagerduty.com: 2
- dreamhost.com: 2
- rocketfuel.com: 2
- puppetlabs.com: 2
- anchorfree.com: 2
- warrentorrance.com: 2
- squareup.com: 2
- datadoghq.com: 2
- haggett.org: 1
- riehl.io: 1
- strasburger.de: 1
- sz9i.net: 1
- root360.de: 1
- puzzle.ch: 1
- mumble.org.uk: 1
- asenchi.com: 1
- dubkat.com: 1
- fourieraudio.com: 1
- opennebula.io: 1
- live.co.uk: 1
- coppertreeanalytics.com: 1
- madebymany.co.uk: 1
- jaguar-network.com: 1
- vinomofo.com: 1
- wwwh.com: 1
- twilio.com: 1
- tableau.com: 1
- milestonelab.com: 1
- dell.com: 1
- morpheu.org: 1
- kitd.com: 1
- e-village.nl: 1
- ll.mit.edu: 1
- daemonize.com: 1
- krux.com: 1
- cls.fr: 1
- dius.com.au: 1
- g2llc.com: 1
- qiwi.ru: 1
- avono.de: 1
- nokia.com: 1
- timoboettcher.name: 1
- itransition.com: 1
- o3bnetworks.com: 1
- oi-build.(none): 1
- vmware.com: 1
- allstardirectories.com: 1
- telekom.de: 1
- protonmail.ch: 1
- cloudflare.com: 1
- leiderfischer.de: 1
- gfs.com: 1
- track.jonfram.net: 1
- techadvise.com: 1
- fxcm.com: 1
- brownbagcode.com: 1
- cristie.com: 1
- matthewblair.net: 1
- reprocessed.org: 1
- scypho.com: 1
- thebellsplace.com: 1
- synthist.net: 1
- shortbus.org: 1
- ebastien.name: 1
- jaybuff.com: 1
- itriagehealth.com: 1
- drh.net: 1
- transas.com: 1
- permanentmarkers.nl: 1
- hycik.org: 1
- cybergalvez.com: 1
- tapjoy.com: 1
- takacs.cc: 1
- catalyst.net.nz: 1
- tmm1.net: 1
- vstone.eu: 1
- meil.pw.edu.pl: 1
- posteo.net: 1
- jneen.net: 1
- nicholas.net.nz: 1
- bernat.im: 1
- luto.at: 1
- sabowski.com: 1
- linux.com: 1
- slact.net: 1
- holmwood.id.au: 1
- jbrowne.com: 1
- brainsware.org: 1
- lonje.com: 1
- sociomantic.com: 1
- boedicker.org: 1
- marc-andre.ca: 1
- gcarrier.fr: 1
- turner.com: 1
- ip-10-101-57-212.ec2.internal: 1
- damballa.com: 1
- passwordbox.com: 1
- doismellburning.co.uk: 1
- nervo.net: 1
- mildred.fr: 1
- stipl.net: 1
- jhvc.com: 1
- directionless.org: 1
- delfi.ee: 1
- publiq.be: 1
- delorum.com: 1
- agaffney.org: 1
- drewlee.com: 1
- antoncohen.com: 1
- fastmail.com: 1
- presynce.com: 1
- nodnol.org: 1
- tutanota.com: 1
- gkhs.net: 1
- polibyte.com: 1
- akins.org: 1
- tuneafish.de: 1
- oracle.com: 1
- chrisn.me.uk: 1
- xerus.org: 1
- yelp.com: 1
- dmuth.org: 1
- 126.com: 1
- sleepers.pro: 1
- hulu.com: 1
- lemonby.com: 1
- dans.im: 1
- dan.cx: 1
- kegel.com: 1
- rainforce.org: 1
- centreon.com: 1
- kenyonralph.com: 1
- onsip.com: 1
- josephholsten.com: 1
- google.com: 1
- stjude.org: 1
- kuleuven.be: 1
- fatlotus.com: 1
- typedef.org: 1
- gmx.net: 1
- networked.org: 1
- girsbrain.org: 1
- exacttarget.com: 1
- opscode.com: 1
- medibankhealth.com.au: 1
- anche.no: 1
- umn.edu: 1
- nfriedly.com: 1
- dogbiscuit.org: 1
- vasto.la: 1
- footballradar.com: 1
- level28.org: 1
- ornl.gov: 1
- the.narro.ws: 1
- taz.de: 1
- lovell.info: 1
- antmicro.com: 1
- memory.blank.org: 1
- leeds.ac.uk: 1
- blue-newt.com: 1
- joslin.net: 1
- complicity.co.uk: 1
- autoparallel.com: 1
- roetzer-engineering.com: 1
- nurfuerspam.de: 1
- collab.nl: 1
- acronis.com: 1
- oblong.com: 1
- sgnn7.org: 1
- gmx.de: 1
- ryanparman.com: 1
- elastic.co: 1
- amadeus.com: 1
- rcrowley.org: 1
- skoef.nl: 1
- laststation.net: 1
- daukintis.lt: 1
- trafficplex.de: 1
- iweb.com: 1
- eisentraut.org: 1
- databits.net: 1
- semicomplete.com: 1
- franzoni.eu: 1
- eth0.org.uk: 1
- salesforce.com: 1
- ooyala.com: 1
- craigdodd.co.uk: 1
- multiplay.co.uk: 1
- storagecraft.com: 1
- e-hps.com: 1
- jivesoftware.com: 1
- oncast.com.br: 1
- franksiler.com: 1
- lshift.net: 1
- indeed.com: 1
- here.com: 1
- vdmr.be: 1
- imc-chicago.com: 1
- status.e4ward.com: 1
- cn.ibm.com: 1
- inwork.ch: 1
- camptocamp.com: 1
- concur.com: 1
- genome.wustl.edu: 1
- accelecon.com: 1
- tisdall.org.uk: 1
- localhost.localdomain: 1
- thoughtworks.com: 1
Issue and Pull Request metadata
Last synced: 14 days ago
Total issues: 157
Total pull requests: 183
Average time to close issues: over 1 year
Average time to close pull requests: 11 months
Total issue authors: 124
Total pull request authors: 97
Average comments per issue: 3.61
Average comments per pull request: 3.0
Merged pull request: 64
Bot issues: 0
Bot pull requests: 0
Past year issues: 14
Past year pull requests: 22
Past year average time to close issues: N/A
Past year average time to close pull requests: 12 days
Past year issue authors: 14
Past year pull request authors: 7
Past year average comments per issue: 3.29
Past year average comments per pull request: 1.41
Past year merged pull request: 6
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- jordansissel (12)
- me21 (5)
- jkugler (4)
- romulasry (4)
- philschwartzsonos (4)
- gmabey (3)
- mcandre (3)
- femiagbabiaka (2)
- WilliamDEdwards (2)
- robinbowes (2)
- wbraswell (2)
- kisembo-desire (2)
- marcinbarczynski (1)
- Ahmedshabaz06 (1)
- seiferteric (1)
Top Pull Request Authors
- jordansissel (34)
- NicholasBHubbard (14)
- bugfood (6)
- white-gecko (4)
- josephholsten (3)
- nicobrevin (3)
- cwegener (2)
- brad (2)
- MSMazaya (2)
- chayim (2)
- JordanStopford (2)
- skoef (2)
- wheaney (2)
- me21 (2)
- kduret (2)
Top Issue Labels
- deb (1)
- windows (1)
Top Pull Request Labels
- pending-discussion (3)
- docs (1)
Package metadata
- Total packages: 12
-
Total downloads:
- rubygems: 97,290,347 total
- Total docker downloads: 518,938,150
- Total dependent packages: 39 (may contain duplicates)
- Total dependent repositories: 1,205 (may contain duplicates)
- Total versions: 365
- Total maintainers: 3
gem.coop: fpm
Convert directories, rpms, python eggs, rubygems, and more to rpms, debs, solaris packages and more. Win at package management without wasting pointless hours debugging bad rpm specs!
- Homepage: https://github.com/jordansissel/fpm
- Documentation: http://www.rubydoc.info/gems/fpm/
- Licenses: MIT-like
- Latest release: 1.17.0 (published 5 months ago)
- Last Synced: 2026-02-23T08:11:34.972Z (9 days ago)
- Versions: 131
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 48,636,605 Total
- Docker Downloads: 259,469,075
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 0.231%
- Docker downloads count: 0.408%
- Downloads: 0.516%
- Maintainers (1)
rubygems.org: fpm
Convert directories, rpms, python eggs, rubygems, and more to rpms, debs, solaris packages and more. Win at package management without wasting pointless hours debugging bad rpm specs!
- Homepage: https://github.com/jordansissel/fpm
- Documentation: http://www.rubydoc.info/gems/fpm/
- Licenses: MIT-like
- Latest release: 1.17.0 (published 5 months ago)
- Last Synced: 2026-02-22T21:01:10.090Z (9 days ago)
- Versions: 131
- Dependent Packages: 39
- Dependent Repositories: 1,204
- Downloads: 48,633,142 Total
- Docker Downloads: 259,469,075
-
Rankings:
- Stargazers count: 0.112%
- Forks count: 0.43%
- Downloads: 0.445%
- Docker downloads count: 0.5%
- Average: 0.51%
- Dependent packages count: 0.641%
- Dependent repos count: 0.93%
- Maintainers (1)
proxy.golang.org: github.com/jordansissel/fpm
- Homepage:
- Documentation: https://pkg.go.dev/github.com/jordansissel/fpm#section-documentation
- Licenses: other
- Latest release: v1.17.0 (published 5 months ago)
- Last Synced: 2026-02-04T00:09:54.643Z (28 days ago)
- Versions: 92
- Dependent Packages: 0
- Dependent Repositories: 1
-
Rankings:
- Stargazers count: 0.608%
- Forks count: 0.83%
- Average: 3.809%
- Dependent repos count: 4.773%
- Dependent packages count: 9.027%
gem.coop: fpm-aeppert
Convert directories, rpms, python eggs, rubygems, and more to rpms, debs, solaris packages and more. Win at package management without wasting pointless hours debugging bad rpm specs!
- Homepage: https://github.com/jordansissel/fpm
- Documentation: http://www.rubydoc.info/gems/fpm-aeppert/
- Licenses: MIT-like
- Latest release: 1.11.0 (published about 5 years ago)
- Last Synced: 2026-02-04T00:10:06.527Z (28 days ago)
- Versions: 2
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 6,706 Total
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 19.966%
- Downloads: 59.898%
- Maintainers (1)
rubygems.org: fpm-aeppert
Convert directories, rpms, python eggs, rubygems, and more to rpms, debs, solaris packages and more. Win at package management without wasting pointless hours debugging bad rpm specs!
- Homepage: https://github.com/jordansissel/fpm
- Documentation: http://www.rubydoc.info/gems/fpm-aeppert/
- Licenses: MIT-like
- Latest release: 1.11.0 (published about 5 years ago)
- Last Synced: 2026-02-04T00:10:04.410Z (28 days ago)
- Versions: 2
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 6,706 Total
-
Rankings:
- Stargazers count: 0.088%
- Forks count: 0.375%
- Dependent packages count: 15.706%
- Average: 24.982%
- Dependent repos count: 46.782%
- Downloads: 61.958%
- Maintainers (1)
gem.coop: fpm-itchio
Convert directories, rpms, python eggs, rubygems, and more to rpms, debs, solaris packages and more. Win at package management without wasting pointless hours debugging bad rpm specs!
- Homepage: https://github.com/jordansissel/fpm
- Documentation: http://www.rubydoc.info/gems/fpm-itchio/
- Licenses: MIT-like
- Latest release: 1.4.0 (published about 10 years ago)
- Last Synced: 2026-02-04T00:09:54.700Z (28 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 3,594 Total
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 29.033%
- Downloads: 87.098%
- Maintainers (1)
rubygems.org: fpm-itchio
Convert directories, rpms, python eggs, rubygems, and more to rpms, debs, solaris packages and more. Win at package management without wasting pointless hours debugging bad rpm specs!
- Homepage: https://github.com/jordansissel/fpm
- Documentation: http://www.rubydoc.info/gems/fpm-itchio/
- Licenses: MIT-like
- Latest release: 1.4.0 (published about 10 years ago)
- Last Synced: 2026-02-04T00:09:53.336Z (28 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 3,594 Total
-
Rankings:
- Stargazers count: 0.088%
- Forks count: 0.375%
- Dependent packages count: 15.706%
- Average: 30.066%
- Dependent repos count: 46.782%
- Downloads: 87.38%
- Maintainers (1)
nixpkgs-23.11: fpm
Tool to build packages for multiple platforms with ease
- Homepage: https://github.com/jordansissel/fpm
- Documentation: https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/tools/package-management/fpm/default.nix#L11
- Licenses: MIT
- Latest release: 1.13.0 (published 30 days ago)
- Last Synced: 2026-02-03T20:21:23.788Z (28 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
nixpkgs-24.11: fpm
Tool to build packages for multiple platforms with ease
- Homepage: https://github.com/jordansissel/fpm
- Documentation: https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/tools/package-management/fpm/default.nix#L15
- Licenses: MIT
- Latest release: 1.15.1 (published about 1 month ago)
- Last Synced: 2026-02-03T17:25:36.768Z (28 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
nixpkgs-unstable: fpm
Tool to build packages for multiple platforms with ease
- Homepage: https://github.com/jordansissel/fpm
- Documentation: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/tools/package-management/fpm/default.nix#L15
- Licenses: MIT
- Latest release: 1.16.0 (published about 1 month ago)
- Last Synced: 2026-02-04T00:10:58.657Z (28 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
nixpkgs-23.05: fpm
Tool to build packages for multiple platforms with ease
- Homepage: https://github.com/jordansissel/fpm
- Documentation: https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/tools/package-management/fpm/default.nix#L11
- Licenses: MIT
- Latest release: 1.13.0 (published about 1 month ago)
- Last Synced: 2026-02-04T00:10:30.548Z (28 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
nixpkgs-24.05: fpm
Tool to build packages for multiple platforms with ease
- Homepage: https://github.com/jordansissel/fpm
- Documentation: https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/tools/package-management/fpm/default.nix#L15
- Licenses: MIT
- Latest release: 1.13.0 (published about 1 month ago)
- Last Synced: 2026-02-03T18:36:57.166Z (28 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
Dependencies
- docutils <0.18
- rtxt-dep1 >0.1
- rtxt-dep2 ==0.1
- rtxt-dep3 *
- rtxt-dep4 *
- Dependency1 *
- Reference *
- XXX *
- needs *
- rtxt-dep3 *
- rtxt-dep4 *
- pip ==8.1.2
- insist ~> 1.0.0 development
- pry >= 0 development
- rake >= 0 development
- rspec ~> 3.0.0 development
- arr-pm ~> 0.0.11
- backports >= 2.6.2
- cabin >= 0.6.0
- clamp ~> 1.0.0
- git >= 1.3.0, < 2.0
- json >= 1.7.7, < 3.0
- pleaserun ~> 0.0.29
- rexml >= 0
- stud >= 0
- dependency1 >= 0
- dependency2 >= 0
- dpkg *
- gnu-tar *
- rpm *
- xz *
- actions/checkout v3 composite
- ruby/setup-ruby v1 composite
- ${BASE_ENV}-base latest build
- ${TARGET} latest build
- base latest build
- minimal-base latest build
- ubuntu 20.04 build
- debian latest build
Score: 35.51091061891766