From 7ab8d86396cf84cfeedae086f261b9596691d748 Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Sun, 08 Feb 2026 01:15:14 +0000
Subject: [PATCH] Try to allow vcs rebuilds
---
src/archrepobuild/resolver.py | 28 +++++++++++++++++++++-------
1 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/src/archbuild/resolver.py b/src/archrepobuild/resolver.py
similarity index 90%
rename from src/archbuild/resolver.py
rename to src/archrepobuild/resolver.py
index 1b89a98..55d0f11 100644
--- a/src/archbuild/resolver.py
+++ b/src/archrepobuild/resolver.py
@@ -5,8 +5,8 @@
from dataclasses import dataclass, field
from enum import Enum
-from archbuild.aur import AURClient, Package
-from archbuild.logging import get_logger
+from archrepobuild.aur import AURClient, Package
+from archrepobuild.logging import get_logger
logger = get_logger("resolver")
@@ -78,7 +78,7 @@
"""Refresh cache of packages available from official repos."""
try:
result = subprocess.run(
- ["pacman", "-Ssq"],
+ ["pacman", "-Slq"],
capture_output=True,
text=True,
check=True,
@@ -270,13 +270,27 @@
Raises:
ValueError: If package not found or circular dependency
"""
- logger.info(f"Resolving dependencies for: {', '.join(package_names)}")
+ # Filter out packages already in official repos or installed
+ aur_package_names = []
+ for name in package_names:
+ if self.is_in_official_repos(name):
+ logger.info(f"Package {name} found in official repositories, skipping AUR lookup")
+ continue
+ if self.is_installed(name):
+ logger.info(f"Package {name} is already installed, skipping AUR lookup")
+ continue
+ aur_package_names.append(name)
+
+ if not aur_package_names:
+ return BuildOrder()
+
+ logger.info(f"Resolving dependencies for: {', '.join(aur_package_names)}")
# Fetch requested packages
- packages_list = await self.aur_client.get_packages(package_names)
- if len(packages_list) != len(package_names):
+ packages_list = await self.aur_client.get_packages(aur_package_names)
+ if len(packages_list) != len(aur_package_names):
found = {p.name for p in packages_list}
- missing = set(package_names) - found
+ missing = set(aur_package_names) - found
raise ValueError(f"Packages not found in AUR: {missing}")
# Build dependency graph
--
Gitblit v1.10.0