1
1
Fork 0
mirror of https://github.com/goreleaser/nfpm synced 2024-05-12 23:06:18 +02:00
nfpm/www/docs/index.md

33 lines
919 B
Markdown
Raw Normal View History

# nFPM
![](/static/banner.svg)
feat: add support for Arch Linux packages (#543) * feat: add support for Arch Linux packages * test: Add initial tests * test: Increase coverage by modifying example info * test: Add test for ArchLinux.ConventionalFileName() * docs: Return error if package name is invalid * fix: Make empty name invalid * fix: Add replaces field to .PKGINFO generator * test: Add additional tests * test: Test for added replaces field * docs: Add more comments * style: Run gofumpt * fix: Handle errors as recommended by linter * fix: Allow changing the pkgbase * style: Resolve semgrep findings * docs: Change docs to reflect new Arch Linux packager * docs: Fix spelling mistake in comment Co-authored-by: Dj Gilcrease <digitalxero@gmail.com> * docs: use aspell to fix all spelling mistakes * feat: Handle packaging formats with non-distinct file extensions as described in #546 * fix: Add newline to generated .INSTALL file * fix: Take into account provided info for non-symlink files * docs: Fix names for arch-specific scripts in documentation * fix: Only consider files with the correct packager field * fix: Use correct scripts field for post_remove script * test: Implement archlinux acceptance tests * test: Add archlinux to acceptance_test.go * test: Add archlinux to github test matrix * test: Use updated build.yml from main branch * Fix ConventionalExtension() for apk * fix: Take epoch value into account * fix: Add arm5 and arm6 architectures Co-authored-by: Dj Gilcrease <digitalxero@gmail.com> Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2022-10-15 19:54:36 +02:00
nFPM is a simple, 0-dependencies, `deb`, `rpm`, `apk`, and Arch Linux packager.
## 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 decided to create nFPM: a **simpler**, **0-dependency**,
**as-little-assumptions-as-possible** alternative to fpm.
## nFPM is not FPM
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.
And that's OK!, most of us don't need all those features most of the time.
[fpm]: https://github.com/jordansissel/fpm
## 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.