1
1
Fork 0
mirror of https://github.com/goreleaser/nfpm synced 2024-05-10 08:36:10 +02:00
Commit Graph

41 Commits

Author SHA1 Message Date
Ville Skyttä 97486f15f8
feat: expand environment variables in maintainer (#463) 2022-03-18 00:07:12 -03:00
Mikhail f. Shiryaev 1000d106c3
feat: expand ENV for dependencies versions (#454) 2022-02-09 20:49:37 -03:00
CrazyMax 9570f5234f
feat: custom packager configuration for rpm pkg (#409)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-11-30 15:56:10 -03:00
CrazyMax aee2dc4dd5
feat: expand-env support for vendor field (#406)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-11-19 14:08:38 -03:00
Carlos A Becker b62d6c4a54
fix: better fix for empty dirs
refs #403
2021-11-14 11:12:53 -03:00
Carlos A Becker 3730d6ec1c
fix: memory error when using empty_dirs
refs #403
2021-11-14 10:58:28 -03:00
Erik G 3f068f057c
fix: Improve performance of content destination collision detection (#388)
* Fix: Improve performance of content destination collision detection.

* Remove duplicate info.Validate call

* Fix tests.

* Remove another Validate call.
2021-11-06 14:10:46 -03:00
Carlos A Becker fb0a007440
chore: fmt
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-12 14:42:00 -03:00
Dj Gilcrease fe1413c7af
feat: add version_schema config option to allow controlling how the version string is parsed. (#324)
closes #283
2021-04-23 00:36:16 +00:00
Dj Gilcrease 41077943bd
test: clean up the acceptance tests (#292) 2021-04-15 17:25:39 -03:00
Dj Gilcrease a8e33991fc
fix: allow using an env var in the signature.key_file field (#282) 2021-01-14 10:32:10 -08:00
dependabot-preview[bot] 4bf2575c1c
chore(deps): bump github.com/golangci/golangci-lint from 1.33.0 to 1.34.0 (#271)
* chore(deps): bump github.com/golangci/golangci-lint

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.33.0 to 1.34.0.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.33.0...v1.34.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* fix: linting issues

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: simplify golangci-lint config

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: simplify golangci-lint config

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-12-29 12:29:59 -03:00
Carlos Alexandro Becker 2770e5be98
feat: more deprecated things to remove (#269)
* feat: more deprecated things to remove

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* feat: more deprecated things to remove

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: format

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-12-25 13:15:15 +00:00
Carlos Alexandro Becker 62357a65e2
feat: version as v2 (#268)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-12-23 13:25:57 +00:00
Carlos Alexandro Becker 19817233b5
feat: remove deprecated options (#267)
* feat: remove deprecated options

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* test: fixing

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: configs

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: tempdir

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: fmt

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* feat: go 1.15

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* test: fix

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* test: fix

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* test: fix

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: tests

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* refactor: test

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: lint

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: import

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: test

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: symlink

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-12-22 21:28:32 -03:00
Dj Gilcrease c4ae30d749
feat: try to clean up and simplify the file adding interface (#255)
* feat: cleanup and simplify the file adding interface

* docs: update the configuration docs to focus on the new contents format for specifying files

* docs: correct spelling

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2020-12-15 13:47:00 -03:00
Erik G 285a6bcaea
feat: Package Signing (#224)
* feat: Add initial openpgp signing capability.

* refactor: Rename signatures to sigs and expose verify method.

* feat: Add debsigs support.

* test: Add debsigs acceptance test.

* feat: Add RSA signing capability.

* feat: Add RPM signature support.

* test: Add RPM signature acceptance test.

* test: Move acceptance test keys in dedicated folder.

* feat: Add APK signature support.

* test: Add APK signature acceptance test.

* feat: Expose deb signature type in config.

* fix: Fix typo and superfluous explicit error check

* fix: Fix password env extraction and add tests.

* fix: Redirect rpmpack to temporary goreleaser vendoring.

* fix: Catch missing maintainer email if no apk key name is set.

* refactor: Put signature info in a dedicated struct.

* doc: Add signing documentation.

* fix: Add trailing newlines to some files and remove unnecessary comment.

* fix: Change wrong references from SHA256 to SHA1 in the sign package.

* fix: Improve error wording when no passphrase was provided.

* fix: Remove another SHA256 reference.

* fix: Fix signature errors.

* test: Split up environment variable test.

* fix: Don't parse passphrase from YAML.

* deps: Update redirected rpmpack.

* fix: Export and use signature related error type.

* doc: Document ErrSigningFailure.

* test: Fix apk signature error test.

* test: Add rpm signature error test.
2020-09-17 09:18:44 -03:00
Erik G 3c4244d700
fix: correctly handle version, release and prerelease for RPMs (#214) 2020-08-19 10:20:02 -03:00
Carlos Alexandro Becker 2e97c8de26
feat: apk support (#207)
* first attempt at apk, built from Issue #39

* inspector cleanups

* read the contrib note, ran linter, fixes made. Noice!

* linter went wonky

* linter went wonky

* fix some lint issues

* fix some lint issues

* lightweight file validation, while I try to refactor method into smaller chunks

* refactorings to get `make ci` to pass. ain't pretty, but hopefully doesn't make things worse.

* add ignore file to get workdir created in CI

* try to get a successful test run on CI (file sizes differ on CI).

* must remember to run liner (make ci) before pushing

* Doh! Detect CI via correct env var name

* tweak CI expected file sizes

* blech. try to get a range of values for CI

* better message if value fails conditions

* better message if value fails conditions

* initial impl of Package interface - just hoping I don't already have the arch mapping backwards.

* missed non-altered arch case

* ci failures

* refactor io.File to Writer

* add note about command to test apk install in docker

* remove absolute paths from test (prep for replacement with info.Files).

* rename test files folder

* get ci file size ranges happy after path changes

* get ci file size ranges happy after path changes

* move COPY towards end, allowing more caching of layers - feedback from @tcurdt

* remove Gz from function name

* rename combine function

* add skipVerify flag to preserve generated .apk file for use in dockerfile manual test. Thanks @tcurdt

* make ci is my friend

* remove useless comment

* start conversion to nfpm.Info

* use base64 encoded string for private signing key

* remove old runit() method, as we can now test using Default.Package.
add some tests lifted from deb_test.go.

* duck and cover: register the apk packager

* use the metadata from nfpm (does not handle scripts/pre/post, etc)

* getting closer to removing size assertions, but not just yet

* getting closer to removing size assertions, but not just yet

* add niffty import for init - Blank identifier comes to the rescue. Thanks @tcurdt.
add apk to overrides parse test.

* I will very much enjoy deleting this assertion...soon, soon.

* add PrivateKeyFile option, which is subordinate to PrivateKey

* move PrivateKey configs to root config struct. expand PrivateKey configs from env vars if set.

* provide the user a hint if privatekey config is missing for .apk packager

* lovin' the linter now. learning language from linter loudness. didn't know switch could work like that.

* add support for 'scripts' in control file

* fix control metadata

* make signing keyname configurable

* goofy size fix

* remove temporary test and related files

* fix template copy/pasta error

* remove old print statements

* first take at integration tests. should remove need for --allow-untrusted in `apk add` command.

* fix: merge issues, remove signature support

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: tests

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: lint issues

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: tests

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* test: meta

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: datahash seems unused

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: improve test code

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: unused params

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: tests

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* test: changelog test

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* test: fix

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: img

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* test: symlink

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: uneeded deletes

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* feat: symlinks

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

Co-authored-by: Dan Rollo <danrollo@gmail.com>
2020-08-17 17:28:38 -03:00
Erik G 3cc1ea4186
test: Changed some asserts to requires for early out in tests. (#195)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-04 17:55:52 +00:00
Carlos Alexandro Becker a80e10dea3
refactor: internal/files (#191)
* refactor: internal/files

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: lint issues

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-08-04 10:11:03 -03:00
Erik G 005a6f885d
fix: Don't propagate semver metadata into deb metadata. (#187)
* fix: Don't propagate semver metadata into deb metadata.

* doc: Add documentation for new metadata behaviour.
2020-07-30 11:02:55 -03:00
Carlos Alexandro Becker 397d266f18
feat: allow creating meta packages (#159)
* feat: allow creating meta packages

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: rpm pack meta

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* test: added acceptance tests

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-07-10 02:05:33 -03:00
Erik G 4804199f0a
feat: use conventional file names by default (#157)
Co-authored-by: Erik Geiser <erik.geiser@redteam-pentesting.de>
2020-07-09 10:16:04 -03:00
Carlos Alexandro Becker 7b7ab3ffc7
docs: added docs website (#142)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-05-24 16:09:47 -03:00
Danny Zhu a8eb8d7146
refactor: add a method on Info to list files to copy to the package (#136)
* refactor: add a method on Info to list files to copy to the package

Since iterating over the files to copy to the package is something that
all package formats need, adding a central place for that logic reduces
duplication.

Also sort the list of files as a step toward making builds more
reproducible.

* Update nfpm.go

* Rename `CopiedFile` to `FileToCopy`

* Add test for `FilesToCopy`

Co-authored-by: Danny Zhu <dzhu@dzhu.us>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-05-14 12:46:46 +00:00
Carlos Alexandro Becker 2768948b4e
feat: update golangci-lint (#137)
* fix: golangci-lint

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* feat: update golangci-lint

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: docs

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: lint issues

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: test

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: test

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: test

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-05-13 16:24:06 -03:00
Carlos Alexandro Becker 1277d9bfcd
fix: lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2020-02-18 10:50:11 -03:00
astorath 4c6511a854
feat: version release/prerelease options (#111)
* feat: version release/prerelease options

* fix: review

* fix: lint

* fix: damn linters

* fix: acceptance tests

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2020-02-18 10:49:10 -03:00
Carlos Alexandro Becker 92cd25d767
fix(rpm): with defaults: fix version and pre-release (#101)
* fix(rpm): replace - with _ on version

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix(rpm): version

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2019-11-05 09:38:13 -03:00
Dj Gilcrease 7889c9b2b6
fix: add stricter linting (#87)
* 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)`
2019-10-11 13:11:28 -07:00
Carlos Alexandro Becker 32909dea74
fix: lint issues 2019-03-04 10:14:05 -03:00
Matthias Schneider 5c2749c5bb changed to os.ExpandEnv ; added tests for env support 2018-09-14 11:23:22 -03:00
tympanix 145a47c222 feat: validate overrides for known formats 2018-04-10 21:37:46 +02:00
tympanix fbe68cc0f9 refactor: overrides using explicit embedded struct 2018-04-10 17:39:43 +02:00
tympanix 184ddc2cad feat: packager config overrides 2018-04-10 01:08:01 +02:00
Carlos Alexandro Becker 769a497b09
chore: fmt 2018-04-09 13:33:51 -03:00
Carlos Alexandro Becker 672aa2bd65 fix: better validations 2018-04-05 09:51:01 -03:00
Luis Ramos c3ee446853
Fix tests 2018-03-20 19:06:58 +00:00
Carlos Alexandro Becker 95bf6ef939
fix: remove version prefix
closes #9
2018-02-28 08:26:29 -03:00
Carlos Alexandro Becker 77fbb9b1fd
test: for root pkg 2018-02-15 23:28:11 -02:00