From 4312cd74f13574cbe6a13c33064482964e4c5853 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 7 Jan 2021 14:39:27 -0500 Subject: linux-hardened: Track extra version Fixes #108707 --- pkgs/os-specific/linux/kernel/hardened/update.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'pkgs/os-specific/linux/kernel/hardened/update.py') diff --git a/pkgs/os-specific/linux/kernel/hardened/update.py b/pkgs/os-specific/linux/kernel/hardened/update.py index d6443d2e751..b831c649109 100755 --- a/pkgs/os-specific/linux/kernel/hardened/update.py +++ b/pkgs/os-specific/linux/kernel/hardened/update.py @@ -31,7 +31,7 @@ VersionComponent = Union[int, str] Version = List[VersionComponent] -Patch = TypedDict("Patch", {"name": str, "url": str, "sha256": str}) +Patch = TypedDict("Patch", {"name": str, "url": str, "sha256": str, "extra": str}) @dataclass @@ -99,7 +99,10 @@ def verify_openpgp_signature( return False -def fetch_patch(*, name: str, release: GitRelease) -> Optional[Patch]: +def fetch_patch(*, name: str, release_info: ReleaseInfo) -> Optional[Patch]: + release = release_info.release + extra = f'.{release_info.version[-1]}' + def find_asset(filename: str) -> str: try: it: Iterator[str] = ( @@ -130,7 +133,7 @@ def fetch_patch(*, name: str, release: GitRelease) -> Optional[Patch]: if not sig_ok: return None - return Patch(name=patch_filename, url=patch_url, sha256=sha256) + return Patch(name=patch_filename, url=patch_url, sha256=sha256, extra=extra) def parse_version(version_str: str) -> Version: @@ -252,7 +255,7 @@ for kernel_key in sorted(releases.keys()): update = True if update: - patch = fetch_patch(name=name, release=release) + patch = fetch_patch(name=name, release_info=release_info) if patch is None: failures = True else: -- cgit 1.4.1 From e80850fe42c61d915162403a32cf20601ba61034 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Sun, 24 Jan 2021 13:02:00 -0500 Subject: linux-hardened: Fix update script --- pkgs/os-specific/linux/kernel/hardened/update.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'pkgs/os-specific/linux/kernel/hardened/update.py') diff --git a/pkgs/os-specific/linux/kernel/hardened/update.py b/pkgs/os-specific/linux/kernel/hardened/update.py index b831c649109..e96ac9ca855 100755 --- a/pkgs/os-specific/linux/kernel/hardened/update.py +++ b/pkgs/os-specific/linux/kernel/hardened/update.py @@ -101,7 +101,7 @@ def verify_openpgp_signature( def fetch_patch(*, name: str, release_info: ReleaseInfo) -> Optional[Patch]: release = release_info.release - extra = f'.{release_info.version[-1]}' + extra = f'-{release_info.version[-1]}' def find_asset(filename: str) -> str: try: @@ -138,7 +138,7 @@ def fetch_patch(*, name: str, release_info: ReleaseInfo) -> Optional[Patch]: def parse_version(version_str: str) -> Version: version: Version = [] - for component in version_str.split("."): + for component in re.split('\.|\-', version_str): try: version.append(int(component)) except ValueError: @@ -208,7 +208,7 @@ failures = False releases = {} for release in repo.get_releases(): version = parse_version(release.tag_name) - # needs to look like e.g. 5.6.3.a + # needs to look like e.g. 5.6.3-hardened1 if len(version) < 4: continue -- cgit 1.4.1