Merge pull request #268394 from Madouura/pr/bcachefs

[24.05] linux_testing_bcachefs: fully deprecate in favor of 'linux_testing'
This commit is contained in:
Jörg Thalheim 2024-01-07 11:45:27 +01:00 committed by GitHub
commit 39805096cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 11 additions and 136 deletions

View File

@ -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.

View File

@ -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);
}

View File

@ -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 = ''

View File

@ -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;

View File

@ -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;
}))

View File

@ -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" ''

View File

@ -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

View File

@ -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;

View File

@ -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);