* Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=30852
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
{ stdenv, fetchgit, kernel, aufs2_1 }:
|
||||
{ stdenv, fetchgit, kernel, aufs }:
|
||||
|
||||
assert aufs != null;
|
||||
|
||||
let version = "20110217"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "aufs2.1-util-${version}";
|
||||
name = "aufs2.1-util-${version}-${kernel.version}";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://git.c3sl.ufpr.br/aufs/aufs2-util.git";
|
||||
@@ -11,7 +13,7 @@ stdenv.mkDerivation {
|
||||
sha256 = "0fce5601b67efe8b5652a813ae612348bf4503aa71056cd31a5ed0406632e364";
|
||||
};
|
||||
|
||||
buildInputs = [ aufs2_1 ];
|
||||
buildInputs = [ aufs ];
|
||||
|
||||
makeFlags =
|
||||
[ "KDIR=${kernel}/lib/modules/${kernel.version}/build"
|
||||
@@ -34,8 +36,7 @@ stdenv.mkDerivation {
|
||||
meta = {
|
||||
description = "Utilities for AUFS2.1";
|
||||
homepage = http://aufs.sourceforge.net/;
|
||||
maintainers = [ stdenv.lib.maintainers.eelco
|
||||
stdenv.lib.maintainers.shlevy ];
|
||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -1,16 +1,18 @@
|
||||
{ stdenv, fetchurl, kernel, aufs2 }:
|
||||
{ stdenv, fetchurl, kernel, aufs }:
|
||||
|
||||
assert aufs != null;
|
||||
|
||||
let version = "20100506"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "aufs2-util-${version}";
|
||||
name = "aufs2-util-${version}-${kernel.version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://nixos.org/tarballs/aufs2-util-git-${version}.tar.bz2";
|
||||
sha256 = "0ly0c3p8fjxqbk8k5rmm1a91wg8wcrvhi1lv4aawalkkk8rqbnwk";
|
||||
};
|
||||
|
||||
buildInputs = [ aufs2 ];
|
||||
buildInputs = [ aufs ];
|
||||
|
||||
makeFlags =
|
||||
[ "KDIR=${kernel}/lib/modules/${kernel.version}/build"
|
||||
@@ -1,15 +1,17 @@
|
||||
{ stdenv, fetchgit, kernel, aufs3 }:
|
||||
{ stdenv, fetchgit, kernel, aufs }:
|
||||
|
||||
assert aufs != null;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "aufs3-util-${aufs3.patch.version}";
|
||||
name = "aufs3-util-${aufs.patch.version}-${kernel.version}";
|
||||
|
||||
src = fetchgit {
|
||||
url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs-util.git;
|
||||
rev = aufs3.patch.utilRev;
|
||||
sha256 = aufs3.patch.utilHash;
|
||||
rev = aufs.patch.utilRev;
|
||||
sha256 = aufs.patch.utilHash;
|
||||
};
|
||||
|
||||
buildInputs = [ aufs3 ];
|
||||
buildInputs = [ aufs ];
|
||||
|
||||
makeFlags =
|
||||
[ "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build"
|
||||
@@ -8,7 +8,7 @@ let version =
|
||||
else "20110408"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "aufs2.1-${version}";
|
||||
name = "aufs2.1-${version}-${kernel.version}";
|
||||
|
||||
src =
|
||||
if (builtins.lessThan (builtins.compareVersions kernel.version "2.6.38") 0)
|
||||
@@ -42,8 +42,7 @@ stdenv.mkDerivation {
|
||||
description = "Another Unionfs implementation for Linux (second generation)";
|
||||
homepage = http://aufs.sourceforge.net/;
|
||||
maintainers = [ stdenv.lib.maintainers.eelco
|
||||
stdenv.lib.maintainers.raskin
|
||||
stdenv.lib.maintainers.shlevy ];
|
||||
stdenv.lib.maintainers.raskin ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -5,7 +5,7 @@ assert kernel.features ? aufsBase;
|
||||
let version = "20100522"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "aufs2-${version}";
|
||||
name = "aufs2-${version}-${kernel.version}";
|
||||
|
||||
src =
|
||||
if (builtins.lessThan (builtins.compareVersions kernel.version "2.6.35") 0) then
|
||||
@@ -12,7 +12,7 @@ let
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "aufs3-${patch.version}";
|
||||
name = "aufs3-${patch.version}-${kernel.version}";
|
||||
|
||||
src = patch.patch.src;
|
||||
|
||||
@@ -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)
|
||||
@@ -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/;
|
||||
};
|
||||
}
|
||||
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
depending on Python etc. */
|
||||
postInstall = ''
|
||||
pushd test
|
||||
for a in simple-agent test-adapter test-device; do
|
||||
for a in simple-agent test-adapter test-device test-input; do
|
||||
cp $a $out/bin/bluez-$a
|
||||
wrapProgram $out/bin/bluez-$a --prefix PYTHONPATH : ${pythonpath}
|
||||
done
|
||||
|
||||
@@ -1,18 +1,21 @@
|
||||
{ stdenv, fetchurl, autoconf, automake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "bridge-utils-1.4";
|
||||
let
|
||||
name = "bridge-utils-1.5";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit name;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/bridge/${name}.tar.gz";
|
||||
sha256 = "0csrvpjx1n5fzscdrc0xky3rnaxi90rylqciha5sl0n3pklpasc7";
|
||||
sha256 = "42f9e5fb8f6c52e63a98a43b81bd281c227c529f194913e1c51ec48a393b6688";
|
||||
};
|
||||
|
||||
buildInputs = [ autoconf automake ];
|
||||
|
||||
preConfigure = "autoreconf";
|
||||
|
||||
meta = {
|
||||
meta = {
|
||||
description = "http://sourceforge.net/projects/bridge/";
|
||||
homepage = [ "http://www.linux-foundation.org/en/Net:Bridge/" "http://sourceforge.net/projects/bridge/" ];
|
||||
license = "GPL";
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
{stdenv, fetchurl, libuuid, popt, devicemapper, udev }:
|
||||
{stdenv, fetchurl, libuuid, popt, devicemapper, libgcrypt }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "cryptsetup-1.0.6";
|
||||
name = "cryptsetup-1.4.1";
|
||||
src = fetchurl {
|
||||
url = http://cryptsetup.googlecode.com/files/cryptsetup-1.0.6.tar.bz2;
|
||||
sha256 = "df7fda80cfa01f063caf39140287a47d018dfe056fc71a3ba605e690ff0183fd";
|
||||
url = http://cryptsetup.googlecode.com/files/cryptsetup-1.4.1.tar.bz2;
|
||||
sha256 = "82b143328c2b427ef2b89fb76c701d311c95b54093c21bbf22342f7b393bddcb";
|
||||
};
|
||||
|
||||
configureFlags = [ "--enable-libdevmapper" ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -i -e 's@/sbin/udevsettle@${udev}/sbin/udevadm settle@' lib/libdevmapper.c
|
||||
'';
|
||||
|
||||
buildInputs = [ libuuid popt devicemapper ];
|
||||
buildInputs = [ libuuid popt devicemapper libgcrypt ];
|
||||
|
||||
meta = {
|
||||
homepage = http://code.google.com/p/cryptsetup/;
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
stdenv.mkDerivation rec {
|
||||
name = "rtl8192c-fw";
|
||||
src = fetchurl {
|
||||
url = "ftp://WebUser:n8W9ErCy@208.70.202.219/cn/wlan/92ce_se_de_linux_mac80211_0003.0401.2011.tar.gz";
|
||||
sha256 = "002kj6f1xaali2iwrxvirqq0hbiyb2cpf93y2xycp3qd69cp8lik";
|
||||
url = "ftp://WebUser:AxPL9s3k@202.134.71.21/cn/wlan/92ce_se_de_linux_mac80211_0004.0816.2011.tar.gz";
|
||||
sha256 = "1kg63h5rj4kja2csmqsrxjipb1wpznfbrvn9cla9d9byksy5fn64";
|
||||
};
|
||||
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
@@ -18,6 +18,11 @@ let
|
||||
# Enable the kernel's built-in memory tester.
|
||||
MEMTEST y
|
||||
|
||||
# Include the CFQ I/O scheduler in the kernel, rather than as a
|
||||
# module, so that the initrd gets a good I/O scheduler.
|
||||
IOSCHED_CFQ y
|
||||
BLK_CGROUP y # required by CFQ
|
||||
|
||||
# Disable some expensive (?) features.
|
||||
FTRACE n
|
||||
KPROBES n
|
||||
@@ -184,6 +189,11 @@ let
|
||||
# Allow up to 128 GiB of RAM in Xen domains.
|
||||
XEN_MAX_DOMAIN_MEMORY 128
|
||||
|
||||
# PROC_EVENTS requires that the netlink connector is not built
|
||||
# as a module. This is required by libcgroup's cgrulesengd.
|
||||
CONNECTOR y
|
||||
PROC_EVENTS y
|
||||
|
||||
${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
|
||||
${extraConfig}
|
||||
'';
|
||||
|
||||
@@ -20,6 +20,11 @@ let
|
||||
# Enable the kernel's built-in memory tester.
|
||||
MEMTEST y
|
||||
|
||||
# Include the CFQ I/O scheduler in the kernel, rather than as a
|
||||
# module, so that the initrd gets a good I/O scheduler.
|
||||
IOSCHED_CFQ y
|
||||
BLK_CGROUP y # required by CFQ
|
||||
|
||||
# Disable some expensive (?) features.
|
||||
FTRACE n
|
||||
KPROBES n
|
||||
@@ -197,6 +202,11 @@ let
|
||||
# they generally don't hurt.
|
||||
STAGING y
|
||||
|
||||
# PROC_EVENTS requires that the netlink connector is not built
|
||||
# as a module. This is required by libcgroup's cgrulesengd.
|
||||
CONNECTOR y
|
||||
PROC_EVENTS y
|
||||
|
||||
${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
|
||||
${extraConfig}
|
||||
'';
|
||||
@@ -205,7 +215,7 @@ in
|
||||
import ./generic.nix (
|
||||
|
||||
rec {
|
||||
version = "3.0.8";
|
||||
version = "3.0.9";
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
|
||||
@@ -213,7 +223,7 @@ import ./generic.nix (
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2";
|
||||
sha256 = "1p9sacxz430rmq5zj8pch2i0dczi5jna5g8xf4gni3w436invlaf";
|
||||
sha256 = "1dcn371za577fxw64vk9ry69bihf16l1hk6rs380qnhr6msxr478";
|
||||
};
|
||||
|
||||
config = configWithPlatform stdenv.platform;
|
||||
|
||||
@@ -20,6 +20,11 @@ let
|
||||
# Enable the kernel's built-in memory tester.
|
||||
MEMTEST y
|
||||
|
||||
# Include the CFQ I/O scheduler in the kernel, rather than as a
|
||||
# module, so that the initrd gets a good I/O scheduler.
|
||||
IOSCHED_CFQ y
|
||||
BLK_CGROUP y # required by CFQ
|
||||
|
||||
# Disable some expensive (?) features.
|
||||
FTRACE n
|
||||
KPROBES n
|
||||
@@ -197,6 +202,11 @@ let
|
||||
# they generally don't hurt.
|
||||
STAGING y
|
||||
|
||||
# PROC_EVENTS requires that the netlink connector is not built
|
||||
# as a module. This is required by libcgroup's cgrulesengd.
|
||||
CONNECTOR y
|
||||
PROC_EVENTS y
|
||||
|
||||
${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
|
||||
${extraConfig}
|
||||
'';
|
||||
@@ -205,9 +215,7 @@ in
|
||||
import ./generic.nix (
|
||||
|
||||
rec {
|
||||
version = "3.1";
|
||||
|
||||
modDirVersion = "3.1.0";
|
||||
version = "3.1.4";
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
|
||||
@@ -215,7 +223,7 @@ import ./generic.nix (
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2";
|
||||
sha256 = "0nck9cx66crqhw17y4vc3rfqrcz5269nwn2p5dh0qjvmihvx4wr5";
|
||||
sha256 = "0wd43q1m11d4s5ab2kwnga4jvi5racqwlg4pmcp4fqim0q8jl9g6";
|
||||
};
|
||||
|
||||
config = configWithPlatform stdenv.platform;
|
||||
|
||||
237
pkgs/os-specific/linux/kernel/linux-3.2.nix
Normal file
237
pkgs/os-specific/linux/kernel/linux-3.2.nix
Normal file
@@ -0,0 +1,237 @@
|
||||
args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
|
||||
, perl, mktemp, module_init_tools
|
||||
, ... }:
|
||||
|
||||
let
|
||||
configWithPlatform = kernelPlatform :
|
||||
''
|
||||
# Don't include any debug features.
|
||||
DEBUG_KERNEL n
|
||||
|
||||
# Support drivers that need external firmware.
|
||||
STANDALONE n
|
||||
|
||||
# Make /proc/config.gz available.
|
||||
IKCONFIG_PROC y
|
||||
|
||||
# Optimize with -O2, not -Os.
|
||||
CC_OPTIMIZE_FOR_SIZE n
|
||||
|
||||
# Enable the kernel's built-in memory tester.
|
||||
MEMTEST y
|
||||
|
||||
# Include the CFQ I/O scheduler in the kernel, rather than as a
|
||||
# module, so that the initrd gets a good I/O scheduler.
|
||||
IOSCHED_CFQ y
|
||||
BLK_CGROUP y # required by CFQ
|
||||
|
||||
# Disable some expensive (?) features.
|
||||
FTRACE n
|
||||
KPROBES n
|
||||
NUMA? n
|
||||
PM_TRACE_RTC n
|
||||
|
||||
# Enable various subsystems.
|
||||
ACCESSIBILITY y # Accessibility support
|
||||
AUXDISPLAY y # Auxiliary Display support
|
||||
DONGLE y # Serial dongle support
|
||||
HIPPI? y
|
||||
MTD_COMPLEX_MAPPINGS y # needed for many devices
|
||||
SCSI_LOWLEVEL y # enable lots of SCSI devices
|
||||
SCSI_LOWLEVEL_PCMCIA y
|
||||
SPI y # needed for many devices
|
||||
SPI_MASTER y
|
||||
WAN y
|
||||
|
||||
# Networking options.
|
||||
IP_PNP n
|
||||
IPV6_PRIVACY y
|
||||
NETFILTER_ADVANCED y
|
||||
IP_VS_PROTO_TCP y
|
||||
IP_VS_PROTO_UDP y
|
||||
IP_VS_PROTO_ESP y
|
||||
IP_VS_PROTO_AH y
|
||||
IP_DCCP_CCID3 n # experimental
|
||||
CLS_U32_PERF y
|
||||
CLS_U32_MARK y
|
||||
|
||||
# Wireless networking.
|
||||
IPW2100_MONITOR y # support promiscuous mode
|
||||
IPW2200_MONITOR y # support promiscuous mode
|
||||
HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
|
||||
HOSTAP_FIRMWARE_NVRAM y
|
||||
ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus
|
||||
ATH9K_AHB y # Ditto, AHB bus
|
||||
|
||||
# Some settings to make sure that fbcondecor works - in particular,
|
||||
# disable tileblitting and the drivers that need it.
|
||||
|
||||
# Enable various FB devices.
|
||||
FB y
|
||||
FB_EFI y
|
||||
FB_NVIDIA_I2C y # Enable DDC Support
|
||||
FB_RIVA_I2C y
|
||||
FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
|
||||
FB_ATY_GX y # Mach64 GX support
|
||||
FB_SAVAGE_I2C y
|
||||
FB_SAVAGE_ACCEL y
|
||||
FB_SIS_300 y
|
||||
FB_SIS_315 y
|
||||
FB_3DFX_ACCEL y
|
||||
FB_GEODE y
|
||||
|
||||
# Video configuration
|
||||
# Enable KMS for devices whose X.org driver supports it.
|
||||
DRM_I915_KMS y
|
||||
DRM_RADEON_KMS y
|
||||
# Hybrid graphics support
|
||||
VGA_SWITCHEROO y
|
||||
|
||||
# Sound.
|
||||
SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
|
||||
SND_HDA_INPUT_BEEP y # Support digital beep via input layer
|
||||
SND_USB_CAIAQ_INPUT y
|
||||
PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
|
||||
|
||||
# USB serial devices.
|
||||
USB_SERIAL_GENERIC y # USB Generic Serial Driver
|
||||
USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
|
||||
USB_SERIAL_KEYSPAN_USA28 y
|
||||
USB_SERIAL_KEYSPAN_USA28X y
|
||||
USB_SERIAL_KEYSPAN_USA28XA y
|
||||
USB_SERIAL_KEYSPAN_USA28XB y
|
||||
USB_SERIAL_KEYSPAN_USA19 y
|
||||
USB_SERIAL_KEYSPAN_USA18X y
|
||||
USB_SERIAL_KEYSPAN_USA19W y
|
||||
USB_SERIAL_KEYSPAN_USA19QW y
|
||||
USB_SERIAL_KEYSPAN_USA19QI y
|
||||
USB_SERIAL_KEYSPAN_USA49W y
|
||||
USB_SERIAL_KEYSPAN_USA49WLC y
|
||||
|
||||
# Filesystem options - in particular, enable extended attributes and
|
||||
# ACLs for all filesystems that support them.
|
||||
EXT2_FS_XATTR y # Ext2 extended attributes
|
||||
EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
|
||||
EXT2_FS_SECURITY y # Ext2 Security Labels
|
||||
EXT2_FS_XIP y # Ext2 execute in place support
|
||||
EXT4_FS_POSIX_ACL y
|
||||
EXT4_FS_SECURITY y
|
||||
REISERFS_FS_XATTR y
|
||||
REISERFS_FS_POSIX_ACL y
|
||||
REISERFS_FS_SECURITY y
|
||||
JFS_POSIX_ACL y
|
||||
JFS_SECURITY y
|
||||
XFS_QUOTA y
|
||||
XFS_POSIX_ACL y
|
||||
XFS_RT y # XFS Realtime subvolume support
|
||||
OCFS2_DEBUG_MASKLOG n
|
||||
BTRFS_FS_POSIX_ACL y
|
||||
UBIFS_FS_XATTR y
|
||||
UBIFS_FS_ADVANCED_COMPR y
|
||||
NFSD_V2_ACL y
|
||||
NFSD_V3 y
|
||||
NFSD_V3_ACL y
|
||||
NFSD_V4 y
|
||||
CIFS_XATTR y
|
||||
CIFS_POSIX y
|
||||
|
||||
# Security related features.
|
||||
STRICT_DEVMEM y # Filter access to /dev/mem
|
||||
SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
|
||||
|
||||
# Misc. options.
|
||||
8139TOO_8129 y
|
||||
8139TOO_PIO n # PIO is slower
|
||||
AIC79XX_DEBUG_ENABLE n
|
||||
AIC7XXX_DEBUG_ENABLE n
|
||||
AIC94XX_DEBUG n
|
||||
B43_PCMCIA y
|
||||
BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
|
||||
BLK_DEV_IDEACPI y # IDE ACPI support
|
||||
BLK_DEV_INTEGRITY y
|
||||
BSD_PROCESS_ACCT_V3 y
|
||||
BT_HCIUART_BCSP y
|
||||
BT_HCIUART_H4 y # UART (H4) protocol support
|
||||
BT_HCIUART_LL y
|
||||
BT_L2CAP y
|
||||
BT_SCO y # audio support
|
||||
BT_RFCOMM m
|
||||
BT_RFCOMM_TTY y # RFCOMM TTY support
|
||||
CRASH_DUMP n
|
||||
DMAR? n # experimental
|
||||
DVB_DYNAMIC_MINORS y # we use udev
|
||||
FUSION y # Fusion MPT device support
|
||||
IDE_GD_ATAPI y # ATAPI floppy support
|
||||
IRDA_ULTRA y # Ultra (connectionless) protocol
|
||||
JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
|
||||
JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
|
||||
JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
|
||||
JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
|
||||
LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
|
||||
LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
|
||||
LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
|
||||
LOGO n # not needed
|
||||
MEDIA_ATTACH y
|
||||
MEGARAID_NEWGEN y
|
||||
MICROCODE_AMD y
|
||||
MODVERSIONS y
|
||||
MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
|
||||
MTRR_SANITIZER y
|
||||
NET_FC y # Fibre Channel driver support
|
||||
PPP_MULTILINK y # PPP multilink support
|
||||
REGULATOR y # Voltage and Current Regulator Support
|
||||
SCSI_LOGGING y # SCSI logging facility
|
||||
SERIAL_8250 y # 8250/16550 and compatible serial support
|
||||
SLIP_COMPRESSED y # CSLIP compressed headers
|
||||
SLIP_SMART y
|
||||
THERMAL_HWMON y # Hardware monitoring support
|
||||
USB_DEBUG n
|
||||
USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
|
||||
X86_CHECK_BIOS_CORRUPTION y
|
||||
X86_MCE y
|
||||
|
||||
# Linux Containers
|
||||
RT_GROUP_SCHED? y
|
||||
CGROUP_DEVICE? y
|
||||
CGROUP_MEM_RES_CTLR? y
|
||||
CGROUP_MEM_RES_CTLR_SWAP? y
|
||||
DEVPTS_MULTIPLE_INSTANCES? y
|
||||
|
||||
# Enable staging drivers. These are somewhat experimental, but
|
||||
# they generally don't hurt.
|
||||
STAGING y
|
||||
|
||||
# PROC_EVENTS requires that the netlink connector is not built
|
||||
# as a module. This is required by libcgroup's cgrulesengd.
|
||||
CONNECTOR y
|
||||
PROC_EVENTS y
|
||||
|
||||
${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
|
||||
${extraConfig}
|
||||
'';
|
||||
in
|
||||
|
||||
import ./generic.nix (
|
||||
|
||||
rec {
|
||||
version = "3.2-rc1";
|
||||
|
||||
modDirVersion = "3.2.0-rc1";
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
|
||||
'';
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2";
|
||||
sha256 = "0pp79njklvjzzr4wpyymqhkiq0xgz1sgil5sjms2xj583jg8c4wm";
|
||||
};
|
||||
|
||||
config = configWithPlatform stdenv.platform;
|
||||
configCross = configWithPlatform stdenv.cross.platform;
|
||||
|
||||
features.iwlwifi = true;
|
||||
}
|
||||
|
||||
// removeAttrs args ["extraConfig"]
|
||||
)
|
||||
@@ -36,24 +36,24 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
makeAufs3StandalonePatch = {version, rev, sha256}:
|
||||
makeAufs3StandalonePatch = {version, rev, sha256}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "aufs3-standalone-${version}.patch";
|
||||
stdenv.mkDerivation {
|
||||
name = "aufs3-standalone-${version}.patch";
|
||||
|
||||
src = fetchgit {
|
||||
url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git;
|
||||
inherit sha256 rev;
|
||||
};
|
||||
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
#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
|
||||
installPhase = ''
|
||||
cat aufs3-base.patch aufs3-proc_map.patch aufs3-standalone.patch > $out
|
||||
'';
|
||||
src = fetchgit {
|
||||
url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git;
|
||||
inherit sha256 rev;
|
||||
};
|
||||
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
# 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
|
||||
installPhase = ''
|
||||
cat aufs3-base.patch aufs3-proc_map.patch aufs3-standalone.patch > $out
|
||||
'';
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
rec {
|
||||
@@ -297,12 +297,26 @@ rec {
|
||||
aufs3_0 = rec {
|
||||
name = "aufs3.0";
|
||||
version = "3.0";
|
||||
utilRev = "a08d17d433567c7c2586c5fc2625a714b20fe155";
|
||||
utilHash = "4772c1c6a36da7bbd448057c227a9cd1856ccf72748765cf85421ab0c4e34535";
|
||||
utilRev = "cabe3601001ab3838215116c32715c9de9412e62";
|
||||
utilHash = "7fc6cfe1e69a0b2438eaee056e15d42a2d6be396a637fcfb1b89858fcecc832f";
|
||||
patch = makeAufs3StandalonePatch {
|
||||
inherit version;
|
||||
rev = "1067b9d8d64d23c70d905c9cd3c90a669e39c4d4";
|
||||
sha256 = "b508cab5987a623f057ae5fdc006c909a6bae6151af6e12fe672bf97b1a7549d";
|
||||
rev = "517b27621cdfb793959acac849dae9888338526a";
|
||||
sha256 = "8085200ac78d0c1e082d4c721a09f4a4c1d96ae86e307075836d09c3e7d502df";
|
||||
};
|
||||
features.aufsBase = true;
|
||||
features.aufs3 = true;
|
||||
};
|
||||
|
||||
aufs3_1 = rec {
|
||||
name = "aufs3.1";
|
||||
version = "3.1";
|
||||
utilRev = "cabe3601001ab3838215116c32715c9de9412e62";
|
||||
utilHash = "7fc6cfe1e69a0b2438eaee056e15d42a2d6be396a637fcfb1b89858fcecc832f";
|
||||
patch = makeAufs3StandalonePatch {
|
||||
inherit version;
|
||||
rev = "7386b57432ec5e73632a5375804239b02b6c00f0";
|
||||
sha256 = "af4e9ad890e1b72d14170c97d8ead53291f09e275db600932724e6181530be2d";
|
||||
};
|
||||
features.aufsBase = true;
|
||||
features.aufs3 = true;
|
||||
@@ -383,31 +397,6 @@ rec {
|
||||
patch = ./guruplug-mach-type.patch;
|
||||
};
|
||||
|
||||
tuxonice_2_6_34 = makeTuxonicePatch {
|
||||
version = "3.2-rc2";
|
||||
kernelVersion = "2.6.34";
|
||||
sha256 = "0bagqinmky1kmvg3vw8cdysqklxrsfjm7gqrpxviq9jq8vyycviz";
|
||||
};
|
||||
|
||||
tuxonice_2_6_35 = makeTuxonicePatch {
|
||||
version = "3.2-rc2";
|
||||
kernelVersion = "2.6.35";
|
||||
sha256 = "00jbrqq6p1lyvli835wczc0vqsn0z73jpb2aak3ak0vgnvsxw37q";
|
||||
};
|
||||
|
||||
tuxonice_2_6_36 = makeTuxonicePatch {
|
||||
version = "3.2-rc2";
|
||||
kernelVersion = "2.6.36";
|
||||
sha256 = "1vcw3gpjdghnkli46j37pc6rp8mqk8dh688jv8rppzsry0ll7b7k";
|
||||
};
|
||||
|
||||
tuxonice_2_6_37 = makeTuxonicePatch {
|
||||
version = "3.2-rc2";
|
||||
kernelVersion = "2.6.37";
|
||||
url = "http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2";
|
||||
sha256 = "0acllabvbm9pmjnh0zx9mgnp47xbrl9ih6i037c85h0ymnjsxdhk";
|
||||
};
|
||||
|
||||
glibc_getline =
|
||||
{
|
||||
# Patch to work around conflicting types for the `getline' function
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{stdenv, fetchurl, pam, yacc, flex}:
|
||||
{ stdenv, fetchurl, pam, yacc, flex }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libcgroup-0.37.1";
|
||||
@@ -11,9 +11,10 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ pam ];
|
||||
|
||||
buildNativeInputs = [ yacc flex ];
|
||||
|
||||
meta = {
|
||||
description = "library that abstracts the control group file system in Linux";
|
||||
homepage = "http://libcg.sourceforge.net";
|
||||
description = "Library and tools to manage Linux's cgroup resource management system";
|
||||
homepage = http://libcg.sourceforge.net/;
|
||||
license = "LGPL";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let versionNumber = "285.05.09"; in
|
||||
let versionNumber = "290.10"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
|
||||
@@ -18,12 +18,12 @@ stdenv.mkDerivation {
|
||||
if stdenv.system == "i686-linux" then
|
||||
fetchurl {
|
||||
url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
|
||||
sha256 = "15kgsfpv0jigm1v3vnhcagni694lqm55kqysslmvb090nsczl0yf";
|
||||
sha256 = "1amdqmgi8rf8mafc5d8jnw6rk1bxrmxc5jm4wm2p8xqzm99qzglr";
|
||||
}
|
||||
else if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
|
||||
sha256 = "1zkgsjkhbx6dfmhhbflghbysr3icwfb5p6210xnhfss5dp2cvbwl";
|
||||
sha256 = "01d4cci1ipnamrxisdvsxjr6d4qbj257b46y0glm6grnw11i3x2g";
|
||||
}
|
||||
else throw "nvidia-x11 does not support platform ${stdenv.system}";
|
||||
|
||||
|
||||
@@ -1,22 +1,31 @@
|
||||
{ stdenv, fetchurl, pam, glibc }:
|
||||
|
||||
{ stdenv, fetchurl, pam ? null, glibcCross ? null }:
|
||||
|
||||
let
|
||||
glibc = if stdenv ? cross
|
||||
then glibcCross
|
||||
else assert stdenv ? glibc; stdenv.glibc;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "shadow-4.1.4.2";
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pkg-shadow.alioth.debian.org/releases/${name}.tar.bz2";
|
||||
sha256 = "1449ny7pdnwkavg92wvibapnkgdq5pas38nvl1m5xa37g5m7z64p";
|
||||
};
|
||||
|
||||
buildInputs = [ pam ];
|
||||
buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam;
|
||||
|
||||
patches = [ ./no-sanitize-env.patch ./su-name.patch ./keep-path.patch ];
|
||||
|
||||
preBuild =
|
||||
# Assume System V `setpgrp (void)', which is the default on GNU variants
|
||||
# (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
|
||||
preConfigure = "export ac_cv_func_setpgrp_void=yes";
|
||||
|
||||
preBuild = assert glibc != null;
|
||||
''
|
||||
substituteInPlace lib/nscd.c --replace /usr/sbin/nscd ${glibc}/sbin/nscd
|
||||
'';
|
||||
|
||||
|
||||
meta = {
|
||||
homepage = http://pkg-shadow.alioth.debian.org/;
|
||||
description = "Suite containing authentication-related tools such as passwd and su";
|
||||
|
||||
@@ -45,6 +45,10 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
patches = [ ./custom-rules.patch ] ++
|
||||
[(fetchurl {
|
||||
url = https://bugs.archlinux.org/task/25356?getfile=7281;
|
||||
sha256 = "01xib1pfdbwacgx8dqxgrf67a0mwkpm4kxy9f9v3df93v0m4pmbm";
|
||||
})] ++
|
||||
stdenv.lib.optional (stdenv.system == "armv5tel-linux") ./pre-accept4-kernel.patch;
|
||||
|
||||
meta = {
|
||||
|
||||
Reference in New Issue
Block a user