From cb1b1cf9c69ed49c617747fd8a168a8933fbe4ce Mon Sep 17 00:00:00 2001 From: hyperfekt Date: Thu, 20 May 2021 03:05:19 +0200 Subject: [PATCH 1/2] linux_testing_bcachefs: 5.9.0-2020.11.20 -> 5.13-2021-07-08 Changes the package to apply a patchset to the appropriate minor kernel instead of using its initial release, which means it will benefit from revision updates. --- .../linux/kernel/linux-testing-bcachefs.nix | 49 +++++++++++-------- pkgs/top-level/all-packages.nix | 8 ++- 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix index 619bf48b736..7a79003add5 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix @@ -1,24 +1,33 @@ -{ lib, buildPackages, fetchFromGitHub, fetchpatch, perl, buildLinux, ... } @ args: +{ lib +, fetchpatch +, kernel +, date ? "2021-07-08" +, commit ? "3693b2ca83ff9eda49660b31299d2bebe3a1075f" +, diffHash ? "1sfq3vwc2kxa761s292f2cqrm0vvqvkdx6drpyn5yaxwnapwidcw" +, kernelPatches # must always be defined in bcachefs' all-packages.nix entry because it's also a top-level attribute supplied by callPackage +, argsOverride ? {} +, ... +} @ args: -buildLinux (args // { - version = "5.9.0-2020.11.20"; - modDirVersion = "5.9.0"; +kernel.override ( args // { - src = fetchFromGitHub { - owner = "koverstreet"; - repo = "bcachefs"; - # commit does not exist on any branch on the target repository - rev = "6a505b63ed3003faf5000f19fd08bbd477d93fbc"; - sha256 = "1rf34gzv9npafp1c3i6lymk3b0gnqp4rb0wl33pw6yrpgnsry3cc"; - }; + argsOverride = { + version = "${kernel.version}-bcachefs-unstable-${date}"; + extraMeta = { + branch = "master"; + maintainers = with lib.maintainers; [ davidak chiiruno ]; + platforms = [ "x86_64-linux" ]; + }; + } // argsOverride; - extraConfig = "BCACHEFS_FS m"; + kernelPatches = [ { + name = "bcachefs-${commit}"; + patch = fetchpatch { + name = "bcachefs-${commit}.diff"; + url = "https://evilpiepirate.org/git/bcachefs.git/rawdiff/?id=${commit}&id2=v${lib.versions.major kernel.version}.${lib.versions.minor kernel.version}"; + sha256 = diffHash; + }; + extraConfig = "BCACHEFS_FS m"; + } ] ++ kernelPatches; - extraMeta = { - branch = "master"; - hydraPlatforms = []; # Should the testing kernels ever be built on Hydra? - maintainers = with lib.maintainers; [ davidak chiiruno ]; - platforms = [ "x86_64-linux" ]; - }; - -} // (args.argsOverride or {})) +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 786dd4e0dc2..516800c7910 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20846,11 +20846,9 @@ in ]; }; - linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix { - kernelPatches = - [ kernelPatches.bridge_stp_helper - kernelPatches.request_key_helper - ]; + linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix rec { + kernel = linux_5_13; + kernelPatches = kernel.kernelPatches; }; linux_hardkernel_4_14 = callPackage ../os-specific/linux/kernel/linux-hardkernel-4.14.nix { From 12cee96e74b0021a3bc25a7d9531ea6576b1f6c3 Mon Sep 17 00:00:00 2001 From: hyperfekt Date: Thu, 20 May 2021 03:12:17 +0200 Subject: [PATCH 2/2] bcachefs-tools: 2020-11-17 -> 2021-07-08 --- .../linux/kernel/linux-testing-bcachefs.nix | 2 +- .../filesystems/bcachefs-tools/default.nix | 36 +++++++++++++------ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix index 7a79003add5..a12633eb6d7 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix @@ -24,7 +24,7 @@ kernel.override ( args // { name = "bcachefs-${commit}"; patch = fetchpatch { name = "bcachefs-${commit}.diff"; - url = "https://evilpiepirate.org/git/bcachefs.git/rawdiff/?id=${commit}&id2=v${lib.versions.major kernel.version}.${lib.versions.minor kernel.version}"; + url = "https://evilpiepirate.org/git/bcachefs.git/rawdiff/?id=${commit}&id2=v${lib.versions.majorMinor kernel.version}"; sha256 = diffHash; }; extraConfig = "BCACHEFS_FS m"; diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix index a28499f7732..be7a42e19e9 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/default.nix +++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix @@ -1,18 +1,34 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, attr, libuuid, libscrypt, libsodium, keyutils -, liburcu, zlib, libaio, udev, zstd, lz4, valgrind, python3Packages, nixosTests -, fuseSupport ? false, fuse3 ? null }: - -assert fuseSupport -> fuse3 != null; +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, docutils +, libuuid +, libscrypt +, libsodium +, keyutils +, liburcu +, zlib +, libaio +, zstd +, lz4 +, python3Packages +, udev +, valgrind +, nixosTests +, fuse3 +, fuseSupport ? false +}: stdenv.mkDerivation { pname = "bcachefs-tools"; - version = "2020-11-17"; + version = "unstable-2021-07-08"; src = fetchFromGitHub { owner = "koverstreet"; repo = "bcachefs-tools"; - rev = "41bec63b265a38dd9fa168b6042ea5bf07135048"; - sha256 = "1y3187kpw1bmnl97isv28k2sw8cmrnsn31a0dw745adwm0n7z6fj"; + rev = "050d5f7bcf08bd02f5077a1c5559f352fa449e1e"; + sha256 = "15bl9ni0ckmvs5d7hi6v26z690rrmkb7dx00skn6gwq87ffz3imw"; }; postPatch = '' @@ -22,7 +38,7 @@ stdenv.mkDerivation { "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools" ''; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config docutils ]; buildInputs = [ libuuid libscrypt libsodium keyutils liburcu zlib libaio @@ -48,6 +64,6 @@ stdenv.mkDerivation { homepage = "https://bcachefs.org/"; license = licenses.gpl2; maintainers = with maintainers; [ davidak chiiruno ]; - platforms = platforms.linux; + platforms = [ "x86_64-linux" ]; # does not build on aarch64, see https://github.com/koverstreet/bcachefs-tools/issues/39 }; }