diff --git a/srcpkgs/kernel-snapshot/INSTALL b/srcpkgs/kernel-snapshot/INSTALL
index 37cffaecb58..ae622efcdce 100644
--- a/srcpkgs/kernel-snapshot/INSTALL
+++ b/srcpkgs/kernel-snapshot/INSTALL
@@ -1,7 +1,7 @@
 #
 # This script builds the required initramfs.
 #
-_KVER="2.6.37-rc6"
+_KVER="2.6.37-rc7"
 
 case "${ACTION}" in
 post)
diff --git a/srcpkgs/kernel-snapshot/REMOVE b/srcpkgs/kernel-snapshot/REMOVE
index 127afc0f32c..1ba7068d26e 100644
--- a/srcpkgs/kernel-snapshot/REMOVE
+++ b/srcpkgs/kernel-snapshot/REMOVE
@@ -1,7 +1,7 @@
 #
 # This script removes the initramfs.
 #
-_KVER="2.6.37-rc6"
+_KVER="2.6.37-rc7"
 
 case "${ACTION}" in
 post)
diff --git a/srcpkgs/kernel-snapshot/template b/srcpkgs/kernel-snapshot/template
index 67b20483f73..84157192630 100644
--- a/srcpkgs/kernel-snapshot/template
+++ b/srcpkgs/kernel-snapshot/template
@@ -10,11 +10,11 @@ pkgname=kernel-snapshot
 #revision=1
 _kernel_snapshot=yes
 _kernel_ver=2.6.37
-_kernel_patch_ver=rc6
+_kernel_patch_ver=rc7
 version=${_kernel_ver}${_kernel_patch_ver}
 wrksrc="linux-${_kernel_ver}-${_kernel_patch_ver}"
 distfiles="${KERNEL_SITE}/kernel/v2.6/testing/linux-${_kernel_ver}-${_kernel_patch_ver}.tar.bz2"
-checksum=c08e095fe3d545d1c2a5789548b618bc1538d92a7347cd8942311fcefb15a234
+checksum=f94df495ebc2824af7ca09c4a27b689370f753f80eb19251733ce7ba3db563c3
 subpackages="$pkgname-headers"
 
 noverifyrdeps=yes
diff --git a/srcpkgs/kernel/template b/srcpkgs/kernel/template
index 3e5a0e53234..15cd4840533 100644
--- a/srcpkgs/kernel/template
+++ b/srcpkgs/kernel/template
@@ -38,7 +38,7 @@ do_build()
 		arch=x86_64
 	fi
 
-	cd ${wrksrc} || return 1
+	cd ${wrksrc}
 
 	# Configure
 	if [ -f ${FILESDIR}/$arch-dotconfig ]; then
@@ -53,8 +53,8 @@ do_build()
 			${wrksrc}/.config
 	fi
 	# Build
-	make ${makejobs} prepare || return 1
-	make ${makejobs} bzImage modules || return 1
+	make ${makejobs} prepare
+	make ${makejobs} bzImage modules
 }
 
 do_install()
@@ -67,7 +67,7 @@ do_install()
 		arch=x86_64
 	fi
 
-	cd ${wrksrc} || return 1
+	cd ${wrksrc}
 
 	# Install kernel, firmware and modules
 	make INSTALL_MOD_PATH=${DESTDIR} modules_install || return 1
@@ -107,14 +107,13 @@ do_install()
 		${DESTDIR}/boot/System.map-${lver} || return 1
 	cd ${DESTDIR}/lib/modules/${lver} && \
 		rm -f source build && \
-		ln -sf ../../../usr/src/kernel-headers-${hdrlver} \
-		build || return 1
+		ln -sf ../../../usr/src/kernel-headers-${hdrlver} build
 
-	cd ${wrksrc} || return 1
+	cd ${wrksrc}
 	# Install required headers to build external modules
-	install -D -m644 Makefile ${hdrdest}/Makefile || return 1
-	install -D -m644 kernel/Makefile ${hdrdest}/kernel/Makefile || return 1
-	install -D -m644 .config ${hdrdest}/.config || return 1
+	install -D -m644 Makefile ${hdrdest}/Makefile
+	install -D -m644 kernel/Makefile ${hdrdest}/kernel/Makefile
+	install -D -m644 .config ${hdrdest}/.config
 	mkdir -p ${hdrdest}/include
 	# Remove firmware stuff provided by the "linux-firmware" pkg.
 	rm -rf ${DESTDIR}/lib/firmware
@@ -122,75 +121,76 @@ do_install()
 	for i in acpi asm-generic config generated linux math-emu media net \
 		pcmcia scsi sound trace video; do
 		[ -d include/$i ] && \
-			cp -a include/$i ${hdrdest}/include || return 1
+			cp -a include/$i ${hdrdest}/include
 	done
 
 	# Add workaround for vmware not finding kernel headers.
 	cd ${hdrdest}/include/linux && \
 		ln -sf ../generated/utsrelease.h . && \
-		ln -sf ../generated/autoconf.h . || return 1
+		ln -sf ../generated/autoconf.h .
 
-	cd ${wrksrc} || return 1
-	mkdir -p ${hdrdest}/arch/x86
-	cp -a arch/x86/include ${hdrdest}/arch/x86 || return 1
+	cd ${wrksrc}
+	mkdir -p ${hdrdest}/arch/{x86,xen}
+	cp -a arch/x86/include ${hdrdest}/arch/x86
+	cp -a include/xen ${hdrdest}/arch
 
 	# Copy files necessary for later builds, like nvidia and vmware
-	cp Module.symvers ${hdrdest} || return 1
-	cp -a scripts ${hdrdest} || return 1
+	cp Module.symvers ${hdrdest}
+	cp -a scripts ${hdrdest}
 
 	mkdir -p ${hdrdest}/arch/x86/kernel
-	cp arch/x86/Makefile ${hdrdest}/arch/x86 || return 1
+	cp arch/x86/Makefile ${hdrdest}/arch/x86
 	if [ "$arch" = "i386" ]; then
-		cp arch/x86/Makefile_32.cpu ${hdrdest}/arch/x86 || return 1
+		cp arch/x86/Makefile_32.cpu ${hdrdest}/arch/x86
 	fi
-	cp arch/x86/kernel/asm-offsets.s ${hdrdest}/arch/x86/kernel || return 1
+	cp arch/x86/kernel/asm-offsets.s ${hdrdest}/arch/x86/kernel
 
 	# Add headers for lirc package
 	mkdir -p ${hdrdest}/drivers/media/video
 	cp drivers/media/video/*.h \
-		${hdrdest}/drivers/media/video || return 1
+		${hdrdest}/drivers/media/video
 	for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 \
 		 sn9c102 usbvideo; do
 		mkdir -p ${hdrdest}/drivers/media/video/$i
 		cp -a drivers/media/video/$i/*.h \
-			${hdrdest}/drivers/media/video/$i || return 1
+			${hdrdest}/drivers/media/video/$i
 	done
 
 	# Add docbook makefile
 	install -D -m644 Documentation/DocBook/Makefile \
-		${hdrdest}/Documentation/DocBook/Makefile || return 1
+		${hdrdest}/Documentation/DocBook/Makefile
 
 	# Add md headers
 	mkdir -p ${hdrdest}/drivers/md
-	cp drivers/md/*.h ${hdrdest}/drivers/md || return 1
+	cp drivers/md/*.h ${hdrdest}/drivers/md
 
 	# Add inotify.h
 	mkdir -p ${hdrdest}/include/linux
-	cp include/linux/inotify.h ${hdrdest}/include/linux || return 1
+	cp include/linux/inotify.h ${hdrdest}/include/linux
 
 	# Add wireless headers
 	mkdir -p ${hdrdest}/net/mac80211/
-	cp net/mac80211/*.h ${hdrdest}/net/mac80211 || return 1
+	cp net/mac80211/*.h ${hdrdest}/net/mac80211
 
 	# Add dvb headers for external modules in reference to:
 	# http://bugs.archlinux.org/task/9912
 	mkdir -p ${hdrdest}/drivers/media/dvb/dvb-core
 	cp drivers/media/dvb/dvb-core/*.h \
-		${hdrdest}/drivers/media/dvb/dvb-core || return 1
+		${hdrdest}/drivers/media/dvb/dvb-core
 
 	# Add dvb headers for external modules in reference to:
 	# http://bugs.archlinux.org/task/11194
 	mkdir -p ${hdrdest}/include/config/dvb
-	cp include/config/dvb/*.h ${hdrdest}/include/config/dvb || return 1
+	cp include/config/dvb/*.h ${hdrdest}/include/config/dvb
 
 	# Add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
 	# in reference to:
 	# http://bugs.archlinux.org/task/13146
 	mkdir -p ${hdrdest}/drivers/media/dvb/frontends
 	cp drivers/media/dvb/frontends/lgdt330x.h \
-		${hdrdest}/drivers/media/dvb/frontends || return 1
+		${hdrdest}/drivers/media/dvb/frontends
 	cp drivers/media/video/msp3400-driver.h \
-		${hdrdest}/drivers/media/dvb/frontends || return 1
+		${hdrdest}/drivers/media/dvb/frontends
 
 	# Add dvb headers in reference to: 
 	# http://bugs.archlinux.org/task/20402
@@ -204,20 +204,20 @@ do_install()
 	# Add xfs and shmem for aufs building
 	mkdir -p ${hdrdest}/fs/xfs
 	mkdir -p ${hdrdest}/mm
-	cp fs/xfs/xfs_sb.h ${hdrdest}/fs/xfs/xfs_sb.h || return 1
+	cp fs/xfs/xfs_sb.h ${hdrdest}/fs/xfs/xfs_sb.h
 
 	# Add headers vor virtualbox in reference to:
 	# http://bugs.archlinux.org/task/14568
-	cp -a include/drm ${hdrdest}/include || return 1
+	cp -a include/drm ${hdrdest}/include
 
 	# Add headers for broadcom wl in reference to:
 	# http://bugs.archlinux.org/task/14568
-	cp -a include/trace ${hdrdest}/include || return 1
+	cp -a include/trace ${hdrdest}/include
 
 	# Copy in Kconfig files
 	for i in $(find . -name "Kconfig*"); do
 		mkdir -p ${hdrdest}/$(echo $i | sed 's|/Kconfig.*||')
-		cp $i ${hdrdest}/$i || return 1
+		cp $i ${hdrdest}/$i
 	done
 
 	# Remove unneeded architectures