forked from mirrors/nixpkgs
Merge pull request #279852 from Madouura/pr/bcachefs
bcachefs: update comments, release-notes, only use IFS for bcachefs, update bcachefs-tools and module
This commit is contained in:
commit
559ddda570
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 != {})) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue