Skip to content

Commit

Permalink
chore: Group all features without self-updater for simplified distro …
Browse files Browse the repository at this point in the history
…packaging

The self-updater feature is problematic for distro package builders
where the executable does not have permission and should not be trying
to monkey with the system installed binaries. Distros have their own
update mechanisms that shouldn't be tampered with by every app that
comes along. This means distro have to build with --no-default-features
for apps that include self-updaters by default, but that also means we
have to maintain a list of features we do want. This is not only tedious
it is error-prone because there is a very good chance of new features
getting overlooked when doing version bumps.

Setting up a feature group like this makes it much easier for distros to
build without the unwanted features without getting out of sync with
upstream enhancements over time.
  • Loading branch information
alerque committed Apr 26, 2024
1 parent a34000f commit 5c1089d
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ rustic - fast, encrypted, deduplicated backups powered by Rust
"""

[features]
default = ["self-update", "tui", "webdav"]
default = ["all_features"]
distrib_features = ["tui", "webdav"]
all_features = ["distrib_features", "self-update"]
mimalloc = ["dep:mimalloc"]
jemallocator = ["dep:jemallocator-global"]
self-update = ["dep:self_update", "dep:semver"]
Expand Down

0 comments on commit 5c1089d

Please sign in to comment.