/[gentoo-x86]/eclass/kernel-2.eclass
Gentoo

Diff of /eclass/kernel-2.eclass

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

Revision 1.212 Revision 1.221
1# Copyright 1999-2005 Gentoo Foundation 1# Copyright 1999-2009 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/kernel-2.eclass,v 1.212 2008/05/03 16:07:34 dsd Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/kernel-2.eclass,v 1.221 2009/10/20 19:17:59 zmedico Exp $
4 4
5# Description: kernel.eclass rewrite for a clean base regarding the 2.6 5# Description: kernel.eclass rewrite for a clean base regarding the 2.6
6# series of kernel with back-compatibility for 2.4 6# series of kernel with back-compatibility for 2.4
7# 7#
8# Original author: John Mylchreest <johnm@gentoo.org> 8# Original author: John Mylchreest <johnm@gentoo.org>
105 105
106#Eclass functions only from here onwards ... 106#Eclass functions only from here onwards ...
107#============================================================== 107#==============================================================
108handle_genpatches() { 108handle_genpatches() {
109 local tarball 109 local tarball
110 [[ -z ${K_WANT_GENPATCHES} || -z ${K_GENPATCHES_VER} ]] && return -1 110 [[ -z ${K_WANT_GENPATCHES} || -z ${K_GENPATCHES_VER} ]] && return 1
111 111
112 for i in ${K_WANT_GENPATCHES} ; do 112 for i in ${K_WANT_GENPATCHES} ; do
113 tarball="genpatches-${OKV}-${K_GENPATCHES_VER}.${i}.tar.bz2" 113 tarball="genpatches-${OKV}-${K_GENPATCHES_VER}.${i}.tar.bz2"
114 GENPATCHES_URI="${GENPATCHES_URI} mirror://gentoo/${tarball}" 114 GENPATCHES_URI="${GENPATCHES_URI} mirror://gentoo/${tarball}"
115 UNIPATCH_LIST_GENPATCHES="${UNIPATCH_LIST_GENPATCHES} ${DISTDIR}/${tarball}" 115 UNIPATCH_LIST_GENPATCHES="${UNIPATCH_LIST_GENPATCHES} ${DISTDIR}/${tarball}"
287# Capture the sources type and set DEPENDs 287# Capture the sources type and set DEPENDs
288if [[ ${ETYPE} == sources ]]; then 288if [[ ${ETYPE} == sources ]]; then
289 DEPEND="!build? ( sys-apps/sed 289 DEPEND="!build? ( sys-apps/sed
290 >=sys-devel/binutils-2.11.90.0.31 )" 290 >=sys-devel/binutils-2.11.90.0.31 )"
291 RDEPEND="!build? ( >=sys-libs/ncurses-5.2 291 RDEPEND="!build? ( >=sys-libs/ncurses-5.2
292 sys-devel/make ) 292 sys-devel/make )"
293 virtual/dev-manager" 293 PDEPEND="virtual/dev-manager"
294 294
295 PROVIDE="virtual/linux-sources" 295 PROVIDE="virtual/linux-sources"
296 kernel_is gt 2 4 && PROVIDE="${PROVIDE} virtual/alsa" 296 kernel_is gt 2 4 && PROVIDE="${PROVIDE} virtual/alsa"
297 297
298 SLOT="${PVR}" 298 SLOT="${PVR}"
390 390
391 # remove all backup files 391 # remove all backup files
392 find . -iname "*~" -exec rm {} \; 2> /dev/null 392 find . -iname "*~" -exec rm {} \; 2> /dev/null
393 393
394 # fix a problem on ppc where TOUT writes to /usr/src/linux breaking sandbox 394 # fix a problem on ppc where TOUT writes to /usr/src/linux breaking sandbox
395 # only do this for kernel < 2.6.27 since this file does not exist in later
396 # kernels
397 if [[ ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} < 2.6.27 ]]
398 then
395 sed -i \ 399 sed -i \
396 -e 's|TOUT := .tmp_gas_check|TOUT := $(T).tmp_gas_check|' \ 400 -e 's|TOUT := .tmp_gas_check|TOUT := $(T).tmp_gas_check|' \
397 "${S}"/arch/ppc/Makefile 401 "${S}"/arch/ppc/Makefile
402 else
403 sed -i \
404 -e 's|TOUT := .tmp_gas_check|TOUT := $(T).tmp_gas_check|' \
405 "${S}"/arch/powerpc/Makefile
406 fi
398} 407}
399 408
400unpack_set_extraversion() { 409unpack_set_extraversion() {
401 cd "${S}" 410 cd "${S}"
402 sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${EXTRAVERSION}:" Makefile 411 sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${EXTRAVERSION}:" Makefile
481# install functions 490# install functions
482#============================================================== 491#==============================================================
483install_universal() { 492install_universal() {
484 #fix silly permissions in tarball 493 #fix silly permissions in tarball
485 cd ${WORKDIR} 494 cd ${WORKDIR}
486 chown -R root:0 * 495 chown -R root:0 * >& /dev/null
487 chmod -R a+r-w+X,u+w * 496 chmod -R a+r-w+X,u+w *
488 cd ${OLDPWD} 497 cd ${OLDPWD}
489} 498}
490 499
491install_headers() { 500install_headers() {
633 # Don't forget to make directory for sysfs 642 # Don't forget to make directory for sysfs
634 [[ ! -d ${ROOT}sys ]] && kernel_is 2 6 && mkdir ${ROOT}sys 643 [[ ! -d ${ROOT}sys ]] && kernel_is 2 6 && mkdir ${ROOT}sys
635 644
636 echo 645 echo
637 elog "If you are upgrading from a previous kernel, you may be interested" 646 elog "If you are upgrading from a previous kernel, you may be interested"
638 elog "in the following documents:" 647 elog "in the following document:"
639 elog " - General upgrade guide: http://www.gentoo.org/doc/en/kernel-upgrade.xml" 648 elog " - General upgrade guide: http://www.gentoo.org/doc/en/kernel-upgrade.xml"
640 kernel_is_2_6 && elog " - 2.4 to 2.6 migration guide: http://www.gentoo.org/doc/en/migration-to-2.6.xml"
641 echo 649 echo
642 650
643 # if K_EXTRAEINFO is set then lets display it now 651 # if K_EXTRAEINFO is set then lets display it now
644 if [[ -n ${K_EXTRAEINFO} ]]; then 652 if [[ -n ${K_EXTRAEINFO} ]]; then
645 echo ${K_EXTRAEINFO} | fmt | 653 echo ${K_EXTRAEINFO} | fmt |
663 echo 671 echo
664 ewarn "${PN} is UNSUPPORTED by Gentoo Security." 672 ewarn "${PN} is UNSUPPORTED by Gentoo Security."
665 ewarn "This means that it is likely to be vulnerable to recent security issues." 673 ewarn "This means that it is likely to be vulnerable to recent security issues."
666 ewarn "For specific information on why this kernel is unsupported, please read:" 674 ewarn "For specific information on why this kernel is unsupported, please read:"
667 ewarn "http://www.gentoo.org/proj/en/security/kernel.xml" 675 ewarn "http://www.gentoo.org/proj/en/security/kernel.xml"
676 fi
677
678 # warn sparc users that they need to do cross-compiling with >= 2.6.25(bug #214765)
679 KV_MAJOR=$(get_version_component_range 1 ${OKV})
680 KV_MINOR=$(get_version_component_range 2 ${OKV})
681 KV_PATCH=$(get_version_component_range 3 ${OKV})
682 if [[ "$(tc-arch)" = "sparc" ]] \
683 && [[ ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} > 2.6.24 ]]
684 then
685 echo
686 elog "NOTE: Since 2.6.25 the kernel Makefile has changed in a way that"
687 elog "you now need to do"
688 elog " make CROSS_COMPILE=sparc64-unknown-linux-gnu-"
689 elog "instead of just"
690 elog " make"
691 elog "to compile the kernel. For more information please browse to"
692 elog "https://bugs.gentoo.org/show_bug.cgi?id=214765"
693 echo
668 fi 694 fi
669} 695}
670 696
671postinst_headers() { 697postinst_headers() {
672 elog "Kernel headers are usually only used when recompiling your system libc, as" 698 elog "Kernel headers are usually only used when recompiling your system libc, as"
790 x=${KPATCH_DIR} 816 x=${KPATCH_DIR}
791 KPATCH_DIR="" 817 KPATCH_DIR=""
792 for i in $(find ${x} -type d | sort -n); do 818 for i in $(find ${x} -type d | sort -n); do
793 KPATCH_DIR="${KPATCH_DIR} ${i}" 819 KPATCH_DIR="${KPATCH_DIR} ${i}"
794 done 820 done
821
822 # do not apply fbcondecor patch to sparc/sparc64 as it breaks boot
823 # bug #272676
824 if [[ "$(tc-arch)" = "sparc" || "$(tc-arch)" = "sparc64" ]]; then
825 if [[ ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} > 2.6.28 ]]; then
826 UNIPATCH_DROP="${UNIPATCH_DROP} *_fbcondecor-0.9.6.patch"
827 echo
828 ewarn "fbcondecor currently prevents sparc/sparc64 from booting"
829 ewarn "for kernel versions >= 2.6.29. Removing fbcondecor patch."
830 ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=272676 for details"
831 echo
832 fi
833 fi
795 834
796 #so now lets get rid of the patchno's we want to exclude 835 #so now lets get rid of the patchno's we want to exclude
797 UNIPATCH_DROP="${UNIPATCH_EXCLUDE} ${UNIPATCH_DROP}" 836 UNIPATCH_DROP="${UNIPATCH_EXCLUDE} ${UNIPATCH_DROP}"
798 for i in ${UNIPATCH_DROP}; do 837 for i in ${UNIPATCH_DROP}; do
799 ebegin "Excluding Patch #${i}" 838 ebegin "Excluding Patch #${i}"

Legend:
Removed from v.1.212  
changed lines
  Added in v.1.221

  ViewVC Help
Powered by ViewVC 1.1.20