File riscv.patch of Package agama
Index: agama/agama-utils/src/arch.rs
===================================================================
--- agama.orig/agama-utils/src/arch.rs
+++ agama/agama-utils/src/arch.rs
@@ -25,6 +25,7 @@
pub enum Arch {
AARCH64,
PPC64LE,
+ RISCV64,
S390X,
X86_64,
}
@@ -43,6 +44,7 @@ impl Arch {
match std::env::consts::ARCH {
"aarch64" => Ok(Arch::AARCH64),
"powerpc64" => Ok(Arch::PPC64LE),
+ "riscv64" => Ok(Arch::RISCV64),
"s390x" => Ok(Arch::S390X),
"x86_64" => Ok(Arch::X86_64),
_ => Err(Error::Unknown(std::env::consts::ARCH.to_string())),
@@ -54,6 +56,7 @@ impl Arch {
match &self {
Arch::AARCH64 => "aarch64".to_string(),
Arch::PPC64LE => "ppc".to_string(),
+ Arch::RISCV64 => "riscv64".to_string(),
Arch::S390X => "s390".to_string(),
Arch::X86_64 => "x86_64".to_string(),
}
@@ -68,6 +71,7 @@ mod tests {
fn test_arch_from_string() {
assert_eq!("aarch64".try_into(), Ok(Arch::AARCH64));
assert_eq!("ppc64le".try_into(), Ok(Arch::PPC64LE));
+ assert_eq!("riscv64".try_into(), Ok(Arch::RISCV64));
assert_eq!("s390x".try_into(), Ok(Arch::S390X));
assert_eq!("x86_64".try_into(), Ok(Arch::X86_64));
}
@@ -76,6 +80,7 @@ mod tests {
fn test_arch_to_string() {
assert_eq!(Arch::AARCH64.to_string(), "aarch64".to_string());
assert_eq!(Arch::PPC64LE.to_string(), "ppc64le".to_string());
+ assert_eq!(Arch::RISCV64.to_string(), "riscv64".to_string());
assert_eq!(Arch::S390X.to_string(), "s390x".to_string());
assert_eq!(Arch::X86_64.to_string(), "x86_64".to_string());
}
@@ -84,6 +89,7 @@ mod tests {
fn test_to_product_string() {
assert_eq!(Arch::AARCH64.to_yast_id(), "aarch64".to_string());
assert_eq!(Arch::PPC64LE.to_yast_id(), "ppc".to_string());
+ assert_eq!(Arch::RISCV64.to_yast_id(), "riscv64".to_string());
assert_eq!(Arch::S390X.to_yast_id(), "s390".to_string());
assert_eq!(Arch::X86_64.to_yast_id(), "x86_64".to_string());
}
@@ -100,6 +106,12 @@ mod tests {
assert_eq!(Arch::current().unwrap(), Arch::PPC64LE);
}
+ #[cfg(target_arch = "riscv64")]
+ #[test]
+ fn test_current_arch_riscv64() {
+ assert_eq!(Arch::current().unwrap(), Arch::RISCV64);
+ }
+
#[cfg(target_arch = "s390x")]
#[test]
fn test_current_arch_s390x() {
Index: agama/agama-utils/src/products.rs
===================================================================
--- agama.orig/agama-utils/src/products.rs
+++ agama/agama-utils/src/products.rs
@@ -512,8 +512,8 @@ mod test {
assert!(description["cs"].contains("verze"));
let software = &tw.software;
- assert_eq!(software.installation_repositories.len(), 12);
- assert_eq!(software.installation_labels.len(), 4);
+ assert_eq!(software.installation_repositories.len(), 15);
+ assert_eq!(software.installation_labels.len(), 5);
assert_eq!(software.base_product.as_ref().unwrap(), "openSUSE");
assert_eq!(software.user_patterns.len(), 11);
Index: agama/test/share/products.d-single/tumbleweed.yaml
===================================================================
--- agama.orig/test/share/products.d-single/tumbleweed.yaml
+++ agama/test/share/products.d-single/tumbleweed.yaml
@@ -87,6 +87,12 @@ software:
archs: s390
- url: https://download.opensuse.org/ports/ppc/tumbleweed/repo/oss/
archs: ppc
+ - url: https://download.opensuse.org/ports/riscv/tumbleweed/repo/oss/
+ archs: riscv64
+ - url: https://download.opensuse.org/ports/riscv/tumbleweed/repo/non-oss/
+ archs: riscv64
+ - url: https://download.opensuse.org/ports/riscv/update/tumbleweed/
+ archs: riscv64
# device labels for offline installation media
installation_labels:
- label: openSUSE-Tumbleweed-DVD-x86_64
@@ -97,6 +103,8 @@ software:
archs: s390
- label: openSUSE-Tumbleweed-DVD-ppc64le
archs: ppc
+ - label: openSUSE-Tumbleweed-DVD-riscv64
+ archs: riscv64
mandatory_patterns:
- enhanced_base # only pattern that is shared among all roles on TW
optional_patterns: [] # no optional pattern shared
Index: agama/test/share/products.d/tumbleweed.yaml
===================================================================
--- agama.orig/test/share/products.d/tumbleweed.yaml
+++ agama/test/share/products.d/tumbleweed.yaml
@@ -87,6 +87,12 @@ software:
archs: s390
- url: https://download.opensuse.org/ports/ppc/tumbleweed/repo/oss/
archs: ppc
+ - url: https://download.opensuse.org/ports/riscv/tumbleweed/repo/oss/
+ archs: riscv64
+ - url: https://download.opensuse.org/ports/riscv/tumbleweed/repo/non-oss/
+ archs: riscv64
+ - url: https://download.opensuse.org/ports/riscv/update/tumbleweed/
+ archs: riscv64
# device labels for offline installation media
installation_labels:
- label: openSUSE-Tumbleweed-DVD-x86_64
@@ -97,6 +103,8 @@ software:
archs: s390
- label: openSUSE-Tumbleweed-DVD-ppc64le
archs: ppc
+ - label: openSUSE-Tumbleweed-DVD-riscv64
+ archs: riscv64
mandatory_patterns:
- enhanced_base # only pattern that is shared among all roles on TW
optional_patterns: [] # no optional pattern shared