mirror of
https://github.com/goreleaser/nfpm
synced 2026-03-14 22:45:50 +01:00
NFPM is Not FPM - a simple deb, rpm and apk packager written in Go
When packaging a Debian file, I noticed: ```bash $ cat /var/lib/dpkg/info/<my-pkg>.md5sums d53cafdbafeaa62df89f21a80ccb7c1e ./etc/<my-pkg>/<some-file>.yml ``` From the [Debian md5sums manpages](https://manpages.debian.org/testing/dpkg-dev/deb-md5sums.5.en.html): > This file contains a list of MD5 digests (as 32 case-insensitive > hexadecimal characters) followed by two spaces (U+0020 SPACE) and > the absolute pathname of a plain file, one per line. > > Trailing slashes (U+002F /) in the pathname will be trimmed. > Neither trailing whitespace nor empty or whitespace-only > lines are accepted. So, a proper file should contain lines like (note no `./`): ``` d53cafdbafeaa62df89f21a80ccb7c1e etc/<my-pkg>/<some-file>.yml ``` I do not know Go but I was able to come up with this fix which works at least for my use case. |
||
|---|---|---|
| .github | ||
| apk | ||
| arch | ||
| cmd/nfpm | ||
| deb | ||
| deprecation | ||
| files | ||
| internal | ||
| ipk | ||
| rpm | ||
| scripts | ||
| testdata | ||
| www | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .golangci.yml | ||
| .goreleaser.yml | ||
| .lintian-overrides | ||
| .svu.yaml | ||
| acceptance_test.go | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| LICENSE.md | ||
| nfpm_test.go | ||
| nfpm.go | ||
| README.md | ||
| SECURITY.md | ||
| Taskfile.yml | ||
Why
While fpm is great, for me, it is a bummer that it depends on ruby, tar
and other software.
I wanted something that could be used as a binary and/or as a library and that was really simple.
So I created nFPM: a simpler, 0-dependency, as-little-assumptions-as-possible alternative to fpm.
Getting started
Used and supported by
Build beautiful cross-platform applications using Go.
Special thanks 🙏
Thanks to the fpm authors for fpm, which inspires nfpm a lot.
Community
You have questions, need support and or just want to talk about GoReleaser/nFPM?
Here are ways to get in touch with the GoReleaser community:
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 🍺!