summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2021-03-09 10:25:47 +0800
committerAnuj Mittal <anuj.mittal@intel.com>2021-03-09 10:32:35 +0800
commitbdce7a2deab922d609b82671ee38563c6e6e93a1 (patch)
treeb2f27b93e59afd03efefc0d788688df864f024e6
parentac02dfb7db30582ac06151c962a3514f5ae7c0b5 (diff)
downloadmeta-intel-qat-bdce7a2deab922d609b82671ee38563c6e6e93a1.tar.gz
qat17: do not let do_fetch depend on kernel's do_shared_workdir
Having do_fetch depend on kernel's do_shared_workdir has a serious problem, that is, merely performing the do_fetch action will cause more than 400+ tasks run. The dependency is as below. "qat17.do_fetch" -> "linux-yocto.do_shared_workdir" "linux-yocto.do_shared_workdir" -> "linux-yocto.do_compile" "linux-yocto.do_compile" -> "linux-yocto.do_configure" "linux-yocto.do_configure" -> "linux-yocto.do_prepare_recipe_sysroot" "linux-yocto.do_prepare_recipe_sysroot" -> "bc-native.do_populate_sysroot" "linux-yocto.do_prepare_recipe_sysroot" -> "gcc-cross-i686.do_populate_sysroot" [snip] >From the commit history, we can know that the dependency is put on do_fetch to avoid the re-patch problem. This problem could be solved by manually controlling the patching process by checking some marks. So put such check in do_patch_append, and change the dependency back, making do_patch depend on kernel's do_shared_workdir. The best solution for all these mess is to 1) always apply all patches 2) in patch's source codes, check the kernel version and do operation accordingly 3) make do_configure depend on kernel's do_shared_workdir Unfortunately, I'm not familiar with the kernel codes, so hope someone else will have time to fix this entirely in future. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-rw-r--r--recipes-extended/qat/qat17_4.7.0-00006.bb16
1 files changed, 11 insertions, 5 deletions
diff --git a/recipes-extended/qat/qat17_4.7.0-00006.bb b/recipes-extended/qat/qat17_4.7.0-00006.bb
index 11082f9..8b222ed 100644
--- a/recipes-extended/qat/qat17_4.7.0-00006.bb
+++ b/recipes-extended/qat/qat17_4.7.0-00006.bb
@@ -30,7 +30,7 @@ SRC_URI = "https://01.org/sites/default/files/downloads/qat1.7.l.4.7.0-00006.tar
30 file://qat17_4.7.0-00006-qat-include-sha1.h-and-sha2.h-instead-of-sha.h-in-ke.patch \ 30 file://qat17_4.7.0-00006-qat-include-sha1.h-and-sha2.h-instead-of-sha.h-in-ke.patch \
31 " 31 "
32 32
33do_fetch[depends] += "virtual/kernel:do_shared_workdir" 33do_patch[depends] += "virtual/kernel:do_shared_workdir"
34 34
35do_patch_append () { 35do_patch_append () {
36 kernel_version = int(d.getVar("KERNEL_VERSION").split(".")[0]) 36 kernel_version = int(d.getVar("KERNEL_VERSION").split(".")[0])
@@ -43,13 +43,19 @@ do_patch_append () {
43} 43}
44 44
45do_switch_to_skcipher_api () { 45do_switch_to_skcipher_api () {
46 cd "${S}" 46 if [ ! -e ${S}/patches/qat17_4.7.0-00006-Switch-to-skcipher-API.patch.applied ]; then
47 patch -p1 < "${WORKDIR}/qat17_4.7.0-00006-Switch-to-skcipher-API.patch" 47 cd "${S}"
48 patch -p1 < "${WORKDIR}/qat17_4.7.0-00006-Switch-to-skcipher-API.patch"
49 touch ${S}/patches/qat17_4.7.0-00006-Switch-to-skcipher-API.patch.applied
50 fi
48} 51}
49 52
50do_patch_for_kernel_5_6 () { 53do_patch_for_kernel_5_6 () {
51 cd "${S}" 54 if [ ! -e ${S}/patches/qat17_4.7.0-00006-make-it-compatible-with-kernel-5.6.patch.applied ]; then
52 patch -p1 < "${WORKDIR}/qat17_4.7.0-00006-make-it-compatible-with-kernel-5.6.patch" 55 cd "${S}"
56 patch -p1 < "${WORKDIR}/qat17_4.7.0-00006-make-it-compatible-with-kernel-5.6.patch"
57 touch ${S}/patches/qat17_4.7.0-00006-make-it-compatible-with-kernel-5.6.patch.applied
58 fi
53} 59}
54 60
55 61