[pve-devel] [PATCH proxmox-apt 4/5] repo: remove has_suite_variant helper
Fabian Ebner
f.ebner at proxmox.com
Thu Jul 29 14:25:51 CEST 2021
by exchanging loops in the check_suites function, which was the only
user. Exchanging loops also helps for introducing a type for Debian condenames.
Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
Breaking change, as the helper was publicly accessable via the type,
but it was not actually used outside the library by us.
src/repositories/file.rs | 35 ++++++++++++++++++++++------------
src/repositories/repository.rs | 16 ----------------
2 files changed, 23 insertions(+), 28 deletions(-)
diff --git a/src/repositories/file.rs b/src/repositories/file.rs
index 254af4d..fe994f7 100644
--- a/src/repositories/file.rs
+++ b/src/repositories/file.rs
@@ -326,37 +326,39 @@ impl APTRepositoryFile {
None => bail!("unknown release {}", current_suite),
};
- for (n, suite) in DEBIAN_SUITES.iter().enumerate() {
- if repo.has_suite_variant(suite) {
+ for suite in repo.suites.iter() {
+ let base_suite = suite_variant(suite).0;
+
+ if base_suite == "stable" {
+ add_info(
+ "warning".to_string(),
+ "use the name of the stable distribution instead of 'stable'!".to_string(),
+ );
+ }
+
+ if let Some(n) = DEBIAN_SUITES.iter().position(|&suite| suite == base_suite) {
if n < current_index {
add_info(
"warning".to_string(),
- format!("old suite '{}' configured!", suite),
+ format!("old suite '{}' configured!", base_suite),
);
}
if n == current_index + 1 {
add_info(
"ignore-pre-upgrade-warning".to_string(),
- format!("suite '{}' should not be used in production!", suite),
+ format!("suite '{}' should not be used in production!", base_suite),
);
}
if n > current_index + 1 {
add_info(
"warning".to_string(),
- format!("suite '{}' should not be used in production!", suite),
+ format!("suite '{}' should not be used in production!", base_suite),
);
}
}
}
-
- if repo.has_suite_variant("stable") {
- add_info(
- "warning".to_string(),
- "use the name of the stable distribution instead of 'stable'!".to_string(),
- );
- }
}
Ok(infos)
@@ -390,3 +392,12 @@ impl APTRepositoryFile {
infos
}
}
+
+/// Splits the suite into its base part and variant.
+/// Does not expect the base part to contain either `-` or `/`.
+fn suite_variant(suite: &str) -> (&str, &str) {
+ match suite.find(&['-', '/'][..]) {
+ Some(n) => (&suite[0..n], &suite[n..]),
+ None => (suite, ""),
+ }
+}
diff --git a/src/repositories/repository.rs b/src/repositories/repository.rs
index d85f063..85c8bdd 100644
--- a/src/repositories/repository.rs
+++ b/src/repositories/repository.rs
@@ -293,13 +293,6 @@ impl APTRepository {
&& self.components.contains(&component)
}
- /// Check if a variant of the given suite is configured in this repository
- pub fn has_suite_variant(&self, base_suite: &str) -> bool {
- self.suites
- .iter()
- .any(|suite| suite_variant(suite).0 == base_suite)
- }
-
/// Guess the origin from the repository's URIs.
///
/// Intended to be used as a fallback for get_cached_origin.
@@ -432,15 +425,6 @@ fn host_from_uri(uri: &str) -> Option<&str> {
Some(host)
}
-/// Splits the suite into its base part and variant.
-/// Does not expect the base part to contain either `-` or `/`.
-fn suite_variant(suite: &str) -> (&str, &str) {
- match suite.find(&['-', '/'][..]) {
- Some(n) => (&suite[0..n], &suite[n..]),
- None => (suite, ""),
- }
-}
-
/// Strips existing double quotes from the string first, and then adds double quotes at
/// the beginning and end if there is an ASCII whitespace in the `string`, which is not
/// escaped by `[]`.
--
2.30.2
More information about the pve-devel
mailing list