-
-
Notifications
You must be signed in to change notification settings - Fork 84
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 all-static
feature
#1287
Conversation
Thanks for the contribution! I'm happy to accept it. I'll think a bit about the name of the feature. So on arch linux, by default the release-plz binary will use the system libraries such as git2 and openssl, right? |
crates/release_plz/Cargo.toml
Outdated
@@ -14,13 +14,14 @@ categories = ["command-line-utilities", "development-tools"] | |||
workspace = true | |||
|
|||
[features] | |||
default = ["docker-tests"] | |||
default = ["docker-tests", "cargo-vendored-libs"] |
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.
let's call this feature all-static
, to follow cargo
convention :)
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.
Fixed.
This adds the ability to build against system libraries like libgit2 and OpenSSL, when the feature is not present.
09de94a
to
580934a
Compare
cargo-vendored-libs
featureall-static
feature
After this change, yes; previously these libraries were still vendored.
Packagers generally prefer dynamic libraries for size, build speed and security reasons. I'm not an Arch Linux maintainer, but we can refer to https://www.reddit.com/r/linux/comments/9emwtu/comment/e5qssdz/ where Felix and Levente discussed about the benefits of it from a distro's perspective. |
I see, thanks for the explanation, it makes sense :) By default, I vendor everything so people have fewer issues when running the binary in all various systems. But package maintainers control the dependencies of the binary, so it makes sense to not vendor the other libraries. Thanks for the contribution 🙏 |
This adds the ability to build against system libraries like libgit2 and OpenSSL, when the feature is not present.