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
