/[gentoo-x86]/eclass/linux-mod.eclass
Gentoo

Diff of /eclass/linux-mod.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.76 Revision 1.81
1# Copyright 1999-2004 Gentoo Foundation 1# Copyright 1999-2004 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.76 2007/10/03 12:55:18 phreak Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.81 2008/04/03 16:11:24 cardoe Exp $
4 4
5# Description: This eclass is used to interface with linux-info in such a way 5# Description: This eclass is used to interface with linux-info in such a way
6# to provide the functionality required and initial functions 6# to provide the functionality required and initial functions
7# required to install external modules against a kernel source 7# required to install external modules against a kernel source
8# tree. 8# tree.
55# 55#
56# if the srcdir isnt specified, it assumes ${S} 56# if the srcdir isnt specified, it assumes ${S}
57# if the libdir isnt specified, it assumes misc. 57# if the libdir isnt specified, it assumes misc.
58# if the objdir isnt specified, it assumes srcdir 58# if the objdir isnt specified, it assumes srcdir
59 59
60# There is also support for automatyed modules.d file generation. 60# There is also support for automated modprobe.d/modules.d(2.4) file generation.
61# This can be explicitly enabled by setting any of the following variables. 61# This can be explicitly enabled by setting any of the following variables.
62# 62#
63# 63#
64# MODULESD_${modulename}_ENABLED This enables the modules.d file 64# MODULESD_${modulename}_ENABLED This enables the modules.d file
65# generation even if we dont 65# generation even if we dont
402 fi 402 fi
403 403
404 #----------------------------------------------------------------------- 404 #-----------------------------------------------------------------------
405 405
406 # then we install it 406 # then we install it
407 if kernel_is ge 2 6; then
408 insinto /etc/modprobe.d
409 else
407 insinto /etc/modules.d 410 insinto /etc/modules.d
411 fi
408 newins ${module_config} ${currm_path//*\/} 412 newins ${module_config} ${currm_path//*\/}
409 413
410 # and install any documentation we might have. 414 # and install any documentation we might have.
411 [[ -n ${module_docs} ]] && dodoc ${module_docs} 415 [[ -n ${module_docs} ]] && dodoc ${module_docs}
412 done 416 done
461 465
462linux-mod_pkg_setup() { 466linux-mod_pkg_setup() {
463 debug-print-function ${FUNCNAME} $* 467 debug-print-function ${FUNCNAME} $*
464 468
465 linux-info_pkg_setup; 469 linux-info_pkg_setup;
470 require_configured_kernel
466 check_kernel_built; 471 check_kernel_built;
467 strip_modulenames; 472 strip_modulenames;
468 [[ -n ${MODULE_NAMES} ]] && check_modules_supported 473 [[ -n ${MODULE_NAMES} ]] && check_modules_supported
469 set_kvobj; 474 set_kvobj;
470 # Commented out with permission from johnm until a fixed version for arches 475 # Commented out with permission from johnm until a fixed version for arches
510 if [[ -n ${ECONF_PARAMS} ]] 515 if [[ -n ${ECONF_PARAMS} ]]
511 then 516 then
512 econf ${ECONF_PARAMS} || \ 517 econf ${ECONF_PARAMS} || \
513 die "Unable to run econf ${ECONF_PARAMS}" 518 die "Unable to run econf ${ECONF_PARAMS}"
514 fi 519 fi
515 520
516 emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" \ 521 # This looks messy, but it is needed to handle multiple variables
517 ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \ 522 # being passed in the BUILD_* stuff where the variables also have
518 || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}." 523 # spaces that must be preserved. If don't do this, then the stuff
524 # inside the variables gets used as targets for Make, which then
525 # fails.
526 eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" \
527 CC=\"$(get-KERNEL_CC)\" \
528 LDFLAGS=\"$(get_abi_LDFLAGS)\" \
529 ${BUILD_FIXES} \
530 ${BUILD_PARAMS} \
531 ${BUILD_TARGETS} " \
532 || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}"
519 touch ${srcdir}/.built 533 touch ${srcdir}/.built
520 cd ${OLDPWD} 534 cd ${OLDPWD}
521 fi 535 fi
522 done 536 done
523 537
553} 567}
554 568
555linux-mod_pkg_preinst() { 569linux-mod_pkg_preinst() {
556 debug-print-function ${FUNCNAME} $* 570 debug-print-function ${FUNCNAME} $*
557 571
558 [ -d ${IMAGE}/lib/modules ] && UPDATE_DEPMOD=true || UPDATE_DEPMOD=false 572 [ -d "${D}lib/modules" ] && UPDATE_DEPMOD=true || UPDATE_DEPMOD=false
559 [ -d ${IMAGE}/etc/modules.d ] && UPDATE_MODULES=true || UPDATE_MODULES=false 573 [ -d "${D}etc/modules.d" ] && UPDATE_MODULES=true || UPDATE_MODULES=false
560 [ -d ${IMAGE}/lib/modules ] && UPDATE_MODULEDB=true || UPDATE_MODULEDB=false 574 [ -d "${D}lib/modules" ] && UPDATE_MODULEDB=true || UPDATE_MODULEDB=false
561} 575}
562 576
563linux-mod_pkg_postinst() { 577linux-mod_pkg_postinst() {
564 debug-print-function ${FUNCNAME} $* 578 debug-print-function ${FUNCNAME} $*
565 579

Legend:
Removed from v.1.76  
changed lines
  Added in v.1.81

  ViewVC Help
Powered by ViewVC 1.1.20