All Projects → jordansissel → Fpm

jordansissel / Fpm

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

Programming Languages

ruby
36898 projects - #4 most used programming language
shell
77523 projects
HTML
75241 projects
python
139335 projects - #7 most used programming language
Dockerfile
14818 projects
Puppet
460 projects

Labels

Projects that are alternatives of or similar to Fpm

Rubocop Packaging
A RuboCop extension focused on enforcing upstream best practices and coding conventions.
Stars: ✭ 29 (-99.72%)
Mutual labels:  packaging
Devpi Builder
Automatically build and upload python packages to devpi
Stars: ✭ 72 (-99.3%)
Mutual labels:  packaging
Wagon
Creates Wheel based archives to allow portable offline installation of Python packages and their dependencies
Stars: ✭ 86 (-99.16%)
Mutual labels:  packaging
Python Packaging Tutorial
Tutorial on python packaging
Stars: ✭ 34 (-99.67%)
Mutual labels:  packaging
Capsule
Dead-Simple Packaging and Deployment for JVM Apps
Stars: ✭ 1,143 (-88.86%)
Mutual labels:  packaging
Pyrustic
Lightweight framework and software suite to help develop, package, and publish Python desktop applications
Stars: ✭ 75 (-99.27%)
Mutual labels:  packaging
Lxc Pkg Ubuntu
LXC Ubuntu packaging
Stars: ✭ 11 (-99.89%)
Mutual labels:  packaging
Rain
🌧️ A live example to illustrate python packaging, testing, building, & deploying
Stars: ✭ 99 (-99.04%)
Mutual labels:  packaging
Debreate
A utility for creating Debian packages.
Stars: ✭ 70 (-99.32%)
Mutual labels:  packaging
Fpm Within Docker
Leverage fpm inside pre-baked docker images in order to build and test native DEB and RPM packages.
Stars: ✭ 80 (-99.22%)
Mutual labels:  packaging
Tsdx
Zero-config CLI for TypeScript package development
Stars: ✭ 9,010 (-12.22%)
Mutual labels:  packaging
Dumb Pypi
PyPI generator, backed entirely by static files
Stars: ✭ 62 (-99.4%)
Mutual labels:  packaging
Appimage Builder
Recipe based AppImage creation tool
Stars: ✭ 76 (-99.26%)
Mutual labels:  packaging
Aur Out Of Date
Determines out-of-date AUR packages w.r.t. upstream version
Stars: ✭ 33 (-99.68%)
Mutual labels:  packaging
Linuxdeployqt
Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications
Stars: ✭ 1,287 (-87.46%)
Mutual labels:  packaging
Peru
a generic package manager, for including other people's code in your projects
Stars: ✭ 913 (-91.1%)
Mutual labels:  packaging
Exrm deb
Create a deb for your elixir release with ease
Stars: ✭ 75 (-99.27%)
Mutual labels:  packaging
Dugite Native
A toolchain for building a portable, cross-platform Git for applications
Stars: ✭ 102 (-99.01%)
Mutual labels:  packaging
Dhall To Cabal
Compile Dhall expressions to Cabal files
Stars: ✭ 92 (-99.1%)
Mutual labels:  packaging
Custom War Packager
Custom Jenkins WAR packager for Jenkins
Stars: ✭ 77 (-99.25%)
Mutual labels:  packaging

fpm

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.

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 on CentOS 5?" 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

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].