* feat: add minimal support for Debian pre-dependencies
Basic support for adding 'Pre-Depends:' to Debian packages added.
* Make Predefined a debian-specific modification
Based on feedback from @caarlos0.
* Add some coverage of pre-depend Debian field in unit tests
* Update the configuration example to include Debian-specific predepends reference
Debian control files (DCF) have a number of optional fields [0] --
including "Bugs" and "Tags" -- that are used by many existing packages.
The original fpm supports adding arbitrary fields to DCFs with the
--deb-field flag [1], but until now it was not possible to do so with
nfpm.
This commit introduces a new deb-specific override, "fields", that
simply translates key-value pairs from a map directly into the DCF.
Given the following nfpm config file entry:
deb:
fields:
Bugs: https://github.com/goreleaser/nfpm/issues
The resulting DCF would contain the entry
Bugs: https://github.com/goreleaser/nfpm/issues
To avoid generating malformed DCFs, we simply ignore empty entries.
This commit includes unit tests and updates to the website
documentation.
Closes #490.
[0]: https://man7.org/linux/man-pages/man5/deb-control.5.html
[1]: https://fpm.readthedocs.io/en/latest/packages/deb.html?highlight=changelog#deb-specific-command-line-flags
Signed-off-by: Aaron Jacobs <aaron.jacobs@rstudio.com>
The description field in the DEB control file supports multiline/verbatim
input. It is done by indenting the lines by two spaces. Before this patch,
the control file was broken if a user wanted to supply a multiline description.
* fix: rules tests, overridables
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* doc: gogoc
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: rpm template
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: rpm template
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: Add optional packager tag to rpm spec
Using the `Maintainer` tag from deb as the `Packager` tag for rpm
See #57
* feat: Optional epoch field added to both rpm and dep packages
See #57
* test: Adding test for deb epoch field
Adding a unit test for the epoch field and fixing the implementation
of version number with epoch for deb packager.
See #57
The Debian policy[1] declares the following control file fields as
required for binary packages:
* Package
* Version
* Section
* Priority
* Architecture
* Maintainer
* Description
All other fields are optional. A few programs handling .deb packages
emit warnings when optional fields exist without a value.
With this change the template generating the control file is updated to
omit empty values. Comments are added to denote mandatory fields.
A newly added test verifies the generated control file.
[1]
<https://www.debian.org/doc/debian-policy/ch-controlfields.html#
binary-package-control-files-debian-control>
Signed-off-by: Michael Hanselmann <public@hansmi.ch>