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
}
|