about summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kernel/patches.nix
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2011-09-28 20:48:08 +0000
committerShea Levy <shea@shealevy.com>2011-09-28 20:48:08 +0000
commit60b155479dda13aebe5bd431e031b1ce86cf90a4 (patch)
tree50aa09594e19a1fafd7a5b27bd9731622e886ca9 /pkgs/os-specific/linux/kernel/patches.nix
parent4cdafb258c230ffbe815f95e2f6114761f465557 (diff)
downloadnixlib-60b155479dda13aebe5bd431e031b1ce86cf90a4.tar
nixlib-60b155479dda13aebe5bd431e031b1ce86cf90a4.tar.gz
nixlib-60b155479dda13aebe5bd431e031b1ce86cf90a4.tar.bz2
nixlib-60b155479dda13aebe5bd431e031b1ce86cf90a4.tar.lz
nixlib-60b155479dda13aebe5bd431e031b1ce86cf90a4.tar.xz
nixlib-60b155479dda13aebe5bd431e031b1ce86cf90a4.tar.zst
nixlib-60b155479dda13aebe5bd431e031b1ce86cf90a4.zip
linux-3.0: Add aufs3 patch
svn path=/nixpkgs/trunk/; revision=29532
Diffstat (limited to 'pkgs/os-specific/linux/kernel/patches.nix')
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix46
1 files changed, 45 insertions, 1 deletions
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 2b0d76d76edb..98e8b41d22dd 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchgit }:
 
 let
 
@@ -36,6 +36,38 @@ let
       };
     };
 
+    makeAufs3StandalonePatch =  {kernelSrc, version, rev, sha256}:
+
+      stdenv.mkDerivation {
+        name = "aufs3-standalone-${version}.patch";
+
+        src = fetchgit {
+          url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git;
+          inherit sha256 rev;
+        };
+
+        #Instructions from http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs3-standalone.git;a=blob;f=Documentation/filesystems/aufs/README;h=b8cf077635b323d1b454266366f05f476bbd09cb;hb=1067b9d8d64d23c70d905c9cd3c90a669e39c4d4
+        buildPhase = ''
+          tar xvf ${kernelSrc}
+          mv -v linux* a
+          cp -av a b
+          cd b
+          patch -Np1 -i ../aufs3-kbuild.patch
+          patch -Np1 -i ../aufs3-base.patch
+          patch -Np1 -i ../aufs3-proc_map.patch
+          patch -Np1 -i ../aufs3-standalone.patch
+          cp -av ../{Documentation,fs} .
+          cp -av ../include/linux/aufs_type.h include/linux/aufs_type.h
+        '';
+
+        installPhase = ''
+          cd ..
+          set +e
+          diff -Naur a b > $out
+          set -e
+        '';
+      };
+
 in
 
 rec {
@@ -272,6 +304,18 @@ rec {
       features.aufs2_1 = true;
     };
 
+  aufs3_0 = kernelSrc:
+    { name = "aufs3.0";
+      patch = makeAufs3StandalonePatch {
+        inherit kernelSrc;
+        version = "3.0";
+        rev = "1067b9d8d64d23c70d905c9cd3c90a669e39c4d4";
+        sha256 = "b508cab5987a623f057ae5fdc006c909a6bae6151af6e12fe672bf97b1a7549d";
+      };
+      features.aufsBase = true;
+      features.aufs3 = true;
+    };
+
   # Increase the timeout on CIFS requests from 15 to 120 seconds to
   # make CIFS more resilient to high load on the CIFS server.
   cifs_timeout_2_6_15 =