about summary refs log tree commit diff
path: root/pkgs/tools/filesystems
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/filesystems')
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix6
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix30
-rw-r--r--pkgs/tools/filesystems/catcli/default.nix6
-rw-r--r--pkgs/tools/filesystems/ceph-csi/default.nix4
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix2
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix5
-rw-r--r--pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/garage/default.nix26
-rw-r--r--pkgs/tools/filesystems/gcsfuse/default.nix4
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/irods/common.nix2
-rw-r--r--pkgs/tools/filesystems/lfs/default.nix6
-rw-r--r--pkgs/tools/filesystems/mtdutils/default.nix4
-rw-r--r--pkgs/tools/filesystems/mtools/default.nix4
-rw-r--r--pkgs/tools/filesystems/mtpfs/default.nix1
-rw-r--r--pkgs/tools/filesystems/nilfs-utils/default.nix1
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.nix50
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.patch51
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix48
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/default.nix79
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/dmraid.nix27
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/lvm2.nix73
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix54
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/parted.nix70
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pyblock-sysmacros.h.patch12
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pyblock.nix36
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix30
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pyparted.nix42
-rw-r--r--pkgs/tools/filesystems/nixpart/default.nix20
-rw-r--r--pkgs/tools/filesystems/sdat2img/default.nix26
-rw-r--r--pkgs/tools/filesystems/smbnetfs/default.nix1
-rw-r--r--pkgs/tools/filesystems/smbnetfs/default.upstream6
-rw-r--r--pkgs/tools/filesystems/snapraid/default.nix4
-rw-r--r--pkgs/tools/filesystems/xtreemfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/zpool-iostat-viz/default.nix40
35 files changed, 146 insertions, 636 deletions
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index cb8d74aa1618b..9e0752b5482cd 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation {
   pname = "bcachefs-tools";
-  version = "unstable-2021-12-25";
+  version = "unstable-2022-01-12";
 
   src = fetchFromGitHub {
     owner = "koverstreet";
     repo = "bcachefs-tools";
-    rev = "07b18011cc885f0ef5cadc299d0321322f442388";
-    sha256 = "0yvdbjasl05w1afiszygrfv7hn39fxx7kcy42vk39rb6fb3xpvzy";
+    rev = "7b15324de1095f3e2e423e9c53da076d208b52d5";
+    sha256 = "0glpq0n1xv7ck28v0gahl1fak9dhyp04id8d1l8yxvnriyw19zxa";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index bdd26041d33af..936555f93a4db 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -1,14 +1,17 @@
-{ lib, stdenv, fetchurl, pkg-config, attr, acl, zlib, libuuid, e2fsprogs, lzo
-, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt, zstd, python3
+{ lib, stdenv, fetchurl
+, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, pkg-config, python3, xmlto
+, zstd
+, acl, attr, e2fsprogs, libuuid, lzo, systemd, zlib
+, runCommand, btrfs-progs
 }:
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.14.1";
+  version = "5.16";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "sha256-1UqTRlRcpG3xKOPMt31gwJfZDJO34xSZAjbijPr4xVs=";
+    sha256 = "0cqqlcq9bywfi3cpg5ivxiv7p9v6z1r6k4nnmin24mj1kp8krarq";
   };
 
   nativeBuildInputs = [
@@ -16,7 +19,7 @@ stdenv.mkDerivation rec {
     python3 python3.pkgs.setuptools
   ];
 
-  buildInputs = [ attr acl zlib libuuid e2fsprogs lzo zstd python3 ];
+  buildInputs = [ acl attr e2fsprogs libuuid lzo python3 zlib zstd ] ++ lib.optionals stdenv.hostPlatform.isGnu [ systemd ];
 
   # for python cross-compiling
   _PYTHON_HOST_PLATFORM = stdenv.hostPlatform.config;
@@ -29,12 +32,25 @@ stdenv.mkDerivation rec {
     install -v -m 444 -D btrfs-completion $out/share/bash-completion/completions/btrfs
   '';
 
-  configureFlags = lib.optional stdenv.hostPlatform.isMusl "--disable-backtrace";
+  configureFlags = lib.optional stdenv.hostPlatform.isMusl "--disable-backtrace --disable-libudev";
 
+  makeFlags = lib.optionals stdenv.hostPlatform.isGnu [ "udevruledir=$(out)/lib/udev/rules.d" ];
+
+  enableParallelBuilding = true;
+
+  passthru.tests = {
+    simple-filesystem = runCommand "btrfs-progs-create-fs" {} ''
+      mkdir -p $out
+      truncate -s110M $out/disc
+      ${btrfs-progs}/bin/mkfs.btrfs $out/disc | tee $out/success
+      ${btrfs-progs}/bin/btrfs check $out/disc | tee $out/success
+      [ -e $out/success ]
+    '';
+  };
   meta = with lib; {
     description = "Utilities for the btrfs filesystem";
     homepage = "https://btrfs.wiki.kernel.org/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/filesystems/catcli/default.nix b/pkgs/tools/filesystems/catcli/default.nix
index 7bd6265851c44..540c4ba6c5f96 100644
--- a/pkgs/tools/filesystems/catcli/default.nix
+++ b/pkgs/tools/filesystems/catcli/default.nix
@@ -7,13 +7,13 @@
 buildPythonApplication rec {
 
   pname = "catcli";
-  version = "0.7.4";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "deadc0de6";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1mzhfcf67dc5m0i9b216m58qg36g63if6273ch5bsckd0yrwdk8x";
+    sha256 = "1hkgf692h3akdxiwhzm3vqibh1ps661qllilf55nyk109cx79gna";
   };
 
   propagatedBuildInputs = [ docopt anytree ];
@@ -23,7 +23,7 @@ buildPythonApplication rec {
   meta = with lib; {
     description = "The command line catalog tool for your offline data";
     homepage = "https://github.com/deadc0de6/catcli";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ petersjt014 ];
     platforms = platforms.all;
   };
diff --git a/pkgs/tools/filesystems/ceph-csi/default.nix b/pkgs/tools/filesystems/ceph-csi/default.nix
index 2eaa59b27e57c..28d8e36f95028 100644
--- a/pkgs/tools/filesystems/ceph-csi/default.nix
+++ b/pkgs/tools/filesystems/ceph-csi/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "ceph-csi";
-  version = "3.4.0";
+  version = "3.5.1";
 
   nativeBuildInputs = [ go ];
   buildInputs = [ ceph ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "ceph";
     repo = "ceph-csi";
     rev = "v${version}";
-    sha256 = "sha256-5+eK+iN6ecWtcmNPjiThCj1rwFaHX3rVCW9lmUCWhU0=";
+    sha256 = "sha256-TKNpMRZALMBgK9kN6aVokC+JpRo18AOJIXKNb1ZGgkQ=";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 2c6175bec13e3..1162c4e69b127 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -85,7 +85,7 @@ let
   };
 
   getMeta = description: with lib; {
-     homepage = "https://ceph.io/";
+     homepage = "https://ceph.io/en/";
      inherit description;
      license = with licenses; [ lgpl21 gpl2 bsd3 mit publicDomain ];
      maintainers = with maintainers; [ adev ak johanot krav ];
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index 5f1775e77e097..d630c7d43f61c 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "e2fsprogs";
-  version = "1.46.4";
+  version = "1.46.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0ra2d1wasksy1zy3rgviwdni40dnamchisjrrqqi940y545m493m";
+    sha256 = "1fgvwbj9ihz5svzrd2l0s18k16r4qg3wimrniv71fn3vdcg0shxp";
   };
 
   outputs = [ "bin" "dev" "out" "man" "info" ];
@@ -67,6 +67,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "http://e2fsprogs.sourceforge.net/";
+    changelog = "http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#${version}";
     description = "Tools for creating and checking ext2/ext3/ext4 filesystems";
     license = with licenses; [
       gpl2Plus
diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index 28109560ac295..0e6f5ad883467 100644
--- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "1.8";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VqtBJ8HRyhjwKVoRu6+EArZMVbzXkaK89yV56MzRUJo=";
+    sha256 = "sha256-FqlSMTCKtcG2HOA6KaPYArK/rxHG9eJSQmNOWIzJzCs=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/filesystems/garage/default.nix b/pkgs/tools/filesystems/garage/default.nix
new file mode 100644
index 0000000000000..fbeac15a38e26
--- /dev/null
+++ b/pkgs/tools/filesystems/garage/default.nix
@@ -0,0 +1,26 @@
+{ lib, rustPlatform, fetchFromGitea, testVersion, garage }:
+rustPlatform.buildRustPackage rec {
+  pname = "garage";
+  version = "0.6.0";
+
+  src = fetchFromGitea {
+    domain = "git.deuxfleurs.fr";
+    owner = "Deuxfleurs";
+    repo = "garage";
+    rev = "v${version}";
+    sha256 = "sha256-NNjqDOkMMRyXce+Z7RQpuffCuVhA1U3qH30rSv939ks=";
+  };
+
+  cargoSha256 = "sha256-eKJxRcC43D8qVLORer34tlmsWhELTbcJbZLyf0MB618=";
+
+  passthru = {
+    tests.version = testVersion { package = garage; };
+  };
+
+  meta = {
+    description = "S3-compatible object store for small self-hosted geo-distributed deployments";
+    homepage = "https://garagehq.deuxfleurs.fr";
+    license = lib.licenses.agpl3Only;
+    maintainers = with lib.maintainers; [ nickcao _0x4A6F ];
+  };
+}
diff --git a/pkgs/tools/filesystems/gcsfuse/default.nix b/pkgs/tools/filesystems/gcsfuse/default.nix
index b22273095fa1a..772d91a83452c 100644
--- a/pkgs/tools/filesystems/gcsfuse/default.nix
+++ b/pkgs/tools/filesystems/gcsfuse/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "gcsfuse";
-  version = "0.38.0";
+  version = "0.40.0";
 
   src = fetchFromGitHub {
     owner = "googlecloudplatform";
     repo = "gcsfuse";
     rev = "v${version}";
-    sha256 = "sha256-5qn20Vqtvuld9/IBW/3j+8C3ac8xJ9kRMTiL6GsOrrE=";
+    sha256 = "sha256-UCyXDemrC6/8AreicZZwZ95+VgLOXsJ2nzlYvP6/6C8=";
   };
 
   goPackagePath = "github.com/googlecloudplatform/gcsfuse";
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index dab69649fdcf4..3c1e0c50d6145 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -55,13 +55,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "glusterfs";
-  version = "10.0";
+  version = "10.1";
 
   src = fetchFromGitHub {
     owner = "gluster";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-n6HdXs5kLbEI8Gaw2KBtO3i8hhadb+MsshUve/DOYg0=";
+    sha256 = "sha256-vVFC2kQNneaOwrezPehOX32dpJb88ZhGHBApEXc9MOg=";
   };
   inherit buildInputs propagatedBuildInputs;
 
diff --git a/pkgs/tools/filesystems/irods/common.nix b/pkgs/tools/filesystems/irods/common.nix
index 87bb2b9051ced..fa80e024e3db0 100644
--- a/pkgs/tools/filesystems/irods/common.nix
+++ b/pkgs/tools/filesystems/irods/common.nix
@@ -17,7 +17,7 @@
     "-DIRODS_EXTERNALS_FULLPATH_CPPZMQ=${cppzmq}"
     "-DIRODS_EXTERNALS_FULLPATH_CATCH2=${catch2}"
     "-DIRODS_LINUX_DISTRIBUTION_NAME=nix"
-    "-DIRODS_LINUX_DISTRIBUTION_VERSION_MAJOR=${builtins.nixVersion}"
+    "-DIRODS_LINUX_DISTRIBUTION_VERSION_MAJOR=1.0"
     "-DCPACK_GENERATOR=TGZ"
     "-DCMAKE_CXX_FLAGS=-I${lib.getDev libcxx}/include/c++/v1"
   ];
diff --git a/pkgs/tools/filesystems/lfs/default.nix b/pkgs/tools/filesystems/lfs/default.nix
index 38746981588e6..4cfd728b96990 100644
--- a/pkgs/tools/filesystems/lfs/default.nix
+++ b/pkgs/tools/filesystems/lfs/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lfs";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3zGCVT3SfQm72CF2MasT7k5r1Jx9DRUrXKHBSpvcv10=";
+    sha256 = "sha256-mTgJ2DbSQprKKy7wTMXwmUAvHS9tacs9Nk1cmEJW9Sg=";
   };
 
-  cargoSha256 = "sha256-Q4eNvOY5c4KybDKVhcOznxGPUgyjgEYPD8+9r6sECXA=";
+  cargoSha256 = "sha256-Oiiz7I2eCtNMauvr0K2NtB49NJ/6XWVsJ0mMyEgFb7U=";
 
   meta = with lib; {
     description = "Get information on your mounted disks";
diff --git a/pkgs/tools/filesystems/mtdutils/default.nix b/pkgs/tools/filesystems/mtdutils/default.nix
index 2e58018bf18d4..1a6ca5f870002 100644
--- a/pkgs/tools/filesystems/mtdutils/default.nix
+++ b/pkgs/tools/filesystems/mtdutils/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "mtd-utils";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchgit {
     url = "git://git.infradead.org/mtd-utils.git";
     rev = "v${version}";
-    sha256 = "sha256-w20Zp1G0WbNvEJwqpLw2f8VvmW8ZBEL0GSHze8qpPWg";
+    sha256 = "sha256-lnvG2aJiihOyScmWZu0i8OYowmIMRBkgC3j67sdLkT4=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ] ++ lib.optional doCheck cmocka;
diff --git a/pkgs/tools/filesystems/mtools/default.nix b/pkgs/tools/filesystems/mtools/default.nix
index 1f474f5beb075..0cafb0c83f0d3 100644
--- a/pkgs/tools/filesystems/mtools/default.nix
+++ b/pkgs/tools/filesystems/mtools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mtools";
-  version = "4.0.36";
+  version = "4.0.37";
 
   src = fetchurl {
     url = "mirror://gnu/mtools/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-5cDlrfLfu59yZJ06gpn/b7c/Jp+DMKKXXZG8xQVSQPQ=";
+    sha256 = "sha256-eZsZfiPke2ElliiBCyd5Dvt6H+NgN+8dqKJ7CuT6g0I=";
   };
 
   patches = lib.optional stdenv.isDarwin ./UNUSED-darwin.patch;
diff --git a/pkgs/tools/filesystems/mtpfs/default.nix b/pkgs/tools/filesystems/mtpfs/default.nix
index a2dc01f8c0977..58c5a8d54a2ce 100644
--- a/pkgs/tools/filesystems/mtpfs/default.nix
+++ b/pkgs/tools/filesystems/mtpfs/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     license = licenses.gpl3;
     maintainers = [ maintainers.qknight ];
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/mtpfs.x86_64-darwin
   };
 }
diff --git a/pkgs/tools/filesystems/nilfs-utils/default.nix b/pkgs/tools/filesystems/nilfs-utils/default.nix
index 3c2dfaf2f1d3d..fe2047a6f139c 100644
--- a/pkgs/tools/filesystems/nilfs-utils/default.nix
+++ b/pkgs/tools/filesystems/nilfs-utils/default.nix
@@ -47,6 +47,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license =  with licenses; [ gpl2 lgpl21 ];
     downloadPage = "http://nilfs.sourceforge.net/en/download.html";
-    updateWalker = true;
   };
 }
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
deleted file mode 100644
index 94ed258d33222..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-# FIXME: Unify with pkgs/development/python-modules/blivet/default.nix.
-
-{ lib, fetchurl, buildPythonApplication, pykickstart, pyparted, pyblock
-, libselinux, cryptsetup, multipath_tools, lsof, util-linux
-, useNixUdev ? true, systemd ? null
-# useNixUdev is here for bw compatibility
-}:
-
-assert useNixUdev -> systemd != null;
-
-buildPythonApplication rec {
-  pname = "blivet";
-  version = "0.17-1";
-
-  src = fetchurl {
-    url = "https://git.fedorahosted.org/cgit/blivet.git/snapshot/"
-        + "${pname}-${version}.tar.bz2";
-    sha256 = "1k3mws2q0ryb7422mml6idmaasz2i2v6ngyvg6d976dx090qnmci";
-  };
-
-  patches = [ ./blivet.patch ];
-
-  postPatch = ''
-    sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
-      blivet/devicelibs/mpath.py blivet/devices.py
-    sed -i -e '/"wipefs"/ {
-      s|wipefs|${util-linux.bin}/sbin/wipefs|
-      s/-f/--force/
-    }' blivet/formats/__init__.py
-    sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py
-    sed -i -r -e 's|"(u?mount)"|"${util-linux.bin}/bin/\1"|' blivet/util.py
-    sed -i -e '/find_library/,/find_library/ {
-      c libudev = "${lib.getLib systemd}/lib/libudev.so.1"
-    }' blivet/pyudev.py
-  '';
-
-  propagatedBuildInputs = [
-    pykickstart pyparted pyblock libselinux cryptsetup
-  ] ++ lib.optional useNixUdev systemd;
-
-  # tests are currently _heavily_ broken upstream
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = "https://fedoraproject.org/wiki/Blivet";
-    description = "Module for management of a system's storage configuration";
-    license = with licenses; [ gpl2Plus lgpl21Plus ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.patch b/pkgs/tools/filesystems/nixpart/0.4/blivet.patch
deleted file mode 100644
index d53231a84fd6e..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/blivet.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/blivet/pyudev.py b/blivet/pyudev.py
-index 705b93d..7268d71 100644
---- a/blivet/pyudev.py
-+++ b/blivet/pyudev.py
-@@ -7,9 +7,9 @@ from ctypes import *
- 
- 
- # XXX this one may need some tweaking...
--def find_library(name, somajor=0):
-+def find_library(name):
-     env = os.environ.get("LD_LIBRARY_PATH")
--    common = ["/lib64", "/lib"]
-+    common = ["/lib64", "/lib", "/lib/x86_64-linux-gnu", "/lib/i686-linux-gnu"]
- 
-     if env:
-         libdirs = env.split(":") + common
-@@ -19,7 +19,7 @@ def find_library(name, somajor=0):
-     libdirs = filter(os.path.isdir, libdirs)
- 
-     for dir in libdirs:
--        files = fnmatch.filter(os.listdir(dir), "lib%s.so.%d" % (name, somajor))
-+        files = fnmatch.filter(os.listdir(dir), "lib%s.so.*" % name)
-         files = [os.path.join(dir, file) for file in files]
- 
-         if files:
-@@ -32,11 +32,10 @@ def find_library(name, somajor=0):
- 
- # find the udev library
- name = "udev"
--somajor = 1
--libudev = find_library(name=name, somajor=somajor)
-+libudev = find_library(name)
- 
- if not libudev or not os.path.exists(libudev):
--    raise ImportError, "No library named %s.%d" % (name, somajor)
-+    raise ImportError, "No library named lib%s.so" % name
- 
- # load the udev library
- libudev = CDLL(libudev)
-diff --git a/blivet/deviceaction.py b/blivet/deviceaction.py
-index 705b93d..60f8f32 100644
---- a/blivet/deviceaction.py
-+++ b/blivet/deviceaction.py
-@@ -467,6 +467,7 @@ def execute(self):
- 
-                 self.device.disk.format.commitToDisk()
- 
-+            self.device.setup()
-             self.device.format.create(device=self.device.path,
-                                       options=self.device.formatArgs)
- 
diff --git a/pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix b/pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix
deleted file mode 100644
index 7b2e65d474f74..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, fetchpatch
-, lvm2
-, libgcrypt
-, libuuid
-, pkg-config
-, popt
-, enablePython ? true
-, python ? null
-}:
-
-assert enablePython -> python != null;
-
-stdenv.mkDerivation rec {
-  pname = "cryptsetup";
-  version = "1.6.3";
-
-  src = fetchurl {
-    url = "http://cryptsetup.googlecode.com/files/cryptsetup-${version}.tar.bz2";
-    sha256 = "1n1qk5chyjspbiianrdb55fhb4wl0vfyqz2br05vfb24v4qlgbx2";
-  };
-
-  patches = [
-    # Fix build with glibc >= 2.28
-    # https://github.com/NixOS/nixpkgs/issues/86403
-    (fetchpatch {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/cryptsetup/files/cryptsetup-1.7.1-sysmacros.patch?id=d72316f97ebcc7fe622b21574442a9ac59b9115f";
-      sha256 = "0xbhazgl44bimqhcrhajk016w9wi7bkrgwyfq13xmrvyrllqvgdx";
-    })
-  ];
-
-  configureFlags = [ "--enable-cryptsetup-reencrypt" ]
-    ++ lib.optional enablePython "--enable-python";
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ lvm2 libgcrypt libuuid popt ]
-    ++ lib.optional enablePython python;
-
-  meta = with lib; {
-    homepage = "http://code.google.com/p/cryptsetup/";
-    description = "LUKS for dm-crypt";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ ];
-    platforms = with platforms; linux;
-  };
-}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix
deleted file mode 100644
index 2c024a24ba39c..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/default.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, python, buildPythonApplication
-, libselinux
-# Propagated to blivet
-, useNixUdev ? true
-# Needed by NixOps
-, udevSoMajor ? null
-# Propagated dependencies
-, pkgs, urlgrabber
-}:
-
-let
-  blivet = import ./blivet.nix {
-    inherit lib fetchurl buildPythonApplication;
-    inherit pykickstart pyparted pyblock cryptsetup libselinux multipath_tools;
-    inherit useNixUdev;
-    inherit (pkgs) lsof util-linux systemd;
-  };
-
-  cryptsetup = import ./cryptsetup.nix {
-    inherit lib stdenv fetchurl python;
-    inherit (pkgs) fetchpatch pkg-config libgcrypt libuuid popt lvm2;
-  };
-
-  dmraid = import ./dmraid.nix {
-    inherit lib stdenv fetchurl lvm2;
-  };
-
-  lvm2 = import ./lvm2.nix {
-    inherit lib stdenv fetchurl;
-    inherit (pkgs) fetchpatch pkg-config util-linux systemd coreutils;
-  };
-
-  multipath_tools = import ./multipath-tools.nix {
-    inherit lib stdenv fetchurl lvm2;
-    inherit (pkgs) fetchpatch readline systemd libaio gzip;
-  };
-
-  parted = import ./parted.nix {
-    inherit lib stdenv fetchurl;
-    inherit (pkgs) fetchpatch util-linux readline libuuid gettext check lvm2;
-  };
-
-  pyblock = import ./pyblock.nix {
-    inherit lib stdenv fetchurl python lvm2 dmraid;
-  };
-
-  pykickstart = import ./pykickstart.nix {
-    inherit lib fetchurl python buildPythonApplication urlgrabber;
-  };
-
-  pyparted = import ./pyparted.nix {
-    inherit lib stdenv fetchurl python buildPythonApplication parted;
-    inherit (pkgs) pkg-config e2fsprogs;
-  };
-
-in buildPythonApplication rec {
-  pname = "nixpart";
-  version = "0.4.1";
-  disabled = python.isPy3k;
-
-  src = fetchFromGitHub {
-    owner = "NixOS";
-    repo = "nixpart";
-    rev = "v${version}";
-    sha256 = "sha256-edl3mRg9Bn9Bd6FJl4zf1WS7XRcHTL5ey9LuKhaZG7I=";
-  };
-
-  propagatedBuildInputs = [ blivet ];
-
-  doCheck = false;
-
-  meta = with lib; {
-    description = "NixOS storage manager/partitioner";
-    homepage = "https://github.com/NixOS/nixpart";
-    license = licenses.gpl2Plus;
-    maintainers = [ maintainers.aszlig ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix b/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix
deleted file mode 100644
index 899af827508ae..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchurl, lvm2 }:
-
-stdenv.mkDerivation rec {
-  pname = "dmraid";
-  version = "1.0.0.rc15";
-
-  src = fetchurl {
-    url = "https://people.redhat.com/~heinzm/sw/dmraid/src/old/dmraid-${version}.tar.bz2";
-    sha256 = "01bcaq0sc329ghgj7f182xws7jgjpdc41bvris8fsiprnxc7511h";
-  };
-
-  preConfigure = "cd */";
-
-  buildInputs = [ lvm2 ];
-
-  meta = with lib; {
-    description = "Old-style RAID configuration utility";
-    longDescription = ''
-      Old RAID configuration utility (still under development, though).
-      It is fully compatible with modern kernels and mdadm recognizes
-      its volumes. May be needed for rescuing an older system or nuking
-      the metadata when reformatting.
-    '';
-    maintainers = [ maintainers.raskin ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix b/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
deleted file mode 100644
index 95cec1803807a..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, systemd, util-linux, coreutils }:
-
-stdenv.mkDerivation {
-  pname = "lvm2";
-  version = "2.02.106";
-
-  src = fetchurl {
-    url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz";
-    sha256 = "0nr833bl0q4zq52drjxmmpf7bs6kqxwa5kahwwxm9411khkxz0vc";
-  };
-
-  patches = [
-    # Fix build with glibc >= 2.28
-    # https://github.com/NixOS/nixpkgs/issues/86403
-    (fetchpatch {
-      url = "https://github.com/lvmteam/lvm2/commit/92d5a8441007f578e000b492cecf67d6b8a87405.patch";
-      sha256 = "1yqd6jng0b370k53vks1shg57yhfyribhpmv19km5zsjqf0qqx2d";
-      excludes = [
-        "libdm/libdm-stats.c"
-      ];
-    })
-  ];
-
-  configureFlags = [
-    "--disable-readline"
-    "--enable-udev_rules"
-    "--enable-udev_sync"
-    "--enable-pkg-config"
-    "--enable-applib"
-  ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ systemd ];
-
-  preConfigure =
-    ''
-      substituteInPlace scripts/lvmdump.sh \
-        --replace /usr/bin/tr ${coreutils}/bin/tr
-      substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
-        --replace /usr/sbin/lvm $out/sbin/lvm \
-        --replace /usr/bin/udevadm ${systemd}/bin/udevadm
-
-      sed -i /DEFAULT_SYS_DIR/d Makefile.in
-      sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in
-    '';
-
-  enableParallelBuilding = true;
-
-  #patches = [ ./purity.patch ];
-
-  # To prevent make install from failing.
-  installFlags = [ "OWNER=" "GROUP=" "confdir=${placeholder "out"}/etc" ];
-
-  # Install systemd stuff.
-  #installTargets = "install install_systemd_generators install_systemd_units install_tmpfiles_configuration";
-
-  postInstall =
-    ''
-      substituteInPlace $out/lib/udev/rules.d/13-dm-disk.rules \
-        --replace $out/sbin/blkid ${util-linux.bin}/sbin/blkid
-
-      # Systemd stuff
-      mkdir -p $out/etc/systemd/system $out/lib/systemd/system-generators
-      cp scripts/blk_availability_systemd_red_hat.service $out/etc/systemd/system
-      cp scripts/lvm2_activation_generator_systemd_red_hat $out/lib/systemd/system-generators
-    '';
-
-  meta = with lib; {
-    homepage = "http://sourceware.org/lvm2/";
-    description = "Tools to support Logical Volume Management (LVM) on Linux";
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix b/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix
deleted file mode 100644
index e6d304c2cd377..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-# FIXME: unify with pkgs/os-specific/linux/multipath-tools/default.nix.
-
-{ lib, stdenv, fetchurl, fetchpatch, lvm2, libaio, gzip, readline, systemd }:
-
-stdenv.mkDerivation rec {
-  pname = "multipath-tools";
-  version = "0.4.9";
-
-  src = fetchurl {
-    url = "http://christophe.varoqui.free.fr/multipath-tools/multipath-tools-${version}.tar.bz2";
-    sha256 = "04n7kazp1zrlqfza32phmqla0xkcq4zwn176qff5ida4a60whi4d";
-  };
-
-  patches = [
-    # Fix build with glibc >= 2.28
-    # https://github.com/NixOS/nixpkgs/issues/86403
-    (fetchpatch {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/multipath-tools/files/multipath-tools-0.6.4-sysmacros.patch?id=eb22b954c177b5c1e2b6ed5c7cdd02f40f40d757";
-      sha256 = "1an0cgmz7g03c4qjimhpm9fcf2iswws18lwqxi688k87qm3xb5qd";
-      excludes = [
-        "libmultipath/util.c"
-      ];
-    })
-  ];
-
-  sourceRoot = ".";
-
-  buildInputs = [ lvm2 libaio readline gzip ];
-
-  preBuild =
-    ''
-      makeFlagsArray=(GZIP="-9" prefix=$out mandir=$out/share/man/man8 man5dir=$out/share/man/man5 LIB=lib)
-
-      substituteInPlace multipath/Makefile --replace /etc $out/etc
-      substituteInPlace kpartx/Makefile --replace /etc $out/etc
-
-      substituteInPlace kpartx/kpartx.rules --replace /sbin/kpartx $out/sbin/kpartx
-      substituteInPlace kpartx/kpartx_id --replace /sbin/dmsetup ${lvm2}/sbin/dmsetup
-
-      substituteInPlace libmultipath/defaults.h --replace /lib/udev/scsi_id ${lib.getLib systemd}/lib/udev/scsi_id
-      substituteInPlace libmultipath/hwtable.c --replace /lib/udev/scsi_id ${lib.getLib systemd}/lib/udev/scsi_id
-
-      sed -i -re '
-         s,^( *#define +DEFAULT_MULTIPATHDIR\>).*,\1 "'"$out/lib/multipath"'",
-      ' libmultipath/defaults.h
-
-    '';
-
-  meta = with lib; {
-    description = "Tools for the Linux multipathing driver";
-    homepage = "http://christophe.varoqui.free.fr/";
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/parted.nix b/pkgs/tools/filesystems/nixpart/0.4/parted.nix
deleted file mode 100644
index e3dd662c18a98..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/parted.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, fetchpatch
-, lvm2
-, libuuid
-, gettext
-, readline
-, util-linux
-, check
-, enableStatic ? stdenv.hostPlatform.isStatic
-}:
-
-stdenv.mkDerivation rec {
-  pname = "parted";
-  version = "3.1";
-
-  src = fetchurl {
-    url = "mirror://gnu/parted/parted-${version}.tar.xz";
-    sha256 = "05fa4m1bky9d13hqv91jlnngzlyn7y4rnnyq6d86w0dg3vww372y";
-  };
-
-  patches = [
-    # Fix build with glibc >= 2.28
-    # https://github.com/NixOS/nixpkgs/issues/86403
-    (fetchpatch {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-block/parted/files/parted-3.2-sysmacros.patch?id=8e2414f551c14166f259f9a25a594aec7a5b9ea0";
-      sha256 = "0fdgifjbri7n28hv74zksac05gw72p2czzvyar0jp62b9dnql3mp";
-    })
-  ];
-
-  buildInputs = [ libuuid ]
-    ++ lib.optional (readline != null) readline
-    ++ lib.optional (gettext != null) gettext
-    ++ lib.optional (lvm2 != null) lvm2;
-
-  configureFlags =
-    (if (readline != null)
-    then [ "--with-readline" ]
-    else [ "--without-readline" ])
-    ++ lib.optional (lvm2 == null) "--disable-device-mapper"
-    ++ lib.optional enableStatic "--enable-static";
-
-  doCheck = true;
-  checkInputs = [ check util-linux ];
-
-  meta = with lib; {
-    description = "Create, destroy, resize, check, and copy partitions";
-
-    longDescription = ''
-      GNU Parted is an industrial-strength package for creating, destroying,
-      resizing, checking and copying partitions, and the file systems on
-      them.  This is useful for creating space for new operating systems,
-      reorganising disk usage, copying data on hard disks and disk imaging.
-
-      It contains a library, libparted, and a command-line frontend, parted,
-      which also serves as a sample implementation and script backend.
-    '';
-
-    homepage = "https://www.gnu.org/software/parted/";
-    license = licenses.gpl3Plus;
-
-    maintainers = [
-      # Add your name here!
-    ];
-
-    # GNU Parted requires libuuid, which is part of util-linux-ng.
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pyblock-sysmacros.h.patch b/pkgs/tools/filesystems/nixpart/0.4/pyblock-sysmacros.h.patch
deleted file mode 100644
index b8ab7bd53b2b5..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/pyblock-sysmacros.h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/dm.c b/dm.c
-index 5daa0e5..d5b84c8 100644
---- a/dm.c
-+++ b/dm.c
-@@ -19,6 +19,7 @@
- #define _GNU_SOURCE
- #include <sys/stat.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <unistd.h>
- #include <fcntl.h>
- #include <stdarg.h>
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix b/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix
deleted file mode 100644
index ddf260300fbc1..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, stdenv, fetchurl, python, lvm2, dmraid }:
-
-stdenv.mkDerivation rec {
-  pname = "pyblock";
-  version = "0.53";
-  md5_path = "f6d33a8362dee358517d0a9e2ebdd044";
-
-  src = fetchurl {
-    url = "https://src.fedoraproject.org/repo/pkgs/python-pyblock/"
-        + "${pname}-${version}.tar.bz2/${md5_path}/${pname}-${version}.tar.bz2";
-    sha256 = "f6cef88969300a6564498557eeea1d8da58acceae238077852ff261a2cb1d815";
-  };
-
-  patches = [
-    # Fix build with glibc >= 2.28
-    # https://github.com/NixOS/nixpkgs/issues/86403
-    ./pyblock-sysmacros.h.patch
-  ];
-
-  postPatch = ''
-    sed -i -e 's|/usr/include/python|${python}/include/python|' \
-           -e 's/-Werror *//' -e 's|/usr/|'"$out"'/|' Makefile
-  '';
-
-  buildInputs = [ python lvm2 dmraid ];
-
-  makeFlags = [
-    "USESELINUX=0"
-    "SITELIB=$(out)/lib/${python.libPrefix}/site-packages"
-  ];
-
-  meta = with lib; {
-    description = "Interface for working with block devices";
-    license = licenses.gpl2Plus;
-  };
-}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix b/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
deleted file mode 100644
index 092db8ee7c4cb..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, python, buildPythonApplication, fetchurl, urlgrabber }:
-
-buildPythonApplication rec {
-  pname = "pykickstart";
-  version = "1.99.39";
-  md5_path = "d249f60aa89b1b4facd63f776925116d";
-
-  src = fetchurl {
-    url = "https://src.fedoraproject.org/repo/pkgs/pykickstart/"
-        + "${pname}-${version}.tar.gz/${md5_path}/${pname}-${version}.tar.gz";
-    sha256 = "e0d0f98ac4c5607e6a48d5c1fba2d50cc804de1081043f9da68cbfc69cad957a";
-  };
-
-  postPatch = ''
-    sed -i -e "s/for tst in tstList/for tst in sorted(tstList, \
-               key=lambda m: m.__name__)/" tests/baseclass.py
-  '';
-
-  propagatedBuildInputs = [ urlgrabber ];
-
-  checkPhase = ''
-    ${python}/bin/${python.executable} tests/baseclass.py -vv
-  '';
-
-  meta = with lib; {
-    homepage = "http://fedoraproject.org/wiki/Pykickstart";
-    description = "Read and write Fedora kickstart files";
-    license = licenses.gpl2Plus;
-  };
-}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pyparted.nix b/pkgs/tools/filesystems/nixpart/0.4/pyparted.nix
deleted file mode 100644
index 9d1eff2bab77f..0000000000000
--- a/pkgs/tools/filesystems/nixpart/0.4/pyparted.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, python, buildPythonApplication, parted, e2fsprogs }:
-
-buildPythonApplication rec {
-  pname = "pyparted";
-  version = "3.10";
-
-  src = fetchurl {
-    url = "https://fedorahosted.org/releases/p/y/pyparted/${pname}-${version}.tar.gz";
-    sha256 = "17wq4invmv1nfazaksf59ymqyvgv3i8h4q03ry2az0s9lldyg3dv";
-  };
-
-  postPatch = ''
-    sed -i -e 's|/sbin/mke2fs|${e2fsprogs}&|' tests/baseclass.py
-    sed -i -e '
-      s|e\.path\.startswith("/tmp/temp-device-")|"temp-device-" in e.path|
-    ' tests/test__ped_ped.py
-  '' + lib.optionalString stdenv.isi686 ''
-    # remove some integers in this test case which overflow on 32bit systems
-    sed -i -r -e '/class *UnitGetSizeTestCase/,/^$/{/[0-9]{11}/d}' \
-      tests/test__ped_ped.py
-  '';
-
-  preConfigure = ''
-    PATH="${parted}/sbin:$PATH"
-  '';
-
-  nativeBuildInputs = [ pkg-config ];
-
-  propagatedBuildInputs = [ parted ];
-
-  checkPhase = ''
-    patchShebangs Makefile
-    make test PYTHON=${python.executable}
-  '';
-
-  meta = with lib; {
-    homepage = "https://fedorahosted.org/pyparted/";
-    description = "Python interface for libparted";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/filesystems/nixpart/default.nix b/pkgs/tools/filesystems/nixpart/default.nix
deleted file mode 100644
index 80ae8ca2b3cd4..0000000000000
--- a/pkgs/tools/filesystems/nixpart/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ lib, fetchurl, buildPythonApplication, blivet }:
-
-buildPythonApplication rec {
-  pname = "nixpart";
-  version = "1.0.0";
-
-  src = fetchurl {
-    url = "https://github.com/aszlig/nixpart/archive/v${version}.tar.gz";
-    sha256 = "0avwd8p47xy9cydlbjxk8pj8q75zyl68gw2w6fnkk78dcb1a3swp";
-  };
-
-  propagatedBuildInputs = [ blivet ];
-
-  meta = {
-    description = "NixOS storage manager/partitioner";
-    license = lib.licenses.gpl2Plus;
-    maintainers = [ lib.maintainers.aszlig ];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/filesystems/sdat2img/default.nix b/pkgs/tools/filesystems/sdat2img/default.nix
new file mode 100644
index 0000000000000..44e884201d4ab
--- /dev/null
+++ b/pkgs/tools/filesystems/sdat2img/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchFromGitHub, python3Packages }:
+
+python3Packages.buildPythonApplication {
+  pname = "sdat2img";
+  version = "unstable-2021-11-09";
+
+  src = fetchFromGitHub {
+    repo = "sdat2img";
+    owner = "xpirt";
+    rev = "b432c988a412c06ff24d196132e354712fc18929";
+    sha256 = "sha256-NCbf9H0hoJgeDtP6cQY0H280BQqgKXv3ConZ87QixVY=";
+  };
+
+  format = "other";
+  installPhase = ''
+    install -D $src/sdat2img.py $out/bin/sdat2img
+  '';
+
+  meta = {
+    description = "Convert sparse Android data image (.dat) into filesystem ext4 image (.img)";
+    homepage = "https://github.com/xpirt/sdat2img";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.xaverdh ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/filesystems/smbnetfs/default.nix b/pkgs/tools/filesystems/smbnetfs/default.nix
index bb042a95ecc47..a1831d44ada4c 100644
--- a/pkgs/tools/filesystems/smbnetfs/default.nix
+++ b/pkgs/tools/filesystems/smbnetfs/default.nix
@@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2;
     downloadPage = "https://sourceforge.net/projects/smbnetfs/files/smbnetfs";
-    updateWalker = true;
     homepage = "https://sourceforge.net/projects/smbnetfs/";
   };
 }
diff --git a/pkgs/tools/filesystems/smbnetfs/default.upstream b/pkgs/tools/filesystems/smbnetfs/default.upstream
deleted file mode 100644
index d56fa42f1d1b2..0000000000000
--- a/pkgs/tools/filesystems/smbnetfs/default.upstream
+++ /dev/null
@@ -1,6 +0,0 @@
-url https://sourceforge.net/projects/smbnetfs/files/smbnetfs/
-version_link '[-][0-9.]+[a-z]*/$'
-version_link '[.]tar[.][a-z0-9]+/download$'
-SF_redirect
-version '.*[-]([0-9.]+[a-z]*)[.]tar[.].*' '\1'
-do_overwrite () { do_overwrite_just_version; }
diff --git a/pkgs/tools/filesystems/snapraid/default.nix b/pkgs/tools/filesystems/snapraid/default.nix
index 9f5980a07e7df..30283d560f850 100644
--- a/pkgs/tools/filesystems/snapraid/default.nix
+++ b/pkgs/tools/filesystems/snapraid/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "snapraid";
-  version = "12.0";
+  version = "12.1";
 
   src = fetchFromGitHub {
     owner = "amadvance";
     repo = "snapraid";
     rev = "v${version}";
-    sha256 = "sha256-CcJaxnbRvGYiQjU38qnTgNyim5aDQWmxhQv16ZT1F00=";
+    sha256 = "sha256-DaFL5YxKdL7swfiWAHNufkeQ7mNd/MdZ6E0yAtC58lc=";
   };
 
   VERSION = version;
diff --git a/pkgs/tools/filesystems/xtreemfs/default.nix b/pkgs/tools/filesystems/xtreemfs/default.nix
index 9c49c4677d2a5..5825f8b25eeb3 100644
--- a/pkgs/tools/filesystems/xtreemfs/default.nix
+++ b/pkgs/tools/filesystems/xtreemfs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, boost, fuse, openssl, cmake, attr, jdk, ant, which, file, python
+{ stdenv, boost, fuse, openssl, cmake, attr, jdk, ant, which, file, python2
 , lib, valgrind, makeWrapper, fetchFromGitHub, fetchpatch }:
 
 stdenv.mkDerivation {
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   version = "1.5.1.81";
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ which attr python ];
+  buildInputs = [ which attr python2 ];
 
   patches = [
     (fetchpatch {
diff --git a/pkgs/tools/filesystems/zpool-iostat-viz/default.nix b/pkgs/tools/filesystems/zpool-iostat-viz/default.nix
new file mode 100644
index 0000000000000..f5eb7c7f02ef9
--- /dev/null
+++ b/pkgs/tools/filesystems/zpool-iostat-viz/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, fetchFromGitHub
+, python3Packages
+, installShellFiles
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "zpool-iostat-viz";
+  version = "unstable-2021-11-13";
+
+  src = fetchFromGitHub {
+    owner = "chadmiller";
+    repo = pname;
+    rev = "cdd8f3d882ab7a9990fb2d26af3e5b2bcc4bb312";
+    sha256 = "sha256-vNXD5SauBpCtP7VPTumQ0/wXfW0PjtooS21cjpAole8=";
+  };
+
+  nativeBuildInputs = [
+    installShellFiles
+    python3Packages.wrapPython
+  ];
+
+  # There is no setup.py
+  dontConfigure = true;
+  dontBuild = true;
+  doCheck = false;
+
+  installPhase = ''
+    wrapPythonPrograms
+    install -D zpool-iostat-viz $out/bin/zpool-iostat-viz
+    installManPage zpool-iostat-viz.1
+  '';
+
+  meta = with lib; {
+    description = "\"zpool iostats\" for humans; find the slow parts of your ZFS pool";
+    homepage = "https://github.com/chadmiller/zpool-iostat-viz";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ julm ];
+  };
+}