diff options
linux: more update-script cleanups/fixes
- special case linux-testing fetching - use hash instead of sha256 everywhere - respect COMMIT envvar This causes rebuilds, so should go in with the next bump probably.
Diffstat (limited to 'pkgs/os-specific/linux/kernel/mainline.nix')
-rw-r--r-- | pkgs/os-specific/linux/kernel/mainline.nix | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/pkgs/os-specific/linux/kernel/mainline.nix b/pkgs/os-specific/linux/kernel/mainline.nix index 50053e620e4..4e1d5b8a9e8 100644 --- a/pkgs/os-specific/linux/kernel/mainline.nix +++ b/pkgs/os-specific/linux/kernel/mainline.nix @@ -1,18 +1,27 @@ -{ branch, lib, fetchurl, buildLinux, ... } @ args: +{ 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; - args' = (builtins.removeAttrs args ["branch"]) // rec { - inherit (thisKernel) version; modDirVersion = lib.versions.pad 3 version; extraMeta.branch = branch; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v${lib.versions.major version}.x/linux-${version}.tar.xz"; - sha256 = thisKernel.hash; - }; } // (args.argsOverride or {}); in buildLinux args' |