/[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.213 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.213 2008/06/01 23:28:59 mpagano 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() {
663 ewarn "${PN} is UNSUPPORTED by Gentoo Security." 672 ewarn "${PN} is UNSUPPORTED by Gentoo Security."
664 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."
665 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:"
666 ewarn "http://www.gentoo.org/proj/en/security/kernel.xml" 675 ewarn "http://www.gentoo.org/proj/en/security/kernel.xml"
667 fi 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
694 fi
668} 695}
669 696
670postinst_headers() { 697postinst_headers() {
671 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"
672 elog "such, following the installation of newer headers, it is advised that you" 699 elog "such, following the installation of newer headers, it is advised that you"
789 x=${KPATCH_DIR} 816 x=${KPATCH_DIR}
790 KPATCH_DIR="" 817 KPATCH_DIR=""
791 for i in $(find ${x} -type d | sort -n); do 818 for i in $(find ${x} -type d | sort -n); do
792 KPATCH_DIR="${KPATCH_DIR} ${i}" 819 KPATCH_DIR="${KPATCH_DIR} ${i}"
793 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
794 834
795 #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
796 UNIPATCH_DROP="${UNIPATCH_EXCLUDE} ${UNIPATCH_DROP}" 836 UNIPATCH_DROP="${UNIPATCH_EXCLUDE} ${UNIPATCH_DROP}"
797 for i in ${UNIPATCH_DROP}; do 837 for i in ${UNIPATCH_DROP}; do
798 ebegin "Excluding Patch #${i}" 838 ebegin "Excluding Patch #${i}"

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

  ViewVC Help
Powered by ViewVC 1.1.20