blob: 80cc3ec4bed6063b7cb8ba677f04f59e8b987e96 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 | #
# Original Author: Nick White
# 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}"
KERNEL_VER=${PV/-r*}
# rename deblob-check to avoid collisions
if [[ $EAPI == 2 ]]; then
	DEBLOB_CHECK="${DEBLOB_CHECK}-${KERNEL_VER}"
	DEBLOB_URI="${DEBLOB_URI} -> ${DEBLOB_CHECK}"
fi
# override the kernel-2 function as tarball is named differently
universal_unpack() {
	cd ${WORKDIR}
	unpack linux-${KERNEL_VER}-libre${LIBRE_VER}.tar.bz2
	mv ${WORKDIR}/linux-${KERNEL_VER} ${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
	[[ "$SKIP_PATCH_DEBLOB" == "1" ]] && return 0
	[[ -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 are 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
}
 |