From 20c2397650c35126bc94e9ae6ef6a50956879da3 Mon Sep 17 00:00:00 2001 From: Marc Deop Date: Feb 07 2023 10:40:31 +0000 Subject: feat: handle downloading of pre-release frameworks sources --- diff --git a/update.py b/update.py index ac1a828..921804e 100755 --- a/update.py +++ b/update.py @@ -130,6 +130,24 @@ def is_pre_release(product: str, version: str) -> bool: return True +def is_porting_aid(pkg: str) -> bool: + """Check if the package is a porting aid. + + :pkg: pkg to work on + :type pkg: str + :returns: whether the pkg is a porting aid or not. + :rtype: bool + """ + spec_file: str = f"{pkg}/{pkg}.spec" + with open(spec_file, "r", encoding="utf-8") as text: + for line in text.readlines(): + if not line.lower().startswith("source0"): + pass + if "portingAids" in line: + return True + return False + + def print_pkgs_to_update(pkgs: list[str], version: str, author: str, @@ -224,13 +242,19 @@ def pkg_download_sources(pkg: str, version: str) -> None: pre_release: bool = is_pre_release(product, version) if pre_release: + download_version: str = version + # KDE puts frameworks in a folder like 5.103 instead of 5.103.0 + if product == "frameworks": + download_version = version.rstrip(".0") # Download from sftp # yapf: disable url: str = (config.PRE_RELEASE_SFTP + "/" + stable(version) - + ("/release-service/" if product == "gear" else "/") - + version + + ("/release-service" if product == "gear" + else f"/{product}") + + f"/{download_version}" + + ("/portingAids" if is_porting_aid(pkg) else "") + ("/src/" if product == "gear" else "/") + get_source0_basename(pkg) + "-" + version + ".tar.xz") # yapf: enable