This commit is contained in:
+19
-22
@@ -126,14 +126,13 @@ pub async fn get_ordered_series(dist: &str) -> Result<Vec<SeriesInformation>, Bo
|
||||
})?;
|
||||
let series_info = &dist_data.series;
|
||||
let content = if Path::new(series_info.local.as_str()).exists() {
|
||||
std::fs::read_to_string(format!("/usr/share/distro-info/{dist}.csv"))
|
||||
.map_err(|e| {
|
||||
format!(
|
||||
"Failed to read distribution series data for '{dist}' \
|
||||
std::fs::read_to_string(format!("/usr/share/distro-info/{dist}.csv")).map_err(|e| {
|
||||
format!(
|
||||
"Failed to read distribution series data for '{dist}' \
|
||||
from '{}': {}. The 'distro-info' package provides these CSV files.",
|
||||
series_info.local, e
|
||||
)
|
||||
})?
|
||||
series_info.local, e
|
||||
)
|
||||
})?
|
||||
} else {
|
||||
reqwest::get(series_info.network.as_str())
|
||||
.await?
|
||||
@@ -237,7 +236,8 @@ pub fn get_sources_url(base_url: &str, series: &str, pocket: &str, component: &s
|
||||
///
|
||||
/// Example: ubuntu => http://archive.ubuntu.com/ubuntu
|
||||
pub fn get_base_url(dist: &str) -> Result<String, Box<dyn Error>> {
|
||||
DATA.dist.get(dist)
|
||||
DATA.dist
|
||||
.get(dist)
|
||||
.map(|d| d.base_url.clone())
|
||||
.ok_or_else(|| {
|
||||
format!(
|
||||
@@ -281,15 +281,13 @@ pub async fn get_keyring_urls(series: &str) -> Result<Vec<String>, Box<dyn Error
|
||||
Ok(urls)
|
||||
}
|
||||
} else {
|
||||
let series_num = get_debian_series_number(series)
|
||||
.await?
|
||||
.ok_or_else(|| {
|
||||
format!(
|
||||
"Could not determine the version number for Debian series '{series}'. \
|
||||
let series_num = get_debian_series_number(series).await?.ok_or_else(|| {
|
||||
format!(
|
||||
"Could not determine the version number for Debian series '{series}'. \
|
||||
Make sure the 'distro-info' package is installed, which provides the \
|
||||
series CSV data used to map series names to version numbers."
|
||||
)
|
||||
})?;
|
||||
)
|
||||
})?;
|
||||
// Replace {series_num} placeholder with the actual series number
|
||||
Ok(vec![
|
||||
dist_data
|
||||
@@ -349,14 +347,13 @@ pub async fn get_debian_series_number(series: &str) -> Result<Option<String>, Bo
|
||||
})?;
|
||||
let series_info = &dist_data.series;
|
||||
let content = if Path::new(series_info.local.as_str()).exists() {
|
||||
std::fs::read_to_string(series_info.local.as_str())
|
||||
.map_err(|e| {
|
||||
format!(
|
||||
"Failed to read Debian series data from '{}': {}. \
|
||||
std::fs::read_to_string(series_info.local.as_str()).map_err(|e| {
|
||||
format!(
|
||||
"Failed to read Debian series data from '{}': {}. \
|
||||
The 'distro-info' package provides this file.",
|
||||
series_info.local, e
|
||||
)
|
||||
})?
|
||||
series_info.local, e
|
||||
)
|
||||
})?
|
||||
} else {
|
||||
reqwest::get(series_info.network.as_str())
|
||||
.await?
|
||||
|
||||
Reference in New Issue
Block a user