From 8772aa52b6fa40c73463bdd269f73325f37cb567 Mon Sep 17 00:00:00 2001 From: Madoura Date: Sat, 18 Nov 2023 16:31:37 -0600 Subject: [PATCH 1/5] Revert "treewide: add bcachefsLinuxTesting and bcachefsLinuxTesting tests" This reverts commit c2450c45150d3a3f56f27f1d46e75e8a041f1842. No longer needed as the default is 'linuxPackages_testing' --- nixos/tests/installer.nix | 62 ------------------- .../filesystems/bcachefs-tools/default.nix | 8 +-- 2 files changed, 1 insertion(+), 69 deletions(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index f7fc168eba8c..17b6aeca1b43 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -1202,68 +1202,6 @@ in { ''; }; - bcachefsLinuxTesting = makeInstallerTest "bcachefs-linux-testing" { - extraInstallerConfig = { - imports = [ no-zfs-module ]; - - boot = { - supportedFilesystems = [ "bcachefs" ]; - kernelPackages = pkgs.linuxPackages_testing; - }; - }; - - extraConfig = '' - boot.kernelPackages = pkgs.linuxPackages_testing; - ''; - - createPartitions = '' - machine.succeed( - "flock /dev/vda parted --script /dev/vda -- mklabel msdos" - + " mkpart primary ext2 1M 100MB" # /boot - + " mkpart primary linux-swap 100M 1024M" # swap - + " mkpart primary 1024M -1s", # / - "udevadm settle", - "mkswap /dev/vda2 -L swap", - "swapon -L swap", - "mkfs.bcachefs -L root /dev/vda3", - "mount -t bcachefs /dev/vda3 /mnt", - "mkfs.ext3 -L boot /dev/vda1", - "mkdir -p /mnt/boot", - "mount /dev/vda1 /mnt/boot", - ) - ''; - }; - - bcachefsUpgradeToLinuxTesting = makeInstallerTest "bcachefs-upgrade-to-linux-testing" { - extraInstallerConfig = { - imports = [ no-zfs-module ]; - boot.supportedFilesystems = [ "bcachefs" ]; - # We don't have network access in the VM, we need this for `nixos-install` - system.extraDependencies = [ pkgs.linux_testing ]; - }; - - extraConfig = '' - boot.kernelPackages = pkgs.linuxPackages_testing; - ''; - - createPartitions = '' - machine.succeed( - "flock /dev/vda parted --script /dev/vda -- mklabel msdos" - + " mkpart primary ext2 1M 100MB" # /boot - + " mkpart primary linux-swap 100M 1024M" # swap - + " mkpart primary 1024M -1s", # / - "udevadm settle", - "mkswap /dev/vda2 -L swap", - "swapon -L swap", - "mkfs.bcachefs -L root /dev/vda3", - "mount -t bcachefs /dev/vda3 /mnt", - "mkfs.ext3 -L boot /dev/vda1", - "mkdir -p /mnt/boot", - "mount /dev/vda1 /mnt/boot", - ) - ''; - }; - # Test using labels to identify volumes in grub simpleLabels = makeInstallerTest "simpleLabels" { createPartitions = '' diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix index f6e1cb2e0b11..918f0bd841d7 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/default.nix +++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix @@ -81,13 +81,7 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = { smoke-test = nixosTests.bcachefs; - - inherit (nixosTests.installer) - bcachefsSimple - bcachefsEncrypted - bcachefsMulti - bcachefsLinuxTesting - bcachefsUpgradeToLinuxTesting; + inherit (nixosTests.installer) bcachefsSimple bcachefsEncrypted bcachefsMulti; }; updateScript = writeScript "update-bcachefs-tools-and-cargo-lock.sh" '' From 10207ea9198edb55d8feb4cd491c2f2fbb5c3984 Mon Sep 17 00:00:00 2001 From: Madoura Date: Sat, 18 Nov 2023 16:47:02 -0600 Subject: [PATCH 2/5] linux_testing_bcachefs: fully deprecate in favor of 'linux_testing' Follow-up to https://github.com/NixOS/nixpkgs/pull/267640 for 23.11 post-release --- nixos/modules/tasks/filesystems/bcachefs.nix | 9 +--- .../linux/kernel/linux-testing-bcachefs.nix | 46 ------------------- pkgs/top-level/aliases.nix | 4 ++ pkgs/top-level/all-packages.nix | 4 -- pkgs/top-level/linux-kernels.nix | 9 ---- 5 files changed, 5 insertions(+), 67 deletions(-) delete mode 100644 pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix diff --git a/nixos/modules/tasks/filesystems/bcachefs.nix b/nixos/modules/tasks/filesystems/bcachefs.nix index 639ff87841b6..a9134b79b4a6 100644 --- a/nixos/modules/tasks/filesystems/bcachefs.nix +++ b/nixos/modules/tasks/filesystems/bcachefs.nix @@ -122,15 +122,8 @@ in inherit assertions; # needed for systemd-remount-fs system.fsPackages = [ pkgs.bcachefs-tools ]; - - # FIXME: Replace this with `linuxPackages_testing` after NixOS 23.11 is released # FIXME: Replace this with `linuxPackages_latest` when 6.7 is released, remove this line when the LTS version is at least 6.7 - boot.kernelPackages = lib.mkDefault ( - # FIXME: Remove warning after NixOS 23.11 is released - lib.warn "Please upgrade to Linux 6.7-rc1 or later: 'linuxPackages_testing_bcachefs' is deprecated. Use 'boot.kernelPackages = pkgs.linuxPackages_testing;' to silence this warning" - pkgs.linuxPackages_testing_bcachefs - ); - + boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_testing; systemd.services = lib.mapAttrs' (mkUnits "") (lib.filterAttrs (n: fs: (fs.fsType == "bcachefs") && (!utils.fsNeededForBoot fs)) config.fileSystems); } diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix deleted file mode 100644 index 777f942c04e2..000000000000 --- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ lib -, stdenv -, fetchpatch -, kernel -, commitDate ? "2023-06-28" -# bcachefs-tools stores the expected-revision in: -# https://evilpiepirate.org/git/bcachefs-tools.git/tree/.bcachefs_revision -# but this does not means that it'll be the latest-compatible revision -, currentCommit ? "4d2faeb4fb58c389dc9f76b8d5ae991ef4497e04" -, diffHash ? "sha256-DtMc8P4lTRzvS6PVvD7WtWEPsfnxIXSpqMsKKWs+edI=" -, kernelPatches # must always be defined in bcachefs' all-packages.nix entry because it's also a top-level attribute supplied by callPackage -, argsOverride ? {} -, ... -} @ args: -# NOTE: bcachefs-tools should be updated simultaneously to preserve compatibility -(kernel.override ( args // { - - argsOverride = { - version = "${kernel.version}-bcachefs-unstable-${commitDate}"; - modDirVersion = kernel.modDirVersion; - - extraMeta = { - homepage = "https://bcachefs.org/"; - branch = "master"; - maintainers = with lib.maintainers; [ davidak Madouura raitobezarius YellowOnion ]; - }; - } // argsOverride; - - structuredExtraConfig = with lib.kernel; { - BCACHEFS_FS = module; - BCACHEFS_QUOTA = option yes; - BCACHEFS_POSIX_ACL = option yes; - # useful for bug reports - FTRACE = option yes; - }; - - kernelPatches = [ { - name = "bcachefs-${currentCommit}"; - - patch = fetchpatch { - name = "bcachefs-${currentCommit}.diff"; - url = "https://evilpiepirate.org/git/bcachefs.git/rawdiff/?id=${currentCommit}&id2=v${lib.versions.majorMinor kernel.version}"; - sha256 = diffHash; - }; - } ] ++ kernelPatches; -})) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index a0124b0089c3..d7ec4a36d8e2 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -562,6 +562,10 @@ mapAliases ({ ''; linux_latest_hardened = linuxPackages_latest_hardened; + # Added 2023-11-18 + linuxPackages_testing_bcachefs = throw "'linuxPackages_testing_bcachefs' has been removed, please use 'linuxPackages_testing', or any other linux kernel with bcachefs support"; + linux_testing_bcachefs = throw "'linux_testing_bcachefs' has been removed, please use 'linux_testing', or any other linux kernel with bcachefs support"; + lld_7 = throw "lld_7 has been removed from nixpkgs"; # Added 2023-11-19 lldb_7 = throw "lldb_7 has been removed from nixpkgs"; # Added 2023-11-19 llvmPackages_7 = throw "llvmPackages_7 has been removed from nixpkgs"; # Added 2023-11-19 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 98b3688b0388..8dcd37c486f9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28141,10 +28141,6 @@ with pkgs; linuxPackages_testing = linuxKernel.packages.linux_testing; linux_testing = linuxKernel.kernels.linux_testing; - # FIXME: Remove and alias to `linux(Packages)_testing`` after 23.11 is released - linuxPackages_testing_bcachefs = linuxKernel.packages.linux_testing_bcachefs; - linux_testing_bcachefs = linuxKernel.kernels.linux_testing_bcachefs; - # Realtime kernel linuxPackages-rt = linuxKernel.packageAliases.linux_rt_default; linuxPackages-rt_latest = linuxKernel.packageAliases.linux_rt_latest; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index efd25b37fa60..82e746e16d72 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -200,13 +200,6 @@ in { then latest else testing; - # FIXME: Remove after 23.11 is released - linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix { - # Pinned on the last version which Kent's commits can be cleany rebased up. - kernel = linux_6_5; - kernelPatches = linux_6_5.kernelPatches; - }; - # Using zenKernels like this due lqx&zen came from one source, but may have different base kernel version # https://github.com/NixOS/nixpkgs/pull/161773#discussion_r820134708 zenKernels = callPackage ../os-specific/linux/kernel/zen-kernels.nix; @@ -616,8 +609,6 @@ in { # Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds. linux_testing = packagesFor kernels.linux_testing; - # FIXME: Remove after 23.11 is released - linux_testing_bcachefs = recurseIntoAttrs (packagesFor kernels.linux_testing_bcachefs); linux_hardened = recurseIntoAttrs (packagesFor kernels.linux_hardened); From b86edef087c3596a08d8a8c6d82f8d5fb2043c9a Mon Sep 17 00:00:00 2001 From: Madoura Date: Thu, 23 Nov 2023 12:31:16 -0600 Subject: [PATCH 3/5] rl-2405: Note that 'linux_testing_bcachefs' is now fully deprecated and removed --- nixos/doc/manual/release-notes/rl-2405.section.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 9191a204a7a1..24ee46b649d1 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -10,6 +10,8 @@ In addition to numerous new and upgraded packages, this release has the followin - `screen`'s module has been cleaned, and will now require you to set `programs.screen.enable` in order to populate `screenrc` and add the program to the environment. +- `linuxPackages_testing_bcachefs` is now fully deprecated by `linuxPackages_testing`, and is therefore no longer available. + ## New Services {#sec-release-24.05-new-services} From 3f826bf8e8f9b856fdcf704a6589851e8ad0c4a3 Mon Sep 17 00:00:00 2001 From: Madoura Date: Thu, 30 Nov 2023 23:45:55 +0000 Subject: [PATCH 4/5] bcachefs-tools: 1.3.3 -> 1.3.5 --- .../filesystems/bcachefs-tools/Cargo.lock | 48 +++++++++++-------- .../filesystems/bcachefs-tools/default.nix | 4 +- 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/pkgs/tools/filesystems/bcachefs-tools/Cargo.lock b/pkgs/tools/filesystems/bcachefs-tools/Cargo.lock index f43cc63c9598..a99cd4744392 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/Cargo.lock +++ b/pkgs/tools/filesystems/bcachefs-tools/Cargo.lock @@ -93,6 +93,7 @@ dependencies = [ "byteorder", "chrono", "clap", + "clap_complete", "colored", "either", "errno 0.2.8", @@ -237,6 +238,15 @@ dependencies = [ "terminal_size", ] +[[package]] +name = "clap_complete" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce" +dependencies = [ + "clap", +] + [[package]] name = "clap_derive" version = "4.3.12" @@ -246,7 +256,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -291,9 +301,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.5" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" dependencies = [ "libc", "windows-sys", @@ -393,7 +403,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi 0.3.3", - "rustix 0.38.21", + "rustix 0.38.25", "windows-sys", ] @@ -420,9 +430,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libudev-sys" @@ -442,9 +452,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" +checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" [[package]] name = "log" @@ -650,7 +660,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" dependencies = [ "bitflags 1.3.2", - "errno 0.3.5", + "errno 0.3.7", "io-lifetimes", "libc", "linux-raw-sys 0.3.8", @@ -659,14 +669,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.21" +version = "0.38.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" +checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e" dependencies = [ "bitflags 2.4.1", - "errno 0.3.5", + "errno 0.3.7", "libc", - "linux-raw-sys 0.4.10", + "linux-raw-sys 0.4.11", "windows-sys", ] @@ -695,9 +705,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.38" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", @@ -713,7 +723,7 @@ dependencies = [ "cfg-if", "fastrand", "redox_syscall", - "rustix 0.38.21", + "rustix 0.38.25", "windows-sys", ] @@ -744,7 +754,7 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -772,9 +782,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.5.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" +checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" [[package]] name = "version_check" diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix index 918f0bd841d7..8eed999ccfe8 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/default.nix +++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix @@ -24,14 +24,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "bcachefs-tools"; - version = "1.3.3"; + version = "1.3.5"; src = fetchFromGitHub { owner = "koverstreet"; repo = "bcachefs-tools"; rev = "v${finalAttrs.version}"; - hash = "sha256-73vgwgBqyRLQ/Tts7bl6DhZMOs8ndIOiCke5tN89Wps="; + hash = "sha256-Yq631LPpWal0hsEJS0dOtiox1295tYgUWJVIw+bsbnw="; }; nativeBuildInputs = [ From 9598daf31aec96e4a987e2e03d68cf55ce575d0a Mon Sep 17 00:00:00 2001 From: Madoura Date: Thu, 30 Nov 2023 17:58:52 -0600 Subject: [PATCH 5/5] linux/common-config: add default bcachefs options --- pkgs/os-specific/linux/kernel/common-config.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 4b38ffc5069c..8eddb42f662c 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -476,6 +476,9 @@ let BTRFS_FS_POSIX_ACL = yes; + BCACHEFS_QUOTA = whenAtLeast "6.7" (option yes); + BCACHEFS_POSIX_ACL = whenAtLeast "6.7" (option yes); + UBIFS_FS_ADVANCED_COMPR = option yes; F2FS_FS = module;