New APTRepositoryHandles

ALT Linux uses checkinstall, classic, debuginfo and gostcrypto.
This commit is contained in:
Alexander Burmatov 2024-08-16 00:21:21 +03:00
parent 89ace6a311
commit b99a6ccd0b
2 changed files with 68 additions and 0 deletions

View File

@ -94,12 +94,21 @@ pub fn standard_repositories(
#[cfg(feature = "alt-linux")]
suite: ALTBranchID,
) -> Vec<APTStandardRepository> {
#[cfg(not(feature = "alt-linux"))]
let mut result = vec![
APTStandardRepository::from(APTRepositoryHandle::Enterprise),
APTStandardRepository::from(APTRepositoryHandle::NoSubscription),
APTStandardRepository::from(APTRepositoryHandle::Test),
];
#[cfg(feature = "alt-linux")]
let mut result = vec![
APTStandardRepository::from(APTRepositoryHandle::CheckInstall),
APTStandardRepository::from(APTRepositoryHandle::Classic),
APTStandardRepository::from(APTRepositoryHandle::DebugInfo),
APTStandardRepository::from(APTRepositoryHandle::GostCrypto),
];
#[cfg(not(feature = "alt-linux"))]
if product == "pve" {
result.append(&mut vec![
APTStandardRepository::from(APTRepositoryHandle::CephQuincyEnterprise),

View File

@ -61,6 +61,14 @@ pub enum APTRepositoryHandle {
CephReefNoSubscription,
/// Ceph Reef test repository.
CephReefTest,
/// Check install
CheckInstall,
/// Debug info
DebugInfo,
/// Classic
Classic,
/// GOST crypto
GostCrypto,
}
impl From<APTRepositoryHandle> for APTStandardRepository {
@ -88,6 +96,10 @@ impl TryFrom<&str> for APTRepositoryHandle {
"ceph-reef-enterprise" => Ok(APTRepositoryHandle::CephReefEnterprise),
"ceph-reef-no-subscription" => Ok(APTRepositoryHandle::CephReefNoSubscription),
"ceph-reef-test" => Ok(APTRepositoryHandle::CephReefTest),
"checkinstall" => Ok(APTRepositoryHandle::CheckInstall),
"classic" => Ok(APTRepositoryHandle::Classic),
"debuginfo" => Ok(APTRepositoryHandle::DebugInfo),
"gostcrypto" => Ok(APTRepositoryHandle::GostCrypto),
_ => bail!("unknown repository handle '{}'", string),
}
}
@ -107,6 +119,10 @@ impl Display for APTRepositoryHandle {
APTRepositoryHandle::CephReefEnterprise => write!(f, "ceph-reef-enterprise"),
APTRepositoryHandle::CephReefNoSubscription => write!(f, "ceph-reef-no-subscription"),
APTRepositoryHandle::CephReefTest => write!(f, "ceph-reef-test"),
APTRepositoryHandle::CheckInstall => write!(f, "checkinstall"),
APTRepositoryHandle::Classic => write!(f, "classic"),
APTRepositoryHandle::DebugInfo => write!(f, "debuginfo"),
APTRepositoryHandle::GostCrypto => write!(f, "gostcrypto"),
}
}
}
@ -151,6 +167,21 @@ impl APTRepositoryHandle {
"This repository contains the Ceph Reef packages before they are moved to the \
main repository."
}
APTRepositoryHandle::CheckInstall => {
"The repository contains check install information for binary \
executables and libraries."
}
APTRepositoryHandle::Classic => {
"The repository contains binary executables and libraries."
}
APTRepositoryHandle::DebugInfo => {
"The repository contains debugging information for binary \
executables and libraries."
}
APTRepositoryHandle::GostCrypto => {
"The repository contains binary executables and libraries \
with GOST cryptography."
}
}
.to_string()
}
@ -167,6 +198,10 @@ impl APTRepositoryHandle {
APTRepositoryHandle::CephReefEnterprise => "Ceph Reef Enterprise",
APTRepositoryHandle::CephReefNoSubscription => "Ceph Reef No-Subscription",
APTRepositoryHandle::CephReefTest => "Ceph Reef Test",
APTRepositoryHandle::CheckInstall => "checkinstall",
APTRepositoryHandle::Classic => "classic",
APTRepositoryHandle::DebugInfo => "debuginfo",
APTRepositoryHandle::GostCrypto => "gostcrypto",
}
.to_string()
}
@ -185,6 +220,10 @@ impl APTRepositoryHandle {
| APTRepositoryHandle::CephReefEnterprise
| APTRepositoryHandle::CephReefNoSubscription
| APTRepositoryHandle::CephReefTest => "/etc/apt/sources.list.d/ceph.list".to_string(),
APTRepositoryHandle::CheckInstall
| APTRepositoryHandle::Classic
| APTRepositoryHandle::DebugInfo
| APTRepositoryHandle::GostCrypto => "/etc/apt/sources.list".to_string(),
}
}
@ -256,6 +295,26 @@ impl APTRepositoryHandle {
vec!["http://download.proxmox.com/debian/ceph-reef".to_string()],
"test".to_string(),
),
APTRepositoryHandle::CheckInstall => (
APTRepositoryPackageType::Rpm,
vec!["http://ftp.altlinux.org/pub/distributions/ALTLinux".to_string()],
"checkinstall".to_string(),
),
APTRepositoryHandle::Classic => (
APTRepositoryPackageType::Rpm,
vec!["http://ftp.altlinux.org/pub/distributions/ALTLinux".to_string()],
"classic".to_string(),
),
APTRepositoryHandle::DebugInfo => (
APTRepositoryPackageType::Rpm,
vec!["http://ftp.altlinux.org/pub/distributions/ALTLinux".to_string()],
"debuginfo".to_string(),
),
APTRepositoryHandle::GostCrypto => (
APTRepositoryPackageType::Rpm,
vec!["http://ftp.altlinux.org/pub/distributions/ALTLinux".to_string()],
"gostcrypto".to_string(),
),
}
}