From 4363d5a0f58fb6f1e46520e8435efe4620dfc7a4 Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 27 Jul 2024 17:50:21 +0300 Subject: [PATCH 01/10] linux/update-mainline: always pick the latest kernel on a branch Also clean up stringy version handling a bit --- .../linux/kernel/update-mainline.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/update-mainline.py b/pkgs/os-specific/linux/kernel/update-mainline.py index bf5001ee378a..79ac283faab6 100755 --- a/pkgs/os-specific/linux/kernel/update-mainline.py +++ b/pkgs/os-specific/linux/kernel/update-mainline.py @@ -1,5 +1,6 @@ #!/usr/bin/env nix-shell #!nix-shell -i python3 -p "python3.withPackages (ps: [ ps.beautifulsoup4 ps.lxml ps.packaging ])" +from itertools import groupby import json import os import pathlib @@ -11,7 +12,7 @@ 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 @@ -41,7 +42,7 @@ def parse_release(release: Tag) -> KernelRelease | None: except KeyError: return None - version = columns[1].get_text().rstrip(" [EOL]") + version = parse_version(columns[1].get_text().rstrip(" [EOL]")) date = columns[2].get_text() link = columns[3].find("a") if link is not None and isinstance(link, Tag): @@ -59,13 +60,12 @@ def parse_release(release: Tag) -> KernelRelease | None: ) -def get_branch(version: str): +def get_branch(version: Version): # This is a testing kernel. - if "rc" in version: + if version.is_prerelease: return "testing" else: - major, minor, *_ = version.split(".") - return f"{major}.{minor}" + return f"{version.major}.{version.minor}" def get_hash(kernel: KernelRelease): @@ -113,11 +113,11 @@ def main(): oldest_branch = get_oldest_branch() - for kernel in parsed_releases: - branch = get_branch(kernel.version) + for (branch, kernels) in groupby(parsed_releases, lambda kernel: get_branch(kernel.version)): + kernel = max(kernels, key=lambda kernel: kernel.version) nixpkgs_branch = branch.replace(".", "_") - old_version = all_kernels.get(branch, {}).get("version") + old_version = parse_version(all_kernels.get(branch, {}).get("version")) if old_version == kernel.version: print(f"linux_{nixpkgs_branch}: {kernel.version} is latest, skipping...") continue @@ -144,7 +144,7 @@ def main(): print(message, file=sys.stderr) all_kernels[branch] = { - "version": kernel.version, + "version": str(kernel.version), "hash": get_hash(kernel), } From bb712c9d21ab282adf644fff3fa3109263df528c Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 27 Jul 2024 17:55:12 +0300 Subject: [PATCH 02/10] linux_6_10: 6.10.1 -> 6.10.2 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index bc585f07c021..e18ed6884807 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -36,7 +36,7 @@ "hash": "sha256:1q8kyn9cxc1ykf3cvifmfqk2p2p4x53l7h704hh92gichgh89pyy" }, "6.10": { - "version": "6.10.1", - "hash": "sha256:0szpkhrwfqwj068vz032daf3zycv5c93gjxiisjziifi3kyrs43h" + "version": "6.10.2", + "hash": "sha256:0w4vsb0c8bp34j90l89qms50nx6r6mmyf23jbvyar9fbv46m5n3k" } } From a0213dc9eec14d96b00978d378b3a98370db1ac8 Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 27 Jul 2024 17:59:43 +0300 Subject: [PATCH 03/10] linux_6_9: 6.9.11 -> 6.9.12 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index e18ed6884807..1b741d4665cd 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -32,8 +32,8 @@ "hash": "sha256:0fb0m0fv4521g63gq04d7lm6hy8169s1rykiav5bkd99s9b1kcqr" }, "6.9": { - "version": "6.9.11", - "hash": "sha256:1q8kyn9cxc1ykf3cvifmfqk2p2p4x53l7h704hh92gichgh89pyy" + "version": "6.9.12", + "hash": "sha256:08ngskni7d9wi93vlwcmbdg7sb2jl1drhhzn62k9nsrg1r7crrss" }, "6.10": { "version": "6.10.2", From 09be196858c98e9c82602e509a0566ec64de292a Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 27 Jul 2024 18:02:00 +0300 Subject: [PATCH 04/10] linux_6_6: 6.6.42 -> 6.6.43 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 1b741d4665cd..3fbf40f939ee 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -24,8 +24,8 @@ "hash": "sha256:14vl0288apl76rvxa9yxfggrc4600bjsn4gw097m4gy5ldiaapqd" }, "6.6": { - "version": "6.6.42", - "hash": "sha256:10z6fjvpiv3l11rpsd6fgi7dr6a3d38c6zlp8ihffx6pjz1ch0c8" + "version": "6.6.43", + "hash": "sha256:0pha226h5011kl5r2iiddxi0rib3xraslmcdjjnil2kq38d3pn0a" }, "6.8": { "version": "6.8.12", From 4325dfa68b8557170437d409c458a52c1d70f03e Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 27 Jul 2024 18:05:31 +0300 Subject: [PATCH 05/10] linux_6_1: 6.1.101 -> 6.1.102 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 3fbf40f939ee..74593ce6b03a 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -4,8 +4,8 @@ "hash": "sha256:0i29ga9lzqd4zcsbr4bbb122i8nyfhcalihnq3bgsg04dwb36s19" }, "6.1": { - "version": "6.1.101", - "hash": "sha256:0k5kjb2n78dcfpqqj8n76fxqbmifs2gqd2z1g9had7s2d2m9yigi" + "version": "6.1.102", + "hash": "sha256:1v4p4i8pfg4i6v90dr7m65npkxjnqv3fxcj8zs3pbb8y84xzk98v" }, "5.15": { "version": "5.15.163", From 8001e344d5661995b9d7ad9d7e7e2c9902c0afc5 Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 27 Jul 2024 18:09:22 +0300 Subject: [PATCH 06/10] linux_5_15: 5.15.163 -> 5.15.164 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 74593ce6b03a..d8f589bd26b2 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -8,8 +8,8 @@ "hash": "sha256:1v4p4i8pfg4i6v90dr7m65npkxjnqv3fxcj8zs3pbb8y84xzk98v" }, "5.15": { - "version": "5.15.163", - "hash": "sha256:00mkipkhz0i5xld7kyaxcj8cj8faw4gmjl5fribg832nn7ccfpq2" + "version": "5.15.164", + "hash": "sha256:11linb9jzarr8wz0vim3g9gkhi5ldqm82bkpl5xs9f34xpx9hq7c" }, "5.10": { "version": "5.10.222", From 36936581908f32cda4cbe9b4f52b42238c20d2df Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 27 Jul 2024 18:10:27 +0300 Subject: [PATCH 07/10] linux_5_10: 5.10.222 -> 5.10.223 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index d8f589bd26b2..19d3e964fa6a 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -12,8 +12,8 @@ "hash": "sha256:11linb9jzarr8wz0vim3g9gkhi5ldqm82bkpl5xs9f34xpx9hq7c" }, "5.10": { - "version": "5.10.222", - "hash": "sha256:1jshn64g165rdshyjvq38ni6pkbskp50048pbz407fss7f00cbbv" + "version": "5.10.223", + "hash": "sha256:189b3yl4lsjzh6qpza0phj8hgsvnyh38cgrd70rnqw3rddmdh2fa" }, "5.4": { "version": "5.4.280", From 4ab6a7935deec4f6c37e44bf34ad4ffb4bf6dd01 Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 27 Jul 2024 18:10:30 +0300 Subject: [PATCH 08/10] linux_5_4: 5.4.280 -> 5.4.281 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 19d3e964fa6a..7a295d99a466 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -16,8 +16,8 @@ "hash": "sha256:189b3yl4lsjzh6qpza0phj8hgsvnyh38cgrd70rnqw3rddmdh2fa" }, "5.4": { - "version": "5.4.280", - "hash": "sha256:0hix0dywf2ybvzxkijjsjmkrj7sx61hwq6mg1wqsq317p1zccxm9" + "version": "5.4.281", + "hash": "sha256:1ckja83km101h2dwlp86xrnnlzdzvjly48iywhy53xric3kw7824" }, "4.19": { "version": "4.19.318", From db09f89018e38b432418b938d8dc534847256527 Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 27 Jul 2024 18:10:33 +0300 Subject: [PATCH 09/10] linux_4_19: 4.19.318 -> 4.19.319 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 7a295d99a466..3506d0937af8 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -20,8 +20,8 @@ "hash": "sha256:1ckja83km101h2dwlp86xrnnlzdzvjly48iywhy53xric3kw7824" }, "4.19": { - "version": "4.19.318", - "hash": "sha256:14vl0288apl76rvxa9yxfggrc4600bjsn4gw097m4gy5ldiaapqd" + "version": "4.19.319", + "hash": "sha256:0c7bhb31hpbbw1is1ykppk9lm0x025yyd4hrmlg1s6yg75rxqkal" }, "6.6": { "version": "6.6.43", From 1e5a635100917cd2cdafc2a932dd0b716beb7eaa Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 27 Jul 2024 18:10:51 +0300 Subject: [PATCH 10/10] linux-rt_5_15: 5.15.160-rt77 -> 5.15.163-rt78 --- pkgs/os-specific/linux/kernel/linux-rt-5.15.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix index 127d7e663513..070a5714ee83 100644 --- a/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix +++ b/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix @@ -6,7 +6,7 @@ , ... } @ args: let - version = "5.15.160-rt77"; # updated by ./update-rt.sh + version = "5.15.163-rt78"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; in buildLinux (args // { @@ -19,14 +19,14 @@ in buildLinux (args // { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; - sha256 = "018v19a7rhzc4szybzzn86jlnk42x7jm6xkadfd2d3xq6f7727pl"; + sha256 = "00mkipkhz0i5xld7kyaxcj8cj8faw4gmjl5fribg832nn7ccfpq2"; }; kernelPatches = let rt-patch = { name = "rt"; patch = fetchurl { url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "0id4m1k1xq84bxgnchm8r2iwfqw6nacv5n1ksgyzj6q6v66ik3wk"; + sha256 = "030aycnrcnjhylkqj0wrfi992v2l26v17rgvxl16514zpdjmiv1x"; }; }; in [ rt-patch ] ++ kernelPatches;