Unverified Commit 7632cf76 authored by K900's avatar K900 Committed by GitHub
Browse files

Merge pull request #277708 from Ma27/min-supported-kernel

linux: avoid re-adding unsupported kernel branches (4.14) in this case in updater scripts
parents da93dfdc 1ecd7075
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
#! /usr/bin/env nix-shell
#! nix-shell -i python -p "python3.withPackages (ps: [ps.pygithub])" git gnupg
#! nix-shell -i python -p "python3.withPackages (ps: [ps.pygithub ps.packaging])" git gnupg

# This is automatically called by ../update.sh.

@@ -27,6 +27,8 @@ from typing import (
from github import Github
from github.GitRelease import GitRelease

from packaging.version import parse as parse_version, Version

VersionComponent = Union[int, str]
Version = List[VersionComponent]

@@ -39,6 +41,11 @@ Patch = TypedDict("Patch", {
})


def read_min_kernel_branch() -> List[str]:
    with open(NIXPKGS_KERNEL_PATH / "kernels-org.json") as f:
        return list(parse_version(sorted(json.load(f).keys())[0]).release)


@dataclass
class ReleaseInfo:
    version: Version
@@ -51,7 +58,7 @@ NIXPKGS_PATH = HERE.parents[4]
HARDENED_GITHUB_REPO = "anthraxx/linux-hardened"
HARDENED_TRUSTED_KEY = HERE / "anthraxx.asc"
HARDENED_PATCHES_PATH = HERE / "patches.json"
MIN_KERNEL_VERSION: Version = [4, 14]
MIN_KERNEL_VERSION: Version = read_min_kernel_branch()


def run(*args: Union[str, Path]) -> subprocess.CompletedProcess[bytes]:
+0 −4
Original line number Diff line number Diff line
@@ -27,10 +27,6 @@
        "version": "4.19.303",
        "hash": "sha256:0dlbl47xs7z4yf9cxbxqzd7zs1f9070jr6ck231wgppa6lwwwb82"
    },
    "4.14": {
        "version": "4.14.334",
        "hash": "sha256:0iaaqdkszmfarvjfszc9rf7y9zsv3w82934xmvmzmsbiz86547ca"
    },
    "6.6": {
        "version": "6.6.8",
        "hash": "sha256:05i4ayj9wyjkd1s8ixx7bxwcyagqyx8rhj1zvbc3cjqyw4sc8djh"
+24 −1
Original line number Diff line number Diff line
#!/usr/bin/env nix-shell
#!nix-shell -i python3 -p "python3.withPackages (ps: [ ps.beautifulsoup4 ps.lxml ])"
#!nix-shell -i python3 -p "python3.withPackages (ps: [ ps.beautifulsoup4 ps.lxml ps.packaging ])"
import json
import os
import pathlib
@@ -10,6 +10,8 @@ from dataclasses import dataclass
from enum import Enum

from bs4 import BeautifulSoup, NavigableString, Tag
from packaging.version import parse as parse_version, Version
from typing import List

HERE = pathlib.Path(__file__).parent
ROOT = HERE.parent.parent.parent.parent
@@ -80,6 +82,18 @@ def get_hash(kernel: KernelRelease):
    return f"sha256:{hash}"


def get_oldest_branch() -> Version:
    with open(VERSIONS_FILE) as f:
        return parse_version(sorted(json.load(f).keys())[0])


def predates_oldest_branch(oldest: Version, to_compare: str) -> bool:
    if to_compare == "testing":
        return False

    return parse_version(to_compare) < oldest


def commit(message):
    return subprocess.check_call(["git", "commit", "-m", message, VERSIONS_FILE])

@@ -97,6 +111,8 @@ def main():
    parsed_releases = filter(None, [parse_release(release) for release in releases])
    all_kernels = json.load(VERSIONS_FILE.open())

    oldest_branch = get_oldest_branch()

    for kernel in parsed_releases:
        branch = get_branch(kernel.version)
        nixpkgs_branch = branch.replace(".", "_")
@@ -106,6 +122,13 @@ def main():
            print(f"linux_{nixpkgs_branch}: {kernel.version} is latest, skipping...")
            continue

        if predates_oldest_branch(oldest_branch, kernel.branch):
            print(
                f"{kernel.branch} is too old and not supported anymore, skipping...",
                file=sys.stderr
            )
            continue

        if old_version is None:
            message = f"linux_{nixpkgs_branch}: init at {kernel.version}"
        else: