--- /var/paludis/repositories/gentoo/eclass/kernel-2.eclass 2009-12-13 19:06:54.000000000 +0000 +++ /var/paludis/repositories/gentoo/eclass/kernel-2.eclass 2010-01-03 14:31:35.867880529 +0000 @@ -242,6 +242,11 @@ detect_version() { debug-print-kernel2-variables handle_genpatches + + DEBLOB_SCRIPT="deblob-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" + KERNEL_URI="${KERNEL_URI} + deblob? ( + http://www.linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.N/${DEBLOB_SCRIPT} )" } kernel_is() { @@ -297,7 +302,7 @@ if [[ ${ETYPE} == sources ]]; then SLOT="${PVR}" DESCRIPTION="Sources for the ${KV_MAJOR}.${KV_MINOR} linux kernel" - IUSE="symlink build" + IUSE="symlink build deblob" elif [[ ${ETYPE} == headers ]]; then DESCRIPTION="Linux system headers" @@ -624,6 +629,9 @@ postinst_sources() { # if we have USE=symlink, then force K_SYMLINK=1 use symlink && K_SYMLINK=1 + # if we're using a deblobbed kernel, it's not supported + use libre && K_SECURITY_UNSUPPORTED=1 + # if we are to forcably symlink, delete it if it already exists first. if [[ ${K_SYMLINK} > 0 ]]; then [[ -h ${ROOT}usr/src/linux ]] && rm ${ROOT}usr/src/linux @@ -1064,11 +1072,20 @@ kernel-2_src_unpack() { kernel_is 2 4 && unpack_2_4 kernel_is 2 6 && unpack_2_6 fi + + if use deblob ; then + chmod +x "${DISTDIR}/${DEBLOB_SCRIPT}" + fi } kernel-2_src_compile() { cd "${S}" [[ ${ETYPE} == headers ]] && compile_headers + + if use deblob ; then + echo ">>> Running deblob script ..." + sh "${DISTDIR}/${DEBLOB_SCRIPT}" --force + fi } kernel-2_pkg_preinst() {