summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-08-20 13:41:12 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-08-20 13:41:12 +0000
commitf16353b6f236ae9046bfc3d9031efd519fc73b82 (patch)
treeeb4b931c357f70a0cd6804e8be853a49ca2f77c9 /pkgs/os-specific
parentf7d0fcdaac7dc2d60a0d57e90632f20ba36242f5 (diff)
parent7dea1a0f4f0b893780e0e4d8a64b77642fa22205 (diff)
downloadnixpkgs-f16353b6f236ae9046bfc3d9031efd519fc73b82.tar
nixpkgs-f16353b6f236ae9046bfc3d9031efd519fc73b82.tar.gz
nixpkgs-f16353b6f236ae9046bfc3d9031efd519fc73b82.tar.bz2
nixpkgs-f16353b6f236ae9046bfc3d9031efd519fc73b82.tar.lz
nixpkgs-f16353b6f236ae9046bfc3d9031efd519fc73b82.tar.xz
nixpkgs-f16353b6f236ae9046bfc3d9031efd519fc73b82.tar.zst
nixpkgs-f16353b6f236ae9046bfc3d9031efd519fc73b82.zip
Updated from trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=23275
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix2
-rw-r--r--pkgs/os-specific/linux/blcr/0.8.2.nix51
-rw-r--r--pkgs/os-specific/linux/blcr/default.nix55
-rw-r--r--pkgs/os-specific/linux/blcr/fixes.patch304
-rw-r--r--pkgs/os-specific/linux/htop/default.nix1
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix22
-rw-r--r--pkgs/os-specific/linux/iptables/default.nix1
-rw-r--r--pkgs/os-specific/linux/kernel/generate-config.pl2
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.27.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.31.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.32.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.34.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.35.nix207
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix2
-rw-r--r--pkgs/os-specific/linux/pam/default.nix11
-rw-r--r--pkgs/os-specific/linux/pam_ldap/default.nix15
17 files changed, 319 insertions, 378 deletions
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index be5eff7e56e..65c42e09039 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation {
   # moved assertions here because the name is evaluated when the NixOS manual is generated
   # Don't make that fail - fail lazily when a users tries to build this derivation only
   dummy =
-    assert xorg.xorgserver.name == "xorg-server-1.7.5";
+    # assert xorg.xorgserver.name == "xorg-server-1.7.5";
     assert stdenv.system == "x86_64-linux"; # i686-linux should work as well - however I didn't test it.
     null;
 
diff --git a/pkgs/os-specific/linux/blcr/0.8.2.nix b/pkgs/os-specific/linux/blcr/0.8.2.nix
deleted file mode 100644
index d5d715c223c..00000000000
--- a/pkgs/os-specific/linux/blcr/0.8.2.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, fetchurl, kernel, perl, makeWrapper, autoconf, automake, libtool }:
-
-assert stdenv.isLinux;
-
-let
-  version = "0.8.2";
-  website = https://ftg.lbl.gov/CheckpointRestart;
-in
-
-stdenv.mkDerivation {
-  name = "blcr-${version}-${kernel.version}";
-
-  src = fetchurl {
-    url = "${website}/downloads/blcr-${version}.tar.gz";
-    sha256 = "1ldvzrajljkm318z5ix1p27n0gmv7gqxij6ck7p5fz4ncdbb01x8";
-  };
-
-  patches = [ ./fixes.patch ];
-
-  buildInputs = [ perl makeWrapper autoconf automake libtool ];
-
-  # this gives "configure: error: unrecognized option: `-d'"
-  /*
-  configureFlags = [
-    "--with-linux=$(ls -d ${kernel}/lib/modules/ * /build)"
-    "--with-kmod-dir=$out/lib/modules/$(cd ${kernel}/lib/modules; ls -d 2.6.*)" 
-    "--with-system-map=${kernel}/System.map"
-  ];
-  */
-
-  configurePhase = ''
-    autoreconf
-    ./configure --prefix=$out \
-    --with-linux=$(ls -d ${kernel}/lib/modules/*/build) \
-    --with-kmod-dir=$out/lib/modules/$(cd ${kernel}/lib/modules; ls -d 2.6.*) \
-    --with-system-map=${kernel}/System.map
-  '';
-
-  postInstall = ''
-    for prog in "$out/bin/"*
-    do
-      wrapProgram "$prog" --prefix LD_LIBRARY_PATH ":" "$out/lib"
-    done
-  '';
-      
-  meta = {
-    description = "Berkeley Lab Checkpoint/Restart for Linux (BLCR)";
-    homepage = website;
-    license = "GPL2";
-  };
-}
diff --git a/pkgs/os-specific/linux/blcr/default.nix b/pkgs/os-specific/linux/blcr/default.nix
new file mode 100644
index 00000000000..fb0db8e671c
--- /dev/null
+++ b/pkgs/os-specific/linux/blcr/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, kernel, perl, makeWrapper, autoconf, automake, libtool }:
+
+assert stdenv.isLinux;
+
+let
+  version = "0.8.2";
+  website = https://ftg.lbl.gov/CheckpointRestart;
+in
+
+stdenv.mkDerivation {
+  name = "blcr-${version}-${kernel.version}";
+
+  src = fetchurl {
+    url = "${website}/downloads/blcr-${version}.tar.gz";
+    sha256 = "1ldvzrajljkm318z5ix1p27n0gmv7gqxij6ck7p5fz4ncdbb01x8";
+  };
+  
+  patchFlags = "-p0";
+
+  patches = map fetchurl [
+    { url = http://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.2+kernel-2.6.31.patch01;
+      sha256 = "0jnz18kbrm64hahvhk35zakcpylad1khsp5kjxkj19j0lkjv3m4h";
+    }
+    { url = http://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.2+kernel-2.6.32.patch02;
+      sha256 = "1f5s9c7iiaxd67ki3bmz09mf66shzbl97hvwaq4nmk6miq94k1fw";
+    }
+    { url = http://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.2+kernel-2.6.34.patch03;
+      sha256 = "09924h83xdwpxjlx3yg5b51fgm6gjywn2rb4nnygz16n87wqvb41";
+    }
+  ];
+
+  buildInputs = [ perl makeWrapper autoconf automake libtool ];
+
+  preConfigure = ''
+    ./autogen.sh
+    configureFlagsArray=(
+      --with-linux=$(ls -d ${kernel}/lib/modules/*/build)
+      --with-kmod-dir=$out/lib/modules/$(cd ${kernel}/lib/modules; ls -d 2.6.*)
+      --with-system-map=${kernel}/System.map
+    )
+  '';
+
+  postInstall = ''
+    for prog in "$out/bin/"*
+    do
+      wrapProgram "$prog" --prefix LD_LIBRARY_PATH ":" "$out/lib"
+    done
+  '';
+      
+  meta = {
+    description = "Berkeley Lab Checkpoint/Restart for Linux (BLCR)";
+    homepage = website;
+    license = "GPL2";
+  };
+}
diff --git a/pkgs/os-specific/linux/blcr/fixes.patch b/pkgs/os-specific/linux/blcr/fixes.patch
deleted file mode 100644
index 879352d8325..00000000000
--- a/pkgs/os-specific/linux/blcr/fixes.patch
+++ /dev/null
@@ -1,304 +0,0 @@
-diff -ru -x Makefile.in -x aclocal.m4 -x configure -x '*config.h.in' -x 'config.*' -x depcomp -x install-sh -x ltmain.sh -x missing blcr-0.8.2-orig/acinclude.m4 blcr-0.8.2/acinclude.m4
---- blcr-0.8.2-orig/acinclude.m4	2009-06-12 22:37:01.000000000 +0200
-+++ blcr-0.8.2/acinclude.m4	2010-07-29 21:18:29.000000000 +0200
-@@ -953,8 +953,9 @@
- # When complete sets LINUX_SYMTAB_CMD such that
- # "eval $LINUX_SYMTAB_CMD" will produce a System.map on stdout.
- cr_stripped_maps=''
-+m4_define([cr_ksymtab_patt],[[-e '[TD] sys_open' -e '[AB] _end']])
- AC_DEFUN([_CR_CHECK_SYSTEM_MAP],[
--  if test -n "$1" -a -r "$1" && grep ' [[AB]] _end' <"$1" >/dev/null 2>/dev/null; then
-+  if test -n "$1" -a -r "$1" && grep cr_ksymtab_patt <"$1" >/dev/null 2>/dev/null; then
-     if grep -B1 '[[AB]] _end' <"$1" | grep _stext >/dev/null 2>/dev/null; then
-       # Reject "stripped" files (such as in FC2)
-       # Recognized (poorly) by _stext and _end as last two entries.
-@@ -968,7 +969,7 @@
- ])
- AC_DEFUN([_CR_CHECK_VMLINUX],[
-   AC_REQUIRE([AC_PROG_NM])
--  if test -n "$1" -a -r "$1" && ($NM "$1" | grep ' [[AB]] _end') >/dev/null 2>/dev/null; then
-+  if test -n "$1" -a -r "$1" && ($NM "$1" | grep cr_ksymtab_patt) >/dev/null 2>/dev/null; then
-     LINUX_VMLINUX="$1"
-     LINUX_SYMTAB_FILE="$1"
-     LINUX_SYMTAB_CMD="$NM $1 2>/dev/null"
-diff -ru -x Makefile.in -x aclocal.m4 -x configure -x '*config.h.in' -x 'config.*' -x depcomp -x install-sh -x ltmain.sh -x missing blcr-0.8.2-orig/blcr_imports/module.c blcr-0.8.2/blcr_imports/module.c
---- blcr-0.8.2-orig/blcr_imports/module.c	2008-05-13 08:06:19.000000000 +0200
-+++ blcr-0.8.2/blcr_imports/module.c	2010-07-29 21:18:29.000000000 +0200
-@@ -81,7 +81,13 @@
- 
- 	/* Check current kernel against System.map used at configure time */
- 	{
-+#if defined(CR_EXPORTED_KCODE_register_chrdev)
- 	    unsigned long offset1 = CR_EXPORTED_KCODE_register_chrdev - (unsigned long)&register_chrdev;
-+#elif defined(CR_EXPORTED_KCODE___register_chrdev)
-+	    unsigned long offset1 = CR_EXPORTED_KCODE___register_chrdev - (unsigned long)&__register_chrdev;
-+#else
-+	    #error "No register_chrdev symbol for validation of System.map"
-+#endif
- 	    unsigned long offset2 = CR_EXPORTED_KCODE_register_blkdev - (unsigned long)&register_blkdev;
- 	    if (
- #if defined(CONFIG_RELOCATABLE) && defined(CONFIG_PHYSICAL_ALIGN)
-diff -ru -x Makefile.in -x aclocal.m4 -x configure -x '*config.h.in' -x 'config.*' -x depcomp -x install-sh -x ltmain.sh -x missing blcr-0.8.2-orig/config/kbuild.mak.in blcr-0.8.2/config/kbuild.mak.in
---- blcr-0.8.2-orig/config/kbuild.mak.in	2008-08-04 20:39:29.000000000 +0200
-+++ blcr-0.8.2/config/kbuild.mak.in	2010-07-29 21:18:29.000000000 +0200
-@@ -1,7 +1,7 @@
- # Here are the configuration bits needed in the "caller" to use this file
- #SUBDIR = vmadump4
- #TARGET = vmadump
--#SOURCES = vmadump_common.c vmadump_@CR_ARCH@.c optional.h
-+#SOURCES = vmadump_common.c vmadump_@CR_KARCH@.c optional.h
- #[optional]EXTRA_CFLAGS = -I$(top_builddir)/include -I$(top_builddir) -I$(srcdir)
- #[optional]IMPORTS_FROM = /some/other/kbuild/module/dir /and/another
- #
-@@ -26,7 +26,7 @@
- # Remove headers from the list of sources, and sort to remove possible duplicates
- DOT_C := $(sort $(filter %.c,$(SOURCES)))
- 
--ifeq ($(TOPDIR),)
-+ifeq ($(srctree),)
- # not within KBUILD - implement automake's standard goals
- 
- all: $(LINUX_OBJ)/.config prepare
-diff -ru -x Makefile.in -x aclocal.m4 -x configure -x '*config.h.in' -x 'config.*' -x depcomp -x install-sh -x ltmain.sh -x missing blcr-0.8.2-orig/configure.ac blcr-0.8.2/configure.ac
---- blcr-0.8.2-orig/configure.ac	2009-06-16 00:33:56.000000000 +0200
-+++ blcr-0.8.2/configure.ac	2010-07-29 21:18:29.000000000 +0200
-@@ -123,6 +123,8 @@
- AC_CONFIG_AUX_DIR(./config)
- AM_INIT_AUTOMAKE([foreign no-exeext std-options])
- 
-+AM_MAINTAINER_MODE([enable])
-+
- ################################################################################
- # Boilerplate for versions and copyrights in generated files
- ################################################################################
-@@ -454,9 +456,10 @@
- AC_SUBST(CR_CLIENT_LDADD)
- 
- # If building the tests, we can optionally test C++
--if test x"$cr_build_tests" = xyes; then
-+# Note, however, that  bug 2619 reports that we can't call this conditionally.
-+dnl if test x"$cr_build_tests" = xyes; then
-   CR_PROG_CXX
--fi
-+dnl fi
- 
- ################################################################################
- # Check libraries
-@@ -843,6 +846,22 @@
- # Checks for matching (we hope) symbol table
- CR_LINUX_SYMTAB
- 
-+# Set and substitute CR_KARCH to enable i386 userland on x86_64 kernels
-+CR_KARCH=$CR_ARCH
-+if test $CR_ARCH = i386; then
-+       # probe the System.map to find out if we need to change CR_KARCH at all.
-+       # All this does is count the number of *digits* in a hex formatted address
-+       AC_MSG_NOTICE([Testing if KARCH is the same as ARCH])
-+       symlen=`$LINUX_SYMTAB_CMD | head -n1 | sed 's/ .*$//;s/\(.\)/\1\n/g;s/\n$//'|wc -l`
-+       if test $symlen -eq 16; then
-+               AC_MSG_NOTICE([Changing KARCH to x86_64])
-+               CR_KARCH=x86_64
-+       else
-+               AC_MSG_NOTICE([Not touching KARCH])
-+       fi
-+fi
-+AC_SUBST([CR_KARCH], $CR_KARCH)
-+
- ## Check for optional kernel headers...
- CR_CHECK_KERNEL_HEADER([linux/syscalls.h])
- CR_CHECK_KERNEL_HEADER([linux/pspace.h])
-@@ -985,7 +1004,7 @@
- fi
- 
- # put_task_struct() requires one of these:
--CR_FIND_KSYM([__put_task_struct],[CODE])
-+CR_FIND_KSYM([__put_task_struct],[CODE],[extern void __put_task_struct(struct task_struct *);])
- CR_FIND_KSYM([__put_task_struct_cb],[CODE])
- 
- CR_CHECK_KERNEL_MEMBER([mm.task_size],[#include <linux/sched.h>],
-@@ -1025,7 +1044,7 @@
- if test -n "${HAVE_MAP_VSYSCALL}"; then
-   CR_FIND_KSYM([map_vsyscall],[CODE])
- fi
--if test $CR_ARCH = x86_64; then
-+if test $CR_KARCH = x86_64; then
-   CR_FIND_KSYM([syscall32_setup_pages],[CODE],
- 	[extern int syscall32_setup_pages(void *, int);])
- fi
-@@ -1093,7 +1112,7 @@
- CR_FIND_KSYM([do_sigaltstack],[CODE],
- 	[extern int do_sigaltstack(const stack_t *, stack_t *, unsigned long);])
- 
--if test $CR_ARCH = i386 -o $CR_ARCH = x86_64; then
-+if test $CR_KARCH = i386 -o $CR_KARCH = x86_64; then
-   CR_CHECK_KERNEL_TYPE([struct n_desc_struct],[
- 	#include <linux/sched.h>
- 	#include <asm/desc.h>])
-@@ -1144,7 +1163,7 @@
-   fi
- fi
- 
--if test $CR_ARCH = i386; then
-+if test $CR_KARCH = i386; then
-   CR_CHECK_KERNEL_MEMBER([pt_regs.xcs],[#include <asm/ptrace.h>],[struct pt_regs],[int],[xcs])
-   CR_CHECK_KERNEL_MEMBER([pt_regs.xfs],[#include <asm/ptrace.h>],[struct pt_regs],[int],[xfs])
-   CR_CHECK_KERNEL_MEMBER([pt_regs.xgs],[#include <asm/ptrace.h>],[struct pt_regs],[int],[xgs])
-@@ -1230,6 +1249,7 @@
- if test -z "${HAVE_2_ARG_FIND_PID}${HAVE_FIND_TASK_BY_PID}${HAVE_FIND_TASK_BY_PID_NS}"; then
-   CR_BAD_KERNEL([unable to determine how to map (type, pid_nr) -> struct task])
- fi
-+CR_FIND_KSYM([find_task_by_pid_ns],[CODE])
- 
- CR_CHECK_KERNEL_CALL([alloc_pid],[#include <linux/sched.h>])
- if test -n "${HAVE_ALLOC_PID}"; then
-@@ -1492,7 +1512,7 @@
- CR_FIND_KSYM([sys_mremap],[CODE],
- 	[extern asmlinkage unsigned long sys_mremap(unsigned long addr, unsigned long old_len, unsigned long new_len, unsigned long flags, unsigned long new_addr);])
- CR_FIND_KSYM([do_sigaction],[CODE])
--if test $CR_ARCH = x86_64; then
-+if test $CR_KARCH = x86_64; then
-   CR_FIND_KSYM([load_gs_index],[CODE])
- 
-   CR_CHECK_KERNEL_CALL([read_pda],[#include <asm/percpu.h>])
-@@ -1536,7 +1556,10 @@
- # the System.map used to locate symbols and configure time.
- CR_FIND_EXPORTED_KSYM([register_chrdev],[CODE])
- if test "$cr_addr" = "0"; then
--  CR_BAD_KERNEL([kernel does not export register_chrdev])
-+  CR_FIND_EXPORTED_KSYM([__register_chrdev],[CODE])
-+  if test "$cr_addr" = "0"; then
-+    CR_BAD_KERNEL([kernel does not export register_chrdev or __register_chrdev])
-+  fi
- fi
- CR_FIND_EXPORTED_KSYM([register_blkdev],[CODE])
- if test "$cr_addr" = "0"; then
-diff -ru -x Makefile.in -x aclocal.m4 -x configure -x '*config.h.in' -x 'config.*' -x depcomp -x install-sh -x ltmain.sh -x missing blcr-0.8.2-orig/cr_module/cr_kcompat.h blcr-0.8.2/cr_module/cr_kcompat.h
---- blcr-0.8.2-orig/cr_module/cr_kcompat.h	2009-06-12 22:37:03.000000000 +0200
-+++ blcr-0.8.2/cr_module/cr_kcompat.h	2010-07-29 21:18:29.000000000 +0200
-@@ -274,7 +274,8 @@
- #elif HAVE_2_ARG_FIND_PID
-   #define cr_have_pid(T,P) (find_pid((T),(P)) != NULL)
- #else
--  #error
-+  // XXX: untested!
-+  #define cr_have_pid(T,P) (pid_task(find_vpid(P),(T)) != NULL)
- #endif
- 
- // Process table iterators
-@@ -583,4 +584,9 @@
-   #error "no cr_do_pipe() definition"
- #endif
- 
-+#if !defined(DECLARE_MUTEX)
-+  #define DECLARE_MUTEX(m) DEFINE_SEMAPHORE(m)
-+  #define init_MUTEX(m) sema_init(m, 1)
-+#endif
-+
- #endif /* _CR_KCOMPAT_H */
-diff -ru -x Makefile.in -x aclocal.m4 -x configure -x '*config.h.in' -x 'config.*' -x depcomp -x install-sh -x ltmain.sh -x missing blcr-0.8.2-orig/cr_module/Makefile.am blcr-0.8.2/cr_module/Makefile.am
---- blcr-0.8.2-orig/cr_module/Makefile.am	2008-09-03 02:29:00.000000000 +0200
-+++ blcr-0.8.2/cr_module/Makefile.am	2010-07-29 21:18:29.000000000 +0200
-@@ -31,13 +31,13 @@
- 
- BPROC_VERSION	= "4.0.0pre8"
- vmadump_dir	= $(top_srcdir)/vmadump4
--vmad_sources	= $(vmadump_dir)/vmadump_common.c $(vmadump_dir)/vmadump_@CR_ARCH@.c
-+vmad_sources	= $(vmadump_dir)/vmadump_common.c $(vmadump_dir)/vmadump_@CR_KARCH@.c
- vmad_include	= -I$(vmadump_dir) -D__NR_vmadump=-1 -DBPROC_VERSION='$(BPROC_VERSION)'
- 
- cr_sources	= $(my_sources) $(vmad_sources)
- INCLUDES =	-I$(top_builddir)/include	\
- 		-I$(top_srcdir)/include		\
--		-I$(srcdir)/arch/@CR_ARCH@	\
-+		-I$(srcdir)/arch/@CR_KARCH@	\
- 		$(vmad_include)
- 
- # echo an arbitrary make/environment variable (needed by kbuild glue)
-diff -ru -x Makefile.in -x aclocal.m4 -x configure -x '*config.h.in' -x 'config.*' -x depcomp -x install-sh -x ltmain.sh -x missing blcr-0.8.2-orig/include/blcr_ksyms.h blcr-0.8.2/include/blcr_ksyms.h
---- blcr-0.8.2-orig/include/blcr_ksyms.h	2008-12-02 01:17:42.000000000 +0100
-+++ blcr-0.8.2/include/blcr_ksyms.h	2010-07-29 21:18:29.000000000 +0200
-@@ -55,7 +55,11 @@
- 
- #if defined(__i386__) || defined(__x86_64__)
-   #ifdef CONFIG_RELOCATABLE
--    #define _CR_RELOC_KSYM(_addr) (_addr - CR_EXPORTED_KCODE_register_chrdev + register_chrdev)
-+    #ifndef CR_EXPORTED_KCODE___register_chrdev
-+      #define _CR_RELOC_KSYM(_addr) (_addr - CR_EXPORTED_KCODE_register_chrdev + register_chrdev)
-+    #else
-+      #define _CR_RELOC_KSYM(_addr) (_addr - CR_EXPORTED_KCODE___register_chrdev + __register_chrdev)
-+    #endif
-   #else
-     #define _CR_RELOC_KSYM(_addr) _addr
-   #endif
-diff -ru -x Makefile.in -x aclocal.m4 -x configure -x '*config.h.in' -x 'config.*' -x depcomp -x install-sh -x ltmain.sh -x missing blcr-0.8.2-orig/libcr/arch/arm/cr_atomic.h blcr-0.8.2/libcr/arch/arm/cr_atomic.h
---- blcr-0.8.2-orig/libcr/arch/arm/cr_atomic.h	2008-09-05 05:55:11.000000000 +0200
-+++ blcr-0.8.2/libcr/arch/arm/cr_atomic.h	2010-07-29 21:18:29.000000000 +0200
-@@ -33,6 +33,25 @@
- #ifndef _CR_ATOMIC_H
- #define _CR_ATOMIC_H	1
- 
-+#if defined(__ARM_ARCH_2__) || defined(__ARM_ARCH_3__)
-+  // Sanity-check that we're not building on a really old architecture,
-+  // so that the using #ifdef __ARM_ARCH_4__ works to test for
-+  // lack of blx <register> support.
-+  #error "ARM Architecture versions prior to ARMv4 not supported."
-+#elif defined(__ARM_ARCH_4T__) && defined(__thumb__)
-+  // The inline asm is not compatible with Thumb-1 anyway, but in particular
-+  // we assume later that if __ARM_ARCH_4__ is not defined, we have ARMv5
-+  // or above.  Ensure here that this assumption will be valid.
-+  #error "Building for Thumb on ARMv4 is not supported."
-+#endif
-+
-+// Determine whether to use BLX <register> for function calls to
-+// computed addresses:
-+#undef ARM_HAVE_BLX_REG
-+#if !(defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__))
-+  #define ARM_HAVE_BLX_REG 1
-+#endif
-+
- #include "blcr_config.h"
- 
- #ifndef _STRINGIFY
-@@ -61,7 +80,7 @@
-     __asm__ __volatile__("": : :"memory");
- }
- 
--#if defined(CR_KCODE___kuser_cmpxchg)
-+#if 1
- // For kernel >= 2.6.12, we use __kernel_cmpxchg()
- //    See linux-2.6.12/arch/arm/kernel/entry-armv.S
- // For >= ARM6 we could/should be using load-exclusive directly.
-@@ -83,10 +102,15 @@
- 
-     __asm__ __volatile__ (
- 	"0:	ldr	r0, [r2]	@ r0 = *p		\n"
-+	"	add	r1, r0, %2	@ r1 = r0 + op		\n"
- 	"	mov	r3, #" _STRINGIFY(cri_kuser_base) "	\n"
-+#ifdef ARM_HAVE_BLX_REG
-+	"	sub	r3, r3, #" _STRINGIFY(cri_kuser_offset) "\n"
-+	"	blx	r3\n"
-+#else // ARMv4T and below
- 	"	adr	lr, 1f		@ lr = return address	\n"
--	"	add	r1, r0, %2	@ r1 = r0 + op		\n"
- 	"	sub	pc, r3, #" _STRINGIFY(cri_kuser_offset) "\n"
-+#endif
- 	"1:	bcc     0b		@ retry on Carry Clear"
- 	: "=&r" (__sum)
- 	: "r" (__ptr), "rIL" (op)
-@@ -135,9 +159,14 @@
-     __asm__ __volatile__ (
- 	"0:     mov     r0, r4          @ r0 = oldval           \n"
- 	"	mov	r3, #" _STRINGIFY(cri_kuser_base) "	\n"
--	"	mov	lr, pc		@ lr = return addr	\n"
-+#ifdef ARM_HAVE_BLX_REG
-+	"	sub	r3, r3, #" _STRINGIFY(cri_kuser_offset) "\n"
-+	"	blx	r3\n"
-+#else // ARMv4T and below
-+	"	adr	lr, 1f		@ lr = return addr	\n"
- 	"	sub	pc, r3, #" _STRINGIFY(cri_kuser_offset) "\n"
--	"       ldrcc   ip, [r2]        @ if (!swapped) ip=*p   \n"
-+#endif
-+	"1:	ldrcc   ip, [r2]        @ if (!swapped) ip=*p   \n"
- 	"       eorcs   ip, r4, #1      @ else ip=oldval^1      \n"
- 	"       teq     r4, ip          @ if (ip == oldval)     \n"
- 	"       beq     0b              @    then retry           "
diff --git a/pkgs/os-specific/linux/htop/default.nix b/pkgs/os-specific/linux/htop/default.nix
index e7691f1006f..6a232099351 100644
--- a/pkgs/os-specific/linux/htop/default.nix
+++ b/pkgs/os-specific/linux/htop/default.nix
@@ -10,5 +10,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "An interactive process viewer for Linux";
     homepage = "http://htop.sourceforge.net";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index ba9430fb7f0..ba0f1d4fd0f 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -1,19 +1,31 @@
-{fetchurl, stdenv, flex, bison, db4}:
+{fetchurl, stdenv, flex, bison, db4, iptables}:
 
 stdenv.mkDerivation rec {
-  name = "iproute2-2.6.29-1";
+  name = "iproute2-2.6.35";
 
   src = fetchurl {
     url = "http://devresources.linux-foundation.org/dev/iproute2/download/${name}.tar.bz2";
-    sha256 = "16zvhdzv7yqyvmwxyqa6shzsld6r0wpnk37dig69sk20wpzv1zqk";
+    sha256 = "18why1wy0v859axgrlfxn80zmskss0410hh9rf5gn9cr29zg9cla";
   };
  
   preConfigure =
     ''
       patchShebangs ./configure
+      sed -e '/ARPDDIR/d' -i Makefile
     '';
+  postConfigure = "cat Config";
 
-  makeFlags = "DESTDIR= LIBDIR=$(out)/lib SBINDIR=$(out)/sbin CONFDIR=$(out)/etc DOCDIR=$(out)/share/doc MANDIR=$(out)/share/man";
+  makeFlags = "DESTDIR= LIBDIR=$(out)/lib SBINDIR=$(out)/sbin"
+   + " CONFDIR=$(out)/etc DOCDIR=$(out)/share/doc/${name}"
+  + " MANDIR=$(out)/share/man";
 
-  buildInputs = [bison flex db4];
+  buildInputs = [bison flex db4 iptables];
+
+  meta = {
+    homepage =
+      http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2;
+    description = "A collection of utilities for controlling TCP / IP"
+      + " networking and traffic control in Linux";
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix
index 1f56a92efe1..2f447f72ab2 100644
--- a/pkgs/os-specific/linux/iptables/default.nix
+++ b/pkgs/os-specific/linux/iptables/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A program to configure the Linux IP packet filtering ruleset";
     homepage = http://www.netfilter.org/projects/iptables/index.html;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl
index 3db050c900c..05b6867bc55 100644
--- a/pkgs/os-specific/linux/kernel/generate-config.pl
+++ b/pkgs/os-specific/linux/kernel/generate-config.pl
@@ -26,7 +26,7 @@ while (<ANSWERS>) {
     s/#.*//;
     if (/^\s*([A-Za-z0-9_]+)(\?)?\s+(\S+)\s*$/) {
         $answers{$1} = $3;
-        $requiredAnswers{$1} = 1 unless defined $2;
+        $requiredAnswers{$1} = !(defined $2);
     } elsif (!/^\s*$/) {
         die "invalid config line: $_";
     }
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index efc2408d371..f5dd09a2ccc 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -61,6 +61,8 @@ in
 stdenv.mkDerivation {
   name = if userModeLinux then "user-mode-linux-${version}" else "linux-${version}";
 
+  enableParallelBuilding = true;
+
   passthru = {
     inherit version;
     # Combine the `features' attribute sets of all the kernel patches.
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.27.nix b/pkgs/os-specific/linux/kernel/linux-2.6.27.nix
index beb14c4c87b..dfbe507fd8f 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.27.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.27.nix
@@ -3,11 +3,11 @@ args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "", ... }:
 import ./generic.nix (
 
   rec {
-    version = "2.6.27.49";
+    version = "2.6.27.51";
   
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
-      sha256 = "09gnh26gs4bkaj9ib3c5cnmbgj3bhbw7g6b49hz0xrp067slyxai";
+      sha256 = "092x3ribl63i1kj27kg4qmvr20sys0wl58qsf1wjiy33pw5j63lk";
     };
 
     features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.31.nix b/pkgs/os-specific/linux/kernel/linux-2.6.31.nix
index 6bc7e84f3fa..d248e8f8608 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.31.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.31.nix
@@ -4,16 +4,12 @@ assert !userModeLinux;
 
 import ./generic.nix (
 
-  let
-    baseVersion = "2.6.31"; 
-  in
-
   rec {
-    version = "2.6.31";
+    version = "2.6.31.14";
   
     src = fetchurl {
-      url = "mirror://kernel/linux/kernel/v2.6/linux-${baseVersion}.tar.bz2";
-      sha256 = "04im1rk53j1im1q8i6pl6qn75zd63dg51dxhq8cfxdsxp3vq7k8a";
+      url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
+      sha256 = "1c6ivcjgns4gbx04mhnhndqikm3prqhhfm2a5zrb1mfyvvishqpp";
     };
 
     features = {
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.32.nix b/pkgs/os-specific/linux/kernel/linux-2.6.32.nix
index 48c4b50a5b6..bb7a218f555 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.32.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.32.nix
@@ -206,11 +206,11 @@ in
 import ./generic.nix (
 
   rec {
-    version = "2.6.32.17";
+    version = "2.6.32.18";
   
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
-      sha256 = "12ingi7ml0cw7hjbpaq5mxl4nvi7683kma3d1z0pzrzdd9wngh1x";
+      sha256 = "1z35clz0176blqk3ygfim0a6y7b4ndbjpc1pkz7pxnscsj1kl9k7";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.34.nix b/pkgs/os-specific/linux/kernel/linux-2.6.34.nix
index 281fbc5ea1b..1f44ae05510 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.34.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.34.nix
@@ -194,11 +194,11 @@ in
 import ./generic.nix (
 
   rec {
-    version = "2.6.34.2";
+    version = "2.6.34.4";
   
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
-      sha256 = "1p1s35sffvsdfh5rd5jl8iyin0il690als0q75fszf0fx1bh63sr";
+      sha256 = "19flipl10cbn4xf4skjr6v3p8baxv3igzvhxm175lkrg2qphv5nd";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.35.nix b/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
new file mode 100644
index 00000000000..9a0a9f3d860
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
@@ -0,0 +1,207 @@
+args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
+, ... }:
+
+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
+
+      # 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
+      NET_POCKET y # enable pocket and portable adapters
+      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
+      IWL4965 y # Intel Wireless WiFi 4965AGN
+      IWL5000 y # Intel Wireless WiFi 5000AGN
+      HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
+      HOSTAP_FIRMWARE_NVRAM y
+
+      # 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
+      # The intel drivers already require KMS
+      DRM_I915_KMS 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_BSG n
+      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_RFCOMM_TTY y # RFCOMM TTY support
+      CPU_FREQ_DEBUG n
+      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
+      KALLSYMS_EXTRA_PASS n
+      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
+
+      ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
+      ${extraConfig}
+    '';
+in
+
+import ./generic.nix (
+
+  rec {
+    version = "2.6.35.2";
+  
+    src = fetchurl {
+      url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
+      sha256 = "1cvbk58i4724v1wkjc574d61in5q4d3l1ix6icy59dsnhx5v9krn";
+    };
+
+    config = configWithPlatform stdenv.platform;
+    configCross = configWithPlatform stdenv.cross.platform;
+
+    features.iwlwifi = true;
+  }
+
+  // removeAttrs args ["extraConfig"]
+)
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index da2292848dc..9a2dc2d28ac 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   name = "lvm2-${v}";
   
   src = fetchurl {
-    url = "ftp://sources.redhat.com/pub/lvm2/LVM2.${v}.tgz";
+    url = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${v}.tgz";
     sha256 = "1lbskrj4pxbipq8f0qhql3p1nqa796v4i1cy6n2fmmbs3fwmfh9a";
   };
   
diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix
index 6b0526c3569..0053d89b605 100644
--- a/pkgs/os-specific/linux/pam/default.nix
+++ b/pkgs/os-specific/linux/pam/default.nix
@@ -13,7 +13,18 @@ stdenv.mkDerivation {
       (stdenv.system != "armv5tel-linux" && stdenv.system != "ict_loongson-2_v0.3_fpu_v0.1-linux")
       libxcrypt;
 
+  postInstall = ''
+    mv -v $out/sbin/unix_chkpwd{,.orig}
+    ln -sv /var/setuid-wrappers/unix_chkpwd $out/sbin/unix_chkpwd
+    '';
+
   preConfigure = ''
     configureFlags="$configureFlags --includedir=$out/include/security"
   '';
+
+  meta = {
+    homepage = http://ftp.kernel.org/pub/linux/libs/pam/;
+    description = "Pluggable Authentication Modules, a flexible mechanism for authenticating user";
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/os-specific/linux/pam_ldap/default.nix b/pkgs/os-specific/linux/pam_ldap/default.nix
index cb37e4a1815..2be869e73e3 100644
--- a/pkgs/os-specific/linux/pam_ldap/default.nix
+++ b/pkgs/os-specific/linux/pam_ldap/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, pam, openldap}:
    
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "pam_ldap-183";
    
   src = fetchurl {
-    url = http://www.padl.com/download/pam_ldap-183.tar.gz;
+    url = "http://www.padl.com/download/${name}.tar.gz";
     md5 = "c0ad81e9d9712ddc6599a6e7a1688778";
   };
 
@@ -13,4 +13,15 @@ stdenv.mkDerivation {
   ";
 
   buildInputs = [pam openldap];
+
+  meta = {
+    homepage = http://www.padl.com/OSS/pam_ldap.html;
+    description = "LDAP backend for PAM";
+    longDescription = ''
+      The pam_ldap module provides the means for Solaris and Linux servers and
+      workstations to authenticate against LDAP directories, and to change their
+      passwords in the directory.'';
+    license = "LGPL";
+    inherit (pam.meta) platforms;
+  };
 }