Merge pull request #89820 from primeos/linux_5_7

linux_5_7: init at 5.7.1

Changed files
+48 -16
pkgs
os-specific
linux
kernel
top-level
+18
pkgs/os-specific/linux/kernel/linux-5.7.nix
···
+
{ stdenv, buildPackages, fetchurl, perl, buildLinux, modDirVersionArg ? null, ... } @ args:
+
+
with stdenv.lib;
+
+
buildLinux (args // rec {
+
version = "5.7.1";
+
+
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
+
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
+
+
# 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 = "1vcxrrb2i4366iciw0mfahwbdrzmhrrsr7gi4vdkzznfv2niils0";
+
};
+
} // (args.argsOverride or {}))
+30 -16
pkgs/top-level/all-packages.nix
···
+
linux_5_7 = callPackage ../os-specific/linux/kernel/linux-5.7.nix {
+
kernelPatches = [
+
kernelPatches.bridge_stp_helper
+
kernelPatches.request_key_helper
+
kernelPatches.export_kernel_fpu_functions."5.3"
+
];
+
};
+
linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
kernelPatches = [
kernelPatches.bridge_stp_helper
···
linux = linuxPackages.kernel;
# Update this when adding the newest kernel major version!
-
linuxPackages_latest = linuxPackages_5_6;
+
# And update linux_latest_for_hardened below if the patches are already available
+
linuxPackages_latest = linuxPackages_5_7;
linux_latest = linuxPackages_latest.kernel;
# Build the kernel modules for the some of the kernels.
···
linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19);
linuxPackages_5_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_4);
linuxPackages_5_6 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_6);
+
linuxPackages_5_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_7);
# When adding to this list:
# - Update linuxPackages_latest to the latest version
···
linuxPackages_latest_xen_dom0 = recurseIntoAttrs (linuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; }));
-
# Hardened linux
-
hardenedLinuxPackagesFor = kernel: linuxPackagesFor (kernel.override {
-
structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix {
-
inherit stdenv;
-
inherit (kernel) version;
-
};
-
kernelPatches = kernel.kernelPatches ++ [
-
kernelPatches.tag_hardened
-
kernelPatches.hardened.${kernel.meta.branch}
-
];
-
modDirVersionArg = kernel.modDirVersion + "-hardened";
+
# Hardened Linux
+
hardenedLinuxPackagesFor = kernel': overrides:
+
let # Note: We use this hack since the hardened patches can lag behind and we don't want to delay updates:
+
linux_latest_for_hardened = pkgs.linux_5_6; # TODO: Update to linux_latest
+
kernel = (if kernel' == pkgs.linux_latest then linux_latest_for_hardened else kernel').override overrides;
+
in linuxPackagesFor (kernel.override {
+
structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix {
+
inherit stdenv;
+
inherit (kernel) version;
+
};
+
kernelPatches = kernel.kernelPatches ++ [
+
kernelPatches.tag_hardened
+
kernelPatches.hardened.${kernel.meta.branch}
+
];
+
modDirVersionArg = kernel.modDirVersion + "-hardened";
});
-
linuxPackages_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux);
+
linuxPackages_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux { });
linux_hardened = linuxPackages_hardened.kernel;
-
linuxPackages_latest_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_latest);
+
linuxPackages_latest_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_latest { });
linux_latest_hardened = linuxPackages_latest_hardened.kernel;
-
linuxPackages_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor (pkgs.linux.override { features.xen_dom0=true; }));
+
linuxPackages_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux { features.xen_dom0=true; });
-
linuxPackages_latest_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; }));
+
linuxPackages_latest_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_latest { features.xen_dom0=true; });
# Hardkernel (Odroid) kernels.
linuxPackages_hardkernel_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_hardkernel_4_14);