# # Original Author: nick # Purpose: override of kernel-2.eclass for the linux-libre kernel # inherit kernel-2 EXPORT_FUNCTIONS src_unpack KERNEL_URI="http://www.linux-libre.fsfla.org/pub/linux-libre/releases/${PV}-libre${LIBRE_VER}/linux-${PV}-libre${LIBRE_VER}.tar.bz2" DEBLOB_CHECK="deblob-check" DEBLOB_URI="http://www.linux-libre.fsfla.org/pub/linux-libre/releases/${PV}-libre${LIBRE_VER}/${DEBLOB_CHECK}" # rename deblob-check to avoid collisions if [[ $EAPI == 2 ]]; then DEBLOB_CHECK="${DEBLOB_CHECK}-${OKV}" DEBLOB_URI="${DEBLOB_URI} -> ${DEBLOB_CHECK}" fi # override the kernel-2 function as tarball is named differently universal_unpack() { cd ${WORKDIR} unpack linux-${OKV}-libre${LIBRE_VER}.tar.bz2 mv ${WORKDIR}/linux-${OKV} ${WORKDIR}/linux-${KV_FULL} \ || die "Unable to move source tree to ${KV_FULL}." cd ${S} # remove all backup files find . -iname "*~" -exec rm {} \; 2> /dev/null } check_for_blobs() { # usage: check_for_blobs name_of_variable_containing_paths_to_check # we want the name of a variable (not just its contents) # so can unset it if blobs are found [[ -z "${!1}" ]] && return 1 sh ${DISTDIR}/${DEBLOB_CHECK} ${!1} if [ $? -ne 0 ]; then ewarn "Warning: A file in ${1} appears to contain blobs." ewarn "Disabling ${1} for now." eval "${1}=''" ewarn "Please report this to http://bugs.gentoo.org/266157" return 1 fi return 0 } kernel-libre_src_unpack() { # kernel revision patches included in tarball UNIPATCH_LIST_DEFAULT="" if [ -n "${UNIPATCH_LIST_GENPATCHES}" ] || [ -n "${UNIPATCH_LIST}" ]; then echo "Checking all patches are clean of blobs" check_for_blobs "UNIPATCH_LIST_GENPATCHES" check_for_blobs "UNIPATCH_LIST" fi kernel-2_src_unpack }