mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-10-02 21:10:08 +00:00
Merge release-23.05 into staging-next-23.05
This commit is contained in:
@@ -23,12 +23,12 @@ assert gpgmeSupport -> sslSupport;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mutt";
|
||||
version = "2.2.10";
|
||||
version = "2.2.12";
|
||||
outputs = [ "out" "doc" "info" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-TXc/IkIveQlve5S1e+5FZUrZolFl27NkY8WClbTNPYg=";
|
||||
hash = "sha256-BDrzEvZLjlb3/Qv3f4SiBdTEmAML2VhkV2ZcR7sYzjg=";
|
||||
};
|
||||
|
||||
patches = lib.optional smimeSupport (fetchpatch {
|
||||
@@ -100,6 +100,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "A small but very powerful text-based mail client";
|
||||
homepage = "http://www.mutt.org";
|
||||
mainProgram = "mutt";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ rnhmjoj ];
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "wasmtime";
|
||||
version = "10.0.1";
|
||||
version = "10.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bytecodealliance";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-UqjJVAmqITh7ixo71jfdQNZ5OLjmmmrk4b0saU2kyYo=";
|
||||
hash = "sha256-c9evMSNaY5vZ9NvuHuHoyi4o0nRtZ8G44XonAzYrBCk=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoHash = "sha256-fEDvxstvBP/e2G8KbTVQKdxafQXxz4mnqCAso16HYaY=";
|
||||
cargoHash = "sha256-fms77FmD+hmNF/Ta3CbPNXd+bTrTaVrDlsHEPNiPc1U=";
|
||||
|
||||
cargoBuildFlags = [ "--package" "wasmtime-cli" "--package" "wasmtime-c-api" ];
|
||||
|
||||
|
||||
@@ -966,6 +966,7 @@ let
|
||||
|
||||
X86_AMD_PLATFORM_DEVICE = yes;
|
||||
X86_PLATFORM_DRIVERS_DELL = whenAtLeast "5.12" yes;
|
||||
X86_PLATFORM_DRIVERS_HP = whenAtLeast "6.1" yes;
|
||||
|
||||
LIRC = mkMerge [ (whenOlder "4.16" module) (whenAtLeast "4.17" yes) ];
|
||||
|
||||
|
||||
38
pkgs/os-specific/linux/kernel/kernels-org.json
Normal file
38
pkgs/os-specific/linux/kernel/kernels-org.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"testing": {
|
||||
"version": "6.6-rc2",
|
||||
"hash": "sha256:1hbva5vsfi48h82ll4kmhzm5hxp7340bj2smwgvjikam26icaj54"
|
||||
},
|
||||
"6.5": {
|
||||
"version": "6.5.5",
|
||||
"hash": "sha256:15gg8sb6cfgk1afwj7fl7mj4nkj14w43vzwvw0qsg3nzyxwh7wcc"
|
||||
},
|
||||
"6.4": {
|
||||
"version": "6.4.16",
|
||||
"hash": "sha256:0zgj1z97jyx7wf12zrnlcp0mj4cl43ais9qsy6dh1jwylf2fq9ln"
|
||||
},
|
||||
"6.1": {
|
||||
"version": "6.1.55",
|
||||
"hash": "sha256:1h0mzx52q9pvdv7rhnvb8g68i7bnlc9rf8gy9qn4alsxq4g28zm8"
|
||||
},
|
||||
"5.15": {
|
||||
"version": "5.15.133",
|
||||
"hash": "sha256:1paxzzcagc7s8i491zjny43rxhfamafyly438kj8hyw96iwmx17g"
|
||||
},
|
||||
"5.10": {
|
||||
"version": "5.10.197",
|
||||
"hash": "sha256:1awkm7lln5gf6kld9z5h4mg39bd778jsdswwlwb7iv7bn03lafhq"
|
||||
},
|
||||
"5.4": {
|
||||
"version": "5.4.257",
|
||||
"hash": "sha256:1w1x91slzg9ggakqhyxnmvz77v2cwfk8bz0knrpgz9qya9q5jxrf"
|
||||
},
|
||||
"4.19": {
|
||||
"version": "4.19.295",
|
||||
"hash": "sha256:1b1qslpk1kka7nxam48s22xsqd9qmp716hmibgfsjxl5y3jc4cmp"
|
||||
},
|
||||
"4.14": {
|
||||
"version": "4.14.326",
|
||||
"hash": "sha256:0y0lvzidw775mgx211wnc1c6223iqv8amz5y9jkz9h7l3l7y8p2m"
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, ... } @ args:
|
||||
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.14.325";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = versions.pad 3 version;
|
||||
|
||||
# branchVersion needs to be x.y
|
||||
extraMeta.branch = versions.majorMinor version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "117p1mdha57f6d3kdwac9jrbmib7g77q4xhir8ghl6fmrs1f2sav";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
@@ -1,18 +0,0 @@
|
||||
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, ... } @ args:
|
||||
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.19.294";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = versions.pad 3 version;
|
||||
|
||||
# branchVersion needs to be x.y
|
||||
extraMeta.branch = versions.majorMinor version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "03x0xsb8a369zdr81hg6xdl5n5v48k6iwnhj6r29725777lvvbfc";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
@@ -1,18 +0,0 @@
|
||||
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, ... } @ args:
|
||||
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.10.195";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = versions.pad 3 version;
|
||||
|
||||
# branchVersion needs to be x.y
|
||||
extraMeta.branch = versions.majorMinor version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
||||
sha256 = "0n4vg2i9sq89wnz85arlyvwysh9s83cgzs5bk2wh98bivi5fwfs1";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
@@ -1,18 +0,0 @@
|
||||
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, ... } @ args:
|
||||
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.15.132";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = versions.pad 3 version;
|
||||
|
||||
# branchVersion needs to be x.y
|
||||
extraMeta.branch = versions.majorMinor version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
||||
sha256 = "1b0qjsaqjw2rk86shmmrj2aasblkn27acjmc761vnjg7sv2baxs1";
|
||||
};
|
||||
} // (args.argsOverride or { }))
|
||||
@@ -1,18 +0,0 @@
|
||||
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, ... } @ args:
|
||||
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.4.256";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = versions.pad 3 version;
|
||||
|
||||
# branchVersion needs to be x.y
|
||||
extraMeta.branch = versions.majorMinor version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
||||
sha256 = "0fim5q9xakwnjfg48bpsic9r2r8dvrjlalqqkm9vh1rml9mhi967";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
@@ -1,18 +0,0 @@
|
||||
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, ... } @ args:
|
||||
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "6.1.54";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = versions.pad 3 version;
|
||||
|
||||
# branchVersion needs to be x.y
|
||||
extraMeta.branch = versions.majorMinor version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
|
||||
sha256 = "09sfrq2l8f777mx2n9mhb6bgz1064bl04921byqnmk87si31w653";
|
||||
};
|
||||
} // (args.argsOverride or { }))
|
||||
@@ -1,18 +0,0 @@
|
||||
{ lib, fetchurl, buildLinux, ... } @ args:
|
||||
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "6.4.16";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = versions.pad 3 version;
|
||||
|
||||
# branchVersion needs to be x.y
|
||||
extraMeta.branch = versions.majorMinor version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
|
||||
sha256 = "0zgj1z97jyx7wf12zrnlcp0mj4cl43ais9qsy6dh1jwylf2fq9ln";
|
||||
};
|
||||
} // (args.argsOverride or { }))
|
||||
@@ -1,18 +0,0 @@
|
||||
{ lib, fetchurl, buildLinux, ... } @ args:
|
||||
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "6.5.4";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = versions.pad 3 version;
|
||||
|
||||
# branchVersion needs to be x.y
|
||||
extraMeta.branch = versions.majorMinor version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
|
||||
sha256 = "0s8nzd8yaq06bq8byk7aakbk95gh0rhlif26h1biw94v48anrxxx";
|
||||
};
|
||||
} // (args.argsOverride or { }))
|
||||
@@ -6,7 +6,7 @@
|
||||
, ... } @ args:
|
||||
|
||||
let
|
||||
version = "5.10.186-rt91"; # updated by ./update-rt.sh
|
||||
version = "5.10.180-rt89"; # updated by ./update-rt.sh
|
||||
branch = lib.versions.majorMinor version;
|
||||
kversion = builtins.elemAt (lib.splitString "-" version) 0;
|
||||
in buildLinux (args // {
|
||||
@@ -17,14 +17,14 @@ in buildLinux (args // {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
|
||||
sha256 = "1qqv91r13akgik1q4jybf8czskxxizk6lpv4rsvjn9sx2dm2jq0y";
|
||||
sha256 = "0a8cicvcyl5w4vi7gxhgd59ny44gj9cbv4z5pnwn9jgny55rm0ys";
|
||||
};
|
||||
|
||||
kernelPatches = let rt-patch = {
|
||||
name = "rt";
|
||||
patch = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
|
||||
sha256 = "1h5p0p3clq0gmaszvddmfll17adv02wfp2bfrd5x3aigvigwfmjb";
|
||||
sha256 = "00m6psnjam26x70f8wpssvjp6v49dyllp356fpfbhjqmj7y142bm";
|
||||
};
|
||||
}; in [ rt-patch ] ++ kernelPatches;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
, ... } @ args:
|
||||
|
||||
let
|
||||
version = "6.1.46-rt14"; # updated by ./update-rt.sh
|
||||
version = "6.1.54-rt15"; # updated by ./update-rt.sh
|
||||
branch = lib.versions.majorMinor version;
|
||||
kversion = builtins.elemAt (lib.splitString "-" version) 0;
|
||||
in buildLinux (args // {
|
||||
@@ -18,14 +18,14 @@ in buildLinux (args // {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
|
||||
sha256 = "15m228bllks2p8gpsmvplx08yxzp7bij9fnmnafqszylrk7ppxpm";
|
||||
sha256 = "09sfrq2l8f777mx2n9mhb6bgz1064bl04921byqnmk87si31w653";
|
||||
};
|
||||
|
||||
kernelPatches = let rt-patch = {
|
||||
name = "rt";
|
||||
patch = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
|
||||
sha256 = "0mrpsy175iz0b51hwgqbj15w83lm3m57il3gqwb489gln7mpzy17";
|
||||
sha256 = "0ihdid1ihg26kjini66j87vh4220gl8xm9dai7zignha2zh238kh";
|
||||
};
|
||||
}; in [ rt-patch ] ++ kernelPatches;
|
||||
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
{ lib, buildPackages, fetchzip, perl, buildLinux, nixosTests, ... } @ args:
|
||||
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "6.6-rc1";
|
||||
extraMeta.branch = lib.versions.majorMinor version;
|
||||
|
||||
# modDirVersion needs to be x.y.z, will always add .0
|
||||
modDirVersion = versions.pad 3 version;
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
|
||||
hash = "sha256-DRai7HhWVtRB0GiRCvCv2JM2TFKRsZ60ohD6GW0b8As=";
|
||||
};
|
||||
|
||||
# Should the testing kernels ever be built on Hydra?
|
||||
extraMeta.hydraPlatforms = [];
|
||||
|
||||
} // (args.argsOverride or {}))
|
||||
27
pkgs/os-specific/linux/kernel/mainline.nix
Normal file
27
pkgs/os-specific/linux/kernel/mainline.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
{ branch, lib, fetchurl, fetchzip, buildLinux, ... } @ args:
|
||||
|
||||
let
|
||||
allKernels = builtins.fromJSON (builtins.readFile ./kernels-org.json);
|
||||
thisKernel = allKernels.${branch};
|
||||
inherit (thisKernel) version;
|
||||
|
||||
src =
|
||||
# testing kernels are a special case because they don't have tarballs on the CDN
|
||||
if branch == "testing"
|
||||
then fetchzip {
|
||||
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
|
||||
inherit (thisKernel) hash;
|
||||
}
|
||||
else fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v${lib.versions.major version}.x/linux-${version}.tar.xz";
|
||||
inherit (thisKernel) hash;
|
||||
};
|
||||
|
||||
args' = (builtins.removeAttrs args ["branch"]) // {
|
||||
inherit src version;
|
||||
|
||||
modDirVersion = lib.versions.pad 3 version;
|
||||
extraMeta.branch = branch;
|
||||
} // (args.argsOverride or {});
|
||||
in
|
||||
buildLinux args'
|
||||
130
pkgs/os-specific/linux/kernel/update-mainline.py
Executable file
130
pkgs/os-specific/linux/kernel/update-mainline.py
Executable file
@@ -0,0 +1,130 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i python3 -p "python3.withPackages (ps: [ ps.beautifulsoup4 ps.lxml ])"
|
||||
import json
|
||||
import os
|
||||
import pathlib
|
||||
import subprocess
|
||||
import sys
|
||||
import urllib.request
|
||||
from dataclasses import dataclass
|
||||
from enum import Enum
|
||||
|
||||
from bs4 import BeautifulSoup, NavigableString, Tag
|
||||
|
||||
HERE = pathlib.Path(__file__).parent
|
||||
ROOT = HERE.parent.parent.parent.parent
|
||||
VERSIONS_FILE = HERE / "kernels-org.json"
|
||||
|
||||
|
||||
class KernelNature(Enum):
|
||||
MAINLINE = 1
|
||||
STABLE = 2
|
||||
LONGTERM = 3
|
||||
|
||||
|
||||
@dataclass
|
||||
class KernelRelease:
|
||||
nature: KernelNature
|
||||
version: str
|
||||
branch: str
|
||||
date: str
|
||||
link: str
|
||||
eol: bool = False
|
||||
|
||||
|
||||
def parse_release(release: Tag) -> KernelRelease | None:
|
||||
columns: list[Tag] = list(release.find_all("td"))
|
||||
try:
|
||||
nature = KernelNature[columns[0].get_text().rstrip(":").upper()]
|
||||
except KeyError:
|
||||
return None
|
||||
|
||||
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):
|
||||
link = link.attrs.get("href")
|
||||
assert link is not None, f"link for kernel {version} is non-existent"
|
||||
eol = bool(release.find(class_="eolkernel"))
|
||||
|
||||
return KernelRelease(
|
||||
nature=nature,
|
||||
branch=get_branch(version),
|
||||
version=version,
|
||||
date=date,
|
||||
link=link,
|
||||
eol=eol,
|
||||
)
|
||||
|
||||
|
||||
def get_branch(version: str):
|
||||
# This is a testing kernel.
|
||||
if "rc" in version:
|
||||
return "testing"
|
||||
else:
|
||||
major, minor, *_ = version.split(".")
|
||||
return f"{major}.{minor}"
|
||||
|
||||
|
||||
def get_hash(kernel: KernelRelease):
|
||||
if kernel.branch == "testing":
|
||||
args = ["--unpack"]
|
||||
else:
|
||||
args = []
|
||||
|
||||
hash = (
|
||||
subprocess.check_output(["nix-prefetch-url", kernel.link] + args)
|
||||
.decode()
|
||||
.strip()
|
||||
)
|
||||
return f"sha256:{hash}"
|
||||
|
||||
|
||||
def commit(message):
|
||||
return subprocess.check_call(["git", "commit", "-m", message, VERSIONS_FILE])
|
||||
|
||||
|
||||
def main():
|
||||
kernel_org = urllib.request.urlopen("https://kernel.org/")
|
||||
soup = BeautifulSoup(kernel_org.read().decode(), "lxml")
|
||||
release_table = soup.find(id="releases")
|
||||
if not release_table or isinstance(release_table, NavigableString):
|
||||
print(release_table)
|
||||
print("Failed to find the release table on https://kernel.org")
|
||||
sys.exit(1)
|
||||
|
||||
releases = release_table.find_all("tr")
|
||||
parsed_releases = filter(None, [parse_release(release) for release in releases])
|
||||
all_kernels = json.load(VERSIONS_FILE.open())
|
||||
|
||||
for kernel in parsed_releases:
|
||||
branch = get_branch(kernel.version)
|
||||
nixpkgs_branch = branch.replace(".", "_")
|
||||
|
||||
old_version = all_kernels.get(branch, {}).get("version")
|
||||
if old_version == kernel.version:
|
||||
print(f"linux_{nixpkgs_branch}: {kernel.version} is latest, skipping...")
|
||||
continue
|
||||
|
||||
if old_version is None:
|
||||
message = f"linux_{nixpkgs_branch}: init at {kernel.version}"
|
||||
else:
|
||||
message = f"linux_{nixpkgs_branch}: {old_version} -> {kernel.version}"
|
||||
|
||||
print(message)
|
||||
|
||||
all_kernels[branch] = {
|
||||
"version": kernel.version,
|
||||
"hash": get_hash(kernel),
|
||||
}
|
||||
|
||||
with VERSIONS_FILE.open("w") as fd:
|
||||
json.dump(all_kernels, fd, indent=4)
|
||||
fd.write("\n") # makes editorconfig happy
|
||||
|
||||
if os.environ.get("COMMIT") == "1":
|
||||
commit(message)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -1,72 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
cd "$(dirname "$(readlink -f "$0")")" || exit
|
||||
|
||||
# Get the latest versions from kernel.org
|
||||
LINUXSED='s/.*linux-\([0-9]\+\(.[0-9]\+\)*\).*/\1/p'
|
||||
KDATA="$(curl -s https://www.kernel.org | sed -n -e '/Download complete/p')"
|
||||
VERSIONS=($(sed -n -e $LINUXSED <<< "$KDATA" | sort -Vr))
|
||||
echo "Update linux (mainline)"
|
||||
COMMIT=1 ./update-mainline.py || echo "update-mainline failed with exit code $?"
|
||||
|
||||
# Remove mainline version if there is a stable update
|
||||
# Note due to sorting these two will always exist at the bottom
|
||||
if grep -q "^${VERSIONS[1]}" <<< "${VERSIONS[0]}"; then
|
||||
VERSIONS=(${VERSIONS[@]:0:1} ${VERSIONS[@]:2})
|
||||
fi
|
||||
echo "Update linux-rt"
|
||||
COMMIT=1 ./update-rt.sh || echo "update-rt failed with exit code $?"
|
||||
|
||||
# Inspect each file and see if it has the latest version
|
||||
NIXPKGS="$(git rev-parse --show-toplevel)"
|
||||
ls $NIXPKGS/pkgs/os-specific/linux/kernel | while read FILE; do
|
||||
KERNEL="$(sed -n -e $LINUXSED <<< "$FILE")"
|
||||
[ -z "$KERNEL" ] && continue
|
||||
echo "Update linux-libre"
|
||||
COMMIT=1 ./update-libre.sh || echo "update-libre failed with exit code $?"
|
||||
|
||||
# Find the matching new kernel version
|
||||
MATCHING=""
|
||||
for V in "${VERSIONS[@]}"; do
|
||||
if grep -q "^$KERNEL" <<< "$V"; then
|
||||
MATCHING="$V"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -z "$MATCHING" ]; then
|
||||
echo "Out-of-support $KERNEL"
|
||||
continue
|
||||
fi
|
||||
|
||||
# Inspect the nix expression to check for changes
|
||||
DATA="$(<$NIXPKGS/pkgs/os-specific/linux/kernel/$FILE)"
|
||||
URL="$(sed -n -e 's/.*url = "\(.*\)";.*/\1/p' <<< "$DATA" | sed -e "s/\${version}/$MATCHING/g")"
|
||||
OLDVER=$(sed -n -e 's/.*version = "\(.*\)".*/\1/p' <<< "$DATA")
|
||||
if [ "$OLDVER" = "$V" ]; then
|
||||
echo "No updates for $KERNEL"
|
||||
continue
|
||||
fi
|
||||
|
||||
# Download the new file for the hash
|
||||
if ! HASH="$(nix-prefetch-url $URL 2>/dev/null)"; then
|
||||
echo "Failed to get hash of $URL"
|
||||
continue
|
||||
fi
|
||||
sed -i -e "s/sha256 = \".*\"/sha256 = \"$HASH\"/g" $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
|
||||
|
||||
# Rewrite the expression
|
||||
sed -i -e '/version = /d' $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
|
||||
sed -i -e "\#buildLinux (args // rec {#a \ version = \"$V\";" $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
|
||||
|
||||
# Commit the changes
|
||||
git add -u $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
|
||||
git commit -m "linux: $OLDVER -> $V" >/dev/null 2>&1
|
||||
|
||||
echo "Updated $OLDVER -> $V"
|
||||
done
|
||||
|
||||
# Allowing errors again: one broken update script shouldn't inhibit the
|
||||
# update of other kernel variants.
|
||||
set +e
|
||||
|
||||
echo Update linux-rt
|
||||
COMMIT=1 $NIXPKGS/pkgs/os-specific/linux/kernel/update-rt.sh || echo "update-rt failed with exit code $?"
|
||||
|
||||
echo Update linux-libre
|
||||
COMMIT=1 $NIXPKGS/pkgs/os-specific/linux/kernel/update-libre.sh || echo "update-libre failed with exit code $?"
|
||||
|
||||
echo Update linux-hardened
|
||||
COMMIT=1 $NIXPKGS/pkgs/os-specific/linux/kernel/hardened/update.py || echo "update-hardened failed with exit code $?"
|
||||
echo "Update linux-hardened"
|
||||
COMMIT=1 ./hardened/update.py || echo "update-hardened failed with exit code $?"
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "routinator";
|
||||
version = "0.12.1";
|
||||
version = "0.12.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NLnetLabs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-QH4M6Kr6UiDJAaDtEn2GXQT9oSSz3lqkf+VE0GfOqeg=";
|
||||
hash = "sha256-fblUr2gtlGMRAFbpWYDafskLmIls56e9b2GFD7ASZHM=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-lzw26aat+Zk0E70H7/xwZ6azRMkknfQmTrE4wOJRwfo=";
|
||||
cargoHash = "sha256-pvb/tZW4jqNSLgp+Ktakd3J1KVfCRtPgE0bgNst6ImQ=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ Security ];
|
||||
|
||||
|
||||
@@ -26,10 +26,13 @@ let
|
||||
export NIX_STATE_DIR=$TEST_ROOT/var/nix
|
||||
export NIX_STORE_DIR=$TEST_ROOT/store
|
||||
|
||||
# cargo tests run in parallel by default, which would then run into
|
||||
# https://github.com/NixOS/nix/issues/2706 unless the store is initialised first
|
||||
# Ensure that even if tests run in parallel, we don't get an error
|
||||
# We'd run into https://github.com/NixOS/nix/issues/2706 unless the store is initialised first
|
||||
nix-store --init
|
||||
'';
|
||||
# The tests use the shared environment variables,
|
||||
# so we cannot run them in parallel
|
||||
dontUseCargoParallelTests = true;
|
||||
postCheck = ''
|
||||
cargo fmt --check
|
||||
cargo clippy -- -D warnings
|
||||
|
||||
@@ -96,7 +96,8 @@ in {
|
||||
rpiVersion = 4;
|
||||
};
|
||||
|
||||
linux_4_14 = callPackage ../os-specific/linux/kernel/linux-4.14.nix {
|
||||
linux_4_14 = callPackage ../os-specific/linux/kernel/mainline.nix {
|
||||
branch = "4.14";
|
||||
kernelPatches =
|
||||
[ kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper
|
||||
@@ -107,7 +108,8 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
linux_4_19 = callPackage ../os-specific/linux/kernel/linux-4.19.nix {
|
||||
linux_4_19 = callPackage ../os-specific/linux/kernel/mainline.nix {
|
||||
branch = "4.19";
|
||||
kernelPatches =
|
||||
[ kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper
|
||||
@@ -115,7 +117,8 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
linux_5_4 = callPackage ../os-specific/linux/kernel/linux-5.4.nix {
|
||||
linux_5_4 = callPackage ../os-specific/linux/kernel/mainline.nix {
|
||||
branch = "5.4";
|
||||
kernelPatches = [
|
||||
kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper
|
||||
@@ -130,7 +133,8 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
linux_5_10 = callPackage ../os-specific/linux/kernel/linux-5.10.nix {
|
||||
linux_5_10 = callPackage ../os-specific/linux/kernel/mainline.nix {
|
||||
branch = "5.10";
|
||||
kernelPatches = [
|
||||
kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper
|
||||
@@ -145,7 +149,8 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
linux_5_15 = callPackage ../os-specific/linux/kernel/linux-5.15.nix {
|
||||
linux_5_15 = callPackage ../os-specific/linux/kernel/mainline.nix {
|
||||
branch = "5.15";
|
||||
kernelPatches = [
|
||||
kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper
|
||||
@@ -160,7 +165,8 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
linux_6_1 = callPackage ../os-specific/linux/kernel/linux-6.1.nix {
|
||||
linux_6_1 = callPackage ../os-specific/linux/kernel/mainline.nix {
|
||||
branch = "6.1";
|
||||
kernelPatches = [
|
||||
kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper
|
||||
@@ -177,7 +183,8 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
linux_6_4 = callPackage ../os-specific/linux/kernel/linux-6.4.nix {
|
||||
linux_6_4 = callPackage ../os-specific/linux/kernel/mainline.nix {
|
||||
branch = "6.4";
|
||||
kernelPatches = [
|
||||
kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper
|
||||
@@ -185,7 +192,8 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
linux_6_5 = callPackage ../os-specific/linux/kernel/linux-6.5.nix {
|
||||
linux_6_5 = callPackage ../os-specific/linux/kernel/mainline.nix {
|
||||
branch = "6.5";
|
||||
kernelPatches = [
|
||||
kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper
|
||||
@@ -194,7 +202,10 @@ in {
|
||||
};
|
||||
|
||||
linux_testing = let
|
||||
testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
|
||||
testing = callPackage ../os-specific/linux/kernel/mainline.nix {
|
||||
# A special branch that tracks the kernel under the release process
|
||||
# i.e. which has at least a public rc1 and is not released yet.
|
||||
branch = "testing";
|
||||
kernelPatches = [
|
||||
kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper
|
||||
|
||||
Reference in New Issue
Block a user