diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 8021c0e040f2..5a748607f2a5 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. + - NixOS now installs a stub ELF loader that prints an informative error message when users attempt to run binaries not made for NixOS. - This can be disabled through the `environment.stub-ld.enable` option. - If you use `programs.nix-ld.enable`, no changes are needed. The stub will be disabled automatically. diff --git a/nixos/modules/tasks/filesystems/bcachefs.nix b/nixos/modules/tasks/filesystems/bcachefs.nix index 85cbe72e433f..e771b706bece 100644 --- a/nixos/modules/tasks/filesystems/bcachefs.nix +++ b/nixos/modules/tasks/filesystems/bcachefs.nix @@ -123,15 +123,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/nixos/tests/installer.nix b/nixos/tests/installer.nix index d83e49a3e8f7..eff2ba05d2f1 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -1266,68 +1266,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/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 746991c00b7e..7e3f96f77be1 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; 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/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix index 9217859af627..8eed999ccfe8 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" '' diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 38b26900f74e..a673dab4abd1 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -596,6 +596,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 02213caf202a..172e190b1927 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28113,10 +28113,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 c8cd917c1510..0783f358a4a6 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; @@ -626,8 +619,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);