-
-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add support for Arch Linux packages #543
Conversation
amazing @Arsen6331! Let me know if you need any help! |
Codecov Report
@@ Coverage Diff @@
## main #543 +/- ##
==========================================
+ Coverage 69.31% 70.00% +0.68%
==========================================
Files 20 21 +1
Lines 2581 3087 +506
==========================================
+ Hits 1789 2161 +372
- Misses 614 706 +92
- Partials 178 220 +42
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
I've added the tests and comments, and fixed what the linter suggested. |
Thanks, @Arsen6331 🚀 could you make the changes to the docs as well? they live in the |
Sure |
I've changed the docs |
Co-authored-by: Dj Gilcrease <digitalxero@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Implement signed packages https://wiki.archlinux.org/title/DeveloperWiki:Package_signing Appears to create a
.sig
file to live outside the package? - Implement
acceptance
tests
Yeah, it requires a separate file and I don't know how to implement that with the current API. |
Done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I could also try to make a PR against https://github.com/goreleaser/goreleaser that integrates these changes and can be merged once they make it into a release. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
on a first look it looks good to me! will see if I find some arch contributor to help review it as well!
thanks again for the work on this! ❤️
if you feel like it, go for it! If not, I can do it as well, no issues :) |
I went through a bunch of PKGBUILDs on the AUR to see if I missed anything and implemented all of it. |
I'll review this again today and see that we have it merge soon! 🙏 Sorry for the delay, had a crazy couple of weeks :P |
No problem. Merge it whenever it's convenient for you, there's no rush. |
<!-- Hi, thanks for contributing! Please make sure you read our CONTRIBUTING guide. Also, add tests and the respective documentation changes as well. --> <!-- If applied, this commit will... --> This PR upgrades nFPM to v0.20.0, and integrates the new `ConventionalExtension` method to use the correct extension for the packaging format that is being used. <!-- Why is this change being made? --> Currently, goreleaser uses the name of the format to determine the extension. This has worked fine, but with the introduction of Archlinux packages, goreleaser has to handle packages with extensions that don't match the name of the format, since Archlinux uses `.pkg.tar.zst` as the extension. <!-- # Provide links to any relevant tickets, URLs or other resources --> goreleaser/nfpm#546 goreleaser/nfpm#543
Apparently right now archlinux packager does not support
|
can you open an issue/PR? |
Since nfpm v2.20.0 it can build packages for archlinux [1]. [1]: goreleaser/nfpm#543 Something like this: $ mkdir -p /src/packages/root $ cmake -DCMAKE_INSTALL_PREFIX=/usr /src $ DESTDIR=/src/packages/root ninja install $ cd /src/packages $ ./build --archlinux $ root@s3:/src/packages# ./build --archlinux Current version is 22.10.1.1 Building archlinux package for clickhouse-client.yaml using archlinux packager... created package: /src/clickhouse-client-22.10.1.1-1-x86_64.pkg.tar.zst ... Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
|
<!-- Hi, thanks for contributing! Please make sure you read our CONTRIBUTING guide. Also, add tests and the respective documentation changes as well. --> <!-- If applied, this commit will... --> This PR implements the Archlinux packages that were added in nfpm v2.20.0, as well as tests and documentation for them. <!-- Why is this change being made? --> <!-- # Provide links to any relevant tickets, URLs or other resources --> goreleaser/nfpm#133 goreleaser/nfpm#543 Fixes #3469 Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
This PR adds support for Arch Linux packages.
Like the previous PR (#141), this one generates
.PKGINFO
,.INSTALL
, and.MTREE
files.Unlike that PR, this one compresses the package with a pure-Go Zstandard implementation, which conforms with the new standard for Arch packages.
I have successfully been able to install packages generated by this code, so it works, but there are no tests, so I am leaving it as a draft until I add tests and more comments to it.
Closes #133
Closes #546