summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Mylchreest <johnm@gentoo.org>2005-01-06 13:58:15 +0000
committerJohn Mylchreest <johnm@gentoo.org>2005-01-06 13:58:15 +0000
commitc3d67d556962a79e055053f7cb88c67c46df293f (patch)
treeba090abab4445b0eb9a3561879ee40ffe83c74b7
parentFix compilation failure - bug 59743. (Manifest recommit) (diff)
downloadgentoo-2-c3d67d556962a79e055053f7cb88c67c46df293f.tar.gz
gentoo-2-c3d67d556962a79e055053f7cb88c67c46df293f.tar.bz2
gentoo-2-c3d67d556962a79e055053f7cb88c67c46df293f.zip
Fixed bugs: 75034 76849 74655
-rw-r--r--eclass/kernel-2.eclass20
-rw-r--r--eclass/linux-info.eclass22
-rw-r--r--eclass/linux-mod.eclass6
3 files changed, 30 insertions, 18 deletions
diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 20c5f2dd6974..14c5bf8fe3db 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kernel-2.eclass,v 1.68 2005/01/01 03:37:23 eradicator Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kernel-2.eclass,v 1.69 2005/01/06 13:58:15 johnm Exp $
# Description: kernel.eclass rewrite for a clean base regarding the 2.6
# series of kernel with back-compatibility for 2.4
@@ -63,9 +63,9 @@ kernel_is() {
# And lets add a sanity check
[ -z "${KV_FULL}" ] && return 1
- local RESULT operator value test
+ local RESULT operator test value
RESULT=0
-
+
operator="="
if [ "${1}" == "lt" ]
then
@@ -77,7 +77,7 @@ kernel_is() {
shift
elif [ "${1}" == "le" ]
then
- operator="-le"
+ operator="-le"
shift
elif [ "${1}" == "ge" ]
then
@@ -87,17 +87,21 @@ kernel_is() {
if [ -n "${1}" ]
then
- [ ${KV_MAJOR} ${operator} ${1} ] || RESULT=1
+ value="${value}${1}"
+ test="${test}${KV_MAJOR}"
fi
if [ -n "${2}" ]
then
- [ ${KV_MINOR} ${operator} ${2} -a ${RESULT} -eq 0 ] || RESULT=1
+ value="${value}${2}"
+ test="${test}${KV_MINOR}"
fi
if [ -n "${3}" ]
then
- [ ${KV_PATCH} ${operator} ${3} -a ${RESULT} -eq 0 ] || RESULT=1
+ value="${value}${3}"
+ test="${test}${KV_PATCH}"
fi
- return ${RESULT}
+
+ [ ${test} ${operator} ${value} ] && return 0 || return 1
}
diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
index d22bdd24d9f7..a15b977357e5 100644
--- a/eclass/linux-info.eclass
+++ b/eclass/linux-info.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/linux-info.eclass,v 1.15 2004/12/31 09:23:43 mrness Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/linux-info.eclass,v 1.16 2005/01/06 13:58:15 johnm Exp $
#
# Description: This eclass is used as a central eclass for accessing kernel
# related information for sources already installed.
@@ -58,6 +58,14 @@ EXPORT_FUNCTIONS pkg_setup
KERNEL_DIR="${KERNEL_DIR:-/usr/src/linux}"
+# Bug fixes
+
+# fix to bug #75034
+case ${ARCH} in
+ ppc) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
+ ppc64) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
+esac
+
# Pulled from eutils as it might be more useful only being here since
# very few ebuilds which dont use this eclass will ever ever use these functions
set_arch_to_kernel() {
@@ -116,7 +124,7 @@ qeerror() {
getfilevar() {
local ERROR workingdir basefname basedname xarch
ERROR=0
-
+
[ -z "${1}" ] && ERROR=1
[ ! -f "${2}" ] && ERROR=1
@@ -135,7 +143,7 @@ local ERROR workingdir basefname basedname xarch
cd ${basedname}
echo -e "include ${basefname}\ne:\n\t@echo \$(${1})" | \
- make -f - e 2>/dev/null
+ make ${BUILD_FIXES} -f - e 2>/dev/null
cd ${workingdir}
ARCH=${xarch}
@@ -355,15 +363,15 @@ check_kernel_built() {
# if we haven't determined the version yet, we need too.
get_version;
- if [ ! -f "${KV_OUT_DIR}/System.map" ]
+ if [ ! -f "${KV_OUT_DIR}/include/linux/version.h" ]
then
- eerror "These sources have not yet been compiled."
- eerror "We cannot build against an uncompiled tree."
+ eerror "These sources have not yet been prepared."
+ eerror "We cannot build against an unprepared tree."
eerror "To resolve this, please type the following:"
eerror
eerror "# cd ${KV_DIR}"
eerror "# make oldconfig"
- eerror "# make bzImage modules modules_install"
+ eerror "# make modules_prepare"
eerror
eerror "Then please try merging this module again."
die "Kernel sources need compiling first"
diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass
index 5a67f81657f7..632f9693b8fd 100644
--- a/eclass/linux-mod.eclass
+++ b/eclass/linux-mod.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.14 2004/12/29 10:11:16 johnm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.15 2005/01/06 13:58:15 johnm Exp $
# Description: This eclass is used to interface with linux-info in such a way
# to provide the functionality required and initial functions
@@ -252,7 +252,6 @@ linux-mod_pkg_setup() {
linux-info_pkg_setup;
check_kernel_built;
check_modules_supported;
- check_extra_config;
set_kvobj;
}
@@ -275,7 +274,8 @@ linux-mod_src_compile() {
einfo "Preparing ${modulename} module"
cd ${sourcedir}
- emake ${BUILD_PARAMS} ${BUILD_TARGETS:-clean module} || die Unable to make ${BUILD_PARAMS} ${BUILD_TARGETS:-clean module}.
+ emake ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS:-clean module} || \
+ die Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS:-clean module}.
done
ARCH="${xarch}"
}