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
openSUSE Build Service is sponsored by