diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2021-03-09 10:25:47 +0800 |
---|---|---|
committer | Anuj Mittal <anuj.mittal@intel.com> | 2021-03-09 10:32:35 +0800 |
commit | bdce7a2deab922d609b82671ee38563c6e6e93a1 (patch) | |
tree | b2f27b93e59afd03efefc0d788688df864f024e6 | |
parent | ac02dfb7db30582ac06151c962a3514f5ae7c0b5 (diff) | |
download | meta-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.bb | 16 |
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 | ||
33 | do_fetch[depends] += "virtual/kernel:do_shared_workdir" | 33 | do_patch[depends] += "virtual/kernel:do_shared_workdir" |
34 | 34 | ||
35 | do_patch_append () { | 35 | do_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 | ||
45 | do_switch_to_skcipher_api () { | 45 | do_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 | ||
50 | do_patch_for_kernel_5_6 () { | 53 | do_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 | ||