summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core-testing/linux-api-headers/PKGBUILD43
-rw-r--r--abs/core-testing/linux-api-headers/scsi.patch42
2 files changed, 85 insertions, 0 deletions
diff --git a/abs/core-testing/linux-api-headers/PKGBUILD b/abs/core-testing/linux-api-headers/PKGBUILD
new file mode 100644
index 0000000..7090df8
--- /dev/null
+++ b/abs/core-testing/linux-api-headers/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 80778 2010-05-22 07:55:08Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+
+pkgname=linux-api-headers
+pkgver=2.6.34
+_basever=2.6.34
+pkgrel=1
+pkgdesc="Kernel headers sanitized for use in userspace"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/libc"
+license=('GPL2')
+provides=("kernel-headers=${pkgver}")
+conflicts=("glibc<=2.10.1-4" 'kernel-headers')
+replaces=('kernel-headers')
+source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${_basever}.tar.bz2
+ #http://www.kernel.org/pub/linux/kernel/v2.6/patch-${pkgver}.bz2
+ scsi.patch)
+md5sums=('10eebcb0178fb4540e2165bfd7efc7ad'
+ 'b6d05566fcfe07770d9386f0588f8758')
+
+build() {
+ cd ${srcdir}/linux-${_basever}
+ #patch -Np1 -i ${srcdir}/patch-${pkgver}
+
+ # fix issues with transition of scsi.h from glibc
+ patch -Np1 -i ${srcdir}/scsi.patch
+
+ make mrproper
+ make headers_check
+}
+
+package() {
+ cd ${srcdir}/linux-${_basever}
+ make INSTALL_HDR_PATH=${pkgdir}/usr headers_install
+
+ # use headers from libdrm
+ rm -rf ${pkgdir}/usr/include/drm
+
+ rm -f $(find ${pkgdir} -name .install -or -name ..install.cmd)
+}
diff --git a/abs/core-testing/linux-api-headers/scsi.patch b/abs/core-testing/linux-api-headers/scsi.patch
new file mode 100644
index 0000000..f85a3b7
--- /dev/null
+++ b/abs/core-testing/linux-api-headers/scsi.patch
@@ -0,0 +1,42 @@
+diff -Naur linux-2.6.32-old/include/scsi/scsi.h linux-2.6.32/include/scsi/scsi.h
+--- linux-2.6.32-old/include/scsi/scsi.h 2009-12-03 13:51:21.000000000 +1000
++++ linux-2.6.32/include/scsi/scsi.h 2009-12-12 10:43:11.000000000 +1000
+@@ -145,14 +145,15 @@
+
+ /* defined in T10 SCSI Primary Commands-2 (SPC2) */
+ struct scsi_varlen_cdb_hdr {
+- u8 opcode; /* opcode always == VARIABLE_LENGTH_CMD */
+- u8 control;
+- u8 misc[5];
+- u8 additional_cdb_length; /* total cdb length - 8 */
++ __u8 opcode; /* opcode always == VARIABLE_LENGTH_CMD */
++ __u8 control;
++ __u8 misc[5];
++ __u8 additional_cdb_length; /* total cdb length - 8 */
+ __be16 service_action;
+ /* service specific data follows */
+ };
+
++#ifdef __KERNEL__
+ static inline unsigned
+ scsi_varlen_cdb_length(const void *hdr)
+ {
+@@ -168,6 +169,7 @@
+ return (cmnd[0] == VARIABLE_LENGTH_CMD) ?
+ scsi_varlen_cdb_length(cmnd) : COMMAND_SIZE(cmnd[0]);
+ }
++#endif
+
+ /*
+ * SCSI Architecture Model (SAM) Status codes. Taken from SAM-3 draft
+@@ -284,8 +286,10 @@
+ SCSI_PROTOCOL_UNSPEC = 0xf, /* No specific protocol */
+ };
+
++#ifdef __KERNEL__
+ /* Returns a human-readable name for the device */
+ extern const char * scsi_device_type(unsigned type);
++#endif
+
+ /*
+ * standard mode-select header prepended to all mode-select commands