fpm

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

  • 所有者: jordansissel/fpm
  • 平台:
  • 許可證: Other
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

fpm
===, Build, 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_.

.. _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: http://fpm.readthedocs.io/en/latest/installing.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 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

.. 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

.., Build, image:: https://img.shields.io/travis/jordansissel/fpm.svg
:target: https://travis-ci.org/jordansissel/fpm
.., Chat, image:: https://img.shields.io/badge/irc-%23fpm%20on%20freenode-brightgreen.svg
:target: https://webchat.freenode.net/?channels=fpm
.., Gem, image:: https://img.shields.io/gem/v/fpm.svg
:target: https://rubygems.org/gems/fpm

主要指標

概覽
名稱與所有者jordansissel/fpm
主編程語言Ruby
編程語言Ruby (語言數: 7)
平台
許可證Other
所有者活动
創建於2011-01-03 20:07:59
推送於2025-03-06 04:43:02
最后一次提交
發布數91
最新版本名稱v1.16.0 (發布於 )
第一版名稱v0.1.1 (發布於 )
用户参与
星數11.3k
關注者數235
派生數1.1k
提交數2.4k
已啟用問題?
問題數1279
打開的問題數691
拉請求數565
打開的拉請求數81
關閉的拉請求數159
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?