about summary refs log tree commit diff
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2014-10-22 01:37:32 +0200
committeraszlig <aszlig@redmoonstudios.org>2014-10-22 08:22:57 +0200
commitcb2c34f1bb8245a4460cef9f82301a76ab60441c (patch)
tree0f6fe7ee6d7f561155cf019c1c9a612bd1a5081e
parent7deadbb55f327dd9fffd397c72e13e4b95e15c61 (diff)
downloadnixlib-cb2c34f1bb8245a4460cef9f82301a76ab60441c.tar
nixlib-cb2c34f1bb8245a4460cef9f82301a76ab60441c.tar.gz
nixlib-cb2c34f1bb8245a4460cef9f82301a76ab60441c.tar.bz2
nixlib-cb2c34f1bb8245a4460cef9f82301a76ab60441c.tar.lz
nixlib-cb2c34f1bb8245a4460cef9f82301a76ab60441c.tar.xz
nixlib-cb2c34f1bb8245a4460cef9f82301a76ab60441c.tar.zst
nixlib-cb2c34f1bb8245a4460cef9f82301a76ab60441c.zip
blivet: Update to new upstream version 0.67.
Put a copy of old version 0.17 expression into 0.17.nix and update the
pointers from nixpart0 accordingly.

This also means, that plain nixpart is now way more broken than
nixpart0 (we might want to temporarily fix 0.4 anyway).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
-rw-r--r--nixos/tests/partition.nix2
-rw-r--r--pkgs/development/python-modules/blivet/0.17.nix58
-rw-r--r--pkgs/development/python-modules/blivet/default.nix46
-rw-r--r--pkgs/tools/filesystems/nixpart/default.nix13
-rw-r--r--pkgs/top-level/python-packages.nix6
5 files changed, 85 insertions, 40 deletions
diff --git a/nixos/tests/partition.nix b/nixos/tests/partition.nix
index 72fd37e041e5..afe6b8d4a0dd 100644
--- a/nixos/tests/partition.nix
+++ b/nixos/tests/partition.nix
@@ -67,7 +67,7 @@ in {
 
   machine = { config, pkgs, ... }: {
     environment.systemPackages = [
-      pkgs.pythonPackages.nixpart
+      pkgs.pythonPackages.nixpart0
       pkgs.file pkgs.btrfsProgs pkgs.xfsprogs pkgs.lvm2
     ];
     virtualisation.emptyDiskImages = [ 4096 4096 ];
diff --git a/pkgs/development/python-modules/blivet/0.17.nix b/pkgs/development/python-modules/blivet/0.17.nix
new file mode 100644
index 000000000000..c1b36bf909de
--- /dev/null
+++ b/pkgs/development/python-modules/blivet/0.17.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, buildPythonPackage, pykickstart, pyparted, pyblock
+, libselinux, cryptsetup, multipath_tools, lsof, utillinux
+, useNixUdev ? true, udev ? null
+# This is only used when useNixUdev is false
+, udevSoMajor ? 1
+}:
+
+assert useNixUdev -> udev != null;
+
+let
+  pyenable = { enablePython = true; };
+  selinuxWithPython = libselinux.override pyenable;
+  cryptsetupWithPython = cryptsetup.override pyenable;
+in buildPythonPackage rec {
+  name = "blivet-${version}";
+  version = "0.17-1";
+
+  src = fetchurl {
+    url = "https://git.fedorahosted.org/cgit/blivet.git/snapshot/"
+        + "${name}.tar.bz2";
+    sha256 = "1k3mws2q0ryb7422mml6idmaasz2i2v6ngyvg6d976dx090qnmci";
+  };
+
+  postPatch = ''
+    sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
+      blivet/devicelibs/mpath.py blivet/devices.py
+    sed -i -e '/"wipefs"/ {
+      s|wipefs|${utillinux}/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)"|"${utillinux}/bin/\1"|' blivet/util.py
+    sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
+  '' + (if useNixUdev then ''
+    sed -i -e '/find_library/,/find_library/ {
+      c libudev = "${udev}/lib/libudev.so.1"
+    }' blivet/pyudev.py
+  '' else ''
+    sed -i \
+      -e '/^somajor *=/s/=.*/= ${toString udevSoMajor}/p' \
+      -e 's|common =.*|& + ["/lib/x86_64-linux-gnu", "/lib/i686-linux-gnu"]|' \
+      blivet/pyudev.py
+  '');
+
+  propagatedBuildInputs = [
+    pykickstart pyparted pyblock selinuxWithPython cryptsetupWithPython
+  ] ++ stdenv.lib.optional useNixUdev udev;
+
+  # tests are currently _heavily_ broken upstream
+  doCheck = false;
+
+  meta = {
+    homepage = "https://fedoraproject.org/wiki/Blivet";
+    description = "Module for management of a system's storage configuration";
+    license = [ "GPLv2+" "LGPLv2.1+" ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/blivet/default.nix b/pkgs/development/python-modules/blivet/default.nix
index c1b36bf909de..9942c092d75f 100644
--- a/pkgs/development/python-modules/blivet/default.nix
+++ b/pkgs/development/python-modules/blivet/default.nix
@@ -1,52 +1,42 @@
-{ stdenv, fetchurl, buildPythonPackage, pykickstart, pyparted, pyblock
-, libselinux, cryptsetup, multipath_tools, lsof, utillinux
-, useNixUdev ? true, udev ? null
-# This is only used when useNixUdev is false
-, udevSoMajor ? 1
+{ stdenv, fetchFromGitHub, buildPythonPackage, pykickstart, pyparted, pyblock
+, pyudev, six, libselinux, cryptsetup, multipath_tools, lsof, utillinux
 }:
 
-assert useNixUdev -> udev != null;
-
 let
   pyenable = { enablePython = true; };
   selinuxWithPython = libselinux.override pyenable;
   cryptsetupWithPython = cryptsetup.override pyenable;
 in buildPythonPackage rec {
   name = "blivet-${version}";
-  version = "0.17-1";
+  version = "0.67";
 
-  src = fetchurl {
-    url = "https://git.fedorahosted.org/cgit/blivet.git/snapshot/"
-        + "${name}.tar.bz2";
-    sha256 = "1k3mws2q0ryb7422mml6idmaasz2i2v6ngyvg6d976dx090qnmci";
+  src = fetchFromGitHub {
+    owner = "dwlehman";
+    repo = "blivet";
+    rev = name;
+    sha256 = "1gk94ghjrxfqnx53hph1j2s7qcv86fjz48is7l099q9c24rjv8ky";
   };
 
   postPatch = ''
-    sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
-      blivet/devicelibs/mpath.py blivet/devices.py
+    sed -i \
+      -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
+      -e '/^def set_friendly_names/a \    return False' \
+      blivet/devicelibs/mpath.py
     sed -i -e '/"wipefs"/ {
       s|wipefs|${utillinux}/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)"|"${utillinux}/bin/\1"|' blivet/util.py
-    sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
-  '' + (if useNixUdev then ''
-    sed -i -e '/find_library/,/find_library/ {
-      c libudev = "${udev}/lib/libudev.so.1"
-    }' blivet/pyudev.py
-  '' else ''
-    sed -i \
-      -e '/^somajor *=/s/=.*/= ${toString udevSoMajor}/p' \
-      -e 's|common =.*|& + ["/lib/x86_64-linux-gnu", "/lib/i686-linux-gnu"]|' \
-      blivet/pyudev.py
-  '');
+    sed -i -e '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
+  '';
 
   propagatedBuildInputs = [
-    pykickstart pyparted pyblock selinuxWithPython cryptsetupWithPython
-  ] ++ stdenv.lib.optional useNixUdev udev;
+    pykickstart pyparted pyblock pyudev selinuxWithPython cryptsetupWithPython
+    six
+  ];
 
-  # tests are currently _heavily_ broken upstream
+  # Tests in <nixos/tests/blivet.nix> coming soon.
   doCheck = false;
 
   meta = {
diff --git a/pkgs/tools/filesystems/nixpart/default.nix b/pkgs/tools/filesystems/nixpart/default.nix
index 633f04320c37..f0c580b7990f 100644
--- a/pkgs/tools/filesystems/nixpart/default.nix
+++ b/pkgs/tools/filesystems/nixpart/default.nix
@@ -1,13 +1,6 @@
-{ stdenv, fetchurl, buildPythonPackage, blivet
-# Propagated to blivet
-, useNixUdev ? null, udevSoMajor ? null
-}:
+{ stdenv, fetchurl, buildPythonPackage, blivet }:
 
-let
-  blivetOverrides = stdenv.lib.filterAttrs (k: v: v != null) {
-    inherit useNixUdev udevSoMajor;
-  };
-in buildPythonPackage rec {
+buildPythonPackage rec {
   name = "nixpart-${version}";
   version = "0.4.1";
 
@@ -16,7 +9,7 @@ in buildPythonPackage rec {
     sha256 = "0avwd8p47xy9cydlbjxk8pj8q75zyl68gw2w6fnkk78dcb1a3swp";
   };
 
-  propagatedBuildInputs = [ (blivet.override blivetOverrides) ];
+  propagatedBuildInputs = [ blivet ];
 
   doCheck = false;
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index acaad0804eaa..fea5f8d6e5ba 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -65,6 +65,8 @@ let
 
   blivet = callPackage ../development/python-modules/blivet { };
 
+  blivet_0_17 = callPackage ../development/python-modules/blivet/0.17.nix { };
+
   dbus = callPackage ../development/python-modules/dbus {
     dbus = pkgs.dbus;
   };
@@ -123,7 +125,9 @@ let
 
   # This is used for NixOps to make sure we won't break it with the next major
   # version of nixpart.
-  nixpart0 = callPackage ../tools/filesystems/nixpart/0.4.nix { };
+  nixpart0 = callPackage ../tools/filesystems/nixpart/0.4.nix {
+    blivet = self.blivet_0_17;
+  };
 
   pitz = callPackage ../applications/misc/pitz { };