Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package agama for openSUSE:Factory checked 
in at 2026-09-23 14:32:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/agama (Old)
 and      /work/SRC/openSUSE:Factory/.agama.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "agama"

Wed Sep 23 14:32:51 2026 rev:56 rq:1379729 version:0

Changes:
--------
--- /work/SRC/openSUSE:Factory/agama/agama.changes      2026-09-22 
15:48:40.161872533 +0200
+++ /work/SRC/openSUSE:Factory/.agama.new.383539/agama.changes  2026-09-23 
14:33:38.086036542 +0200
@@ -1,0 +2,12 @@
+Tue Sep 22 14:39:11 UTC 2026 - José Iván López González <[email protected]>
+
+- Use correct scope to detect active storage tasks
+  (gh#agama-project/agama#3972).
+
+-------------------------------------------------------------------
+Tue Sep 22 13:50:57 UTC 2026 - José Iván López González <[email protected]>
+
+- Avoid starting a task if there is already a previous task for the
+  same scope (bsc#1280257).
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ agama.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/agama-manager/src/service.rs 
new/agama/agama-manager/src/service.rs
--- old/agama/agama-manager/src/service.rs      2026-09-21 16:43:04.000000000 
+0200
+++ new/agama/agama-manager/src/service.rs      2026-09-22 16:56:42.000000000 
+0200
@@ -649,7 +649,7 @@
         let status = self.progress.call(progress::message::GetStatus).await?;
         let is_installing = status.stage == Stage::Installing;
         let has_progress = status.progresses.iter().any(|p| p.scope == 
Scope::Storage);
-        let has_tasks = status.tasks.iter().any(|p| p.scope == 
Scope::Software);
+        let has_tasks = status.tasks.iter().any(|p| p.scope == Scope::Storage);
         let is_busy = is_installing && (has_progress || has_tasks);
         Ok(!is_busy)
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/agama-manager/src/task_manager.rs 
new/agama/agama-manager/src/task_manager.rs
--- old/agama/agama-manager/src/task_manager.rs 2026-09-21 16:43:04.000000000 
+0200
+++ new/agama/agama-manager/src/task_manager.rs 2026-09-22 16:56:42.000000000 
+0200
@@ -239,6 +239,8 @@
             tracing::warn!("Failed to send TaskAdded event: {}", e);
         }
 
+        tracing::info!("Task '{}' added: {:?}", metadata.id, metadata);
+
         let state = Arc::clone(&self.state);
         let events = self.events.clone();
 
@@ -252,17 +254,31 @@
             let failed_deps = loop {
                 let state_guard = state.read().await;
 
-                let all_deps_done = dependencies.iter().all(|dep| {
-                    state_guard.succeeded.contains(dep) || 
state_guard.failed.contains(dep)
-                });
-
-                if all_deps_done {
-                    let failed: Vec<TaskId> = dependencies
-                        .iter()
-                        .filter(|dep| state_guard.failed.contains(dep))
-                        .copied()
-                        .collect();
-                    break failed;
+                // Wait until previous tasks of the same scope are done 
(bsc#1280257).
+                let same_scope_task = state_guard
+                    .metadata
+                    .values()
+                    .find(|m| m.scope == metadata.scope && m.id < metadata.id);
+
+                if let Some(m) = same_scope_task {
+                    tracing::info!(
+                        "Task '{}' is waiting for a previous task of the same 
scope: {:?}",
+                        metadata.id,
+                        m
+                    );
+                } else {
+                    let all_deps_done = dependencies.iter().all(|dep| {
+                        state_guard.succeeded.contains(dep) || 
state_guard.failed.contains(dep)
+                    });
+
+                    if all_deps_done {
+                        let failed: Vec<TaskId> = dependencies
+                            .iter()
+                            .filter(|dep| state_guard.failed.contains(dep))
+                            .copied()
+                            .collect();
+                        break failed;
+                    }
                 }
 
                 // lets collection notification here to avoid race condition 
if notification is send immediatelly after drop of guard
@@ -274,10 +290,7 @@
 
             // Decide whether to run or cancel based on run_always and failed 
dependencies
             if !run_always && !failed_deps.is_empty() {
-                tracing::warn!(
-                    "Task '{}' cancelled due to failed dependency",
-                    metadata.name
-                );
+                tracing::warn!("Task '{}' cancelled due to failed dependency", 
metadata.id);
 
                 // Mark this task as failed without running it
                 let mut state_guard = state.write().await;
@@ -300,6 +313,8 @@
                 tracing::warn!("Failed to send TaskStarted event: {}", e);
             }
 
+            tracing::info!("Task '{}' started", metadata.id);
+
             let result = work(Some(failed_deps)).await;
 
             // Mark as succeeded or failed
@@ -307,10 +322,11 @@
 
             match result {
                 Ok(()) => {
+                    tracing::info!("Task '{}' finished", metadata.id);
                     state_guard.succeeded.insert(task_id);
                 }
                 Err(e) => {
-                    tracing::error!("Task '{}' failed: {}", metadata.name, e);
+                    tracing::error!("Task '{}' failed: {}", metadata.id, e);
                     state_guard.failed.insert(task_id);
                 }
             }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/package/agama.changes 
new/agama/package/agama.changes
--- old/agama/package/agama.changes     2026-09-21 16:43:04.000000000 +0200
+++ new/agama/package/agama.changes     2026-09-22 16:56:42.000000000 +0200
@@ -1,4 +1,16 @@
 -------------------------------------------------------------------
+Tue Sep 22 14:39:11 UTC 2026 - José Iván López González <[email protected]>
+
+- Use correct scope to detect active storage tasks
+  (gh#agama-project/agama#3972).
+
+-------------------------------------------------------------------
+Tue Sep 22 13:50:57 UTC 2026 - José Iván López González <[email protected]>
+
+- Avoid starting a task if there is already a previous task for the
+  same scope (bsc#1280257).
+
+-------------------------------------------------------------------
 Mon Sep 21 06:23:54 UTC 2026 - Imobach Gonzalez Sosa <[email protected]>
 
 - Allow defining multiple licenses per product (jsc#PED-16988,

++++++ agama.obsinfo ++++++
--- /var/tmp/diff_new_pack.VKi3rz/_old  2026-09-23 14:33:42.217209247 +0200
+++ /var/tmp/diff_new_pack.VKi3rz/_new  2026-09-23 14:33:42.224209540 +0200
@@ -1,5 +1,5 @@
 name: agama
-version: 24+79.19b44f04f
-mtime: 1790001784
-commit: 19b44f04f10bb7a865c9edd2abf7ea6cb9b012d4
+version: 24+86.8c259e340
+mtime: 1790089002
+commit: 8c259e340b087ab986cb3376cd3d3d7e4f394c50
 

Reply via email to