amd64 now gets x86-64 and i386 headers using a similar method to sparc... I'll rewrit...
authorJeremy Huddleston <eradicator@gentoo.org>
Tue, 11 Jan 2005 02:57:57 +0000 (02:57 +0000)
committerJeremy Huddleston <eradicator@gentoo.org>
Tue, 11 Jan 2005 02:57:57 +0000 (02:57 +0000)
sys-kernel/linux26-headers/ChangeLog
sys-kernel/linux26-headers/Manifest
sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.8.1-r3 [new file with mode: 0644]
sys-kernel/linux26-headers/files/generate-asm-amd64 [new file with mode: 0644]
sys-kernel/linux26-headers/linux26-headers-2.6.7-r4.ebuild
sys-kernel/linux26-headers/linux26-headers-2.6.8.1-r3.ebuild [new file with mode: 0644]
sys-kernel/linux26-headers/linux26-headers-2.6.8.1.ebuild

index fecea9293f9ff09e39edd50ae3eee34c2e1deb90..48a58be4b6010f5935aad7570ac06914ccf599b8 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for sys-kernel/linux26-headers
 # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/ChangeLog,v 1.50 2005/01/06 15:43:26 plasmaroo Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/ChangeLog,v 1.51 2005/01/11 02:57:56 eradicator Exp $
+
+*linux26-headers-2.6.8.1-r3 (10 Jan 2005)
+
+  10 Jan 2005; Jeremy Huddleston <eradicator@gentoo.org>
+  +files/generate-asm-amd64, +linux26-headers-2.6.8.1-r3.ebuild:
+  amd64 now gets x86-64 and i386 headers using a similar method to sparc...
+  I'll rewrite that script to use better abstraction soon.
 
 *linux26-headers-2.6.8.1-r2 (06 Jan 2005)
 
index 8751ee1f8903259ba3f37570c56f00bf53a5495d..cb5edc834cb12177ec83cc12ec5aa74420f52e82 100644 (file)
@@ -1,21 +1,34 @@
-MD5 84ab08a9d19744c4ce5e7bd012bfce4b ChangeLog 11256
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+MD5 be0831bdae008299f2fec5d1560fdd76 ChangeLog 11558
+MD5 0b03e11240bb0152a20dda11b294afc6 linux26-headers-2.6.8.1.ebuild 3898
 MD5 ef73521498edcf1cb4d946227942685f linux26-headers-2.6.8.1-r2.ebuild 5047
-MD5 b3d1c41a74dbe1041b4082288cacd3ca linux26-headers-2.6.7-r4.ebuild 4031
+MD5 093a86114419f7df2d4443e9e556813a linux26-headers-2.6.8.1-r3.ebuild 6248
 MD5 21dcb669b4e8535f0a04f40ad2c4c9ff metadata.xml 224
-MD5 58516a09eebcaa2239ea0b70f310484e linux26-headers-2.6.8.1.ebuild 3895
+MD5 0a27d15eb477733f52c87cb0c3c7a359 linux26-headers-2.6.7-r4.ebuild 4033
 MD5 18bed04a1b45de515096089cc10913ec files/digest-linux26-headers-2.6.8.1 68
-MD5 598136365858338b26557b7587c6725f files/linux26-headers-2.6.3-strict-ansi-fix.patch 4166
+MD5 8f3a515e5e309495343a3eef4721ddd6 files/linux26-headers-2.6.8.1-appCompat.patch 56603
+MD5 57e8b81485f8a1ba10d41dd7949d40a8 files/linux26-headers-2.6.8.1-strict-ansi-fix.patch 4132
+MD5 fb33a0ba21375f190137b9f478ad9799 files/digest-linux26-headers-2.6.8.1-r2 146
+MD5 7ab4a9c1bda271f1e874d19d00d62464 files/generate-asm-amd64 1645
+MD5 fb33a0ba21375f190137b9f478ad9799 files/digest-linux26-headers-2.6.8.1-r3 146
 MD5 b3e4e51616a061327b46cbd31132c8c8 files/generate-asm-sparc 1654
+MD5 8a065c0dc3b8fac8747de35f1af75a2c files/linux26-headers-2.6.0-fb.patch 386
+MD5 a73786f0b9dda7e9ebacb91a192384f9 files/linux26-headers-2.6.0-sysctl_h-compat.patch 352
 MD5 00e5bea1e925c2d81d32191937eb8d5b files/linux26-headers-soundcard-ppc64.patch 631
+MD5 598136365858338b26557b7587c6725f files/linux26-headers-2.6.3-strict-ansi-fix.patch 4166
 MD5 602f7309c0163c018627f06b5f1ace3a files/linux26-headers-2.6.8.1-arm-float.patch 640
-MD5 a73786f0b9dda7e9ebacb91a192384f9 files/linux26-headers-2.6.0-sysctl_h-compat.patch 352
-MD5 57e8b81485f8a1ba10d41dd7949d40a8 files/linux26-headers-2.6.8.1-strict-ansi-fix.patch 4132
-MD5 d78e0d94873de4518bca401d5688401c files/linux26-headers-2.6.7-prefetch.patch 528
+MD5 7c487aa645f5d88e86c3252ab44ef5ae files/linux26-headers-2.6.7-appCompat.patch 42608
 MD5 6dd79a655f006aebb7206203f3654976 files/linux26-headers-2.6.7-generic-arm-prepare.patch 978
-MD5 8a065c0dc3b8fac8747de35f1af75a2c files/linux26-headers-2.6.0-fb.patch 386
-MD5 9101139b0720280f338a1823c281ee84 files/linux26-headers-2.6.8.1-parisc-syscall.patch 413
-MD5 fb33a0ba21375f190137b9f478ad9799 files/digest-linux26-headers-2.6.8.1-r2 146
-MD5 8f3a515e5e309495343a3eef4721ddd6 files/linux26-headers-2.6.8.1-appCompat.patch 56603
 MD5 b405a908c2cc1e6ed3e25f030c41f4c4 files/digest-linux26-headers-2.6.7-r4 66
-MD5 7c487aa645f5d88e86c3252ab44ef5ae files/linux26-headers-2.6.7-appCompat.patch 42608
+MD5 d78e0d94873de4518bca401d5688401c files/linux26-headers-2.6.7-prefetch.patch 528
 MD5 5258c64bed51646ee05cde4fbc40ae03 files/linux26-headers-2.6.8.1-sparc-glibcsafe.patch 2886
+MD5 9101139b0720280f338a1823c281ee84 files/linux26-headers-2.6.8.1-parisc-syscall.patch 413
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.0 (GNU/Linux)
+
+iD8DBQFB40DhArHZZzCEUG0RAvgBAJ9kyA0IZsd/IqxX3Irb1FtB4ze3CACePKbQ
+HR1DG6DUya+9oFFCUclBFaM=
+=+S7V
+-----END PGP SIGNATURE-----
diff --git a/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.8.1-r3 b/sys-kernel/linux26-headers/files/digest-linux26-headers-2.6.8.1-r3
new file mode 100644 (file)
index 0000000..1d222ab
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 9517ca999e822b898fbdc7e72796b1aa linux-2.6.8.1.tar.bz2 35628066
+MD5 4e297074bd9a1c1a1552bc5409f43ea5 linux-2.6.8.1-sh-headers.patch.bz2 79212
diff --git a/sys-kernel/linux26-headers/files/generate-asm-amd64 b/sys-kernel/linux26-headers/files/generate-asm-amd64
new file mode 100644 (file)
index 0000000..97b3b9a
--- /dev/null
@@ -0,0 +1,80 @@
+#!/bin/sh -e
+#
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/files/generate-asm-amd64,v 1.1 2005/01/11 02:57:57 eradicator Exp $
+#
+# This script generates the files in /usr/include/asm for sparc systems
+# during installation of sys-kernel/linux-headers.
+# Will no longer be needed when full 64 bit support is used on sparc64
+# systems.
+#
+# Shamefully ripped from Debian
+# ----------------------------------------------------------------------
+
+# Idea borrowed from RedHat's kernel package
+
+if [ -n "$1" ]; then
+       if [ ! -d "$1" ]; then
+               echo "$1" does not exist, or is not a directory
+               exit 1
+       fi
+       cd $1
+else
+       cd /usr/include
+fi
+
+if [ ! -d asm-i386 -o ! -d asm-x86_64 ] ; then
+       echo E: asm-i386 and asm-x86_64 must exist, or you will have problems
+       exit 1
+fi
+
+rm -rf asm
+mkdir asm
+
+for h in `( ls asm-i386; ls asm-x86_64 ) | grep '\.h$' | sort -u`; do
+       name=`echo $h | tr a-z. A-Z_`
+       # common header
+       cat > asm/$h << EOF
+/* All asm/ files are generated and point to the corresponding
+ * file in asm-i386 or asm-x86_64. To regenerate, run "generate-asm"
+ */
+
+#ifndef __ASM_STUB__${name}__
+#define __ASM_STUB__${name}__
+
+EOF
+
+       # common for sparc and sparc64
+       if [ -f asm-i386/$h -a -f asm-x86_64/$h ]; then
+               cat >> asm/$h <<EOF
+#ifdef __x86_64__
+#include <asm-x86_64/$h>
+#else
+#include <asm-i386/$h>
+#endif
+EOF
+
+       # sparc only
+       elif [ -f asm-i386/$h ]; then
+               cat >> asm/$h <<EOF
+#ifndef __x86_64__
+#include <asm-i386/$h>
+#endif
+EOF
+       # sparc64 only
+       else
+               cat >> asm/$h <<EOF
+#ifdef __x86_64__
+#include <asm-x86_64/$h>
+#endif
+EOF
+       fi
+
+       # common footer
+       cat >> asm/$h <<EOF
+
+#endif /* !__SPARCSTUB__${name}__ */
+EOF
+
+done
+
+exit 0
index a3c52cf1c5d93959ecf296f2b11921608aea2c41..98f38230087044e49da8df57af2f3ce7a8231b00 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.7-r4.ebuild,v 1.7 2004/10/20 14:14:08 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.7-r4.ebuild,v 1.8 2005/01/11 02:57:56 eradicator Exp $
 
 ETYPE="headers"
 inherit kernel eutils
diff --git a/sys-kernel/linux26-headers/linux26-headers-2.6.8.1-r3.ebuild b/sys-kernel/linux26-headers/linux26-headers-2.6.8.1-r3.ebuild
new file mode 100644 (file)
index 0000000..26d8904
--- /dev/null
@@ -0,0 +1,200 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.8.1-r3.ebuild,v 1.1 2005/01/11 02:57:56 eradicator Exp $
+
+# What's in this kernel?
+
+# INCLUDED:
+# 1) linux sources from kernel.org
+
+ETYPE="headers"
+inherit kernel eutils
+
+OKV="${PV/_/-}"
+KV="${OKV}"
+EXTRAVERSION=""
+
+DESCRIPTION="Linux ${OKV} headers from kernel.org"
+HOMEPAGE="http://www.kernel.org/ http://www.gentoo.org/"
+SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${OKV}.tar.bz2
+       mirror://gentoo/linux-2.6.8.1-sh-headers.patch.bz2"
+
+LICENSE="GPL-2"
+#KEYWORDS="~alpha amd64 arm hppa ia64 ~ppc ppc64 ~sparc sh x86"
+# Just amd64 fixes over -r2
+KEYWORDS="~amd64"
+IUSE=""
+
+if [[ ${CTARGET} = ${CHOST} ]]
+then
+       DEPEND="!virtual/os-headers"
+       PROVIDE="virtual/kernel virtual/os-headers"
+       SLOT="0"
+else
+       SLOT="${CTARGET}"
+fi
+
+S=${WORKDIR}/linux-${OKV}
+
+headers___fix() {
+       sed -i \
+               -e "s/\([ "$'\t'"]\)u8\([ "$'\t'"]\)/\1__u8\2/g;" \
+               -e "s/\([ "$'\t'"]\)u16\([ "$'\t'"]\)/\1__u16\2/g;" \
+               -e "s/\([ "$'\t'"]\)u32\([ "$'\t'"]\)/\1__u32\2/g;" \
+               -e "s/\([ "$'\t'"]\)u64\([ "$'\t'"]\)/\1__u64\2/g;" \
+               "$@"
+}
+
+pkg_setup() {
+       # Archs which have their own separate header packages, add a check here
+       # and redirect the user to them
+       case "${ARCH}" in
+               mips)
+                       eerror "These headers are not appropriate for your architecture."
+                       eerror "Please use sys-kernel/mips-headers instead."
+                       die
+               ;;
+       esac
+}
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+       epatch ${WORKDIR}/linux-2.6.8.1-sh-headers.patch
+
+       # Do Stuff
+       kernel_universal_unpack
+
+       # User-space patches for various things
+       epatch ${FILESDIR}/${PN}-2.6.0-sysctl_h-compat.patch
+       epatch ${FILESDIR}/${PN}-2.6.0-fb.patch
+       epatch ${FILESDIR}/${PN}-2.6.7-generic-arm-prepare.patch
+       epatch ${FILESDIR}/${P}-strict-ansi-fix.patch
+       epatch ${FILESDIR}/${P}-appCompat.patch
+       epatch ${FILESDIR}/${P}-sparc-glibcsafe.patch
+       epatch ${FILESDIR}/${PN}-soundcard-ppc64.patch
+       epatch ${FILESDIR}/${P}-arm-float.patch
+       epatch ${FILESDIR}/${P}-parisc-syscall.patch
+
+       # Fixes
+       headers___fix ${S}/include/asm-ia64/*
+       headers___fix ${S}/include/asm-ppc64/*
+       headers___fix ${S}/include/asm-ppc64/iSeries/*
+}
+
+src_compile() {
+       # autoconf.h isnt generated unless it already exists. plus, we have
+       # no guarantee that any headers are installed on the system...
+       [ -f "${ROOT}"/usr/include/linux/autoconf.h ] \
+               || touch include/linux/autoconf.h
+
+       # When cross-compiling, we need to set the CROSS_COMPILE var properly
+       local extra_makeopts=
+       if [[ ${CTARGET} != ${CHOST} ]] ; then
+               extra_makeopts="CROSS_COMPILE=${CTARGET}-"
+       elif type -p ${CHOST}-ar ; then
+               extra_makeopts="CROSS_COMPILE=${CHOST}-"
+       fi
+
+       # if there arent any installed headers, then there also isnt an asm
+       # symlink in /usr/include/, and make defconfig will fail, so we have
+       # to force an include path with $S.
+       local HOSTCFLAGS="-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I${S}/include/"
+
+       set_arch_to_kernel
+       ln -sf ${S}/include/asm-${ARCH} ${S}/include/asm
+       make defconfig HOSTCFLAGS="${HOSTCFLAGS}" ${extra_makeopts} || die "defconfig failed"
+       make prepare HOSTCFLAGS="${HOSTCFLAGS}" ${extra_makeopts} || die "prepare failed"
+       set_arch_to_portage
+}
+
+src_install() {
+       # Do normal src_install stuff
+       kernel_src_install
+
+       # Sorry, but this multilib includes stuff NEEDS to be abstracted better...
+       # I'll do it soon... --eradicator
+
+       # If this is sparc, then we need to place asm_offsets.h in the proper location(s)
+       if [ "${PROFILE_ARCH}" = "sparc64" -o "${PROFILE_ARCH}" = "sparc64-multilib" ] ; then
+               # We don't need the asm dir, generate-asm-sparc will take care of this
+               rm -Rf ${D}/${LINUX_INCDIR}/asm
+
+               # We do need empty directories, though...
+               dodir ${LINUX_INCDIR}/asm
+               dodir ${LINUX_INCDIR}/asm-sparc
+               dodir ${LINUX_INCDIR}/asm-sparc64
+
+               # Copy asm-sparc and asm-sparc64
+               cp -ax ${S}/include/asm-sparc/* ${D}/${LINUX_INCDIR}/asm-sparc
+               cp -ax ${S}/include/asm-sparc64/* ${D}/${LINUX_INCDIR}/asm-sparc64
+
+               # Check if generate-asm-sparc exists
+               if [ -a "${FILESDIR}/generate-asm-sparc" ]; then
+                       # Copy generate-asm-sparc into the sandox
+                       cp ${FILESDIR}/generate-asm-sparc ${WORKDIR}/generate-asm-sparc
+
+                       # Just in case generate-asm-sparc isn't executable, make it so
+                       if [ ! -x "${WORKDIR}/generate-asm-sparc" ]; then
+                               chmod +x ${WORKDIR}/generate-asm-sparc
+                       fi
+
+                       # Generate asm for sparc systems
+                       ${WORKDIR}/generate-asm-sparc ${D}/${LINUX_INCDIR}
+               else
+                       eerror "${FILESDIR}/generate-asm-sparc doesn't exist!"
+                       die
+               fi
+       fi
+
+       # If this is sparc, then we need to place asm_offsets.h in the proper location(s)
+       if [ "${ARCH}" = "amd64" ]; then
+               # We don't need the asm dir, generate-asm-sparc will take care of this
+               rm -Rf ${D}/${LINUX_INCDIR}/asm
+
+               # We do need empty directories, though...
+               dodir ${LINUX_INCDIR}/asm
+               dodir ${LINUX_INCDIR}/asm-i386
+               dodir ${LINUX_INCDIR}/asm-x86_64
+
+               cp -ax ${S}/include/asm-i386/* ${D}/${LINUX_INCDIR}/asm-i386
+               cp -ax ${S}/include/asm-x86_64/* ${D}/${LINUX_INCDIR}/asm-x86_64
+
+               # Check if generate-asm-amd64 exists
+               if [ -a "${FILESDIR}/generate-asm-amd64" ]; then
+                       # Copy generate-asm-amd64 into the sandox
+                       cp ${FILESDIR}/generate-asm-amd64 ${WORKDIR}/generate-asm-amd64
+
+                       # Just in case generate-asm-amd64 isn't executable, make it so
+                       if [ ! -x "${WORKDIR}/generate-asm-amd64" ]; then
+                               chmod +x ${WORKDIR}/generate-asm-amd64
+                       fi
+
+                       # Generate asm for sparc systems
+                       ${WORKDIR}/generate-asm-amd64 ${D}/${LINUX_INCDIR}
+               else
+                       eerror "${FILESDIR}/generate-asm-amd64 doesn't exist!"
+                       die
+               fi
+       fi
+
+       # If this is 2.5 or 2.6 headers, then we need asm-generic too
+       if [ "`KV_to_int ${OKV}`" -ge "`KV_to_int 2.6.0`" ]; then
+               dodir ${LINUX_INCDIR}/asm-generic
+               cp -ax ${S}/include/asm-generic/* ${D}/${LINUX_INCDIR}/asm-generic
+       fi
+}
+
+pkg_preinst() {
+       kernel_pkg_preinst
+}
+
+pkg_postinst() {
+       kernel_pkg_postinst
+
+       einfo "Kernel headers are usually only used when recompiling glibc, as such, following the installation"
+       einfo "of newer headers, it is advised that you re-merge glibc as follows:"
+       einfo "emerge glibc"
+       einfo "Failure to do so will cause glibc to not make use of newer features present in the updated kernel"
+       einfo "headers."
+}
index db8228045734189c94d49eb4484c3e0beaf55552..a0818cfdfd55382273aae5d459f9b93f4ae19273 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.8.1.ebuild,v 1.9 2004/10/20 14:14:08 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux26-headers/linux26-headers-2.6.8.1.ebuild,v 1.10 2005/01/11 02:57:56 eradicator Exp $
 
 ETYPE="headers"
 inherit kernel eutils