2021-06-27 03:01:53 +02:00
|
|
|
# nFPM
|
2020-05-24 21:09:47 +02:00
|
|
|
|
2020-07-10 07:20:33 +02:00
|
|
|
![](/static/banner.svg)
|
2020-05-24 21:09:47 +02:00
|
|
|
|
2022-10-15 19:54:36 +02:00
|
|
|
nFPM is a simple, 0-dependencies, `deb`, `rpm`, `apk`, and Arch Linux packager.
|
2020-05-24 21:09:47 +02:00
|
|
|
|
|
|
|
## Why
|
|
|
|
|
2020-07-10 07:06:39 +02:00
|
|
|
While [fpm][] is great, for me, it is a bummer that it depends on `ruby`, `tar`
|
2022-02-21 19:53:33 +01:00
|
|
|
and other software.
|
2020-05-24 21:09:47 +02:00
|
|
|
|
2020-07-10 07:06:39 +02:00
|
|
|
I wanted something that could be used as a binary and/or as a library and that
|
|
|
|
was really simple.
|
|
|
|
|
2021-06-27 03:01:53 +02:00
|
|
|
So I decided to create nFPM: a **simpler**, **0-dependency**,
|
2020-07-10 07:16:16 +02:00
|
|
|
**as-little-assumptions-as-possible** alternative to fpm.
|
|
|
|
|
2021-06-27 03:01:53 +02:00
|
|
|
## nFPM is not FPM
|
2020-07-10 07:16:16 +02:00
|
|
|
|
2023-01-03 02:26:17 +01:00
|
|
|
This is a subtle way of saying it won't have all features, nor all
|
|
|
|
formats that `fpm` has: it is supposed to be simpler.
|
2020-07-10 07:16:16 +02:00
|
|
|
|
|
|
|
And that's OK!, most of us don't need all those features most of the time.
|
2020-05-24 21:09:47 +02:00
|
|
|
|
|
|
|
[fpm]: https://github.com/jordansissel/fpm
|
2020-07-10 07:16:16 +02:00
|
|
|
|
|
|
|
## How does it work?
|
|
|
|
|
|
|
|
You create a YAML file with the definition of what you need, run the `nfpm`
|
|
|
|
binary, and it takes care of everything.
|
|
|
|
|
|
|
|
The same config file can be used to create both the RPM and Deb packages.
|