From 68f398d18710a4b4b9ac55b96cd0a56869eba2be Mon Sep 17 00:00:00 2001 From: Emanuele Aina <emanuele.aina@collabora.com> Date: Mon, 20 Dec 2021 02:33:54 +0100 Subject: [PATCH] updates-upstream-linux: Reduce indentation No functional changes, just get rid of a level of indentiation. Signed-off-by: Emanuele Aina <emanuele.aina@collabora.com> --- bin/packaging-updates-upstream-linux | 158 +++++++++++++-------------- 1 file changed, 79 insertions(+), 79 deletions(-) diff --git a/bin/packaging-updates-upstream-linux b/bin/packaging-updates-upstream-linux index e6b6fe0..ef092fc 100755 --- a/bin/packaging-updates-upstream-linux +++ b/bin/packaging-updates-upstream-linux @@ -44,6 +44,9 @@ def group_by_release(branches): def compute_linux_updates(data): ret = {"packages": {}} + if "linux" not in data["packages"]: + logging.debug("No entry for linux found in the packaging data, skipping") + return ret def error(package, err): name = package["name"] @@ -53,90 +56,87 @@ def compute_linux_updates(data): errors = p.setdefault("errors", []) errors.append(err) - if data["packages"]["linux"] in data["packages"].values(): - branch_versions = {} - url = "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git" - package = data["packages"]["linux"] - - branch_versions = base_latest_version(data["channels"], package) - debian_versions = base_latest_version(data["sources"], package) - # split the debian_versions dict by major.minor releases, e,g. - # { - # '5.10': {'debian/bullseye': '5.10.46-5'}, - # '4.19': {'debian/buster': '4.19.194-3', 'debian/buster-proposed-updates': '4.19.160-2'} - # } - release_to_debian = group_by_release(debian_versions) - logging.debug(f"{release_to_debian=}") - - for branch, version in branch_versions.items(): - # Fetch the downstream linux version - # If the version is 5.4.134-0~apertis2, the downstream tag is 5.4 - downstream_release = release_major_minor(version) - logging.debug(f"{branch}: Looking for the {downstream_release} release") - - deb_versions = release_to_debian.get(downstream_release) - if deb_versions: - logging.debug( - f"{branch}: Found {downstream_release} in {', '.join(f'{k}={v}' for k, v in deb_versions.items())}" - ) - debian_base, debian_version = max( - deb_versions.items(), key=lambda v: v[1] - ) - logging.debug( - f"{branch}: Debian latest version: {debian_version} from {debian_base}" - ) - downstream_version = debian.debian_support.Version(version) - if downstream_version < debian_version: - err = { - "branch": debian_base, - "msg": f"Branch {debian_base}={debian_version} has not been merged into {branch}={version}", - } - error(package, err) - continue - - # Fetch the versions available upstream for the downstream tag (for e.g. 5.4) using - # git -c 'versionsort.suffix=-' ls-remote --exit-code --tags --refs --sort='version:refname' https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git v5.4* - # Add version and wildcard. For e.g. 5.4 to v5.4* - tag_pattern = f"v{downstream_release}*" - logging.debug(f"{branch}: Retrieving all git {tag_pattern} tags") - # fetch the available upstream versions - cmd = [ - "git", - "-c", - "versionsort.suffix=-", - "ls-remote", - "--exit-code", - "--tags", - "--refs", - "--sort=version:refname", - url, - tag_pattern, - ] - - process = subprocess.run( - cmd, - check=True, - stdout=subprocess.PIPE, + branch_versions = {} + url = "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git" + package = data["packages"]["linux"] + + branch_versions = base_latest_version(data["channels"], package) + debian_versions = base_latest_version(data["sources"], package) + # split the debian_versions dict by major.minor releases, e,g. + # { + # '5.10': {'debian/bullseye': '5.10.46-5'}, + # '4.19': {'debian/buster': '4.19.194-3', 'debian/buster-proposed-updates': '4.19.160-2'} + # } + release_to_debian = group_by_release(debian_versions) + logging.debug(f"{release_to_debian=}") + + for branch, version in branch_versions.items(): + # Fetch the downstream linux version + # If the version is 5.4.134-0~apertis2, the downstream tag is 5.4 + downstream_release = release_major_minor(version) + logging.debug(f"{branch}: Looking for the {downstream_release} release") + + deb_versions = release_to_debian.get(downstream_release) + if deb_versions: + logging.debug( + f"{branch}: Found {downstream_release} in {', '.join(f'{k}={v}' for k, v in deb_versions.items())}" + ) + debian_base, debian_version = max(deb_versions.items(), key=lambda v: v[1]) + logging.debug( + f"{branch}: Debian latest version: {debian_version} from {debian_base}" ) - result = process.stdout.strip().decode() - tags = re.findall(r"refs/tags/v(.+)", result) - latest_tag = tags[-1] - logging.debug(f"{branch}: Latest git tag is {latest_tag}") - - # check if apertis linux version is less than the latest - # upstream linux version and update the dashboard - logging.debug(f"{branch}: Downstream has {version}, git has {latest_tag}") downstream_version = debian.debian_support.Version(version) - if downstream_version < latest_tag: + if downstream_version < debian_version: err = { - "branch": branch, - "msg": f"Branch {branch}={version} lags behind upstream {latest_tag}", - "git": { - "url": url, - "tag": f"v{latest_tag}", - }, + "branch": debian_base, + "msg": f"Branch {debian_base}={debian_version} has not been merged into {branch}={version}", } error(package, err) + continue + + # Fetch the versions available upstream for the downstream tag (for e.g. 5.4) using + # git -c 'versionsort.suffix=-' ls-remote --exit-code --tags --refs --sort='version:refname' https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git v5.4* + # Add version and wildcard. For e.g. 5.4 to v5.4* + tag_pattern = f"v{downstream_release}*" + logging.debug(f"{branch}: Retrieving all git {tag_pattern} tags") + # fetch the available upstream versions + cmd = [ + "git", + "-c", + "versionsort.suffix=-", + "ls-remote", + "--exit-code", + "--tags", + "--refs", + "--sort=version:refname", + url, + tag_pattern, + ] + + process = subprocess.run( + cmd, + check=True, + stdout=subprocess.PIPE, + ) + result = process.stdout.strip().decode() + tags = re.findall(r"refs/tags/v(.+)", result) + latest_tag = tags[-1] + logging.debug(f"{branch}: Latest git tag is {latest_tag}") + + # check if apertis linux version is less than the latest + # upstream linux version and update the dashboard + logging.debug(f"{branch}: Downstream has {version}, git has {latest_tag}") + downstream_version = debian.debian_support.Version(version) + if downstream_version < latest_tag: + err = { + "branch": branch, + "msg": f"Branch {branch}={version} lags behind upstream {latest_tag}", + "git": { + "url": url, + "tag": f"v{latest_tag}", + }, + } + error(package, err) return ret -- GitLab