Unverified Commit 559ddda5 authored by Jörg Thalheim's avatar Jörg Thalheim Committed by GitHub
Browse files

Merge pull request #279852 from Madouura/pr/bcachefs

bcachefs: update comments, release-notes, only use IFS for bcachefs, update bcachefs-tools and module
parents 7b1be1e6 874c9183
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ 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.
- `linuxPackages_testing_bcachefs` is now fully deprecated by `linuxPackages_latest`, 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.
+8 −3
Original line number Diff line number Diff line
@@ -86,9 +86,14 @@ touch /etc/initrd-release
# Function for waiting for device(s) to appear.
waitDevice() {
    local device="$1"
    # Split device string using ':' as a delimiter as bcachefs
    # uses this for multi-device filesystems, i.e. /dev/sda1:/dev/sda2:/dev/sda3
    local IFS=':'
    # Split device string using ':' as a delimiter, bcachefs uses
    # this for multi-device filesystems, i.e. /dev/sda1:/dev/sda2:/dev/sda3
    local IFS

    # bcachefs is the only known use for this at the moment
    # Preferably, the 'UUID=' syntax should be enforced, but
    # this is kept for compatibility reasons
    if [ "$fsType" = bcachefs ]; then IFS=':'; fi

    # USB storage devices tend to appear with some delay.  It would be
    # great if we had a way to synchronously wait for them, but
+7 −2
Original line number Diff line number Diff line
@@ -123,9 +123,14 @@ in
      inherit assertions;
      # needed for systemd-remount-fs
      system.fsPackages = [ pkgs.bcachefs-tools ];
      # FIXME: Remove this line when the default kernel has bcachefs
      # FIXME: Remove this line when the LTS (default) kernel is at least version 6.7
      boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
      systemd.services = lib.mapAttrs' (mkUnits "") (lib.filterAttrs (n: fs: (fs.fsType == "bcachefs") && (!utils.fsNeededForBoot fs)) config.fileSystems);
      services.udev.packages = [ pkgs.bcachefs-tools ];

      systemd = {
        packages = [ pkgs.bcachefs-tools ];
        services = lib.mapAttrs' (mkUnits "") (lib.filterAttrs (n: fs: (fs.fsType == "bcachefs") && (!utils.fsNeededForBoot fs)) config.fileSystems);
      };
    }

    (lib.mkIf ((lib.elem "bcachefs" config.boot.initrd.supportedFilesystems) || (bootFs != {})) {
+14 −3
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
, rustPlatform
, makeWrapper
, writeScript
, python3
, fuseSupport ? false
}:

@@ -26,7 +27,6 @@ stdenv.mkDerivation (finalAttrs: {
  pname = "bcachefs-tools";
  version = "1.4.1";


  src = fetchFromGitHub {
    owner = "koverstreet";
    repo = "bcachefs-tools";
@@ -65,12 +65,12 @@ stdenv.mkDerivation (finalAttrs: {
    udev
  ] ++ lib.optional fuseSupport fuse3;

  # FIXME: Try enabling this once the default linux kernel is at least 6.7
  doCheck = false; # needs bcachefs module loaded on builder
  checkFlags = [ "BCACHEFS_TEST_USE_VALGRIND=no" ];

  makeFlags = [
    "DESTDIR=${placeholder "out"}"
    "PREFIX="
    "PREFIX=${placeholder "out"}"
    "VERSION=${finalAttrs.version}"
    "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools"
  ];
@@ -79,6 +79,17 @@ stdenv.mkDerivation (finalAttrs: {
    rm tests/test_fuse.py
  '';

  # Tries to install to the 'systemd-minimal' and 'udev' nix installation paths
  installFlags = [
    "PKGCONFIG_SERVICEDIR=$(out)/lib/systemd/system"
    "PKGCONFIG_UDEVDIR=$(out)/lib/udev"
  ];

  postInstall = ''
    substituteInPlace $out/libexec/bcachefsck_all \
      --replace "/usr/bin/python3" "${python3}/bin/python3"
  '';

  passthru = {
    tests = {
      smoke-test = nixosTests.bcachefs;
+3 −3
Original line number Diff line number Diff line
@@ -607,9 +607,9 @@ 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";
  # Added 2023-11-18, modified 2024-01-09
  linuxPackages_testing_bcachefs = throw "'linuxPackages_testing_bcachefs' has been removed, please use 'linuxPackages_latest', any kernel version at least 6.7, or any other linux kernel with bcachefs support";
  linux_testing_bcachefs = throw "'linux_testing_bcachefs' has been removed, please use 'linux_latest', any kernel version at least 6.7, or any other linux kernel with bcachefs support";

  lld_6 = throw "lld_6 has been removed from nixpkgs"; # Added 2024-01-08
  lld_7 = throw "lld_7 has been removed from nixpkgs"; # Added 2023-11-19