-
-
Notifications
You must be signed in to change notification settings - Fork 695
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
testing/rustic: disable self-update feature
Patch backported from rustic-rs/rustic#975
- Loading branch information
Showing
2 changed files
with
110 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
Patch-Source: https://github.com/rustic-rs/rustic/pull/975 | ||
-- | ||
From b32769f275adbd719453aefe68785c303664208a Mon Sep 17 00:00:00 2001 | ||
From: Jakub Jirutka <[email protected]> | ||
Date: Mon, 1 Jan 2024 09:11:13 +0100 | ||
Subject: [PATCH 2/2] feat(cli): Allow building without self-update feature | ||
(#975) | ||
|
||
Co-authored-by: simonsan <[email protected]> | ||
--- | ||
Cargo.toml | 7 ++++--- | ||
src/commands.rs | 1 + | ||
src/commands/self_update.rs | 13 +++++++++---- | ||
3 files changed, 14 insertions(+), 7 deletions(-) | ||
|
||
diff --git a/Cargo.toml b/Cargo.toml | ||
index 24486f1..054a994 100644 | ||
--- a/Cargo.toml | ||
+++ b/Cargo.toml | ||
@@ -31,9 +31,10 @@ description = { workspace = true } | ||
members = ["crates/rustic_testing", "xtask"] | ||
|
||
[features] | ||
-default = [] | ||
+default = ["self-update"] | ||
mimalloc = ["dep:mimalloc"] | ||
jemallocator = ["dep:jemallocator-global"] | ||
+self-update = ["dep:self_update", "dep:semver"] | ||
|
||
[[bin]] | ||
name = "rustic" | ||
@@ -67,8 +68,8 @@ serde_with = { workspace = true } | ||
|
||
# other dependencies | ||
chrono = { workspace = true } | ||
-self_update = { workspace = true } | ||
-semver = { workspace = true } | ||
+self_update = { workspace = true, optional = true } | ||
+semver = { workspace = true, optional = true } | ||
|
||
# commands | ||
clap = { workspace = true } | ||
diff --git a/src/commands.rs b/src/commands.rs | ||
index 07473d3..88432ab 100644 | ||
--- a/src/commands.rs | ||
+++ b/src/commands.rs | ||
@@ -101,6 +101,7 @@ enum RusticCmd { | ||
ShowConfig(ShowConfigCmd), | ||
|
||
/// Update to the latest rustic release | ||
+ #[cfg_attr(not(feature = "self-update"), clap(hide = true))] | ||
SelfUpdate(SelfUpdateCmd), | ||
|
||
/// Remove unused data or repack repository pack files | ||
diff --git a/src/commands/self_update.rs b/src/commands/self_update.rs | ||
index dff8fb3..f9540e4 100644 | ||
--- a/src/commands/self_update.rs | ||
+++ b/src/commands/self_update.rs | ||
@@ -5,8 +5,6 @@ use crate::{Application, RUSTIC_APP}; | ||
use abscissa_core::{status_err, Command, Runnable, Shutdown}; | ||
|
||
use anyhow::Result; | ||
-use self_update::cargo_crate_version; | ||
-use semver::Version; | ||
|
||
/// `self-update` subcommand | ||
#[derive(clap::Parser, Command, Debug)] | ||
@@ -26,8 +24,9 @@ impl Runnable for SelfUpdateCmd { | ||
} | ||
|
||
impl SelfUpdateCmd { | ||
+ #[cfg(feature = "self-update")] | ||
fn inner_run(&self) -> Result<()> { | ||
- let current_version = Version::parse(cargo_crate_version!())?; | ||
+ let current_version = semver::Version::parse(self_update::cargo_crate_version!())?; | ||
|
||
let release = self_update::backends::github::Update::configure() | ||
.repo_owner("rustic-rs") | ||
@@ -40,7 +39,7 @@ impl SelfUpdateCmd { | ||
|
||
let latest_release = release.get_latest_release()?; | ||
|
||
- let upstream_version = Version::parse(&latest_release.version)?; | ||
+ let upstream_version = semver::Version::parse(&latest_release.version)?; | ||
|
||
match current_version.cmp(&upstream_version) { | ||
std::cmp::Ordering::Greater => { | ||
@@ -62,4 +61,10 @@ impl SelfUpdateCmd { | ||
|
||
Ok(()) | ||
} | ||
+ #[cfg(not(feature = "self-update"))] | ||
+ fn inner_run(&self) -> Result<()> { | ||
+ anyhow::bail!( | ||
+ "This version of rustic was built without the \"self-update\" feature. Please use your system package manager to update it." | ||
+ ); | ||
+ } | ||
} | ||
-- | ||
2.43.0 | ||
|