diff --git a/pkgs/os-specific/linux/aufs/debian-2.6.29.diff b/pkgs/os-specific/linux/aufs/debian-2.6.29.diff deleted file mode 100644 index 88660bc4011c..000000000000 --- a/pkgs/os-specific/linux/aufs/debian-2.6.29.diff +++ /dev/null @@ -1,133 +0,0 @@ -Debian patch for aufs on 2.6.29 - ---- - -Add support for Kernel 2.6.29. - -Changes we are affected by: - 1. dentry_open() receives a new argument for passing the cred - 2. current->fsuid is now current_fsuid() - 3. disable security_inode_* calls, as they are not exported normally. Enable - them only if CONFIG_AUFS_SEC_PERM_PATCH is defined ---- a/fs/aufs25/export.c -+++ b/fs/aufs25/export.c -@@ -384,7 +384,11 @@ static struct dentry *au_lkup_by_ino(str - if (nsi_lock) - si_read_unlock(parent->d_sb); - path_get(path); -+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) - file = dentry_open(parent, path->mnt, au_dir_roflags); -+ #else -+ file = dentry_open(parent, path->mnt, au_dir_roflags, current_cred()); -+ #endif - dentry = (void *)file; - if (IS_ERR(file)) - goto out; ---- a/fs/aufs25/file.c -+++ b/fs/aufs25/file.c -@@ -98,8 +98,13 @@ struct file *au_h_open(struct dentry *de - h_file = NULL; - if (file && au_test_nfs(h_dentry->d_sb)) - h_file = au_h_intent(dentry, bindex, file); -- if (!h_file) -+ if (!h_file) { -+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) - h_file = dentry_open(dget(h_dentry), mntget(br->br_mnt), flags); -+ #else -+ h_file = dentry_open(dget(h_dentry), mntget(br->br_mnt), flags, current_cred()); -+ #endif -+ } - - /* - * a dirty trick for handling FMODE_EXEC and deny_write_access(). ---- a/fs/aufs25/inode.c -+++ b/fs/aufs25/inode.c -@@ -405,7 +405,11 @@ int au_test_ro(struct super_block *sb, a - - int au_test_h_perm(struct inode *h_inode, int mask, int dlgt) - { -+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) - if (!current->fsuid) -+ #else -+ if (!current_fsuid()) -+ #endif - return 0; - /* todo: fake nameidata? */ - return vfsub_permission(h_inode, mask, NULL, dlgt); ---- a/fs/aufs25/whout.c -+++ b/fs/aufs25/whout.c -@@ -274,9 +274,15 @@ static int do_unlink_wh(struct au_hinode - * forces superio when the dir has a sticky bit. - * this may be a violation of unix fs semantics. - */ -+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) - vfsub_args_init(&vargs, &ign, dlgt, - (h_dir->i_mode & S_ISVTX) - && wh_dentry->d_inode->i_uid != current->fsuid); -+ #else -+ vfsub_args_init(&vargs, &ign, dlgt, -+ (h_dir->i_mode & S_ISVTX) -+ && wh_dentry->d_inode->i_uid != current_fsuid()); -+ #endif - vfsub_ign_hinode(&vargs, IN_DELETE, hdir); - err = vfsub_unlink(h_dir, wh_dentry, &vargs); - AuTraceErr(err); -@@ -625,7 +631,11 @@ static void reinit_br_wh(void *arg) - struct vfsub_args vargs; - - AuTraceEnter(); -+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) - AuDebugOn(current->fsuid); -+ #else -+ AuDebugOn(current_fsuid()); -+ #endif - - err = 0; - wbr = a->br->br_wbr; ---- a/fs/aufs25/xino.c -+++ b/fs/aufs25/xino.c -@@ -620,8 +620,13 @@ struct file *au_xino_create2(struct supe - AuErr("%.*s create err %d\n", AuLNPair(name), err); - goto out_dput; - } -+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) - file = dentry_open(dget(dentry), mntget(base_file->f_vfsmnt), - O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE); -+ #else -+ file = dentry_open(dget(dentry), mntget(base_file->f_vfsmnt), -+ O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE, current_cred()); -+ #endif - if (IS_ERR(file)) { - AuErr("%.*s open err %ld\n", AuLNPair(name), PTR_ERR(file)); - goto out_dput; ---- a/fs/aufs25/i_op.c -+++ b/fs/aufs25/i_op.c -@@ -61,7 +61,7 @@ static int h_permission(struct inode *h_ - AuTraceErr(err); - } - --#if 1 /* todo: export? */ -+#ifdef CONFIG_AUFS_SEC_PERM_PATCH - if (!err) - err = au_security_inode_permission(h_inode, mask, NULL, - dlgt); -@@ -221,7 +221,7 @@ static int h_permission(struct inode *h_ - AuTraceErr(err); - } - --#if 1 /* todo: export? */ -+#ifdef CONFIG_AUFS_SEC_PERM_PATCH - if (!err) - err = au_security_inode_permission(h_inode, mask, fake_nd, - dlgt); ---- a/fs/aufs25/inode.h -+++ b/fs/aufs25/inode.h -@@ -148,7 +148,7 @@ int aufs_rename(struct inode *src_dir, s - /* dlgt.c */ - int au_security_inode_permission(struct inode *h_inode, int mask, - struct nameidata *fake_nd, int dlgt); --#else -+#elif defined(CONFIG_AUFS_SEC_PERM_PATCH) - static inline - int au_security_inode_permission(struct inode *h_inode, int mask, - struct nameidata *fake_nd, int dlgt) diff --git a/pkgs/os-specific/linux/aufs/default.nix b/pkgs/os-specific/linux/aufs/default.nix deleted file mode 100644 index 5321bfa3d6b1..000000000000 --- a/pkgs/os-specific/linux/aufs/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ stdenv, fetchurl, kernel }: - -stdenv.mkDerivation { - name = "aufs-20090414-${kernel.version}"; - - src = fetchurl { - url = http://nixos.org/tarballs/aufs-20090414.tar.bz2; - sha256 = "1jhf3kccx0m84frlgx2d0ysn1c4272dgci59dsk7vsfrf7yik526"; - }; - - buildPhase = '' - kernelVersion=$(cd ${kernel}/lib/modules && ls) - kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/source) - tar xvfj ${kernel.src} - kernelSource=$(echo $(pwd)/linux-*) - cp -prd $kernelBuild/* $kernelSource - - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$PWD/include" - - make KDIR=$kernelSource -f local.mk - ''; - - installPhase = '' - ensureDir $out/bin - cp util/aulchown $out/bin - - ensureDir $out/share/man/man5 - cp util/aufs.5 $out/share/man/man5 - - ensureDir $out/lib/modules/$kernelVersion/misc - cp aufs.ko $out/lib/modules/$kernelVersion/misc - ''; - - patches = [ - # Debian patch to build AUFS on 2.6.29+ - ./debian-2.6.29.diff - ]; - - meta = { - description = "Another Unionfs implementation for Linux"; - homepage = http://aufs.sourceforge.net/; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ca48400dc24d..0b653fae8103 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5638,8 +5638,6 @@ let ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { }; - aufs = callPackage ../os-specific/linux/aufs { }; - aufs2 = if kernel.features ? aufs2 then callPackage ../os-specific/linux/aufs2 { } else null;