diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2010-08-03 07:03:39 +0000 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2010-08-03 07:03:39 +0000 |
commit | 1715adcd9e404075340e5a5ed82f88928feeffd9 (patch) | |
tree | a65cc55321a616296e853fcc8667c1bba82399dd /eclass/linux-info.eclass | |
parent | Link liblvm2app to libm even with LDFLAGS="-Wl,--as-needed" wrt #330255 by Pa... (diff) | |
download | historical-1715adcd9e404075340e5a5ed82f88928feeffd9.tar.gz historical-1715adcd9e404075340e5a5ed82f88928feeffd9.tar.bz2 historical-1715adcd9e404075340e5a5ed82f88928feeffd9.zip |
Bug #323717: Newer kernels change the build of localversion a lot, so we need to keep up with the times.
Diffstat (limited to 'eclass/linux-info.eclass')
-rw-r--r-- | eclass/linux-info.eclass | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass index 8e0e8ab41be9..b7e137b18b42 100644 --- a/eclass/linux-info.eclass +++ b/eclass/linux-info.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/linux-info.eclass,v 1.84 2010/06/17 23:46:25 abcd Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/linux-info.eclass,v 1.85 2010/08/03 07:03:39 robbat2 Exp $ # # Original author: John Mylchreest <johnm@gentoo.org> # Maintainer: kernel-misc@gentoo.org @@ -535,21 +535,28 @@ get_version() { then qeinfo "Found kernel object directory:" qeinfo " ${KV_OUT_DIR}" - - KV_LOCAL="$(get_localversion ${KV_OUT_DIR})" fi # and if we STILL have not got it, then we better just set it to KV_DIR KV_OUT_DIR="${KV_OUT_DIR:-${KV_DIR}}" - KV_LOCAL="${KV_LOCAL}$(get_localversion ${KV_DIR})" if linux_config_src_exists; then - KV_LOCAL="${KV_LOCAL}$(linux_chkconfig_string LOCALVERSION)" - KV_LOCAL="${KV_LOCAL//\"/}" - # For things like git that can append extra stuff: - [ -e ${KV_DIR}/scripts/setlocalversion ] && - linux_chkconfig_builtin LOCALVERSION_AUTO && - KV_LOCAL="${KV_LOCAL}$(sh ${KV_DIR}/scripts/setlocalversion ${KV_DIR})" + # This script is NOT posix-compliant. Running it with 'sh' when 'sh' + # is a real POSIX shell causes some breakages (bug #323717). + if [ -e ${KV_DIR}/scripts/setlocalversion ] ; then + KV_LOCAL="${KV_LOCAL}$(cd ${KV_OUT_DIR} ; bash ${KV_DIR}/scripts/setlocalversion ${KV_DIR})" + else + # localversion* files + KV_LOCAL="${KV_LOCAL}$(get_localversion ${KV_DIR})" + + # CONFIG_LOCALVERSION + LOCALVERSION + KV_LOCAL="${KV_LOCAL}$(linux_chkconfig_string LOCALVERSION)${LOCALVERSION}" + KV_LOCAL="${KV_LOCAL//\"/}" + + # CONFIG_LOCALVERSION_AUTO logic ??? + fi + else + KV_LOCAL="${KV_LOCAL}$(get_localversion ${KV_DIR})" fi # And we should set KV_FULL to the full expanded version |