* add stricter linting
* As part of this it changes the API slightly changing all uses of the `nfpm.Info` object to accept a pointer to reduce memory usage as pointed out by `hugeParam: info is heavy (568 bytes); consider passing it by pointer (gocritic)`
* clean: remove last mentions to rpmbuild
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: goproxy
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: properly add the PostRemove script, not the PostInstall script
* feat: provide more field support for rpms
New RPM fields
---
* Description
* OS <= info.Platform
* Licence
* URL <= info.Homepage
* Vendor
* Packager <= info.Maintainer
* Provides
* Require <= info.Depends
* Obsolete <= info.Replaces
* Suggests
* Conflicts
Fixes
---
* RPM Compression types are supported again
* RPM Config files are supported again
* `rpmpack` will support all the rpm file types, so we could extend this more latter
* chore: disable wsl (a new linter in 1.20.x got golangci-lint) until we decide to enable it
* chore: address PR comments
* 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>
* fix: improve rpm release config
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: template
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: Define sourcedir and rpmfilename macros for rpmbuild
Our build system has a complex rmpbuld environment set up where
macros don't match with the defaults that nfpm exepcts. This
change will enforce those defaults which makes nfpm less
dependant on the build environment.
* feat: Add Group and Prefix tags for RPMs
These tags are only implemented for RPMs because there is
no good parallel to draw to deb tags.
See #57
* fix: moved rpm only tags into their own block
* test: added test for RPM block
* fix: fixed rpm only tags test
* test: Testing spec file for RPM specific tags
See: #57
* add support for build rpm packages for aarch64
Signed-off-by: Christoph Hartmann <chris@lollyrock.com>
* add unit test to verify the manipulation of the arch field
Signed-off-by: Christoph Hartmann <chris@lollyrock.com>
* add acceptance test for arm64 builds
Signed-off-by: Christoph Hartmann <chris@lollyrock.com>
* use newer travis ubuntu distro
Signed-off-by: Christoph Hartmann <chris@lollyrock.com>
* enable binfmt in docker
Signed-off-by: Christoph Hartmann <chris@lollyrock.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
Added file globs to deb and rpm packager. Since the destination for
a glob can not be a single file, the files collected by the glob are
stored in: join(dst, trim(lcp(src), src)) (read: lcp = longest common
prefix). Thereby the longest common prefix is removed from every path in
the globbed files and joined with the destination path. Implementation
is backwards compatible (i.e. non-globs will work as before)