From 2db2123c703a189738e517b210b92d4fdce42410 Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Fri, 20 Feb 2026 04:02:58 +0000
Subject: [PATCH] Refresh repos with pacman for deps

---
 src/archrepobuild/cli.py |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/src/archrepobuild/cli.py b/src/archrepobuild/cli.py
index 0f991b2..8e4337f 100644
--- a/src/archrepobuild/cli.py
+++ b/src/archrepobuild/cli.py
@@ -124,9 +124,8 @@
 
     async def _add() -> None:
         async with AURClient() as aur:
-            async with Builder(config, aur) as builder:
-                repo = RepoManager(config)
-
+            repo = RepoManager(config)
+            async with Builder(config, aur, repo=repo) as builder:
                 results = []
                 for package in packages:
                     console.print(f"[bold blue]Adding package:[/] {package}")
@@ -134,10 +133,9 @@
                     results.append(result)
 
                     if result.status == BuildStatus.SUCCESS:
-                        repo.add_packages(result)
-                        console.print(f"[green]✓[/] {package} added successfully")
+                        console.print(f"[green]✓[/] {package} processed successfully")
                     elif result.status == BuildStatus.SKIPPED:
-                        console.print(f"[yellow]⏭[/] {package} skipped (already in official repos or installed)")
+                        console.print(f"[yellow]⏭[/] {package} skipped (already in managed repository)")
                     else:
                         console.print(f"[red]✗[/] {package} failed: {result.error}")
 
@@ -165,8 +163,8 @@
                     resolver = DependencyResolver(aur)
 
                     for pkg in repo.list_packages():
-                        if resolver.is_in_official_repos(pkg.name):
-                            console.print(f"[yellow]Removing {pkg.name}[/] (now in official repos)")
+                        if resolver.is_in_repos(pkg.name):
+                            console.print(f"[yellow]Removing {pkg.name}[/] (now in repositories)")
                             builder.remove_package(pkg.name)
                             repo.remove_package(pkg.name)
                 else:
@@ -197,7 +195,13 @@
 
             with console.status("Checking packages..."):
                 for pkg in packages:
-                    if resolver.is_in_official_repos(pkg.name, include_all=all_repos):
+                    # Ignore debug packages if the regular version is in official repos
+                    if pkg.name.endswith("-debug"):
+                        base_name = pkg.name[:-6]
+                        if resolver.is_in_repos(base_name, include_all=all_repos) or await aur.is_available(base_name):
+                            continue
+
+                    if resolver.is_in_repos(pkg.name, include_all=all_repos):
                         in_official.append(pkg.name)
                     elif not await aur.is_available(pkg.name):
                         not_in_aur.append(pkg.name)

--
Gitblit v1.10.0