mirror of
https://github.com/goreleaser/nfpm
synced 2025-04-29 00:47:56 +02:00
NFPM is Not FPM - a simple deb, rpm and apk packager written in Go
cmd/nfpm | ||
deb | ||
rpm | ||
testdata | ||
.gitignore | ||
.goreleaser.yml | ||
.travis.yml | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Gopkg.lock | ||
Gopkg.toml | ||
LICENSE.md | ||
Makefile | ||
nfpm_test.go | ||
nfpm.go | ||
README.md |
NFPM
NFPM is Not FPM - a simple deb and rpm packager written in Go.
Goals
- be simple to use
- provide packaging for the most common linux packaging systems (at very least deb and rpm)
- be distributed as a single binary
- reproducible results
- depend on the fewer external things as possible (namely
rpmbuild
) - generate packages based on yaml files (maybe also json and toml?)
- depend on the fewer external things as possible (namely
- be possible to use it as a lib in other go projects (namely goreleaser itself)
Usage
The first steps are to run nfpm init
to initialize a config file and edit
the generated file according to your needs:
The next step is to run nfpm pkg --target mypkg.deb
.
NFPM will guess which packager to use based on the target file extension.
And that's it!
Status
- both deb and rpm packaging are working but there are some missing features;
- we need a suite of acceptance tests to make sure everything works.
Donate
Donations are very much appreciated! You can donate/sponsor on the main goreleaser opencollective! It's easy and will surely help the developers at least buy some ☕️ or 🍺!
Stargazers over time
Would you like to fix something in the documentation? Feel free to open an issue.