--- smage/trunk/include/kernel.sminc 2011/09/06 18:52:10 2938 +++ smage/trunk/include/kernel.sminc 2011/09/06 19:09:06 2939 @@ -2,7 +2,7 @@ # $Id$ # needed extra vars: -# ${KERNEL_TYPE}: needed, 'sources' or 'image' +# ${KERNEL_TYPE}: needed, 'sources', 'headers' or 'image' # ${BRANCH}: needed, style branch of the kernel # ${KERNEL_CONFIG}: optional, needed if you want to override the default # searchpath ${SOURCEDIR}/${PNAME}/config-${PVER}-${BRANCH}-${PBUILD} @@ -26,19 +26,33 @@ : ${SRCFILE="linux-${PVER/${PSUBVER}/}.tar.bz2"} : ${SRCDIR="${BUILDDIR}/linux-${PVER}-${BRANCH}-${PBUILD}"} -: ${SRC_URI=( - http://www.kernel.org/pub/linux/kernel/v${PVER%%.*}/${SRCFILE} - mirror://kernel-${BRANCH}/${SRCFILE} - mirror://kernel-${BRANCH}/config-${PVER}-${BRANCH}-${PBUILD}-i686 - mirror://kernel-${BRANCH}/config-${PVER}-${BRANCH}-${PBUILD}-x86_64 -)} +case ${KERNEL_TYPE} in + image|sources) + : ${SRC_URI=( + http://www.kernel.org/pub/linux/kernel/v${PVER%%.*}/${SRCFILE} + mirror://kernel-${BRANCH}/${SRCFILE} + mirror://kernel-${BRANCH}/config-${PVER}-${BRANCH}-${PBUILD}-i686 + mirror://kernel-${BRANCH}/config-${PVER}-${BRANCH}-${PBUILD}-x86_64 + )} + ;; + headers) + : ${SRC_URI=( + http://www.kernel.org/pub/linux/kernel/v${PVER%%.*}/${SRCFILE} + mirror://kernel-${BRANCH}/${SRCFILE} + )} + ;; +esac : ${DEPEND=">= sys-apps/module-init-tools-3.2 >= sys-fs/udev-115 >= sys-apps/mkinitrd-5.0.8 >= virtual/initscripts"} -: ${PROVIDE="virtual/kernel"} +case ${KERNEL_TYPE} in + image) : ${PROVIDE="virtual/kernel"} ;; + sources) : ${PROVIDE="virtual/kernel-sources"} ;; + headers) : ${PROVIDE="virtual/kernel-headers"} ;; +esac EXTRAVERSION="${PSUBVER}-${BRANCH}-${PBUILD}${KERNEL_ARCH_EXTENSION}" KERNEL_CONFIG="${SOURCEDIR}/${PNAME}/config-${PVER}-${BRANCH}-${PBUILD}-${ARCH}" @@ -71,15 +85,22 @@ make mrproper || die - # inject our kernel config - cp ${KERNEL_CONFIG} ${SRCDIR}/.config || die - make ARCH=${ARCH/i*86/x86} oldconfig || die + if [[ ${KERNEL_TYPE} = sources ]] || [[ ${KERNEL_TYPE} = image ]] + then + # inject our kernel config + cp ${KERNEL_CONFIG} ${SRCDIR}/.config || die + make ARCH=${ARCH/i*86/x86} oldconfig || die + fi case ${KERNEL_TYPE} in image) mmake ARCH=${ARCH/i*86/x86} || die ;; + headers) + make ARCH=${ARCH/i*86/x86} headers_check || die + ;; + sources) make clean || die @@ -177,6 +198,12 @@ fi } +kernel_headers_src_install() +{ + cd ${SRCDIR} + make ARCH=${ARCH/i*86/x86} INSTALL_HDR_PATH=${BINDIR}/usr headers_install || die +} + kernel_sources_src_install() { cd ${BUILDDIR} @@ -224,6 +251,10 @@ kernel_image_src_install || die ;; + headers) + kernel_headers_src_install || die + ;; + sources) kernel_sources_src_install || die ;;