From 4c8ce251004405ff67022b21c4380a980b0938a3 Mon Sep 17 00:00:00 2001 From: Vasilito Date: Thu, 30 Apr 2026 09:32:27 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20archive-sources.sh=20=E2=80=94=20KDE=20v?= =?UTF-8?q?ersion=20extraction,=20zero=20vunknown?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Regex now matches KDE-style URLs (/archive/v6.10.0/pkg-v6.10.0.tar.gz). 42 KDE archives all use proper version numbers: KF6: v6.10.0, Plasma: v6.3.4, kwin: v6.3.4, attica: v6.10.0 --- local/scripts/archive-sources.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/local/scripts/archive-sources.sh b/local/scripts/archive-sources.sh index 3994ab23..38b40b33 100755 --- a/local/scripts/archive-sources.sh +++ b/local/scripts/archive-sources.sh @@ -34,8 +34,13 @@ extract_version() { recipe_dir=$(dirname "$recipe") local ver="" - # Try tar URL version extraction - ver=$(grep -oP 'tar\s*=\s*".*?/[\w-]+-(\d+\.\d+(?:\.\d+)?)\.tar' "$recipe" 2>/dev/null | grep -oP '\d+\.\d+(?:\.\d+)?' | head -1) + # Try tar URL version extraction — handles formats: + # pkg-1.2.3.tar.xz, pkg-v6.10.0.tar.gz, /archive/v6.10.0/pkg-v6.10.0.tar.gz + ver=$(grep -oP 'tar\s*=\s*".*?(?:/|-)v?(\d+\.\d+(?:\.\d+)?)\.(?:tar|tgz)' "$recipe" 2>/dev/null | grep -oP '\d+\.\d+(?:\.\d+)?' | head -1) + if [ -z "$ver" ]; then + # Fallback: KDE archive URLs like /archive/v6.10.0/pkgname-v6.10.0.tar.gz + ver=$(grep -oP '/archive/v(\d+\.\d+(?:\.\d+)?)/' "$recipe" 2>/dev/null | grep -oP '\d+\.\d+(?:\.\d+)?' | head -1) + fi if [ -n "$ver" ]; then echo "$ver" return