NFPM is Not FPM - a simple deb and rpm packager written in Go
- 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)
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!
- 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.