summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel')
-rw-r--r--meta/recipes-kernel/blktrace/blktrace/CVE-2018-10689.patch150
-rw-r--r--meta/recipes-kernel/blktrace/blktrace/ldflags.patch114
-rw-r--r--meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch197
-rw-r--r--meta/recipes-kernel/blktrace/blktrace_git.bb12
-rw-r--r--meta/recipes-kernel/cryptodev/cryptodev-linux_1.13.bb (renamed from meta/recipes-kernel/cryptodev/cryptodev-linux_1.12.bb)2
-rw-r--r--meta/recipes-kernel/cryptodev/cryptodev-module_1.13.bb (renamed from meta/recipes-kernel/cryptodev/cryptodev-module_1.12.bb)4
-rw-r--r--meta/recipes-kernel/cryptodev/cryptodev-tests_1.13.bb (renamed from meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb)8
-rw-r--r--meta/recipes-kernel/cryptodev/cryptodev.inc7
-rw-r--r--meta/recipes-kernel/cryptodev/files/0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch66
-rw-r--r--meta/recipes-kernel/cryptodev/files/0001-Disable-installing-header-file-provided-by-another-p.patch11
-rw-r--r--meta/recipes-kernel/cryptodev/files/0001-tests-Makefile-do-not-use-Werror.patch25
-rw-r--r--meta/recipes-kernel/dtc/dtc.inc28
-rw-r--r--meta/recipes-kernel/dtc/dtc/0001-dtc-Fix-Makefile-to-add-CFLAGS-not-override.patch36
-rw-r--r--meta/recipes-kernel/dtc/dtc/0001-fdtdump-Fix-gcc11-warning.patch35
-rw-r--r--meta/recipes-kernel/dtc/dtc/0001-meson.build-bump-version-to-1.7.0.patch29
-rw-r--r--meta/recipes-kernel/dtc/dtc/0002-meson-allow-building-from-shallow-clones.patch38
-rw-r--r--meta/recipes-kernel/dtc/dtc/make_install.patch26
-rw-r--r--meta/recipes-kernel/dtc/dtc_1.6.0.bb12
-rw-r--r--meta/recipes-kernel/dtc/dtc_1.7.0.bb34
-rw-r--r--meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-doc-validate20
-rw-r--r--meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-mk-schema20
-rw-r--r--meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-validate20
-rw-r--r--meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb17
-rw-r--r--meta/recipes-kernel/kern-tools/kern-tools-native_git.bb17
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch19
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools/0001-kexec-arch-ppc-kexec-ppc.c-correct-double-definition.patch23
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch7
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch11
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch7
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools/0007-kexec-un-break-the-build-on-32-bit-x86.patch43
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools/Fix-building-on-x86_64-with-binutils-2.41.patch95
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools_2.0.28.bb (renamed from meta/recipes-kernel/kexec/kexec-tools_2.0.21.bb)38
-rw-r--r--meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb23
-rw-r--r--meta/recipes-kernel/kmod/kmod-native_git.bb15
-rw-r--r--meta/recipes-kernel/kmod/kmod.inc38
-rw-r--r--meta/recipes-kernel/kmod/kmod/0001-Use-portable-implementation-for-basename-API.patch136
-rw-r--r--meta/recipes-kernel/kmod/kmod/gtkdocdir.patch33
-rw-r--r--meta/recipes-kernel/kmod/kmod/ptest.patch25
-rw-r--r--meta/recipes-kernel/kmod/kmod_31.bb89
-rw-r--r--meta/recipes-kernel/kmod/kmod_git.bb62
-rw-r--r--meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch45
-rw-r--r--meta/recipes-kernel/libtraceevent/libtraceevent_1.8.2.bb23
-rw-r--r--meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb1017
-rw-r--r--meta/recipes-kernel/linux-firmware/linux-firmware_20240312.bb1583
-rw-r--r--meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc15
-rw-r--r--meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch42
-rw-r--r--meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch67
-rw-r--r--meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch12
-rw-r--r--meta/recipes-kernel/linux-libc-headers/linux-libc-headers_6.6.bb (renamed from meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.10.bb)10
-rw-r--r--meta/recipes-kernel/linux/cve-exclusion.inc34
-rw-r--r--meta/recipes-kernel/linux/cve-exclusion_6.6.inc5384
-rwxr-xr-xmeta/recipes-kernel/linux/generate-cve-exclusions.py98
-rw-r--r--meta/recipes-kernel/linux/kernel-devsrc.bb444
-rw-r--r--meta/recipes-kernel/linux/linux-dummy.bb17
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-dev.bb39
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb45
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb (renamed from meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb)33
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb32
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb32
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb33
-rw-r--r--meta/recipes-kernel/linux/linux-yocto.inc51
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_5.10.bb56
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_5.4.bb55
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_6.6.bb72
-rwxr-xr-xmeta/recipes-kernel/lttng/babeltrace2/run-ptest12
-rw-r--r--meta/recipes-kernel/lttng/babeltrace2_2.0.6.bb (renamed from meta/recipes-kernel/lttng/babeltrace2_2.0.3.bb)16
-rw-r--r--meta/recipes-kernel/lttng/babeltrace_1.5.11.bb (renamed from meta/recipes-kernel/lttng/babeltrace_1.5.8.bb)8
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch93
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch46
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch132
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch81
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch57
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch49
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules_2.12.4.bb41
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules_2.13.12.bb45
-rw-r--r--meta/recipes-kernel/lttng/lttng-platforms.inc16
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch56
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/0001-compat-Define-off64_t-as-off_t-on-linux.patch74
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/0001-tests-add-check_skip_kernel_test-to-check-root-user-.patch1246
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch9
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch55
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/determinism.patch64
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/disable-tests.patch34
-rwxr-xr-xmeta/recipes-kernel/lttng/lttng-tools/run-ptest45
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb (renamed from meta/recipes-kernel/lttng/lttng-tools_2.12.2.bb)77
-rw-r--r--meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch33
-rw-r--r--meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch26
-rw-r--r--meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch26
-rw-r--r--meta/recipes-kernel/lttng/lttng-ust_2.13.8.bb (renamed from meta/recipes-kernel/lttng/lttng-ust_2.12.1.bb)30
-rw-r--r--meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb15
-rw-r--r--meta/recipes-kernel/modutils-initscripts/files/PD.patch8
-rwxr-xr-xmeta/recipes-kernel/modutils-initscripts/files/modutils.sh5
-rw-r--r--meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb12
-rw-r--r--meta/recipes-kernel/perf/perf-perl.inc10
-rw-r--r--meta/recipes-kernel/perf/perf.bb203
-rwxr-xr-xmeta/recipes-kernel/perf/perf/sort-pmuevents.py100
-rw-r--r--meta/recipes-kernel/powertop/powertop_2.13.bb32
-rw-r--r--meta/recipes-kernel/powertop/powertop_2.15.bb24
-rw-r--r--meta/recipes-kernel/systemtap/systemtap-native_git.bb2
-rw-r--r--meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb40
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/0001-Makefile.am-remove-runtime-linux-uprobes-and-runtime.patch40
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/0001-bpf-translate.cxx-fix-build-against-upcoming-gcc-14-.patch40
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/0001-configure.ac-fix-broken-libdebuginfod-library-auto-d.patch51
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/0001-prerelease-datestamp-fixes.patch23
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/0001-staprun-address-ncurses-6.3-failures.patch61
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/0001-staprun-fix-build-against-upcoming-gcc-14-Werror-cal.patch36
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch44
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_git.bb41
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_git.inc18
-rw-r--r--meta/recipes-kernel/wireless-regdb/wireless-regdb_2024.01.23.bb (renamed from meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb)12
110 files changed, 10985 insertions, 3034 deletions
diff --git a/meta/recipes-kernel/blktrace/blktrace/CVE-2018-10689.patch b/meta/recipes-kernel/blktrace/blktrace/CVE-2018-10689.patch
deleted file mode 100644
index 7b58568d59..0000000000
--- a/meta/recipes-kernel/blktrace/blktrace/CVE-2018-10689.patch
+++ /dev/null
@@ -1,150 +0,0 @@
1From d61ff409cb4dda31386373d706ea0cfb1aaac5b7 Mon Sep 17 00:00:00 2001
2From: Jens Axboe <axboe@kernel.dk>
3Date: Wed, 2 May 2018 10:24:17 -0600
4Subject: [PATCH] btt: make device/devno use PATH_MAX to avoid overflow
5
6Herbo Zhang reports:
7
8I found a bug in blktrace/btt/devmap.c. The code is just as follows:
9
10https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git/tree/btt/devmap.c?id=8349ad2f2d19422a6241f94ea84d696b21de4757
11
12 struct devmap {
13
14struct list_head head;
15char device[32], devno[32]; // #1
16};
17
18LIST_HEAD(all_devmaps);
19
20static int dev_map_add(char *line)
21{
22struct devmap *dmp;
23
24if (strstr(line, "Device") != NULL)
25return 1;
26
27dmp = malloc(sizeof(struct devmap));
28if (sscanf(line, "%s %s", dmp->device, dmp->devno) != 2) { //#2
29free(dmp);
30return 1;
31}
32
33list_add_tail(&dmp->head, &all_devmaps);
34return 0;
35}
36
37int dev_map_read(char *fname)
38{
39char line[256]; // #3
40FILE *fp = my_fopen(fname, "r");
41
42if (!fp) {
43perror(fname);
44return 1;
45}
46
47while (fscanf(fp, "%255[a-zA-Z0-9 :.,/_-]\n", line) == 1) {
48if (dev_map_add(line))
49break;
50}
51
52fclose(fp);
53return 0;
54}
55
56 The line length is 256, but the dmp->device, dmp->devno max length
57is only 32. We can put strings longer than 32 into dmp->device and
58dmp->devno , and then they will be overflowed.
59
60 we can trigger this bug just as follows:
61
62 $ python -c "print 'A'*256" > ./test
63 $ btt -M ./test
64
65 *** Error in btt': free(): invalid next size (fast): 0x000055ad7349b250 ***
66 ======= Backtrace: =========
67 /lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f7f158ce7e5]
68 /lib/x86_64-linux-gnu/libc.so.6(+0x7fe0a)[0x7f7f158d6e0a]
69 /lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f7f158da98c]
70 btt(+0x32e0)[0x55ad7306f2e0]
71 btt(+0x2c5f)[0x55ad7306ec5f]
72 btt(+0x251f)[0x55ad7306e51f]
73 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f7f15877830]
74 btt(+0x26b9)[0x55ad7306e6b9]
75 ======= Memory map: ========
76 55ad7306c000-55ad7307f000 r-xp 00000000 08:14 3698139
77 /usr/bin/btt
78 55ad7327e000-55ad7327f000 r--p 00012000 08:14 3698139
79 /usr/bin/btt
80 55ad7327f000-55ad73280000 rw-p 00013000 08:14 3698139
81 /usr/bin/btt
82 55ad73280000-55ad73285000 rw-p 00000000 00:00 0
83 55ad7349a000-55ad734bb000 rw-p 00000000 00:00 0
84 [heap]
85 7f7f10000000-7f7f10021000 rw-p 00000000 00:00 0
86 7f7f10021000-7f7f14000000 ---p 00000000 00:00 0
87 7f7f15640000-7f7f15656000 r-xp 00000000 08:14 14942237
88 /lib/x86_64-linux-gnu/libgcc_s.so.1
89 7f7f15656000-7f7f15855000 ---p 00016000 08:14 14942237
90 /lib/x86_64-linux-gnu/libgcc_s.so.1
91 7f7f15855000-7f7f15856000 r--p 00015000 08:14 14942237
92 /lib/x86_64-linux-gnu/libgcc_s.so.1
93 7f7f15856000-7f7f15857000 rw-p 00016000 08:14 14942237
94 /lib/x86_64-linux-gnu/libgcc_s.so.1
95 7f7f15857000-7f7f15a16000 r-xp 00000000 08:14 14948477
96 /lib/x86_64-linux-gnu/libc-2.23.so
97 7f7f15a16000-7f7f15c16000 ---p 001bf000 08:14 14948477
98 /lib/x86_64-linux-gnu/libc-2.23.so
99 7f7f15c16000-7f7f15c1a000 r--p 001bf000 08:14 14948477
100 /lib/x86_64-linux-gnu/libc-2.23.so
101 7f7f15c1a000-7f7f15c1c000 rw-p 001c3000 08:14 14948477
102 /lib/x86_64-linux-gnu/libc-2.23.so
103 7f7f15c1c000-7f7f15c20000 rw-p 00000000 00:00 0
104 7f7f15c20000-7f7f15c46000 r-xp 00000000 08:14 14948478
105 /lib/x86_64-linux-gnu/ld-2.23.so
106 7f7f15e16000-7f7f15e19000 rw-p 00000000 00:00 0
107 7f7f15e42000-7f7f15e45000 rw-p 00000000 00:00 0
108 7f7f15e45000-7f7f15e46000 r--p 00025000 08:14 14948478
109 /lib/x86_64-linux-gnu/ld-2.23.so
110 7f7f15e46000-7f7f15e47000 rw-p 00026000 08:14 14948478
111 /lib/x86_64-linux-gnu/ld-2.23.so
112 7f7f15e47000-7f7f15e48000 rw-p 00000000 00:00 0
113 7ffdebe5c000-7ffdebe7d000 rw-p 00000000 00:00 0
114 [stack]
115 7ffdebebc000-7ffdebebe000 r--p 00000000 00:00 0
116 [vvar]
117 7ffdebebe000-7ffdebec0000 r-xp 00000000 00:00 0
118 [vdso]
119 ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0
120 [vsyscall]
121 [1] 6272 abort btt -M test
122
123Signed-off-by: Jens Axboe <axboe@kernel.dk>
124
125Upstream-Status: Backport
126[https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git/commit/?id=d61ff409cb4dda31386373d706ea0cfb1aaac5b7]
127
128CVE: CVE-2018-10689
129
130Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
131---
132 btt/devmap.c | 2 +-
133 1 file changed, 1 insertion(+), 1 deletion(-)
134
135diff --git a/btt/devmap.c b/btt/devmap.c
136index 0553a9e..5fc1cb2 100644
137--- a/btt/devmap.c
138+++ b/btt/devmap.c
139@@ -23,7 +23,7 @@
140
141 struct devmap {
142 struct list_head head;
143- char device[32], devno[32];
144+ char device[PATH_MAX], devno[PATH_MAX];
145 };
146
147 LIST_HEAD(all_devmaps);
148--
1492.7.4
150
diff --git a/meta/recipes-kernel/blktrace/blktrace/ldflags.patch b/meta/recipes-kernel/blktrace/blktrace/ldflags.patch
deleted file mode 100644
index ab905cf0da..0000000000
--- a/meta/recipes-kernel/blktrace/blktrace/ldflags.patch
+++ /dev/null
@@ -1,114 +0,0 @@
1blktrace: obey LDFLAGS
2
3Upstream-Status: Pending
4
5Signed-off-by: Christopher Larson <chris_larson@mentor.com>
6
7the patch was imported from meta-mentor layer on yoctoproject git server
8http://git.yoctoproject.org/cgit/cgit.cgi/meta-mentor as of commit id
9aed463414e2e2bf8ca44ba54ee5973e7ed599e57
10
11Signed-off-by: Fahad Usman <fahad_usman@mentor.com>
12
13Index: git/Makefile
14===================================================================
15--- git.orig/Makefile
16+++ git/Makefile
17@@ -1,5 +1,6 @@
18 CC = gcc
19 CFLAGS = -Wall -O2 -g -W
20+LDFLAGS =
21 ALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
22 PROGS = blkparse blktrace verify_blkparse blkrawverify blkiomon
23 LIBS = -lpthread
24@@ -26,19 +27,19 @@ btreplay/btreplay:
25 $(CC) -o $*.o -c $(ALL_CFLAGS) $<
26
27 blkparse: blkparse.o blkparse_fmt.o rbtree.o act_mask.o
28- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
29+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LDFLAGS)
30
31 blktrace: blktrace.o act_mask.o
32- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
33+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) $(LDFLAGS)
34
35 verify_blkparse: verify_blkparse.o
36- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
37+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LDFLAGS)
38
39 blkrawverify: blkrawverify.o
40- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
41+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LDFLAGS)
42
43 blkiomon: blkiomon.o rbtree.o
44- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -lrt
45+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -lrt $(LDFLAGS)
46
47 $(PROGS): | depend
48
49Index: git/btreplay/Makefile
50===================================================================
51--- git.orig/btreplay/Makefile
52+++ git/btreplay/Makefile
53@@ -7,6 +7,7 @@
54
55 CC = gcc
56 CFLAGS = -Wall -W -O2 -g
57+LDFLAGS =
58 INCS = -I. -I.. -I../btt
59 OCFLAGS = -UCOUNT_IOS -UDEBUG -DNDEBUG
60 XCFLAGS = -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
61@@ -32,10 +33,10 @@ clean: docsclean
62 $(CC) $(CFLAGS) -c -o $*.o $<
63
64 btrecord: btrecord.o
65- $(CC) $(CFLAGS) -o $@ $(filter %.o,$^)
66+ $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LDFLAGS)
67
68 btreplay: btreplay.o
69- $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
70+ $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) $(LDFLAGS)
71
72 depend:
73 @$(CC) -MM $(CFLAGS) *.c 1> .depend
74Index: git/btt/Makefile
75===================================================================
76--- git.orig/btt/Makefile
77+++ git/btt/Makefile
78@@ -7,6 +7,7 @@
79
80 CC = gcc
81 CFLAGS = -Wall -W -O2 -g
82+LDFLAGS =
83 INCS = -I. -I..
84 XCFLAGS = -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
85 override CFLAGS += $(INCS) $(XCFLAGS)
86@@ -38,7 +39,7 @@ clean: docsclean
87 $(CC) $(CFLAGS) -c -o $*.o $<
88
89 btt: $(OBJS)
90- $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
91+ $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) $(LDFLAGS)
92
93 ifneq ($(wildcard .depend),)
94 include .depend
95Index: git/iowatcher/Makefile
96===================================================================
97--- git.orig/iowatcher/Makefile
98+++ git/iowatcher/Makefile
99@@ -1,5 +1,6 @@
100 CC = gcc
101 CFLAGS = -Wall -O2 -g -W -Wunused-result
102+LDFLAGS =
103 ALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
104
105 PROGS = iowatcher
106@@ -19,7 +20,7 @@ all: $(ALL)
107 $(CC) -o $*.o -c $(ALL_CFLAGS) $<
108
109 iowatcher: blkparse.o plot.o main.o tracers.o mpstat.o fio.o
110- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -lm -lrt
111+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -lm $(LDFLAGS) -lrt
112
113 depend:
114 @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend
diff --git a/meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch b/meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch
deleted file mode 100644
index 3b0c1c692c..0000000000
--- a/meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch
+++ /dev/null
@@ -1,197 +0,0 @@
1From 70d5ca2d5f3d6b97c11c641b7e0c5836983219a0 Mon Sep 17 00:00:00 2001
2From: Eric Sandeen <sandeen@redhat.com>
3Date: Wed, 28 Mar 2018 15:26:36 -0500
4Subject: [oe-core][PATCH 1/1] make btt scripts python3-ready
5
6Many distributions are moving to python3 by default. Here's
7an attempt to make the python scripts in blktrace python3-ready.
8
9Most of this was done with automated tools. I hand fixed some
10space-vs tab issues, and cast an array index to integer. It
11passes rudimentary testing when run under python2.7 as well
12as python3.
13
14This doesn't do anything with the shebangs, it leaves them both
15invoking whatever "env python" coughs up on the system.
16
17Signed-off-by: Eric Sandeen <sandeen@redhat.com>
18Signed-off-by: Jens Axboe <axboe@kernel.dk>
19
20Unchanged except to modify shebangs to use python3 since
21oe-core does not support python2 anymore.
22
23Upstream-Status: Backport [git://git.kernel.dk/blktrace.git commit 70d5ca2d5...]
24
25Signed-off-by: Joe Slater <joe.slater@windriver.com>
26
27---
28 btt/bno_plot.py | 28 +++++++++++++++-------------
29 btt/btt_plot.py | 22 +++++++++++++---------
30 2 files changed, 28 insertions(+), 22 deletions(-)
31
32--- git.orig/btt/bno_plot.py
33+++ git/btt/bno_plot.py
34@@ -1,4 +1,4 @@
35-#! /usr/bin/env python
36+#! /usr/bin/env python3
37 #
38 # btt blkno plotting interface
39 #
40@@ -38,6 +38,8 @@ automatically push the keys under the gr
41 To exit the plotter, enter 'quit' or ^D at the 'gnuplot> ' prompt.
42 """
43
44+from __future__ import absolute_import
45+from __future__ import print_function
46 import getopt, glob, os, sys, tempfile
47
48 verbose = 0
49@@ -60,14 +62,14 @@ def parse_args(in_args):
50
51 try:
52 (opts, args) = getopt.getopt(in_args, s_opts, l_opts)
53- except getopt.error, msg:
54- print >>sys.stderr, msg
55- print >>sys.stderr, __doc__
56+ except getopt.error as msg:
57+ print(msg, file=sys.stderr)
58+ print(__doc__, file=sys.stderr)
59 sys.exit(1)
60
61 for (o, a) in opts:
62 if o in ('-h', '--help'):
63- print __doc__
64+ print(__doc__)
65 sys.exit(0)
66 elif o in ('-v', '--verbose'):
67 verbose += 1
68@@ -84,10 +86,10 @@ if __name__ == '__main__':
69 (bnos, keys_below) = parse_args(sys.argv[1:])
70
71 if verbose:
72- print 'Using files:',
73- for bno in bnos: print bno,
74- if keys_below: print '\nKeys are to be placed below graph'
75- else: print ''
76+ print('Using files:', end=' ')
77+ for bno in bnos: print(bno, end=' ')
78+ if keys_below: print('\nKeys are to be placed below graph')
79+ else: print('')
80
81 tmpdir = tempfile.mktemp()
82 os.mkdir(tmpdir)
83@@ -99,7 +101,7 @@ if __name__ == '__main__':
84 fo = open(t, 'w')
85 for line in open(f, 'r'):
86 fld = line.split(None)
87- print >>fo, fld[0], fld[1], int(fld[2])-int(fld[1])
88+ print(fld[0], fld[1], int(fld[2])-int(fld[1]), file=fo)
89 fo.close()
90
91 t = t[t.rfind('/')+1:]
92@@ -107,16 +109,16 @@ if __name__ == '__main__':
93 else: plot_cmd = "%s,'%s'" % (plot_cmd, t)
94
95 fo = open('%s/plot.cmds' % tmpdir, 'w')
96- print >>fo, cmds
97- if len(bnos) > 10 or keys_below: print >>fo, 'set key below'
98- print >>fo, plot_cmd
99+ print(cmds, file=fo)
100+ if len(bnos) > 10 or keys_below: print('set key below', file=fo)
101+ print(plot_cmd, file=fo)
102 fo.close()
103
104 pid = os.fork()
105 if pid == 0:
106 cmd = 'gnuplot %s/plot.cmds -' % tmpdir
107
108- if verbose: print 'Executing %s' % cmd
109+ if verbose: print('Executing %s' % cmd)
110
111 os.chdir(tmpdir)
112 os.system(cmd)
113--- git.orig/btt/btt_plot.py
114+++ git/btt/btt_plot.py
115@@ -1,4 +1,4 @@
116-#! /usr/bin/env python
117+#! /usr/bin/env python3
118 #
119 # btt_plot.py: Generate matplotlib plots for BTT generate data files
120 #
121@@ -55,6 +55,10 @@ Arguments:
122 but the -o (--output) and -T (--title) options will be ignored.
123 """
124
125+from __future__ import absolute_import
126+from __future__ import print_function
127+import six
128+from six.moves import range
129 __author__ = 'Alan D. Brunelle <alan.brunelle@hp.com>'
130
131 #------------------------------------------------------------------------------
132@@ -82,7 +86,7 @@ get_base = lambda file: file[file.find(
133 def fatal(msg):
134 """Generate fatal error message and exit"""
135
136- print >>sys.stderr, 'FATAL: %s' % msg
137+ print('FATAL: %s' % msg, file=sys.stderr)
138 sys.exit(1)
139
140 #------------------------------------------------------------------------------
141@@ -163,7 +167,7 @@ def get_data(files):
142 if not os.path.exists(file):
143 fatal('%s not found' % file)
144 elif verbose:
145- print 'Processing %s' % file
146+ print('Processing %s' % file)
147
148 xs = []
149 ys = []
150@@ -214,8 +218,8 @@ def parse_args(args):
151
152 try:
153 (opts, args) = getopt.getopt(args[1:], s_opts, l_opts)
154- except getopt.error, msg:
155- print >>sys.stderr, msg
156+ except getopt.error as msg:
157+ print(msg, file=sys.stderr)
158 fatal(__doc__)
159
160 for (o, a) in opts:
161@@ -293,15 +297,15 @@ def generate_output(type, db):
162 def color(idx, style):
163 """Returns a color/symbol type based upon the index passed."""
164
165- colors = [ 'b', 'g', 'r', 'c', 'm', 'y', 'k' ]
166+ colors = [ 'b', 'g', 'r', 'c', 'm', 'y', 'k' ]
167 l_styles = [ '-', ':', '--', '-.' ]
168 m_styles = [ 'o', '+', '.', ',', 's', 'v', 'x', '<', '>' ]
169
170 color = colors[idx % len(colors)]
171 if style == 'line':
172- style = l_styles[(idx / len(l_styles)) % len(l_styles)]
173+ style = l_styles[int((idx / len(l_styles)) % len(l_styles))]
174 elif style == 'marker':
175- style = m_styles[(idx / len(m_styles)) % len(m_styles)]
176+ style = m_styles[int((idx / len(m_styles)) % len(m_styles))]
177
178 return '%s%s' % (color, style)
179
180@@ -314,7 +318,7 @@ def generate_output(type, db):
181 ofile = '%s.png' % type
182
183 if verbose:
184- print 'Generating plot into %s' % ofile
185+ print('Generating plot into %s' % ofile)
186
187 fig = plt.figure(figsize=plot_size)
188 ax = fig.add_subplot(111)
189@@ -329,7 +333,7 @@ def generate_output(type, db):
190 legends = None
191
192 keys = []
193- for file in db.iterkeys():
194+ for file in six.iterkeys(db):
195 if not file in ['min_x', 'max_x', 'min_y', 'max_y']:
196 keys.append(file)
197
diff --git a/meta/recipes-kernel/blktrace/blktrace_git.bb b/meta/recipes-kernel/blktrace/blktrace_git.bb
index 7ccc022b93..d4f5bac84f 100644
--- a/meta/recipes-kernel/blktrace/blktrace_git.bb
+++ b/meta/recipes-kernel/blktrace/blktrace_git.bb
@@ -5,20 +5,16 @@ are three major components: a kernel component, a utility to record the i/o \
5trace information for the kernel to user space, and utilities to analyse and \ 5trace information for the kernel to user space, and utilities to analyse and \
6view the trace information." 6view the trace information."
7HOMEPAGE = "http://brick.kernel.dk/snaps/" 7HOMEPAGE = "http://brick.kernel.dk/snaps/"
8LICENSE = "GPLv2" 8LICENSE = "GPL-2.0-only"
9LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" 9LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
10 10
11DEPENDS = "libaio" 11DEPENDS = "libaio"
12 12
13SRCREV = "cca113f2fe0759b91fd6a0e10fdcda2c28f18a7e" 13SRCREV = "366d30b9cdb20345c5d064af850d686da79b89eb"
14 14
15PV = "1.2.0+git${SRCPV}" 15PV = "1.3.0+git"
16 16
17SRC_URI = "git://git.kernel.dk/blktrace.git \ 17SRC_URI = "git://git.kernel.dk/blktrace.git;branch=master;protocol=https"
18 file://ldflags.patch \
19 file://CVE-2018-10689.patch \
20 file://make-btt-scripts-python3-ready.patch \
21"
22 18
23S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
24 20
diff --git a/meta/recipes-kernel/cryptodev/cryptodev-linux_1.12.bb b/meta/recipes-kernel/cryptodev/cryptodev-linux_1.13.bb
index c55577c661..d5ea9d8529 100644
--- a/meta/recipes-kernel/cryptodev/cryptodev-linux_1.12.bb
+++ b/meta/recipes-kernel/cryptodev/cryptodev-linux_1.13.bb
@@ -9,5 +9,5 @@ do_install() {
9 install -D ${S}/crypto/cryptodev.h ${D}${includedir}/crypto/cryptodev.h 9 install -D ${S}/crypto/cryptodev.h ${D}${includedir}/crypto/cryptodev.h
10} 10}
11 11
12ALLOW_EMPTY_${PN} = "1" 12ALLOW_EMPTY:${PN} = "1"
13BBCLASSEXTEND = "native nativesdk" 13BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-kernel/cryptodev/cryptodev-module_1.12.bb b/meta/recipes-kernel/cryptodev/cryptodev-module_1.13.bb
index b3b554c7d3..5192cf03ed 100644
--- a/meta/recipes-kernel/cryptodev/cryptodev-module_1.12.bb
+++ b/meta/recipes-kernel/cryptodev/cryptodev-module_1.13.bb
@@ -12,5 +12,5 @@ SRC_URI += "file://0001-Disable-installing-header-file-provided-by-another-p.pat
12 12
13EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"' 13EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
14 14
15RCONFLICTS_${PN} = "ocf-linux" 15RCONFLICTS:${PN} = "ocf-linux"
16RREPLACES_${PN} = "ocf-linux" 16RREPLACES:${PN} = "ocf-linux"
diff --git a/meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb b/meta/recipes-kernel/cryptodev/cryptodev-tests_1.13.bb
index 9cb5dcb94f..458ad8ecf2 100644
--- a/meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb
+++ b/meta/recipes-kernel/cryptodev/cryptodev-tests_1.13.bb
@@ -5,17 +5,17 @@ SUMMARY = "A test suite for /dev/crypto device driver"
5DEPENDS += "openssl" 5DEPENDS += "openssl"
6 6
7SRC_URI += " \ 7SRC_URI += " \
8file://0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch \ 8 file://0001-tests-Makefile-do-not-use-Werror.patch \
9" 9 "
10 10
11EXTRA_OEMAKE='KERNEL_DIR="${STAGING_EXECPREFIXDIR}" PREFIX="${D}"' 11EXTRA_OEMAKE='KERNEL_DIR="${STAGING_EXECPREFIXDIR}" PREFIX="${D}"'
12 12
13do_compile() { 13do_compile() {
14 oe_runmake testprogs 14 oe_runmake tests
15} 15}
16 16
17do_install() { 17do_install() {
18 oe_runmake install_tests 18 oe_runmake install_tests
19} 19}
20 20
21FILES_${PN} = "${bindir}/*" 21FILES:${PN} = "${bindir}/*"
diff --git a/meta/recipes-kernel/cryptodev/cryptodev.inc b/meta/recipes-kernel/cryptodev/cryptodev.inc
index ae2c308911..64a9c2926b 100644
--- a/meta/recipes-kernel/cryptodev/cryptodev.inc
+++ b/meta/recipes-kernel/cryptodev/cryptodev.inc
@@ -5,12 +5,13 @@ of hardware accelerators. Cryptodev-linux is implemented as a standalone \
5module that requires no dependencies other than a stock linux kernel. Its \ 5module that requires no dependencies other than a stock linux kernel. Its \
6API is compatible with OpenBSD's cryptodev userspace API (/dev/crypto)." 6API is compatible with OpenBSD's cryptodev userspace API (/dev/crypto)."
7 7
8LICENSE = "GPLv2" 8LICENSE = "GPL-2.0-only"
9LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 9LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
10 10
11SRC_URI = "git://github.com/cryptodev-linux/cryptodev-linux \ 11SRC_URI = "git://github.com/cryptodev-linux/cryptodev-linux;branch=master;protocol=https \
12 " 12 "
13SRCREV = "e0c25e289d6baf1d83c2b9cb523d3bc237d0c0c9" 13SRCREV = "bb8bc7cf60d2c0b097c8b3b0e807f805b577a53f"
14PV = "1.13+git${SRCPV}"
14 15
15S = "${WORKDIR}/git" 16S = "${WORKDIR}/git"
16 17
diff --git a/meta/recipes-kernel/cryptodev/files/0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch b/meta/recipes-kernel/cryptodev/files/0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch
deleted file mode 100644
index 84fd27e681..0000000000
--- a/meta/recipes-kernel/cryptodev/files/0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch
+++ /dev/null
@@ -1,66 +0,0 @@
1From 1980a8f4779a955e73285e7a0d86549b69bea5c8 Mon Sep 17 00:00:00 2001
2From: Yu Zongchun <b40527@freescale.com>
3Date: Sun, 28 Apr 2013 14:39:22 +0800
4Subject: [PATCH] Add the compile and install rules for cryptodev tests folder
5
6This is required to install the cryptodev tests folder to rootfs
7
8Signed-off-by: Yu Zongchun <b40527@freescale.com>
9
10Upstream-Status: Pending
11
12---
13 Makefile | 6 ++++++
14 tests/Makefile | 8 ++++++++
15 2 files changed, 14 insertions(+), 0 deletions(-)
16
17Index: git/Makefile
18===================================================================
19--- git.orig/Makefile
20+++ git/Makefile
21@@ -35,6 +35,9 @@ modules_install:
22 $(MAKE) $(KERNEL_MAKE_OPTS) modules_install
23 install -m 644 -D crypto/cryptodev.h $(DESTDIR)/$(includedir)/crypto/cryptodev.h
24
25+install_tests:
26+ make -C tests install DESTDIR=$(PREFIX)
27+
28 clean:
29 $(MAKE) $(KERNEL_MAKE_OPTS) clean
30 rm -f $(hostprogs) *~
31@@ -43,6 +46,9 @@ clean:
32 check:
33 CFLAGS=$(CRYPTODEV_CFLAGS) KERNEL_DIR=$(KERNEL_DIR) $(MAKE) -C tests check
34
35+testprogs:
36+ KERNEL_DIR=$(KERNEL_DIR) make -C tests testprogs
37+
38 CPOPTS =
39 ifneq ($(SHOW_TYPES),)
40 CPOPTS += --show-types
41Index: git/tests/Makefile
42===================================================================
43--- git.orig/tests/Makefile
44+++ git/tests/Makefile
45@@ -23,6 +23,12 @@ bindir = $(execprefix)/bin
46
47 all: $(hostprogs)
48
49+install:
50+ install -d $(DESTDIR)/usr/bin/tests_cryptodev
51+ for bin in $(hostprogs); do \
52+ install -m 755 $${bin} $(DESTDIR)/usr/bin/tests_cryptodev/; \
53+ done
54+
55 check: $(hostprogs)
56 ./cipher
57 ./hmac
58@@ -38,6 +44,8 @@ install:
59 install -m 755 $$prog $(DESTDIR)/$(bindir); \
60 done
61
62+testprogs: $(hostprogs)
63+
64 clean:
65 rm -f *.o *~ $(hostprogs)
66
diff --git a/meta/recipes-kernel/cryptodev/files/0001-Disable-installing-header-file-provided-by-another-p.patch b/meta/recipes-kernel/cryptodev/files/0001-Disable-installing-header-file-provided-by-another-p.patch
index 885b5823e4..c7fdef4da4 100644
--- a/meta/recipes-kernel/cryptodev/files/0001-Disable-installing-header-file-provided-by-another-p.patch
+++ b/meta/recipes-kernel/cryptodev/files/0001-Disable-installing-header-file-provided-by-another-p.patch
@@ -1,4 +1,4 @@
1From 8a884f55bd1527baa82fab68c186ba546273860c Mon Sep 17 00:00:00 2001 1From 66d85d3f26e21cf7c38b27de0dcc42376f5d853e Mon Sep 17 00:00:00 2001
2From: Denys Dmytriyenko <denys@ti.com> 2From: Denys Dmytriyenko <denys@ti.com>
3Date: Sun, 6 Apr 2014 19:51:39 -0400 3Date: Sun, 6 Apr 2014 19:51:39 -0400
4Subject: [PATCH] Disable installing header file provided by another package 4Subject: [PATCH] Disable installing header file provided by another package
@@ -6,19 +6,20 @@ Subject: [PATCH] Disable installing header file provided by another package
6Signed-off-by: Denys Dmytriyenko <denys@ti.com> 6Signed-off-by: Denys Dmytriyenko <denys@ti.com>
7 7
8Upstream-Status: Inappropriate [ OE specific ] 8Upstream-Status: Inappropriate [ OE specific ]
9
9--- 10---
10 Makefile | 1 - 11 Makefile | 1 -
11 1 file changed, 1 deletion(-) 12 1 file changed, 1 deletion(-)
12 13
13diff --git a/Makefile b/Makefile 14diff --git a/Makefile b/Makefile
14index 5a080e0..bf02396 100644 15index d83aee6..c8d8ae5 100644
15--- a/Makefile 16--- a/Makefile
16+++ b/Makefile 17+++ b/Makefile
17@@ -33,7 +33,6 @@ install: modules_install 18@@ -36,7 +36,6 @@ install: modules_install
18 19
19 modules_install: 20 modules_install:
20 $(MAKE) $(KERNEL_MAKE_OPTS) modules_install 21 $(MAKE) $(KERNEL_MAKE_OPTS) modules_install
21- install -m 644 -D crypto/cryptodev.h $(DESTDIR)/$(includedir)/crypto/cryptodev.h 22- install -m 644 -D crypto/cryptodev.h $(DESTDIR)/$(includedir)/crypto/cryptodev.h
22 23
23 clean: 24 install_tests: tests
24 $(MAKE) $(KERNEL_MAKE_OPTS) clean 25 $(MAKE) -C tests install DESTDIR=$(PREFIX)
diff --git a/meta/recipes-kernel/cryptodev/files/0001-tests-Makefile-do-not-use-Werror.patch b/meta/recipes-kernel/cryptodev/files/0001-tests-Makefile-do-not-use-Werror.patch
new file mode 100644
index 0000000000..3285548a57
--- /dev/null
+++ b/meta/recipes-kernel/cryptodev/files/0001-tests-Makefile-do-not-use-Werror.patch
@@ -0,0 +1,25 @@
1From 47438e53e1156db0916c0f4683a24fe4d82152f2 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Fri, 10 Sep 2021 10:44:42 +0200
4Subject: [PATCH] tests/Makefile: do not use -Werror
5
6Otherwise, openssl 3 deprecation warnings become errors.
7Reported at https://github.com/cryptodev-linux/cryptodev-linux/issues/67
8
9Upstream-Status: Inappropriate [upstream needs to update the code]
10Signed-off-by: Alexander Kanavin <alex@linutronix.de>
11
12---
13 tests/Makefile | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/tests/Makefile b/tests/Makefile
17index 2fb7a9a..e94f80e 100644
18--- a/tests/Makefile
19+++ b/tests/Makefile
20@@ -1,4 +1,4 @@
21-CFLAGS += -I.. $(CRYPTODEV_CFLAGS) -Wall -Werror
22+CFLAGS += -I.. $(CRYPTODEV_CFLAGS) -Wall
23
24 comp_progs := cipher_comp hash_comp hmac_comp
25
diff --git a/meta/recipes-kernel/dtc/dtc.inc b/meta/recipes-kernel/dtc/dtc.inc
deleted file mode 100644
index 5da6c24fbf..0000000000
--- a/meta/recipes-kernel/dtc/dtc.inc
+++ /dev/null
@@ -1,28 +0,0 @@
1SUMMARY = "Device Tree Compiler"
2HOMEPAGE = "https://devicetree.org/"
3DESCRIPTION = "The Device Tree Compiler is a tool used to manipulate the Open-Firmware-like device tree used by PowerPC kernels."
4SECTION = "bootloader"
5LICENSE = "GPLv2 | BSD"
6DEPENDS = "flex-native bison-native"
7
8SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git \
9 file://make_install.patch \
10 file://0001-dtc-Fix-Makefile-to-add-CFLAGS-not-override.patch \
11 "
12
13UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
14
15EXTRA_OEMAKE='NO_PYTHON=1 PREFIX="${prefix}" LIBDIR="${libdir}" DESTDIR="${D}"'
16
17inherit pkgconfig
18
19S = "${WORKDIR}/git"
20
21do_install () {
22 oe_runmake install
23}
24
25PACKAGES =+ "${PN}-misc"
26FILES_${PN}-misc = "${bindir}/convert-dtsv0 ${bindir}/ftdump ${bindir}/dtdiff"
27
28RDEPENDS_${PN}-misc += "bash diffutils"
diff --git a/meta/recipes-kernel/dtc/dtc/0001-dtc-Fix-Makefile-to-add-CFLAGS-not-override.patch b/meta/recipes-kernel/dtc/dtc/0001-dtc-Fix-Makefile-to-add-CFLAGS-not-override.patch
deleted file mode 100644
index a2deb12d4b..0000000000
--- a/meta/recipes-kernel/dtc/dtc/0001-dtc-Fix-Makefile-to-add-CFLAGS-not-override.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From f0119060ef1b9bd80e2cae487df1e4aedffb0e9b Mon Sep 17 00:00:00 2001
2From: Oleksiy Obitotskyy <oobitots@cisco.com>
3Date: Fri, 22 Jan 2021 09:12:48 +0200
4Subject: [PATCH] dtc: Fix Makefile to add CFLAGS not override
5
6Makefile override CFLAGS not extend them, so some of them
7missing. Sources builds out of kernel tree and probably not all
8options could be used (?). We need at least -fmacro-prefix-map/
9debug-prefix-map to eliminate absolute path in binaries.
10
11Upstream-Status: Pending
12Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
13---
14 Makefile | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/Makefile b/Makefile
18index 35d936f..b5b13cf 100644
19--- a/Makefile
20+++ b/Makefile
21@@ -20,10 +20,10 @@ CONFIG_LOCALVERSION =
22 # See libfdt_internal.h for details
23 ASSUME_MASK ?= 0
24
25-CPPFLAGS = -I libfdt -I . -DFDT_ASSUME_MASK=$(ASSUME_MASK)
26+CPPFLAGS += -I libfdt -I . -DFDT_ASSUME_MASK=$(ASSUME_MASK)
27 WARNINGS = -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
28 -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wshadow
29-CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) -Werror $(WARNINGS) $(EXTRA_CFLAGS)
30+CFLAGS += -g -Os $(SHAREDLIB_CFLAGS) -Werror $(WARNINGS) $(EXTRA_CFLAGS)
31
32 BISON = bison
33 LEX = flex
34--
352.25.1
36
diff --git a/meta/recipes-kernel/dtc/dtc/0001-fdtdump-Fix-gcc11-warning.patch b/meta/recipes-kernel/dtc/dtc/0001-fdtdump-Fix-gcc11-warning.patch
deleted file mode 100644
index ec825cbf7b..0000000000
--- a/meta/recipes-kernel/dtc/dtc/0001-fdtdump-Fix-gcc11-warning.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From 4827e0db6c4f7dea7f4094f49d3bb48ef6dfdc2d Mon Sep 17 00:00:00 2001
2From: David Gibson <david@gibson.dropbear.id.au>
3Date: Wed, 6 Jan 2021 14:52:26 +1100
4Subject: [PATCH] fdtdump: Fix gcc11 warning
5
6In one place, fdtdump abuses fdt_set_magic(), passing it just a small char
7array instead of the full fdt header it expects. That's relying on the
8fact that in fact fdt_set_magic() will only actually access the first 4
9bytes of the buffer.
10
11This trips a new warning in GCC 11 - and it's entirely possible it was
12always UB. So, don't do that.
13
14Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/dtc/dtc.git/patch/?id=ca16a723fa9dde9c5da80dba567f48715000e77c]
15Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
16---
17 fdtdump.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/fdtdump.c b/fdtdump.c
21index 9613bef..d9fb374 100644
22--- a/fdtdump.c
23+++ b/fdtdump.c
24@@ -217,7 +217,7 @@ int main(int argc, char *argv[])
25 char *p = buf;
26 char *endp = buf + len;
27
28- fdt_set_magic(smagic, FDT_MAGIC);
29+ fdt32_st(smagic, FDT_MAGIC);
30
31 /* poor man's memmem */
32 while ((endp - p) >= FDT_MAGIC_SIZE) {
33--
342.30.1
35
diff --git a/meta/recipes-kernel/dtc/dtc/0001-meson.build-bump-version-to-1.7.0.patch b/meta/recipes-kernel/dtc/dtc/0001-meson.build-bump-version-to-1.7.0.patch
new file mode 100644
index 0000000000..79a3b92b44
--- /dev/null
+++ b/meta/recipes-kernel/dtc/dtc/0001-meson.build-bump-version-to-1.7.0.patch
@@ -0,0 +1,29 @@
1From 9153522103bd4ed7e3299c4d073f66bb37cb2d42 Mon Sep 17 00:00:00 2001
2From: Nikolay Letov <letov.nikolay@gmail.com>
3Date: Wed, 22 Feb 2023 13:36:07 +0300
4Subject: [PATCH 1/2] meson.build: bump version to 1.7.0
5
6[This was botched in the actual 1.7.0 release :( - David Gibson]
7
8Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?id=64a907f08b9bedd89833c1eee674148cff2343c6]
9
10Signed-off-by: Nikolay Letov <letov.nikolay@gmail.com>
11Signed-off-by: Peter Marko <peter.marko@siemens.com>
12---
13 meson.build | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/meson.build b/meson.build
17index 78251eb..d88cd9f 100644
18--- a/meson.build
19+++ b/meson.build
20@@ -1,5 +1,5 @@
21 project('dtc', 'c',
22- version: '1.6.0',
23+ version: '1.7.0',
24 license: ['GPL2+', 'BSD-2'],
25 default_options: 'werror=true',
26 )
27--
282.30.2
29
diff --git a/meta/recipes-kernel/dtc/dtc/0002-meson-allow-building-from-shallow-clones.patch b/meta/recipes-kernel/dtc/dtc/0002-meson-allow-building-from-shallow-clones.patch
new file mode 100644
index 0000000000..0284905913
--- /dev/null
+++ b/meta/recipes-kernel/dtc/dtc/0002-meson-allow-building-from-shallow-clones.patch
@@ -0,0 +1,38 @@
1From 4415b0baece3c4351a6d3637c2754abbefd4795d Mon Sep 17 00:00:00 2001
2From: Peter Marko <peter.marko@siemens.com>
3Date: Sat, 16 Dec 2023 18:58:31 +0100
4Subject: [PATCH 2/2] meson: allow building from shallow clones
5
6When building from shallow clone, tag is not available
7and version defaults to git hash.
8Problem is that some builds check DTC version and fail the comparison.
9Example is https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
10Which fails to build with following error:
11dtc version too old (039a994), you need at least version 1.4.4
12
13Drop --always from git describe command, see
14https://github.com/mesonbuild/meson/blob/1.3.0/mesonbuild/utils/universal.py#L773
15This will make it more closer to build via Makefile.
16
17Upstream-Status: Submitted [https://github.com/dgibson/dtc/pull/122]
18
19Signed-off-by: Peter Marko <peter.marko@siemens.com>
20---
21 meson.build | 1 +
22 1 file changed, 1 insertion(+)
23
24diff --git a/meson.build b/meson.build
25index 78251eb..fc0c92a 100644
26--- a/meson.build
27+++ b/meson.build
28@@ -56,6 +56,7 @@ py = py.find_installation(required: get_option('python'))
29 swig = find_program('swig', required: get_option('python'))
30
31 version_gen_h = vcs_tag(
32+ command: ['git', 'describe', '--dirty=+'],
33 input: 'version_gen.h.in',
34 output: 'version_gen.h',
35 )
36--
372.30.2
38
diff --git a/meta/recipes-kernel/dtc/dtc/make_install.patch b/meta/recipes-kernel/dtc/dtc/make_install.patch
deleted file mode 100644
index ea9359e815..0000000000
--- a/meta/recipes-kernel/dtc/dtc/make_install.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1From e9852b9d206df1e42aa4c8afec55a0f5e099b533 Mon Sep 17 00:00:00 2001
2From: Saul Wold <sgw@linux.intel.com>
3Date: Thu, 3 Nov 2011 08:35:47 -0700
4Subject: [PATCH] dtc: Add patch to correctly install shared libraries and
5
6Upstream-Status: Inappropriate [configuration]
7
8---
9 Makefile | 4 ++--
10 1 file changed, 2 insertions(+), 2 deletions(-)
11
12diff --git a/Makefile b/Makefile
13index d8ebc4f..f5e01be 100644
14--- a/Makefile
15+++ b/Makefile
16@@ -205,8 +205,8 @@ install-bin: all $(SCRIPTS)
17 install-lib: all
18 @$(VECHO) INSTALL-LIB
19 $(INSTALL) -d $(DESTDIR)$(LIBDIR)
20- $(INSTALL_LIB) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
21- ln -sf $(notdir $(LIBFDT_lib)) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
22+ $(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
23+ ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/$(notdir $(LIBFDT_lib))
24 ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/libfdt.$(SHAREDLIB_EXT)
25 $(INSTALL_DATA) $(LIBFDT_archive) $(DESTDIR)$(LIBDIR)
26
diff --git a/meta/recipes-kernel/dtc/dtc_1.6.0.bb b/meta/recipes-kernel/dtc/dtc_1.6.0.bb
deleted file mode 100644
index a407137859..0000000000
--- a/meta/recipes-kernel/dtc/dtc_1.6.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1require dtc.inc
2
3LIC_FILES_CHKSUM = "file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
4 file://libfdt/libfdt.h;beginline=4;endline=7;md5=05bb357cfb75cae7d2b01d2ee8d76407"
5
6SRCREV = "2525da3dba9beceb96651dc2986581871dbeca30"
7
8SRC_URI += "file://0001-fdtdump-Fix-gcc11-warning.patch"
9
10S = "${WORKDIR}/git"
11
12BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-kernel/dtc/dtc_1.7.0.bb b/meta/recipes-kernel/dtc/dtc_1.7.0.bb
new file mode 100644
index 0000000000..0702fc16df
--- /dev/null
+++ b/meta/recipes-kernel/dtc/dtc_1.7.0.bb
@@ -0,0 +1,34 @@
1SUMMARY = "Device Tree Compiler"
2HOMEPAGE = "https://devicetree.org/"
3DESCRIPTION = "The Device Tree Compiler is a toolchain for working with device tree source and binary files."
4SECTION = "bootloader"
5LICENSE = "GPL-2.0-only | BSD-2-Clause"
6
7LIC_FILES_CHKSUM = "file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
8 file://BSD-2-Clause;md5=5d6306d1b08f8df623178dfd81880927 \
9 file://README.license;md5=a1eb22e37f09df5b5511b8a278992d0e"
10
11SRC_URI = " \
12 git://git.kernel.org/pub/scm/utils/dtc/dtc.git;branch=main;protocol=https \
13 file://0001-meson.build-bump-version-to-1.7.0.patch \
14 file://0002-meson-allow-building-from-shallow-clones.patch \
15"
16SRCREV = "039a99414e778332d8f9c04cbd3072e1dcc62798"
17
18UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
19
20S = "${WORKDIR}/git"
21
22inherit meson pkgconfig
23
24EXTRA_OEMESON = "-Dpython=disabled -Dvalgrind=disabled"
25
26PACKAGECONFIG ??= "tools"
27PACKAGECONFIG[tools] = "-Dtools=true,-Dtools=false,flex-native bison-native"
28PACKAGECONFIG[yaml] = "-Dyaml=enabled,-Dyaml=disabled,libyaml"
29
30PACKAGES =+ "${PN}-misc"
31FILES:${PN}-misc = "${bindir}/convert-dtsv0 ${bindir}/ftdump ${bindir}/dtdiff"
32RDEPENDS:${PN}-misc += "${@bb.utils.contains('PACKAGECONFIG', 'tools', 'bash diffutils', '', d)}"
33
34BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-doc-validate b/meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-doc-validate
new file mode 100644
index 0000000000..2aa57851c7
--- /dev/null
+++ b/meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-doc-validate
@@ -0,0 +1,20 @@
1#!/bin/sh
2# dt-doc-validate wrapper to allow kernel dt-validation to pass
3#
4# Copyright (C) 2021 Bruce Ashfield <bruce.ashfield@gmail.com>
5# License: MIT (see COPYING.MIT at the root of the repository for terms)
6
7for arg; do
8 case "$arg" in
9 --version)
10 echo "v2021.10"
11 ;;
12 esac
13done
14
15# TBD: left for future consideration
16# exec dt-doc-validate.real "$@"
17
18# we always succeed
19exit 0
20
diff --git a/meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-mk-schema b/meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-mk-schema
new file mode 100644
index 0000000000..24b89d8619
--- /dev/null
+++ b/meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-mk-schema
@@ -0,0 +1,20 @@
1#!/bin/sh
2# dt-mk-schema wrapper to allow kernel dt-validation to pass
3#
4# Copyright (C) 2021 Bruce Ashfield <bruce.ashfield@gmail.com>
5# License: MIT (see COPYING.MIT at the root of the repository for terms)
6
7for arg; do
8 case "$arg" in
9 --version)
10 echo "v2021.10"
11 ;;
12 esac
13done
14
15# TBD: left for future consideration
16# exec dt-mk-schema.real "$@"
17
18# we always succeed
19exit 0
20
diff --git a/meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-validate b/meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-validate
new file mode 100644
index 0000000000..8a4710a7ed
--- /dev/null
+++ b/meta/recipes-kernel/dtc/python3-dtschema-wrapper/dt-validate
@@ -0,0 +1,20 @@
1#!/bin/sh
2# dt-validate wrapper to allow kernel dt-validation to pass
3#
4# Copyright (C) 2021 Bruce Ashfield <bruce.ashfield@gmail.com>
5# License: MIT (see COPYING.MIT at the root of the repository for terms)
6
7for arg; do
8 case "$arg" in
9 --version)
10 echo "v2021.10"
11 ;;
12 esac
13done
14
15# TBD: left for future consideration
16# exec dt-validate.real "$@"
17
18# we always succeed
19exit 0
20
diff --git a/meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb b/meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb
new file mode 100644
index 0000000000..974fcba876
--- /dev/null
+++ b/meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb
@@ -0,0 +1,17 @@
1SUMMARY = "Wrapper for tooling for devicetree validation using YAML and jsonschema"
2HOMEPAGE = "https://yoctoproject.org"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5
6SRC_URI = "file://dt-doc-validate \
7 file://dt-mk-schema \
8 file://dt-validate"
9
10do_install() {
11 install -d ${D}${bindir}/
12 install -m 755 ${WORKDIR}/dt-doc-validate ${D}${bindir}/
13 install -m 755 ${WORKDIR}/dt-mk-schema ${D}${bindir}/
14 install -m 755 ${WORKDIR}/dt-validate ${D}${bindir}/
15}
16
17BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
index 70b2908fd4..8eff00821a 100644
--- a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
+++ b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
@@ -3,20 +3,21 @@ DESCRIPTION = "Powerful set of tools or managing Yocto Linux kernel sources \
3and configuration data. You can use these tools to make a single configuration \ 3and configuration data. You can use these tools to make a single configuration \
4change, apply multiple patches, or work with your own kernel sources." 4change, apply multiple patches, or work with your own kernel sources."
5HOMEPAGE = "https://www.yoctoproject.org/" 5HOMEPAGE = "https://www.yoctoproject.org/"
6LICENSE = "GPLv2" 6LICENSE = "GPL-2.0-only & MIT"
7LIC_FILES_CHKSUM = "file://tools/kgit;beginline=5;endline=9;md5=9c30e971d435e249624278c3e343e501" 7LIC_FILES_CHKSUM = "\
8 file://tools/kgit;beginline=5;endline=9;md5=9c30e971d435e249624278c3e343e501 \
9 file://Kconfiglib/LICENSE.txt;md5=712177a72a3937909543eda3ad1bfb7c \
10"
8 11
9DEPENDS = "git-native" 12DEPENDS += "git-replacement-native"
10 13
11SRCREV = "73f813024d33432116a122524fd2ae48afc910c7" 14SRCREV = "7160ebe8b865dd6028aef278efa219433db93f7e"
12PR = "r12" 15PV = "0.3+git"
13PV = "0.2+git${SRCPV}"
14 16
15inherit native 17inherit native
16 18
17SRC_URI = "git://git.yoctoproject.org/yocto-kernel-tools.git" 19SRC_URI = "git://git.yoctoproject.org/yocto-kernel-tools.git;branch=master;protocol=https"
18S = "${WORKDIR}/git" 20S = "${WORKDIR}/git"
19UPSTREAM_CHECK_COMMITS = "1"
20 21
21do_configure() { 22do_configure() {
22 : 23 :
diff --git a/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch b/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch
index c2301e711d..ddc1519126 100644
--- a/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch
+++ b/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch
@@ -33,20 +33,20 @@ Upstream-Status: Submitted [http://lists.infradead.org/pipermail/kexec/2020-Nove
33 kexec/arch/arm64/kexec-arm64.c | 14 +------------- 33 kexec/arch/arm64/kexec-arm64.c | 14 +-------------
34 1 file changed, 1 insertion(+), 13 deletions(-) 34 1 file changed, 1 insertion(+), 13 deletions(-)
35 35
36Index: kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.c 36diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c
37=================================================================== 37index ec6df4b..10238d9 100644
38--- kexec-tools-2.0.20.orig/kexec/arch/arm64/kexec-arm64.c 38--- a/kexec/arch/arm64/kexec-arm64.c
39+++ kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.c 39+++ b/kexec/arch/arm64/kexec-arm64.c
40@@ -428,7 +428,7 @@ static int setup_2nd_dtb(struct dtb *dtb 40@@ -503,7 +503,7 @@ static int setup_2nd_dtb(struct dtb *dtb, char *command_line, int on_crash)
41 int len, range_len; 41 int len, range_len;
42 int nodeoffset; 42 int nodeoffset;
43 int new_size; 43 int new_size;
44- int result, kaslr_seed; 44- int i, result, kaslr_seed;
45+ int result; 45+ int i, result;
46 46
47 result = fdt_check_header(dtb->buf); 47 result = fdt_check_header(dtb->buf);
48 48
49@@ -499,18 +499,6 @@ static int setup_2nd_dtb(struct dtb *dtb 49@@ -576,18 +576,6 @@ static int setup_2nd_dtb(struct dtb *dtb, char *command_line, int on_crash)
50 return result; 50 return result;
51 } 51 }
52 } else { 52 } else {
@@ -65,3 +65,6 @@ Index: kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.c
65 /* 65 /*
66 * Invoke the getrandom system call with 66 * Invoke the getrandom system call with
67 * GRND_NONBLOCK, to make sure we 67 * GRND_NONBLOCK, to make sure we
68--
692.25.1
70
diff --git a/meta/recipes-kernel/kexec/kexec-tools/0001-kexec-arch-ppc-kexec-ppc.c-correct-double-definition.patch b/meta/recipes-kernel/kexec/kexec-tools/0001-kexec-arch-ppc-kexec-ppc.c-correct-double-definition.patch
deleted file mode 100644
index 6aeebc3939..0000000000
--- a/meta/recipes-kernel/kexec/kexec-tools/0001-kexec-arch-ppc-kexec-ppc.c-correct-double-definition.patch
+++ /dev/null
@@ -1,23 +0,0 @@
1From ba2fb5baf6b0a8c882ac32301dd7a8d16de0dcf6 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Sun, 27 Dec 2020 23:39:29 +0100
4Subject: [PATCH] kexec/arch/ppc/kexec-ppc.c: correct double definition error
5
6Upstream-Status: Pending
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8---
9 kexec/arch/ppc/kexec-ppc.c | 1 -
10 1 file changed, 1 deletion(-)
11
12diff --git a/kexec/arch/ppc/kexec-ppc.c b/kexec/arch/ppc/kexec-ppc.c
13index 03bec36..5b3e244 100644
14--- a/kexec/arch/ppc/kexec-ppc.c
15+++ b/kexec/arch/ppc/kexec-ppc.c
16@@ -35,7 +35,6 @@ unsigned long long initrd_base = 0, initrd_size = 0;
17 unsigned long long ramdisk_base = 0, ramdisk_size = 0;
18 unsigned int rtas_base, rtas_size;
19 int max_memory_ranges;
20-const char *ramdisk;
21
22 /*
23 * Reads the #address-cells and #size-cells on this platform.
diff --git a/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch b/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
index 363d5da4ae..a537ac2f0b 100644
--- a/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
+++ b/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
@@ -1,4 +1,4 @@
1From a04bcf8f683c1a5a7d015920124457ad56fb7cf0 Mon Sep 17 00:00:00 2001 1From e5bc9fbd6029057a4e3815a5326af5bd83a450e6 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 7 Sep 2015 07:59:45 +0000 3Date: Mon, 7 Sep 2015 07:59:45 +0000
4Subject: [PATCH] purgatory: Pass -r directly to linker 4Subject: [PATCH] purgatory: Pass -r directly to linker
@@ -10,15 +10,16 @@ unfiltered
10Signed-off-by: Khem Raj <raj.khem@gmail.com> 10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11 11
12Upstream-Status: Pending 12Upstream-Status: Pending
13
13--- 14---
14 purgatory/Makefile | 2 +- 15 purgatory/Makefile | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-) 16 1 file changed, 1 insertion(+), 1 deletion(-)
16 17
17diff --git a/purgatory/Makefile b/purgatory/Makefile 18diff --git a/purgatory/Makefile b/purgatory/Makefile
18index 2dd6c47..416e6b9 100644 19index 4d2d071..6673423 100644
19--- a/purgatory/Makefile 20--- a/purgatory/Makefile
20+++ b/purgatory/Makefile 21+++ b/purgatory/Makefile
21@@ -60,7 +60,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ 22@@ -61,7 +61,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
22 -I$(shell $(CC) -print-file-name=include) 23 -I$(shell $(CC) -print-file-name=include)
23 $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\ 24 $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\
24 -Wl,--no-undefined -nostartfiles -nostdlib \ 25 -Wl,--no-undefined -nostartfiles -nostdlib \
diff --git a/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch b/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
index 832fe67716..e874a8b4f1 100644
--- a/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
+++ b/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
@@ -1,4 +1,4 @@
1From 55e583d20651e829afbbc8dba0f8ec3017cda2d5 Mon Sep 17 00:00:00 2001 1From b62c1da8f8e641397add10367ee9c4cfdedb1cc0 Mon Sep 17 00:00:00 2001
2From: Haiqing Bai <Haiqing.Bai@windriver.com> 2From: Haiqing Bai <Haiqing.Bai@windriver.com>
3Date: Mon, 9 Jan 2017 15:26:29 +0800 3Date: Mon, 9 Jan 2017 15:26:29 +0800
4Subject: [PATCH] kexec: ARM: Fix add_buffer_phys_virt() align issue 4Subject: [PATCH] kexec: ARM: Fix add_buffer_phys_virt() align issue
@@ -12,15 +12,16 @@ Upstream-Status: Pending
12 12
13Suggested-By:fredrik.markstrom@gmail.com 13Suggested-By:fredrik.markstrom@gmail.com
14Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com> 14Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
15
15--- 16---
16 kexec/arch/arm/crashdump-arm.c | 5 ++++- 17 kexec/arch/arm/crashdump-arm.c | 5 ++++-
17 1 file changed, 4 insertions(+), 1 deletion(-) 18 1 file changed, 4 insertions(+), 1 deletion(-)
18 19
19diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c 20diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
20index daa4788..3f72b38 100644 21index 1ec1826..cc20f63 100644
21--- a/kexec/arch/arm/crashdump-arm.c 22--- a/kexec/arch/arm/crashdump-arm.c
22+++ b/kexec/arch/arm/crashdump-arm.c 23+++ b/kexec/arch/arm/crashdump-arm.c
23@@ -240,6 +240,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline) 24@@ -242,6 +242,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
24 void *buf; 25 void *buf;
25 int err; 26 int err;
26 int last_ranges; 27 int last_ranges;
@@ -28,7 +29,7 @@ index daa4788..3f72b38 100644
28 29
29 /* 30 /*
30 * First fetch all the memory (RAM) ranges that we are going to pass to 31 * First fetch all the memory (RAM) ranges that we are going to pass to
31@@ -281,6 +282,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline) 32@@ -283,6 +284,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
32 33
33 /* for support LPAE enabled kernel*/ 34 /* for support LPAE enabled kernel*/
34 elf_info.class = ELFCLASS64; 35 elf_info.class = ELFCLASS64;
@@ -36,7 +37,7 @@ index daa4788..3f72b38 100644
36 37
37 err = crash_create_elf64_headers(info, &elf_info, 38 err = crash_create_elf64_headers(info, &elf_info,
38 usablemem_rgns.ranges, 39 usablemem_rgns.ranges,
39@@ -302,8 +304,9 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline) 40@@ -304,8 +306,9 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
40 * 1MB) so that available memory passed in kernel command line will be 41 * 1MB) so that available memory passed in kernel command line will be
41 * aligned to 1MB. This is because kernel create_mapping() wants memory 42 * aligned to 1MB. This is because kernel create_mapping() wants memory
42 * regions to be aligned to SECTION_SIZE. 43 * regions to be aligned to SECTION_SIZE.
diff --git a/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch b/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
index 7a4b8548ca..6a21744ac1 100644
--- a/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
+++ b/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
@@ -1,4 +1,4 @@
1From c54488ad5fd657e0f154d76d7456d9080be24836 Mon Sep 17 00:00:00 2001 1From 494888bcc3bbf070dfce1b2686ee34c8619aa33d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 10 Jun 2017 11:18:49 -0700 3Date: Sat, 10 Jun 2017 11:18:49 -0700
4Subject: [PATCH] Disable PIE during link 4Subject: [PATCH] Disable PIE during link
@@ -9,15 +9,16 @@ just need to match it with linker flags
9Upstream-Status: Pending 9Upstream-Status: Pending
10 10
11Signed-off-by: Khem Raj <raj.khem@gmail.com> 11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12
12--- 13---
13 purgatory/Makefile | 2 +- 14 purgatory/Makefile | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-) 15 1 file changed, 1 insertion(+), 1 deletion(-)
15 16
16diff --git a/purgatory/Makefile b/purgatory/Makefile 17diff --git a/purgatory/Makefile b/purgatory/Makefile
17index 416e6b9..f00edb4 100644 18index 6673423..a7405ea 100644
18--- a/purgatory/Makefile 19--- a/purgatory/Makefile
19+++ b/purgatory/Makefile 20+++ b/purgatory/Makefile
20@@ -59,7 +59,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ 21@@ -60,7 +60,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
21 -Iinclude \ 22 -Iinclude \
22 -I$(shell $(CC) -print-file-name=include) 23 -I$(shell $(CC) -print-file-name=include)
23 $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\ 24 $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\
diff --git a/meta/recipes-kernel/kexec/kexec-tools/0007-kexec-un-break-the-build-on-32-bit-x86.patch b/meta/recipes-kernel/kexec/kexec-tools/0007-kexec-un-break-the-build-on-32-bit-x86.patch
deleted file mode 100644
index 36b0845f4a..0000000000
--- a/meta/recipes-kernel/kexec/kexec-tools/0007-kexec-un-break-the-build-on-32-bit-x86.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1From bb6a26371d15473b380459ac4404bf330634b585 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 20 Dec 2019 17:21:08 +0100
4Subject: [PATCH] kexec: un-break the build on 32 bit x86
5
6Upstream-Status: Pending
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8
9---
10 kexec/arch/i386/Makefile | 1 +
11 kexec/arch/i386/kexec-x86.h | 4 ++++
12 2 files changed, 5 insertions(+)
13
14diff --git a/kexec/arch/i386/Makefile b/kexec/arch/i386/Makefile
15index f486103..5d560be 100644
16--- a/kexec/arch/i386/Makefile
17+++ b/kexec/arch/i386/Makefile
18@@ -12,6 +12,7 @@ i386_KEXEC_SRCS += kexec/arch/i386/kexec-beoboot-x86.c
19 i386_KEXEC_SRCS += kexec/arch/i386/kexec-nbi.c
20 i386_KEXEC_SRCS += kexec/arch/i386/x86-linux-setup.c
21 i386_KEXEC_SRCS += kexec/arch/i386/crashdump-x86.c
22+i386_KEXEC_SRCS += kexec/arch/i386/kexec-mb2-x86.c
23
24 dist += kexec/arch/i386/Makefile $(i386_KEXEC_SRCS) \
25 kexec/arch/i386/crashdump-x86.h \
26diff --git a/kexec/arch/i386/kexec-x86.h b/kexec/arch/i386/kexec-x86.h
27index 0f941df..c423171 100644
28--- a/kexec/arch/i386/kexec-x86.h
29+++ b/kexec/arch/i386/kexec-x86.h
30@@ -56,9 +56,13 @@ struct arch_options_t {
31 };
32
33 int multiboot_x86_probe(const char *buf, off_t len);
34+int multiboot2_x86_probe(const char *buf, off_t len);
35 int multiboot_x86_load(int argc, char **argv, const char *buf, off_t len,
36 struct kexec_info *info);
37+int multiboot2_x86_load(int argc, char **argv, const char *buf, off_t len,
38+ struct kexec_info *info);
39 void multiboot_x86_usage(void);
40+void multiboot2_x86_usage(void);
41
42 int multiboot2_x86_load(int argc, char **argv, const char *buf, off_t len,
43 struct kexec_info *info);
diff --git a/meta/recipes-kernel/kexec/kexec-tools/Fix-building-on-x86_64-with-binutils-2.41.patch b/meta/recipes-kernel/kexec/kexec-tools/Fix-building-on-x86_64-with-binutils-2.41.patch
new file mode 100644
index 0000000000..4894f044fc
--- /dev/null
+++ b/meta/recipes-kernel/kexec/kexec-tools/Fix-building-on-x86_64-with-binutils-2.41.patch
@@ -0,0 +1,95 @@
1From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2From: Michel Lind <salimma@fedoraproject.org>
3Date: Tue, 30 Jan 2024 04:14:31 -0600
4Subject: [PATCH] Fix building on x86_64 with binutils 2.41
5
6Newer versions of the GNU assembler (observed with binutils 2.41) will
7complain about the ".arch i386" in files assembled with "as --64",
8with the message "Error: 64bit mode not supported on 'i386'".
9
10Fix by moving ".arch i386" below the relevant ".code32" directive, so
11that the assembler is no longer expecting 64-bit instructions to be used
12by the time that the ".arch i386" directive is encountered.
13
14Based on similar iPXE fix:
15https://github.com/ipxe/ipxe/commit/6ca597eee
16
17Signed-off-by: Michel Lind <michel@michel-slm.name>
18Signed-off-by: Simon Horman <horms@kernel.org>
19
20Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?h=main&id=328de8e00e298f00d7ba6b25dc3950147e9642e6]
21Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
22---
23 purgatory/arch/i386/entry32-16-debug.S | 2 +-
24 purgatory/arch/i386/entry32-16.S | 2 +-
25 purgatory/arch/i386/entry32.S | 2 +-
26 purgatory/arch/i386/setup-x86.S | 2 +-
27 4 files changed, 4 insertions(+), 4 deletions(-)
28
29diff --git a/purgatory/arch/i386/entry32-16-debug.S b/purgatory/arch/i386/entry32-16-debug.S
30index 5167944..12e1164 100644
31--- a/purgatory/arch/i386/entry32-16-debug.S
32+++ b/purgatory/arch/i386/entry32-16-debug.S
33@@ -25,10 +25,10 @@
34 .globl entry16_debug_pre32
35 .globl entry16_debug_first32
36 .globl entry16_debug_old_first32
37- .arch i386
38 .balign 16
39 entry16_debug:
40 .code32
41+ .arch i386
42 /* Compute where I am running at (assumes esp valid) */
43 call 1f
44 1: popl %ebx
45diff --git a/purgatory/arch/i386/entry32-16.S b/purgatory/arch/i386/entry32-16.S
46index c051aab..eace095 100644
47--- a/purgatory/arch/i386/entry32-16.S
48+++ b/purgatory/arch/i386/entry32-16.S
49@@ -20,10 +20,10 @@
50 #undef i386
51 .text
52 .globl entry16, entry16_regs
53- .arch i386
54 .balign 16
55 entry16:
56 .code32
57+ .arch i386
58 /* Compute where I am running at (assumes esp valid) */
59 call 1f
60 1: popl %ebx
61diff --git a/purgatory/arch/i386/entry32.S b/purgatory/arch/i386/entry32.S
62index f7a494f..8ce9e31 100644
63--- a/purgatory/arch/i386/entry32.S
64+++ b/purgatory/arch/i386/entry32.S
65@@ -20,10 +20,10 @@
66 #undef i386
67
68 .text
69- .arch i386
70 .globl entry32, entry32_regs
71 entry32:
72 .code32
73+ .arch i386
74
75 /* Setup a gdt that should that is generally usefully */
76 lgdt %cs:gdt
77diff --git a/purgatory/arch/i386/setup-x86.S b/purgatory/arch/i386/setup-x86.S
78index 201bb2c..a212eed 100644
79--- a/purgatory/arch/i386/setup-x86.S
80+++ b/purgatory/arch/i386/setup-x86.S
81@@ -21,10 +21,10 @@
82 #undef i386
83
84 .text
85- .arch i386
86 .globl purgatory_start
87 purgatory_start:
88 .code32
89+ .arch i386
90
91 /* Load a gdt so I know what the segment registers are */
92 lgdt %cs:gdt
93--
942.39.2
95
diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.21.bb b/meta/recipes-kernel/kexec/kexec-tools_2.0.28.bb
index 069e8f4d05..dec821ea88 100644
--- a/meta/recipes-kernel/kexec/kexec-tools_2.0.21.bb
+++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.28.bb
@@ -1,10 +1,9 @@
1 1
2SUMMARY = "Kexec fast reboot tools" 2SUMMARY = "Kexec fast reboot tools"
3DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel" 3DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel"
4AUTHOR = "Eric Biederman"
5HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/" 4HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/"
6SECTION = "kernel/userland" 5SECTION = "kernel/userland"
7LICENSE = "GPLv2" 6LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \ 7LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \
9 file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09" 8 file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09"
10DEPENDS = "zlib xz" 9DEPENDS = "zlib xz"
@@ -17,19 +16,18 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz
17 file://0002-purgatory-Pass-r-directly-to-linker.patch \ 16 file://0002-purgatory-Pass-r-directly-to-linker.patch \
18 file://0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \ 17 file://0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
19 file://0005-Disable-PIE-during-link.patch \ 18 file://0005-Disable-PIE-during-link.patch \
20 file://0007-kexec-un-break-the-build-on-32-bit-x86.patch \
21 file://0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch \ 19 file://0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch \
22 file://0001-kexec-arch-ppc-kexec-ppc.c-correct-double-definition.patch \ 20 file://Fix-building-on-x86_64-with-binutils-2.41.patch \
23 " 21 "
24 22
25SRC_URI[sha256sum] = "b3d4cfd2ba10d68ce341ea3b8ca414d00a0b6183b95686172154f94bce834f94" 23SRC_URI[sha256sum] = "f33d2660b3e38d25a127e87097978e0f7a9a73ab5151a29eb80974d169ff6a29"
26 24
27inherit autotools update-rc.d systemd 25inherit autotools update-rc.d systemd
28 26
29export LDFLAGS = "-L${STAGING_LIBDIR}" 27export LDFLAGS = "-L${STAGING_LIBDIR}"
30EXTRA_OECONF = " --with-zlib=yes" 28EXTRA_OECONF = " --with-zlib=yes"
31 29
32do_compile_prepend() { 30do_compile:prepend() {
33 # Remove the prepackaged config.h from the source tree as it overrides 31 # Remove the prepackaged config.h from the source tree as it overrides
34 # the same file generated by configure and placed in the build tree 32 # the same file generated by configure and placed in the build tree
35 rm -f ${S}/include/config.h 33 rm -f ${S}/include/config.h
@@ -44,7 +42,7 @@ do_compile_prepend() {
44 done 42 done
45} 43}
46 44
47do_install_append () { 45do_install:append () {
48 install -d ${D}${sysconfdir}/sysconfig 46 install -d ${D}${sysconfdir}/sysconfig
49 install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig 47 install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig
50 48
@@ -54,35 +52,35 @@ do_install_append () {
54 52
55 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then 53 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
56 install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper 54 install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper
57 install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_unitdir}/system/kdump.service 55 install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_system_unitdir}/kdump.service
58 sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_unitdir}/system/kdump.service 56 sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_system_unitdir}/kdump.service
59 fi 57 fi
60} 58}
61 59
62PACKAGES =+ "kexec kdump vmcore-dmesg" 60PACKAGES =+ "kexec kdump vmcore-dmesg"
63 61
64ALLOW_EMPTY_${PN} = "1" 62ALLOW_EMPTY:${PN} = "1"
65RRECOMMENDS_${PN} = "kexec kdump vmcore-dmesg" 63RRECOMMENDS:${PN} = "kexec kdump vmcore-dmesg"
66 64
67FILES_kexec = "${sbindir}/kexec" 65FILES:kexec = "${sbindir}/kexec"
68FILES_kdump = "${sbindir}/kdump \ 66FILES:kdump = "${sbindir}/kdump \
69 ${sysconfdir}/sysconfig/kdump.conf \ 67 ${sysconfdir}/sysconfig/kdump.conf \
70 ${sysconfdir}/init.d/kdump \ 68 ${sysconfdir}/init.d/kdump \
71 ${libexecdir}/kdump-helper \ 69 ${libexecdir}/kdump-helper \
72 ${systemd_unitdir}/system/kdump.service \ 70 ${systemd_system_unitdir}/kdump.service \
73" 71"
74 72
75FILES_vmcore-dmesg = "${sbindir}/vmcore-dmesg" 73FILES:vmcore-dmesg = "${sbindir}/vmcore-dmesg"
76 74
77INITSCRIPT_PACKAGES = "kdump" 75INITSCRIPT_PACKAGES = "kdump"
78INITSCRIPT_NAME_kdump = "kdump" 76INITSCRIPT_NAME:kdump = "kdump"
79INITSCRIPT_PARAMS_kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ." 77INITSCRIPT_PARAMS:kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ."
80 78
81SYSTEMD_PACKAGES = "kdump" 79SYSTEMD_PACKAGES = "kdump"
82SYSTEMD_SERVICE_kdump = "kdump.service" 80SYSTEMD_SERVICE:kdump = "kdump.service"
83 81
84SECURITY_PIE_CFLAGS_remove = "-fPIE -pie" 82SECURITY_PIE_CFLAGS:remove = "-fPIE -pie"
85 83
86COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)' 84COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)'
87 85
88INSANE_SKIP_${PN} = "arch" 86INSANE_SKIP:${PN} = "arch"
diff --git a/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb
index 9a172675af..6c0739d64f 100644
--- a/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb
+++ b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb
@@ -21,20 +21,29 @@ do_install() {
21#!/bin/sh 21#!/bin/sh
22# Expected to be called as: depmodwrapper -a KERNEL_VERSION 22# Expected to be called as: depmodwrapper -a KERNEL_VERSION
23if [ "\$1" != "-a" -o "\$2" != "-b" ]; then 23if [ "\$1" != "-a" -o "\$2" != "-b" ]; then
24 echo "Usage: depmodwrapper -a -b rootfs KERNEL_VERSION" >&2 24 echo "Usage: depmodwrapper -a -b rootfs KERNEL_VERSION [KERNEL_PACKAGE_NAME]" >&2
25 exit 1 25 exit 1
26fi 26fi
27 27
28kernelpkgname="kernel"
29# If no KERNEL_PACKAGE_NAME, assume "kernel".
30[ -z "\$5" ] || kernelpkgname="\$5"
31
28kernelabi="" 32kernelabi=""
29if [ -r "${PKGDATA_DIR}/kernel-depmod/kernel-abiversion" ]; then 33if [ -r "${PKGDATA_DIR}/\${kernelpkgname}-depmod/\${kernelpkgname}-abiversion" ]; then
30 kernelabi=\$(cat "${PKGDATA_DIR}/kernel-depmod/kernel-abiversion") 34 kernelabi=\$(cat "${PKGDATA_DIR}/\${kernelpkgname}-depmod/\${kernelpkgname}-abiversion")
35fi
36
37if [ ! -e "\$3${nonarch_base_libdir}/depmod.d/exclude.conf" ]; then
38 mkdir -p "\$3${nonarch_base_libdir}/depmod.d"
39 echo "exclude .debug" > "\$3${nonarch_base_libdir}/depmod.d/exclude.conf"
31fi 40fi
32 41
33if [ ! -r ${PKGDATA_DIR}/kernel-depmod/System.map-\$4 ] || [ "\$kernelabi" != "\$4" ]; then 42if [ ! -r ${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4 ] || [ "\$kernelabi" != "\$4" ]; then
34 echo "Unable to read: ${PKGDATA_DIR}/kernel-depmod/System.map-\$4" >&2 43 echo "Unable to read: ${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4" >&2
35 exec env depmod "\$1" "\$2" "\$3" "\$4" 44 exec env depmod -C "\$3${nonarch_base_libdir}/depmod.d" "\$1" "\$2" "\$3" "\$4"
36else 45else
37 exec env depmod "\$1" "\$2" "\$3" -F "${PKGDATA_DIR}/kernel-depmod/System.map-\$4" "\$4" 46 exec env depmod -C "\$3${nonarch_base_libdir}/depmod.d" "\$1" "\$2" "\$3" -F "${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4" "\$4"
38fi 47fi
39EOF 48EOF
40 chmod +x ${D}${bindir_crossscripts}/depmodwrapper 49 chmod +x ${D}${bindir_crossscripts}/depmodwrapper
diff --git a/meta/recipes-kernel/kmod/kmod-native_git.bb b/meta/recipes-kernel/kmod/kmod-native_git.bb
deleted file mode 100644
index f61134bbaf..0000000000
--- a/meta/recipes-kernel/kmod/kmod-native_git.bb
+++ /dev/null
@@ -1,15 +0,0 @@
1# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require kmod.inc
5
6DEPENDS += "zlib-native"
7
8inherit native
9
10do_install_append (){
11 for tool in depmod insmod lsmod modinfo modprobe rmmod
12 do
13 ln -s kmod ${D}${bindir}/$tool
14 done
15}
diff --git a/meta/recipes-kernel/kmod/kmod.inc b/meta/recipes-kernel/kmod/kmod.inc
deleted file mode 100644
index ccda9f2b73..0000000000
--- a/meta/recipes-kernel/kmod/kmod.inc
+++ /dev/null
@@ -1,38 +0,0 @@
1# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMMARY = "Tools for managing Linux kernel modules"
5DESCRIPTION = "kmod is a set of tools to handle common tasks with Linux kernel modules like \
6 insert, remove, list, check properties, resolve dependencies and aliases."
7HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kmod/"
8LICENSE = "GPL-2.0+ & LGPL-2.1+"
9LICENSE_libkmod = "LGPL-2.1+"
10SECTION = "base"
11
12LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
13 file://libkmod/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
14 file://tools/COPYING;md5=751419260aa954499f7abaabaa882bbe \
15 "
16inherit autotools gtk-doc pkgconfig manpages
17
18SRCREV = "1ccfe994287119cc6cef37a7ca4c529d89de4b95"
19# Lookout for PV bump too when SRCREV is changed
20PV = "28"
21
22SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git \
23 file://depmod-search.conf \
24 file://avoid_parallel_tests.patch \
25 "
26
27S = "${WORKDIR}/git"
28
29EXTRA_AUTORECONF += "--install --symlink"
30EXTRA_OECONF +=" --enable-tools --with-zlib"
31
32PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
33PACKAGECONFIG[logging] = " --enable-logging,--disable-logging"
34PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native"
35PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz"
36PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
37
38GTKDOC_DOCDIR = "${S}/libkmod/docs"
diff --git a/meta/recipes-kernel/kmod/kmod/0001-Use-portable-implementation-for-basename-API.patch b/meta/recipes-kernel/kmod/kmod/0001-Use-portable-implementation-for-basename-API.patch
new file mode 100644
index 0000000000..6a7f9ded4f
--- /dev/null
+++ b/meta/recipes-kernel/kmod/kmod/0001-Use-portable-implementation-for-basename-API.patch
@@ -0,0 +1,136 @@
1From 721ed6040c7aa47070faf6378c433089e178bd43 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 9 Dec 2023 17:35:59 -0800
4Subject: [PATCH] Use portable implementation for basename API
5
6musl has removed the non-prototype declaration of basename from
7string.h [1] which now results in build errors with clang-17+ compiler
8
9Implement GNU basename behavior using strchr which is portable across libcs
10
11Fixes
12../git/tools/kmod.c:71:19: error: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1371 | "Commands:\n", basename(argv[0]));
14| ^
15
16[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
17
18Upstream-Status: Submitted [https://github.com/kmod-project/kmod/pull/32]
19
20Suggested-by: Rich Felker
21
22Signed-off-by: Khem Raj <raj.khem@gmail.com>
23---
24 libkmod/libkmod-config.c | 2 +-
25 shared/util.c | 4 ++--
26 shared/util.h | 7 +++++++
27 testsuite/testsuite.c | 2 +-
28 tools/depmod.c | 2 +-
29 tools/kmod.c | 4 ++--
30 6 files changed, 14 insertions(+), 7 deletions(-)
31
32diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
33index e83621b..8aa555a 100644
34--- a/libkmod/libkmod-config.c
35+++ b/libkmod/libkmod-config.c
36@@ -794,7 +794,7 @@ static int conf_files_insert_sorted(struct kmod_ctx *ctx,
37 bool is_single = false;
38
39 if (name == NULL) {
40- name = basename(path);
41+ name = gnu_basename(path);
42 is_single = true;
43 }
44
45diff --git a/shared/util.c b/shared/util.c
46index e2bab83..0e16670 100644
47--- a/shared/util.c
48+++ b/shared/util.c
49@@ -172,9 +172,9 @@ char *modname_normalize(const char *modname, char buf[static PATH_MAX], size_t *
50
51 char *path_to_modname(const char *path, char buf[static PATH_MAX], size_t *len)
52 {
53- char *modname;
54+ const char *modname;
55
56- modname = basename(path);
57+ modname = gnu_basename(path);
58 if (modname == NULL || modname[0] == '\0')
59 return NULL;
60
61diff --git a/shared/util.h b/shared/util.h
62index c4a3916..073dc5a 100644
63--- a/shared/util.h
64+++ b/shared/util.h
65@@ -5,6 +5,7 @@
66 #include <stdbool.h>
67 #include <stdlib.h>
68 #include <stdio.h>
69+#include <string.h>
70 #include <sys/types.h>
71 #include <sys/stat.h>
72 #include <time.h>
73@@ -76,6 +77,12 @@ do { \
74 __p->__v = (val); \
75 } while(0)
76
77+static _always_inline_ const char *gnu_basename(const char *s)
78+{
79+ const char *p = strrchr(s, '/');
80+ return p ? p+1 : s;
81+}
82+
83 static _always_inline_ unsigned int ALIGN_POWER2(unsigned int u)
84 {
85 return 1 << ((sizeof(u) * 8) - __builtin_clz(u - 1));
86diff --git a/testsuite/testsuite.c b/testsuite/testsuite.c
87index 318343a..aafc987 100644
88--- a/testsuite/testsuite.c
89+++ b/testsuite/testsuite.c
90@@ -70,7 +70,7 @@ static void help(void)
91
92 printf("Usage:\n"
93 "\t%s [options] <test>\n"
94- "Options:\n", basename(progname));
95+ "Options:\n", gnu_basename(progname));
96
97 for (itr = options, itr_short = options_short;
98 itr->name != NULL; itr++, itr_short++)
99diff --git a/tools/depmod.c b/tools/depmod.c
100index 43fc354..cfb15b1 100644
101--- a/tools/depmod.c
102+++ b/tools/depmod.c
103@@ -762,7 +762,7 @@ static int cfg_files_insert_sorted(struct cfg_file ***p_files, size_t *p_n_files
104 if (name != NULL)
105 namelen = strlen(name);
106 else {
107- name = basename(dir);
108+ name = gnu_basename(dir);
109 namelen = strlen(name);
110 dirlen -= namelen + 1;
111 }
112diff --git a/tools/kmod.c b/tools/kmod.c
113index 55689c0..df91e5c 100644
114--- a/tools/kmod.c
115+++ b/tools/kmod.c
116@@ -68,7 +68,7 @@ static int kmod_help(int argc, char *argv[])
117 "Options:\n"
118 "\t-V, --version show version\n"
119 "\t-h, --help show this help\n\n"
120- "Commands:\n", basename(argv[0]));
121+ "Commands:\n", gnu_basename(argv[0]));
122
123 for (i = 0; i < ARRAY_SIZE(kmod_cmds); i++) {
124 if (kmod_cmds[i]->help != NULL) {
125@@ -156,7 +156,7 @@ static int handle_kmod_compat_commands(int argc, char *argv[])
126 const char *cmd;
127 size_t i;
128
129- cmd = basename(argv[0]);
130+ cmd = gnu_basename(argv[0]);
131
132 for (i = 0; i < ARRAY_SIZE(kmod_compat_cmds); i++) {
133 if (streq(kmod_compat_cmds[i]->name, cmd))
134--
1352.43.0
136
diff --git a/meta/recipes-kernel/kmod/kmod/gtkdocdir.patch b/meta/recipes-kernel/kmod/kmod/gtkdocdir.patch
new file mode 100644
index 0000000000..a34ea466e8
--- /dev/null
+++ b/meta/recipes-kernel/kmod/kmod/gtkdocdir.patch
@@ -0,0 +1,33 @@
1From dd59095f70f774f6d1e767010e25b35ef6db4c4b Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@arm.com>
3Date: Fri, 8 Dec 2023 22:35:45 +0000
4Subject: [PATCH] configure: set docdir in GTK_DOC_CHECK
5
6By passing --docdir in the GTK_DOC_CHECK arguments (to match
7autogen.sh) autoreconf will work out of the box.
8
9Without this autoreconf fails due to the documentation not being in
10./docs, the default location.
11
12Upstream-Status: Submitted [https://lore.kernel.org/linux-modules/20231208224511.1363066-1-ross.burton@arm.com/T/#u]
13Signed-off-by: Ross Burton <ross.burton@arm.com>
14---
15 configure.ac | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/configure.ac b/configure.ac
19index de01e08..67696c4 100644
20--- a/configure.ac
21+++ b/configure.ac
22@@ -255,7 +255,7 @@ AS_IF([test "x$enable_coverage" = "xyes"], [
23 AM_CONDITIONAL([ENABLE_COVERAGE], [test "x$enable_coverage" = "xyes"])
24
25 m4_ifdef([GTK_DOC_CHECK], [
26-GTK_DOC_CHECK([1.14],[--flavour no-tmpl-flat])
27+GTK_DOC_CHECK([1.14],[--flavour no-tmpl-flat --docdir libkmod/docs])
28 ], [
29 AM_CONDITIONAL([ENABLE_GTK_DOC], false)])
30
31--
322.34.1
33
diff --git a/meta/recipes-kernel/kmod/kmod/ptest.patch b/meta/recipes-kernel/kmod/kmod/ptest.patch
deleted file mode 100644
index 831dbcb909..0000000000
--- a/meta/recipes-kernel/kmod/kmod/ptest.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1Add 'install-ptest' rule.
2
3Signed-off-by: Tudor Florea <tudor.florea@enea.com>
4Upstream-Status: Pending
5
6diff -ruN a/Makefile.am b/Makefile.am
7--- a/Makefile.am 2013-07-12 17:11:05.278331557 +0200
8+++ b/Makefile.am 2013-07-12 17:14:27.033788016 +0200
9@@ -204,6 +204,16 @@
10
11 distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
12
13+install-ptest:
14+ @$(MKDIR_P) $(DESTDIR)/testsuite
15+ @for file in $(TESTSUITE); do \
16+ install $$file $(DESTDIR)/testsuite; \
17+ done;
18+ @sed -e 's/^Makefile/_Makefile/' < Makefile > $(DESTDIR)/Makefile
19+ @$(MKDIR_P) $(DESTDIR)/tools
20+ @cp $(noinst_SCRIPTS) $(noinst_PROGRAMS) $(DESTDIR)/tools
21+ @cp -r testsuite/rootfs testsuite/.libs $(DESTDIR)/testsuite
22+
23 # ------------------------------------------------------------------------------
24 # custom release helpers
25 # ------------------------------------------------------------------------------
diff --git a/meta/recipes-kernel/kmod/kmod_31.bb b/meta/recipes-kernel/kmod/kmod_31.bb
new file mode 100644
index 0000000000..6ae83a7c66
--- /dev/null
+++ b/meta/recipes-kernel/kmod/kmod_31.bb
@@ -0,0 +1,89 @@
1# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMMARY = "Tools for managing Linux kernel modules"
5DESCRIPTION = "kmod is a set of tools to handle common tasks with Linux kernel modules like \
6 insert, remove, list, check properties, resolve dependencies and aliases."
7HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kmod/"
8LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
9LICENSE:libkmod = "LGPL-2.1-or-later"
10SECTION = "base"
11
12LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
13 file://libkmod/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
14 file://tools/COPYING;md5=751419260aa954499f7abaabaa882bbe \
15 "
16inherit autotools bash-completion gtk-doc pkgconfig manpages update-alternatives
17
18SRCREV = "aff617ea871d0568cc491bd116c0be1e857463bb"
19
20SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git;branch=master;protocol=https \
21 file://depmod-search.conf \
22 file://avoid_parallel_tests.patch \
23 file://0001-Use-portable-implementation-for-basename-API.patch \
24 file://gtkdocdir.patch \
25 "
26
27S = "${WORKDIR}/git"
28
29EXTRA_OECONF += "--enable-tools"
30
31PACKAGECONFIG ??= "zlib xz openssl"
32PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
33PACKAGECONFIG[logging] = " --enable-logging,--disable-logging"
34PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native"
35PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
36PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz"
37PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
38PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
39
40PROVIDES += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
41RPROVIDES:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
42RCONFLICTS:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
43RREPLACES:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
44
45# to force user to remove old module-init-tools and replace them with kmod variants
46RCONFLICTS:libkmod2 += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
47
48# autotools set prefix to /usr, however we want them in /bin and /sbin
49EXTRA_OECONF += "--bindir=${base_bindir} --sbindir=${base_sbindir}"
50
51do_install:append () {
52 install -dm755 ${D}${base_bindir}
53 install -dm755 ${D}${base_sbindir}
54 # add symlinks to kmod
55 ln -rs ${D}${base_bindir}/kmod ${D}${base_bindir}/lsmod
56 for tool in insmod rmmod depmod modinfo modprobe; do
57 ln -rs ${D}${base_bindir}/kmod ${D}${base_sbindir}/${tool}
58 done
59 # configuration directories
60 install -dm755 ${D}${nonarch_base_libdir}/depmod.d
61 install -dm755 ${D}${nonarch_base_libdir}/modprobe.d
62 install -dm755 ${D}${sysconfdir}/depmod.d
63 install -dm755 ${D}${sysconfdir}/modprobe.d
64
65 # install depmod.d file for search/ dir
66 install -Dm644 "${WORKDIR}/depmod-search.conf" "${D}${nonarch_base_libdir}/depmod.d/search.conf"
67
68 # Add .debug to the exclude path for depmod
69 echo "exclude .debug" > ${D}${nonarch_base_libdir}/depmod.d/exclude.conf
70}
71
72ALTERNATIVE_PRIORITY = "70"
73
74ALTERNATIVE:kmod = "insmod modprobe rmmod modinfo bin-lsmod lsmod depmod"
75
76ALTERNATIVE_LINK_NAME[depmod] = "${base_sbindir}/depmod"
77ALTERNATIVE_LINK_NAME[insmod] = "${base_sbindir}/insmod"
78ALTERNATIVE_LINK_NAME[modprobe] = "${base_sbindir}/modprobe"
79ALTERNATIVE_LINK_NAME[rmmod] = "${base_sbindir}/rmmod"
80ALTERNATIVE_LINK_NAME[modinfo] = "${base_sbindir}/modinfo"
81ALTERNATIVE_LINK_NAME[bin-lsmod] = "${base_bindir}/lsmod"
82ALTERNATIVE_LINK_NAME[lsmod] = "${base_sbindir}/lsmod"
83ALTERNATIVE_TARGET[lsmod] = "${base_bindir}/lsmod.${BPN}"
84
85PACKAGES =+ "libkmod"
86FILES:libkmod = "${base_libdir}/libkmod*${SOLIBS} ${libdir}/libkmod*${SOLIBS}"
87FILES:${PN} += "${nonarch_base_libdir}/depmod.d ${nonarch_base_libdir}/modprobe.d"
88
89BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-kernel/kmod/kmod_git.bb b/meta/recipes-kernel/kmod/kmod_git.bb
deleted file mode 100644
index 4f2b037f2f..0000000000
--- a/meta/recipes-kernel/kmod/kmod_git.bb
+++ /dev/null
@@ -1,62 +0,0 @@
1# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require kmod.inc
5
6DEPENDS += "zlib"
7PROVIDES += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
8RPROVIDES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
9RCONFLICTS_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
10RREPLACES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
11
12# to force user to remove old module-init-tools and replace them with kmod variants
13RCONFLICTS_libkmod2 += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
14
15# autotools set prefix to /usr, however we want them in /bin and /sbin
16EXTRA_OECONF += " --bindir=${base_bindir} --sbindir=${base_sbindir}"
17
18do_install_append () {
19 install -dm755 ${D}${base_bindir}
20 install -dm755 ${D}${base_sbindir}
21 # add symlinks to kmod
22 lnr ${D}${base_bindir}/kmod ${D}${base_bindir}/lsmod
23 for tool in insmod rmmod depmod modinfo modprobe; do
24 lnr ${D}${base_bindir}/kmod ${D}${base_sbindir}/${tool}
25 done
26 # configuration directories
27 install -dm755 ${D}${base_libdir}/depmod.d
28 install -dm755 ${D}${base_libdir}/modprobe.d
29 install -dm755 ${D}${sysconfdir}/depmod.d
30 install -dm755 ${D}${sysconfdir}/modprobe.d
31
32 # install depmod.d file for search/ dir
33 install -Dm644 "${WORKDIR}/depmod-search.conf" "${D}${base_libdir}/depmod.d/search.conf"
34}
35
36do_compile_prepend() {
37 sed -i 's/ac_pwd=/#ac_pwd=/' config.status ; sed -i "/#ac_pwd=/a\ac_pwd='.'" config.status
38}
39
40inherit update-alternatives bash-completion
41
42ALTERNATIVE_PRIORITY = "70"
43
44ALTERNATIVE_kmod = "insmod modprobe rmmod modinfo bin-lsmod lsmod depmod"
45
46ALTERNATIVE_LINK_NAME[insmod] = "${base_sbindir}/insmod"
47ALTERNATIVE_LINK_NAME[modprobe] = "${base_sbindir}/modprobe"
48ALTERNATIVE_LINK_NAME[rmmod] = "${base_sbindir}/rmmod"
49ALTERNATIVE_LINK_NAME[modinfo] = "${base_sbindir}/modinfo"
50ALTERNATIVE_LINK_NAME[bin-lsmod] = "${base_bindir}/lsmod"
51
52ALTERNATIVE_LINK_NAME[lsmod] = "${base_sbindir}/lsmod"
53ALTERNATIVE_TARGET[lsmod] = "${base_bindir}/lsmod.${BPN}"
54
55ALTERNATIVE_LINK_NAME[depmod] = "${base_sbindir}/depmod"
56
57PACKAGES =+ "libkmod"
58
59FILES_libkmod = "${base_libdir}/libkmod*${SOLIBS} ${libdir}/libkmod*${SOLIBS}"
60FILES_${PN} += "${base_libdir}/depmod.d ${base_libdir}/modprobe.d"
61
62BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch b/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch
new file mode 100644
index 0000000000..c723c236c0
--- /dev/null
+++ b/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch
@@ -0,0 +1,45 @@
1From 7f88c9ba5f27276e844252500a9f0ba2b350b919 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@arm.com>
3Date: Sun, 27 Aug 2023 20:57:44 +0100
4Subject: [PATCH] Fixes for the Meson build of libtraceevent:
5
6- Make the plugin directory the same as the Makefiles
7- Install the plugins as modules not static and versioned shared libraries
8
9Upstream-Status: Submitted [https://lore.kernel.org/linux-trace-devel/20240311111140.1789879-1-alex@linutronix.de/T/#u]
10Signed-off-by: Ross Burton <ross.burton@arm.com>
11---
12 meson.build | 2 +-
13 plugins/meson.build | 3 +--
14 2 files changed, 2 insertions(+), 3 deletions(-)
15
16diff --git a/meson.build b/meson.build
17index 40ce38c..1eb7912 100644
18--- a/meson.build
19+++ b/meson.build
20@@ -25,7 +25,7 @@ htmldir = join_paths(prefixdir, get_option('htmldir'))
21 libdir = join_paths(prefixdir, get_option('libdir'))
22 plugindir = get_option('plugindir')
23 if plugindir == ''
24- plugindir = join_paths(libdir, 'libtraceevent/plugins')
25+ plugindir = join_paths(libdir, 'traceevent/plugins')
26 endif
27
28 add_project_arguments(
29diff --git a/plugins/meson.build b/plugins/meson.build
30index 74ad664..4919be4 100644
31--- a/plugins/meson.build
32+++ b/plugins/meson.build
33@@ -19,11 +19,10 @@ plugins = [
34
35 pdeps = []
36 foreach plugin : plugins
37- pdeps += library(
38+ pdeps += shared_module(
39 plugin.replace('.c', ''),
40 plugin,
41 name_prefix: '',
42- version: library_version,
43 dependencies: [libtraceevent_dep],
44 include_directories: [incdir],
45 install: true,
diff --git a/meta/recipes-kernel/libtraceevent/libtraceevent_1.8.2.bb b/meta/recipes-kernel/libtraceevent/libtraceevent_1.8.2.bb
new file mode 100644
index 0000000000..d4ace54884
--- /dev/null
+++ b/meta/recipes-kernel/libtraceevent/libtraceevent_1.8.2.bb
@@ -0,0 +1,23 @@
1# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMMARY = "API to access the kernel tracefs directory"
5HOMEPAGE = "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"
6LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
7LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \
8 file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
9SECTION = "libs"
10
11SRCREV = "6f6d5802f31992e7527a4c32b43a32fda6bf6bdf"
12SRC_URI = "git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git;branch=${BPN};protocol=https \
13 file://meson.patch"
14
15S = "${WORKDIR}/git"
16
17inherit meson pkgconfig
18
19EXTRA_OEMESON = "-Ddoc=false"
20
21PACKAGES += "${PN}-plugins"
22
23FILES:${PN}-plugins += "${libdir}/traceevent/plugins"
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb
deleted file mode 100644
index 0013e24580..0000000000
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb
+++ /dev/null
@@ -1,1017 +0,0 @@
1SUMMARY = "Firmware files for use with Linux kernel"
2DESCRIPTION = "Linux firmware is a package distributed alongside the Linux kernel \
3that contains firmware binary blobs necessary for partial or full functionality \
4of certain hardware devices."
5SECTION = "kernel"
6
7LICENSE = "\
8 Firmware-Abilis \
9 & Firmware-adsp_sst \
10 & Firmware-agere \
11 & Firmware-amdgpu \
12 & Firmware-amd-ucode \
13 & Firmware-amlogic_vdec \
14 & Firmware-atheros_firmware \
15 & Firmware-atmel \
16 & Firmware-broadcom_bcm43xx \
17 & Firmware-ca0132 \
18 & Firmware-cavium \
19 & Firmware-chelsio_firmware \
20 & Firmware-cw1200 \
21 & Firmware-cypress \
22 & Firmware-dib0700 \
23 & Firmware-e100 \
24 & Firmware-ene_firmware \
25 & Firmware-fw_sst_0f28 \
26 & Firmware-go7007 \
27 & Firmware-GPLv2 \
28 & Firmware-hfi1_firmware \
29 & Firmware-i2400m \
30 & Firmware-i915 \
31 & Firmware-ibt_firmware \
32 & Firmware-ice \
33 & Firmware-it913x \
34 & Firmware-iwlwifi_firmware \
35 & Firmware-IntcSST2 \
36 & Firmware-kaweth \
37 & Firmware-Lontium \
38 & Firmware-Marvell \
39 & Firmware-moxa \
40 & Firmware-myri10ge_firmware \
41 & Firmware-netronome \
42 & Firmware-nvidia \
43 & Firmware-OLPC \
44 & Firmware-ath9k-htc \
45 & Firmware-phanfw \
46 & Firmware-qat \
47 & Firmware-qcom \
48 & Firmware-qla1280 \
49 & Firmware-qla2xxx \
50 & Firmware-qualcommAthos_ar3k \
51 & Firmware-qualcommAthos_ath10k \
52 & Firmware-r8a779x_usb3 \
53 & Firmware-radeon \
54 & Firmware-ralink_a_mediatek_company_firmware \
55 & Firmware-ralink-firmware \
56 & Firmware-rtlwifi_firmware \
57 & Firmware-imx-sdma_firmware \
58 & Firmware-siano \
59 & Firmware-tda7706-firmware \
60 & Firmware-ti-connectivity \
61 & Firmware-ti-keystone \
62 & Firmware-ueagle-atm4-firmware \
63 & Firmware-via_vt6656 \
64 & Firmware-wl1251 \
65 & Firmware-xc4000 \
66 & Firmware-xc5000 \
67 & Firmware-xc5000c \
68 & WHENCE \
69"
70
71LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
72 file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \
73 file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
74 file://LICENSE.amdgpu;md5=d357524f5099e2a3db3c1838921c593f \
75 file://LICENSE.amd-ucode;md5=3c5399dc9148d7f0e1f41e34b69cf14f \
76 file://LICENSE.amlogic_vdec;md5=dc44f59bf64a81643e500ad3f39a468a \
77 file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
78 file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \
79 file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
80 file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \
81 file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \
82 file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \
83 file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \
84 file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \
85 file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \
86 file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \
87 file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \
88 file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \
89 file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \
90 file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \
91 file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
92 file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \
93 file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \
94 file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \
95 file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \
96 file://LICENSE.ice;md5=742ab4850f2670792940e6d15c974b2f \
97 file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
98 file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \
99 file://LICENCE.iwlwifi_firmware;md5=3fd842911ea93c29cd32679aa23e1c88 \
100 file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \
101 file://LICENSE.Lontium;md5=4ec8dc582ff7295f39e2ca6a7b0be2b6 \
102 file://LICENCE.Marvell;md5=28b6ed8bd04ba105af6e4dcd6e997772 \
103 file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \
104 file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \
105 file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \
106 file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \
107 file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \
108 file://LICENCE.NXP;md5=58bb8ba632cd729b9ba6183bc6aed36f \
109 file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \
110 file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \
111 file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \
112 file://LICENCE.qat_firmware;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
113 file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \
114 file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \
115 file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \
116 file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \
117 file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8 \
118 file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \
119 file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \
120 file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \
121 file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \
122 file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
123 file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \
124 file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \
125 file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0dddd695c7d9103e \
126 file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \
127 file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \
128 file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \
129 file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \
130 file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \
131 file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
132 file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
133 file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
134 file://WHENCE;md5=ef0565762eac313c409567b59dff00b2 \
135 "
136
137# These are not common licenses, set NO_GENERIC_LICENSE for them
138# so that the license files will be copied from fetched source
139NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENCE.Abilis"
140NO_GENERIC_LICENSE[Firmware-adsp_sst] = "LICENCE.adsp_sst"
141NO_GENERIC_LICENSE[Firmware-agere] = "LICENCE.agere"
142NO_GENERIC_LICENSE[Firmware-amdgpu] = "LICENSE.amdgpu"
143NO_GENERIC_LICENSE[Firmware-amd-ucode] = "LICENSE.amd-ucode"
144NO_GENERIC_LICENSE[Firmware-amlogic_vdec] = "LICENSE.amlogic_vdec"
145NO_GENERIC_LICENSE[Firmware-atheros_firmware] = "LICENCE.atheros_firmware"
146NO_GENERIC_LICENSE[Firmware-atmel] = "LICENSE.atmel"
147NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx"
148NO_GENERIC_LICENSE[Firmware-ca0132] = "LICENCE.ca0132"
149NO_GENERIC_LICENSE[Firmware-cadence] = "LICENCE.cadence"
150NO_GENERIC_LICENSE[Firmware-cavium] = "LICENCE.cavium"
151NO_GENERIC_LICENSE[Firmware-chelsio_firmware] = "LICENCE.chelsio_firmware"
152NO_GENERIC_LICENSE[Firmware-cw1200] = "LICENCE.cw1200"
153NO_GENERIC_LICENSE[Firmware-cypress] = "LICENCE.cypress"
154NO_GENERIC_LICENSE[Firmware-dib0700] = "LICENSE.dib0700"
155NO_GENERIC_LICENSE[Firmware-e100] = "LICENCE.e100"
156NO_GENERIC_LICENSE[Firmware-ene_firmware] = "LICENCE.ene_firmware"
157NO_GENERIC_LICENSE[Firmware-fw_sst_0f28] = "LICENCE.fw_sst_0f28"
158NO_GENERIC_LICENSE[Firmware-go7007] = "LICENCE.go7007"
159NO_GENERIC_LICENSE[Firmware-GPLv2] = "GPL-2"
160NO_GENERIC_LICENSE[Firmware-hfi1_firmware] = "LICENSE.hfi1_firmware"
161NO_GENERIC_LICENSE[Firmware-i2400m] = "LICENCE.i2400m"
162NO_GENERIC_LICENSE[Firmware-i915] = "LICENSE.i915"
163NO_GENERIC_LICENSE[Firmware-ibt_firmware] = "LICENCE.ibt_firmware"
164NO_GENERIC_LICENSE[Firmware-ice] = "LICENSE.ice"
165NO_GENERIC_LICENSE[Firmware-IntcSST2] = "LICENCE.IntcSST2"
166NO_GENERIC_LICENSE[Firmware-it913x] = "LICENCE.it913x"
167NO_GENERIC_LICENSE[Firmware-iwlwifi_firmware] = "LICENCE.iwlwifi_firmware"
168NO_GENERIC_LICENSE[Firmware-kaweth] = "LICENCE.kaweth"
169NO_GENERIC_LICENSE[Firmware-Lontium] = "LICENSE.Lontium"
170NO_GENERIC_LICENSE[Firmware-Marvell] = "LICENCE.Marvell"
171NO_GENERIC_LICENSE[Firmware-mediatek] = "LICENCE.mediatek"
172NO_GENERIC_LICENSE[Firmware-moxa] = "LICENCE.moxa"
173NO_GENERIC_LICENSE[Firmware-myri10ge_firmware] = "LICENCE.myri10ge_firmware"
174NO_GENERIC_LICENSE[Firmware-netronome] = "LICENCE.Netronome"
175NO_GENERIC_LICENSE[Firmware-nvidia] = "LICENCE.nvidia"
176NO_GENERIC_LICENSE[Firmware-OLPC] = "LICENCE.OLPC"
177NO_GENERIC_LICENSE[Firmware-ath9k-htc] = "LICENCE.open-ath9k-htc-firmware"
178NO_GENERIC_LICENSE[Firmware-phanfw] = "LICENCE.phanfw"
179NO_GENERIC_LICENSE[Firmware-qat] = "LICENCE.qat_firmware"
180NO_GENERIC_LICENSE[Firmware-qcom] = "LICENSE.qcom"
181NO_GENERIC_LICENSE[Firmware-qla1280] = "LICENCE.qla1280"
182NO_GENERIC_LICENSE[Firmware-qla2xxx] = "LICENCE.qla2xxx"
183NO_GENERIC_LICENSE[Firmware-qualcommAthos_ar3k] = "LICENSE.QualcommAtheros_ar3k"
184NO_GENERIC_LICENSE[Firmware-qualcommAthos_ath10k] = "LICENSE.QualcommAtheros_ath10k"
185NO_GENERIC_LICENSE[Firmware-r8a779x_usb3] = "LICENCE.r8a779x_usb3"
186NO_GENERIC_LICENSE[Firmware-radeon] = "LICENSE.radeon"
187NO_GENERIC_LICENSE[Firmware-ralink_a_mediatek_company_firmware] = "LICENCE.ralink_a_mediatek_company_firmware"
188NO_GENERIC_LICENSE[Firmware-ralink-firmware] = "LICENCE.ralink-firmware.txt"
189NO_GENERIC_LICENSE[Firmware-rtlwifi_firmware] = "LICENCE.rtlwifi_firmware.txt"
190NO_GENERIC_LICENSE[Firmware-siano] = "LICENCE.siano"
191NO_GENERIC_LICENSE[Firmware-imx-sdma_firmware] = "LICENSE.sdma_firmware"
192NO_GENERIC_LICENSE[Firmware-tda7706-firmware] = "LICENCE.tda7706-firmware.txt"
193NO_GENERIC_LICENSE[Firmware-ti-connectivity] = "LICENCE.ti-connectivity"
194NO_GENERIC_LICENSE[Firmware-ti-keystone] = "LICENCE.ti-keystone"
195NO_GENERIC_LICENSE[Firmware-ueagle-atm4-firmware] = "LICENCE.ueagle-atm4-firmware"
196NO_GENERIC_LICENSE[Firmware-via_vt6656] = "LICENCE.via_vt6656"
197NO_GENERIC_LICENSE[Firmware-wl1251] = "LICENCE.wl1251"
198NO_GENERIC_LICENSE[Firmware-xc4000] = "LICENCE.xc4000"
199NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000"
200NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c"
201NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
202
203PE = "1"
204
205SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz"
206
207SRC_URI[sha256sum] = "1bcb1a3944c361507754a7d26ccff40ffc28d1fb93bce711d67da26b33e785b7"
208
209inherit allarch
210
211CLEANBROKEN = "1"
212
213do_compile() {
214 :
215}
216
217do_install() {
218 oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' install
219 cp GPL-2 LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/
220}
221
222
223PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \
224 ${PN}-mt7601u-license ${PN}-mt7601u \
225 ${PN}-radeon-license ${PN}-radeon \
226 ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \
227 ${PN}-sd8686 ${PN}-sd8688 ${PN}-sd8787 ${PN}-sd8797 ${PN}-sd8801 \
228 ${PN}-sd8887 ${PN}-sd8897 ${PN}-sd8997 ${PN}-usb8997 \
229 ${PN}-ti-connectivity-license ${PN}-wlcommon ${PN}-wl12xx ${PN}-wl18xx \
230 ${PN}-vt6656-license ${PN}-vt6656 \
231 ${PN}-rtl-license ${PN}-rtl8188 ${PN}-rtl8192cu ${PN}-rtl8192ce ${PN}-rtl8192su ${PN}-rtl8723 ${PN}-rtl8821 \
232 ${PN}-rtl8168 \
233 ${PN}-cypress-license \
234 ${PN}-broadcom-license \
235 ${PN}-bcm-0bb4-0306 \
236 ${PN}-bcm43143 \
237 ${PN}-bcm43236b \
238 ${PN}-bcm43241b0 \
239 ${PN}-bcm43241b4 \
240 ${PN}-bcm43241b5 \
241 ${PN}-bcm43242a \
242 ${PN}-bcm4329 \
243 ${PN}-bcm4329-fullmac \
244 ${PN}-bcm4330 \
245 ${PN}-bcm4334 \
246 ${PN}-bcm43340 \
247 ${PN}-bcm4335 \
248 ${PN}-bcm43362 \
249 ${PN}-bcm4339 \
250 ${PN}-bcm43430 \
251 ${PN}-bcm43430a0 \
252 ${PN}-bcm43455 \
253 ${PN}-bcm4350 \
254 ${PN}-bcm4350c2 \
255 ${PN}-bcm4354 \
256 ${PN}-bcm4356 \
257 ${PN}-bcm4356-pcie \
258 ${PN}-bcm43569 \
259 ${PN}-bcm43570 \
260 ${PN}-bcm4358 \
261 ${PN}-bcm43602 \
262 ${PN}-bcm4366b \
263 ${PN}-bcm4366c \
264 ${PN}-bcm4371 \
265 ${PN}-bcm4373 \
266 ${PN}-bcm43xx \
267 ${PN}-bcm43xx-hdr \
268 ${PN}-atheros-license ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k \
269 ${PN}-gplv2-license ${PN}-carl9170 \
270 ${PN}-ar3k-license ${PN}-ar3k ${PN}-ath10k-license ${PN}-ath10k ${PN}-ath11k ${PN}-qca \
271 \
272 ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \
273 \
274 ${PN}-iwlwifi-license ${PN}-iwlwifi \
275 ${PN}-iwlwifi-135-6 \
276 ${PN}-iwlwifi-3160-7 ${PN}-iwlwifi-3160-8 ${PN}-iwlwifi-3160-9 \
277 ${PN}-iwlwifi-3160-10 ${PN}-iwlwifi-3160-12 ${PN}-iwlwifi-3160-13 \
278 ${PN}-iwlwifi-3160-16 ${PN}-iwlwifi-3160-17 \
279 ${PN}-iwlwifi-6000-4 ${PN}-iwlwifi-6000g2a-5 ${PN}-iwlwifi-6000g2a-6 \
280 ${PN}-iwlwifi-6000g2b-5 ${PN}-iwlwifi-6000g2b-6 \
281 ${PN}-iwlwifi-6050-4 ${PN}-iwlwifi-6050-5 \
282 ${PN}-iwlwifi-7260 \
283 ${PN}-iwlwifi-7265 \
284 ${PN}-iwlwifi-7265d ${PN}-iwlwifi-8000c ${PN}-iwlwifi-8265 \
285 ${PN}-iwlwifi-9000 \
286 ${PN}-iwlwifi-misc \
287 ${PN}-ibt-license ${PN}-ibt \
288 ${PN}-ibt-11-5 ${PN}-ibt-12-16 ${PN}-ibt-hw-37-7 ${PN}-ibt-hw-37-8 \
289 ${PN}-ibt-17 \
290 ${PN}-ibt-20 \
291 ${PN}-ibt-misc \
292 ${PN}-i915-license ${PN}-i915 \
293 ${PN}-ice-license ${PN}-ice \
294 ${PN}-adsp-sst-license ${PN}-adsp-sst \
295 ${PN}-bnx2-mips \
296 ${PN}-liquidio \
297 ${PN}-nvidia-license \
298 ${PN}-nvidia-tegra-k1 ${PN}-nvidia-tegra \
299 ${PN}-nvidia-gpu \
300 ${PN}-netronome-license ${PN}-netronome \
301 ${PN}-qat ${PN}-qat-license \
302 ${PN}-qcom-license \
303 ${PN}-qcom-venus-1.8 ${PN}-qcom-venus-4.2 ${PN}-qcom-venus-5.2 ${PN}-qcom-venus-5.4 \
304 ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a530 ${PN}-qcom-adreno-a630 \
305 ${PN}-qcom-sdm845-audio ${PN}-qcom-sdm845-compute ${PN}-qcom-sdm845-modem \
306 ${PN}-amlogic-vdec-license ${PN}-amlogic-vdec \
307 ${PN}-lt9611uxc ${PN}-lontium-license \
308 ${PN}-whence-license \
309 ${PN}-license \
310 "
311
312# For atheros
313LICENSE_${PN}-ar9170 = "Firmware-atheros_firmware"
314LICENSE_${PN}-ath6k = "Firmware-atheros_firmware"
315LICENSE_${PN}-ath9k = "Firmware-atheros_firmware"
316LICENSE_${PN}-atheros-license = "Firmware-atheros_firmware"
317
318FILES_${PN}-atheros-license = "${nonarch_base_libdir}/firmware/LICENCE.atheros_firmware"
319FILES_${PN}-ar9170 = " \
320 ${nonarch_base_libdir}/firmware/ar9170*.fw \
321"
322FILES_${PN}-ath6k = " \
323 ${nonarch_base_libdir}/firmware/ath6k \
324"
325FILES_${PN}-ath9k = " \
326 ${nonarch_base_libdir}/firmware/ar9271.fw \
327 ${nonarch_base_libdir}/firmware/ar7010*.fw \
328 ${nonarch_base_libdir}/firmware/htc_9271.fw \
329 ${nonarch_base_libdir}/firmware/htc_7010.fw \
330 ${nonarch_base_libdir}/firmware/ath9k_htc/htc_7010-1.4.0.fw \
331 ${nonarch_base_libdir}/firmware/ath9k_htc/htc_9271-1.4.0.fw \
332"
333
334RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license"
335RDEPENDS_${PN}-ath6k += "${PN}-atheros-license"
336RDEPENDS_${PN}-ath9k += "${PN}-atheros-license"
337
338# For carl9170
339LICENSE_${PN}-carl9170 = "Firmware-GPLv2"
340LICENSE_${PN}-gplv2-license = "Firmware-GPLv2"
341
342FILES_${PN}-gplv2-license = "${nonarch_base_libdir}/firmware/GPL-2"
343FILES_${PN}-carl9170 = " \
344 ${nonarch_base_libdir}/firmware/carl9170*.fw \
345"
346
347RDEPENDS_${PN}-carl9170 += "${PN}-gplv2-license"
348
349# For QualCommAthos
350LICENSE_${PN}-ar3k = "Firmware-qualcommAthos_ar3k"
351LICENSE_${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k"
352LICENSE_${PN}-ath10k = "Firmware-qualcommAthos_ath10k"
353LICENSE_${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k"
354LICENSE_${PN}-qca = "Firmware-qualcommAthos_ath10k"
355
356FILES_${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k"
357FILES_${PN}-ar3k = " \
358 ${nonarch_base_libdir}/firmware/ar3k \
359"
360
361FILES_${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k"
362FILES_${PN}-ath10k = " \
363 ${nonarch_base_libdir}/firmware/ath10k \
364"
365
366FILES_${PN}-ath11k = " \
367 ${nonarch_base_libdir}/firmware/ath11k \
368"
369
370FILES_${PN}-qca = " \
371 ${nonarch_base_libdir}/firmware/qca \
372"
373
374RDEPENDS_${PN}-ar3k += "${PN}-ar3k-license"
375RDEPENDS_${PN}-ath10k += "${PN}-ath10k-license"
376RDEPENDS_${PN}-ath11k += "${PN}-ath10k-license"
377RDEPENDS_${PN}-qca += "${PN}-ath10k-license"
378
379# For ralink
380LICENSE_${PN}-ralink = "Firmware-ralink-firmware"
381LICENSE_${PN}-ralink-license = "Firmware-ralink-firmware"
382
383FILES_${PN}-ralink-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink-firmware.txt"
384FILES_${PN}-ralink = " \
385 ${nonarch_base_libdir}/firmware/rt*.bin \
386"
387
388RDEPENDS_${PN}-ralink += "${PN}-ralink-license"
389
390# For mediatek MT7601U
391LICENSE_${PN}-mt7601u = "Firmware-ralink_a_mediatek_company_firmware"
392LICENSE_${PN}-mt7601u-license = "Firmware-ralink_a_mediatek_company_firmware"
393
394FILES_${PN}-mt7601u-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware"
395FILES_${PN}-mt7601u = " \
396 ${nonarch_base_libdir}/firmware/mt7601u.bin \
397"
398
399RDEPENDS_${PN}-mt7601u += "${PN}-mt7601u-license"
400
401# For radeon
402LICENSE_${PN}-radeon = "Firmware-radeon"
403LICENSE_${PN}-radeon-license = "Firmware-radeon"
404
405FILES_${PN}-radeon-license = "${nonarch_base_libdir}/firmware/LICENSE.radeon"
406FILES_${PN}-radeon = " \
407 ${nonarch_base_libdir}/firmware/radeon \
408"
409
410RDEPENDS_${PN}-radeon += "${PN}-radeon-license"
411
412# For lontium
413LICENSE_${PN}-lt9611uxc = "Firmware-Lontium"
414
415FILES_${PN}-lontium-license = "${nonarch_base_libdir}/firmware/LICENSE.Lontium"
416FILES_${PN}-lt9611uxc = "${nonarch_base_libdir}/firmware/lt9611uxc_fw.bin"
417
418# For marvell
419LICENSE_${PN}-pcie8897 = "Firmware-Marvell"
420LICENSE_${PN}-pcie8997 = "Firmware-Marvell"
421LICENSE_${PN}-sd8686 = "Firmware-Marvell"
422LICENSE_${PN}-sd8688 = "Firmware-Marvell"
423LICENSE_${PN}-sd8787 = "Firmware-Marvell"
424LICENSE_${PN}-sd8797 = "Firmware-Marvell"
425LICENSE_${PN}-sd8801 = "Firmware-Marvell"
426LICENSE_${PN}-sd8887 = "Firmware-Marvell"
427LICENSE_${PN}-sd8897 = "Firmware-Marvell"
428LICENSE_${PN}-sd8997 = "Firmware-Marvell"
429LICENSE_${PN}-usb8997 = "Firmware-Marvell"
430LICENSE_${PN}-marvell-license = "Firmware-Marvell"
431
432FILES_${PN}-marvell-license = "${nonarch_base_libdir}/firmware/LICENCE.Marvell"
433FILES_${PN}-pcie8897 = " \
434 ${nonarch_base_libdir}/firmware/mrvl/pcie8897_uapsta.bin \
435"
436FILES_${PN}-pcie8997 = " \
437 ${nonarch_base_libdir}/firmware/mrvl/pcie8997_wlan_v4.bin \
438 ${nonarch_base_libdir}/firmware/mrvl/pcieuart8997_combo_v4.bin \
439 ${nonarch_base_libdir}/firmware/mrvl/pcieusb8997_combo_v4.bin \
440"
441FILES_${PN}-sd8686 = " \
442 ${nonarch_base_libdir}/firmware/libertas/sd8686_v9* \
443 ${nonarch_base_libdir}/firmware/sd8686* \
444"
445FILES_${PN}-sd8688 = " \
446 ${nonarch_base_libdir}/firmware/libertas/sd8688* \
447 ${nonarch_base_libdir}/firmware/mrvl/sd8688* \
448"
449FILES_${PN}-sd8787 = " \
450 ${nonarch_base_libdir}/firmware/mrvl/sd8787_uapsta.bin \
451"
452FILES_${PN}-sd8797 = " \
453 ${nonarch_base_libdir}/firmware/mrvl/sd8797_uapsta.bin \
454"
455FILES_${PN}-sd8801 = " \
456 ${nonarch_base_libdir}/firmware/mrvl/sd8801_uapsta.bin \
457"
458FILES_${PN}-sd8887 = " \
459 ${nonarch_base_libdir}/firmware/mrvl/sd8887_uapsta.bin \
460"
461FILES_${PN}-sd8897 = " \
462 ${nonarch_base_libdir}/firmware/mrvl/sd8897_uapsta.bin \
463"
464do_install_append() {
465 # The kernel 5.6.x driver still uses the old name, provide a symlink for
466 # older kernels
467 ln -fs sdsd8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin
468}
469FILES_${PN}-sd8997 = " \
470 ${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin \
471 ${nonarch_base_libdir}/firmware/mrvl/sdsd8997_combo_v4.bin \
472"
473FILES_${PN}-usb8997 = " \
474 ${nonarch_base_libdir}/firmware/mrvl/usbusb8997_combo_v4.bin \
475"
476
477RDEPENDS_${PN}-sd8686 += "${PN}-marvell-license"
478RDEPENDS_${PN}-sd8688 += "${PN}-marvell-license"
479RDEPENDS_${PN}-sd8787 += "${PN}-marvell-license"
480RDEPENDS_${PN}-sd8797 += "${PN}-marvell-license"
481RDEPENDS_${PN}-sd8801 += "${PN}-marvell-license"
482RDEPENDS_${PN}-sd8887 += "${PN}-marvell-license"
483RDEPENDS_${PN}-sd8897 += "${PN}-marvell-license"
484RDEPENDS_${PN}-sd8997 += "${PN}-marvell-license"
485RDEPENDS_${PN}-usb8997 += "${PN}-marvell-license"
486
487# For netronome
488LICENSE_${PN}-netronome = "Firmware-netronome"
489
490FILES_${PN}-netronome-license = " \
491 ${nonarch_base_libdir}/firmware/LICENCE.Netronome \
492"
493FILES_${PN}-netronome = " \
494 ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0081*.nffw \
495 ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0096*.nffw \
496 ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0097*.nffw \
497 ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0099*.nffw \
498"
499
500RDEPENDS_${PN}-netronome += "${PN}-netronome-license"
501
502# For Nvidia
503LICENSE_${PN}-nvidia-gpu = "Firmware-nvidia"
504LICENSE_${PN}-nvidia-tegra = "Firmware-nvidia"
505LICENSE_${PN}-nvidia-tegra-k1 = "Firmware-nvidia"
506LICENSE_${PN}-nvidia-license = "Firmware-nvidia"
507
508FILES_${PN}-nvidia-gpu = "${nonarch_base_libdir}/firmware/nvidia"
509FILES_${PN}-nvidia-tegra = " \
510 ${nonarch_base_libdir}/firmware/nvidia/tegra* \
511 ${nonarch_base_libdir}/firmware/nvidia/gm20b \
512 ${nonarch_base_libdir}/firmware/nvidia/gp10b \
513"
514FILES_${PN}-nvidia-tegra-k1 = " \
515 ${nonarch_base_libdir}/firmware/nvidia/tegra124 \
516 ${nonarch_base_libdir}/firmware/nvidia/gk20a \
517"
518FILES_${PN}-nvidia-license = "${nonarch_base_libdir}/firmware/LICENCE.nvidia"
519
520RDEPENDS_${PN}-nvidia-gpu += "${PN}-nvidia-license"
521RDEPENDS_${PN}-nvidia-tegra += "${PN}-nvidia-license"
522RDEPENDS_${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license"
523
524# For rtl
525LICENSE_${PN}-rtl8188 = "Firmware-rtlwifi_firmware"
526LICENSE_${PN}-rtl8192cu = "Firmware-rtlwifi_firmware"
527LICENSE_${PN}-rtl8192ce = "Firmware-rtlwifi_firmware"
528LICENSE_${PN}-rtl8192su = "Firmware-rtlwifi_firmware"
529LICENSE_${PN}-rtl8723 = "Firmware-rtlwifi_firmware"
530LICENSE_${PN}-rtl8821 = "Firmware-rtlwifi_firmware"
531LICENSE_${PN}-rtl-license = "Firmware-rtlwifi_firmware"
532LICENSE_${PN}-rtl8168 = "WHENCE"
533
534FILES_${PN}-rtl-license = " \
535 ${nonarch_base_libdir}/firmware/LICENCE.rtlwifi_firmware.txt \
536"
537FILES_${PN}-rtl8188 = " \
538 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8188*.bin \
539"
540FILES_${PN}-rtl8192cu = " \
541 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cufw*.bin \
542"
543FILES_${PN}-rtl8192ce = " \
544 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cfw*.bin \
545"
546FILES_${PN}-rtl8192su = " \
547 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8712u.bin \
548"
549FILES_${PN}-rtl8723 = " \
550 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8723*.bin \
551"
552FILES_${PN}-rtl8821 = " \
553 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8821*.bin \
554"
555FILES_${PN}-rtl8168 = " \
556 ${nonarch_base_libdir}/firmware/rtl_nic/rtl8168*.fw \
557"
558
559RDEPENDS_${PN}-rtl8188 += "${PN}-rtl-license"
560RDEPENDS_${PN}-rtl8192ce += "${PN}-rtl-license"
561RDEPENDS_${PN}-rtl8192cu += "${PN}-rtl-license"
562RDEPENDS_${PN}-rtl8192su = "${PN}-rtl-license"
563RDEPENDS_${PN}-rtl8723 += "${PN}-rtl-license"
564RDEPENDS_${PN}-rtl8821 += "${PN}-rtl-license"
565RDEPENDS_${PN}-rtl8168 += "${PN}-whence-license"
566
567# For ti-connectivity
568LICENSE_${PN}-wlcommon = "Firmware-ti-connectivity"
569LICENSE_${PN}-wl12xx = "Firmware-ti-connectivity"
570LICENSE_${PN}-wl18xx = "Firmware-ti-connectivity"
571LICENSE_${PN}-ti-connectivity-license = "Firmware-ti-connectivity"
572
573FILES_${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.ti-connectivity"
574# wl18xx optionally needs wl1271-nvs.bin (which itself is a symlink to
575# wl127x-nvs.bin) - see linux/drivers/net/wireless/ti/wlcore/sdio.c
576# and drivers/net/wireless/ti/wlcore/spi.c.
577# While they're optional and actually only used to override the MAC
578# address on wl18xx, driver loading will delay (by udev timout - 60s)
579# if not there. So let's make it available always. Because it's a
580# symlink, both need to go to wlcommon.
581FILES_${PN}-wlcommon = " \
582 ${nonarch_base_libdir}/firmware/ti-connectivity/TI* \
583 ${nonarch_base_libdir}/firmware/ti-connectivity/wl127x-nvs.bin \
584 ${nonarch_base_libdir}/firmware/ti-connectivity/wl1271-nvs.bin \
585"
586FILES_${PN}-wl12xx = " \
587 ${nonarch_base_libdir}/firmware/ti-connectivity/wl12* \
588"
589FILES_${PN}-wl18xx = " \
590 ${nonarch_base_libdir}/firmware/ti-connectivity/wl18* \
591"
592
593RDEPENDS_${PN}-wl12xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
594RDEPENDS_${PN}-wl18xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
595
596# For vt6656
597LICENSE_${PN}-vt6656 = "Firmware-via_vt6656"
598LICENSE_${PN}-vt6656-license = "Firmware-via_vt6656"
599
600FILES_${PN}-vt6656-license = "${nonarch_base_libdir}/firmware/LICENCE.via_vt6656"
601FILES_${PN}-vt6656 = " \
602 ${nonarch_base_libdir}/firmware/vntwusb.fw \
603"
604
605RDEPENDS_${PN}-vt6656 = "${PN}-vt6656-license"
606
607# For broadcom
608
609# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e " \${PN}-$pkg \\"; done | sort -u
610
611LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx"
612FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx"
613
614# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo "$i - $pkg"; echo -e "FILES_\${PN}-$pkg = \"\${nonarch_base_libdir}/firmware/brcm/$i\""; done | grep ^FILES
615
616FILES_${PN}-bcm43xx = "${nonarch_base_libdir}/firmware/brcm/bcm43xx-0.fw"
617FILES_${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw"
618FILES_${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin"
619FILES_${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin"
620FILES_${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin"
621FILES_${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*"
622FILES_${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin"
623FILES_${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin"
624FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin"
625FILES_${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin"
626FILES_${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin"
627FILES_${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin"
628FILES_${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin"
629FILES_${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \
630 ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \
631"
632FILES_${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*"
633FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.*"
634FILES_${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin"
635FILES_${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin"
636FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.bin"
637FILES_${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin"
638FILES_${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin"
639FILES_${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin"
640FILES_${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \
641 ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \
642"
643FILES_${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin"
644FILES_${PN}-bcm4366c = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366c-pcie.bin"
645FILES_${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin"
646
647# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE_\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done
648# Currently 1st one and last 6 have cypress LICENSE
649
650LICENSE_${PN}-bcm43xx = "Firmware-broadcom_bcm43xx"
651RDEPENDS_${PN}-bcm43xx += "${PN}-broadcom-license"
652LICENSE_${PN}-bcm43xx-hdr = "Firmware-broadcom_bcm43xx"
653RDEPENDS_${PN}-bcm43xx-hdr += "${PN}-broadcom-license"
654LICENSE_${PN}-bcm4329-fullmac = "Firmware-broadcom_bcm43xx"
655RDEPENDS_${PN}-bcm4329-fullmac += "${PN}-broadcom-license"
656LICENSE_${PN}-bcm43236b = "Firmware-broadcom_bcm43xx"
657RDEPENDS_${PN}-bcm43236b += "${PN}-broadcom-license"
658LICENSE_${PN}-bcm4329 = "Firmware-broadcom_bcm43xx"
659RDEPENDS_${PN}-bcm4329 += "${PN}-broadcom-license"
660LICENSE_${PN}-bcm4330 = "Firmware-broadcom_bcm43xx"
661RDEPENDS_${PN}-bcm4330 += "${PN}-broadcom-license"
662LICENSE_${PN}-bcm4334 = "Firmware-broadcom_bcm43xx"
663RDEPENDS_${PN}-bcm4334 += "${PN}-broadcom-license"
664LICENSE_${PN}-bcm4335 = "Firmware-broadcom_bcm43xx"
665RDEPENDS_${PN}-bcm4335 += "${PN}-broadcom-license"
666LICENSE_${PN}-bcm4339 = "Firmware-broadcom_bcm43xx"
667RDEPENDS_${PN}-bcm4339 += "${PN}-broadcom-license"
668LICENSE_${PN}-bcm43241b0 = "Firmware-broadcom_bcm43xx"
669RDEPENDS_${PN}-bcm43241b0 += "${PN}-broadcom-license"
670LICENSE_${PN}-bcm43241b4 = "Firmware-broadcom_bcm43xx"
671RDEPENDS_${PN}-bcm43241b4 += "${PN}-broadcom-license"
672LICENSE_${PN}-bcm43241b5 = "Firmware-broadcom_bcm43xx"
673RDEPENDS_${PN}-bcm43241b5 += "${PN}-broadcom-license"
674LICENSE_${PN}-bcm43242a = "Firmware-broadcom_bcm43xx"
675RDEPENDS_${PN}-bcm43242a += "${PN}-broadcom-license"
676LICENSE_${PN}-bcm43143 = "Firmware-broadcom_bcm43xx"
677RDEPENDS_${PN}-bcm43143 += "${PN}-broadcom-license"
678LICENSE_${PN}-bcm43430a0 = "Firmware-broadcom_bcm43xx"
679RDEPENDS_${PN}-bcm43430a0 += "${PN}-broadcom-license"
680LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
681RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
682LICENSE_${PN}-bcm4350c2 = "Firmware-broadcom_bcm43xx"
683RDEPENDS_${PN}-bcm4350c2 += "${PN}-broadcom-license"
684LICENSE_${PN}-bcm4350 = "Firmware-broadcom_bcm43xx"
685RDEPENDS_${PN}-bcm4350 += "${PN}-broadcom-license"
686LICENSE_${PN}-bcm4356 = "Firmware-broadcom_bcm43xx"
687RDEPENDS_${PN}-bcm4356 += "${PN}-broadcom-license"
688LICENSE_${PN}-bcm43569 = "Firmware-broadcom_bcm43xx"
689RDEPENDS_${PN}-bcm43569 += "${PN}-broadcom-license"
690LICENSE_${PN}-bcm43570 = "Firmware-broadcom_bcm43xx"
691RDEPENDS_${PN}-bcm43570 += "${PN}-broadcom-license"
692LICENSE_${PN}-bcm4358 = "Firmware-broadcom_bcm43xx"
693RDEPENDS_${PN}-bcm4358 += "${PN}-broadcom-license"
694LICENSE_${PN}-bcm43602 = "Firmware-broadcom_bcm43xx"
695RDEPENDS_${PN}-bcm43602 += "${PN}-broadcom-license"
696LICENSE_${PN}-bcm4366b = "Firmware-broadcom_bcm43xx"
697RDEPENDS_${PN}-bcm4366b += "${PN}-broadcom-license"
698LICENSE_${PN}-bcm4366c = "Firmware-broadcom_bcm43xx"
699RDEPENDS_${PN}-bcm4366c += "${PN}-broadcom-license"
700LICENSE_${PN}-bcm4371 = "Firmware-broadcom_bcm43xx"
701RDEPENDS_${PN}-bcm4371 += "${PN}-broadcom-license"
702
703# For broadcom cypress
704
705LICENSE_${PN}-cypress-license = "Firmware-cypress"
706FILES_${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress"
707
708FILES_${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd"
709FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.*"
710FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.*"
711FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.*"
712FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin"
713FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.*"
714FILES_${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \
715 ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \
716"
717
718LICENSE_${PN}-bcm-0bb4-0306 = "Firmware-cypress"
719RDEPENDS_${PN}-bcm-0bb4-0306 += "${PN}-cypress-license"
720LICENSE_${PN}-bcm43340 = "Firmware-cypress"
721RDEPENDS_${PN}-bcm43340 += "${PN}-cypress-license"
722LICENSE_${PN}-bcm43362 = "Firmware-cypress"
723RDEPENDS_${PN}-bcm43362 += "${PN}-cypress-license"
724LICENSE_${PN}-bcm43430 = "Firmware-cypress"
725RDEPENDS_${PN}-bcm43430 += "${PN}-cypress-license"
726LICENSE_${PN}-bcm4354 = "Firmware-cypress"
727RDEPENDS_${PN}-bcm4354 += "${PN}-cypress-license"
728LICENSE_${PN}-bcm4356-pcie = "Firmware-cypress"
729RDEPENDS_${PN}-bcm4356-pcie += "${PN}-cypress-license"
730LICENSE_${PN}-bcm4373 = "Firmware-cypress"
731RDEPENDS_${PN}-bcm4373 += "${PN}-cypress-license"
732
733# For Broadcom bnx2-mips
734#
735# which is a separate case to the other Broadcom firmwares since its
736# license is contained in the shared WHENCE file.
737
738LICENSE_${PN}-bnx2-mips = "WHENCE"
739LICENSE_${PN}-whence-license = "WHENCE"
740
741FILES_${PN}-bnx2-mips = "${nonarch_base_libdir}/firmware/bnx2/bnx2-mips-09-6.2.1b.fw"
742FILES_${PN}-whence-license = "${nonarch_base_libdir}/firmware/WHENCE"
743
744RDEPENDS_${PN}-bnx2-mips += "${PN}-whence-license"
745
746# For imx-sdma
747LICENSE_${PN}-imx-sdma-imx6q = "Firmware-imx-sdma_firmware"
748LICENSE_${PN}-imx-sdma-imx7d = "Firmware-imx-sdma_firmware"
749LICENSE_${PN}-imx-sdma-license = "Firmware-imx-sdma_firmware"
750
751FILES_${PN}-imx-sdma-imx6q = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin"
752
753RPROVIDES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
754RREPLACES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
755RCONFLICTS_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
756
757FILES_${PN}-imx-sdma-imx7d = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin"
758
759FILES_${PN}-imx-sdma-license = "${nonarch_base_libdir}/firmware/LICENSE.sdma_firmware"
760
761RDEPENDS_${PN}-imx-sdma-imx6q += "${PN}-imx-sdma-license"
762RDEPENDS_${PN}-imx-sdma-imx7d += "${PN}-imx-sdma-license"
763
764# For iwlwifi
765LICENSE_${PN}-iwlwifi = "Firmware-iwlwifi_firmware"
766LICENSE_${PN}-iwlwifi-135-6 = "Firmware-iwlwifi_firmware"
767LICENSE_${PN}-iwlwifi-3160-7 = "Firmware-iwlwifi_firmware"
768LICENSE_${PN}-iwlwifi-3160-8 = "Firmware-iwlwifi_firmware"
769LICENSE_${PN}-iwlwifi-3160-9 = "Firmware-iwlwifi_firmware"
770LICENSE_${PN}-iwlwifi-3160-10 = "Firmware-iwlwifi_firmware"
771LICENSE_${PN}-iwlwifi-3160-12 = "Firmware-iwlwifi_firmware"
772LICENSE_${PN}-iwlwifi-3160-13 = "Firmware-iwlwifi_firmware"
773LICENSE_${PN}-iwlwifi-3160-16 = "Firmware-iwlwifi_firmware"
774LICENSE_${PN}-iwlwifi-3160-17 = "Firmware-iwlwifi_firmware"
775LICENSE_${PN}-iwlwifi-6000-4 = "Firmware-iwlwifi_firmware"
776LICENSE_${PN}-iwlwifi-6000g2a-5 = "Firmware-iwlwifi_firmware"
777LICENSE_${PN}-iwlwifi-6000g2a-6 = "Firmware-iwlwifi_firmware"
778LICENSE_${PN}-iwlwifi-6000g2b-5 = "Firmware-iwlwifi_firmware"
779LICENSE_${PN}-iwlwifi-6000g2b-6 = "Firmware-iwlwifi_firmware"
780LICENSE_${PN}-iwlwifi-6050-4 = "Firmware-iwlwifi_firmware"
781LICENSE_${PN}-iwlwifi-6050-5 = "Firmware-iwlwifi_firmware"
782LICENSE_${PN}-iwlwifi-7260 = "Firmware-iwlwifi_firmware"
783LICENSE_${PN}-iwlwifi-7265 = "Firmware-iwlwifi_firmware"
784LICENSE_${PN}-iwlwifi-7265d = "Firmware-iwlwifi_firmware"
785LICENSE_${PN}-iwlwifi-8000c = "Firmware-iwlwifi_firmware"
786LICENSE_${PN}-iwlwifi-8265 = "Firmware-iwlwifi_firmware"
787LICENSE_${PN}-iwlwifi-9000 = "Firmware-iwlwifi_firmware"
788LICENSE_${PN}-iwlwifi-misc = "Firmware-iwlwifi_firmware"
789LICENSE_${PN}-iwlwifi-license = "Firmware-iwlwifi_firmware"
790
791
792FILES_${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware"
793FILES_${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode"
794FILES_${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode"
795FILES_${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode"
796FILES_${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode"
797FILES_${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode"
798FILES_${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode"
799FILES_${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode"
800FILES_${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode"
801FILES_${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode"
802FILES_${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode"
803FILES_${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode"
804FILES_${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode"
805FILES_${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode"
806FILES_${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode"
807FILES_${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode"
808FILES_${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode"
809FILES_${PN}-iwlwifi-7260 = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode"
810FILES_${PN}-iwlwifi-7265 = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode"
811FILES_${PN}-iwlwifi-7265d = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode"
812FILES_${PN}-iwlwifi-8000c = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode"
813FILES_${PN}-iwlwifi-8265 = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode"
814FILES_${PN}-iwlwifi-9000 = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode"
815FILES_${PN}-iwlwifi-misc = "${nonarch_base_libdir}/firmware/iwlwifi-*.ucode"
816
817RDEPENDS_${PN}-iwlwifi-135-6 = "${PN}-iwlwifi-license"
818RDEPENDS_${PN}-iwlwifi-3160-7 = "${PN}-iwlwifi-license"
819RDEPENDS_${PN}-iwlwifi-3160-8 = "${PN}-iwlwifi-license"
820RDEPENDS_${PN}-iwlwifi-3160-9 = "${PN}-iwlwifi-license"
821RDEPENDS_${PN}-iwlwifi-3160-10 = "${PN}-iwlwifi-license"
822RDEPENDS_${PN}-iwlwifi-3160-12 = "${PN}-iwlwifi-license"
823RDEPENDS_${PN}-iwlwifi-3160-13 = "${PN}-iwlwifi-license"
824RDEPENDS_${PN}-iwlwifi-3160-16 = "${PN}-iwlwifi-license"
825RDEPENDS_${PN}-iwlwifi-3160-17 = "${PN}-iwlwifi-license"
826RDEPENDS_${PN}-iwlwifi-6000-4 = "${PN}-iwlwifi-license"
827RDEPENDS_${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license"
828RDEPENDS_${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license"
829RDEPENDS_${PN}-iwlwifi-6000g2b-5 = "${PN}-iwlwifi-license"
830RDEPENDS_${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license"
831RDEPENDS_${PN}-iwlwifi-6050-4 = "${PN}-iwlwifi-license"
832RDEPENDS_${PN}-iwlwifi-6050-5 = "${PN}-iwlwifi-license"
833RDEPENDS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-license"
834RDEPENDS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-license"
835RDEPENDS_${PN}-iwlwifi-7265d = "${PN}-iwlwifi-license"
836RDEPENDS_${PN}-iwlwifi-8000c = "${PN}-iwlwifi-license"
837RDEPENDS_${PN}-iwlwifi-8265 = "${PN}-iwlwifi-license"
838RDEPENDS_${PN}-iwlwifi-9000 = "${PN}-iwlwifi-license"
839RDEPENDS_${PN}-iwlwifi-misc = "${PN}-iwlwifi-license"
840
841# -iwlwifi-misc is a "catch all" package that includes all the iwlwifi
842# firmwares that are not already included in other -iwlwifi- packages.
843# -iwlwifi is a virtual package that depends upon all iwlwifi packages.
844# These are distinct in order to allow the -misc firmwares to be installed
845# without pulling in every other iwlwifi package.
846ALLOW_EMPTY_${PN}-iwlwifi = "1"
847ALLOW_EMPTY_${PN}-iwlwifi-misc = "1"
848
849# Handle package updating for the newly merged iwlwifi groupings
850RPROVIDES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
851RREPLACES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
852RCONFLICTS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
853
854RPROVIDES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
855RREPLACES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
856RCONFLICTS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
857
858# For ibt
859LICENSE_${PN}-ibt-license = "Firmware-ibt_firmware"
860LICENSE_${PN}-ibt-hw-37-7 = "Firmware-ibt_firmware"
861LICENSE_${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware"
862LICENSE_${PN}-ibt-11-5 = "Firmware-ibt_firmware"
863LICENSE_${PN}-ibt-12-16 = "Firmware-ibt_firmware"
864LICENSE_${PN}-ibt-17 = "Firmware-ibt_firmware"
865LICENSE_${PN}-ibt-20 = "Firmware-ibt_firmware"
866LICENSE_${PN}-ibt-misc = "Firmware-ibt_firmware"
867
868FILES_${PN}-ibt-license = "${nonarch_base_libdir}/firmware/LICENCE.ibt_firmware"
869FILES_${PN}-ibt-hw-37-7 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.7*.bseq"
870FILES_${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bseq"
871FILES_${PN}-ibt-11-5 = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc"
872FILES_${PN}-ibt-12-16 = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc"
873FILES_${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc"
874FILES_${PN}-ibt-20 = "${nonarch_base_libdir}/firmware/intel/ibt-20-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-20-*.ddc"
875FILES_${PN}-ibt-misc = "${nonarch_base_libdir}/firmware/intel/ibt-*"
876
877RDEPENDS_${PN}-ibt-hw-37-7 = "${PN}-ibt-license"
878RDEPENDS_${PN}-ibt-hw-37.8 = "${PN}-ibt-license"
879RDEPENDS_${PN}-ibt-11-5 = "${PN}-ibt-license"
880RDEPENDS_${PN}-ibt-12-16 = "${PN}-ibt-license"
881RDEPENDS_${PN}-ibt-17 = "${PN}-ibt-license"
882RDEPENDS_${PN}-ibt-20 = "${PN}-ibt-license"
883RDEPENDS_${PN}-ibt-misc = "${PN}-ibt-license"
884
885ALLOW_EMPTY_${PN}-ibt= "1"
886ALLOW_EMPTY_${PN}-ibt-misc = "1"
887
888LICENSE_${PN}-i915 = "Firmware-i915"
889LICENSE_${PN}-i915-license = "Firmware-i915"
890FILES_${PN}-i915-license = "${nonarch_base_libdir}/firmware/LICENSE.i915"
891FILES_${PN}-i915 = "${nonarch_base_libdir}/firmware/i915"
892RDEPENDS_${PN}-i915 = "${PN}-i915-license"
893
894LICENSE_${PN}-ice = "Firmware-ice"
895LICENSE_${PN}-ice-license = "Firmware-ice"
896FILES_${PN}-ice-license = "${nonarch_base_libdir}/firmware/LICENSE.ice"
897FILES_${PN}-ice = "${nonarch_base_libdir}/firmware/intel/ice"
898RDEPENDS_${PN}-ice = "${PN}-ice-license"
899
900FILES_${PN}-adsp-sst-license = "${nonarch_base_libdir}/firmware/LICENCE.adsp_sst"
901LICENSE_${PN}-adsp-sst = "Firmware-adsp_sst"
902LICENSE_${PN}-adsp-sst-license = "Firmware-adsp_sst"
903FILES_${PN}-adsp-sst = "${nonarch_base_libdir}/firmware/intel/dsp_fw*"
904RDEPENDS_${PN}-adsp-sst = "${PN}-adsp-sst-license"
905
906# For QAT
907LICENSE_${PN}-qat = "Firmware-qat"
908LICENSE_${PN}-qat-license = "Firmware-qat"
909FILES_${PN}-qat-license = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware"
910FILES_${PN}-qat = "${nonarch_base_libdir}/firmware/qat*.bin"
911RDEPENDS_${PN}-qat = "${PN}-qat-license"
912
913# For QCOM VPU/GPU and SDM845
914LICENSE_${PN}-qcom-license = "Firmware-qcom"
915FILES_${PN}-qcom-license = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt"
916FILES_${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*"
917FILES_${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*"
918FILES_${PN}-qcom-venus-5.2 = "${nonarch_base_libdir}/firmware/qcom/venus-5.2/*"
919FILES_${PN}-qcom-venus-5.4 = "${nonarch_base_libdir}/firmware/qcom/venus-5.4/*"
920FILES_${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw"
921FILES_${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.*"
922FILES_${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*"
923FILES_${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*"
924FILES_${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*"
925FILES_${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn"
926RDEPENDS_${PN}-qcom-venus-1.8 = "${PN}-qcom-license"
927RDEPENDS_${PN}-qcom-venus-4.2 = "${PN}-qcom-license"
928RDEPENDS_${PN}-qcom-venus-5.2 = "${PN}-qcom-license"
929RDEPENDS_${PN}-qcom-venus-5.4 = "${PN}-qcom-license"
930RDEPENDS_${PN}-qcom-adreno-a3xx = "${PN}-qcom-license"
931RDEPENDS_${PN}-qcom-adreno-a530 = "${PN}-qcom-license"
932RDEPENDS_${PN}-qcom-adreno-a630 = "${PN}-qcom-license"
933RDEPENDS_${PN}-qcom-sdm845-audio = "${PN}-qcom-license"
934RDEPENDS_${PN}-qcom-sdm845-compute = "${PN}-qcom-license"
935RDEPENDS_${PN}-qcom-sdm845-modem = "${PN}-qcom-license"
936
937FILES_${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio"
938
939# For Amlogic VDEC
940LICENSE_${PN}-amlogic-vdec = "Firmware-amlogic_vdec"
941FILES_${PN}-amlogic-vdec-license = "${nonarch_base_libdir}/firmware/LICENSE.amlogic_vdec"
942FILES_${PN}-amlogic-vdec = "${nonarch_base_libdir}/firmware/meson/vdec/*"
943RDEPENDS_${PN}-amlogic-vdec = "${PN}-amlogic-vdec-license"
944
945# For other firmwares
946# Maybe split out to separate packages when needed.
947LICENSE_${PN} = "\
948 Firmware-Abilis \
949 & Firmware-agere \
950 & Firmware-amdgpu \
951 & Firmware-amd-ucode \
952 & Firmware-amlogic_vdec \
953 & Firmware-atmel \
954 & Firmware-ca0132 \
955 & Firmware-cavium \
956 & Firmware-chelsio_firmware \
957 & Firmware-cw1200 \
958 & Firmware-dib0700 \
959 & Firmware-e100 \
960 & Firmware-ene_firmware \
961 & Firmware-fw_sst_0f28 \
962 & Firmware-go7007 \
963 & Firmware-hfi1_firmware \
964 & Firmware-i2400m \
965 & Firmware-ibt_firmware \
966 & Firmware-it913x \
967 & Firmware-IntcSST2 \
968 & Firmware-kaweth \
969 & Firmware-moxa \
970 & Firmware-myri10ge_firmware \
971 & Firmware-nvidia \
972 & Firmware-OLPC \
973 & Firmware-ath9k-htc \
974 & Firmware-phanfw \
975 & Firmware-qat \
976 & Firmware-qcom \
977 & Firmware-qla1280 \
978 & Firmware-qla2xxx \
979 & Firmware-r8a779x_usb3 \
980 & Firmware-radeon \
981 & Firmware-ralink_a_mediatek_company_firmware \
982 & Firmware-ralink-firmware \
983 & Firmware-imx-sdma_firmware \
984 & Firmware-siano \
985 & Firmware-tda7706-firmware \
986 & Firmware-ti-connectivity \
987 & Firmware-ti-keystone \
988 & Firmware-ueagle-atm4-firmware \
989 & Firmware-wl1251 \
990 & Firmware-xc4000 \
991 & Firmware-xc5000 \
992 & Firmware-xc5000c \
993 & WHENCE \
994"
995
996FILES_${PN}-license += "${nonarch_base_libdir}/firmware/LICEN*"
997FILES_${PN} += "${nonarch_base_libdir}/firmware/*"
998RDEPENDS_${PN} += "${PN}-license"
999RDEPENDS_${PN} += "${PN}-whence-license"
1000
1001# Make linux-firmware depend on all of the split-out packages.
1002# Make linux-firmware-iwlwifi depend on all of the split-out iwlwifi packages.
1003# Make linux-firmware-ibt depend on all of the split-out ibt packages.
1004python populate_packages_prepend () {
1005 firmware_pkgs = oe.utils.packages_filter_out_system(d)
1006 d.appendVar('RRECOMMENDS_linux-firmware', ' ' + ' '.join(firmware_pkgs))
1007
1008 iwlwifi_pkgs = filter(lambda x: x.find('-iwlwifi-') != -1, firmware_pkgs)
1009 d.appendVar('RRECOMMENDS_linux-firmware-iwlwifi', ' ' + ' '.join(iwlwifi_pkgs))
1010
1011 ibt_pkgs = filter(lambda x: x.find('-ibt-') != -1, firmware_pkgs)
1012 d.appendVar('RRECOMMENDS_linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs))
1013}
1014
1015# Firmware files are generally not ran on the CPU, so they can be
1016# allarch despite being architecture specific
1017INSANE_SKIP = "arch"
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20240312.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20240312.bb
new file mode 100644
index 0000000000..ff79bb9b33
--- /dev/null
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20240312.bb
@@ -0,0 +1,1583 @@
1SUMMARY = "Firmware files for use with Linux kernel"
2HOMEPAGE = "https://www.kernel.org/"
3DESCRIPTION = "Linux firmware is a package distributed alongside the Linux kernel \
4that contains firmware binary blobs necessary for partial or full functionality \
5of certain hardware devices."
6SECTION = "kernel"
7
8LICENSE = "\
9 Firmware-Abilis \
10 & Firmware-adsp_sst \
11 & Firmware-agere \
12 & Firmware-amdgpu \
13 & Firmware-amd-ucode \
14 & Firmware-amlogic_vdec \
15 & Firmware-amphion_vpu \
16 & Firmware-atheros_firmware \
17 & Firmware-atmel \
18 & Firmware-broadcom_bcm43xx \
19 & Firmware-ca0132 \
20 & Firmware-cavium \
21 & Firmware-chelsio_firmware \
22 & Firmware-cirrus \
23 & Firmware-cnm \
24 & Firmware-cw1200 \
25 & Firmware-cypress \
26 & Firmware-dib0700 \
27 & Firmware-e100 \
28 & Firmware-ene_firmware \
29 & Firmware-fw_sst_0f28 \
30 & Firmware-go7007 \
31 & Firmware-hfi1_firmware \
32 & Firmware-i915 \
33 & Firmware-ibt_firmware \
34 & Firmware-ice \
35 & Firmware-ice_enhanced \
36 & Firmware-it913x \
37 & Firmware-iwlwifi_firmware \
38 & Firmware-IntcSST2 \
39 & Firmware-kaweth \
40 & Firmware-linaro \
41 & Firmware-Lontium \
42 & Firmware-Marvell \
43 & Firmware-mediatek \
44 & Firmware-microchip \
45 & Firmware-moxa \
46 & Firmware-myri10ge_firmware \
47 & Firmware-netronome \
48 & Firmware-nvidia \
49 & Firmware-nxp \
50 & Firmware-nxp_mc_firmware \
51 & Firmware-OLPC \
52 & Firmware-ath9k-htc \
53 & Firmware-phanfw \
54 & Firmware-powervr \
55 & Firmware-qat \
56 & Firmware-qcom \
57 & Firmware-qcom-yamato \
58 & Firmware-qla1280 \
59 & Firmware-qla2xxx \
60 & Firmware-qualcommAthos_ar3k \
61 & Firmware-qualcommAthos_ath10k \
62 & Firmware-r8a779x_usb3 \
63 & Firmware-radeon \
64 & Firmware-ralink_a_mediatek_company_firmware \
65 & Firmware-ralink-firmware \
66 & Firmware-rockchip \
67 & Firmware-rtlwifi_firmware \
68 & Firmware-imx-sdma_firmware \
69 & Firmware-siano \
70 & Firmware-ti-connectivity \
71 & Firmware-ti-keystone \
72 & Firmware-ueagle-atm4-firmware \
73 & Firmware-via_vt6656 \
74 & Firmware-wl1251 \
75 & Firmware-xc4000 \
76 & Firmware-xc5000 \
77 & Firmware-xc5000c \
78 & WHENCE \
79 & GPL-2.0-or-later \
80"
81
82LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
83 file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \
84 file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
85 file://LICENSE.amdgpu;md5=a2589a05ea5b6bd2b7f4f623c7e7a649 \
86 file://LICENSE.amd-ucode;md5=6ca90c57f7b248de1e25c7f68ffc4698 \
87 file://LICENSE.amlogic_vdec;md5=dc44f59bf64a81643e500ad3f39a468a \
88 file://LICENSE.amphion_vpu;md5=2bcdc00527b2d0542bd92b52aaec2b60 \
89 file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
90 file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \
91 file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
92 file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \
93 file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \
94 file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \
95 file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \
96 file://LICENSE.cirrus;md5=662ea2c1a8888f7d79ed7f27c27472e1 \
97 file://LICENCE.cnm;md5=93b67e6bac7f8fec22b96b8ad0a1a9d0 \
98 file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \
99 file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \
100 file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \
101 file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \
102 file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \
103 file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \
104 file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \
105 file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \
106 file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \
107 file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \
108 file://LICENSE.ice;md5=742ab4850f2670792940e6d15c974b2f \
109 file://LICENSE.ice_enhanced;md5=f305cfc31b64f95f774f9edd9df0224d \
110 file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
111 file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \
112 file://LICENCE.iwlwifi_firmware;md5=2ce6786e0fc11ac6e36b54bb9b799f1b \
113 file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \
114 file://LICENCE.linaro;md5=936d91e71cf9cd30e733db4bf11661cc \
115 file://LICENSE.Lontium;md5=4ec8dc582ff7295f39e2ca6a7b0be2b6 \
116 file://LICENCE.Marvell;md5=28b6ed8bd04ba105af6e4dcd6e997772 \
117 file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \
118 file://LICENCE.microchip;md5=db753b00305675dfbf120e3f24a47277 \
119 file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \
120 file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \
121 file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \
122 file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \
123 file://LICENCE.NXP;md5=58bb8ba632cd729b9ba6183bc6aed36f \
124 file://LICENSE.nxp;md5=cca321ca1524d6a1e4fed87486cd82dc \
125 file://LICENSE.nxp_mc_firmware;md5=9dc97e4b279b3858cae8879ae2fe5dd7 \
126 file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \
127 file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \
128 file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \
129 file://LICENSE.powervr;md5=83045ed2a2cda15b4eaff682c98c9533 \
130 file://LICENCE.qat_firmware;md5=72de83dfd9b87be7685ed099a39fbea4 \
131 file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \
132 file://LICENSE.qcom_yamato;md5=d0de0eeccaf1843a850bf7a6777eec5c \
133 file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \
134 file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \
135 file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \
136 file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8 \
137 file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \
138 file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \
139 file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \
140 file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \
141 file://LICENCE.rockchip;md5=5fd70190c5ed39734baceada8ecced26 \
142 file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
143 file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \
144 file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \
145 file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \
146 file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \
147 file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \
148 file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \
149 file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \
150 file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
151 file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
152 file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
153 file://WHENCE;md5=${WHENCE_CHKSUM} \
154 "
155# WHENCE checksum is defined separately to ease overriding it if
156# class-devupstream is selected.
157WHENCE_CHKSUM = "514da1cd8b363373030f0c16749feb8d"
158
159# These are not common licenses, set NO_GENERIC_LICENSE for them
160# so that the license files will be copied from fetched source
161NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENCE.Abilis"
162NO_GENERIC_LICENSE[Firmware-adsp_sst] = "LICENCE.adsp_sst"
163NO_GENERIC_LICENSE[Firmware-agere] = "LICENCE.agere"
164NO_GENERIC_LICENSE[Firmware-amdgpu] = "LICENSE.amdgpu"
165NO_GENERIC_LICENSE[Firmware-amd-ucode] = "LICENSE.amd-ucode"
166NO_GENERIC_LICENSE[Firmware-amlogic_vdec] = "LICENSE.amlogic_vdec"
167NO_GENERIC_LICENSE[Firmware-amphion_vpu] = "LICENSE.amphion_vpu"
168NO_GENERIC_LICENSE[Firmware-atheros_firmware] = "LICENCE.atheros_firmware"
169NO_GENERIC_LICENSE[Firmware-atmel] = "LICENSE.atmel"
170NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx"
171NO_GENERIC_LICENSE[Firmware-ca0132] = "LICENCE.ca0132"
172NO_GENERIC_LICENSE[Firmware-cadence] = "LICENCE.cadence"
173NO_GENERIC_LICENSE[Firmware-cavium] = "LICENCE.cavium"
174NO_GENERIC_LICENSE[Firmware-chelsio_firmware] = "LICENCE.chelsio_firmware"
175NO_GENERIC_LICENSE[Firmware-cirrus] = "LICENSE.cirrus"
176NO_GENERIC_LICENSE[Firmware-cnm] = "LICENCE.cnm"
177NO_GENERIC_LICENSE[Firmware-cw1200] = "LICENCE.cw1200"
178NO_GENERIC_LICENSE[Firmware-cypress] = "LICENCE.cypress"
179NO_GENERIC_LICENSE[Firmware-dib0700] = "LICENSE.dib0700"
180NO_GENERIC_LICENSE[Firmware-e100] = "LICENCE.e100"
181NO_GENERIC_LICENSE[Firmware-ene_firmware] = "LICENCE.ene_firmware"
182NO_GENERIC_LICENSE[Firmware-fw_sst_0f28] = "LICENCE.fw_sst_0f28"
183NO_GENERIC_LICENSE[Firmware-go7007] = "LICENCE.go7007"
184NO_GENERIC_LICENSE[Firmware-hfi1_firmware] = "LICENSE.hfi1_firmware"
185NO_GENERIC_LICENSE[Firmware-i915] = "LICENSE.i915"
186NO_GENERIC_LICENSE[Firmware-ibt_firmware] = "LICENCE.ibt_firmware"
187NO_GENERIC_LICENSE[Firmware-ice] = "LICENSE.ice"
188NO_GENERIC_LICENSE[Firmware-ice_enhanced] = "LICENSE.ice_enhanced"
189NO_GENERIC_LICENSE[Firmware-IntcSST2] = "LICENCE.IntcSST2"
190NO_GENERIC_LICENSE[Firmware-it913x] = "LICENCE.it913x"
191NO_GENERIC_LICENSE[Firmware-iwlwifi_firmware] = "LICENCE.iwlwifi_firmware"
192NO_GENERIC_LICENSE[Firmware-kaweth] = "LICENCE.kaweth"
193NO_GENERIC_LICENSE[Firmware-linaro] = "LICENCE.linaro"
194NO_GENERIC_LICENSE[Firmware-Lontium] = "LICENSE.Lontium"
195NO_GENERIC_LICENSE[Firmware-Marvell] = "LICENCE.Marvell"
196NO_GENERIC_LICENSE[Firmware-mediatek] = "LICENCE.mediatek"
197NO_GENERIC_LICENSE[Firmware-microchip] = "LICENCE.microchip"
198NO_GENERIC_LICENSE[Firmware-moxa] = "LICENCE.moxa"
199NO_GENERIC_LICENSE[Firmware-myri10ge_firmware] = "LICENCE.myri10ge_firmware"
200NO_GENERIC_LICENSE[Firmware-netronome] = "LICENCE.Netronome"
201NO_GENERIC_LICENSE[Firmware-nvidia] = "LICENCE.nvidia"
202NO_GENERIC_LICENSE[Firmware-nxp] = "LICENSE.nxp"
203NO_GENERIC_LICENSE[Firmware-nxp_mc_firmware] = "LICENSE.nxp_mc_firmware"
204NO_GENERIC_LICENSE[Firmware-OLPC] = "LICENCE.OLPC"
205NO_GENERIC_LICENSE[Firmware-ath9k-htc] = "LICENCE.open-ath9k-htc-firmware"
206NO_GENERIC_LICENSE[Firmware-phanfw] = "LICENCE.phanfw"
207NO_GENERIC_LICENSE[Firmware-powervr] = "LICENSE.powervr"
208NO_GENERIC_LICENSE[Firmware-qat] = "LICENCE.qat_firmware"
209NO_GENERIC_LICENSE[Firmware-qcom] = "LICENSE.qcom"
210NO_GENERIC_LICENSE[Firmware-qcom-yamato] = "LICENSE.qcom_yamato"
211NO_GENERIC_LICENSE[Firmware-qla1280] = "LICENCE.qla1280"
212NO_GENERIC_LICENSE[Firmware-qla2xxx] = "LICENCE.qla2xxx"
213NO_GENERIC_LICENSE[Firmware-qualcommAthos_ar3k] = "LICENSE.QualcommAtheros_ar3k"
214NO_GENERIC_LICENSE[Firmware-qualcommAthos_ath10k] = "LICENSE.QualcommAtheros_ath10k"
215NO_GENERIC_LICENSE[Firmware-r8a779x_usb3] = "LICENCE.r8a779x_usb3"
216NO_GENERIC_LICENSE[Firmware-radeon] = "LICENSE.radeon"
217NO_GENERIC_LICENSE[Firmware-ralink_a_mediatek_company_firmware] = "LICENCE.ralink_a_mediatek_company_firmware"
218NO_GENERIC_LICENSE[Firmware-ralink-firmware] = "LICENCE.ralink-firmware.txt"
219NO_GENERIC_LICENSE[Firmware-rockchip] = "LICENCE.rockchip"
220NO_GENERIC_LICENSE[Firmware-rtlwifi_firmware] = "LICENCE.rtlwifi_firmware.txt"
221NO_GENERIC_LICENSE[Firmware-siano] = "LICENCE.siano"
222NO_GENERIC_LICENSE[Firmware-imx-sdma_firmware] = "LICENSE.sdma_firmware"
223NO_GENERIC_LICENSE[Firmware-ti-connectivity] = "LICENCE.ti-connectivity"
224NO_GENERIC_LICENSE[Firmware-ti-keystone] = "LICENCE.ti-keystone"
225NO_GENERIC_LICENSE[Firmware-ueagle-atm4-firmware] = "LICENCE.ueagle-atm4-firmware"
226NO_GENERIC_LICENSE[Firmware-via_vt6656] = "LICENCE.via_vt6656"
227NO_GENERIC_LICENSE[Firmware-wl1251] = "LICENCE.wl1251"
228NO_GENERIC_LICENSE[Firmware-xc4000] = "LICENCE.xc4000"
229NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000"
230NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c"
231NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
232
233PE = "1"
234
235SRC_URI = "\
236 ${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz \
237"
238
239BBCLASSEXTEND = "devupstream:target"
240SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git;protocol=https;branch=main"
241# Pin this to the 20220509 release, override this in local.conf
242SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
243
244SRC_URI[sha256sum] = "b2327a54ad1897c828008caf63af5ee15469ba723a5016be58f2b44f07bd4b94"
245
246inherit allarch
247
248CLEANBROKEN = "1"
249
250# Use PACKAGECONFIG_CONFARGS to set the Makefile target
251PACKAGECONFIG ??= ""
252# Enabling dedup will turn duplicate firmware files into links
253PACKAGECONFIG[deduplicate] = "install,install-nodedup,rdfind-native"
254
255do_compile() {
256 :
257}
258
259do_install() {
260 oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' ${PACKAGECONFIG_CONFARGS}
261 cp LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/
262}
263
264
265PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \
266 ${PN}-cw1200-license ${PN}-cw1200 \
267 ${PN}-ralink-license ${PN}-ralink \
268 ${PN}-mt76x-license ${PN}-mt7601u ${PN}-mt7650 ${PN}-mt76x2 \
269 ${PN}-radeon-license ${PN}-radeon \
270 ${PN}-amdgpu-license ${PN}-amdgpu \
271 ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \
272 ${PN}-mediatek-license ${PN}-mediatek \
273 ${PN}-microchip-license ${PN}-microchip \
274 ${PN}-moxa-license ${PN}-moxa \
275 ${PN}-sd8686 ${PN}-sd8688 ${PN}-sd8787 ${PN}-sd8797 ${PN}-sd8801 \
276 ${PN}-sd8887 ${PN}-sd8897 ${PN}-sd8997 ${PN}-usb8997 \
277 ${PN}-ti-connectivity-license ${PN}-wlcommon ${PN}-wl12xx ${PN}-wl18xx \
278 ${PN}-ti-keystone-license ${PN}-ti-keystone \
279 ${PN}-vt6656-license ${PN}-vt6656 \
280 ${PN}-rs9113 ${PN}-rs9116 \
281 ${PN}-rtl-license ${PN}-rtl8188 ${PN}-rtl8192cu ${PN}-rtl8192ce ${PN}-rtl8192su ${PN}-rtl8723 ${PN}-rtl8821 \
282 ${PN}-rtl8761 \
283 ${PN}-rtl8168 \
284 ${PN}-rtl8822 \
285 ${PN}-rtl-nic \
286 ${PN}-cypress-license \
287 ${PN}-broadcom-license \
288 ${PN}-bcm-0bb4-0306 \
289 ${PN}-bcm43143 \
290 ${PN}-bcm43236b \
291 ${PN}-bcm43241b0 \
292 ${PN}-bcm43241b4 \
293 ${PN}-bcm43241b5 \
294 ${PN}-bcm43242a \
295 ${PN}-bcm4329 \
296 ${PN}-bcm4329-fullmac \
297 ${PN}-bcm4330 \
298 ${PN}-bcm4334 \
299 ${PN}-bcm43340 \
300 ${PN}-bcm4335 \
301 ${PN}-bcm43362 \
302 ${PN}-bcm4339 \
303 ${PN}-bcm43430 \
304 ${PN}-bcm43430a0 \
305 ${PN}-bcm43455 \
306 ${PN}-bcm4350 \
307 ${PN}-bcm4350c2 \
308 ${PN}-bcm4354 \
309 ${PN}-bcm4356 \
310 ${PN}-bcm4356-pcie \
311 ${PN}-bcm43569 \
312 ${PN}-bcm43570 \
313 ${PN}-bcm4358 \
314 ${PN}-bcm43602 \
315 ${PN}-bcm4366b \
316 ${PN}-bcm4366c \
317 ${PN}-bcm4371 \
318 ${PN}-bcm4373 \
319 ${PN}-bcm43xx \
320 ${PN}-bcm43xx-hdr \
321 ${PN}-cirrus-license ${PN}-cirrus \
322 ${PN}-cnm-license ${PN}-cnm \
323 ${PN}-atheros-license ${PN}-ar5523 ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k ${PN}-ath3k \
324 ${PN}-carl9170 \
325 ${PN}-ar3k-license ${PN}-ar3k ${PN}-ath10k-license ${PN}-ath10k ${PN}-ath11k ${PN}-qca \
326 \
327 ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \
328 \
329 ${PN}-iwlwifi-license ${PN}-iwlwifi \
330 ${PN}-iwlwifi-135-6 \
331 ${PN}-iwlwifi-3160-7 ${PN}-iwlwifi-3160-8 ${PN}-iwlwifi-3160-9 \
332 ${PN}-iwlwifi-3160-10 ${PN}-iwlwifi-3160-12 ${PN}-iwlwifi-3160-13 \
333 ${PN}-iwlwifi-3160-16 ${PN}-iwlwifi-3160-17 \
334 ${PN}-iwlwifi-6000-4 ${PN}-iwlwifi-6000g2a-5 ${PN}-iwlwifi-6000g2a-6 \
335 ${PN}-iwlwifi-6000g2b-5 ${PN}-iwlwifi-6000g2b-6 \
336 ${PN}-iwlwifi-6050-4 ${PN}-iwlwifi-6050-5 \
337 ${PN}-iwlwifi-7260 \
338 ${PN}-iwlwifi-7265 \
339 ${PN}-iwlwifi-7265d ${PN}-iwlwifi-8000c ${PN}-iwlwifi-8265 \
340 ${PN}-iwlwifi-9000 \
341 ${PN}-iwlwifi-9260 \
342 ${PN}-iwlwifi-misc \
343 ${PN}-ibt-license ${PN}-ibt \
344 ${PN}-ibt-11-5 ${PN}-ibt-12-16 ${PN}-ibt-hw-37-7 ${PN}-ibt-hw-37-8 \
345 ${PN}-ibt-17 \
346 ${PN}-ibt-20 \
347 ${PN}-ibt-misc \
348 ${PN}-i915-license ${PN}-i915 \
349 ${PN}-ice-license ${PN}-ice \
350 ${PN}-ice-enhanced-license ${PN}-ice-enhanced \
351 ${PN}-adsp-sst-license ${PN}-adsp-sst \
352 ${PN}-bnx2 \
353 ${PN}-bnx2x \
354 ${PN}-liquidio \
355 ${PN}-mellanox \
356 ${PN}-nvidia-license \
357 ${PN}-nvidia-tegra-k1 ${PN}-nvidia-tegra \
358 ${PN}-nvidia-gpu \
359 ${PN}-nxp-license \
360 ${PN}-nxp8987-sdio \
361 ${PN}-nxp8997-common \
362 ${PN}-nxp8997-pcie \
363 ${PN}-nxp8997-sdio \
364 ${PN}-nxp9098-common \
365 ${PN}-nxp9098-pcie \
366 ${PN}-nxp9098-sdio \
367 ${PN}-nxpiw416-sdio \
368 ${PN}-nxpiw612-sdio \
369 ${PN}-nxp-mc-license ${PN}-nxp-mc \
370 ${PN}-netronome-license ${PN}-netronome \
371 ${PN}-olpc-license ${PN}-olpc \
372 ${PN}-phanfw-license ${PN}-phanfw \
373 ${PN}-powervr-license ${PN}-powervr \
374 ${PN}-prestera \
375 ${PN}-qat ${PN}-qat-license \
376 ${PN}-qed \
377 ${PN}-qcom-license ${PN}-qcom-yamato-license \
378 ${PN}-qcom-venus-1.8 ${PN}-qcom-venus-4.2 ${PN}-qcom-venus-5.2 ${PN}-qcom-venus-5.4 ${PN}-qcom-venus-6.0 \
379 ${PN}-qcom-vpu-1.0 ${PN}-qcom-vpu-2.0 \
380 ${PN}-qcom-adreno-a2xx ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a4xx ${PN}-qcom-adreno-a530 \
381 ${PN}-qcom-adreno-a630 ${PN}-qcom-adreno-a650 ${PN}-qcom-adreno-a660 ${PN}-qcom-adreno-a702 \
382 ${PN}-qcom-apq8016-modem ${PN}-qcom-apq8016-wifi \
383 ${PN}-qcom-apq8096-adreno ${PN}-qcom-apq8096-audio ${PN}-qcom-apq8096-modem \
384 ${PN}-qcom-qcm2290-adreno ${PN}-qcom-qcm2290-audio ${PN}-qcom-qcm2290-modem ${PN}-qcom-qcm2290-wifi \
385 ${PN}-qcom-qrb4210-adreno ${PN}-qcom-qrb4210-audio ${PN}-qcom-qrb4210-compute \
386 ${PN}-qcom-qrb4210-modem ${PN}-qcom-qrb4210-wifi \
387 ${PN}-qcom-sc8280xp-lenovo-x13s-compat \
388 ${PN}-qcom-sc8280xp-lenovo-x13s-audio \
389 ${PN}-qcom-sc8280xp-lenovo-x13s-adreno \
390 ${PN}-qcom-sc8280xp-lenovo-x13s-compute \
391 ${PN}-qcom-sc8280xp-lenovo-x13s-sensors \
392 ${PN}-qcom-sdm845-adreno ${PN}-qcom-sdm845-audio ${PN}-qcom-sdm845-compute ${PN}-qcom-sdm845-modem \
393 ${PN}-qcom-sdm845-thundercomm-db845c-sensors \
394 ${PN}-qcom-sm8250-adreno ${PN}-qcom-sm8250-audio ${PN}-qcom-sm8250-compute \
395 ${PN}-qcom-sm8250-thundercomm-rb5-sensors \
396 ${PN}-qla2xxx ${PN}-qla2xxx-license \
397 ${PN}-rockchip-license ${PN}-rockchip-dptx \
398 ${PN}-amlogic-vdec-license ${PN}-amlogic-vdec \
399 ${PN}-lt9611uxc ${PN}-lontium-license \
400 ${PN}-whence-license \
401 ${PN}-wl1251-license ${PN}-wl1251 \
402 ${PN}-xc4000-license ${PN}-xc4000 \
403 ${PN}-xc5000-license ${PN}-xc5000 \
404 ${PN}-xc5000c-license ${PN}-xc5000c \
405 ${PN}-license \
406 "
407
408# For Amphion VPU
409LICENSE:${PN}-amphion-vpu = "Firmware-amphion_vpu"
410LICENSE:${PN}-amphion-vpu-license = "Firmware-amphion_vpu"
411
412FILES:${PN}-amphion-vpu = "${nonarch_base_libdir}/firmware/amphion/*"
413FILES:${PN}-amphion-vpu-license = " \
414 ${nonarch_base_libdir}/firmware/LICENSE.amphion_vpu \
415"
416RDEPENDS:${PN}-amphion-vpu += "${PN}-amphion-vpu-license"
417
418# For cw1200
419LICENSE:${PN}-cw1200 = "Firmware-cw1200"
420LICENSE:${PN}-cw1200-license = "Firmware-cw1200"
421
422FILES:${PN}-cw1200 = "${nonarch_base_libdir}/firmware/wsm_22.bin"
423FILES:${PN}-cw1200-license = "${nonarch_base_libdir}/firmware/LICENCE.cw1200"
424
425RDEPENDS:${PN}-cw1200 += "${PN}-cw1200-license"
426
427# For atheros
428LICENSE:${PN}-ar5523 = "Firmware-atheros_firmware"
429LICENSE:${PN}-ar9170 = "Firmware-atheros_firmware"
430LICENSE:${PN}-ath3k = "Firmware-atheros_firmware"
431LICENSE:${PN}-ath6k = "Firmware-atheros_firmware"
432LICENSE:${PN}-ath9k = "Firmware-atheros_firmware"
433LICENSE:${PN}-atheros-license = "Firmware-atheros_firmware"
434
435FILES:${PN}-atheros-license = "${nonarch_base_libdir}/firmware/LICENCE.atheros_firmware"
436FILES:${PN}-ar5523 = " \
437 ${nonarch_base_libdir}/firmware/ar5523.bin \
438"
439FILES:${PN}-ar9170 = " \
440 ${nonarch_base_libdir}/firmware/ar9170*.fw \
441"
442FILES:${PN}-ath3k = " \
443 ${nonarch_base_libdir}/firmware/ath3k*fw \
444"
445FILES:${PN}-ath6k = " \
446 ${nonarch_base_libdir}/firmware/ath6k \
447"
448FILES:${PN}-ath9k = " \
449 ${nonarch_base_libdir}/firmware/ar9271.fw \
450 ${nonarch_base_libdir}/firmware/ar7010*.fw \
451 ${nonarch_base_libdir}/firmware/htc_9271.fw \
452 ${nonarch_base_libdir}/firmware/htc_7010.fw \
453 ${nonarch_base_libdir}/firmware/ath9k_htc/htc_7010-1.4.0.fw \
454 ${nonarch_base_libdir}/firmware/ath9k_htc/htc_9271-1.4.0.fw \
455"
456
457RDEPENDS:${PN}-ar5523 += "${PN}-atheros-license"
458RDEPENDS:${PN}-ar9170 += "${PN}-atheros-license"
459RDEPENDS:${PN}-ath6k += "${PN}-atheros-license"
460RDEPENDS:${PN}-ath9k += "${PN}-atheros-license"
461
462# For carl9170
463
464FILES:${PN}-carl9170 = " \
465 ${nonarch_base_libdir}/firmware/carl9170*.fw \
466"
467LICENSE:${PN}-carl9170 = "GPL-2.0-or-later"
468
469# For QualCommAthos
470LICENSE:${PN}-ar3k = "Firmware-qualcommAthos_ar3k & Firmware-atheros_firmware"
471LICENSE:${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k"
472LICENSE:${PN}-ath10k = "Firmware-qualcommAthos_ath10k"
473LICENSE:${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k"
474LICENSE:${PN}-qca = "Firmware-qualcommAthos_ath10k"
475
476FILES:${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k"
477FILES:${PN}-ar3k = " \
478 ${nonarch_base_libdir}/firmware/ar3k \
479"
480
481FILES:${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k"
482FILES:${PN}-ath10k = " \
483 ${nonarch_base_libdir}/firmware/ath10k \
484"
485
486FILES:${PN}-ath11k = " \
487 ${nonarch_base_libdir}/firmware/ath11k \
488"
489
490FILES:${PN}-qca = " \
491 ${nonarch_base_libdir}/firmware/qca \
492"
493
494RDEPENDS:${PN}-ar3k += "${PN}-ar3k-license ${PN}-atheros-license"
495RDEPENDS:${PN}-ath10k += "${PN}-ath10k-license"
496RDEPENDS:${PN}-ath11k += "${PN}-ath10k-license"
497RDEPENDS:${PN}-qca += "${PN}-ath10k-license"
498
499# For ralink
500LICENSE:${PN}-ralink = "Firmware-ralink-firmware"
501LICENSE:${PN}-ralink-license = "Firmware-ralink-firmware"
502
503FILES:${PN}-ralink-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink-firmware.txt"
504FILES:${PN}-ralink = " \
505 ${nonarch_base_libdir}/firmware/rt*.bin \
506"
507
508RDEPENDS:${PN}-ralink += "${PN}-ralink-license"
509
510# For mediatek MT7601U
511LICENSE:${PN}-mt76x-license = "Firmware-ralink_a_mediatek_company_firmware"
512FILES:${PN}-mt76x-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware"
513
514LICENSE:${PN}-mt7601u = "Firmware-ralink_a_mediatek_company_firmware"
515
516FILES:${PN}-mt7601u = " \
517 ${nonarch_base_libdir}/firmware/mediatek/mt7601u.bin \
518 ${nonarch_base_libdir}/firmware/mt7601u.bin \
519"
520RDEPENDS:${PN}-mt7601u += "${PN}-mt76x-license"
521
522# For MediaTek Bluetooth USB driver 7650
523LICENSE:${PN}-mt7650 = "Firmware-ralink_a_mediatek_company_firmware"
524
525FILES:${PN}-mt7650 = " \
526 ${nonarch_base_libdir}/firmware/mediatek/mt7650.bin \
527 ${nonarch_base_libdir}/firmware/mt7650.bin \
528"
529RDEPENDS:${PN}-mt7650 += "${PN}-mt76x-license"
530
531# For MediaTek MT76x2 Wireless MACs
532LICENSE:${PN}-mt76x2 = "Firmware-ralink_a_mediatek_company_firmware"
533
534FILES:${PN}-mt76x2 = " \
535 ${nonarch_base_libdir}/firmware/mediatek/mt7662.bin \
536 ${nonarch_base_libdir}/firmware/mt7662.bin \
537 ${nonarch_base_libdir}/firmware/mediatek/mt7662_rom_patch.bin \
538 ${nonarch_base_libdir}/firmware/mt7662_rom_patch.bin \
539"
540RDEPENDS:${PN}-mt76x2 += "${PN}-mt76x-license"
541
542# For MediaTek
543LICENSE:${PN}-mediatek = "Firmware-mediatek"
544LICENSE:${PN}-mediatek-license = "Firmware-mediatek"
545
546FILES:${PN}-mediatek = " \
547 ${nonarch_base_libdir}/firmware/mediatek/* \
548 ${nonarch_base_libdir}/firmware/vpu_d.bin \
549 ${nonarch_base_libdir}/firmware/vpu_p.bin \
550"
551FILES:${PN}-mediatek-license = " \
552 ${nonarch_base_libdir}/firmware/LICENCE.mediatek \
553"
554RDEPENDS:${PN}-mediatek += "${PN}-mediatek-license"
555
556# For Microchip
557LICENSE:${PN}-microchip = "Firmware-microchip"
558LICENSE:${PN}-microchip-license = "Firmware-microchip"
559
560FILES:${PN}-microchip = "${nonarch_base_libdir}/firmware/microchip/*"
561FILES:${PN}-microchip-license = " \
562 ${nonarch_base_libdir}/firmware/LICENCE.microchip \
563"
564RDEPENDS:${PN}-microchip += "${PN}-microchip-license"
565
566# For MOXA
567LICENSE:${PN}-moxa = "Firmware-moxa"
568LICENSE:${PN}-moxa-license = "Firmware-moxa"
569
570FILES:${PN}-moxa = "${nonarch_base_libdir}/firmware/moxa"
571FILES:${PN}-moxa-license = "${nonarch_base_libdir}/firmware/LICENCE.moxa"
572
573RDEPENDS:${PN}-moxa += "${PN}-moxa-license"
574
575# For radeon
576
577LICENSE:${PN}-radeon = "Firmware-radeon"
578LICENSE:${PN}-radeon-license = "Firmware-radeon"
579
580FILES:${PN}-radeon-license = "${nonarch_base_libdir}/firmware/LICENSE.radeon"
581FILES:${PN}-radeon = " \
582 ${nonarch_base_libdir}/firmware/radeon \
583"
584
585RDEPENDS:${PN}-radeon += "${PN}-radeon-license"
586
587# For amdgpu
588LICENSE:${PN}-amdgpu = "Firmware-amdgpu"
589LICENSE:${PN}-amdgpu-license = "Firmware-amdgpu"
590
591FILES:${PN}-amdgpu-license = "${nonarch_base_libdir}/firmware/LICENSE.amdgpu"
592FILES:${PN}-amdgpu = " \
593 ${nonarch_base_libdir}/firmware/amdgpu \
594"
595
596RDEPENDS:${PN}-amdgpu += "${PN}-amdgpu-license"
597
598# For lontium
599LICENSE:${PN}-lt9611uxc = "Firmware-Lontium"
600
601FILES:${PN}-lontium-license = "${nonarch_base_libdir}/firmware/LICENSE.Lontium"
602FILES:${PN}-lt9611uxc = "${nonarch_base_libdir}/firmware/lt9611uxc_fw.bin"
603
604# For marvell
605LICENSE:${PN}-pcie8897 = "Firmware-Marvell"
606LICENSE:${PN}-pcie8997 = "Firmware-Marvell"
607LICENSE:${PN}-sd8686 = "Firmware-Marvell"
608LICENSE:${PN}-sd8688 = "Firmware-Marvell"
609LICENSE:${PN}-sd8787 = "Firmware-Marvell"
610LICENSE:${PN}-sd8797 = "Firmware-Marvell"
611LICENSE:${PN}-sd8801 = "Firmware-Marvell"
612LICENSE:${PN}-sd8887 = "Firmware-Marvell"
613LICENSE:${PN}-sd8897 = "Firmware-Marvell"
614LICENSE:${PN}-sd8997 = "Firmware-Marvell"
615LICENSE:${PN}-usb8997 = "Firmware-Marvell"
616LICENSE:${PN}-marvell-license = "Firmware-Marvell"
617
618FILES:${PN}-marvell-license = "${nonarch_base_libdir}/firmware/LICENCE.Marvell"
619FILES:${PN}-pcie8897 = " \
620 ${nonarch_base_libdir}/firmware/mrvl/pcie8897_uapsta.bin \
621"
622FILES:${PN}-pcie8997 = " \
623 ${nonarch_base_libdir}/firmware/mrvl/pcie8997_wlan_v4.bin \
624 ${nonarch_base_libdir}/firmware/mrvl/pcieuart8997_combo_v4.bin \
625 ${nonarch_base_libdir}/firmware/mrvl/pcieusb8997_combo_v4.bin \
626"
627FILES:${PN}-sd8686 = " \
628 ${nonarch_base_libdir}/firmware/libertas/sd8686_v9* \
629 ${nonarch_base_libdir}/firmware/sd8686* \
630"
631FILES:${PN}-sd8688 = " \
632 ${nonarch_base_libdir}/firmware/libertas/sd8688* \
633 ${nonarch_base_libdir}/firmware/mrvl/sd8688* \
634"
635FILES:${PN}-sd8787 = " \
636 ${nonarch_base_libdir}/firmware/mrvl/sd8787_uapsta.bin \
637"
638FILES:${PN}-sd8797 = " \
639 ${nonarch_base_libdir}/firmware/mrvl/sd8797_uapsta.bin \
640"
641FILES:${PN}-sd8801 = " \
642 ${nonarch_base_libdir}/firmware/mrvl/sd8801_uapsta.bin \
643"
644FILES:${PN}-sd8887 = " \
645 ${nonarch_base_libdir}/firmware/mrvl/sd8887_uapsta.bin \
646"
647FILES:${PN}-sd8897 = " \
648 ${nonarch_base_libdir}/firmware/mrvl/sd8897_uapsta.bin \
649"
650do_install:append() {
651 # The kernel 5.6.x driver still uses the old name, provide a symlink for
652 # older kernels
653 ln -fs sdsd8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin
654}
655FILES:${PN}-sd8997 = " \
656 ${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin \
657 ${nonarch_base_libdir}/firmware/mrvl/sdsd8997_combo_v4.bin \
658"
659FILES:${PN}-usb8997 = " \
660 ${nonarch_base_libdir}/firmware/mrvl/usbusb8997_combo_v4.bin \
661"
662
663RDEPENDS:${PN}-sd8686 += "${PN}-marvell-license"
664RDEPENDS:${PN}-sd8688 += "${PN}-marvell-license"
665RDEPENDS:${PN}-sd8787 += "${PN}-marvell-license"
666RDEPENDS:${PN}-sd8797 += "${PN}-marvell-license"
667RDEPENDS:${PN}-sd8801 += "${PN}-marvell-license"
668RDEPENDS:${PN}-sd8887 += "${PN}-marvell-license"
669RDEPENDS:${PN}-sd8897 += "${PN}-marvell-license"
670RDEPENDS:${PN}-sd8997 += "${PN}-marvell-license"
671RDEPENDS:${PN}-usb8997 += "${PN}-marvell-license"
672
673# For netronome
674LICENSE:${PN}-netronome = "Firmware-netronome"
675
676FILES:${PN}-netronome-license = " \
677 ${nonarch_base_libdir}/firmware/LICENCE.Netronome \
678"
679FILES:${PN}-netronome = " \
680 ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0081*.nffw \
681 ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0096*.nffw \
682 ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0097*.nffw \
683 ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0099*.nffw \
684 ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0011_2x40.nffw \
685 ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0012_2x40.nffw \
686 ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0078-0011_1x100.nffw \
687 ${nonarch_base_libdir}/firmware/netronome/bpf \
688 ${nonarch_base_libdir}/firmware/netronome/flower \
689 ${nonarch_base_libdir}/firmware/netronome/nic \
690 ${nonarch_base_libdir}/firmware/netronome/nic-sriov \
691"
692
693RDEPENDS:${PN}-netronome += "${PN}-netronome-license"
694
695# For NXP
696LICENSE:${PN}-nxp8987-sdio = "Firmware-nxp"
697LICENSE:${PN}-nxp8997-common = "Firmware-nxp"
698LICENSE:${PN}-nxp8997-pcie = "Firmware-nxp"
699LICENSE:${PN}-nxp8997-sdio = "Firmware-nxp"
700LICENSE:${PN}-nxp9098-common = "Firmware-nxp"
701LICENSE:${PN}-nxp9098-pcie = "Firmware-nxp"
702LICENSE:${PN}-nxp9098-sdio = "Firmware-nxp"
703LICENSE:${PN}-nxpiw416-sdio = "Firmware-nxp"
704LICENSE:${PN}-nxpiw612-sdio = "Firmware-nxp"
705LICENSE:${PN}-nxp-license = "Firmware-nxp"
706
707FILES:${PN}-nxp8987-sdio = "${nonarch_base_libdir}/firmware/nxp/*8987*"
708FILES:${PN}-nxp8997-common = " \
709 ${nonarch_base_libdir}/firmware/nxp/uartuart8997_bt_v4.bin \
710 ${nonarch_base_libdir}/firmware/nxp/helper_uart_3000000.bin \
711"
712ALLOW_EMPTY:${PN}-nxp8997-pcie = "1"
713ALLOW_EMPTY:${PN}-nxp8997-sdio = "1"
714FILES:${PN}-nxp9098-common = "${nonarch_base_libdir}/firmware/nxp/uartuart9098_bt_v1.bin"
715ALLOW_EMPTY:${PN}-nxp9098-pcie = "1"
716ALLOW_EMPTY:${PN}-nxp9098-sdio = "1"
717FILES:${PN}-nxpiw416-sdio = "${nonarch_base_libdir}/firmware/nxp/*iw416*"
718FILES:${PN}-nxpiw612-sdio = "${nonarch_base_libdir}/firmware/nxp/uartspi_n61x_v1.bin.se"
719FILES:${PN}-nxp-license = "${nonarch_base_libdir}/firmware/LICENSE.nxp"
720
721RDEPENDS:${PN}-nxp8987-sdio += "${PN}-nxp-license"
722RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-license"
723RDEPENDS:${PN}-nxp8997-pcie += "${PN}-nxp8997-common"
724RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common"
725RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-license"
726RDEPENDS:${PN}-nxp9098-pcie += "${PN}-nxp9098-common"
727RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common"
728RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-license"
729RDEPENDS:${PN}-nxpiw612-sdio += "${PN}-nxp-license"
730
731# For nxp-mc
732LICENSE:${PN}-nxp-mc = "Firmware-nxp_mc_firmware"
733LICENSE:${PN}-nxp-mc-license = "Firmware-nxp_mc_firmware"
734
735FILES:${PN}-nxp-mc= "${nonarch_base_libdir}/firmware/dpaa2/mc/*"
736FILES:${PN}-nxp-mc-license = " \
737 ${nonarch_base_libdir}/firmware/LICENSE.nxp_mc_firmware \
738"
739RDEPENDS:${PN}-nxp-mc += "${PN}-nxp-mc-license"
740
741# For Nvidia
742LICENSE:${PN}-nvidia-gpu = "Firmware-nvidia"
743LICENSE:${PN}-nvidia-tegra = "Firmware-nvidia"
744LICENSE:${PN}-nvidia-tegra-k1 = "Firmware-nvidia"
745LICENSE:${PN}-nvidia-license = "Firmware-nvidia"
746
747FILES:${PN}-nvidia-gpu = "${nonarch_base_libdir}/firmware/nvidia"
748FILES:${PN}-nvidia-tegra = " \
749 ${nonarch_base_libdir}/firmware/nvidia/tegra* \
750 ${nonarch_base_libdir}/firmware/nvidia/gm20b \
751 ${nonarch_base_libdir}/firmware/nvidia/gp10b \
752"
753FILES:${PN}-nvidia-tegra-k1 = " \
754 ${nonarch_base_libdir}/firmware/nvidia/tegra124 \
755 ${nonarch_base_libdir}/firmware/nvidia/gk20a \
756"
757FILES:${PN}-nvidia-license = "${nonarch_base_libdir}/firmware/LICENCE.nvidia"
758
759RDEPENDS:${PN}-nvidia-gpu += "${PN}-nvidia-license"
760RDEPENDS:${PN}-nvidia-tegra += "${PN}-nvidia-license"
761RDEPENDS:${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license"
762
763# For OLPC
764LICENSE:${PN}-olpc = "Firmware-OLPC"
765LICENSE:${PN}-olpc-license = "Firmware-OLPC"
766
767FILES:${PN}-olpc = " \
768 ${nonarch_base_libdir}/firmware/libertas/lbtf_sdio.bin \
769 ${nonarch_base_libdir}/firmware/lbtf_usb.bin \
770 ${nonarch_base_libdir}/firmware/libertas/usb8388_olpc.bin \
771"
772FILES:${PN}-olpc-license = "${nonarch_base_libdir}/firmware/LICENCE.OLPC"
773
774RDEPENDS:${PN}-olpc += "${PN}-olpc-license"
775
776# For phanfw
777LICENSE:${PN}-phanfw = "Firmware-phanfw"
778LICENSE:${PN}-phanfw-license = "Firmware-phanfw"
779
780FILES:${PN}-phanfw = "${nonarch_base_libdir}/firmware/phanfw.bin"
781FILES:${PN}-phanfw-license = "${nonarch_base_libdir}/firmware/LICENCE.phanfw"
782
783RDEPENDS:${PN}-phanfw += "${PN}-phanfw-license"
784
785# For PowerVR
786LICENSE:${PN}-powervr = "Firmware-powervr"
787LICENSE:${PN}-powervr-license = "Firmware-powervr"
788
789FILES:${PN}-powervr = "${nonarch_base_libdir}/firmware/powervr"
790FILES:${PN}-powervr-license = "${nonarch_base_libdir}/firmware/LICENSE.powervr"
791
792RDEPENDS:${PN}-powervr += "${PN}-powervr-license"
793
794# For qla2xxx
795LICENSE:${PN}-qla2xxx = "Firmware-qla2xxx"
796LICENSE:${PN}-qla2xxx-license = "Firmware-qla2xxx"
797
798FILES:${PN}-qla2xxx = "${nonarch_base_libdir}/firmware/ql2*"
799FILES:${PN}-qla2xxx-license = "${nonarch_base_libdir}/firmware/LICENCE.qla2xxx"
800
801RDEPENDS:${PN}-qla2xxx += "${PN}-qla2xxx-license"
802
803# For RSI RS911x WiFi
804LICENSE:${PN}-rs9113 = "WHENCE"
805LICENSE:${PN}-rs9116 = "WHENCE"
806
807FILES:${PN}-rs9113 = " ${nonarch_base_libdir}/firmware/rsi/rs9113*.rps "
808FILES:${PN}-rs9116 = " ${nonarch_base_libdir}/firmware/rsi/rs9116*.rps "
809
810RDEPENDS:${PN}-rs9113 += "${PN}-whence-license"
811RDEPENDS:${PN}-rs9116 += "${PN}-whence-license"
812
813# For rtl
814LICENSE:${PN}-rtl8188 = "Firmware-rtlwifi_firmware"
815LICENSE:${PN}-rtl8192cu = "Firmware-rtlwifi_firmware"
816LICENSE:${PN}-rtl8192ce = "Firmware-rtlwifi_firmware"
817LICENSE:${PN}-rtl8192su = "Firmware-rtlwifi_firmware"
818LICENSE:${PN}-rtl8723 = "Firmware-rtlwifi_firmware"
819LICENSE:${PN}-rtl8761 = "Firmware-rtlwifi_firmware"
820LICENSE:${PN}-rtl8821 = "Firmware-rtlwifi_firmware"
821LICENSE:${PN}-rtl8822 = "Firmware-rtlwifi_firmware"
822LICENSE:${PN}-rtl-license = "Firmware-rtlwifi_firmware"
823LICENSE:${PN}-rtl-nic = "WHENCE"
824LICENSE:${PN}-rtl8168 = "WHENCE"
825
826FILES:${PN}-rtl-license = " \
827 ${nonarch_base_libdir}/firmware/LICENCE.rtlwifi_firmware.txt \
828"
829FILES:${PN}-rtl8188 = " \
830 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8188*.bin \
831"
832FILES:${PN}-rtl8192cu = " \
833 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cufw*.bin \
834"
835FILES:${PN}-rtl8192ce = " \
836 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cfw*.bin \
837"
838FILES:${PN}-rtl8192su = " \
839 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8712u.bin \
840"
841FILES:${PN}-rtl8723 = " \
842 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8723*.bin \
843"
844FILES:${PN}-rtl8821 = " \
845 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8821*.bin \
846 ${nonarch_base_libdir}/firmware/rtw88/rtw8821*.bin \
847"
848FILES:${PN}-rtl8761 = " \
849 ${nonarch_base_libdir}/firmware/rtl_bt/rtl8761*.bin \
850"
851FILES:${PN}-rtl8168 = " \
852 ${nonarch_base_libdir}/firmware/rtl_nic/rtl8168*.fw \
853"
854FILES:${PN}-rtl8822 = " \
855 ${nonarch_base_libdir}/firmware/rtl_bt/rtl8822*.bin \
856 ${nonarch_base_libdir}/firmware/rtw88/rtw8822*.bin \
857 ${nonarch_base_libdir}/firmware/rtlwifi/rtl8822*.bin \
858"
859FILES:${PN}-rtl-nic = " \
860 ${nonarch_base_libdir}/firmware/rtl_nic/*.fw \
861"
862
863RDEPENDS:${PN}-rtl8188 += "${PN}-rtl-license"
864RDEPENDS:${PN}-rtl8192ce += "${PN}-rtl-license"
865RDEPENDS:${PN}-rtl8192cu += "${PN}-rtl-license"
866RDEPENDS:${PN}-rtl8192su = "${PN}-rtl-license"
867RDEPENDS:${PN}-rtl8723 += "${PN}-rtl-license"
868RDEPENDS:${PN}-rtl8821 += "${PN}-rtl-license"
869RDEPENDS:${PN}-rtl8761 += "${PN}-rtl-license"
870RDEPENDS:${PN}-rtl8822 += "${PN}-rtl-license"
871RDEPENDS:${PN}-rtl8168 += "${PN}-whence-license"
872RDEPENDS:${PN}-rtl-nic += "${PN}-whence-license"
873
874# For TI wl1251
875LICENSE:${PN}-wl1251 = "Firmware-wl1251"
876LICENSE:${PN}-wl1251-license = "Firmware-wl1251"
877
878FILES:${PN}-wl1251 = " \
879 ${nonarch_base_libdir}/firmware/ti-connectivity/wl1251-fw.bin \
880 ${nonarch_base_libdir}/firmware/ti-connectivity/wl1251-nvs.bin \
881"
882FILES:${PN}-wl1251-license = "${nonarch_base_libdir}/firmware/LICENCE.wl1251"
883
884RDEPENDS:${PN}-wl1251 += "${PN}-wl1251-license"
885
886# For ti-connectivity
887LICENSE:${PN}-wlcommon = "Firmware-ti-connectivity"
888LICENSE:${PN}-wl12xx = "Firmware-ti-connectivity"
889LICENSE:${PN}-wl18xx = "Firmware-ti-connectivity"
890LICENSE:${PN}-ti-connectivity-license = "Firmware-ti-connectivity"
891
892FILES:${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.ti-connectivity"
893# wl18xx optionally needs wl1271-nvs.bin (which itself is a symlink to
894# wl127x-nvs.bin) - see linux/drivers/net/wireless/ti/wlcore/sdio.c
895# and drivers/net/wireless/ti/wlcore/spi.c.
896# While they're optional and actually only used to override the MAC
897# address on wl18xx, driver loading will delay (by udev timout - 60s)
898# if not there. So let's make it available always. Because it's a
899# symlink, both need to go to wlcommon.
900FILES:${PN}-wlcommon = " \
901 ${nonarch_base_libdir}/firmware/ti-connectivity/TI* \
902 ${nonarch_base_libdir}/firmware/ti-connectivity/wl127x-nvs.bin \
903 ${nonarch_base_libdir}/firmware/ti-connectivity/wl1271-nvs.bin \
904"
905FILES:${PN}-wl12xx = " \
906 ${nonarch_base_libdir}/firmware/ti-connectivity/wl12* \
907"
908FILES:${PN}-wl18xx = " \
909 ${nonarch_base_libdir}/firmware/ti-connectivity/wl18* \
910"
911
912RDEPENDS:${PN}-wl12xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
913RDEPENDS:${PN}-wl18xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
914
915# For ti-keystone
916LICENSE:${PN}-ti-keystone = "Firmware-ti-keystone"
917LICENSE:${PN}-ti-keystone-license = "Firmware-ti-keystone"
918
919FILES:${PN}-ti-keystone = "${nonarch_base_libdir}/firmware/ti-keystone/*"
920FILES:${PN}-ti-keystone-license = " \
921 ${nonarch_base_libdir}/firmware/LICENCE.ti-keystone \
922"
923RDEPENDS:${PN}-ti-keystone += "${PN}-ti-keystone-license"
924
925# For vt6656
926LICENSE:${PN}-vt6656 = "Firmware-via_vt6656"
927LICENSE:${PN}-vt6656-license = "Firmware-via_vt6656"
928
929FILES:${PN}-vt6656-license = "${nonarch_base_libdir}/firmware/LICENCE.via_vt6656"
930FILES:${PN}-vt6656 = " \
931 ${nonarch_base_libdir}/firmware/vntwusb.fw \
932"
933
934RDEPENDS:${PN}-vt6656 = "${PN}-vt6656-license"
935
936# For xc4000
937LICENSE:${PN}-xc4000 = "Firmware-xc4000"
938LICENSE:${PN}-xc4000-license = "Firmware-xc4000"
939
940FILES:${PN}-xc4000 = "${nonarch_base_libdir}/firmware/dvb-fe-xc4000-1.4.1.fw"
941FILES:${PN}-xc4000-license = "${nonarch_base_libdir}/firmware/LICENCE.xc4000"
942
943RDEPENDS:${PN}-xc4000 += "${PN}-xc4000-license"
944
945# For xc5000
946LICENSE:${PN}-xc5000 = "Firmware-xc5000"
947LICENSE:${PN}-xc5000-license = "Firmware-xc5000"
948
949FILES:${PN}-xc5000 = "${nonarch_base_libdir}/firmware/dvb-fe-xc5000-1.6.114.fw"
950FILES:${PN}-xc5000-license = "${nonarch_base_libdir}/firmware/LICENCE.xc5000"
951
952RDEPENDS:${PN}-xc5000 += "${PN}-xc5000-license"
953
954# For xc5000c
955LICENSE:${PN}-xc5000c = "Firmware-xc5000c"
956LICENSE:${PN}-xc5000c-license = "Firmware-xc5000c"
957
958FILES:${PN}-xc5000c = " \
959 ${nonarch_base_libdir}/firmware/dvb-fe-xc5000c-4.1.30.7.fw \
960"
961FILES:${PN}-xc5000c-license = "${nonarch_base_libdir}/firmware/LICENCE.xc5000c"
962
963RDEPENDS:${PN}-xc5000c += "${PN}-xc5000c-license"
964
965# For broadcom
966
967# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e " \${PN}-$pkg \\"; done | sort -u
968
969LICENSE:${PN}-broadcom-license = "Firmware-broadcom_bcm43xx"
970FILES:${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx"
971
972# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo "$i - $pkg"; echo -e "FILES:\${PN}-$pkg = \"\${nonarch_base_libdir}/firmware/brcm/$i\""; done | grep ^FILES
973
974FILES:${PN}-bcm43xx = "${nonarch_base_libdir}/firmware/brcm/bcm43xx-0.fw"
975FILES:${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw"
976FILES:${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin"
977FILES:${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin"
978FILES:${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin"
979FILES:${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*"
980FILES:${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin"
981FILES:${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin"
982FILES:${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin \
983 ${nonarch_base_libdir}/firmware/cypress/cyfmac4339-sdio.bin \
984"
985FILES:${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin"
986FILES:${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin"
987FILES:${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin"
988FILES:${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin"
989FILES:${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \
990 ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \
991"
992FILES:${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*"
993FILES:${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \
994 ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.* \
995"
996FILES:${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin"
997FILES:${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin"
998FILES:${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.* \
999 ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-sdio.* \
1000"
1001FILES:${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin"
1002FILES:${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin \
1003 ${nonarch_base_libdir}/firmware/cypress/cyfmac43570-pcie.bin \
1004"
1005FILES:${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin"
1006FILES:${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \
1007 ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \
1008"
1009FILES:${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin"
1010FILES:${PN}-bcm4366c = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366c-pcie.bin"
1011FILES:${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin"
1012
1013# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE:\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done
1014# Currently 1st one and last 6 have cypress LICENSE
1015
1016LICENSE:${PN}-bcm43xx = "Firmware-broadcom_bcm43xx"
1017RDEPENDS:${PN}-bcm43xx += "${PN}-broadcom-license"
1018LICENSE:${PN}-bcm43xx-hdr = "Firmware-broadcom_bcm43xx"
1019RDEPENDS:${PN}-bcm43xx-hdr += "${PN}-broadcom-license"
1020LICENSE:${PN}-bcm4329-fullmac = "Firmware-broadcom_bcm43xx"
1021RDEPENDS:${PN}-bcm4329-fullmac += "${PN}-broadcom-license"
1022LICENSE:${PN}-bcm43236b = "Firmware-broadcom_bcm43xx"
1023RDEPENDS:${PN}-bcm43236b += "${PN}-broadcom-license"
1024LICENSE:${PN}-bcm4329 = "Firmware-broadcom_bcm43xx"
1025RDEPENDS:${PN}-bcm4329 += "${PN}-broadcom-license"
1026LICENSE:${PN}-bcm4330 = "Firmware-broadcom_bcm43xx"
1027RDEPENDS:${PN}-bcm4330 += "${PN}-broadcom-license"
1028LICENSE:${PN}-bcm4334 = "Firmware-broadcom_bcm43xx"
1029RDEPENDS:${PN}-bcm4334 += "${PN}-broadcom-license"
1030LICENSE:${PN}-bcm4335 = "Firmware-broadcom_bcm43xx"
1031RDEPENDS:${PN}-bcm4335 += "${PN}-broadcom-license"
1032LICENSE:${PN}-bcm4339 = "Firmware-broadcom_bcm43xx"
1033RDEPENDS:${PN}-bcm4339 += "${PN}-broadcom-license"
1034LICENSE:${PN}-bcm43241b0 = "Firmware-broadcom_bcm43xx"
1035RDEPENDS:${PN}-bcm43241b0 += "${PN}-broadcom-license"
1036LICENSE:${PN}-bcm43241b4 = "Firmware-broadcom_bcm43xx"
1037RDEPENDS:${PN}-bcm43241b4 += "${PN}-broadcom-license"
1038LICENSE:${PN}-bcm43241b5 = "Firmware-broadcom_bcm43xx"
1039RDEPENDS:${PN}-bcm43241b5 += "${PN}-broadcom-license"
1040LICENSE:${PN}-bcm43242a = "Firmware-broadcom_bcm43xx"
1041RDEPENDS:${PN}-bcm43242a += "${PN}-broadcom-license"
1042LICENSE:${PN}-bcm43143 = "Firmware-broadcom_bcm43xx"
1043RDEPENDS:${PN}-bcm43143 += "${PN}-broadcom-license"
1044LICENSE:${PN}-bcm43430a0 = "Firmware-broadcom_bcm43xx"
1045RDEPENDS:${PN}-bcm43430a0 += "${PN}-broadcom-license"
1046LICENSE:${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
1047RDEPENDS:${PN}-bcm43455 += "${PN}-broadcom-license"
1048LICENSE:${PN}-bcm4350c2 = "Firmware-broadcom_bcm43xx"
1049RDEPENDS:${PN}-bcm4350c2 += "${PN}-broadcom-license"
1050LICENSE:${PN}-bcm4350 = "Firmware-broadcom_bcm43xx"
1051RDEPENDS:${PN}-bcm4350 += "${PN}-broadcom-license"
1052LICENSE:${PN}-bcm4356 = "Firmware-broadcom_bcm43xx"
1053RDEPENDS:${PN}-bcm4356 += "${PN}-broadcom-license"
1054LICENSE:${PN}-bcm43569 = "Firmware-broadcom_bcm43xx"
1055RDEPENDS:${PN}-bcm43569 += "${PN}-broadcom-license"
1056LICENSE:${PN}-bcm43570 = "Firmware-broadcom_bcm43xx"
1057RDEPENDS:${PN}-bcm43570 += "${PN}-broadcom-license"
1058LICENSE:${PN}-bcm4358 = "Firmware-broadcom_bcm43xx"
1059RDEPENDS:${PN}-bcm4358 += "${PN}-broadcom-license"
1060LICENSE:${PN}-bcm43602 = "Firmware-broadcom_bcm43xx"
1061RDEPENDS:${PN}-bcm43602 += "${PN}-broadcom-license"
1062LICENSE:${PN}-bcm4366b = "Firmware-broadcom_bcm43xx"
1063RDEPENDS:${PN}-bcm4366b += "${PN}-broadcom-license"
1064LICENSE:${PN}-bcm4366c = "Firmware-broadcom_bcm43xx"
1065RDEPENDS:${PN}-bcm4366c += "${PN}-broadcom-license"
1066LICENSE:${PN}-bcm4371 = "Firmware-broadcom_bcm43xx"
1067RDEPENDS:${PN}-bcm4371 += "${PN}-broadcom-license"
1068
1069# For broadcom cypress
1070
1071LICENSE:${PN}-cypress-license = "Firmware-cypress"
1072FILES:${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress"
1073
1074FILES:${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd"
1075FILES:${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.* \
1076 ${nonarch_base_libdir}/firmware/cypress/cyfmac43340-sdio.*"
1077FILES:${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.* \
1078 ${nonarch_base_libdir}/firmware/cypress/cyfmac43362-sdio.*"
1079FILES:${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.* \
1080 ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.*"
1081FILES:${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin \
1082 ${nonarch_base_libdir}/firmware/cypress/cyfmac4354-sdio.bin \
1083"
1084FILES:${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.* \
1085 ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-pcie.* \
1086"
1087FILES:${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \
1088 ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \
1089 ${nonarch_base_libdir}/firmware/cypress/cyfmac4373-sdio.bin \
1090 ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.clm_blob \
1091 ${nonarch_base_libdir}/firmware/cypress/cyfmac4373-sdio.clm_blob \
1092"
1093
1094LICENSE:${PN}-bcm-0bb4-0306 = "Firmware-cypress"
1095RDEPENDS:${PN}-bcm-0bb4-0306 += "${PN}-cypress-license"
1096LICENSE:${PN}-bcm43340 = "Firmware-cypress"
1097RDEPENDS:${PN}-bcm43340 += "${PN}-cypress-license"
1098LICENSE:${PN}-bcm43362 = "Firmware-cypress"
1099RDEPENDS:${PN}-bcm43362 += "${PN}-cypress-license"
1100LICENSE:${PN}-bcm43430 = "Firmware-cypress"
1101RDEPENDS:${PN}-bcm43430 += "${PN}-cypress-license"
1102LICENSE:${PN}-bcm4354 = "Firmware-cypress"
1103RDEPENDS:${PN}-bcm4354 += "${PN}-cypress-license"
1104LICENSE:${PN}-bcm4356-pcie = "Firmware-cypress"
1105RDEPENDS:${PN}-bcm4356-pcie += "${PN}-cypress-license"
1106LICENSE:${PN}-bcm4373 = "Firmware-cypress"
1107RDEPENDS:${PN}-bcm4373 += "${PN}-cypress-license"
1108
1109# For Broadcom bnx2
1110#
1111# which is a separate case to the other Broadcom firmwares since its
1112# license is contained in the shared WHENCE file.
1113
1114LICENSE:${PN}-bnx2 = "WHENCE"
1115LICENSE:${PN}-whence-license = "WHENCE"
1116
1117FILES:${PN}-bnx2 = " \
1118 ${nonarch_base_libdir}/firmware/bnx2/bnx2-mips*.fw \
1119 ${nonarch_base_libdir}/firmware/bnx2/bnx2-rv2p*.fw \
1120"
1121FILES:${PN}-whence-license = "${nonarch_base_libdir}/firmware/WHENCE"
1122
1123RDEPENDS:${PN}-bnx2 += "${PN}-whence-license"
1124RPROVIDES:${PN}-bnx2 = "${PN}-bnx2-mips"
1125
1126LICENSE:${PN}-bnx2x = "WHENCE"
1127
1128FILES:${PN}-bnx2x = "${nonarch_base_libdir}/firmware/bnx2x/bnx2x*.fw"
1129
1130RDEPENDS:${PN}-bnx2x += "${PN}-whence-license"
1131
1132# For cirrus
1133LICENSE:${PN}-cirrus = "Firmware-cirrus"
1134LICENSE:${PN}-cirrus-license = "Firmware-cirrus"
1135
1136FILES:${PN}-cirrus = "${nonarch_base_libdir}/firmware/cirrus/*"
1137FILES:${PN}-cirrus-license = "${nonarch_base_libdir}/firmware/LICENSE.cirrus"
1138
1139RDEPENDS:${PN}-cirrus += "${PN}-cirrus-license"
1140
1141# For cnm
1142LICENSE:${PN}-cnm = "Firmware-cnm"
1143LICENSE:${PN}-cnm-license = "Firmware-cnm"
1144
1145FILES:${PN}-cnm = "${nonarch_base_libdir}/firmware/cnm/wave521c_k3_codec_fw.bin"
1146FILES:${PN}-cnm-license = "${nonarch_base_libdir}/firmware/LICENCE.cnm"
1147
1148RDEPENDS:${PN}-cnm += "${PN}-cnm-license"
1149
1150# For imx-sdma
1151LICENSE:${PN}-imx-sdma-imx6q = "Firmware-imx-sdma_firmware"
1152LICENSE:${PN}-imx-sdma-imx7d = "Firmware-imx-sdma_firmware"
1153LICENSE:${PN}-imx-sdma-license = "Firmware-imx-sdma_firmware"
1154
1155FILES:${PN}-imx-sdma-imx6q = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin"
1156
1157RPROVIDES:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
1158RREPLACES:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
1159RCONFLICTS:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
1160
1161FILES:${PN}-imx-sdma-imx7d = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin"
1162
1163FILES:${PN}-imx-sdma-license = "${nonarch_base_libdir}/firmware/LICENSE.sdma_firmware"
1164
1165RDEPENDS:${PN}-imx-sdma-imx6q += "${PN}-imx-sdma-license"
1166RDEPENDS:${PN}-imx-sdma-imx7d += "${PN}-imx-sdma-license"
1167
1168# For iwlwifi
1169LICENSE:${PN}-iwlwifi = "Firmware-iwlwifi_firmware"
1170LICENSE:${PN}-iwlwifi-135-6 = "Firmware-iwlwifi_firmware"
1171LICENSE:${PN}-iwlwifi-3160-7 = "Firmware-iwlwifi_firmware"
1172LICENSE:${PN}-iwlwifi-3160-8 = "Firmware-iwlwifi_firmware"
1173LICENSE:${PN}-iwlwifi-3160-9 = "Firmware-iwlwifi_firmware"
1174LICENSE:${PN}-iwlwifi-3160-10 = "Firmware-iwlwifi_firmware"
1175LICENSE:${PN}-iwlwifi-3160-12 = "Firmware-iwlwifi_firmware"
1176LICENSE:${PN}-iwlwifi-3160-13 = "Firmware-iwlwifi_firmware"
1177LICENSE:${PN}-iwlwifi-3160-16 = "Firmware-iwlwifi_firmware"
1178LICENSE:${PN}-iwlwifi-3160-17 = "Firmware-iwlwifi_firmware"
1179LICENSE:${PN}-iwlwifi-6000-4 = "Firmware-iwlwifi_firmware"
1180LICENSE:${PN}-iwlwifi-6000g2a-5 = "Firmware-iwlwifi_firmware"
1181LICENSE:${PN}-iwlwifi-6000g2a-6 = "Firmware-iwlwifi_firmware"
1182LICENSE:${PN}-iwlwifi-6000g2b-5 = "Firmware-iwlwifi_firmware"
1183LICENSE:${PN}-iwlwifi-6000g2b-6 = "Firmware-iwlwifi_firmware"
1184LICENSE:${PN}-iwlwifi-6050-4 = "Firmware-iwlwifi_firmware"
1185LICENSE:${PN}-iwlwifi-6050-5 = "Firmware-iwlwifi_firmware"
1186LICENSE:${PN}-iwlwifi-7260 = "Firmware-iwlwifi_firmware"
1187LICENSE:${PN}-iwlwifi-7265 = "Firmware-iwlwifi_firmware"
1188LICENSE:${PN}-iwlwifi-7265d = "Firmware-iwlwifi_firmware"
1189LICENSE:${PN}-iwlwifi-8000c = "Firmware-iwlwifi_firmware"
1190LICENSE:${PN}-iwlwifi-8265 = "Firmware-iwlwifi_firmware"
1191LICENSE:${PN}-iwlwifi-9000 = "Firmware-iwlwifi_firmware"
1192LICENSE:${PN}-iwlwifi-9260 = "Firmware-iwlwifi_firmware"
1193LICENSE:${PN}-iwlwifi-misc = "Firmware-iwlwifi_firmware"
1194LICENSE:${PN}-iwlwifi-license = "Firmware-iwlwifi_firmware"
1195
1196
1197FILES:${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware"
1198FILES:${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode"
1199FILES:${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode"
1200FILES:${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode"
1201FILES:${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode"
1202FILES:${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode"
1203FILES:${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode"
1204FILES:${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode"
1205FILES:${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode"
1206FILES:${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode"
1207FILES:${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode"
1208FILES:${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode"
1209FILES:${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode"
1210FILES:${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode"
1211FILES:${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode"
1212FILES:${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode"
1213FILES:${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode"
1214FILES:${PN}-iwlwifi-7260 = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode"
1215FILES:${PN}-iwlwifi-7265 = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode"
1216FILES:${PN}-iwlwifi-7265d = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode"
1217FILES:${PN}-iwlwifi-8000c = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode"
1218FILES:${PN}-iwlwifi-8265 = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode"
1219FILES:${PN}-iwlwifi-9000 = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode"
1220FILES:${PN}-iwlwifi-9260 = "${nonarch_base_libdir}/firmware/iwlwifi-9260-*.ucode"
1221FILES:${PN}-iwlwifi-misc = " \
1222 ${nonarch_base_libdir}/firmware/iwlwifi-*.ucode \
1223 ${nonarch_base_libdir}/firmware/iwlwifi-*.pnvm \
1224"
1225
1226RDEPENDS:${PN}-iwlwifi-135-6 = "${PN}-iwlwifi-license"
1227RDEPENDS:${PN}-iwlwifi-3160-7 = "${PN}-iwlwifi-license"
1228RDEPENDS:${PN}-iwlwifi-3160-8 = "${PN}-iwlwifi-license"
1229RDEPENDS:${PN}-iwlwifi-3160-9 = "${PN}-iwlwifi-license"
1230RDEPENDS:${PN}-iwlwifi-3160-10 = "${PN}-iwlwifi-license"
1231RDEPENDS:${PN}-iwlwifi-3160-12 = "${PN}-iwlwifi-license"
1232RDEPENDS:${PN}-iwlwifi-3160-13 = "${PN}-iwlwifi-license"
1233RDEPENDS:${PN}-iwlwifi-3160-16 = "${PN}-iwlwifi-license"
1234RDEPENDS:${PN}-iwlwifi-3160-17 = "${PN}-iwlwifi-license"
1235RDEPENDS:${PN}-iwlwifi-6000-4 = "${PN}-iwlwifi-license"
1236RDEPENDS:${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license"
1237RDEPENDS:${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license"
1238RDEPENDS:${PN}-iwlwifi-6000g2b-5 = "${PN}-iwlwifi-license"
1239RDEPENDS:${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license"
1240RDEPENDS:${PN}-iwlwifi-6050-4 = "${PN}-iwlwifi-license"
1241RDEPENDS:${PN}-iwlwifi-6050-5 = "${PN}-iwlwifi-license"
1242RDEPENDS:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-license"
1243RDEPENDS:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-license"
1244RDEPENDS:${PN}-iwlwifi-7265d = "${PN}-iwlwifi-license"
1245RDEPENDS:${PN}-iwlwifi-8000c = "${PN}-iwlwifi-license"
1246RDEPENDS:${PN}-iwlwifi-8265 = "${PN}-iwlwifi-license"
1247RDEPENDS:${PN}-iwlwifi-9000 = "${PN}-iwlwifi-license"
1248RDEPENDS:${PN}-iwlwifi-9260 = "${PN}-iwlwifi-license"
1249RDEPENDS:${PN}-iwlwifi-misc = "${PN}-iwlwifi-license"
1250
1251# -iwlwifi-misc is a "catch all" package that includes all the iwlwifi
1252# firmwares that are not already included in other -iwlwifi- packages.
1253# -iwlwifi is a virtual package that depends upon all iwlwifi packages.
1254# These are distinct in order to allow the -misc firmwares to be installed
1255# without pulling in every other iwlwifi package.
1256ALLOW_EMPTY:${PN}-iwlwifi = "1"
1257ALLOW_EMPTY:${PN}-iwlwifi-misc = "1"
1258
1259# Handle package updating for the newly merged iwlwifi groupings
1260RPROVIDES:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
1261RREPLACES:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
1262RCONFLICTS:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
1263
1264RPROVIDES:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
1265RREPLACES:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
1266RCONFLICTS:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
1267
1268# For ibt
1269LICENSE:${PN}-ibt-license = "Firmware-ibt_firmware"
1270LICENSE:${PN}-ibt-hw-37-7 = "Firmware-ibt_firmware"
1271LICENSE:${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware"
1272LICENSE:${PN}-ibt-11-5 = "Firmware-ibt_firmware"
1273LICENSE:${PN}-ibt-12-16 = "Firmware-ibt_firmware"
1274LICENSE:${PN}-ibt-17 = "Firmware-ibt_firmware"
1275LICENSE:${PN}-ibt-20 = "Firmware-ibt_firmware"
1276LICENSE:${PN}-ibt-misc = "Firmware-ibt_firmware"
1277
1278FILES:${PN}-ibt-license = "${nonarch_base_libdir}/firmware/LICENCE.ibt_firmware"
1279FILES:${PN}-ibt-hw-37-7 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.7*.bseq"
1280FILES:${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bseq"
1281FILES:${PN}-ibt-11-5 = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc"
1282FILES:${PN}-ibt-12-16 = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc"
1283FILES:${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc"
1284FILES:${PN}-ibt-20 = "${nonarch_base_libdir}/firmware/intel/ibt-20-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-20-*.ddc"
1285FILES:${PN}-ibt-misc = "${nonarch_base_libdir}/firmware/intel/ibt-*"
1286
1287RDEPENDS:${PN}-ibt-hw-37-7 = "${PN}-ibt-license"
1288RDEPENDS:${PN}-ibt-hw-37.8 = "${PN}-ibt-license"
1289RDEPENDS:${PN}-ibt-11-5 = "${PN}-ibt-license"
1290RDEPENDS:${PN}-ibt-12-16 = "${PN}-ibt-license"
1291RDEPENDS:${PN}-ibt-17 = "${PN}-ibt-license"
1292RDEPENDS:${PN}-ibt-20 = "${PN}-ibt-license"
1293RDEPENDS:${PN}-ibt-misc = "${PN}-ibt-license"
1294
1295ALLOW_EMPTY:${PN}-ibt= "1"
1296ALLOW_EMPTY:${PN}-ibt-misc = "1"
1297
1298LICENSE:${PN}-i915 = "Firmware-i915"
1299LICENSE:${PN}-i915-license = "Firmware-i915"
1300FILES:${PN}-i915-license = "${nonarch_base_libdir}/firmware/LICENSE.i915"
1301FILES:${PN}-i915 = "${nonarch_base_libdir}/firmware/i915"
1302RDEPENDS:${PN}-i915 = "${PN}-i915-license"
1303
1304# For ice-enhanced
1305LICENSE:${PN}-ice-enhanced = "Firmware-ice_enhanced"
1306LICENSE:${PN}-ice-enhanced-license = "Firmware-ice_enhanced"
1307
1308FILES:${PN}-ice-enhanced = " \
1309 ${nonarch_base_libdir}/firmware/intel/ice/ddp-comms/* \
1310 ${nonarch_base_libdir}/firmware/intel/ice/ddp-wireless_edge/* \
1311"
1312FILES:${PN}-ice-enhanced-license = " \
1313 ${nonarch_base_libdir}/firmware/LICENSE.ice_enhanced \
1314"
1315RDEPENDS:${PN}-ice-enhanced = "${PN}-ice-enhanced-license"
1316
1317LICENSE:${PN}-ice = "Firmware-ice"
1318LICENSE:${PN}-ice-license = "Firmware-ice"
1319FILES:${PN}-ice-license = "${nonarch_base_libdir}/firmware/LICENSE.ice"
1320FILES:${PN}-ice = " \
1321 ${nonarch_base_libdir}/firmware/intel/ice/ddp/* \
1322 ${nonarch_base_libdir}/firmware/intel/ice/ddp-lag/* \
1323"
1324RDEPENDS:${PN}-ice = "${PN}-ice-license"
1325
1326FILES:${PN}-adsp-sst-license = "${nonarch_base_libdir}/firmware/LICENCE.adsp_sst"
1327LICENSE:${PN}-adsp-sst = "Firmware-adsp_sst"
1328LICENSE:${PN}-adsp-sst-license = "Firmware-adsp_sst"
1329FILES:${PN}-adsp-sst = "${nonarch_base_libdir}/firmware/intel/dsp_fw*"
1330RDEPENDS:${PN}-adsp-sst = "${PN}-adsp-sst-license"
1331
1332# For QAT
1333LICENSE:${PN}-qat = "Firmware-qat"
1334LICENSE:${PN}-qat-license = "Firmware-qat"
1335FILES:${PN}-qat-license = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware"
1336FILES:${PN}-qat = "${nonarch_base_libdir}/firmware/qat*.bin"
1337RDEPENDS:${PN}-qat = "${PN}-qat-license"
1338
1339LICENSE:${PN}-qed = "WHENCE"
1340FILES:${PN}-qed = "${nonarch_base_libdir}/firmware/qed/*"
1341
1342# For QCOM VPU/GPU and SDM845
1343LICENSE:${PN}-qcom-license = "Firmware-qcom"
1344LICENSE:${PN}-qcom-yamato-license = "Firmware-qcom-yamato"
1345LICENSE:${PN}-qcom-venus-1.8 = "Firmware-qcom"
1346LICENSE:${PN}-qcom-venus-4.2 = "Firmware-qcom"
1347LICENSE:${PN}-qcom-venus-5.2 = "Firmware-qcom"
1348LICENSE:${PN}-qcom-venus-5.4 = "Firmware-qcom"
1349LICENSE:${PN}-qcom-venus-6.0 = "Firmware-qcom"
1350LICENSE:${PN}-qcom-vpu-1.0 = "Firmware-qcom"
1351LICENSE:${PN}-qcom-vpu-2.0 = "Firmware-qcom"
1352LICENSE:${PN}-qcom-adreno-a2xx = "Firmware-qcom Firmware-qcom-yamato"
1353LICENSE:${PN}-qcom-adreno-a3xx = "Firmware-qcom"
1354LICENSE:${PN}-qcom-adreno-a4xx = "Firmware-qcom"
1355LICENSE:${PN}-qcom-adreno-a530 = "Firmware-qcom"
1356LICENSE:${PN}-qcom-adreno-a630 = "Firmware-qcom"
1357LICENSE:${PN}-qcom-adreno-a650 = "Firmware-qcom"
1358LICENSE:${PN}-qcom-adreno-a660 = "Firmware-qcom"
1359LICENSE:${PN}-qcom-adreno-a702 = "Firmware-qcom"
1360LICENSE:${PN}-qcom-apq8016-modem = "Firmware-qcom"
1361LICENSE:${PN}-qcom-apq8016-wifi = "Firmware-qcom"
1362LICENSE:${PN}-qcom-apq8096-audio = "Firmware-qcom"
1363LICENSE:${PN}-qcom-apq8096-adreno = "Firmware-qcom"
1364LICENSE:${PN}-qcom-apq8096-modem = "Firmware-qcom"
1365LICENSE:${PN}-qcom-qcm2290-adreno = "Firmware-qcom"
1366LICENSE:${PN}-qcom-qcm2290-audio = "Firmware-qcom"
1367LICENSE:${PN}-qcom-qcm2290-modem = "Firmware-qcom"
1368LICENSE:${PN}-qcom-qcm2290-wifi = "Firmware-qcom"
1369LICENSE:${PN}-qcom-qrb4210-adreno = "Firmware-qcom"
1370LICENSE:${PN}-qcom-qrb4210-audio = "Firmware-qcom"
1371LICENSE:${PN}-qcom-qrb4210-compute = "Firmware-qcom"
1372LICENSE:${PN}-qcom-qrb4210-modem = "Firmware-qcom"
1373LICENSE:${PN}-qcom-qrb4210-wifi = "Firmware-qcom"
1374LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "Firmware-qcom & Firmware-linaro"
1375LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "Firmware-qcom"
1376LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "Firmware-qcom"
1377LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "Firmware-qcom"
1378LICENSE:${PN}-qcom-sdm845-audio = "Firmware-qcom"
1379LICENSE:${PN}-qcom-sdm845-adreno = "Firmware-qcom"
1380LICENSE:${PN}-qcom-sdm845-compute = "Firmware-qcom"
1381LICENSE:${PN}-qcom-sdm845-modem = "Firmware-qcom"
1382LICENSE:${PN}-qcom-sdm845-thundercomm-db845c-sensors = "Firmware-qcom"
1383LICENSE:${PN}-qcom-sm8250-audio = "Firmware-qcom"
1384LICENSE:${PN}-qcom-sm8250-adreno = "Firmware-qcom"
1385LICENSE:${PN}-qcom-sm8250-compute = "Firmware-qcom"
1386LICENSE:${PN}-qcom-sm8250-thundercomm-rb5-sensors = "Firmware-qcom"
1387
1388FILES:${PN}-qcom-license = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt"
1389FILES:${PN}-qcom-yamato-license = "${nonarch_base_libdir}/firmware/LICENSE.qcom_yamato"
1390FILES:${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*"
1391FILES:${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*"
1392FILES:${PN}-qcom-venus-5.2 = "${nonarch_base_libdir}/firmware/qcom/venus-5.2/*"
1393FILES:${PN}-qcom-venus-5.4 = "${nonarch_base_libdir}/firmware/qcom/venus-5.4/*"
1394FILES:${PN}-qcom-venus-6.0 = "${nonarch_base_libdir}/firmware/qcom/venus-6.0/*"
1395FILES:${PN}-qcom-vpu-1.0 = "${nonarch_base_libdir}/firmware/qcom/vpu-1.0/*"
1396FILES:${PN}-qcom-vpu-2.0 = "${nonarch_base_libdir}/firmware/qcom/vpu-2.0/*"
1397FILES:${PN}-qcom-adreno-a2xx = "${nonarch_base_libdir}/firmware/qcom/leia_*.fw ${nonarch_base_libdir}/firmware/qcom/yamato_*.fw"
1398FILES:${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a3*_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw"
1399FILES:${PN}-qcom-adreno-a4xx = "${nonarch_base_libdir}/firmware/qcom/a4*_*.fw"
1400FILES:${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.fw*"
1401FILES:${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.*"
1402FILES:${PN}-qcom-adreno-a650 = "${nonarch_base_libdir}/firmware/qcom/a650*.*"
1403FILES:${PN}-qcom-adreno-a660 = "${nonarch_base_libdir}/firmware/qcom/a660*.*"
1404FILES:${PN}-qcom-adreno-a702 = "${nonarch_base_libdir}/firmware/qcom/a702*.*"
1405FILES:${PN}-qcom-apq8016-modem = "${nonarch_base_libdir}/firmware/qcom/apq8016/mba.mbn ${nonarch_base_libdir}/firmware/qcom/apq8016/modem.mbn"
1406FILES:${PN}-qcom-apq8016-wifi = "${nonarch_base_libdir}/firmware/qcom/apq8016/wcnss.mbn ${nonarch_base_libdir}/firmware/qcom/apq8016/WCNSS*"
1407FILES:${PN}-qcom-apq8096-adreno = "${nonarch_base_libdir}/firmware/qcom/apq8096/a530_zap.mbn ${nonarch_base_libdir}/firmware/qcom/a530_zap.mdt"
1408FILES:${PN}-qcom-apq8096-audio = "${nonarch_base_libdir}/firmware/qcom/apq8096/adsp*.*"
1409FILES:${PN}-qcom-apq8096-modem = "${nonarch_base_libdir}/firmware/qcom/apq8096/mba.mbn ${nonarch_base_libdir}/firmware/qcom/apq8096/modem*.* ${nonarch_base_libdir}/firmware/qcom/apq8096/wlanmdsp.mbn"
1410FILES:${PN}-qcom-qcm2290-adreno = "${nonarch_base_libdir}/firmware/qcom/qcm2290/a702_zap.mbn"
1411FILES:${PN}-qcom-qcm2290-audio = "${nonarch_base_libdir}/firmware/qcom/qcm2290/adsp*.*"
1412FILES:${PN}-qcom-qcm2290-modem = "${nonarch_base_libdir}/firmware/qcom/qcm2290/modem*.*"
1413FILES:${PN}-qcom-qcm2290-wifi = "${nonarch_base_libdir}/firmware/qcom/qcm2290/wlanmdsp.mbn"
1414FILES:${PN}-qcom-qrb4210-adreno = "${nonarch_base_libdir}/firmware/qcom/qrb4210/a610_zap.mbn"
1415FILES:${PN}-qcom-qrb4210-audio = "${nonarch_base_libdir}/firmware/qcom/qrb4210/adsp*.*"
1416FILES:${PN}-qcom-qrb4210-compute = "${nonarch_base_libdir}/firmware/qcom/qrb4210/cdsp*.*"
1417FILES:${PN}-qcom-qrb4210-modem = "${nonarch_base_libdir}/firmware/qcom/qrb4210/modem*.*"
1418FILES:${PN}-qcom-qrb4210-wifi = "${nonarch_base_libdir}/firmware/qcom/qrb4210/wlanmdsp.mbn"
1419FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compat = "${nonarch_base_libdir}/firmware/qcom/LENOVO/21BX"
1420FILES:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*adsp*.* ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/battmgr.jsn ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/audioreach-tplg.bin ${nonarch_base_libdir}/firmware/qcom/sc8280xp/SC8280XP-LENOVO-X13S-tplg.bin"
1421FILES:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn"
1422FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*cdsp*.*"
1423FILES:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*slpi*.*"
1424FILES:${PN}-qcom-sdm845-adreno = "${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*"
1425FILES:${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*"
1426FILES:${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*"
1427FILES:${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/notice.txt_wlanmdsp"
1428FILES:${PN}-qcom-sdm845-thundercomm-db845c-sensors = "${nonarch_base_libdir}/firmware/qcom/sdm845/Thundercomm/db845c/slpi*.*"
1429FILES:${PN}-qcom-sm8250-adreno = "${nonarch_base_libdir}/firmware/qcom/sm8250/a650*.*"
1430FILES:${PN}-qcom-sm8250-audio = "${nonarch_base_libdir}/firmware/qcom/sm8250/adsp*.*"
1431FILES:${PN}-qcom-sm8250-compute = "${nonarch_base_libdir}/firmware/qcom/sm8250/cdsp*.*"
1432FILES:${PN}-qcom-sm8250-thundercomm-rb5-sensors = "${nonarch_base_libdir}/firmware/qcom/sm8250/Thundercomm/RB5/slpi*.*"
1433
1434RDEPENDS:${PN}-qcom-venus-1.8 = "${PN}-qcom-license"
1435RDEPENDS:${PN}-qcom-venus-4.2 = "${PN}-qcom-license"
1436RDEPENDS:${PN}-qcom-venus-5.2 = "${PN}-qcom-license"
1437RDEPENDS:${PN}-qcom-venus-5.4 = "${PN}-qcom-license"
1438RDEPENDS:${PN}-qcom-venus-6.0 = "${PN}-qcom-license"
1439RDEPENDS:${PN}-qcom-vpu-1.0 = "${PN}-qcom-license"
1440RDEPENDS:${PN}-qcom-vpu-2.0 = "${PN}-qcom-license"
1441RDEPENDS:${PN}-qcom-adreno-a2xx = "${PN}-qcom-license ${PN}-qcom-yamato-license"
1442RDEPENDS:${PN}-qcom-adreno-a3xx = "${PN}-qcom-license"
1443RDEPENDS:${PN}-qcom-adreno-a4xx = "${PN}-qcom-license"
1444RDEPENDS:${PN}-qcom-adreno-a530 = "${PN}-qcom-license"
1445RDEPENDS:${PN}-qcom-adreno-a630 = "${PN}-qcom-license"
1446RDEPENDS:${PN}-qcom-adreno-a650 = "${PN}-qcom-license"
1447RDEPENDS:${PN}-qcom-adreno-a660 = "${PN}-qcom-license"
1448RDEPENDS:${PN}-qcom-adreno-a702 = "${PN}-qcom-license"
1449RDEPENDS:${PN}-qcom-apq8016-modem = "${PN}-qcom-license"
1450RDEPENDS:${PN}-qcom-apq8016-wifi = "${PN}-qcom-license"
1451RDEPENDS:${PN}-qcom-apq8096-adreno = "${PN}-qcom-license"
1452RDEPENDS:${PN}-qcom-apq8096-audio = "${PN}-qcom-license"
1453RDEPENDS:${PN}-qcom-apq8096-modem = "${PN}-qcom-license"
1454RDEPENDS:${PN}-qcom-qcm2290-adreno = "${PN}-qcom-license"
1455RDEPENDS:${PN}-qcom-qcm2290-audio = "${PN}-qcom-license"
1456RDEPENDS:${PN}-qcom-qcm2290-modem = "${PN}-qcom-license"
1457RDEPENDS:${PN}-qcom-qcm2290-wifi = "${PN}-qcom-license"
1458RDEPENDS:${PN}-qcom-qrb4210-adreno = "${PN}-qcom-license"
1459RDEPENDS:${PN}-qcom-qrb4210-audio = "${PN}-qcom-license"
1460RDEPENDS:${PN}-qcom-qrb4210-compute = "${PN}-qcom-license"
1461RDEPENDS:${PN}-qcom-qrb4210-modem = "${PN}-qcom-license"
1462RDEPENDS:${PN}-qcom-qrb4210-wifi = "${PN}-qcom-license"
1463RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${PN}-qcom-license"
1464RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${PN}-qcom-license"
1465RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${PN}-qcom-license"
1466RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${PN}-qcom-license"
1467RDEPENDS:${PN}-qcom-sdm845-adreno = "${PN}-qcom-license"
1468RDEPENDS:${PN}-qcom-sdm845-audio = "${PN}-qcom-license"
1469RDEPENDS:${PN}-qcom-sdm845-compute = "${PN}-qcom-license"
1470RDEPENDS:${PN}-qcom-sdm845-modem = "${PN}-qcom-license"
1471RDEPENDS:${PN}-qcom-sdm845-thundercomm-db845c-sensors = "${PN}-qcom-license"
1472RDEPENDS:${PN}-qcom-sm8250-adreno = "${PN}-qcom-license"
1473RDEPENDS:${PN}-qcom-sm8250-audio = "${PN}-qcom-license"
1474RDEPENDS:${PN}-qcom-sm8250-compute = "${PN}-qcom-license"
1475RDEPENDS:${PN}-qcom-sm8250-thundercomm-rb5-sensors = "${PN}-qcom-license"
1476
1477RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${PN}-qcom-sc8280xp-lenovo-x13s-compat"
1478RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${PN}-qcom-sc8280xp-lenovo-x13s-compat"
1479RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${PN}-qcom-sc8280xp-lenovo-x13s-compat"
1480RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${PN}-qcom-sc8280xp-lenovo-x13s-compat"
1481
1482LICENSE:${PN}-liquidui = "Firmware-cavium_liquidio"
1483FILES:${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio"
1484
1485LICENSE:${PN}-mellanox = "WHENCE"
1486FILES:${PN}-mellanox = "${nonarch_base_libdir}/firmware/mellanox"
1487
1488LICENSE:${PN}-prestera = "Firmware-Marvell"
1489FILES:${PN}-prestera = "${nonarch_base_libdir}/firmware/mrvl/prestera"
1490RDEPENDS:${PN}-prestera = "${PN}-marvell-license"
1491
1492# For Rockchip
1493LICENSE:${PN}-rockchip-dptx = "Firmware-rockchip"
1494FILES:${PN}-rockchip-license = "${nonarch_base_libdir}/firmware/LICENCE.rockchip"
1495FILES:${PN}-rockchip-dptx = "${nonarch_base_libdir}/firmware/rockchip/dptx.bin"
1496RDEPENDS:${PN}-rockchip-dptx = "${PN}-rockchip-license"
1497
1498# For Amlogic VDEC
1499LICENSE:${PN}-amlogic-vdec = "Firmware-amlogic_vdec"
1500FILES:${PN}-amlogic-vdec-license = "${nonarch_base_libdir}/firmware/LICENSE.amlogic_vdec"
1501FILES:${PN}-amlogic-vdec = "${nonarch_base_libdir}/firmware/meson/vdec/*"
1502RDEPENDS:${PN}-amlogic-vdec = "${PN}-amlogic-vdec-license"
1503
1504# For other firmwares
1505# Maybe split out to separate packages when needed.
1506LICENSE:${PN} = "\
1507 Firmware-Abilis \
1508 & Firmware-agere \
1509 & Firmware-amdgpu \
1510 & Firmware-amd-ucode \
1511 & Firmware-amlogic_vdec \
1512 & Firmware-atmel \
1513 & Firmware-ca0132 \
1514 & Firmware-cavium \
1515 & Firmware-chelsio_firmware \
1516 & Firmware-cirrus \
1517 & Firmware-cnm \
1518 & Firmware-cw1200 \
1519 & Firmware-dib0700 \
1520 & Firmware-e100 \
1521 & Firmware-ene_firmware \
1522 & Firmware-fw_sst_0f28 \
1523 & Firmware-go7007 \
1524 & Firmware-hfi1_firmware \
1525 & Firmware-ibt_firmware \
1526 & Firmware-it913x \
1527 & Firmware-IntcSST2 \
1528 & Firmware-kaweth \
1529 & Firmware-moxa \
1530 & Firmware-myri10ge_firmware \
1531 & Firmware-nvidia \
1532 & Firmware-nxp \
1533 & Firmware-OLPC \
1534 & Firmware-ath9k-htc \
1535 & Firmware-phanfw \
1536 & Firmware-qat \
1537 & Firmware-qcom \
1538 & Firmware-qla1280 \
1539 & Firmware-qla2xxx \
1540 & Firmware-r8a779x_usb3 \
1541 & Firmware-radeon \
1542 & Firmware-ralink_a_mediatek_company_firmware \
1543 & Firmware-ralink-firmware \
1544 & Firmware-imx-sdma_firmware \
1545 & Firmware-siano \
1546 & Firmware-ti-connectivity \
1547 & Firmware-ti-keystone \
1548 & Firmware-ueagle-atm4-firmware \
1549 & Firmware-wl1251 \
1550 & Firmware-xc4000 \
1551 & Firmware-xc5000 \
1552 & Firmware-xc5000c \
1553 & WHENCE \
1554"
1555
1556FILES:${PN}-license += "${nonarch_base_libdir}/firmware/LICEN*"
1557FILES:${PN} += "${nonarch_base_libdir}/firmware/*"
1558RDEPENDS:${PN} += "${PN}-license"
1559RDEPENDS:${PN} += "${PN}-whence-license"
1560
1561# Make linux-firmware depend on all of the split-out packages.
1562# Make linux-firmware-iwlwifi depend on all of the split-out iwlwifi packages.
1563# Make linux-firmware-ibt depend on all of the split-out ibt packages.
1564python populate_packages:prepend () {
1565 firmware_pkgs = oe.utils.packages_filter_out_system(d)
1566 d.appendVar('RRECOMMENDS:linux-firmware', ' ' + ' '.join(firmware_pkgs))
1567
1568 iwlwifi_pkgs = filter(lambda x: x.find('-iwlwifi-') != -1, firmware_pkgs)
1569 d.appendVar('RRECOMMENDS:linux-firmware-iwlwifi', ' ' + ' '.join(iwlwifi_pkgs))
1570
1571 ibt_pkgs = filter(lambda x: x.find('-ibt-') != -1, firmware_pkgs)
1572 d.appendVar('RRECOMMENDS:linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs))
1573}
1574
1575# Firmware files are generally not ran on the CPU, so they can be
1576# allarch despite being architecture specific
1577INSANE_SKIP = "arch"
1578
1579# Don't warn about already stripped files
1580INSANE_SKIP:${PN} = "already-stripped"
1581
1582# No need to put firmware into the sysroot
1583SYSROOT_DIRS_IGNORE += "${nonarch_base_libdir}/firmware"
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
index 7ec94024c3..3a8d32e785 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
@@ -1,7 +1,8 @@
1SUMMARY = "Sanitized set of kernel headers for the C library's use" 1SUMMARY = "Sanitized set of kernel headers for the C library's use"
2HOMEPAGE = "https://www.kernel.org/"
2DESCRIPTION = "Designed to maintain an Application Programming Interface (API) stable version of the Linux headers" 3DESCRIPTION = "Designed to maintain an Application Programming Interface (API) stable version of the Linux headers"
3SECTION = "devel" 4SECTION = "devel"
4LICENSE = "GPLv2" 5LICENSE = "GPL-2.0-only"
5 6
6######################################################################### 7#########################################################################
7#### PLEASE READ 8#### PLEASE READ
@@ -43,6 +44,8 @@ python __anonymous () {
43 d.setVar("HEADER_FETCH_VER", "4.x") 44 d.setVar("HEADER_FETCH_VER", "4.x")
44 elif major == "5": 45 elif major == "5":
45 d.setVar("HEADER_FETCH_VER", "5.x") 46 d.setVar("HEADER_FETCH_VER", "5.x")
47 elif major == "6":
48 d.setVar("HEADER_FETCH_VER", "6.x")
46 else: 49 else:
47 d.setVar("HEADER_FETCH_VER", "2.6") 50 d.setVar("HEADER_FETCH_VER", "2.6")
48} 51}
@@ -74,15 +77,15 @@ do_install() {
74 find ${D}${includedir} -name ..install.cmd | xargs rm -f 77 find ${D}${includedir} -name ..install.cmd | xargs rm -f
75} 78}
76 79
77do_install_append_aarch64 () { 80do_install:append:aarch64 () {
78 do_install_armmultilib 81 do_install_armmultilib
79} 82}
80 83
81do_install_append_arm () { 84do_install:append:arm () {
82 do_install_armmultilib 85 do_install_armmultilib
83} 86}
84 87
85do_install_append_armeb () { 88do_install:append:armeb () {
86 do_install_armmultilib 89 do_install_armmultilib
87} 90}
88 91
@@ -102,8 +105,8 @@ do_install_armmultilib () {
102 105
103BBCLASSEXTEND = "nativesdk" 106BBCLASSEXTEND = "nativesdk"
104 107
105RDEPENDS_${PN}-dev = "" 108DEV_PKG_DEPENDENCY = ""
106RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" 109RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
107 110
108INHIBIT_DEFAULT_DEPS = "1" 111INHIBIT_DEFAULT_DEPS = "1"
109DEPENDS += "unifdef-native bison-native rsync-native" 112DEPENDS += "unifdef-native bison-native rsync-native"
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch
deleted file mode 100644
index 5b7c1b6e21..0000000000
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From dc221138c809125dc1bbff8506c70cb7bd846368 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 12 Sep 2018 17:08:58 -0700
4Subject: [PATCH] include linux/stddef.h in swab.h uapi header
5
6swab.h uses __always_inline without including the header where it is
7defined, this is exposed by musl based distributions where this macro is
8not defined by system C library headers unlike glibc where it is defined
9in sys/cdefs.h and that header gets pulled in indirectly via
10
11features.h -> sys/cdefs.h
12
13and features.h gets pulled in a lot of headers. Therefore it may work in
14cases where features.h is includes but not otherwise.
15
16Adding linux/stddef.h here ensures that __always_inline is always
17defined independent of which C library is used in userspace
18
19Upstream-Status: Submitted [https://lkml.org/lkml/2018/9/13/78]
20
21Signed-off-by: Khem Raj <raj.khem@gmail.com>
22Cc: Philippe Ombredanne <pombredanne@nexb.com>
23Cc: Kate Stewart <kstewart@linuxfoundation.org>
24Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
25Cc: Thomas Gleixner <tglx@linutronix.de>
26
27---
28 include/uapi/linux/swab.h | 1 +
29 1 file changed, 1 insertion(+)
30
31diff --git a/include/uapi/linux/swab.h b/include/uapi/linux/swab.h
32index 7272f85d6..2912fe463 100644
33--- a/include/uapi/linux/swab.h
34+++ b/include/uapi/linux/swab.h
35@@ -3,6 +3,7 @@
36 #define _UAPI_LINUX_SWAB_H
37
38 #include <linux/types.h>
39+#include <linux/stddef.h>
40 #include <linux/compiler.h>
41 #include <asm/bitsperlong.h>
42 #include <asm/swab.h>
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch
deleted file mode 100644
index a5ded602e5..0000000000
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch
+++ /dev/null
@@ -1,67 +0,0 @@
1From 694eba7bb974f6b8bd308804cb24350150108b2b Mon Sep 17 00:00:00 2001
2From: He Zhe <zhe.he@windriver.com>
3Date: Wed, 21 Nov 2018 15:12:43 +0800
4Subject: [PATCH] scripts: Use fixed input and output files instead of pipe for here-doc
5
6There was a bug of "as" in binutils that when it checks if the input file and
7output file are the same one, it would not check if they are on the same block
8device. The check is introduced by the following commit in v2.31.
9
10https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=
1167f846b59b32f3d704c601669409c2584383fea9
12
13The here-doc usage in this script creates temporary file in /tmp. When we run in
14an environment where /tmp has rarely been used, the newly created temporary file
15may have a very low inode number. If the inode number was 6 which is the same as
16/dev/null, the as would wrongly think the input file and the output file are the
17same and report the following error.
18
19*** Compiler lacks asm-goto support.. Stop.
20
21One observed case happened in docker where the /tmp could be so rarely used that
22very low number inode may be allocated and triggers the error.
23
24The fix below for the bug only exists on the master branch of binutils so far
25and has not been released from upstream. As the convict is introduced since
26v2.31, only v2.31 is affected.
27
28https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=
292a50366ded329bfb39d387253450c9d5302c3503
30
31When building linux-libc-headers we need to use "as" in binutils which does not
32contain the fix for the moment. To work around the error, we create a fixed
33temporary file to contain the program being tested.
34
35This patch also removes ">/dev/null 2>&1" so we will have more direct error
36information in case something else wrong happened.
37
38Upstream-Status: Inappropriate [A work around for binutils v2.31]
39
40Signed-off-by: He Zhe <zhe.he@windriver.com>
41---
42 scripts/gcc-goto.sh | 5 ++++-
43 1 file changed, 4 insertions(+), 1 deletion(-)
44
45diff --git a/scripts/gcc-goto.sh b/scripts/gcc-goto.sh
46index 8b980fb22..d256a9438 100755
47--- a/scripts/gcc-goto.sh
48+++ b/scripts/gcc-goto.sh
49@@ -3,7 +3,7 @@
50 # Test for gcc 'asm goto' support
51 # Copyright (C) 2010, Jason Baron <jbaron@redhat.com>
52
53-cat << "END" | $@ -x c - -fno-PIE -c -o /dev/null
54+cat << "END" > ./input
55 int main(void)
56 {
57 #if defined(__arm__) || defined(__aarch64__)
58@@ -20,3 +20,6 @@ entry:
59 return 0;
60 }
61 END
62+
63+$@ -x c ./input -fno-PIE -c -o ./output
64+rm ./input ./output
65--
662.19.1
67
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch
index b5c4e1750e..b0e7014138 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch
@@ -13,17 +13,17 @@ Upstream-Status: Submitted
13 include/uapi/linux/kernel.h | 2 ++ 13 include/uapi/linux/kernel.h | 2 ++
14 1 file changed, 2 insertions(+) 14 1 file changed, 2 insertions(+)
15 15
16Index: linux-4.8-rc4/include/uapi/linux/kernel.h 16Index: linux-5.12.11/include/uapi/linux/kernel.h
17=================================================================== 17===================================================================
18--- linux-4.8-rc4.orig/include/uapi/linux/kernel.h 18--- linux-5.12.11.orig/include/uapi/linux/kernel.h
19+++ linux-4.8-rc4/include/uapi/linux/kernel.h 19+++ linux-5.12.11/include/uapi/linux/kernel.h
20@@ -1,7 +1,9 @@ 20@@ -2,7 +2,9 @@
21 #ifndef _UAPI_LINUX_KERNEL_H 21 #ifndef _UAPI_LINUX_KERNEL_H
22 #define _UAPI_LINUX_KERNEL_H 22 #define _UAPI_LINUX_KERNEL_H
23 23
24+#ifdef __GLIBC__ 24+#ifdef __GLIBC__
25 #include <linux/sysinfo.h> 25 #include <linux/sysinfo.h>
26 #include <linux/const.h>
26+#endif 27+#endif
27 28
28 /* 29 #endif /* _UAPI_LINUX_KERNEL_H */
29 * 'kernel.h' contains some often-used function prototypes etc
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.10.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_6.6.bb
index d6a4d5aa61..d68de6ec7e 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.10.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_6.6.bb
@@ -1,19 +1,17 @@
1require linux-libc-headers.inc 1require linux-libc-headers.inc
2 2
3SRC_URI_append_libc-musl = "\ 3SRC_URI:append:libc-musl = "\
4 file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \ 4 file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \
5 file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \ 5 file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \
6 file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \ 6 file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
7 file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \
8 " 7 "
9 8
10SRC_URI_append = "\ 9SRC_URI += "\
11 file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \
12 file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \ 10 file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \
13" 11"
14 12
15LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" 13LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
16 14
17SRC_URI[md5sum] = "753adc474bf799d569dec4f165ed92c3" 15SRC_URI[sha256sum] = "d926a06c63dd8ac7df3f86ee1ffc2ce2a3b81a2d168484e76b5b389aba8e56d0"
18SRC_URI[sha256sum] = "dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43" 16
19 17
diff --git a/meta/recipes-kernel/linux/cve-exclusion.inc b/meta/recipes-kernel/linux/cve-exclusion.inc
new file mode 100644
index 0000000000..7857633943
--- /dev/null
+++ b/meta/recipes-kernel/linux/cve-exclusion.inc
@@ -0,0 +1,34 @@
1CVE_STATUS[CVE-1999-0656] = "not-applicable-config: specific to ugidd, part of the old user-mode NFS server"
2
3CVE_STATUS[CVE-2006-2932] = "not-applicable-platform: specific to RHEL"
4
5CVE_STATUS[CVE-2007-2764] = "not-applicable-platform: specific to Sun/Brocade SilkWorm switches"
6
7CVE_STATUS[CVE-2007-4998] = "cpe-incorrect: a historic cp bug, no longer an issue as per https://bugzilla.redhat.com/show_bug.cgi?id=356471#c5"
8
9CVE_STATUS[CVE-2008-2544] = "disputed: not an issue as per https://bugzilla.redhat.com/show_bug.cgi?id=449089#c22"
10
11CVE_STATUS[CVE-2010-0298] = "fixed-version: 2.6.34 (1871c6)"
12
13CVE_STATUS[CVE-2014-2648] = "cpe-incorrect: not Linux"
14
15CVE_STATUS[CVE-2016-0774] = "ignored: result of incomplete backport"
16
17CVE_STATUS[CVE-2016-3695] = "not-applicable-platform: specific to RHEL with securelevel patches"
18
19CVE_STATUS[CVE-2016-3699] = "not-applicable-platform: specific to RHEL with securelevel patches"
20
21CVE_STATUS[CVE-2017-6264] = "not-applicable-platform: Android specific"
22
23CVE_STATUS[CVE-2017-1000377] = "not-applicable-platform: GRSecurity specific"
24
25CVE_STATUS[CVE-2018-6559] = "not-applicable-platform: Issue only affects Ubuntu"
26
27CVE_STATUS[CVE-2020-11935] = "not-applicable-config: Issue only affects aufs, which is not in linux-yocto"
28
29# Introduced in version v6.1 7b88bda3761b95856cf97822efe8281c8100067b
30# Patched in kernel since v6.2 4a625ceee8a0ab0273534cb6b432ce6b331db5ee
31# But, the CVE is disputed:
32CVE_STATUS[CVE-2023-23005] = "disputed: There are no realistic cases \
33in which a user can cause the alloc_memory_type error case to be reached. \
34See: https://bugzilla.suse.com/show_bug.cgi?id=1208844#c2"
diff --git a/meta/recipes-kernel/linux/cve-exclusion_6.6.inc b/meta/recipes-kernel/linux/cve-exclusion_6.6.inc
new file mode 100644
index 0000000000..bb9ba49c48
--- /dev/null
+++ b/meta/recipes-kernel/linux/cve-exclusion_6.6.inc
@@ -0,0 +1,5384 @@
1
2# Auto-generated CVE metadata, DO NOT EDIT BY HAND.
3# Generated at 2024-03-28 16:40:04.102652+00:00 for version 6.6.23
4
5python check_kernel_cve_status_version() {
6 this_version = "6.6.23"
7 kernel_version = d.getVar("LINUX_VERSION")
8 if kernel_version != this_version:
9 bb.warn("Kernel CVE status needs updating: generated for %s but kernel is %s" % (this_version, kernel_version))
10}
11do_cve_check[prefuncs] += "check_kernel_cve_status_version"
12
13CVE_STATUS[CVE-2003-1604] = "fixed-version: Fixed from version 2.6.12rc2"
14
15CVE_STATUS[CVE-2004-0230] = "fixed-version: Fixed from version 3.6rc1"
16
17# CVE-2005-3660 has no known resolution
18
19CVE_STATUS[CVE-2006-3635] = "fixed-version: Fixed from version 2.6.26rc5"
20
21CVE_STATUS[CVE-2006-5331] = "fixed-version: Fixed from version 2.6.19rc3"
22
23CVE_STATUS[CVE-2006-6128] = "fixed-version: Fixed from version 2.6.19rc2"
24
25# CVE-2007-3719 has no known resolution
26
27CVE_STATUS[CVE-2007-4774] = "fixed-version: Fixed from version 2.6.12rc2"
28
29CVE_STATUS[CVE-2007-6761] = "fixed-version: Fixed from version 2.6.24rc6"
30
31CVE_STATUS[CVE-2007-6762] = "fixed-version: Fixed from version 2.6.20rc5"
32
33# CVE-2008-2544 has no known resolution
34
35# CVE-2008-4609 has no known resolution
36
37CVE_STATUS[CVE-2008-7316] = "fixed-version: Fixed from version 2.6.25rc1"
38
39CVE_STATUS[CVE-2009-2692] = "fixed-version: Fixed from version 2.6.31rc6"
40
41CVE_STATUS[CVE-2010-0008] = "fixed-version: Fixed from version 2.6.23rc9"
42
43CVE_STATUS[CVE-2010-3432] = "fixed-version: Fixed from version 2.6.36rc5"
44
45# CVE-2010-4563 has no known resolution
46
47CVE_STATUS[CVE-2010-4648] = "fixed-version: Fixed from version 2.6.37rc6"
48
49CVE_STATUS[CVE-2010-5313] = "fixed-version: Fixed from version 2.6.38rc1"
50
51# CVE-2010-5321 has no known resolution
52
53CVE_STATUS[CVE-2010-5328] = "fixed-version: Fixed from version 2.6.35rc1"
54
55CVE_STATUS[CVE-2010-5329] = "fixed-version: Fixed from version 2.6.39rc1"
56
57CVE_STATUS[CVE-2010-5331] = "fixed-version: Fixed from version 2.6.34rc7"
58
59CVE_STATUS[CVE-2010-5332] = "fixed-version: Fixed from version 2.6.37rc1"
60
61CVE_STATUS[CVE-2011-4098] = "fixed-version: Fixed from version 3.2rc1"
62
63CVE_STATUS[CVE-2011-4131] = "fixed-version: Fixed from version 3.3rc1"
64
65CVE_STATUS[CVE-2011-4915] = "fixed-version: Fixed from version 3.2rc1"
66
67# CVE-2011-4916 has no known resolution
68
69# CVE-2011-4917 has no known resolution
70
71CVE_STATUS[CVE-2011-5321] = "fixed-version: Fixed from version 3.2rc1"
72
73CVE_STATUS[CVE-2011-5327] = "fixed-version: Fixed from version 3.1rc1"
74
75CVE_STATUS[CVE-2012-0957] = "fixed-version: Fixed from version 3.7rc2"
76
77CVE_STATUS[CVE-2012-2119] = "fixed-version: Fixed from version 3.5rc1"
78
79CVE_STATUS[CVE-2012-2136] = "fixed-version: Fixed from version 3.5rc1"
80
81CVE_STATUS[CVE-2012-2137] = "fixed-version: Fixed from version 3.5rc2"
82
83CVE_STATUS[CVE-2012-2313] = "fixed-version: Fixed from version 3.4rc6"
84
85CVE_STATUS[CVE-2012-2319] = "fixed-version: Fixed from version 3.4rc6"
86
87CVE_STATUS[CVE-2012-2372] = "fixed-version: Fixed from version 3.13rc4"
88
89CVE_STATUS[CVE-2012-2375] = "fixed-version: Fixed from version 3.4rc1"
90
91CVE_STATUS[CVE-2012-2390] = "fixed-version: Fixed from version 3.5rc1"
92
93CVE_STATUS[CVE-2012-2669] = "fixed-version: Fixed from version 3.5rc4"
94
95CVE_STATUS[CVE-2012-2744] = "fixed-version: Fixed from version 2.6.34rc1"
96
97CVE_STATUS[CVE-2012-2745] = "fixed-version: Fixed from version 3.4rc3"
98
99CVE_STATUS[CVE-2012-3364] = "fixed-version: Fixed from version 3.5rc6"
100
101CVE_STATUS[CVE-2012-3375] = "fixed-version: Fixed from version 3.4rc5"
102
103CVE_STATUS[CVE-2012-3400] = "fixed-version: Fixed from version 3.5rc5"
104
105CVE_STATUS[CVE-2012-3412] = "fixed-version: Fixed from version 3.6rc2"
106
107CVE_STATUS[CVE-2012-3430] = "fixed-version: Fixed from version 3.6rc1"
108
109CVE_STATUS[CVE-2012-3510] = "fixed-version: Fixed from version 2.6.19rc4"
110
111CVE_STATUS[CVE-2012-3511] = "fixed-version: Fixed from version 3.5rc6"
112
113CVE_STATUS[CVE-2012-3520] = "fixed-version: Fixed from version 3.6rc3"
114
115CVE_STATUS[CVE-2012-3552] = "fixed-version: Fixed from version 3.0rc1"
116
117# Skipping CVE-2012-4220, no affected_versions
118
119# Skipping CVE-2012-4221, no affected_versions
120
121# Skipping CVE-2012-4222, no affected_versions
122
123CVE_STATUS[CVE-2012-4398] = "fixed-version: Fixed from version 3.4rc1"
124
125CVE_STATUS[CVE-2012-4444] = "fixed-version: Fixed from version 2.6.36rc4"
126
127CVE_STATUS[CVE-2012-4461] = "fixed-version: Fixed from version 3.7rc6"
128
129CVE_STATUS[CVE-2012-4467] = "fixed-version: Fixed from version 3.6rc5"
130
131CVE_STATUS[CVE-2012-4508] = "fixed-version: Fixed from version 3.7rc3"
132
133CVE_STATUS[CVE-2012-4530] = "fixed-version: Fixed from version 3.8rc1"
134
135# CVE-2012-4542 has no known resolution
136
137CVE_STATUS[CVE-2012-4565] = "fixed-version: Fixed from version 3.7rc4"
138
139CVE_STATUS[CVE-2012-5374] = "fixed-version: Fixed from version 3.8rc1"
140
141CVE_STATUS[CVE-2012-5375] = "fixed-version: Fixed from version 3.8rc1"
142
143CVE_STATUS[CVE-2012-5517] = "fixed-version: Fixed from version 3.6rc1"
144
145CVE_STATUS[CVE-2012-6536] = "fixed-version: Fixed from version 3.6rc7"
146
147CVE_STATUS[CVE-2012-6537] = "fixed-version: Fixed from version 3.6rc7"
148
149CVE_STATUS[CVE-2012-6538] = "fixed-version: Fixed from version 3.6rc7"
150
151CVE_STATUS[CVE-2012-6539] = "fixed-version: Fixed from version 3.6rc3"
152
153CVE_STATUS[CVE-2012-6540] = "fixed-version: Fixed from version 3.6rc3"
154
155CVE_STATUS[CVE-2012-6541] = "fixed-version: Fixed from version 3.6rc3"
156
157CVE_STATUS[CVE-2012-6542] = "fixed-version: Fixed from version 3.6rc3"
158
159CVE_STATUS[CVE-2012-6543] = "fixed-version: Fixed from version 3.6rc3"
160
161CVE_STATUS[CVE-2012-6544] = "fixed-version: Fixed from version 3.6rc3"
162
163CVE_STATUS[CVE-2012-6545] = "fixed-version: Fixed from version 3.6rc3"
164
165CVE_STATUS[CVE-2012-6546] = "fixed-version: Fixed from version 3.6rc3"
166
167CVE_STATUS[CVE-2012-6547] = "fixed-version: Fixed from version 3.6rc1"
168
169CVE_STATUS[CVE-2012-6548] = "fixed-version: Fixed from version 3.6rc1"
170
171CVE_STATUS[CVE-2012-6549] = "fixed-version: Fixed from version 3.6rc1"
172
173CVE_STATUS[CVE-2012-6638] = "fixed-version: Fixed from version 3.3rc1"
174
175CVE_STATUS[CVE-2012-6647] = "fixed-version: Fixed from version 3.6rc2"
176
177CVE_STATUS[CVE-2012-6657] = "fixed-version: Fixed from version 3.6"
178
179CVE_STATUS[CVE-2012-6689] = "fixed-version: Fixed from version 3.6rc5"
180
181CVE_STATUS[CVE-2012-6701] = "fixed-version: Fixed from version 3.5rc1"
182
183CVE_STATUS[CVE-2012-6703] = "fixed-version: Fixed from version 3.7rc1"
184
185CVE_STATUS[CVE-2012-6704] = "fixed-version: Fixed from version 3.5rc1"
186
187CVE_STATUS[CVE-2012-6712] = "fixed-version: Fixed from version 3.4rc1"
188
189CVE_STATUS[CVE-2013-0160] = "fixed-version: Fixed from version 3.9rc1"
190
191CVE_STATUS[CVE-2013-0190] = "fixed-version: Fixed from version 3.8rc5"
192
193CVE_STATUS[CVE-2013-0216] = "fixed-version: Fixed from version 3.8rc7"
194
195CVE_STATUS[CVE-2013-0217] = "fixed-version: Fixed from version 3.8rc7"
196
197CVE_STATUS[CVE-2013-0228] = "fixed-version: Fixed from version 3.8"
198
199CVE_STATUS[CVE-2013-0231] = "fixed-version: Fixed from version 3.8rc7"
200
201CVE_STATUS[CVE-2013-0268] = "fixed-version: Fixed from version 3.8rc6"
202
203CVE_STATUS[CVE-2013-0290] = "fixed-version: Fixed from version 3.8"
204
205CVE_STATUS[CVE-2013-0309] = "fixed-version: Fixed from version 3.7rc1"
206
207CVE_STATUS[CVE-2013-0310] = "fixed-version: Fixed from version 3.5"
208
209CVE_STATUS[CVE-2013-0311] = "fixed-version: Fixed from version 3.7rc8"
210
211CVE_STATUS[CVE-2013-0313] = "fixed-version: Fixed from version 3.8rc5"
212
213CVE_STATUS[CVE-2013-0343] = "fixed-version: Fixed from version 3.11rc7"
214
215CVE_STATUS[CVE-2013-0349] = "fixed-version: Fixed from version 3.8rc6"
216
217CVE_STATUS[CVE-2013-0871] = "fixed-version: Fixed from version 3.8rc5"
218
219CVE_STATUS[CVE-2013-0913] = "fixed-version: Fixed from version 3.9rc4"
220
221CVE_STATUS[CVE-2013-0914] = "fixed-version: Fixed from version 3.9rc3"
222
223CVE_STATUS[CVE-2013-1059] = "fixed-version: Fixed from version 3.11rc1"
224
225CVE_STATUS[CVE-2013-1763] = "fixed-version: Fixed from version 3.9rc1"
226
227CVE_STATUS[CVE-2013-1767] = "fixed-version: Fixed from version 3.9rc1"
228
229CVE_STATUS[CVE-2013-1772] = "fixed-version: Fixed from version 3.5rc1"
230
231CVE_STATUS[CVE-2013-1773] = "fixed-version: Fixed from version 3.3rc1"
232
233CVE_STATUS[CVE-2013-1774] = "fixed-version: Fixed from version 3.8rc5"
234
235CVE_STATUS[CVE-2013-1792] = "fixed-version: Fixed from version 3.9rc3"
236
237CVE_STATUS[CVE-2013-1796] = "fixed-version: Fixed from version 3.9rc4"
238
239CVE_STATUS[CVE-2013-1797] = "fixed-version: Fixed from version 3.9rc4"
240
241CVE_STATUS[CVE-2013-1798] = "fixed-version: Fixed from version 3.9rc4"
242
243CVE_STATUS[CVE-2013-1819] = "fixed-version: Fixed from version 3.8rc6"
244
245CVE_STATUS[CVE-2013-1826] = "fixed-version: Fixed from version 3.6rc7"
246
247CVE_STATUS[CVE-2013-1827] = "fixed-version: Fixed from version 3.6rc3"
248
249CVE_STATUS[CVE-2013-1828] = "fixed-version: Fixed from version 3.9rc2"
250
251CVE_STATUS[CVE-2013-1848] = "fixed-version: Fixed from version 3.9rc3"
252
253CVE_STATUS[CVE-2013-1858] = "fixed-version: Fixed from version 3.9rc3"
254
255CVE_STATUS[CVE-2013-1860] = "fixed-version: Fixed from version 3.9rc3"
256
257CVE_STATUS[CVE-2013-1928] = "fixed-version: Fixed from version 3.7rc3"
258
259CVE_STATUS[CVE-2013-1929] = "fixed-version: Fixed from version 3.9rc6"
260
261# Skipping CVE-2013-1935, no affected_versions
262
263CVE_STATUS[CVE-2013-1943] = "fixed-version: Fixed from version 3.0rc1"
264
265CVE_STATUS[CVE-2013-1956] = "fixed-version: Fixed from version 3.9rc5"
266
267CVE_STATUS[CVE-2013-1957] = "fixed-version: Fixed from version 3.9rc5"
268
269CVE_STATUS[CVE-2013-1958] = "fixed-version: Fixed from version 3.9rc5"
270
271CVE_STATUS[CVE-2013-1959] = "fixed-version: Fixed from version 3.9rc7"
272
273CVE_STATUS[CVE-2013-1979] = "fixed-version: Fixed from version 3.9rc8"
274
275CVE_STATUS[CVE-2013-2015] = "fixed-version: Fixed from version 3.8rc2"
276
277CVE_STATUS[CVE-2013-2017] = "fixed-version: Fixed from version 2.6.34"
278
279CVE_STATUS[CVE-2013-2058] = "fixed-version: Fixed from version 3.8rc4"
280
281CVE_STATUS[CVE-2013-2094] = "fixed-version: Fixed from version 3.9rc8"
282
283CVE_STATUS[CVE-2013-2128] = "fixed-version: Fixed from version 2.6.34rc4"
284
285CVE_STATUS[CVE-2013-2140] = "fixed-version: Fixed from version 3.11rc3"
286
287CVE_STATUS[CVE-2013-2141] = "fixed-version: Fixed from version 3.9rc8"
288
289CVE_STATUS[CVE-2013-2146] = "fixed-version: Fixed from version 3.9rc8"
290
291CVE_STATUS[CVE-2013-2147] = "fixed-version: Fixed from version 3.12rc3"
292
293CVE_STATUS[CVE-2013-2148] = "fixed-version: Fixed from version 3.11rc1"
294
295CVE_STATUS[CVE-2013-2164] = "fixed-version: Fixed from version 3.11rc1"
296
297# Skipping CVE-2013-2188, no affected_versions
298
299CVE_STATUS[CVE-2013-2206] = "fixed-version: Fixed from version 3.9rc4"
300
301# Skipping CVE-2013-2224, no affected_versions
302
303CVE_STATUS[CVE-2013-2232] = "fixed-version: Fixed from version 3.10"
304
305CVE_STATUS[CVE-2013-2234] = "fixed-version: Fixed from version 3.10"
306
307CVE_STATUS[CVE-2013-2237] = "fixed-version: Fixed from version 3.9rc6"
308
309# Skipping CVE-2013-2239, no affected_versions
310
311CVE_STATUS[CVE-2013-2546] = "fixed-version: Fixed from version 3.9rc1"
312
313CVE_STATUS[CVE-2013-2547] = "fixed-version: Fixed from version 3.9rc1"
314
315CVE_STATUS[CVE-2013-2548] = "fixed-version: Fixed from version 3.9rc1"
316
317CVE_STATUS[CVE-2013-2596] = "fixed-version: Fixed from version 3.9rc8"
318
319CVE_STATUS[CVE-2013-2634] = "fixed-version: Fixed from version 3.9rc3"
320
321CVE_STATUS[CVE-2013-2635] = "fixed-version: Fixed from version 3.9rc3"
322
323CVE_STATUS[CVE-2013-2636] = "fixed-version: Fixed from version 3.9rc3"
324
325CVE_STATUS[CVE-2013-2850] = "fixed-version: Fixed from version 3.10rc4"
326
327CVE_STATUS[CVE-2013-2851] = "fixed-version: Fixed from version 3.11rc1"
328
329CVE_STATUS[CVE-2013-2852] = "fixed-version: Fixed from version 3.10rc6"
330
331CVE_STATUS[CVE-2013-2888] = "fixed-version: Fixed from version 3.12rc1"
332
333CVE_STATUS[CVE-2013-2889] = "fixed-version: Fixed from version 3.12rc2"
334
335CVE_STATUS[CVE-2013-2890] = "fixed-version: Fixed from version 3.12rc2"
336
337CVE_STATUS[CVE-2013-2891] = "fixed-version: Fixed from version 3.12rc2"
338
339CVE_STATUS[CVE-2013-2892] = "fixed-version: Fixed from version 3.12rc1"
340
341CVE_STATUS[CVE-2013-2893] = "fixed-version: Fixed from version 3.12rc2"
342
343CVE_STATUS[CVE-2013-2894] = "fixed-version: Fixed from version 3.12rc2"
344
345CVE_STATUS[CVE-2013-2895] = "fixed-version: Fixed from version 3.12rc2"
346
347CVE_STATUS[CVE-2013-2896] = "fixed-version: Fixed from version 3.12rc1"
348
349CVE_STATUS[CVE-2013-2897] = "fixed-version: Fixed from version 3.12rc2"
350
351CVE_STATUS[CVE-2013-2898] = "fixed-version: Fixed from version 3.12rc1"
352
353CVE_STATUS[CVE-2013-2899] = "fixed-version: Fixed from version 3.12rc1"
354
355CVE_STATUS[CVE-2013-2929] = "fixed-version: Fixed from version 3.13rc1"
356
357CVE_STATUS[CVE-2013-2930] = "fixed-version: Fixed from version 3.13rc1"
358
359CVE_STATUS[CVE-2013-3076] = "fixed-version: Fixed from version 3.9"
360
361CVE_STATUS[CVE-2013-3222] = "fixed-version: Fixed from version 3.9rc7"
362
363CVE_STATUS[CVE-2013-3223] = "fixed-version: Fixed from version 3.9rc7"
364
365CVE_STATUS[CVE-2013-3224] = "fixed-version: Fixed from version 3.9rc7"
366
367CVE_STATUS[CVE-2013-3225] = "fixed-version: Fixed from version 3.9rc7"
368
369CVE_STATUS[CVE-2013-3226] = "fixed-version: Fixed from version 3.9rc7"
370
371CVE_STATUS[CVE-2013-3227] = "fixed-version: Fixed from version 3.9rc7"
372
373CVE_STATUS[CVE-2013-3228] = "fixed-version: Fixed from version 3.9rc7"
374
375CVE_STATUS[CVE-2013-3229] = "fixed-version: Fixed from version 3.9rc7"
376
377CVE_STATUS[CVE-2013-3230] = "fixed-version: Fixed from version 3.9rc7"
378
379CVE_STATUS[CVE-2013-3231] = "fixed-version: Fixed from version 3.9rc7"
380
381CVE_STATUS[CVE-2013-3232] = "fixed-version: Fixed from version 3.9rc7"
382
383CVE_STATUS[CVE-2013-3233] = "fixed-version: Fixed from version 3.9rc7"
384
385CVE_STATUS[CVE-2013-3234] = "fixed-version: Fixed from version 3.9rc7"
386
387CVE_STATUS[CVE-2013-3235] = "fixed-version: Fixed from version 3.9rc7"
388
389CVE_STATUS[CVE-2013-3236] = "fixed-version: Fixed from version 3.9rc7"
390
391CVE_STATUS[CVE-2013-3237] = "fixed-version: Fixed from version 3.9rc7"
392
393CVE_STATUS[CVE-2013-3301] = "fixed-version: Fixed from version 3.9rc7"
394
395CVE_STATUS[CVE-2013-3302] = "fixed-version: Fixed from version 3.8rc3"
396
397CVE_STATUS[CVE-2013-4125] = "fixed-version: Fixed from version 3.11rc1"
398
399CVE_STATUS[CVE-2013-4127] = "fixed-version: Fixed from version 3.11rc1"
400
401CVE_STATUS[CVE-2013-4129] = "fixed-version: Fixed from version 3.11rc1"
402
403CVE_STATUS[CVE-2013-4162] = "fixed-version: Fixed from version 3.11rc1"
404
405CVE_STATUS[CVE-2013-4163] = "fixed-version: Fixed from version 3.11rc1"
406
407CVE_STATUS[CVE-2013-4205] = "fixed-version: Fixed from version 3.11rc5"
408
409CVE_STATUS[CVE-2013-4220] = "fixed-version: Fixed from version 3.10rc4"
410
411CVE_STATUS[CVE-2013-4247] = "fixed-version: Fixed from version 3.10rc5"
412
413CVE_STATUS[CVE-2013-4254] = "fixed-version: Fixed from version 3.11rc6"
414
415CVE_STATUS[CVE-2013-4270] = "fixed-version: Fixed from version 3.12rc4"
416
417CVE_STATUS[CVE-2013-4299] = "fixed-version: Fixed from version 3.12rc6"
418
419CVE_STATUS[CVE-2013-4300] = "fixed-version: Fixed from version 3.11"
420
421CVE_STATUS[CVE-2013-4312] = "fixed-version: Fixed from version 4.5rc1"
422
423CVE_STATUS[CVE-2013-4343] = "fixed-version: Fixed from version 3.12rc2"
424
425CVE_STATUS[CVE-2013-4345] = "fixed-version: Fixed from version 3.13rc2"
426
427CVE_STATUS[CVE-2013-4348] = "fixed-version: Fixed from version 3.13rc1"
428
429CVE_STATUS[CVE-2013-4350] = "fixed-version: Fixed from version 3.12rc2"
430
431CVE_STATUS[CVE-2013-4387] = "fixed-version: Fixed from version 3.12rc4"
432
433CVE_STATUS[CVE-2013-4470] = "fixed-version: Fixed from version 3.12rc7"
434
435CVE_STATUS[CVE-2013-4483] = "fixed-version: Fixed from version 3.10rc1"
436
437CVE_STATUS[CVE-2013-4511] = "fixed-version: Fixed from version 3.12"
438
439CVE_STATUS[CVE-2013-4512] = "fixed-version: Fixed from version 3.12"
440
441CVE_STATUS[CVE-2013-4513] = "fixed-version: Fixed from version 3.12"
442
443CVE_STATUS[CVE-2013-4514] = "fixed-version: Fixed from version 3.12"
444
445CVE_STATUS[CVE-2013-4515] = "fixed-version: Fixed from version 3.12"
446
447CVE_STATUS[CVE-2013-4516] = "fixed-version: Fixed from version 3.12"
448
449CVE_STATUS[CVE-2013-4563] = "fixed-version: Fixed from version 3.13rc1"
450
451CVE_STATUS[CVE-2013-4579] = "fixed-version: Fixed from version 3.13rc7"
452
453CVE_STATUS[CVE-2013-4587] = "fixed-version: Fixed from version 3.13rc4"
454
455CVE_STATUS[CVE-2013-4588] = "fixed-version: Fixed from version 2.6.33rc4"
456
457CVE_STATUS[CVE-2013-4591] = "fixed-version: Fixed from version 3.8rc1"
458
459CVE_STATUS[CVE-2013-4592] = "fixed-version: Fixed from version 3.7rc1"
460
461# Skipping CVE-2013-4737, no affected_versions
462
463# Skipping CVE-2013-4738, no affected_versions
464
465# Skipping CVE-2013-4739, no affected_versions
466
467CVE_STATUS[CVE-2013-5634] = "fixed-version: Fixed from version 3.10rc5"
468
469CVE_STATUS[CVE-2013-6282] = "fixed-version: Fixed from version 3.6rc6"
470
471CVE_STATUS[CVE-2013-6367] = "fixed-version: Fixed from version 3.13rc4"
472
473CVE_STATUS[CVE-2013-6368] = "fixed-version: Fixed from version 3.13rc4"
474
475CVE_STATUS[CVE-2013-6376] = "fixed-version: Fixed from version 3.13rc4"
476
477CVE_STATUS[CVE-2013-6378] = "fixed-version: Fixed from version 3.13rc1"
478
479CVE_STATUS[CVE-2013-6380] = "fixed-version: Fixed from version 3.13rc1"
480
481CVE_STATUS[CVE-2013-6381] = "fixed-version: Fixed from version 3.13rc1"
482
483CVE_STATUS[CVE-2013-6382] = "fixed-version: Fixed from version 3.13rc4"
484
485CVE_STATUS[CVE-2013-6383] = "fixed-version: Fixed from version 3.12"
486
487# Skipping CVE-2013-6392, no affected_versions
488
489CVE_STATUS[CVE-2013-6431] = "fixed-version: Fixed from version 3.12rc1"
490
491CVE_STATUS[CVE-2013-6432] = "fixed-version: Fixed from version 3.13rc1"
492
493CVE_STATUS[CVE-2013-6885] = "fixed-version: Fixed from version 3.14rc1"
494
495CVE_STATUS[CVE-2013-7026] = "fixed-version: Fixed from version 3.13rc1"
496
497CVE_STATUS[CVE-2013-7027] = "fixed-version: Fixed from version 3.12rc7"
498
499CVE_STATUS[CVE-2013-7263] = "fixed-version: Fixed from version 3.13rc1"
500
501CVE_STATUS[CVE-2013-7264] = "fixed-version: Fixed from version 3.13rc1"
502
503CVE_STATUS[CVE-2013-7265] = "fixed-version: Fixed from version 3.13rc1"
504
505CVE_STATUS[CVE-2013-7266] = "fixed-version: Fixed from version 3.13rc1"
506
507CVE_STATUS[CVE-2013-7267] = "fixed-version: Fixed from version 3.13rc1"
508
509CVE_STATUS[CVE-2013-7268] = "fixed-version: Fixed from version 3.13rc1"
510
511CVE_STATUS[CVE-2013-7269] = "fixed-version: Fixed from version 3.13rc1"
512
513CVE_STATUS[CVE-2013-7270] = "fixed-version: Fixed from version 3.13rc1"
514
515CVE_STATUS[CVE-2013-7271] = "fixed-version: Fixed from version 3.13rc1"
516
517CVE_STATUS[CVE-2013-7281] = "fixed-version: Fixed from version 3.13rc1"
518
519CVE_STATUS[CVE-2013-7339] = "fixed-version: Fixed from version 3.13rc7"
520
521CVE_STATUS[CVE-2013-7348] = "fixed-version: Fixed from version 3.13rc1"
522
523CVE_STATUS[CVE-2013-7421] = "fixed-version: Fixed from version 3.19rc1"
524
525# CVE-2013-7445 has no known resolution
526
527CVE_STATUS[CVE-2013-7446] = "fixed-version: Fixed from version 4.4rc4"
528
529CVE_STATUS[CVE-2013-7470] = "fixed-version: Fixed from version 3.12rc7"
530
531CVE_STATUS[CVE-2014-0038] = "fixed-version: Fixed from version 3.14rc1"
532
533CVE_STATUS[CVE-2014-0049] = "fixed-version: Fixed from version 3.14rc5"
534
535CVE_STATUS[CVE-2014-0055] = "fixed-version: Fixed from version 3.14"
536
537CVE_STATUS[CVE-2014-0069] = "fixed-version: Fixed from version 3.14rc4"
538
539CVE_STATUS[CVE-2014-0077] = "fixed-version: Fixed from version 3.14"
540
541CVE_STATUS[CVE-2014-0100] = "fixed-version: Fixed from version 3.14rc7"
542
543CVE_STATUS[CVE-2014-0101] = "fixed-version: Fixed from version 3.14rc6"
544
545CVE_STATUS[CVE-2014-0102] = "fixed-version: Fixed from version 3.14rc6"
546
547CVE_STATUS[CVE-2014-0131] = "fixed-version: Fixed from version 3.14rc7"
548
549CVE_STATUS[CVE-2014-0155] = "fixed-version: Fixed from version 3.15rc2"
550
551CVE_STATUS[CVE-2014-0181] = "fixed-version: Fixed from version 3.15rc5"
552
553CVE_STATUS[CVE-2014-0196] = "fixed-version: Fixed from version 3.15rc5"
554
555CVE_STATUS[CVE-2014-0203] = "fixed-version: Fixed from version 2.6.33rc5"
556
557CVE_STATUS[CVE-2014-0205] = "fixed-version: Fixed from version 2.6.37rc1"
558
559CVE_STATUS[CVE-2014-0206] = "fixed-version: Fixed from version 3.16rc3"
560
561# Skipping CVE-2014-0972, no affected_versions
562
563CVE_STATUS[CVE-2014-1438] = "fixed-version: Fixed from version 3.13"
564
565CVE_STATUS[CVE-2014-1444] = "fixed-version: Fixed from version 3.12rc7"
566
567CVE_STATUS[CVE-2014-1445] = "fixed-version: Fixed from version 3.12rc7"
568
569CVE_STATUS[CVE-2014-1446] = "fixed-version: Fixed from version 3.13rc7"
570
571CVE_STATUS[CVE-2014-1690] = "fixed-version: Fixed from version 3.13rc8"
572
573CVE_STATUS[CVE-2014-1737] = "fixed-version: Fixed from version 3.15rc5"
574
575CVE_STATUS[CVE-2014-1738] = "fixed-version: Fixed from version 3.15rc5"
576
577CVE_STATUS[CVE-2014-1739] = "fixed-version: Fixed from version 3.15rc6"
578
579CVE_STATUS[CVE-2014-1874] = "fixed-version: Fixed from version 3.14rc2"
580
581CVE_STATUS[CVE-2014-2038] = "fixed-version: Fixed from version 3.14rc1"
582
583CVE_STATUS[CVE-2014-2039] = "fixed-version: Fixed from version 3.14rc3"
584
585CVE_STATUS[CVE-2014-2309] = "fixed-version: Fixed from version 3.14rc7"
586
587CVE_STATUS[CVE-2014-2523] = "fixed-version: Fixed from version 3.14rc1"
588
589CVE_STATUS[CVE-2014-2568] = "fixed-version: Fixed from version 3.14"
590
591CVE_STATUS[CVE-2014-2580] = "fixed-version: Fixed from version 3.15rc1"
592
593CVE_STATUS[CVE-2014-2672] = "fixed-version: Fixed from version 3.14rc6"
594
595CVE_STATUS[CVE-2014-2673] = "fixed-version: Fixed from version 3.14rc6"
596
597CVE_STATUS[CVE-2014-2678] = "fixed-version: Fixed from version 3.15rc1"
598
599CVE_STATUS[CVE-2014-2706] = "fixed-version: Fixed from version 3.14rc6"
600
601CVE_STATUS[CVE-2014-2739] = "fixed-version: Fixed from version 3.15rc1"
602
603CVE_STATUS[CVE-2014-2851] = "fixed-version: Fixed from version 3.15rc2"
604
605CVE_STATUS[CVE-2014-2889] = "fixed-version: Fixed from version 3.2rc7"
606
607CVE_STATUS[CVE-2014-3122] = "fixed-version: Fixed from version 3.15rc1"
608
609CVE_STATUS[CVE-2014-3144] = "fixed-version: Fixed from version 3.15rc2"
610
611CVE_STATUS[CVE-2014-3145] = "fixed-version: Fixed from version 3.15rc2"
612
613CVE_STATUS[CVE-2014-3153] = "fixed-version: Fixed from version 3.15"
614
615CVE_STATUS[CVE-2014-3180] = "fixed-version: Fixed from version 3.17rc4"
616
617CVE_STATUS[CVE-2014-3181] = "fixed-version: Fixed from version 3.17rc3"
618
619CVE_STATUS[CVE-2014-3182] = "fixed-version: Fixed from version 3.17rc2"
620
621CVE_STATUS[CVE-2014-3183] = "fixed-version: Fixed from version 3.17rc2"
622
623CVE_STATUS[CVE-2014-3184] = "fixed-version: Fixed from version 3.17rc2"
624
625CVE_STATUS[CVE-2014-3185] = "fixed-version: Fixed from version 3.17rc3"
626
627CVE_STATUS[CVE-2014-3186] = "fixed-version: Fixed from version 3.17rc3"
628
629# Skipping CVE-2014-3519, no affected_versions
630
631CVE_STATUS[CVE-2014-3534] = "fixed-version: Fixed from version 3.16rc7"
632
633CVE_STATUS[CVE-2014-3535] = "fixed-version: Fixed from version 2.6.36rc1"
634
635CVE_STATUS[CVE-2014-3601] = "fixed-version: Fixed from version 3.17rc2"
636
637CVE_STATUS[CVE-2014-3610] = "fixed-version: Fixed from version 3.18rc2"
638
639CVE_STATUS[CVE-2014-3611] = "fixed-version: Fixed from version 3.18rc2"
640
641CVE_STATUS[CVE-2014-3631] = "fixed-version: Fixed from version 3.17rc5"
642
643CVE_STATUS[CVE-2014-3645] = "fixed-version: Fixed from version 3.12rc1"
644
645CVE_STATUS[CVE-2014-3646] = "fixed-version: Fixed from version 3.18rc2"
646
647CVE_STATUS[CVE-2014-3647] = "fixed-version: Fixed from version 3.18rc2"
648
649CVE_STATUS[CVE-2014-3673] = "fixed-version: Fixed from version 3.18rc1"
650
651CVE_STATUS[CVE-2014-3687] = "fixed-version: Fixed from version 3.18rc1"
652
653CVE_STATUS[CVE-2014-3688] = "fixed-version: Fixed from version 3.18rc1"
654
655CVE_STATUS[CVE-2014-3690] = "fixed-version: Fixed from version 3.18rc1"
656
657CVE_STATUS[CVE-2014-3917] = "fixed-version: Fixed from version 3.16rc1"
658
659CVE_STATUS[CVE-2014-3940] = "fixed-version: Fixed from version 3.15"
660
661CVE_STATUS[CVE-2014-4014] = "fixed-version: Fixed from version 3.16rc1"
662
663CVE_STATUS[CVE-2014-4027] = "fixed-version: Fixed from version 3.14rc1"
664
665CVE_STATUS[CVE-2014-4157] = "fixed-version: Fixed from version 3.15rc1"
666
667CVE_STATUS[CVE-2014-4171] = "fixed-version: Fixed from version 3.16rc3"
668
669# Skipping CVE-2014-4322, no affected_versions
670
671# Skipping CVE-2014-4323, no affected_versions
672
673CVE_STATUS[CVE-2014-4508] = "fixed-version: Fixed from version 3.16rc3"
674
675CVE_STATUS[CVE-2014-4608] = "fixed-version: Fixed from version 3.18rc1"
676
677CVE_STATUS[CVE-2014-4611] = "fixed-version: Fixed from version 3.16rc3"
678
679CVE_STATUS[CVE-2014-4652] = "fixed-version: Fixed from version 3.16rc2"
680
681CVE_STATUS[CVE-2014-4653] = "fixed-version: Fixed from version 3.16rc2"
682
683CVE_STATUS[CVE-2014-4654] = "fixed-version: Fixed from version 3.16rc2"
684
685CVE_STATUS[CVE-2014-4655] = "fixed-version: Fixed from version 3.16rc2"
686
687CVE_STATUS[CVE-2014-4656] = "fixed-version: Fixed from version 3.16rc2"
688
689CVE_STATUS[CVE-2014-4667] = "fixed-version: Fixed from version 3.16rc1"
690
691CVE_STATUS[CVE-2014-4699] = "fixed-version: Fixed from version 3.16rc4"
692
693CVE_STATUS[CVE-2014-4943] = "fixed-version: Fixed from version 3.16rc6"
694
695CVE_STATUS[CVE-2014-5045] = "fixed-version: Fixed from version 3.16rc7"
696
697CVE_STATUS[CVE-2014-5077] = "fixed-version: Fixed from version 3.16"
698
699CVE_STATUS[CVE-2014-5206] = "fixed-version: Fixed from version 3.17rc1"
700
701CVE_STATUS[CVE-2014-5207] = "fixed-version: Fixed from version 3.17rc1"
702
703# Skipping CVE-2014-5332, no affected_versions
704
705CVE_STATUS[CVE-2014-5471] = "fixed-version: Fixed from version 3.17rc2"
706
707CVE_STATUS[CVE-2014-5472] = "fixed-version: Fixed from version 3.17rc2"
708
709CVE_STATUS[CVE-2014-6410] = "fixed-version: Fixed from version 3.17rc5"
710
711CVE_STATUS[CVE-2014-6416] = "fixed-version: Fixed from version 3.17rc5"
712
713CVE_STATUS[CVE-2014-6417] = "fixed-version: Fixed from version 3.17rc5"
714
715CVE_STATUS[CVE-2014-6418] = "fixed-version: Fixed from version 3.17rc5"
716
717CVE_STATUS[CVE-2014-7145] = "fixed-version: Fixed from version 3.17rc2"
718
719# Skipping CVE-2014-7207, no affected_versions
720
721CVE_STATUS[CVE-2014-7283] = "fixed-version: Fixed from version 3.15rc1"
722
723CVE_STATUS[CVE-2014-7284] = "fixed-version: Fixed from version 3.15rc7"
724
725CVE_STATUS[CVE-2014-7822] = "fixed-version: Fixed from version 3.16rc1"
726
727CVE_STATUS[CVE-2014-7825] = "fixed-version: Fixed from version 3.18rc3"
728
729CVE_STATUS[CVE-2014-7826] = "fixed-version: Fixed from version 3.18rc3"
730
731CVE_STATUS[CVE-2014-7841] = "fixed-version: Fixed from version 3.18rc5"
732
733CVE_STATUS[CVE-2014-7842] = "fixed-version: Fixed from version 3.18rc1"
734
735CVE_STATUS[CVE-2014-7843] = "fixed-version: Fixed from version 3.18rc5"
736
737CVE_STATUS[CVE-2014-7970] = "fixed-version: Fixed from version 3.18rc1"
738
739CVE_STATUS[CVE-2014-7975] = "fixed-version: Fixed from version 3.18rc1"
740
741CVE_STATUS[CVE-2014-8086] = "fixed-version: Fixed from version 3.18rc3"
742
743CVE_STATUS[CVE-2014-8133] = "fixed-version: Fixed from version 3.19rc1"
744
745CVE_STATUS[CVE-2014-8134] = "fixed-version: Fixed from version 3.19rc1"
746
747CVE_STATUS[CVE-2014-8159] = "fixed-version: Fixed from version 4.0rc7"
748
749CVE_STATUS[CVE-2014-8160] = "fixed-version: Fixed from version 3.18rc1"
750
751CVE_STATUS[CVE-2014-8171] = "fixed-version: Fixed from version 3.12rc1"
752
753CVE_STATUS[CVE-2014-8172] = "fixed-version: Fixed from version 3.13rc1"
754
755CVE_STATUS[CVE-2014-8173] = "fixed-version: Fixed from version 3.13rc5"
756
757# Skipping CVE-2014-8181, no affected_versions
758
759CVE_STATUS[CVE-2014-8369] = "fixed-version: Fixed from version 3.18rc2"
760
761CVE_STATUS[CVE-2014-8480] = "fixed-version: Fixed from version 3.18rc2"
762
763CVE_STATUS[CVE-2014-8481] = "fixed-version: Fixed from version 3.18rc2"
764
765CVE_STATUS[CVE-2014-8559] = "fixed-version: Fixed from version 3.19rc1"
766
767CVE_STATUS[CVE-2014-8709] = "fixed-version: Fixed from version 3.14rc3"
768
769CVE_STATUS[CVE-2014-8884] = "fixed-version: Fixed from version 3.18rc1"
770
771CVE_STATUS[CVE-2014-8989] = "fixed-version: Fixed from version 3.19rc1"
772
773CVE_STATUS[CVE-2014-9090] = "fixed-version: Fixed from version 3.18rc6"
774
775CVE_STATUS[CVE-2014-9322] = "fixed-version: Fixed from version 3.18rc6"
776
777CVE_STATUS[CVE-2014-9419] = "fixed-version: Fixed from version 3.19rc1"
778
779CVE_STATUS[CVE-2014-9420] = "fixed-version: Fixed from version 3.19rc1"
780
781CVE_STATUS[CVE-2014-9428] = "fixed-version: Fixed from version 3.19rc3"
782
783CVE_STATUS[CVE-2014-9529] = "fixed-version: Fixed from version 3.19rc4"
784
785CVE_STATUS[CVE-2014-9584] = "fixed-version: Fixed from version 3.19rc3"
786
787CVE_STATUS[CVE-2014-9585] = "fixed-version: Fixed from version 3.19rc4"
788
789CVE_STATUS[CVE-2014-9644] = "fixed-version: Fixed from version 3.19rc1"
790
791CVE_STATUS[CVE-2014-9683] = "fixed-version: Fixed from version 3.19rc1"
792
793CVE_STATUS[CVE-2014-9710] = "fixed-version: Fixed from version 3.19rc1"
794
795CVE_STATUS[CVE-2014-9715] = "fixed-version: Fixed from version 3.15rc1"
796
797CVE_STATUS[CVE-2014-9717] = "fixed-version: Fixed from version 4.1rc1"
798
799CVE_STATUS[CVE-2014-9728] = "fixed-version: Fixed from version 3.19rc3"
800
801CVE_STATUS[CVE-2014-9729] = "fixed-version: Fixed from version 3.19rc3"
802
803CVE_STATUS[CVE-2014-9730] = "fixed-version: Fixed from version 3.19rc3"
804
805CVE_STATUS[CVE-2014-9731] = "fixed-version: Fixed from version 3.19rc3"
806
807# Skipping CVE-2014-9777, no affected_versions
808
809# Skipping CVE-2014-9778, no affected_versions
810
811# Skipping CVE-2014-9779, no affected_versions
812
813# Skipping CVE-2014-9780, no affected_versions
814
815# Skipping CVE-2014-9781, no affected_versions
816
817# Skipping CVE-2014-9782, no affected_versions
818
819# Skipping CVE-2014-9783, no affected_versions
820
821# Skipping CVE-2014-9784, no affected_versions
822
823# Skipping CVE-2014-9785, no affected_versions
824
825# Skipping CVE-2014-9786, no affected_versions
826
827# Skipping CVE-2014-9787, no affected_versions
828
829# Skipping CVE-2014-9788, no affected_versions
830
831# Skipping CVE-2014-9789, no affected_versions
832
833CVE_STATUS[CVE-2014-9803] = "fixed-version: Fixed from version 3.16rc1"
834
835# Skipping CVE-2014-9863, no affected_versions
836
837# Skipping CVE-2014-9864, no affected_versions
838
839# Skipping CVE-2014-9865, no affected_versions
840
841# Skipping CVE-2014-9866, no affected_versions
842
843# Skipping CVE-2014-9867, no affected_versions
844
845# Skipping CVE-2014-9868, no affected_versions
846
847# Skipping CVE-2014-9869, no affected_versions
848
849CVE_STATUS[CVE-2014-9870] = "fixed-version: Fixed from version 3.11rc1"
850
851# Skipping CVE-2014-9871, no affected_versions
852
853# Skipping CVE-2014-9872, no affected_versions
854
855# Skipping CVE-2014-9873, no affected_versions
856
857# Skipping CVE-2014-9874, no affected_versions
858
859# Skipping CVE-2014-9875, no affected_versions
860
861# Skipping CVE-2014-9876, no affected_versions
862
863# Skipping CVE-2014-9877, no affected_versions
864
865# Skipping CVE-2014-9878, no affected_versions
866
867# Skipping CVE-2014-9879, no affected_versions
868
869# Skipping CVE-2014-9880, no affected_versions
870
871# Skipping CVE-2014-9881, no affected_versions
872
873# Skipping CVE-2014-9882, no affected_versions
874
875# Skipping CVE-2014-9883, no affected_versions
876
877# Skipping CVE-2014-9884, no affected_versions
878
879# Skipping CVE-2014-9885, no affected_versions
880
881# Skipping CVE-2014-9886, no affected_versions
882
883# Skipping CVE-2014-9887, no affected_versions
884
885CVE_STATUS[CVE-2014-9888] = "fixed-version: Fixed from version 3.13rc1"
886
887# Skipping CVE-2014-9889, no affected_versions
888
889# Skipping CVE-2014-9890, no affected_versions
890
891# Skipping CVE-2014-9891, no affected_versions
892
893# Skipping CVE-2014-9892, no affected_versions
894
895# Skipping CVE-2014-9893, no affected_versions
896
897# Skipping CVE-2014-9894, no affected_versions
898
899CVE_STATUS[CVE-2014-9895] = "fixed-version: Fixed from version 3.11rc1"
900
901# Skipping CVE-2014-9896, no affected_versions
902
903# Skipping CVE-2014-9897, no affected_versions
904
905# Skipping CVE-2014-9898, no affected_versions
906
907# Skipping CVE-2014-9899, no affected_versions
908
909# Skipping CVE-2014-9900, no affected_versions
910
911CVE_STATUS[CVE-2014-9903] = "fixed-version: Fixed from version 3.14rc4"
912
913CVE_STATUS[CVE-2014-9904] = "fixed-version: Fixed from version 3.17rc1"
914
915CVE_STATUS[CVE-2014-9914] = "fixed-version: Fixed from version 3.16rc1"
916
917CVE_STATUS[CVE-2014-9922] = "fixed-version: Fixed from version 3.18rc2"
918
919CVE_STATUS[CVE-2014-9940] = "fixed-version: Fixed from version 3.19rc1"
920
921CVE_STATUS[CVE-2015-0239] = "fixed-version: Fixed from version 3.19rc6"
922
923CVE_STATUS[CVE-2015-0274] = "fixed-version: Fixed from version 3.15rc5"
924
925CVE_STATUS[CVE-2015-0275] = "fixed-version: Fixed from version 4.1rc1"
926
927# Skipping CVE-2015-0777, no affected_versions
928
929# Skipping CVE-2015-1328, no affected_versions
930
931CVE_STATUS[CVE-2015-1333] = "fixed-version: Fixed from version 4.2rc5"
932
933CVE_STATUS[CVE-2015-1339] = "fixed-version: Fixed from version 4.4rc5"
934
935CVE_STATUS[CVE-2015-1350] = "fixed-version: Fixed from version 4.9rc1"
936
937CVE_STATUS[CVE-2015-1420] = "fixed-version: Fixed from version 4.1rc7"
938
939CVE_STATUS[CVE-2015-1421] = "fixed-version: Fixed from version 3.19rc7"
940
941CVE_STATUS[CVE-2015-1465] = "fixed-version: Fixed from version 3.19rc7"
942
943CVE_STATUS[CVE-2015-1573] = "fixed-version: Fixed from version 3.19rc5"
944
945CVE_STATUS[CVE-2015-1593] = "fixed-version: Fixed from version 4.0rc1"
946
947CVE_STATUS[CVE-2015-1805] = "fixed-version: Fixed from version 3.16rc1"
948
949CVE_STATUS[CVE-2015-2041] = "fixed-version: Fixed from version 3.19rc7"
950
951CVE_STATUS[CVE-2015-2042] = "fixed-version: Fixed from version 3.19"
952
953CVE_STATUS[CVE-2015-2150] = "fixed-version: Fixed from version 4.0rc4"
954
955CVE_STATUS[CVE-2015-2666] = "fixed-version: Fixed from version 4.0rc1"
956
957CVE_STATUS[CVE-2015-2672] = "fixed-version: Fixed from version 4.0rc3"
958
959CVE_STATUS[CVE-2015-2686] = "fixed-version: Fixed from version 4.0rc6"
960
961CVE_STATUS[CVE-2015-2830] = "fixed-version: Fixed from version 4.0rc3"
962
963# CVE-2015-2877 has no known resolution
964
965CVE_STATUS[CVE-2015-2922] = "fixed-version: Fixed from version 4.0rc7"
966
967CVE_STATUS[CVE-2015-2925] = "fixed-version: Fixed from version 4.3rc1"
968
969CVE_STATUS[CVE-2015-3212] = "fixed-version: Fixed from version 4.2rc1"
970
971CVE_STATUS[CVE-2015-3214] = "fixed-version: Fixed from version 2.6.33rc8"
972
973CVE_STATUS[CVE-2015-3288] = "fixed-version: Fixed from version 4.2rc2"
974
975CVE_STATUS[CVE-2015-3290] = "fixed-version: Fixed from version 4.2rc3"
976
977CVE_STATUS[CVE-2015-3291] = "fixed-version: Fixed from version 4.2rc3"
978
979CVE_STATUS[CVE-2015-3331] = "fixed-version: Fixed from version 4.0rc5"
980
981# Skipping CVE-2015-3332, no affected_versions
982
983CVE_STATUS[CVE-2015-3339] = "fixed-version: Fixed from version 4.1rc1"
984
985CVE_STATUS[CVE-2015-3636] = "fixed-version: Fixed from version 4.1rc2"
986
987CVE_STATUS[CVE-2015-4001] = "fixed-version: Fixed from version 4.1rc7"
988
989CVE_STATUS[CVE-2015-4002] = "fixed-version: Fixed from version 4.1rc7"
990
991CVE_STATUS[CVE-2015-4003] = "fixed-version: Fixed from version 4.1rc7"
992
993CVE_STATUS[CVE-2015-4004] = "fixed-version: Fixed from version 4.3rc1"
994
995CVE_STATUS[CVE-2015-4036] = "fixed-version: Fixed from version 4.0rc1"
996
997CVE_STATUS[CVE-2015-4167] = "fixed-version: Fixed from version 4.0rc1"
998
999CVE_STATUS[CVE-2015-4170] = "fixed-version: Fixed from version 3.13rc5"
1000
1001CVE_STATUS[CVE-2015-4176] = "fixed-version: Fixed from version 4.1rc1"
1002
1003CVE_STATUS[CVE-2015-4177] = "fixed-version: Fixed from version 4.1rc1"
1004
1005CVE_STATUS[CVE-2015-4178] = "fixed-version: Fixed from version 4.1rc1"
1006
1007CVE_STATUS[CVE-2015-4692] = "fixed-version: Fixed from version 4.2rc1"
1008
1009CVE_STATUS[CVE-2015-4700] = "fixed-version: Fixed from version 4.1rc6"
1010
1011CVE_STATUS[CVE-2015-5156] = "fixed-version: Fixed from version 4.2rc7"
1012
1013CVE_STATUS[CVE-2015-5157] = "fixed-version: Fixed from version 4.2rc3"
1014
1015CVE_STATUS[CVE-2015-5257] = "fixed-version: Fixed from version 4.3rc3"
1016
1017CVE_STATUS[CVE-2015-5283] = "fixed-version: Fixed from version 4.3rc3"
1018
1019CVE_STATUS[CVE-2015-5307] = "fixed-version: Fixed from version 4.4rc1"
1020
1021CVE_STATUS[CVE-2015-5327] = "fixed-version: Fixed from version 4.4rc1"
1022
1023CVE_STATUS[CVE-2015-5364] = "fixed-version: Fixed from version 4.1rc7"
1024
1025CVE_STATUS[CVE-2015-5366] = "fixed-version: Fixed from version 4.1rc7"
1026
1027CVE_STATUS[CVE-2015-5697] = "fixed-version: Fixed from version 4.2rc6"
1028
1029CVE_STATUS[CVE-2015-5706] = "fixed-version: Fixed from version 4.1rc3"
1030
1031CVE_STATUS[CVE-2015-5707] = "fixed-version: Fixed from version 4.1rc1"
1032
1033CVE_STATUS[CVE-2015-6252] = "fixed-version: Fixed from version 4.2rc5"
1034
1035CVE_STATUS[CVE-2015-6526] = "fixed-version: Fixed from version 4.1rc1"
1036
1037# CVE-2015-6619 has no known resolution
1038
1039# CVE-2015-6646 has no known resolution
1040
1041CVE_STATUS[CVE-2015-6937] = "fixed-version: Fixed from version 4.3rc1"
1042
1043# Skipping CVE-2015-7312, no affected_versions
1044
1045CVE_STATUS[CVE-2015-7509] = "fixed-version: Fixed from version 3.7rc1"
1046
1047CVE_STATUS[CVE-2015-7513] = "fixed-version: Fixed from version 4.4rc7"
1048
1049CVE_STATUS[CVE-2015-7515] = "fixed-version: Fixed from version 4.4rc6"
1050
1051CVE_STATUS[CVE-2015-7550] = "fixed-version: Fixed from version 4.4rc8"
1052
1053# Skipping CVE-2015-7553, no affected_versions
1054
1055CVE_STATUS[CVE-2015-7566] = "fixed-version: Fixed from version 4.5rc2"
1056
1057CVE_STATUS[CVE-2015-7613] = "fixed-version: Fixed from version 4.3rc4"
1058
1059CVE_STATUS[CVE-2015-7799] = "fixed-version: Fixed from version 4.4rc1"
1060
1061CVE_STATUS[CVE-2015-7833] = "fixed-version: Fixed from version 4.6rc6"
1062
1063# Skipping CVE-2015-7837, no affected_versions
1064
1065CVE_STATUS[CVE-2015-7872] = "fixed-version: Fixed from version 4.3rc7"
1066
1067CVE_STATUS[CVE-2015-7884] = "fixed-version: Fixed from version 4.4rc1"
1068
1069CVE_STATUS[CVE-2015-7885] = "fixed-version: Fixed from version 4.4rc1"
1070
1071CVE_STATUS[CVE-2015-7990] = "fixed-version: Fixed from version 4.4rc4"
1072
1073# Skipping CVE-2015-8019, no affected_versions
1074
1075CVE_STATUS[CVE-2015-8104] = "fixed-version: Fixed from version 4.4rc1"
1076
1077CVE_STATUS[CVE-2015-8215] = "fixed-version: Fixed from version 4.0rc3"
1078
1079CVE_STATUS[CVE-2015-8324] = "fixed-version: Fixed from version 2.6.34rc1"
1080
1081CVE_STATUS[CVE-2015-8374] = "fixed-version: Fixed from version 4.4rc1"
1082
1083CVE_STATUS[CVE-2015-8539] = "fixed-version: Fixed from version 4.4rc3"
1084
1085CVE_STATUS[CVE-2015-8543] = "fixed-version: Fixed from version 4.4rc6"
1086
1087CVE_STATUS[CVE-2015-8550] = "fixed-version: Fixed from version 4.4rc6"
1088
1089CVE_STATUS[CVE-2015-8551] = "fixed-version: Fixed from version 4.4rc6"
1090
1091CVE_STATUS[CVE-2015-8552] = "fixed-version: Fixed from version 4.4rc6"
1092
1093CVE_STATUS[CVE-2015-8553] = "fixed-version: Fixed from version 4.4rc6"
1094
1095CVE_STATUS[CVE-2015-8569] = "fixed-version: Fixed from version 4.4rc6"
1096
1097CVE_STATUS[CVE-2015-8575] = "fixed-version: Fixed from version 4.4rc6"
1098
1099CVE_STATUS[CVE-2015-8660] = "fixed-version: Fixed from version 4.4rc4"
1100
1101CVE_STATUS[CVE-2015-8709] = "fixed-version: Fixed from version 4.10rc1"
1102
1103CVE_STATUS[CVE-2015-8746] = "fixed-version: Fixed from version 4.3rc1"
1104
1105CVE_STATUS[CVE-2015-8767] = "fixed-version: Fixed from version 4.3rc4"
1106
1107CVE_STATUS[CVE-2015-8785] = "fixed-version: Fixed from version 4.4rc5"
1108
1109CVE_STATUS[CVE-2015-8787] = "fixed-version: Fixed from version 4.4rc1"
1110
1111CVE_STATUS[CVE-2015-8812] = "fixed-version: Fixed from version 4.5rc1"
1112
1113CVE_STATUS[CVE-2015-8816] = "fixed-version: Fixed from version 4.4rc6"
1114
1115CVE_STATUS[CVE-2015-8830] = "fixed-version: Fixed from version 4.1rc1"
1116
1117CVE_STATUS[CVE-2015-8839] = "fixed-version: Fixed from version 4.5rc1"
1118
1119CVE_STATUS[CVE-2015-8844] = "fixed-version: Fixed from version 4.4rc3"
1120
1121CVE_STATUS[CVE-2015-8845] = "fixed-version: Fixed from version 4.4rc3"
1122
1123# Skipping CVE-2015-8937, no affected_versions
1124
1125# Skipping CVE-2015-8938, no affected_versions
1126
1127# Skipping CVE-2015-8939, no affected_versions
1128
1129# Skipping CVE-2015-8940, no affected_versions
1130
1131# Skipping CVE-2015-8941, no affected_versions
1132
1133# Skipping CVE-2015-8942, no affected_versions
1134
1135# Skipping CVE-2015-8943, no affected_versions
1136
1137# Skipping CVE-2015-8944, no affected_versions
1138
1139CVE_STATUS[CVE-2015-8950] = "fixed-version: Fixed from version 4.1rc2"
1140
1141CVE_STATUS[CVE-2015-8952] = "fixed-version: Fixed from version 4.6rc1"
1142
1143CVE_STATUS[CVE-2015-8953] = "fixed-version: Fixed from version 4.3"
1144
1145CVE_STATUS[CVE-2015-8955] = "fixed-version: Fixed from version 4.1rc1"
1146
1147CVE_STATUS[CVE-2015-8956] = "fixed-version: Fixed from version 4.2rc1"
1148
1149CVE_STATUS[CVE-2015-8961] = "fixed-version: Fixed from version 4.4rc1"
1150
1151CVE_STATUS[CVE-2015-8962] = "fixed-version: Fixed from version 4.4rc1"
1152
1153CVE_STATUS[CVE-2015-8963] = "fixed-version: Fixed from version 4.4"
1154
1155CVE_STATUS[CVE-2015-8964] = "fixed-version: Fixed from version 4.5rc1"
1156
1157CVE_STATUS[CVE-2015-8966] = "fixed-version: Fixed from version 4.4rc8"
1158
1159CVE_STATUS[CVE-2015-8967] = "fixed-version: Fixed from version 4.0rc1"
1160
1161CVE_STATUS[CVE-2015-8970] = "fixed-version: Fixed from version 4.5rc1"
1162
1163CVE_STATUS[CVE-2015-9004] = "fixed-version: Fixed from version 3.19rc7"
1164
1165CVE_STATUS[CVE-2015-9016] = "fixed-version: Fixed from version 4.3rc1"
1166
1167CVE_STATUS[CVE-2015-9289] = "fixed-version: Fixed from version 4.2rc1"
1168
1169CVE_STATUS[CVE-2016-0617] = "fixed-version: Fixed from version 4.5rc1"
1170
1171CVE_STATUS[CVE-2016-0723] = "fixed-version: Fixed from version 4.5rc2"
1172
1173CVE_STATUS[CVE-2016-0728] = "fixed-version: Fixed from version 4.5rc1"
1174
1175CVE_STATUS[CVE-2016-0758] = "fixed-version: Fixed from version 4.6"
1176
1177# Skipping CVE-2016-0774, no affected_versions
1178
1179CVE_STATUS[CVE-2016-0821] = "fixed-version: Fixed from version 4.3rc1"
1180
1181CVE_STATUS[CVE-2016-0823] = "fixed-version: Fixed from version 4.0rc5"
1182
1183CVE_STATUS[CVE-2016-10044] = "fixed-version: Fixed from version 4.8rc7"
1184
1185CVE_STATUS[CVE-2016-10088] = "fixed-version: Fixed from version 4.10rc1"
1186
1187CVE_STATUS[CVE-2016-10147] = "fixed-version: Fixed from version 4.9"
1188
1189CVE_STATUS[CVE-2016-10150] = "fixed-version: Fixed from version 4.9rc8"
1190
1191CVE_STATUS[CVE-2016-10153] = "fixed-version: Fixed from version 4.10rc1"
1192
1193CVE_STATUS[CVE-2016-10154] = "fixed-version: Fixed from version 4.10rc1"
1194
1195CVE_STATUS[CVE-2016-10200] = "fixed-version: Fixed from version 4.9rc7"
1196
1197CVE_STATUS[CVE-2016-10208] = "fixed-version: Fixed from version 4.10rc1"
1198
1199CVE_STATUS[CVE-2016-10229] = "fixed-version: Fixed from version 4.5rc1"
1200
1201CVE_STATUS[CVE-2016-10318] = "fixed-version: Fixed from version 4.8rc6"
1202
1203CVE_STATUS[CVE-2016-10723] = "fixed-version: Fixed from version 4.19rc1"
1204
1205CVE_STATUS[CVE-2016-10741] = "fixed-version: Fixed from version 4.10rc1"
1206
1207CVE_STATUS[CVE-2016-10764] = "fixed-version: Fixed from version 4.10rc1"
1208
1209CVE_STATUS[CVE-2016-10905] = "fixed-version: Fixed from version 4.8rc1"
1210
1211CVE_STATUS[CVE-2016-10906] = "fixed-version: Fixed from version 4.5rc6"
1212
1213CVE_STATUS[CVE-2016-10907] = "fixed-version: Fixed from version 4.9rc1"
1214
1215CVE_STATUS[CVE-2016-1237] = "fixed-version: Fixed from version 4.7rc5"
1216
1217CVE_STATUS[CVE-2016-1575] = "fixed-version: Fixed from version 4.5rc1"
1218
1219CVE_STATUS[CVE-2016-1576] = "fixed-version: Fixed from version 4.5rc1"
1220
1221CVE_STATUS[CVE-2016-1583] = "fixed-version: Fixed from version 4.7rc3"
1222
1223CVE_STATUS[CVE-2016-2053] = "fixed-version: Fixed from version 4.3rc1"
1224
1225CVE_STATUS[CVE-2016-2069] = "fixed-version: Fixed from version 4.5rc1"
1226
1227CVE_STATUS[CVE-2016-2070] = "fixed-version: Fixed from version 4.4"
1228
1229CVE_STATUS[CVE-2016-2085] = "fixed-version: Fixed from version 4.5rc4"
1230
1231CVE_STATUS[CVE-2016-2117] = "fixed-version: Fixed from version 4.6rc5"
1232
1233CVE_STATUS[CVE-2016-2143] = "fixed-version: Fixed from version 4.5"
1234
1235CVE_STATUS[CVE-2016-2184] = "fixed-version: Fixed from version 4.6rc1"
1236
1237CVE_STATUS[CVE-2016-2185] = "fixed-version: Fixed from version 4.6rc1"
1238
1239CVE_STATUS[CVE-2016-2186] = "fixed-version: Fixed from version 4.6rc1"
1240
1241CVE_STATUS[CVE-2016-2187] = "fixed-version: Fixed from version 4.6rc5"
1242
1243CVE_STATUS[CVE-2016-2188] = "fixed-version: Fixed from version 4.11rc2"
1244
1245CVE_STATUS[CVE-2016-2383] = "fixed-version: Fixed from version 4.5rc4"
1246
1247CVE_STATUS[CVE-2016-2384] = "fixed-version: Fixed from version 4.5rc4"
1248
1249CVE_STATUS[CVE-2016-2543] = "fixed-version: Fixed from version 4.5rc1"
1250
1251CVE_STATUS[CVE-2016-2544] = "fixed-version: Fixed from version 4.5rc1"
1252
1253CVE_STATUS[CVE-2016-2545] = "fixed-version: Fixed from version 4.5rc1"
1254
1255CVE_STATUS[CVE-2016-2546] = "fixed-version: Fixed from version 4.5rc1"
1256
1257CVE_STATUS[CVE-2016-2547] = "fixed-version: Fixed from version 4.5rc1"
1258
1259CVE_STATUS[CVE-2016-2548] = "fixed-version: Fixed from version 4.5rc1"
1260
1261CVE_STATUS[CVE-2016-2549] = "fixed-version: Fixed from version 4.5rc1"
1262
1263CVE_STATUS[CVE-2016-2550] = "fixed-version: Fixed from version 4.5rc4"
1264
1265CVE_STATUS[CVE-2016-2782] = "fixed-version: Fixed from version 4.5rc2"
1266
1267CVE_STATUS[CVE-2016-2847] = "fixed-version: Fixed from version 4.5rc1"
1268
1269# Skipping CVE-2016-2853, no affected_versions
1270
1271# Skipping CVE-2016-2854, no affected_versions
1272
1273CVE_STATUS[CVE-2016-3044] = "fixed-version: Fixed from version 4.5"
1274
1275CVE_STATUS[CVE-2016-3070] = "fixed-version: Fixed from version 4.4rc1"
1276
1277CVE_STATUS[CVE-2016-3134] = "fixed-version: Fixed from version 4.6rc2"
1278
1279CVE_STATUS[CVE-2016-3135] = "fixed-version: Fixed from version 4.6rc1"
1280
1281CVE_STATUS[CVE-2016-3136] = "fixed-version: Fixed from version 4.6rc3"
1282
1283CVE_STATUS[CVE-2016-3137] = "fixed-version: Fixed from version 4.6rc3"
1284
1285CVE_STATUS[CVE-2016-3138] = "fixed-version: Fixed from version 4.6rc1"
1286
1287CVE_STATUS[CVE-2016-3139] = "fixed-version: Fixed from version 3.17rc1"
1288
1289CVE_STATUS[CVE-2016-3140] = "fixed-version: Fixed from version 4.6rc3"
1290
1291CVE_STATUS[CVE-2016-3156] = "fixed-version: Fixed from version 4.6rc1"
1292
1293CVE_STATUS[CVE-2016-3157] = "fixed-version: Fixed from version 4.6rc1"
1294
1295CVE_STATUS[CVE-2016-3672] = "fixed-version: Fixed from version 4.6rc1"
1296
1297CVE_STATUS[CVE-2016-3689] = "fixed-version: Fixed from version 4.6rc1"
1298
1299# Skipping CVE-2016-3695, no affected_versions
1300
1301# Skipping CVE-2016-3699, no affected_versions
1302
1303# Skipping CVE-2016-3707, no affected_versions
1304
1305CVE_STATUS[CVE-2016-3713] = "fixed-version: Fixed from version 4.7rc1"
1306
1307# CVE-2016-3775 has no known resolution
1308
1309# CVE-2016-3802 has no known resolution
1310
1311# CVE-2016-3803 has no known resolution
1312
1313CVE_STATUS[CVE-2016-3841] = "fixed-version: Fixed from version 4.4rc4"
1314
1315CVE_STATUS[CVE-2016-3857] = "fixed-version: Fixed from version 4.8rc2"
1316
1317CVE_STATUS[CVE-2016-3951] = "fixed-version: Fixed from version 4.5"
1318
1319CVE_STATUS[CVE-2016-3955] = "fixed-version: Fixed from version 4.6rc3"
1320
1321CVE_STATUS[CVE-2016-3961] = "fixed-version: Fixed from version 4.6rc5"
1322
1323CVE_STATUS[CVE-2016-4440] = "fixed-version: Fixed from version 4.7rc1"
1324
1325CVE_STATUS[CVE-2016-4470] = "fixed-version: Fixed from version 4.7rc4"
1326
1327CVE_STATUS[CVE-2016-4482] = "fixed-version: Fixed from version 4.7rc1"
1328
1329CVE_STATUS[CVE-2016-4485] = "fixed-version: Fixed from version 4.6"
1330
1331CVE_STATUS[CVE-2016-4486] = "fixed-version: Fixed from version 4.6"
1332
1333CVE_STATUS[CVE-2016-4557] = "fixed-version: Fixed from version 4.6rc6"
1334
1335CVE_STATUS[CVE-2016-4558] = "fixed-version: Fixed from version 4.6rc7"
1336
1337CVE_STATUS[CVE-2016-4565] = "fixed-version: Fixed from version 4.6rc6"
1338
1339CVE_STATUS[CVE-2016-4568] = "fixed-version: Fixed from version 4.6rc6"
1340
1341CVE_STATUS[CVE-2016-4569] = "fixed-version: Fixed from version 4.7rc1"
1342
1343CVE_STATUS[CVE-2016-4578] = "fixed-version: Fixed from version 4.7rc1"
1344
1345CVE_STATUS[CVE-2016-4580] = "fixed-version: Fixed from version 4.6"
1346
1347CVE_STATUS[CVE-2016-4581] = "fixed-version: Fixed from version 4.6rc7"
1348
1349CVE_STATUS[CVE-2016-4794] = "fixed-version: Fixed from version 4.7rc4"
1350
1351CVE_STATUS[CVE-2016-4805] = "fixed-version: Fixed from version 4.6rc1"
1352
1353CVE_STATUS[CVE-2016-4913] = "fixed-version: Fixed from version 4.6"
1354
1355CVE_STATUS[CVE-2016-4951] = "fixed-version: Fixed from version 4.7rc1"
1356
1357CVE_STATUS[CVE-2016-4997] = "fixed-version: Fixed from version 4.7rc1"
1358
1359CVE_STATUS[CVE-2016-4998] = "fixed-version: Fixed from version 4.7rc1"
1360
1361CVE_STATUS[CVE-2016-5195] = "fixed-version: Fixed from version 4.9rc2"
1362
1363CVE_STATUS[CVE-2016-5243] = "fixed-version: Fixed from version 4.7rc3"
1364
1365CVE_STATUS[CVE-2016-5244] = "fixed-version: Fixed from version 4.7rc3"
1366
1367# Skipping CVE-2016-5340, no affected_versions
1368
1369# Skipping CVE-2016-5342, no affected_versions
1370
1371# Skipping CVE-2016-5343, no affected_versions
1372
1373# Skipping CVE-2016-5344, no affected_versions
1374
1375CVE_STATUS[CVE-2016-5400] = "fixed-version: Fixed from version 4.7"
1376
1377CVE_STATUS[CVE-2016-5412] = "fixed-version: Fixed from version 4.8rc1"
1378
1379CVE_STATUS[CVE-2016-5696] = "fixed-version: Fixed from version 4.7"
1380
1381CVE_STATUS[CVE-2016-5728] = "fixed-version: Fixed from version 4.7rc1"
1382
1383CVE_STATUS[CVE-2016-5828] = "fixed-version: Fixed from version 4.7rc6"
1384
1385CVE_STATUS[CVE-2016-5829] = "fixed-version: Fixed from version 4.7rc5"
1386
1387# CVE-2016-5870 has no known resolution
1388
1389CVE_STATUS[CVE-2016-6130] = "fixed-version: Fixed from version 4.6rc6"
1390
1391CVE_STATUS[CVE-2016-6136] = "fixed-version: Fixed from version 4.8rc1"
1392
1393CVE_STATUS[CVE-2016-6156] = "fixed-version: Fixed from version 4.7rc7"
1394
1395CVE_STATUS[CVE-2016-6162] = "fixed-version: Fixed from version 4.7"
1396
1397CVE_STATUS[CVE-2016-6187] = "fixed-version: Fixed from version 4.7rc7"
1398
1399CVE_STATUS[CVE-2016-6197] = "fixed-version: Fixed from version 4.6rc1"
1400
1401CVE_STATUS[CVE-2016-6198] = "fixed-version: Fixed from version 4.6"
1402
1403CVE_STATUS[CVE-2016-6213] = "fixed-version: Fixed from version 4.9rc1"
1404
1405CVE_STATUS[CVE-2016-6327] = "fixed-version: Fixed from version 4.6rc1"
1406
1407CVE_STATUS[CVE-2016-6480] = "fixed-version: Fixed from version 4.8rc3"
1408
1409CVE_STATUS[CVE-2016-6516] = "fixed-version: Fixed from version 4.8rc1"
1410
1411# Skipping CVE-2016-6753, no affected_versions
1412
1413CVE_STATUS[CVE-2016-6786] = "fixed-version: Fixed from version 4.0rc1"
1414
1415CVE_STATUS[CVE-2016-6787] = "fixed-version: Fixed from version 4.0rc1"
1416
1417CVE_STATUS[CVE-2016-6828] = "fixed-version: Fixed from version 4.8rc5"
1418
1419CVE_STATUS[CVE-2016-7039] = "fixed-version: Fixed from version 4.9rc4"
1420
1421CVE_STATUS[CVE-2016-7042] = "fixed-version: Fixed from version 4.9rc3"
1422
1423CVE_STATUS[CVE-2016-7097] = "fixed-version: Fixed from version 4.9rc1"
1424
1425CVE_STATUS[CVE-2016-7117] = "fixed-version: Fixed from version 4.6rc1"
1426
1427# Skipping CVE-2016-7118, no affected_versions
1428
1429CVE_STATUS[CVE-2016-7425] = "fixed-version: Fixed from version 4.9rc1"
1430
1431CVE_STATUS[CVE-2016-7910] = "fixed-version: Fixed from version 4.8rc1"
1432
1433CVE_STATUS[CVE-2016-7911] = "fixed-version: Fixed from version 4.7rc7"
1434
1435CVE_STATUS[CVE-2016-7912] = "fixed-version: Fixed from version 4.6rc5"
1436
1437CVE_STATUS[CVE-2016-7913] = "fixed-version: Fixed from version 4.6rc1"
1438
1439CVE_STATUS[CVE-2016-7914] = "fixed-version: Fixed from version 4.6rc4"
1440
1441CVE_STATUS[CVE-2016-7915] = "fixed-version: Fixed from version 4.6rc1"
1442
1443CVE_STATUS[CVE-2016-7916] = "fixed-version: Fixed from version 4.6rc7"
1444
1445CVE_STATUS[CVE-2016-7917] = "fixed-version: Fixed from version 4.5rc6"
1446
1447CVE_STATUS[CVE-2016-8399] = "fixed-version: Fixed from version 4.9"
1448
1449# Skipping CVE-2016-8401, no affected_versions
1450
1451# Skipping CVE-2016-8402, no affected_versions
1452
1453# Skipping CVE-2016-8403, no affected_versions
1454
1455# Skipping CVE-2016-8404, no affected_versions
1456
1457CVE_STATUS[CVE-2016-8405] = "fixed-version: Fixed from version 4.10rc6"
1458
1459# Skipping CVE-2016-8406, no affected_versions
1460
1461# Skipping CVE-2016-8407, no affected_versions
1462
1463CVE_STATUS[CVE-2016-8630] = "fixed-version: Fixed from version 4.9rc4"
1464
1465CVE_STATUS[CVE-2016-8632] = "fixed-version: Fixed from version 4.9rc8"
1466
1467CVE_STATUS[CVE-2016-8633] = "fixed-version: Fixed from version 4.9rc4"
1468
1469CVE_STATUS[CVE-2016-8636] = "fixed-version: Fixed from version 4.10rc8"
1470
1471CVE_STATUS[CVE-2016-8645] = "fixed-version: Fixed from version 4.9rc6"
1472
1473CVE_STATUS[CVE-2016-8646] = "fixed-version: Fixed from version 4.4rc1"
1474
1475CVE_STATUS[CVE-2016-8650] = "fixed-version: Fixed from version 4.9rc7"
1476
1477CVE_STATUS[CVE-2016-8655] = "fixed-version: Fixed from version 4.9rc8"
1478
1479CVE_STATUS[CVE-2016-8658] = "fixed-version: Fixed from version 4.8rc7"
1480
1481# CVE-2016-8660 has no known resolution
1482
1483CVE_STATUS[CVE-2016-8666] = "fixed-version: Fixed from version 4.6rc1"
1484
1485CVE_STATUS[CVE-2016-9083] = "fixed-version: Fixed from version 4.9rc4"
1486
1487CVE_STATUS[CVE-2016-9084] = "fixed-version: Fixed from version 4.9rc4"
1488
1489CVE_STATUS[CVE-2016-9120] = "fixed-version: Fixed from version 4.6rc1"
1490
1491CVE_STATUS[CVE-2016-9178] = "fixed-version: Fixed from version 4.8rc7"
1492
1493CVE_STATUS[CVE-2016-9191] = "fixed-version: Fixed from version 4.10rc4"
1494
1495CVE_STATUS[CVE-2016-9313] = "fixed-version: Fixed from version 4.9rc3"
1496
1497CVE_STATUS[CVE-2016-9555] = "fixed-version: Fixed from version 4.9rc4"
1498
1499CVE_STATUS[CVE-2016-9576] = "fixed-version: Fixed from version 4.9"
1500
1501CVE_STATUS[CVE-2016-9588] = "fixed-version: Fixed from version 4.10rc1"
1502
1503CVE_STATUS[CVE-2016-9604] = "fixed-version: Fixed from version 4.11rc8"
1504
1505# Skipping CVE-2016-9644, no affected_versions
1506
1507CVE_STATUS[CVE-2016-9685] = "fixed-version: Fixed from version 4.6rc1"
1508
1509CVE_STATUS[CVE-2016-9754] = "fixed-version: Fixed from version 4.7rc1"
1510
1511CVE_STATUS[CVE-2016-9755] = "fixed-version: Fixed from version 4.9rc8"
1512
1513CVE_STATUS[CVE-2016-9756] = "fixed-version: Fixed from version 4.9rc7"
1514
1515CVE_STATUS[CVE-2016-9777] = "fixed-version: Fixed from version 4.9rc7"
1516
1517CVE_STATUS[CVE-2016-9793] = "fixed-version: Fixed from version 4.9rc8"
1518
1519CVE_STATUS[CVE-2016-9794] = "fixed-version: Fixed from version 4.7rc1"
1520
1521CVE_STATUS[CVE-2016-9806] = "fixed-version: Fixed from version 4.7rc1"
1522
1523CVE_STATUS[CVE-2016-9919] = "fixed-version: Fixed from version 4.9rc8"
1524
1525# Skipping CVE-2017-0403, no affected_versions
1526
1527# Skipping CVE-2017-0404, no affected_versions
1528
1529# Skipping CVE-2017-0426, no affected_versions
1530
1531# Skipping CVE-2017-0427, no affected_versions
1532
1533# CVE-2017-0507 has no known resolution
1534
1535# CVE-2017-0508 has no known resolution
1536
1537# Skipping CVE-2017-0510, no affected_versions
1538
1539# Skipping CVE-2017-0528, no affected_versions
1540
1541# Skipping CVE-2017-0537, no affected_versions
1542
1543# CVE-2017-0564 has no known resolution
1544
1545CVE_STATUS[CVE-2017-0605] = "fixed-version: Fixed from version 4.12rc1"
1546
1547CVE_STATUS[CVE-2017-0627] = "fixed-version: Fixed from version 4.14rc1"
1548
1549# CVE-2017-0630 has no known resolution
1550
1551# CVE-2017-0749 has no known resolution
1552
1553CVE_STATUS[CVE-2017-0750] = "fixed-version: Fixed from version 4.5rc1"
1554
1555CVE_STATUS[CVE-2017-0786] = "fixed-version: Fixed from version 4.14rc4"
1556
1557CVE_STATUS[CVE-2017-0861] = "fixed-version: Fixed from version 4.15rc3"
1558
1559CVE_STATUS[CVE-2017-1000] = "fixed-version: Fixed from version 4.13rc5"
1560
1561CVE_STATUS[CVE-2017-1000111] = "fixed-version: Fixed from version 4.13rc5"
1562
1563CVE_STATUS[CVE-2017-1000112] = "fixed-version: Fixed from version 4.13rc5"
1564
1565CVE_STATUS[CVE-2017-1000251] = "fixed-version: Fixed from version 4.14rc1"
1566
1567CVE_STATUS[CVE-2017-1000252] = "fixed-version: Fixed from version 4.14rc1"
1568
1569CVE_STATUS[CVE-2017-1000253] = "fixed-version: Fixed from version 4.1rc1"
1570
1571CVE_STATUS[CVE-2017-1000255] = "fixed-version: Fixed from version 4.14rc5"
1572
1573CVE_STATUS[CVE-2017-1000363] = "fixed-version: Fixed from version 4.12rc2"
1574
1575CVE_STATUS[CVE-2017-1000364] = "fixed-version: Fixed from version 4.12rc6"
1576
1577CVE_STATUS[CVE-2017-1000365] = "fixed-version: Fixed from version 4.12rc7"
1578
1579CVE_STATUS[CVE-2017-1000370] = "fixed-version: Fixed from version 4.13rc1"
1580
1581CVE_STATUS[CVE-2017-1000371] = "fixed-version: Fixed from version 4.13rc1"
1582
1583CVE_STATUS[CVE-2017-1000379] = "fixed-version: Fixed from version 4.12rc6"
1584
1585CVE_STATUS[CVE-2017-1000380] = "fixed-version: Fixed from version 4.12rc5"
1586
1587CVE_STATUS[CVE-2017-1000405] = "fixed-version: Fixed from version 4.15rc2"
1588
1589CVE_STATUS[CVE-2017-1000407] = "fixed-version: Fixed from version 4.15rc3"
1590
1591CVE_STATUS[CVE-2017-1000410] = "fixed-version: Fixed from version 4.15rc8"
1592
1593CVE_STATUS[CVE-2017-10661] = "fixed-version: Fixed from version 4.11rc1"
1594
1595CVE_STATUS[CVE-2017-10662] = "fixed-version: Fixed from version 4.12rc1"
1596
1597CVE_STATUS[CVE-2017-10663] = "fixed-version: Fixed from version 4.13rc1"
1598
1599CVE_STATUS[CVE-2017-10810] = "fixed-version: Fixed from version 4.12rc1"
1600
1601CVE_STATUS[CVE-2017-10911] = "fixed-version: Fixed from version 4.12rc7"
1602
1603CVE_STATUS[CVE-2017-11089] = "fixed-version: Fixed from version 4.13rc1"
1604
1605CVE_STATUS[CVE-2017-11176] = "fixed-version: Fixed from version 4.13rc1"
1606
1607CVE_STATUS[CVE-2017-11472] = "fixed-version: Fixed from version 4.12rc1"
1608
1609CVE_STATUS[CVE-2017-11473] = "fixed-version: Fixed from version 4.13rc2"
1610
1611CVE_STATUS[CVE-2017-11600] = "fixed-version: Fixed from version 4.13"
1612
1613CVE_STATUS[CVE-2017-12134] = "fixed-version: Fixed from version 4.13rc6"
1614
1615CVE_STATUS[CVE-2017-12146] = "fixed-version: Fixed from version 4.13rc1"
1616
1617CVE_STATUS[CVE-2017-12153] = "fixed-version: Fixed from version 4.14rc2"
1618
1619CVE_STATUS[CVE-2017-12154] = "fixed-version: Fixed from version 4.14rc1"
1620
1621CVE_STATUS[CVE-2017-12168] = "fixed-version: Fixed from version 4.9rc6"
1622
1623CVE_STATUS[CVE-2017-12188] = "fixed-version: Fixed from version 4.14rc5"
1624
1625CVE_STATUS[CVE-2017-12190] = "fixed-version: Fixed from version 4.14rc5"
1626
1627CVE_STATUS[CVE-2017-12192] = "fixed-version: Fixed from version 4.14rc3"
1628
1629CVE_STATUS[CVE-2017-12193] = "fixed-version: Fixed from version 4.14rc7"
1630
1631CVE_STATUS[CVE-2017-12762] = "fixed-version: Fixed from version 4.13rc4"
1632
1633CVE_STATUS[CVE-2017-13080] = "fixed-version: Fixed from version 4.14rc6"
1634
1635CVE_STATUS[CVE-2017-13166] = "fixed-version: Fixed from version 4.16rc1"
1636
1637CVE_STATUS[CVE-2017-13167] = "fixed-version: Fixed from version 4.5rc4"
1638
1639CVE_STATUS[CVE-2017-13168] = "fixed-version: Fixed from version 4.18rc4"
1640
1641CVE_STATUS[CVE-2017-13215] = "fixed-version: Fixed from version 4.5rc1"
1642
1643CVE_STATUS[CVE-2017-13216] = "fixed-version: Fixed from version 4.15rc8"
1644
1645CVE_STATUS[CVE-2017-13220] = "fixed-version: Fixed from version 3.19rc3"
1646
1647# CVE-2017-13221 has no known resolution
1648
1649# CVE-2017-13222 has no known resolution
1650
1651CVE_STATUS[CVE-2017-13305] = "fixed-version: Fixed from version 4.12rc5"
1652
1653CVE_STATUS[CVE-2017-13686] = "fixed-version: Fixed from version 4.13rc7"
1654
1655# CVE-2017-13693 has no known resolution
1656
1657# CVE-2017-13694 has no known resolution
1658
1659CVE_STATUS[CVE-2017-13695] = "fixed-version: Fixed from version 4.17rc1"
1660
1661CVE_STATUS[CVE-2017-13715] = "fixed-version: Fixed from version 4.3rc1"
1662
1663CVE_STATUS[CVE-2017-14051] = "fixed-version: Fixed from version 4.14rc1"
1664
1665CVE_STATUS[CVE-2017-14106] = "fixed-version: Fixed from version 4.12rc3"
1666
1667CVE_STATUS[CVE-2017-14140] = "fixed-version: Fixed from version 4.13rc6"
1668
1669CVE_STATUS[CVE-2017-14156] = "fixed-version: Fixed from version 4.14rc1"
1670
1671CVE_STATUS[CVE-2017-14340] = "fixed-version: Fixed from version 4.14rc1"
1672
1673CVE_STATUS[CVE-2017-14489] = "fixed-version: Fixed from version 4.14rc3"
1674
1675CVE_STATUS[CVE-2017-14497] = "fixed-version: Fixed from version 4.13"
1676
1677CVE_STATUS[CVE-2017-14954] = "fixed-version: Fixed from version 4.14rc3"
1678
1679CVE_STATUS[CVE-2017-14991] = "fixed-version: Fixed from version 4.14rc2"
1680
1681CVE_STATUS[CVE-2017-15102] = "fixed-version: Fixed from version 4.9rc1"
1682
1683CVE_STATUS[CVE-2017-15115] = "fixed-version: Fixed from version 4.14rc6"
1684
1685CVE_STATUS[CVE-2017-15116] = "fixed-version: Fixed from version 4.2rc1"
1686
1687CVE_STATUS[CVE-2017-15121] = "fixed-version: Fixed from version 3.11rc1"
1688
1689CVE_STATUS[CVE-2017-15126] = "fixed-version: Fixed from version 4.14rc4"
1690
1691CVE_STATUS[CVE-2017-15127] = "fixed-version: Fixed from version 4.13rc5"
1692
1693CVE_STATUS[CVE-2017-15128] = "fixed-version: Fixed from version 4.14rc8"
1694
1695CVE_STATUS[CVE-2017-15129] = "fixed-version: Fixed from version 4.15rc5"
1696
1697CVE_STATUS[CVE-2017-15265] = "fixed-version: Fixed from version 4.14rc5"
1698
1699CVE_STATUS[CVE-2017-15274] = "fixed-version: Fixed from version 4.12rc5"
1700
1701CVE_STATUS[CVE-2017-15299] = "fixed-version: Fixed from version 4.14rc6"
1702
1703CVE_STATUS[CVE-2017-15306] = "fixed-version: Fixed from version 4.14rc7"
1704
1705CVE_STATUS[CVE-2017-15537] = "fixed-version: Fixed from version 4.14rc3"
1706
1707CVE_STATUS[CVE-2017-15649] = "fixed-version: Fixed from version 4.14rc4"
1708
1709CVE_STATUS[CVE-2017-15868] = "fixed-version: Fixed from version 3.19rc3"
1710
1711CVE_STATUS[CVE-2017-15951] = "fixed-version: Fixed from version 4.14rc6"
1712
1713CVE_STATUS[CVE-2017-16525] = "fixed-version: Fixed from version 4.14rc5"
1714
1715CVE_STATUS[CVE-2017-16526] = "fixed-version: Fixed from version 4.14rc4"
1716
1717CVE_STATUS[CVE-2017-16527] = "fixed-version: Fixed from version 4.14rc5"
1718
1719CVE_STATUS[CVE-2017-16528] = "fixed-version: Fixed from version 4.14rc1"
1720
1721CVE_STATUS[CVE-2017-16529] = "fixed-version: Fixed from version 4.14rc4"
1722
1723CVE_STATUS[CVE-2017-16530] = "fixed-version: Fixed from version 4.14rc4"
1724
1725CVE_STATUS[CVE-2017-16531] = "fixed-version: Fixed from version 4.14rc4"
1726
1727CVE_STATUS[CVE-2017-16532] = "fixed-version: Fixed from version 4.14rc5"
1728
1729CVE_STATUS[CVE-2017-16533] = "fixed-version: Fixed from version 4.14rc5"
1730
1731CVE_STATUS[CVE-2017-16534] = "fixed-version: Fixed from version 4.14rc4"
1732
1733CVE_STATUS[CVE-2017-16535] = "fixed-version: Fixed from version 4.14rc6"
1734
1735CVE_STATUS[CVE-2017-16536] = "fixed-version: Fixed from version 4.15rc1"
1736
1737CVE_STATUS[CVE-2017-16537] = "fixed-version: Fixed from version 4.15rc1"
1738
1739CVE_STATUS[CVE-2017-16538] = "fixed-version: Fixed from version 4.16rc1"
1740
1741CVE_STATUS[CVE-2017-16643] = "fixed-version: Fixed from version 4.14rc7"
1742
1743CVE_STATUS[CVE-2017-16644] = "fixed-version: Fixed from version 4.16rc1"
1744
1745CVE_STATUS[CVE-2017-16645] = "fixed-version: Fixed from version 4.14rc6"
1746
1747CVE_STATUS[CVE-2017-16646] = "fixed-version: Fixed from version 4.15rc1"
1748
1749CVE_STATUS[CVE-2017-16647] = "fixed-version: Fixed from version 4.14"
1750
1751CVE_STATUS[CVE-2017-16648] = "fixed-version: Fixed from version 4.15rc1"
1752
1753CVE_STATUS[CVE-2017-16649] = "fixed-version: Fixed from version 4.14"
1754
1755CVE_STATUS[CVE-2017-16650] = "fixed-version: Fixed from version 4.14"
1756
1757CVE_STATUS[CVE-2017-16911] = "fixed-version: Fixed from version 4.15rc4"
1758
1759CVE_STATUS[CVE-2017-16912] = "fixed-version: Fixed from version 4.15rc4"
1760
1761CVE_STATUS[CVE-2017-16913] = "fixed-version: Fixed from version 4.15rc4"
1762
1763CVE_STATUS[CVE-2017-16914] = "fixed-version: Fixed from version 4.15rc4"
1764
1765CVE_STATUS[CVE-2017-16939] = "fixed-version: Fixed from version 4.14rc7"
1766
1767CVE_STATUS[CVE-2017-16994] = "fixed-version: Fixed from version 4.15rc1"
1768
1769CVE_STATUS[CVE-2017-16995] = "fixed-version: Fixed from version 4.15rc5"
1770
1771CVE_STATUS[CVE-2017-16996] = "fixed-version: Fixed from version 4.15rc5"
1772
1773CVE_STATUS[CVE-2017-17052] = "fixed-version: Fixed from version 4.13rc7"
1774
1775CVE_STATUS[CVE-2017-17053] = "fixed-version: Fixed from version 4.13rc7"
1776
1777CVE_STATUS[CVE-2017-17448] = "fixed-version: Fixed from version 4.15rc4"
1778
1779CVE_STATUS[CVE-2017-17449] = "fixed-version: Fixed from version 4.15rc4"
1780
1781CVE_STATUS[CVE-2017-17450] = "fixed-version: Fixed from version 4.15rc4"
1782
1783CVE_STATUS[CVE-2017-17558] = "fixed-version: Fixed from version 4.15rc4"
1784
1785CVE_STATUS[CVE-2017-17712] = "fixed-version: Fixed from version 4.15rc4"
1786
1787CVE_STATUS[CVE-2017-17741] = "fixed-version: Fixed from version 4.15rc5"
1788
1789CVE_STATUS[CVE-2017-17805] = "fixed-version: Fixed from version 4.15rc4"
1790
1791CVE_STATUS[CVE-2017-17806] = "fixed-version: Fixed from version 4.15rc4"
1792
1793CVE_STATUS[CVE-2017-17807] = "fixed-version: Fixed from version 4.15rc3"
1794
1795CVE_STATUS[CVE-2017-17852] = "fixed-version: Fixed from version 4.15rc5"
1796
1797CVE_STATUS[CVE-2017-17853] = "fixed-version: Fixed from version 4.15rc5"
1798
1799CVE_STATUS[CVE-2017-17854] = "fixed-version: Fixed from version 4.15rc5"
1800
1801CVE_STATUS[CVE-2017-17855] = "fixed-version: Fixed from version 4.15rc5"
1802
1803CVE_STATUS[CVE-2017-17856] = "fixed-version: Fixed from version 4.15rc5"
1804
1805CVE_STATUS[CVE-2017-17857] = "fixed-version: Fixed from version 4.15rc5"
1806
1807CVE_STATUS[CVE-2017-17862] = "fixed-version: Fixed from version 4.15rc1"
1808
1809CVE_STATUS[CVE-2017-17863] = "fixed-version: Fixed from version 4.15rc5"
1810
1811CVE_STATUS[CVE-2017-17864] = "fixed-version: Fixed from version 4.15rc5"
1812
1813CVE_STATUS[CVE-2017-17975] = "fixed-version: Fixed from version 4.17rc1"
1814
1815CVE_STATUS[CVE-2017-18017] = "fixed-version: Fixed from version 4.11rc7"
1816
1817CVE_STATUS[CVE-2017-18075] = "fixed-version: Fixed from version 4.15rc7"
1818
1819CVE_STATUS[CVE-2017-18079] = "fixed-version: Fixed from version 4.13rc1"
1820
1821# CVE-2017-18169 has no known resolution
1822
1823CVE_STATUS[CVE-2017-18174] = "fixed-version: Fixed from version 4.7rc1"
1824
1825CVE_STATUS[CVE-2017-18193] = "fixed-version: Fixed from version 4.13rc1"
1826
1827CVE_STATUS[CVE-2017-18200] = "fixed-version: Fixed from version 4.14rc5"
1828
1829CVE_STATUS[CVE-2017-18202] = "fixed-version: Fixed from version 4.15rc2"
1830
1831CVE_STATUS[CVE-2017-18203] = "fixed-version: Fixed from version 4.15rc1"
1832
1833CVE_STATUS[CVE-2017-18204] = "fixed-version: Fixed from version 4.15rc1"
1834
1835CVE_STATUS[CVE-2017-18208] = "fixed-version: Fixed from version 4.15rc2"
1836
1837CVE_STATUS[CVE-2017-18216] = "fixed-version: Fixed from version 4.15rc1"
1838
1839CVE_STATUS[CVE-2017-18218] = "fixed-version: Fixed from version 4.13rc1"
1840
1841CVE_STATUS[CVE-2017-18221] = "fixed-version: Fixed from version 4.12rc4"
1842
1843CVE_STATUS[CVE-2017-18222] = "fixed-version: Fixed from version 4.12rc1"
1844
1845CVE_STATUS[CVE-2017-18224] = "fixed-version: Fixed from version 4.15rc1"
1846
1847CVE_STATUS[CVE-2017-18232] = "fixed-version: Fixed from version 4.16rc1"
1848
1849CVE_STATUS[CVE-2017-18241] = "fixed-version: Fixed from version 4.13rc1"
1850
1851CVE_STATUS[CVE-2017-18249] = "fixed-version: Fixed from version 4.12rc1"
1852
1853CVE_STATUS[CVE-2017-18255] = "fixed-version: Fixed from version 4.11rc1"
1854
1855CVE_STATUS[CVE-2017-18257] = "fixed-version: Fixed from version 4.11rc1"
1856
1857CVE_STATUS[CVE-2017-18261] = "fixed-version: Fixed from version 4.13rc6"
1858
1859CVE_STATUS[CVE-2017-18270] = "fixed-version: Fixed from version 4.14rc3"
1860
1861CVE_STATUS[CVE-2017-18344] = "fixed-version: Fixed from version 4.15rc4"
1862
1863CVE_STATUS[CVE-2017-18360] = "fixed-version: Fixed from version 4.12rc2"
1864
1865CVE_STATUS[CVE-2017-18379] = "fixed-version: Fixed from version 4.14rc3"
1866
1867CVE_STATUS[CVE-2017-18509] = "fixed-version: Fixed from version 4.11rc1"
1868
1869CVE_STATUS[CVE-2017-18549] = "fixed-version: Fixed from version 4.13rc1"
1870
1871CVE_STATUS[CVE-2017-18550] = "fixed-version: Fixed from version 4.13rc1"
1872
1873CVE_STATUS[CVE-2017-18551] = "fixed-version: Fixed from version 4.15rc9"
1874
1875CVE_STATUS[CVE-2017-18552] = "fixed-version: Fixed from version 4.11rc1"
1876
1877CVE_STATUS[CVE-2017-18595] = "fixed-version: Fixed from version 4.15rc6"
1878
1879CVE_STATUS[CVE-2017-2583] = "fixed-version: Fixed from version 4.10rc4"
1880
1881CVE_STATUS[CVE-2017-2584] = "fixed-version: Fixed from version 4.10rc4"
1882
1883CVE_STATUS[CVE-2017-2596] = "fixed-version: Fixed from version 4.11rc1"
1884
1885CVE_STATUS[CVE-2017-2618] = "fixed-version: Fixed from version 4.10rc8"
1886
1887CVE_STATUS[CVE-2017-2634] = "fixed-version: Fixed from version 2.6.25rc1"
1888
1889CVE_STATUS[CVE-2017-2636] = "fixed-version: Fixed from version 4.11rc2"
1890
1891CVE_STATUS[CVE-2017-2647] = "fixed-version: Fixed from version 3.18rc1"
1892
1893CVE_STATUS[CVE-2017-2671] = "fixed-version: Fixed from version 4.11rc6"
1894
1895CVE_STATUS[CVE-2017-5123] = "fixed-version: Fixed from version 4.14rc5"
1896
1897CVE_STATUS[CVE-2017-5546] = "fixed-version: Fixed from version 4.10rc4"
1898
1899CVE_STATUS[CVE-2017-5547] = "fixed-version: Fixed from version 4.10rc5"
1900
1901CVE_STATUS[CVE-2017-5548] = "fixed-version: Fixed from version 4.10rc5"
1902
1903CVE_STATUS[CVE-2017-5549] = "fixed-version: Fixed from version 4.10rc4"
1904
1905CVE_STATUS[CVE-2017-5550] = "fixed-version: Fixed from version 4.10rc4"
1906
1907CVE_STATUS[CVE-2017-5551] = "fixed-version: Fixed from version 4.10rc4"
1908
1909CVE_STATUS[CVE-2017-5576] = "fixed-version: Fixed from version 4.10rc6"
1910
1911CVE_STATUS[CVE-2017-5577] = "fixed-version: Fixed from version 4.10rc6"
1912
1913CVE_STATUS[CVE-2017-5669] = "fixed-version: Fixed from version 4.11rc1"
1914
1915CVE_STATUS[CVE-2017-5715] = "fixed-version: Fixed from version 4.15rc8"
1916
1917CVE_STATUS[CVE-2017-5753] = "fixed-version: Fixed from version 4.15rc8"
1918
1919CVE_STATUS[CVE-2017-5754] = "fixed-version: Fixed from version 4.16rc1"
1920
1921CVE_STATUS[CVE-2017-5897] = "fixed-version: Fixed from version 4.10rc8"
1922
1923CVE_STATUS[CVE-2017-5967] = "fixed-version: Fixed from version 4.11rc1"
1924
1925CVE_STATUS[CVE-2017-5970] = "fixed-version: Fixed from version 4.10rc8"
1926
1927CVE_STATUS[CVE-2017-5972] = "fixed-version: Fixed from version 4.4rc1"
1928
1929CVE_STATUS[CVE-2017-5986] = "fixed-version: Fixed from version 4.10rc8"
1930
1931CVE_STATUS[CVE-2017-6001] = "fixed-version: Fixed from version 4.10rc4"
1932
1933CVE_STATUS[CVE-2017-6074] = "fixed-version: Fixed from version 4.10"
1934
1935CVE_STATUS[CVE-2017-6214] = "fixed-version: Fixed from version 4.10rc8"
1936
1937CVE_STATUS[CVE-2017-6345] = "fixed-version: Fixed from version 4.10"
1938
1939CVE_STATUS[CVE-2017-6346] = "fixed-version: Fixed from version 4.10"
1940
1941CVE_STATUS[CVE-2017-6347] = "fixed-version: Fixed from version 4.11rc1"
1942
1943CVE_STATUS[CVE-2017-6348] = "fixed-version: Fixed from version 4.10"
1944
1945CVE_STATUS[CVE-2017-6353] = "fixed-version: Fixed from version 4.11rc1"
1946
1947CVE_STATUS[CVE-2017-6874] = "fixed-version: Fixed from version 4.11rc2"
1948
1949CVE_STATUS[CVE-2017-6951] = "fixed-version: Fixed from version 3.18rc1"
1950
1951CVE_STATUS[CVE-2017-7184] = "fixed-version: Fixed from version 4.11rc5"
1952
1953CVE_STATUS[CVE-2017-7187] = "fixed-version: Fixed from version 4.11rc5"
1954
1955CVE_STATUS[CVE-2017-7261] = "fixed-version: Fixed from version 4.11rc6"
1956
1957CVE_STATUS[CVE-2017-7273] = "fixed-version: Fixed from version 4.10rc4"
1958
1959CVE_STATUS[CVE-2017-7277] = "fixed-version: Fixed from version 4.11rc4"
1960
1961CVE_STATUS[CVE-2017-7294] = "fixed-version: Fixed from version 4.11rc6"
1962
1963CVE_STATUS[CVE-2017-7308] = "fixed-version: Fixed from version 4.11rc6"
1964
1965CVE_STATUS[CVE-2017-7346] = "fixed-version: Fixed from version 4.12rc5"
1966
1967# CVE-2017-7369 has no known resolution
1968
1969CVE_STATUS[CVE-2017-7374] = "fixed-version: Fixed from version 4.11rc4"
1970
1971CVE_STATUS[CVE-2017-7472] = "fixed-version: Fixed from version 4.11rc8"
1972
1973CVE_STATUS[CVE-2017-7477] = "fixed-version: Fixed from version 4.11"
1974
1975CVE_STATUS[CVE-2017-7482] = "fixed-version: Fixed from version 4.12rc7"
1976
1977CVE_STATUS[CVE-2017-7487] = "fixed-version: Fixed from version 4.12rc1"
1978
1979CVE_STATUS[CVE-2017-7495] = "fixed-version: Fixed from version 4.7rc1"
1980
1981CVE_STATUS[CVE-2017-7518] = "fixed-version: Fixed from version 4.12rc7"
1982
1983CVE_STATUS[CVE-2017-7533] = "fixed-version: Fixed from version 4.13rc1"
1984
1985CVE_STATUS[CVE-2017-7541] = "fixed-version: Fixed from version 4.13rc1"
1986
1987CVE_STATUS[CVE-2017-7542] = "fixed-version: Fixed from version 4.13rc2"
1988
1989CVE_STATUS[CVE-2017-7558] = "fixed-version: Fixed from version 4.13"
1990
1991CVE_STATUS[CVE-2017-7616] = "fixed-version: Fixed from version 4.11rc6"
1992
1993CVE_STATUS[CVE-2017-7618] = "fixed-version: Fixed from version 4.11rc8"
1994
1995CVE_STATUS[CVE-2017-7645] = "fixed-version: Fixed from version 4.11"
1996
1997CVE_STATUS[CVE-2017-7889] = "fixed-version: Fixed from version 4.11rc7"
1998
1999CVE_STATUS[CVE-2017-7895] = "fixed-version: Fixed from version 4.11"
2000
2001CVE_STATUS[CVE-2017-7979] = "fixed-version: Fixed from version 4.11rc8"
2002
2003CVE_STATUS[CVE-2017-8061] = "fixed-version: Fixed from version 4.11rc4"
2004
2005CVE_STATUS[CVE-2017-8062] = "fixed-version: Fixed from version 4.11rc2"
2006
2007CVE_STATUS[CVE-2017-8063] = "fixed-version: Fixed from version 4.11rc1"
2008
2009CVE_STATUS[CVE-2017-8064] = "fixed-version: Fixed from version 4.11rc1"
2010
2011CVE_STATUS[CVE-2017-8065] = "fixed-version: Fixed from version 4.11rc1"
2012
2013CVE_STATUS[CVE-2017-8066] = "fixed-version: Fixed from version 4.11rc1"
2014
2015CVE_STATUS[CVE-2017-8067] = "fixed-version: Fixed from version 4.11rc1"
2016
2017CVE_STATUS[CVE-2017-8068] = "fixed-version: Fixed from version 4.10rc8"
2018
2019CVE_STATUS[CVE-2017-8069] = "fixed-version: Fixed from version 4.10rc8"
2020
2021CVE_STATUS[CVE-2017-8070] = "fixed-version: Fixed from version 4.10rc8"
2022
2023CVE_STATUS[CVE-2017-8071] = "fixed-version: Fixed from version 4.10rc7"
2024
2025CVE_STATUS[CVE-2017-8072] = "fixed-version: Fixed from version 4.10rc7"
2026
2027CVE_STATUS[CVE-2017-8106] = "fixed-version: Fixed from version 3.16rc1"
2028
2029CVE_STATUS[CVE-2017-8240] = "fixed-version: Fixed from version 3.19rc6"
2030
2031# CVE-2017-8242 has no known resolution
2032
2033# CVE-2017-8244 has no known resolution
2034
2035# CVE-2017-8245 has no known resolution
2036
2037# CVE-2017-8246 has no known resolution
2038
2039CVE_STATUS[CVE-2017-8797] = "fixed-version: Fixed from version 4.12rc1"
2040
2041CVE_STATUS[CVE-2017-8824] = "fixed-version: Fixed from version 4.15rc3"
2042
2043CVE_STATUS[CVE-2017-8831] = "fixed-version: Fixed from version 4.13rc1"
2044
2045CVE_STATUS[CVE-2017-8890] = "fixed-version: Fixed from version 4.12rc1"
2046
2047CVE_STATUS[CVE-2017-8924] = "fixed-version: Fixed from version 4.11rc2"
2048
2049CVE_STATUS[CVE-2017-8925] = "fixed-version: Fixed from version 4.11rc2"
2050
2051CVE_STATUS[CVE-2017-9059] = "fixed-version: Fixed from version 4.12rc1"
2052
2053CVE_STATUS[CVE-2017-9074] = "fixed-version: Fixed from version 4.12rc2"
2054
2055CVE_STATUS[CVE-2017-9075] = "fixed-version: Fixed from version 4.12rc2"
2056
2057CVE_STATUS[CVE-2017-9076] = "fixed-version: Fixed from version 4.12rc2"
2058
2059CVE_STATUS[CVE-2017-9077] = "fixed-version: Fixed from version 4.12rc2"
2060
2061CVE_STATUS[CVE-2017-9150] = "fixed-version: Fixed from version 4.12rc1"
2062
2063CVE_STATUS[CVE-2017-9211] = "fixed-version: Fixed from version 4.12rc3"
2064
2065CVE_STATUS[CVE-2017-9242] = "fixed-version: Fixed from version 4.12rc3"
2066
2067CVE_STATUS[CVE-2017-9605] = "fixed-version: Fixed from version 4.12rc5"
2068
2069CVE_STATUS[CVE-2017-9725] = "fixed-version: Fixed from version 4.3rc7"
2070
2071CVE_STATUS[CVE-2017-9984] = "fixed-version: Fixed from version 4.13rc1"
2072
2073CVE_STATUS[CVE-2017-9985] = "fixed-version: Fixed from version 4.13rc1"
2074
2075CVE_STATUS[CVE-2017-9986] = "fixed-version: Fixed from version 4.15rc1"
2076
2077CVE_STATUS[CVE-2018-1000004] = "fixed-version: Fixed from version 4.15rc9"
2078
2079CVE_STATUS[CVE-2018-1000026] = "fixed-version: Fixed from version 4.16rc1"
2080
2081CVE_STATUS[CVE-2018-1000028] = "fixed-version: Fixed from version 4.15"
2082
2083CVE_STATUS[CVE-2018-1000199] = "fixed-version: Fixed from version 4.16"
2084
2085CVE_STATUS[CVE-2018-1000200] = "fixed-version: Fixed from version 4.17rc5"
2086
2087CVE_STATUS[CVE-2018-1000204] = "fixed-version: Fixed from version 4.17rc7"
2088
2089CVE_STATUS[CVE-2018-10021] = "fixed-version: Fixed from version 4.16rc7"
2090
2091CVE_STATUS[CVE-2018-10074] = "fixed-version: Fixed from version 4.16rc7"
2092
2093CVE_STATUS[CVE-2018-10087] = "fixed-version: Fixed from version 4.13rc1"
2094
2095CVE_STATUS[CVE-2018-10124] = "fixed-version: Fixed from version 4.13rc1"
2096
2097CVE_STATUS[CVE-2018-10322] = "fixed-version: Fixed from version 4.17rc4"
2098
2099CVE_STATUS[CVE-2018-10323] = "fixed-version: Fixed from version 4.17rc4"
2100
2101CVE_STATUS[CVE-2018-1065] = "fixed-version: Fixed from version 4.16rc3"
2102
2103CVE_STATUS[CVE-2018-1066] = "fixed-version: Fixed from version 4.11rc1"
2104
2105CVE_STATUS[CVE-2018-10675] = "fixed-version: Fixed from version 4.13rc6"
2106
2107CVE_STATUS[CVE-2018-1068] = "fixed-version: Fixed from version 4.16rc5"
2108
2109CVE_STATUS[CVE-2018-10840] = "fixed-version: Fixed from version 4.18rc1"
2110
2111CVE_STATUS[CVE-2018-10853] = "fixed-version: Fixed from version 4.18rc1"
2112
2113CVE_STATUS[CVE-2018-1087] = "fixed-version: Fixed from version 4.16rc7"
2114
2115# CVE-2018-10872 has no known resolution
2116
2117CVE_STATUS[CVE-2018-10876] = "fixed-version: Fixed from version 4.18rc4"
2118
2119CVE_STATUS[CVE-2018-10877] = "fixed-version: Fixed from version 4.18rc4"
2120
2121CVE_STATUS[CVE-2018-10878] = "fixed-version: Fixed from version 4.18rc4"
2122
2123CVE_STATUS[CVE-2018-10879] = "fixed-version: Fixed from version 4.18rc4"
2124
2125CVE_STATUS[CVE-2018-10880] = "fixed-version: Fixed from version 4.18rc4"
2126
2127CVE_STATUS[CVE-2018-10881] = "fixed-version: Fixed from version 4.18rc4"
2128
2129CVE_STATUS[CVE-2018-10882] = "fixed-version: Fixed from version 4.18rc4"
2130
2131CVE_STATUS[CVE-2018-10883] = "fixed-version: Fixed from version 4.18rc4"
2132
2133CVE_STATUS[CVE-2018-10901] = "fixed-version: Fixed from version 2.6.36rc1"
2134
2135CVE_STATUS[CVE-2018-10902] = "fixed-version: Fixed from version 4.18rc6"
2136
2137CVE_STATUS[CVE-2018-1091] = "fixed-version: Fixed from version 4.14rc2"
2138
2139CVE_STATUS[CVE-2018-1092] = "fixed-version: Fixed from version 4.17rc1"
2140
2141CVE_STATUS[CVE-2018-1093] = "fixed-version: Fixed from version 4.17rc1"
2142
2143CVE_STATUS[CVE-2018-10938] = "fixed-version: Fixed from version 4.13rc5"
2144
2145CVE_STATUS[CVE-2018-1094] = "fixed-version: Fixed from version 4.17rc1"
2146
2147CVE_STATUS[CVE-2018-10940] = "fixed-version: Fixed from version 4.17rc3"
2148
2149CVE_STATUS[CVE-2018-1095] = "fixed-version: Fixed from version 4.17rc1"
2150
2151CVE_STATUS[CVE-2018-1108] = "fixed-version: Fixed from version 4.17rc2"
2152
2153CVE_STATUS[CVE-2018-1118] = "fixed-version: Fixed from version 4.18rc1"
2154
2155CVE_STATUS[CVE-2018-1120] = "fixed-version: Fixed from version 4.17rc6"
2156
2157# CVE-2018-1121 has no known resolution
2158
2159CVE_STATUS[CVE-2018-11232] = "fixed-version: Fixed from version 4.11rc1"
2160
2161CVE_STATUS[CVE-2018-1128] = "fixed-version: Fixed from version 4.19rc1"
2162
2163CVE_STATUS[CVE-2018-1129] = "fixed-version: Fixed from version 4.19rc1"
2164
2165CVE_STATUS[CVE-2018-1130] = "fixed-version: Fixed from version 4.16rc7"
2166
2167CVE_STATUS[CVE-2018-11412] = "fixed-version: Fixed from version 4.18rc1"
2168
2169CVE_STATUS[CVE-2018-11506] = "fixed-version: Fixed from version 4.17rc7"
2170
2171CVE_STATUS[CVE-2018-11508] = "fixed-version: Fixed from version 4.17rc5"
2172
2173# CVE-2018-11987 has no known resolution
2174
2175CVE_STATUS[CVE-2018-12126] = "fixed-version: Fixed from version 5.2rc1"
2176
2177CVE_STATUS[CVE-2018-12127] = "fixed-version: Fixed from version 5.2rc1"
2178
2179CVE_STATUS[CVE-2018-12130] = "fixed-version: Fixed from version 5.2rc1"
2180
2181CVE_STATUS[CVE-2018-12207] = "fixed-version: Fixed from version 5.4rc2"
2182
2183CVE_STATUS[CVE-2018-12232] = "fixed-version: Fixed from version 4.18rc1"
2184
2185CVE_STATUS[CVE-2018-12233] = "fixed-version: Fixed from version 4.18rc2"
2186
2187CVE_STATUS[CVE-2018-12633] = "fixed-version: Fixed from version 4.18rc1"
2188
2189CVE_STATUS[CVE-2018-12714] = "fixed-version: Fixed from version 4.18rc2"
2190
2191CVE_STATUS[CVE-2018-12896] = "fixed-version: Fixed from version 4.19rc1"
2192
2193CVE_STATUS[CVE-2018-12904] = "fixed-version: Fixed from version 4.18rc1"
2194
2195# CVE-2018-12928 has no known resolution
2196
2197# CVE-2018-12929 has no known resolution
2198
2199# CVE-2018-12930 has no known resolution
2200
2201# CVE-2018-12931 has no known resolution
2202
2203CVE_STATUS[CVE-2018-13053] = "fixed-version: Fixed from version 4.19rc1"
2204
2205CVE_STATUS[CVE-2018-13093] = "fixed-version: Fixed from version 4.18rc1"
2206
2207CVE_STATUS[CVE-2018-13094] = "fixed-version: Fixed from version 4.18rc1"
2208
2209CVE_STATUS[CVE-2018-13095] = "fixed-version: Fixed from version 4.18rc3"
2210
2211CVE_STATUS[CVE-2018-13096] = "fixed-version: Fixed from version 4.19rc1"
2212
2213CVE_STATUS[CVE-2018-13097] = "fixed-version: Fixed from version 4.19rc1"
2214
2215CVE_STATUS[CVE-2018-13098] = "fixed-version: Fixed from version 4.19rc1"
2216
2217CVE_STATUS[CVE-2018-13099] = "fixed-version: Fixed from version 4.19rc1"
2218
2219CVE_STATUS[CVE-2018-13100] = "fixed-version: Fixed from version 4.19rc1"
2220
2221CVE_STATUS[CVE-2018-13405] = "fixed-version: Fixed from version 4.18rc4"
2222
2223CVE_STATUS[CVE-2018-13406] = "fixed-version: Fixed from version 4.18rc1"
2224
2225CVE_STATUS[CVE-2018-14609] = "fixed-version: Fixed from version 4.19rc1"
2226
2227CVE_STATUS[CVE-2018-14610] = "fixed-version: Fixed from version 4.19rc1"
2228
2229CVE_STATUS[CVE-2018-14611] = "fixed-version: Fixed from version 4.19rc1"
2230
2231CVE_STATUS[CVE-2018-14612] = "fixed-version: Fixed from version 4.19rc1"
2232
2233CVE_STATUS[CVE-2018-14613] = "fixed-version: Fixed from version 4.19rc1"
2234
2235CVE_STATUS[CVE-2018-14614] = "fixed-version: Fixed from version 4.19rc1"
2236
2237CVE_STATUS[CVE-2018-14615] = "fixed-version: Fixed from version 4.19rc1"
2238
2239CVE_STATUS[CVE-2018-14616] = "fixed-version: Fixed from version 4.19rc1"
2240
2241CVE_STATUS[CVE-2018-14617] = "fixed-version: Fixed from version 4.19rc1"
2242
2243CVE_STATUS[CVE-2018-14619] = "fixed-version: Fixed from version 4.15rc4"
2244
2245CVE_STATUS[CVE-2018-14625] = "fixed-version: Fixed from version 4.20rc6"
2246
2247CVE_STATUS[CVE-2018-14633] = "fixed-version: Fixed from version 4.19rc6"
2248
2249CVE_STATUS[CVE-2018-14634] = "fixed-version: Fixed from version 4.13rc1"
2250
2251CVE_STATUS[CVE-2018-14641] = "fixed-version: Fixed from version 4.19rc4"
2252
2253CVE_STATUS[CVE-2018-14646] = "fixed-version: Fixed from version 4.15rc8"
2254
2255CVE_STATUS[CVE-2018-14656] = "fixed-version: Fixed from version 4.19rc2"
2256
2257CVE_STATUS[CVE-2018-14678] = "fixed-version: Fixed from version 4.18rc8"
2258
2259CVE_STATUS[CVE-2018-14734] = "fixed-version: Fixed from version 4.18rc1"
2260
2261CVE_STATUS[CVE-2018-15471] = "fixed-version: Fixed from version 4.19rc7"
2262
2263CVE_STATUS[CVE-2018-15572] = "fixed-version: Fixed from version 4.19rc1"
2264
2265CVE_STATUS[CVE-2018-15594] = "fixed-version: Fixed from version 4.19rc1"
2266
2267CVE_STATUS[CVE-2018-16276] = "fixed-version: Fixed from version 4.18rc5"
2268
2269CVE_STATUS[CVE-2018-16597] = "fixed-version: Fixed from version 4.8rc1"
2270
2271CVE_STATUS[CVE-2018-16658] = "fixed-version: Fixed from version 4.19rc2"
2272
2273CVE_STATUS[CVE-2018-16862] = "fixed-version: Fixed from version 4.20rc5"
2274
2275CVE_STATUS[CVE-2018-16871] = "fixed-version: Fixed from version 4.20rc3"
2276
2277CVE_STATUS[CVE-2018-16880] = "fixed-version: Fixed from version 5.0rc5"
2278
2279CVE_STATUS[CVE-2018-16882] = "fixed-version: Fixed from version 4.20"
2280
2281CVE_STATUS[CVE-2018-16884] = "fixed-version: Fixed from version 5.0rc1"
2282
2283# CVE-2018-16885 has no known resolution
2284
2285CVE_STATUS[CVE-2018-17182] = "fixed-version: Fixed from version 4.19rc4"
2286
2287CVE_STATUS[CVE-2018-17972] = "fixed-version: Fixed from version 4.19rc7"
2288
2289# CVE-2018-17977 has no known resolution
2290
2291CVE_STATUS[CVE-2018-18021] = "fixed-version: Fixed from version 4.19rc7"
2292
2293CVE_STATUS[CVE-2018-18281] = "fixed-version: Fixed from version 4.19"
2294
2295CVE_STATUS[CVE-2018-18386] = "fixed-version: Fixed from version 4.15rc6"
2296
2297CVE_STATUS[CVE-2018-18397] = "fixed-version: Fixed from version 4.20rc5"
2298
2299CVE_STATUS[CVE-2018-18445] = "fixed-version: Fixed from version 4.19rc7"
2300
2301CVE_STATUS[CVE-2018-18559] = "fixed-version: Fixed from version 4.15rc2"
2302
2303# CVE-2018-18653 has no known resolution
2304
2305CVE_STATUS[CVE-2018-18690] = "fixed-version: Fixed from version 4.17rc4"
2306
2307CVE_STATUS[CVE-2018-18710] = "fixed-version: Fixed from version 4.20rc1"
2308
2309CVE_STATUS[CVE-2018-18955] = "fixed-version: Fixed from version 4.20rc2"
2310
2311CVE_STATUS[CVE-2018-19406] = "fixed-version: Fixed from version 4.20rc5"
2312
2313CVE_STATUS[CVE-2018-19407] = "fixed-version: Fixed from version 4.20rc5"
2314
2315CVE_STATUS[CVE-2018-19824] = "fixed-version: Fixed from version 4.20rc6"
2316
2317CVE_STATUS[CVE-2018-19854] = "fixed-version: Fixed from version 4.20rc3"
2318
2319CVE_STATUS[CVE-2018-19985] = "fixed-version: Fixed from version 4.20"
2320
2321CVE_STATUS[CVE-2018-20169] = "fixed-version: Fixed from version 4.20rc6"
2322
2323CVE_STATUS[CVE-2018-20449] = "fixed-version: Fixed from version 4.15rc2"
2324
2325CVE_STATUS[CVE-2018-20509] = "fixed-version: Fixed from version 4.14rc1"
2326
2327CVE_STATUS[CVE-2018-20510] = "fixed-version: Fixed from version 4.16rc3"
2328
2329CVE_STATUS[CVE-2018-20511] = "fixed-version: Fixed from version 4.19rc5"
2330
2331CVE_STATUS[CVE-2018-20669] = "fixed-version: Fixed from version 5.0rc1"
2332
2333CVE_STATUS[CVE-2018-20784] = "fixed-version: Fixed from version 5.0rc1"
2334
2335CVE_STATUS[CVE-2018-20836] = "fixed-version: Fixed from version 4.20rc1"
2336
2337CVE_STATUS[CVE-2018-20854] = "fixed-version: Fixed from version 4.20rc1"
2338
2339CVE_STATUS[CVE-2018-20855] = "fixed-version: Fixed from version 4.19rc1"
2340
2341CVE_STATUS[CVE-2018-20856] = "fixed-version: Fixed from version 4.19rc1"
2342
2343CVE_STATUS[CVE-2018-20961] = "fixed-version: Fixed from version 4.17rc1"
2344
2345CVE_STATUS[CVE-2018-20976] = "fixed-version: Fixed from version 4.18rc1"
2346
2347CVE_STATUS[CVE-2018-21008] = "fixed-version: Fixed from version 4.18rc1"
2348
2349CVE_STATUS[CVE-2018-25015] = "fixed-version: Fixed from version 4.15rc9"
2350
2351CVE_STATUS[CVE-2018-25020] = "fixed-version: Fixed from version 4.17rc7"
2352
2353# CVE-2018-3574 has no known resolution
2354
2355CVE_STATUS[CVE-2018-3620] = "fixed-version: Fixed from version 4.19rc1"
2356
2357CVE_STATUS[CVE-2018-3639] = "fixed-version: Fixed from version 4.17rc7"
2358
2359CVE_STATUS[CVE-2018-3646] = "fixed-version: Fixed from version 4.19rc1"
2360
2361CVE_STATUS[CVE-2018-3665] = "fixed-version: Fixed from version 3.7rc1"
2362
2363CVE_STATUS[CVE-2018-3693] = "fixed-version: Fixed from version 4.19rc1"
2364
2365CVE_STATUS[CVE-2018-5332] = "fixed-version: Fixed from version 4.15rc8"
2366
2367CVE_STATUS[CVE-2018-5333] = "fixed-version: Fixed from version 4.15rc8"
2368
2369CVE_STATUS[CVE-2018-5344] = "fixed-version: Fixed from version 4.15rc8"
2370
2371CVE_STATUS[CVE-2018-5390] = "fixed-version: Fixed from version 4.18rc7"
2372
2373CVE_STATUS[CVE-2018-5391] = "fixed-version: Fixed from version 4.19rc1"
2374
2375CVE_STATUS[CVE-2018-5703] = "fixed-version: Fixed from version 4.16rc5"
2376
2377CVE_STATUS[CVE-2018-5750] = "fixed-version: Fixed from version 4.16rc1"
2378
2379CVE_STATUS[CVE-2018-5803] = "fixed-version: Fixed from version 4.16rc1"
2380
2381CVE_STATUS[CVE-2018-5814] = "fixed-version: Fixed from version 4.17rc6"
2382
2383CVE_STATUS[CVE-2018-5848] = "fixed-version: Fixed from version 4.16rc1"
2384
2385# Skipping CVE-2018-5856, no affected_versions
2386
2387CVE_STATUS[CVE-2018-5873] = "fixed-version: Fixed from version 4.11rc8"
2388
2389CVE_STATUS[CVE-2018-5953] = "fixed-version: Fixed from version 4.15rc2"
2390
2391CVE_STATUS[CVE-2018-5995] = "fixed-version: Fixed from version 4.15rc2"
2392
2393CVE_STATUS[CVE-2018-6412] = "fixed-version: Fixed from version 4.16rc5"
2394
2395CVE_STATUS[CVE-2018-6554] = "fixed-version: Fixed from version 4.17rc1"
2396
2397CVE_STATUS[CVE-2018-6555] = "fixed-version: Fixed from version 4.17rc1"
2398
2399# CVE-2018-6559 has no known resolution
2400
2401CVE_STATUS[CVE-2018-6927] = "fixed-version: Fixed from version 4.15rc9"
2402
2403CVE_STATUS[CVE-2018-7191] = "fixed-version: Fixed from version 4.14rc6"
2404
2405CVE_STATUS[CVE-2018-7273] = "fixed-version: Fixed from version 4.15rc2"
2406
2407CVE_STATUS[CVE-2018-7480] = "fixed-version: Fixed from version 4.11rc1"
2408
2409CVE_STATUS[CVE-2018-7492] = "fixed-version: Fixed from version 4.15rc3"
2410
2411CVE_STATUS[CVE-2018-7566] = "fixed-version: Fixed from version 4.16rc2"
2412
2413CVE_STATUS[CVE-2018-7740] = "fixed-version: Fixed from version 4.16rc7"
2414
2415CVE_STATUS[CVE-2018-7754] = "fixed-version: Fixed from version 4.15rc2"
2416
2417CVE_STATUS[CVE-2018-7755] = "fixed-version: Fixed from version 4.19rc5"
2418
2419CVE_STATUS[CVE-2018-7757] = "fixed-version: Fixed from version 4.16rc1"
2420
2421CVE_STATUS[CVE-2018-7995] = "fixed-version: Fixed from version 4.16rc5"
2422
2423CVE_STATUS[CVE-2018-8043] = "fixed-version: Fixed from version 4.16rc1"
2424
2425CVE_STATUS[CVE-2018-8087] = "fixed-version: Fixed from version 4.16rc1"
2426
2427CVE_STATUS[CVE-2018-8781] = "fixed-version: Fixed from version 4.16rc7"
2428
2429CVE_STATUS[CVE-2018-8822] = "fixed-version: Fixed from version 4.16rc7"
2430
2431CVE_STATUS[CVE-2018-8897] = "fixed-version: Fixed from version 4.16rc7"
2432
2433CVE_STATUS[CVE-2018-9363] = "fixed-version: Fixed from version 4.19rc1"
2434
2435CVE_STATUS[CVE-2018-9385] = "fixed-version: Fixed from version 4.17rc3"
2436
2437CVE_STATUS[CVE-2018-9415] = "fixed-version: Fixed from version 4.17rc3"
2438
2439CVE_STATUS[CVE-2018-9422] = "fixed-version: Fixed from version 4.6rc1"
2440
2441CVE_STATUS[CVE-2018-9465] = "fixed-version: Fixed from version 4.15rc6"
2442
2443CVE_STATUS[CVE-2018-9516] = "fixed-version: Fixed from version 4.18rc5"
2444
2445CVE_STATUS[CVE-2018-9517] = "fixed-version: Fixed from version 4.14rc1"
2446
2447CVE_STATUS[CVE-2018-9518] = "fixed-version: Fixed from version 4.16rc3"
2448
2449CVE_STATUS[CVE-2018-9568] = "fixed-version: Fixed from version 4.14rc4"
2450
2451CVE_STATUS[CVE-2019-0136] = "fixed-version: Fixed from version 5.2rc6"
2452
2453CVE_STATUS[CVE-2019-0145] = "fixed-version: Fixed from version 5.2rc1"
2454
2455CVE_STATUS[CVE-2019-0146] = "fixed-version: Fixed from version 5.2rc1"
2456
2457CVE_STATUS[CVE-2019-0147] = "fixed-version: Fixed from version 5.2rc1"
2458
2459CVE_STATUS[CVE-2019-0148] = "fixed-version: Fixed from version 5.2rc1"
2460
2461CVE_STATUS[CVE-2019-0149] = "fixed-version: Fixed from version 5.3rc1"
2462
2463CVE_STATUS[CVE-2019-0154] = "fixed-version: Fixed from version 5.4rc8"
2464
2465CVE_STATUS[CVE-2019-0155] = "fixed-version: Fixed from version 5.4rc8"
2466
2467CVE_STATUS[CVE-2019-10124] = "fixed-version: Fixed from version 5.1rc1"
2468
2469CVE_STATUS[CVE-2019-10125] = "fixed-version: Fixed from version 5.1rc1"
2470
2471CVE_STATUS[CVE-2019-10126] = "fixed-version: Fixed from version 5.2rc6"
2472
2473# CVE-2019-10140 has no known resolution
2474
2475CVE_STATUS[CVE-2019-10142] = "fixed-version: Fixed from version 5.2rc1"
2476
2477CVE_STATUS[CVE-2019-10207] = "fixed-version: Fixed from version 5.3rc3"
2478
2479CVE_STATUS[CVE-2019-10220] = "fixed-version: Fixed from version 5.4rc2"
2480
2481CVE_STATUS[CVE-2019-10638] = "fixed-version: Fixed from version 5.2rc1"
2482
2483CVE_STATUS[CVE-2019-10639] = "fixed-version: Fixed from version 5.1rc4"
2484
2485CVE_STATUS[CVE-2019-11085] = "fixed-version: Fixed from version 5.0rc3"
2486
2487CVE_STATUS[CVE-2019-11091] = "fixed-version: Fixed from version 5.2rc1"
2488
2489CVE_STATUS[CVE-2019-11135] = "fixed-version: Fixed from version 5.4rc8"
2490
2491CVE_STATUS[CVE-2019-11190] = "fixed-version: Fixed from version 4.8rc5"
2492
2493CVE_STATUS[CVE-2019-11191] = "fixed-version: Fixed from version 5.1rc1"
2494
2495CVE_STATUS[CVE-2019-1125] = "fixed-version: Fixed from version 5.3rc4"
2496
2497CVE_STATUS[CVE-2019-11477] = "fixed-version: Fixed from version 5.2rc6"
2498
2499CVE_STATUS[CVE-2019-11478] = "fixed-version: Fixed from version 5.2rc6"
2500
2501CVE_STATUS[CVE-2019-11479] = "fixed-version: Fixed from version 5.2rc6"
2502
2503CVE_STATUS[CVE-2019-11486] = "fixed-version: Fixed from version 5.1rc4"
2504
2505CVE_STATUS[CVE-2019-11487] = "fixed-version: Fixed from version 5.1rc5"
2506
2507CVE_STATUS[CVE-2019-11599] = "fixed-version: Fixed from version 5.1rc6"
2508
2509CVE_STATUS[CVE-2019-11683] = "fixed-version: Fixed from version 5.1"
2510
2511CVE_STATUS[CVE-2019-11810] = "fixed-version: Fixed from version 5.1rc1"
2512
2513CVE_STATUS[CVE-2019-11811] = "fixed-version: Fixed from version 5.1rc1"
2514
2515CVE_STATUS[CVE-2019-11815] = "fixed-version: Fixed from version 5.1rc4"
2516
2517CVE_STATUS[CVE-2019-11833] = "fixed-version: Fixed from version 5.2rc1"
2518
2519CVE_STATUS[CVE-2019-11884] = "fixed-version: Fixed from version 5.2rc1"
2520
2521CVE_STATUS[CVE-2019-12378] = "fixed-version: Fixed from version 5.2rc3"
2522
2523CVE_STATUS[CVE-2019-12379] = "fixed-version: Fixed from version 5.3rc1"
2524
2525CVE_STATUS[CVE-2019-12380] = "fixed-version: Fixed from version 5.2rc3"
2526
2527CVE_STATUS[CVE-2019-12381] = "fixed-version: Fixed from version 5.2rc3"
2528
2529CVE_STATUS[CVE-2019-12382] = "fixed-version: Fixed from version 5.3rc1"
2530
2531CVE_STATUS[CVE-2019-12454] = "fixed-version: Fixed from version 5.3rc1"
2532
2533CVE_STATUS[CVE-2019-12455] = "fixed-version: Fixed from version 5.3rc1"
2534
2535# CVE-2019-12456 has no known resolution
2536
2537CVE_STATUS[CVE-2019-12614] = "fixed-version: Fixed from version 5.3rc1"
2538
2539CVE_STATUS[CVE-2019-12615] = "fixed-version: Fixed from version 5.2rc4"
2540
2541CVE_STATUS[CVE-2019-12817] = "fixed-version: Fixed from version 5.2rc7"
2542
2543CVE_STATUS[CVE-2019-12818] = "fixed-version: Fixed from version 5.0"
2544
2545CVE_STATUS[CVE-2019-12819] = "fixed-version: Fixed from version 5.0rc8"
2546
2547CVE_STATUS[CVE-2019-12881] = "fixed-version: Fixed from version 4.18rc1"
2548
2549CVE_STATUS[CVE-2019-12984] = "fixed-version: Fixed from version 5.2rc6"
2550
2551CVE_STATUS[CVE-2019-13233] = "fixed-version: Fixed from version 5.2rc4"
2552
2553CVE_STATUS[CVE-2019-13272] = "fixed-version: Fixed from version 5.2"
2554
2555CVE_STATUS[CVE-2019-13631] = "fixed-version: Fixed from version 5.3rc1"
2556
2557CVE_STATUS[CVE-2019-13648] = "fixed-version: Fixed from version 5.3rc2"
2558
2559CVE_STATUS[CVE-2019-14283] = "fixed-version: Fixed from version 5.3rc1"
2560
2561CVE_STATUS[CVE-2019-14284] = "fixed-version: Fixed from version 5.3rc1"
2562
2563CVE_STATUS[CVE-2019-14615] = "fixed-version: Fixed from version 5.5rc7"
2564
2565CVE_STATUS[CVE-2019-14763] = "fixed-version: Fixed from version 4.17rc1"
2566
2567CVE_STATUS[CVE-2019-14814] = "fixed-version: Fixed from version 5.3"
2568
2569CVE_STATUS[CVE-2019-14815] = "fixed-version: Fixed from version 5.3"
2570
2571CVE_STATUS[CVE-2019-14816] = "fixed-version: Fixed from version 5.3"
2572
2573CVE_STATUS[CVE-2019-14821] = "fixed-version: Fixed from version 5.4rc1"
2574
2575CVE_STATUS[CVE-2019-14835] = "fixed-version: Fixed from version 5.3"
2576
2577CVE_STATUS[CVE-2019-14895] = "fixed-version: Fixed from version 5.5rc3"
2578
2579CVE_STATUS[CVE-2019-14896] = "fixed-version: Fixed from version 5.5"
2580
2581CVE_STATUS[CVE-2019-14897] = "fixed-version: Fixed from version 5.5"
2582
2583# CVE-2019-14898 has no known resolution
2584
2585CVE_STATUS[CVE-2019-14901] = "fixed-version: Fixed from version 5.5rc3"
2586
2587CVE_STATUS[CVE-2019-15030] = "fixed-version: Fixed from version 5.3rc8"
2588
2589CVE_STATUS[CVE-2019-15031] = "fixed-version: Fixed from version 5.3rc8"
2590
2591CVE_STATUS[CVE-2019-15090] = "fixed-version: Fixed from version 5.2rc2"
2592
2593CVE_STATUS[CVE-2019-15098] = "fixed-version: Fixed from version 5.4rc1"
2594
2595CVE_STATUS[CVE-2019-15099] = "fixed-version: Fixed from version 5.5rc1"
2596
2597CVE_STATUS[CVE-2019-15117] = "fixed-version: Fixed from version 5.3rc5"
2598
2599CVE_STATUS[CVE-2019-15118] = "fixed-version: Fixed from version 5.3rc5"
2600
2601CVE_STATUS[CVE-2019-15211] = "fixed-version: Fixed from version 5.3rc1"
2602
2603CVE_STATUS[CVE-2019-15212] = "fixed-version: Fixed from version 5.2rc3"
2604
2605CVE_STATUS[CVE-2019-15213] = "fixed-version: Fixed from version 5.3rc1"
2606
2607CVE_STATUS[CVE-2019-15214] = "fixed-version: Fixed from version 5.1rc6"
2608
2609CVE_STATUS[CVE-2019-15215] = "fixed-version: Fixed from version 5.3rc1"
2610
2611CVE_STATUS[CVE-2019-15216] = "fixed-version: Fixed from version 5.1"
2612
2613CVE_STATUS[CVE-2019-15217] = "fixed-version: Fixed from version 5.3rc1"
2614
2615CVE_STATUS[CVE-2019-15218] = "fixed-version: Fixed from version 5.2rc3"
2616
2617CVE_STATUS[CVE-2019-15219] = "fixed-version: Fixed from version 5.2rc3"
2618
2619CVE_STATUS[CVE-2019-15220] = "fixed-version: Fixed from version 5.3rc1"
2620
2621CVE_STATUS[CVE-2019-15221] = "fixed-version: Fixed from version 5.2"
2622
2623CVE_STATUS[CVE-2019-15222] = "fixed-version: Fixed from version 5.3rc3"
2624
2625CVE_STATUS[CVE-2019-15223] = "fixed-version: Fixed from version 5.2rc3"
2626
2627# CVE-2019-15239 has no known resolution
2628
2629# CVE-2019-15290 has no known resolution
2630
2631CVE_STATUS[CVE-2019-15291] = "fixed-version: Fixed from version 5.5rc1"
2632
2633CVE_STATUS[CVE-2019-15292] = "fixed-version: Fixed from version 5.1rc1"
2634
2635CVE_STATUS[CVE-2019-15504] = "fixed-version: Fixed from version 5.3"
2636
2637CVE_STATUS[CVE-2019-15505] = "fixed-version: Fixed from version 5.4rc1"
2638
2639CVE_STATUS[CVE-2019-15538] = "fixed-version: Fixed from version 5.3rc6"
2640
2641CVE_STATUS[CVE-2019-15666] = "fixed-version: Fixed from version 5.1"
2642
2643# CVE-2019-15791 has no known resolution
2644
2645# CVE-2019-15792 has no known resolution
2646
2647# CVE-2019-15793 has no known resolution
2648
2649CVE_STATUS[CVE-2019-15794] = "fixed-version: Fixed from version 5.12"
2650
2651CVE_STATUS[CVE-2019-15807] = "fixed-version: Fixed from version 5.2rc3"
2652
2653# CVE-2019-15902 has no known resolution
2654
2655CVE_STATUS[CVE-2019-15916] = "fixed-version: Fixed from version 5.1rc1"
2656
2657CVE_STATUS[CVE-2019-15917] = "fixed-version: Fixed from version 5.1rc1"
2658
2659CVE_STATUS[CVE-2019-15918] = "fixed-version: Fixed from version 5.1rc6"
2660
2661CVE_STATUS[CVE-2019-15919] = "fixed-version: Fixed from version 5.1rc6"
2662
2663CVE_STATUS[CVE-2019-15920] = "fixed-version: Fixed from version 5.1rc6"
2664
2665CVE_STATUS[CVE-2019-15921] = "fixed-version: Fixed from version 5.1rc3"
2666
2667CVE_STATUS[CVE-2019-15922] = "fixed-version: Fixed from version 5.1rc4"
2668
2669CVE_STATUS[CVE-2019-15923] = "fixed-version: Fixed from version 5.1rc4"
2670
2671CVE_STATUS[CVE-2019-15924] = "fixed-version: Fixed from version 5.1rc4"
2672
2673CVE_STATUS[CVE-2019-15925] = "fixed-version: Fixed from version 5.3rc1"
2674
2675CVE_STATUS[CVE-2019-15926] = "fixed-version: Fixed from version 5.3rc1"
2676
2677CVE_STATUS[CVE-2019-15927] = "fixed-version: Fixed from version 5.0rc2"
2678
2679# CVE-2019-16089 has no known resolution
2680
2681CVE_STATUS[CVE-2019-16229] = "fixed-version: Fixed from version 5.5rc1"
2682
2683CVE_STATUS[CVE-2019-16230] = "fixed-version: Fixed from version 5.5rc1"
2684
2685CVE_STATUS[CVE-2019-16231] = "fixed-version: Fixed from version 5.4rc6"
2686
2687CVE_STATUS[CVE-2019-16232] = "fixed-version: Fixed from version 5.5rc1"
2688
2689CVE_STATUS[CVE-2019-16233] = "fixed-version: Fixed from version 5.4rc5"
2690
2691CVE_STATUS[CVE-2019-16234] = "fixed-version: Fixed from version 5.4rc4"
2692
2693CVE_STATUS[CVE-2019-16413] = "fixed-version: Fixed from version 5.1rc1"
2694
2695CVE_STATUS[CVE-2019-16714] = "fixed-version: Fixed from version 5.3rc7"
2696
2697CVE_STATUS[CVE-2019-16746] = "fixed-version: Fixed from version 5.4rc2"
2698
2699CVE_STATUS[CVE-2019-16921] = "fixed-version: Fixed from version 4.17rc1"
2700
2701CVE_STATUS[CVE-2019-16994] = "fixed-version: Fixed from version 5.0"
2702
2703CVE_STATUS[CVE-2019-16995] = "fixed-version: Fixed from version 5.1rc1"
2704
2705CVE_STATUS[CVE-2019-17052] = "fixed-version: Fixed from version 5.4rc1"
2706
2707CVE_STATUS[CVE-2019-17053] = "fixed-version: Fixed from version 5.4rc1"
2708
2709CVE_STATUS[CVE-2019-17054] = "fixed-version: Fixed from version 5.4rc1"
2710
2711CVE_STATUS[CVE-2019-17055] = "fixed-version: Fixed from version 5.4rc1"
2712
2713CVE_STATUS[CVE-2019-17056] = "fixed-version: Fixed from version 5.4rc1"
2714
2715CVE_STATUS[CVE-2019-17075] = "fixed-version: Fixed from version 5.4rc3"
2716
2717CVE_STATUS[CVE-2019-17133] = "fixed-version: Fixed from version 5.4rc4"
2718
2719CVE_STATUS[CVE-2019-17351] = "fixed-version: Fixed from version 5.3rc1"
2720
2721CVE_STATUS[CVE-2019-17666] = "fixed-version: Fixed from version 5.4rc6"
2722
2723CVE_STATUS[CVE-2019-18198] = "fixed-version: Fixed from version 5.4rc1"
2724
2725CVE_STATUS[CVE-2019-18282] = "fixed-version: Fixed from version 5.4rc6"
2726
2727CVE_STATUS[CVE-2019-18660] = "fixed-version: Fixed from version 5.5rc1"
2728
2729CVE_STATUS[CVE-2019-18675] = "fixed-version: Fixed from version 4.17rc5"
2730
2731# CVE-2019-18680 has no known resolution
2732
2733CVE_STATUS[CVE-2019-18683] = "fixed-version: Fixed from version 5.5rc1"
2734
2735CVE_STATUS[CVE-2019-18786] = "fixed-version: Fixed from version 5.5rc1"
2736
2737CVE_STATUS[CVE-2019-18805] = "fixed-version: Fixed from version 5.1rc7"
2738
2739CVE_STATUS[CVE-2019-18806] = "fixed-version: Fixed from version 5.4rc2"
2740
2741CVE_STATUS[CVE-2019-18807] = "fixed-version: Fixed from version 5.4rc2"
2742
2743CVE_STATUS[CVE-2019-18808] = "fixed-version: Fixed from version 5.5rc1"
2744
2745CVE_STATUS[CVE-2019-18809] = "fixed-version: Fixed from version 5.5rc1"
2746
2747CVE_STATUS[CVE-2019-18810] = "fixed-version: Fixed from version 5.4rc2"
2748
2749CVE_STATUS[CVE-2019-18811] = "fixed-version: Fixed from version 5.4rc7"
2750
2751CVE_STATUS[CVE-2019-18812] = "fixed-version: Fixed from version 5.4rc7"
2752
2753CVE_STATUS[CVE-2019-18813] = "fixed-version: Fixed from version 5.4rc6"
2754
2755CVE_STATUS[CVE-2019-18814] = "fixed-version: Fixed from version 5.7rc7"
2756
2757CVE_STATUS[CVE-2019-18885] = "fixed-version: Fixed from version 5.1rc1"
2758
2759CVE_STATUS[CVE-2019-19036] = "fixed-version: Fixed from version 5.4rc1"
2760
2761CVE_STATUS[CVE-2019-19037] = "fixed-version: Fixed from version 5.5rc3"
2762
2763CVE_STATUS[CVE-2019-19039] = "fixed-version: Fixed from version 5.7rc1"
2764
2765CVE_STATUS[CVE-2019-19043] = "fixed-version: Fixed from version 5.5rc1"
2766
2767CVE_STATUS[CVE-2019-19044] = "fixed-version: Fixed from version 5.4rc6"
2768
2769CVE_STATUS[CVE-2019-19045] = "fixed-version: Fixed from version 5.4rc6"
2770
2771CVE_STATUS[CVE-2019-19046] = "fixed-version: Fixed from version 5.5rc1"
2772
2773CVE_STATUS[CVE-2019-19047] = "fixed-version: Fixed from version 5.4rc6"
2774
2775CVE_STATUS[CVE-2019-19048] = "fixed-version: Fixed from version 5.4rc3"
2776
2777CVE_STATUS[CVE-2019-19049] = "fixed-version: Fixed from version 5.4rc5"
2778
2779CVE_STATUS[CVE-2019-19050] = "fixed-version: Fixed from version 5.5rc1"
2780
2781CVE_STATUS[CVE-2019-19051] = "fixed-version: Fixed from version 5.4rc6"
2782
2783CVE_STATUS[CVE-2019-19052] = "fixed-version: Fixed from version 5.4rc7"
2784
2785CVE_STATUS[CVE-2019-19053] = "fixed-version: Fixed from version 5.5rc1"
2786
2787CVE_STATUS[CVE-2019-19054] = "fixed-version: Fixed from version 5.5rc1"
2788
2789CVE_STATUS[CVE-2019-19055] = "fixed-version: Fixed from version 5.4rc4"
2790
2791CVE_STATUS[CVE-2019-19056] = "fixed-version: Fixed from version 5.5rc1"
2792
2793CVE_STATUS[CVE-2019-19057] = "fixed-version: Fixed from version 5.5rc1"
2794
2795CVE_STATUS[CVE-2019-19058] = "fixed-version: Fixed from version 5.4rc4"
2796
2797CVE_STATUS[CVE-2019-19059] = "fixed-version: Fixed from version 5.4rc4"
2798
2799CVE_STATUS[CVE-2019-19060] = "fixed-version: Fixed from version 5.4rc3"
2800
2801CVE_STATUS[CVE-2019-19061] = "fixed-version: Fixed from version 5.4rc3"
2802
2803CVE_STATUS[CVE-2019-19062] = "fixed-version: Fixed from version 5.5rc1"
2804
2805CVE_STATUS[CVE-2019-19063] = "fixed-version: Fixed from version 5.5rc1"
2806
2807CVE_STATUS[CVE-2019-19064] = "fixed-version: Fixed from version 5.5rc1"
2808
2809CVE_STATUS[CVE-2019-19065] = "fixed-version: Fixed from version 5.4rc3"
2810
2811CVE_STATUS[CVE-2019-19066] = "fixed-version: Fixed from version 5.5rc1"
2812
2813CVE_STATUS[CVE-2019-19067] = "fixed-version: Fixed from version 5.4rc2"
2814
2815CVE_STATUS[CVE-2019-19068] = "fixed-version: Fixed from version 5.5rc1"
2816
2817CVE_STATUS[CVE-2019-19069] = "fixed-version: Fixed from version 5.4rc3"
2818
2819CVE_STATUS[CVE-2019-19070] = "fixed-version: Fixed from version 5.5rc1"
2820
2821CVE_STATUS[CVE-2019-19071] = "fixed-version: Fixed from version 5.5rc1"
2822
2823CVE_STATUS[CVE-2019-19072] = "fixed-version: Fixed from version 5.4rc1"
2824
2825CVE_STATUS[CVE-2019-19073] = "fixed-version: Fixed from version 5.4rc1"
2826
2827CVE_STATUS[CVE-2019-19074] = "fixed-version: Fixed from version 5.4rc1"
2828
2829CVE_STATUS[CVE-2019-19075] = "fixed-version: Fixed from version 5.4rc2"
2830
2831CVE_STATUS[CVE-2019-19076] = "fixed-version: Fixed from version 5.4rc1"
2832
2833CVE_STATUS[CVE-2019-19077] = "fixed-version: Fixed from version 5.4rc1"
2834
2835CVE_STATUS[CVE-2019-19078] = "fixed-version: Fixed from version 5.5rc1"
2836
2837CVE_STATUS[CVE-2019-19079] = "fixed-version: Fixed from version 5.3"
2838
2839CVE_STATUS[CVE-2019-19080] = "fixed-version: Fixed from version 5.4rc1"
2840
2841CVE_STATUS[CVE-2019-19081] = "fixed-version: Fixed from version 5.4rc1"
2842
2843CVE_STATUS[CVE-2019-19082] = "fixed-version: Fixed from version 5.4rc1"
2844
2845CVE_STATUS[CVE-2019-19083] = "fixed-version: Fixed from version 5.4rc2"
2846
2847CVE_STATUS[CVE-2019-19227] = "fixed-version: Fixed from version 5.1rc3"
2848
2849CVE_STATUS[CVE-2019-19241] = "fixed-version: Fixed from version 5.5rc1"
2850
2851CVE_STATUS[CVE-2019-19252] = "fixed-version: Fixed from version 5.5rc1"
2852
2853CVE_STATUS[CVE-2019-19318] = "fixed-version: Fixed from version 5.4rc1"
2854
2855CVE_STATUS[CVE-2019-19319] = "fixed-version: Fixed from version 5.2rc1"
2856
2857CVE_STATUS[CVE-2019-19332] = "fixed-version: Fixed from version 5.5rc1"
2858
2859CVE_STATUS[CVE-2019-19338] = "fixed-version: Fixed from version 5.5rc1"
2860
2861CVE_STATUS[CVE-2019-19377] = "fixed-version: Fixed from version 5.7rc1"
2862
2863# CVE-2019-19378 has no known resolution
2864
2865CVE_STATUS[CVE-2019-19447] = "fixed-version: Fixed from version 5.5rc1"
2866
2867CVE_STATUS[CVE-2019-19448] = "fixed-version: Fixed from version 5.9rc1"
2868
2869CVE_STATUS[CVE-2019-19449] = "fixed-version: Fixed from version 5.10rc1"
2870
2871CVE_STATUS[CVE-2019-19462] = "fixed-version: Fixed from version 5.8rc1"
2872
2873CVE_STATUS[CVE-2019-19523] = "fixed-version: Fixed from version 5.4rc3"
2874
2875CVE_STATUS[CVE-2019-19524] = "fixed-version: Fixed from version 5.4rc8"
2876
2877CVE_STATUS[CVE-2019-19525] = "fixed-version: Fixed from version 5.4rc2"
2878
2879CVE_STATUS[CVE-2019-19526] = "fixed-version: Fixed from version 5.4rc4"
2880
2881CVE_STATUS[CVE-2019-19527] = "fixed-version: Fixed from version 5.3rc4"
2882
2883CVE_STATUS[CVE-2019-19528] = "fixed-version: Fixed from version 5.4rc3"
2884
2885CVE_STATUS[CVE-2019-19529] = "fixed-version: Fixed from version 5.4rc7"
2886
2887CVE_STATUS[CVE-2019-19530] = "fixed-version: Fixed from version 5.3rc5"
2888
2889CVE_STATUS[CVE-2019-19531] = "fixed-version: Fixed from version 5.3rc4"
2890
2891CVE_STATUS[CVE-2019-19532] = "fixed-version: Fixed from version 5.4rc6"
2892
2893CVE_STATUS[CVE-2019-19533] = "fixed-version: Fixed from version 5.4rc1"
2894
2895CVE_STATUS[CVE-2019-19534] = "fixed-version: Fixed from version 5.4rc7"
2896
2897CVE_STATUS[CVE-2019-19535] = "fixed-version: Fixed from version 5.3rc4"
2898
2899CVE_STATUS[CVE-2019-19536] = "fixed-version: Fixed from version 5.3rc4"
2900
2901CVE_STATUS[CVE-2019-19537] = "fixed-version: Fixed from version 5.3rc5"
2902
2903CVE_STATUS[CVE-2019-19543] = "fixed-version: Fixed from version 5.2rc1"
2904
2905CVE_STATUS[CVE-2019-19602] = "fixed-version: Fixed from version 5.5rc1"
2906
2907CVE_STATUS[CVE-2019-19767] = "fixed-version: Fixed from version 5.5rc1"
2908
2909CVE_STATUS[CVE-2019-19768] = "fixed-version: Fixed from version 5.6rc4"
2910
2911CVE_STATUS[CVE-2019-19769] = "fixed-version: Fixed from version 5.6rc5"
2912
2913CVE_STATUS[CVE-2019-19770] = "fixed-version: Fixed from version 5.9rc1"
2914
2915CVE_STATUS[CVE-2019-19807] = "fixed-version: Fixed from version 5.4rc7"
2916
2917CVE_STATUS[CVE-2019-19813] = "fixed-version: Fixed from version 5.2rc1"
2918
2919# CVE-2019-19814 has no known resolution
2920
2921CVE_STATUS[CVE-2019-19815] = "fixed-version: Fixed from version 5.3rc1"
2922
2923CVE_STATUS[CVE-2019-19816] = "fixed-version: Fixed from version 5.2rc1"
2924
2925CVE_STATUS[CVE-2019-19922] = "fixed-version: Fixed from version 5.4rc1"
2926
2927CVE_STATUS[CVE-2019-19927] = "fixed-version: Fixed from version 5.1rc6"
2928
2929CVE_STATUS[CVE-2019-19947] = "fixed-version: Fixed from version 5.5rc3"
2930
2931CVE_STATUS[CVE-2019-19965] = "fixed-version: Fixed from version 5.5rc2"
2932
2933CVE_STATUS[CVE-2019-19966] = "fixed-version: Fixed from version 5.2rc1"
2934
2935CVE_STATUS[CVE-2019-1999] = "fixed-version: Fixed from version 5.1rc3"
2936
2937CVE_STATUS[CVE-2019-20054] = "fixed-version: Fixed from version 5.1rc3"
2938
2939CVE_STATUS[CVE-2019-20095] = "fixed-version: Fixed from version 5.2rc1"
2940
2941CVE_STATUS[CVE-2019-20096] = "fixed-version: Fixed from version 5.1rc4"
2942
2943CVE_STATUS[CVE-2019-2024] = "fixed-version: Fixed from version 4.16rc1"
2944
2945CVE_STATUS[CVE-2019-2025] = "fixed-version: Fixed from version 4.20rc5"
2946
2947CVE_STATUS[CVE-2019-20422] = "fixed-version: Fixed from version 5.4rc1"
2948
2949CVE_STATUS[CVE-2019-2054] = "fixed-version: Fixed from version 4.8rc1"
2950
2951CVE_STATUS[CVE-2019-20636] = "fixed-version: Fixed from version 5.5rc6"
2952
2953# CVE-2019-20794 has no known resolution
2954
2955CVE_STATUS[CVE-2019-20806] = "fixed-version: Fixed from version 5.2rc1"
2956
2957CVE_STATUS[CVE-2019-20810] = "fixed-version: Fixed from version 5.6rc1"
2958
2959CVE_STATUS[CVE-2019-20811] = "fixed-version: Fixed from version 5.1rc3"
2960
2961CVE_STATUS[CVE-2019-20812] = "fixed-version: Fixed from version 5.5rc3"
2962
2963CVE_STATUS[CVE-2019-20908] = "fixed-version: Fixed from version 5.4rc1"
2964
2965CVE_STATUS[CVE-2019-20934] = "fixed-version: Fixed from version 5.3rc2"
2966
2967CVE_STATUS[CVE-2019-2101] = "fixed-version: Fixed from version 5.1rc1"
2968
2969CVE_STATUS[CVE-2019-2181] = "fixed-version: Fixed from version 5.2rc1"
2970
2971CVE_STATUS[CVE-2019-2182] = "fixed-version: Fixed from version 4.16rc3"
2972
2973CVE_STATUS[CVE-2019-2213] = "fixed-version: Fixed from version 5.2rc6"
2974
2975CVE_STATUS[CVE-2019-2214] = "fixed-version: Fixed from version 5.3rc2"
2976
2977CVE_STATUS[CVE-2019-2215] = "fixed-version: Fixed from version 4.16rc1"
2978
2979CVE_STATUS[CVE-2019-25044] = "fixed-version: Fixed from version 5.2rc4"
2980
2981CVE_STATUS[CVE-2019-25045] = "fixed-version: Fixed from version 5.1"
2982
2983CVE_STATUS[CVE-2019-3016] = "fixed-version: Fixed from version 5.6rc1"
2984
2985CVE_STATUS[CVE-2019-3459] = "fixed-version: Fixed from version 5.1rc1"
2986
2987CVE_STATUS[CVE-2019-3460] = "fixed-version: Fixed from version 5.1rc1"
2988
2989CVE_STATUS[CVE-2019-3701] = "fixed-version: Fixed from version 5.0rc3"
2990
2991CVE_STATUS[CVE-2019-3819] = "fixed-version: Fixed from version 5.0rc6"
2992
2993CVE_STATUS[CVE-2019-3837] = "fixed-version: Fixed from version 3.18rc1"
2994
2995CVE_STATUS[CVE-2019-3846] = "fixed-version: Fixed from version 5.2rc6"
2996
2997CVE_STATUS[CVE-2019-3874] = "fixed-version: Fixed from version 5.2rc1"
2998
2999CVE_STATUS[CVE-2019-3882] = "fixed-version: Fixed from version 5.1rc4"
3000
3001CVE_STATUS[CVE-2019-3887] = "fixed-version: Fixed from version 5.1rc4"
3002
3003CVE_STATUS[CVE-2019-3892] = "fixed-version: Fixed from version 5.1rc6"
3004
3005CVE_STATUS[CVE-2019-3896] = "fixed-version: Fixed from version 2.6.35rc1"
3006
3007CVE_STATUS[CVE-2019-3900] = "fixed-version: Fixed from version 5.2rc4"
3008
3009CVE_STATUS[CVE-2019-3901] = "fixed-version: Fixed from version 4.6rc6"
3010
3011CVE_STATUS[CVE-2019-5108] = "fixed-version: Fixed from version 5.3"
3012
3013# Skipping CVE-2019-5489, no affected_versions
3014
3015CVE_STATUS[CVE-2019-6133] = "fixed-version: Fixed from version 5.0rc2"
3016
3017CVE_STATUS[CVE-2019-6974] = "fixed-version: Fixed from version 5.0rc6"
3018
3019CVE_STATUS[CVE-2019-7221] = "fixed-version: Fixed from version 5.0rc6"
3020
3021CVE_STATUS[CVE-2019-7222] = "fixed-version: Fixed from version 5.0rc6"
3022
3023CVE_STATUS[CVE-2019-7308] = "fixed-version: Fixed from version 5.0rc3"
3024
3025CVE_STATUS[CVE-2019-8912] = "fixed-version: Fixed from version 5.0rc8"
3026
3027CVE_STATUS[CVE-2019-8956] = "fixed-version: Fixed from version 5.0rc6"
3028
3029CVE_STATUS[CVE-2019-8980] = "fixed-version: Fixed from version 5.1rc1"
3030
3031CVE_STATUS[CVE-2019-9003] = "fixed-version: Fixed from version 5.0rc4"
3032
3033CVE_STATUS[CVE-2019-9162] = "fixed-version: Fixed from version 5.0rc7"
3034
3035CVE_STATUS[CVE-2019-9213] = "fixed-version: Fixed from version 5.0"
3036
3037CVE_STATUS[CVE-2019-9245] = "fixed-version: Fixed from version 5.0rc1"
3038
3039CVE_STATUS[CVE-2019-9444] = "fixed-version: Fixed from version 4.15rc2"
3040
3041CVE_STATUS[CVE-2019-9445] = "fixed-version: Fixed from version 5.1rc1"
3042
3043CVE_STATUS[CVE-2019-9453] = "fixed-version: Fixed from version 5.2rc1"
3044
3045CVE_STATUS[CVE-2019-9454] = "fixed-version: Fixed from version 4.15rc9"
3046
3047CVE_STATUS[CVE-2019-9455] = "fixed-version: Fixed from version 5.0rc1"
3048
3049CVE_STATUS[CVE-2019-9456] = "fixed-version: Fixed from version 4.16rc6"
3050
3051CVE_STATUS[CVE-2019-9457] = "fixed-version: Fixed from version 4.13rc1"
3052
3053CVE_STATUS[CVE-2019-9458] = "fixed-version: Fixed from version 4.19rc7"
3054
3055CVE_STATUS[CVE-2019-9466] = "fixed-version: Fixed from version 5.1rc1"
3056
3057CVE_STATUS[CVE-2019-9500] = "fixed-version: Fixed from version 5.1rc1"
3058
3059CVE_STATUS[CVE-2019-9503] = "fixed-version: Fixed from version 5.1rc1"
3060
3061CVE_STATUS[CVE-2019-9506] = "fixed-version: Fixed from version 5.2"
3062
3063CVE_STATUS[CVE-2019-9857] = "fixed-version: Fixed from version 5.1rc2"
3064
3065CVE_STATUS[CVE-2020-0009] = "fixed-version: Fixed from version 5.6rc3"
3066
3067CVE_STATUS[CVE-2020-0030] = "fixed-version: Fixed from version 4.16rc3"
3068
3069CVE_STATUS[CVE-2020-0041] = "fixed-version: Fixed from version 5.5rc2"
3070
3071CVE_STATUS[CVE-2020-0066] = "fixed-version: Fixed from version 4.3rc7"
3072
3073CVE_STATUS[CVE-2020-0067] = "fixed-version: Fixed from version 5.5rc1"
3074
3075CVE_STATUS[CVE-2020-0110] = "fixed-version: Fixed from version 5.6rc2"
3076
3077CVE_STATUS[CVE-2020-0255] = "fixed-version: Fixed from version 5.7rc4"
3078
3079CVE_STATUS[CVE-2020-0305] = "fixed-version: Fixed from version 5.5rc6"
3080
3081# CVE-2020-0347 has no known resolution
3082
3083CVE_STATUS[CVE-2020-0404] = "fixed-version: Fixed from version 5.6rc1"
3084
3085CVE_STATUS[CVE-2020-0423] = "fixed-version: Fixed from version 5.10rc1"
3086
3087CVE_STATUS[CVE-2020-0427] = "fixed-version: Fixed from version 5.5rc1"
3088
3089CVE_STATUS[CVE-2020-0429] = "fixed-version: Fixed from version 4.14rc4"
3090
3091CVE_STATUS[CVE-2020-0430] = "fixed-version: Fixed from version 4.18rc1"
3092
3093CVE_STATUS[CVE-2020-0431] = "fixed-version: Fixed from version 5.5rc6"
3094
3095CVE_STATUS[CVE-2020-0432] = "fixed-version: Fixed from version 5.6rc1"
3096
3097CVE_STATUS[CVE-2020-0433] = "fixed-version: Fixed from version 4.19rc1"
3098
3099CVE_STATUS[CVE-2020-0435] = "fixed-version: Fixed from version 4.19rc1"
3100
3101CVE_STATUS[CVE-2020-0444] = "fixed-version: Fixed from version 5.6rc4"
3102
3103CVE_STATUS[CVE-2020-0465] = "fixed-version: Fixed from version 5.9rc4"
3104
3105CVE_STATUS[CVE-2020-0466] = "fixed-version: Fixed from version 5.9rc2"
3106
3107CVE_STATUS[CVE-2020-0543] = "fixed-version: Fixed from version 5.8rc1"
3108
3109CVE_STATUS[CVE-2020-10135] = "fixed-version: Fixed from version 5.8rc1"
3110
3111CVE_STATUS[CVE-2020-10690] = "fixed-version: Fixed from version 5.5rc5"
3112
3113# CVE-2020-10708 has no known resolution
3114
3115CVE_STATUS[CVE-2020-10711] = "fixed-version: Fixed from version 5.7rc6"
3116
3117CVE_STATUS[CVE-2020-10720] = "fixed-version: Fixed from version 5.2rc3"
3118
3119CVE_STATUS[CVE-2020-10732] = "fixed-version: Fixed from version 5.7"
3120
3121CVE_STATUS[CVE-2020-10742] = "fixed-version: Fixed from version 3.16rc1"
3122
3123CVE_STATUS[CVE-2020-10751] = "fixed-version: Fixed from version 5.7rc4"
3124
3125CVE_STATUS[CVE-2020-10757] = "fixed-version: Fixed from version 5.8rc1"
3126
3127CVE_STATUS[CVE-2020-10766] = "fixed-version: Fixed from version 5.8rc1"
3128
3129CVE_STATUS[CVE-2020-10767] = "fixed-version: Fixed from version 5.8rc1"
3130
3131CVE_STATUS[CVE-2020-10768] = "fixed-version: Fixed from version 5.8rc1"
3132
3133CVE_STATUS[CVE-2020-10769] = "fixed-version: Fixed from version 5.0rc3"
3134
3135CVE_STATUS[CVE-2020-10773] = "fixed-version: Fixed from version 5.4rc6"
3136
3137# CVE-2020-10774 has no known resolution
3138
3139CVE_STATUS[CVE-2020-10781] = "fixed-version: Fixed from version 5.8rc6"
3140
3141CVE_STATUS[CVE-2020-10942] = "fixed-version: Fixed from version 5.6rc4"
3142
3143CVE_STATUS[CVE-2020-11494] = "fixed-version: Fixed from version 5.7rc1"
3144
3145CVE_STATUS[CVE-2020-11565] = "fixed-version: Fixed from version 5.7rc1"
3146
3147CVE_STATUS[CVE-2020-11608] = "fixed-version: Fixed from version 5.7rc1"
3148
3149CVE_STATUS[CVE-2020-11609] = "fixed-version: Fixed from version 5.7rc1"
3150
3151CVE_STATUS[CVE-2020-11668] = "fixed-version: Fixed from version 5.7rc1"
3152
3153CVE_STATUS[CVE-2020-11669] = "fixed-version: Fixed from version 5.2rc1"
3154
3155# CVE-2020-11725 has no known resolution
3156
3157CVE_STATUS[CVE-2020-11884] = "fixed-version: Fixed from version 5.7rc4"
3158
3159# CVE-2020-11935 has no known resolution
3160
3161CVE_STATUS[CVE-2020-12114] = "fixed-version: Fixed from version 5.3rc1"
3162
3163CVE_STATUS[CVE-2020-12351] = "fixed-version: Fixed from version 5.10rc1"
3164
3165CVE_STATUS[CVE-2020-12352] = "fixed-version: Fixed from version 5.10rc1"
3166
3167CVE_STATUS[CVE-2020-12362] = "fixed-version: Fixed from version 5.11rc1"
3168
3169CVE_STATUS[CVE-2020-12363] = "fixed-version: Fixed from version 5.11rc1"
3170
3171CVE_STATUS[CVE-2020-12364] = "fixed-version: Fixed from version 5.11rc1"
3172
3173CVE_STATUS[CVE-2020-12464] = "fixed-version: Fixed from version 5.7rc3"
3174
3175CVE_STATUS[CVE-2020-12465] = "fixed-version: Fixed from version 5.6rc6"
3176
3177CVE_STATUS[CVE-2020-12652] = "fixed-version: Fixed from version 5.5rc7"
3178
3179CVE_STATUS[CVE-2020-12653] = "fixed-version: Fixed from version 5.6rc1"
3180
3181CVE_STATUS[CVE-2020-12654] = "fixed-version: Fixed from version 5.6rc1"
3182
3183CVE_STATUS[CVE-2020-12655] = "fixed-version: Fixed from version 5.7rc1"
3184
3185CVE_STATUS[CVE-2020-12656] = "fixed-version: Fixed from version 5.8rc1"
3186
3187CVE_STATUS[CVE-2020-12657] = "fixed-version: Fixed from version 5.7rc1"
3188
3189CVE_STATUS[CVE-2020-12659] = "fixed-version: Fixed from version 5.7rc2"
3190
3191CVE_STATUS[CVE-2020-12768] = "fixed-version: Fixed from version 5.6rc4"
3192
3193CVE_STATUS[CVE-2020-12769] = "fixed-version: Fixed from version 5.5rc6"
3194
3195CVE_STATUS[CVE-2020-12770] = "fixed-version: Fixed from version 5.7rc3"
3196
3197CVE_STATUS[CVE-2020-12771] = "fixed-version: Fixed from version 5.8rc2"
3198
3199CVE_STATUS[CVE-2020-12826] = "fixed-version: Fixed from version 5.7rc1"
3200
3201CVE_STATUS[CVE-2020-12888] = "fixed-version: Fixed from version 5.8rc1"
3202
3203CVE_STATUS[CVE-2020-12912] = "fixed-version: Fixed from version 5.10rc4"
3204
3205CVE_STATUS[CVE-2020-13143] = "fixed-version: Fixed from version 5.7rc6"
3206
3207CVE_STATUS[CVE-2020-13974] = "fixed-version: Fixed from version 5.8rc1"
3208
3209# CVE-2020-14304 has no known resolution
3210
3211CVE_STATUS[CVE-2020-14305] = "fixed-version: Fixed from version 4.12rc1"
3212
3213CVE_STATUS[CVE-2020-14314] = "fixed-version: Fixed from version 5.9rc2"
3214
3215CVE_STATUS[CVE-2020-14331] = "fixed-version: Fixed from version 5.9rc1"
3216
3217CVE_STATUS[CVE-2020-14351] = "fixed-version: Fixed from version 5.10rc1"
3218
3219CVE_STATUS[CVE-2020-14353] = "fixed-version: Fixed from version 4.14rc3"
3220
3221CVE_STATUS[CVE-2020-14356] = "fixed-version: Fixed from version 5.8rc5"
3222
3223CVE_STATUS[CVE-2020-14381] = "fixed-version: Fixed from version 5.6rc6"
3224
3225CVE_STATUS[CVE-2020-14385] = "fixed-version: Fixed from version 5.9rc4"
3226
3227CVE_STATUS[CVE-2020-14386] = "fixed-version: Fixed from version 5.9rc4"
3228
3229CVE_STATUS[CVE-2020-14390] = "fixed-version: Fixed from version 5.9rc6"
3230
3231CVE_STATUS[CVE-2020-14416] = "fixed-version: Fixed from version 5.5"
3232
3233CVE_STATUS[CVE-2020-15393] = "fixed-version: Fixed from version 5.8rc3"
3234
3235CVE_STATUS[CVE-2020-15436] = "fixed-version: Fixed from version 5.8rc2"
3236
3237CVE_STATUS[CVE-2020-15437] = "fixed-version: Fixed from version 5.8rc7"
3238
3239CVE_STATUS[CVE-2020-15780] = "fixed-version: Fixed from version 5.8rc3"
3240
3241# CVE-2020-15802 has no known resolution
3242
3243CVE_STATUS[CVE-2020-15852] = "fixed-version: Fixed from version 5.8rc6"
3244
3245CVE_STATUS[CVE-2020-16119] = "fixed-version: Fixed from version 5.15rc2"
3246
3247CVE_STATUS[CVE-2020-16120] = "fixed-version: Fixed from version 5.8rc1"
3248
3249CVE_STATUS[CVE-2020-16166] = "fixed-version: Fixed from version 5.8"
3250
3251CVE_STATUS[CVE-2020-1749] = "fixed-version: Fixed from version 5.5rc1"
3252
3253CVE_STATUS[CVE-2020-24394] = "fixed-version: Fixed from version 5.8rc4"
3254
3255CVE_STATUS[CVE-2020-24490] = "fixed-version: Fixed from version 5.8"
3256
3257# CVE-2020-24502 has no known resolution
3258
3259# CVE-2020-24503 has no known resolution
3260
3261CVE_STATUS[CVE-2020-24504] = "fixed-version: Fixed from version 5.12rc1"
3262
3263CVE_STATUS[CVE-2020-24586] = "fixed-version: Fixed from version 5.13rc4"
3264
3265CVE_STATUS[CVE-2020-24587] = "fixed-version: Fixed from version 5.13rc4"
3266
3267CVE_STATUS[CVE-2020-24588] = "fixed-version: Fixed from version 5.13rc4"
3268
3269CVE_STATUS[CVE-2020-25211] = "fixed-version: Fixed from version 5.9rc7"
3270
3271CVE_STATUS[CVE-2020-25212] = "fixed-version: Fixed from version 5.9rc1"
3272
3273# CVE-2020-25220 has no known resolution
3274
3275CVE_STATUS[CVE-2020-25221] = "fixed-version: Fixed from version 5.9rc4"
3276
3277CVE_STATUS[CVE-2020-25284] = "fixed-version: Fixed from version 5.9rc5"
3278
3279CVE_STATUS[CVE-2020-25285] = "fixed-version: Fixed from version 5.9rc4"
3280
3281CVE_STATUS[CVE-2020-25639] = "fixed-version: Fixed from version 5.12rc1"
3282
3283CVE_STATUS[CVE-2020-25641] = "fixed-version: Fixed from version 5.9rc4"
3284
3285CVE_STATUS[CVE-2020-25643] = "fixed-version: Fixed from version 5.9rc7"
3286
3287CVE_STATUS[CVE-2020-25645] = "fixed-version: Fixed from version 5.9rc7"
3288
3289CVE_STATUS[CVE-2020-25656] = "fixed-version: Fixed from version 5.10rc2"
3290
3291# CVE-2020-25661 has no known resolution
3292
3293# CVE-2020-25662 has no known resolution
3294
3295CVE_STATUS[CVE-2020-25668] = "fixed-version: Fixed from version 5.10rc3"
3296
3297CVE_STATUS[CVE-2020-25669] = "fixed-version: Fixed from version 5.10rc5"
3298
3299CVE_STATUS[CVE-2020-25670] = "fixed-version: Fixed from version 5.12rc7"
3300
3301CVE_STATUS[CVE-2020-25671] = "fixed-version: Fixed from version 5.12rc7"
3302
3303CVE_STATUS[CVE-2020-25672] = "fixed-version: Fixed from version 5.12rc7"
3304
3305CVE_STATUS[CVE-2020-25673] = "fixed-version: Fixed from version 5.12rc7"
3306
3307CVE_STATUS[CVE-2020-25704] = "fixed-version: Fixed from version 5.10rc3"
3308
3309CVE_STATUS[CVE-2020-25705] = "fixed-version: Fixed from version 5.10rc1"
3310
3311CVE_STATUS[CVE-2020-26088] = "fixed-version: Fixed from version 5.9rc1"
3312
3313CVE_STATUS[CVE-2020-26139] = "fixed-version: Fixed from version 5.13rc4"
3314
3315# CVE-2020-26140 has no known resolution
3316
3317CVE_STATUS[CVE-2020-26141] = "fixed-version: Fixed from version 5.13rc4"
3318
3319# CVE-2020-26142 has no known resolution
3320
3321# CVE-2020-26143 has no known resolution
3322
3323CVE_STATUS[CVE-2020-26145] = "fixed-version: Fixed from version 5.13rc4"
3324
3325CVE_STATUS[CVE-2020-26147] = "fixed-version: Fixed from version 5.13rc4"
3326
3327CVE_STATUS[CVE-2020-26541] = "fixed-version: Fixed from version 5.13rc1"
3328
3329CVE_STATUS[CVE-2020-26555] = "fixed-version: Fixed from version 5.13rc1"
3330
3331# CVE-2020-26556 has no known resolution
3332
3333# CVE-2020-26557 has no known resolution
3334
3335CVE_STATUS[CVE-2020-26558] = "fixed-version: Fixed from version 5.13rc1"
3336
3337# CVE-2020-26559 has no known resolution
3338
3339# CVE-2020-26560 has no known resolution
3340
3341CVE_STATUS[CVE-2020-27066] = "fixed-version: Fixed from version 5.6"
3342
3343CVE_STATUS[CVE-2020-27067] = "fixed-version: Fixed from version 4.14rc4"
3344
3345CVE_STATUS[CVE-2020-27068] = "fixed-version: Fixed from version 5.6rc2"
3346
3347CVE_STATUS[CVE-2020-27152] = "fixed-version: Fixed from version 5.10rc1"
3348
3349CVE_STATUS[CVE-2020-27170] = "fixed-version: Fixed from version 5.12rc5"
3350
3351CVE_STATUS[CVE-2020-27171] = "fixed-version: Fixed from version 5.12rc5"
3352
3353CVE_STATUS[CVE-2020-27194] = "fixed-version: Fixed from version 5.9"
3354
3355CVE_STATUS[CVE-2020-2732] = "fixed-version: Fixed from version 5.6rc4"
3356
3357CVE_STATUS[CVE-2020-27418] = "fixed-version: Fixed from version 5.6rc5"
3358
3359CVE_STATUS[CVE-2020-27673] = "fixed-version: Fixed from version 5.10rc1"
3360
3361CVE_STATUS[CVE-2020-27675] = "fixed-version: Fixed from version 5.10rc1"
3362
3363CVE_STATUS[CVE-2020-27777] = "fixed-version: Fixed from version 5.10rc1"
3364
3365CVE_STATUS[CVE-2020-27784] = "fixed-version: Fixed from version 5.10rc1"
3366
3367CVE_STATUS[CVE-2020-27786] = "fixed-version: Fixed from version 5.7rc6"
3368
3369CVE_STATUS[CVE-2020-27815] = "fixed-version: Fixed from version 5.11rc1"
3370
3371CVE_STATUS[CVE-2020-27820] = "fixed-version: Fixed from version 5.16rc1"
3372
3373CVE_STATUS[CVE-2020-27825] = "fixed-version: Fixed from version 5.10rc1"
3374
3375CVE_STATUS[CVE-2020-27830] = "fixed-version: Fixed from version 5.10rc7"
3376
3377CVE_STATUS[CVE-2020-27835] = "fixed-version: Fixed from version 5.10rc6"
3378
3379CVE_STATUS[CVE-2020-28097] = "fixed-version: Fixed from version 5.9rc6"
3380
3381CVE_STATUS[CVE-2020-28374] = "fixed-version: Fixed from version 5.11rc4"
3382
3383CVE_STATUS[CVE-2020-28588] = "fixed-version: Fixed from version 5.10rc7"
3384
3385CVE_STATUS[CVE-2020-28915] = "fixed-version: Fixed from version 5.9"
3386
3387CVE_STATUS[CVE-2020-28941] = "fixed-version: Fixed from version 5.10rc5"
3388
3389CVE_STATUS[CVE-2020-28974] = "fixed-version: Fixed from version 5.10rc3"
3390
3391CVE_STATUS[CVE-2020-29368] = "fixed-version: Fixed from version 5.8rc1"
3392
3393CVE_STATUS[CVE-2020-29369] = "fixed-version: Fixed from version 5.8rc7"
3394
3395CVE_STATUS[CVE-2020-29370] = "fixed-version: Fixed from version 5.6rc7"
3396
3397CVE_STATUS[CVE-2020-29371] = "fixed-version: Fixed from version 5.9rc2"
3398
3399CVE_STATUS[CVE-2020-29372] = "fixed-version: Fixed from version 5.7rc3"
3400
3401CVE_STATUS[CVE-2020-29373] = "fixed-version: Fixed from version 5.6rc2"
3402
3403CVE_STATUS[CVE-2020-29374] = "fixed-version: Fixed from version 5.8rc1"
3404
3405CVE_STATUS[CVE-2020-29534] = "fixed-version: Fixed from version 5.10rc1"
3406
3407CVE_STATUS[CVE-2020-29568] = "fixed-version: Fixed from version 5.11rc1"
3408
3409CVE_STATUS[CVE-2020-29569] = "fixed-version: Fixed from version 5.11rc1"
3410
3411CVE_STATUS[CVE-2020-29660] = "fixed-version: Fixed from version 5.10rc7"
3412
3413CVE_STATUS[CVE-2020-29661] = "fixed-version: Fixed from version 5.10rc7"
3414
3415CVE_STATUS[CVE-2020-35499] = "fixed-version: Fixed from version 5.11rc1"
3416
3417# CVE-2020-35501 has no known resolution
3418
3419CVE_STATUS[CVE-2020-35508] = "fixed-version: Fixed from version 5.10rc3"
3420
3421CVE_STATUS[CVE-2020-35513] = "fixed-version: Fixed from version 4.17rc1"
3422
3423CVE_STATUS[CVE-2020-35519] = "fixed-version: Fixed from version 5.10rc7"
3424
3425CVE_STATUS[CVE-2020-36158] = "fixed-version: Fixed from version 5.11rc1"
3426
3427CVE_STATUS[CVE-2020-36310] = "fixed-version: Fixed from version 5.8rc1"
3428
3429CVE_STATUS[CVE-2020-36311] = "fixed-version: Fixed from version 5.9rc5"
3430
3431CVE_STATUS[CVE-2020-36312] = "fixed-version: Fixed from version 5.9rc5"
3432
3433CVE_STATUS[CVE-2020-36313] = "fixed-version: Fixed from version 5.7rc1"
3434
3435CVE_STATUS[CVE-2020-36322] = "fixed-version: Fixed from version 5.11rc1"
3436
3437CVE_STATUS[CVE-2020-36385] = "fixed-version: Fixed from version 5.10rc1"
3438
3439CVE_STATUS[CVE-2020-36386] = "fixed-version: Fixed from version 5.9rc1"
3440
3441CVE_STATUS[CVE-2020-36387] = "fixed-version: Fixed from version 5.9rc1"
3442
3443CVE_STATUS[CVE-2020-36516] = "fixed-version: Fixed from version 5.17rc2"
3444
3445CVE_STATUS[CVE-2020-36557] = "fixed-version: Fixed from version 5.7rc1"
3446
3447CVE_STATUS[CVE-2020-36558] = "fixed-version: Fixed from version 5.6rc3"
3448
3449CVE_STATUS[CVE-2020-36691] = "fixed-version: Fixed from version 5.8rc1"
3450
3451CVE_STATUS[CVE-2020-36694] = "fixed-version: Fixed from version 5.10"
3452
3453CVE_STATUS[CVE-2020-36766] = "fixed-version: Fixed from version 5.9rc1"
3454
3455CVE_STATUS[CVE-2020-3702] = "fixed-version: Fixed from version 5.12rc1"
3456
3457CVE_STATUS[CVE-2020-4788] = "fixed-version: Fixed from version 5.10rc5"
3458
3459CVE_STATUS[CVE-2020-7053] = "fixed-version: Fixed from version 5.2rc1"
3460
3461CVE_STATUS[CVE-2020-8428] = "fixed-version: Fixed from version 5.5"
3462
3463CVE_STATUS[CVE-2020-8647] = "fixed-version: Fixed from version 5.6rc5"
3464
3465CVE_STATUS[CVE-2020-8648] = "fixed-version: Fixed from version 5.6rc3"
3466
3467CVE_STATUS[CVE-2020-8649] = "fixed-version: Fixed from version 5.6rc5"
3468
3469CVE_STATUS[CVE-2020-8694] = "fixed-version: Fixed from version 5.10rc4"
3470
3471# CVE-2020-8832 has no known resolution
3472
3473CVE_STATUS[CVE-2020-8834] = "fixed-version: Fixed from version 4.18rc1"
3474
3475CVE_STATUS[CVE-2020-8835] = "fixed-version: Fixed from version 5.7rc1"
3476
3477CVE_STATUS[CVE-2020-8992] = "fixed-version: Fixed from version 5.6rc2"
3478
3479CVE_STATUS[CVE-2020-9383] = "fixed-version: Fixed from version 5.6rc4"
3480
3481CVE_STATUS[CVE-2020-9391] = "fixed-version: Fixed from version 5.6rc3"
3482
3483CVE_STATUS[CVE-2021-0129] = "fixed-version: Fixed from version 5.13rc1"
3484
3485CVE_STATUS[CVE-2021-0342] = "fixed-version: Fixed from version 5.8rc1"
3486
3487# CVE-2021-0399 has no known resolution
3488
3489CVE_STATUS[CVE-2021-0447] = "fixed-version: Fixed from version 4.15rc1"
3490
3491CVE_STATUS[CVE-2021-0448] = "fixed-version: Fixed from version 5.9rc7"
3492
3493CVE_STATUS[CVE-2021-0512] = "fixed-version: Fixed from version 5.12rc1"
3494
3495CVE_STATUS[CVE-2021-0605] = "fixed-version: Fixed from version 5.8"
3496
3497# CVE-2021-0606 has no known resolution
3498
3499# CVE-2021-0695 has no known resolution
3500
3501CVE_STATUS[CVE-2021-0707] = "fixed-version: Fixed from version 5.11rc3"
3502
3503CVE_STATUS[CVE-2021-0920] = "fixed-version: Fixed from version 5.14rc4"
3504
3505# CVE-2021-0924 has no known resolution
3506
3507CVE_STATUS[CVE-2021-0929] = "fixed-version: Fixed from version 5.6rc1"
3508
3509CVE_STATUS[CVE-2021-0935] = "fixed-version: Fixed from version 4.16rc7"
3510
3511# CVE-2021-0936 has no known resolution
3512
3513CVE_STATUS[CVE-2021-0937] = "fixed-version: Fixed from version 5.12rc8"
3514
3515CVE_STATUS[CVE-2021-0938] = "fixed-version: Fixed from version 5.10rc4"
3516
3517CVE_STATUS[CVE-2021-0941] = "fixed-version: Fixed from version 5.12rc1"
3518
3519# CVE-2021-0961 has no known resolution
3520
3521CVE_STATUS[CVE-2021-1048] = "fixed-version: Fixed from version 5.9rc4"
3522
3523CVE_STATUS[CVE-2021-20177] = "fixed-version: Fixed from version 5.5rc1"
3524
3525CVE_STATUS[CVE-2021-20194] = "fixed-version: Fixed from version 5.10rc1"
3526
3527# CVE-2021-20219 has no known resolution
3528
3529CVE_STATUS[CVE-2021-20226] = "fixed-version: Fixed from version 5.10rc1"
3530
3531CVE_STATUS[CVE-2021-20239] = "fixed-version: Fixed from version 5.9rc1"
3532
3533CVE_STATUS[CVE-2021-20261] = "fixed-version: Fixed from version 4.5rc5"
3534
3535CVE_STATUS[CVE-2021-20265] = "fixed-version: Fixed from version 4.5rc3"
3536
3537CVE_STATUS[CVE-2021-20268] = "fixed-version: Fixed from version 5.11rc5"
3538
3539CVE_STATUS[CVE-2021-20292] = "fixed-version: Fixed from version 5.9rc1"
3540
3541CVE_STATUS[CVE-2021-20317] = "fixed-version: Fixed from version 5.4rc1"
3542
3543CVE_STATUS[CVE-2021-20320] = "fixed-version: Fixed from version 5.15rc3"
3544
3545CVE_STATUS[CVE-2021-20321] = "fixed-version: Fixed from version 5.15rc5"
3546
3547CVE_STATUS[CVE-2021-20322] = "fixed-version: Fixed from version 5.15rc1"
3548
3549CVE_STATUS[CVE-2021-21781] = "fixed-version: Fixed from version 5.11rc7"
3550
3551CVE_STATUS[CVE-2021-22543] = "fixed-version: Fixed from version 5.13"
3552
3553CVE_STATUS[CVE-2021-22555] = "fixed-version: Fixed from version 5.12rc8"
3554
3555CVE_STATUS[CVE-2021-22600] = "fixed-version: Fixed from version 5.16rc6"
3556
3557CVE_STATUS[CVE-2021-23133] = "fixed-version: Fixed from version 5.12rc8"
3558
3559CVE_STATUS[CVE-2021-23134] = "fixed-version: Fixed from version 5.13rc1"
3560
3561CVE_STATUS[CVE-2021-26401] = "fixed-version: Fixed from version 5.17rc8"
3562
3563CVE_STATUS[CVE-2021-26708] = "fixed-version: Fixed from version 5.11rc7"
3564
3565CVE_STATUS[CVE-2021-26930] = "fixed-version: Fixed from version 5.12rc1"
3566
3567CVE_STATUS[CVE-2021-26931] = "fixed-version: Fixed from version 5.12rc1"
3568
3569CVE_STATUS[CVE-2021-26932] = "fixed-version: Fixed from version 5.12rc1"
3570
3571# CVE-2021-26934 has no known resolution
3572
3573CVE_STATUS[CVE-2021-27363] = "fixed-version: Fixed from version 5.12rc2"
3574
3575CVE_STATUS[CVE-2021-27364] = "fixed-version: Fixed from version 5.12rc2"
3576
3577CVE_STATUS[CVE-2021-27365] = "fixed-version: Fixed from version 5.12rc2"
3578
3579CVE_STATUS[CVE-2021-28038] = "fixed-version: Fixed from version 5.12rc2"
3580
3581CVE_STATUS[CVE-2021-28039] = "fixed-version: Fixed from version 5.12rc2"
3582
3583CVE_STATUS[CVE-2021-28375] = "fixed-version: Fixed from version 5.12rc3"
3584
3585CVE_STATUS[CVE-2021-28660] = "fixed-version: Fixed from version 5.12rc3"
3586
3587CVE_STATUS[CVE-2021-28688] = "fixed-version: Fixed from version 5.12rc6"
3588
3589CVE_STATUS[CVE-2021-28691] = "fixed-version: Fixed from version 5.13rc6"
3590
3591CVE_STATUS[CVE-2021-28711] = "fixed-version: Fixed from version 5.16rc7"
3592
3593CVE_STATUS[CVE-2021-28712] = "fixed-version: Fixed from version 5.16rc7"
3594
3595CVE_STATUS[CVE-2021-28713] = "fixed-version: Fixed from version 5.16rc7"
3596
3597CVE_STATUS[CVE-2021-28714] = "fixed-version: Fixed from version 5.16rc7"
3598
3599CVE_STATUS[CVE-2021-28715] = "fixed-version: Fixed from version 5.16rc7"
3600
3601CVE_STATUS[CVE-2021-28950] = "fixed-version: Fixed from version 5.12rc4"
3602
3603CVE_STATUS[CVE-2021-28951] = "fixed-version: Fixed from version 5.12rc2"
3604
3605CVE_STATUS[CVE-2021-28952] = "fixed-version: Fixed from version 5.12rc4"
3606
3607CVE_STATUS[CVE-2021-28964] = "fixed-version: Fixed from version 5.12rc4"
3608
3609CVE_STATUS[CVE-2021-28971] = "fixed-version: Fixed from version 5.12rc4"
3610
3611CVE_STATUS[CVE-2021-28972] = "fixed-version: Fixed from version 5.12rc4"
3612
3613CVE_STATUS[CVE-2021-29154] = "fixed-version: Fixed from version 5.12rc7"
3614
3615CVE_STATUS[CVE-2021-29155] = "fixed-version: Fixed from version 5.12rc8"
3616
3617CVE_STATUS[CVE-2021-29264] = "fixed-version: Fixed from version 5.12rc3"
3618
3619CVE_STATUS[CVE-2021-29265] = "fixed-version: Fixed from version 5.12rc3"
3620
3621CVE_STATUS[CVE-2021-29266] = "fixed-version: Fixed from version 5.12rc4"
3622
3623CVE_STATUS[CVE-2021-29646] = "fixed-version: Fixed from version 5.12rc5"
3624
3625CVE_STATUS[CVE-2021-29647] = "fixed-version: Fixed from version 5.12rc5"
3626
3627CVE_STATUS[CVE-2021-29648] = "fixed-version: Fixed from version 5.12rc5"
3628
3629CVE_STATUS[CVE-2021-29649] = "fixed-version: Fixed from version 5.12rc5"
3630
3631CVE_STATUS[CVE-2021-29650] = "fixed-version: Fixed from version 5.12rc5"
3632
3633CVE_STATUS[CVE-2021-29657] = "fixed-version: Fixed from version 5.12rc6"
3634
3635CVE_STATUS[CVE-2021-30002] = "fixed-version: Fixed from version 5.12rc1"
3636
3637CVE_STATUS[CVE-2021-30178] = "fixed-version: Fixed from version 5.12rc2"
3638
3639CVE_STATUS[CVE-2021-31440] = "fixed-version: Fixed from version 5.13rc1"
3640
3641CVE_STATUS[CVE-2021-3178] = "fixed-version: Fixed from version 5.11rc5"
3642
3643CVE_STATUS[CVE-2021-31829] = "fixed-version: Fixed from version 5.13rc1"
3644
3645CVE_STATUS[CVE-2021-31916] = "fixed-version: Fixed from version 5.12rc5"
3646
3647CVE_STATUS[CVE-2021-32078] = "fixed-version: Fixed from version 5.13rc1"
3648
3649CVE_STATUS[CVE-2021-32399] = "fixed-version: Fixed from version 5.13rc1"
3650
3651CVE_STATUS[CVE-2021-32606] = "fixed-version: Fixed from version 5.13rc4"
3652
3653CVE_STATUS[CVE-2021-33033] = "fixed-version: Fixed from version 5.12rc3"
3654
3655CVE_STATUS[CVE-2021-33034] = "fixed-version: Fixed from version 5.13rc1"
3656
3657CVE_STATUS[CVE-2021-33061] = "fixed-version: Fixed from version 5.18rc1"
3658
3659CVE_STATUS[CVE-2021-33098] = "fixed-version: Fixed from version 5.13rc4"
3660
3661CVE_STATUS[CVE-2021-33135] = "fixed-version: Fixed from version 5.17rc8"
3662
3663CVE_STATUS[CVE-2021-33200] = "fixed-version: Fixed from version 5.13rc4"
3664
3665CVE_STATUS[CVE-2021-3347] = "fixed-version: Fixed from version 5.11rc6"
3666
3667CVE_STATUS[CVE-2021-3348] = "fixed-version: Fixed from version 5.11rc6"
3668
3669CVE_STATUS[CVE-2021-33624] = "fixed-version: Fixed from version 5.13rc7"
3670
3671CVE_STATUS[CVE-2021-33630] = "fixed-version: Fixed from version 5.4rc1"
3672
3673CVE_STATUS[CVE-2021-33631] = "fixed-version: Fixed from version 6.2rc1"
3674
3675CVE_STATUS[CVE-2021-33655] = "fixed-version: Fixed from version 5.19rc6"
3676
3677CVE_STATUS[CVE-2021-33656] = "fixed-version: Fixed from version 5.12rc1"
3678
3679CVE_STATUS[CVE-2021-33909] = "fixed-version: Fixed from version 5.14rc3"
3680
3681CVE_STATUS[CVE-2021-3411] = "fixed-version: Fixed from version 5.10"
3682
3683CVE_STATUS[CVE-2021-3428] = "fixed-version: Fixed from version 5.9rc2"
3684
3685CVE_STATUS[CVE-2021-3444] = "fixed-version: Fixed from version 5.12rc1"
3686
3687CVE_STATUS[CVE-2021-34556] = "fixed-version: Fixed from version 5.14rc4"
3688
3689CVE_STATUS[CVE-2021-34693] = "fixed-version: Fixed from version 5.13rc7"
3690
3691CVE_STATUS[CVE-2021-3483] = "fixed-version: Fixed from version 5.12rc6"
3692
3693CVE_STATUS[CVE-2021-34866] = "fixed-version: Fixed from version 5.14"
3694
3695CVE_STATUS[CVE-2021-3489] = "fixed-version: Fixed from version 5.13rc4"
3696
3697CVE_STATUS[CVE-2021-3490] = "fixed-version: Fixed from version 5.13rc4"
3698
3699CVE_STATUS[CVE-2021-3491] = "fixed-version: Fixed from version 5.13rc1"
3700
3701# CVE-2021-3492 has no known resolution
3702
3703CVE_STATUS[CVE-2021-3493] = "fixed-version: Fixed from version 5.11rc1"
3704
3705CVE_STATUS[CVE-2021-34981] = "fixed-version: Fixed from version 5.14rc1"
3706
3707CVE_STATUS[CVE-2021-3501] = "fixed-version: Fixed from version 5.12rc8"
3708
3709CVE_STATUS[CVE-2021-35039] = "fixed-version: Fixed from version 5.13"
3710
3711CVE_STATUS[CVE-2021-3506] = "fixed-version: Fixed from version 5.13rc1"
3712
3713# CVE-2021-3542 has no known resolution
3714
3715CVE_STATUS[CVE-2021-3543] = "fixed-version: Fixed from version 5.13rc1"
3716
3717CVE_STATUS[CVE-2021-35477] = "fixed-version: Fixed from version 5.14rc4"
3718
3719CVE_STATUS[CVE-2021-3564] = "fixed-version: Fixed from version 5.13rc5"
3720
3721CVE_STATUS[CVE-2021-3573] = "fixed-version: Fixed from version 5.13rc5"
3722
3723CVE_STATUS[CVE-2021-3587] = "fixed-version: Fixed from version 5.13rc5"
3724
3725CVE_STATUS[CVE-2021-3600] = "fixed-version: Fixed from version 5.11"
3726
3727CVE_STATUS[CVE-2021-3609] = "fixed-version: Fixed from version 5.14rc1"
3728
3729CVE_STATUS[CVE-2021-3612] = "fixed-version: Fixed from version 5.12rc1"
3730
3731CVE_STATUS[CVE-2021-3635] = "fixed-version: Fixed from version 5.5rc7"
3732
3733CVE_STATUS[CVE-2021-3640] = "fixed-version: Fixed from version 5.16rc1"
3734
3735CVE_STATUS[CVE-2021-3653] = "fixed-version: Fixed from version 5.14rc7"
3736
3737CVE_STATUS[CVE-2021-3655] = "fixed-version: Fixed from version 5.14rc1"
3738
3739CVE_STATUS[CVE-2021-3656] = "fixed-version: Fixed from version 5.14rc7"
3740
3741CVE_STATUS[CVE-2021-3659] = "fixed-version: Fixed from version 5.12rc7"
3742
3743CVE_STATUS[CVE-2021-3669] = "fixed-version: Fixed from version 5.15rc1"
3744
3745CVE_STATUS[CVE-2021-3679] = "fixed-version: Fixed from version 5.14rc3"
3746
3747# CVE-2021-3714 has no known resolution
3748
3749CVE_STATUS[CVE-2021-3715] = "fixed-version: Fixed from version 5.6"
3750
3751CVE_STATUS[CVE-2021-37159] = "fixed-version: Fixed from version 5.14rc3"
3752
3753CVE_STATUS[CVE-2021-3732] = "fixed-version: Fixed from version 5.14rc6"
3754
3755CVE_STATUS[CVE-2021-3736] = "fixed-version: Fixed from version 5.15rc1"
3756
3757CVE_STATUS[CVE-2021-3739] = "fixed-version: Fixed from version 5.15rc1"
3758
3759CVE_STATUS[CVE-2021-3743] = "fixed-version: Fixed from version 5.13rc7"
3760
3761CVE_STATUS[CVE-2021-3744] = "fixed-version: Fixed from version 5.15rc4"
3762
3763CVE_STATUS[CVE-2021-3752] = "fixed-version: Fixed from version 5.16rc1"
3764
3765CVE_STATUS[CVE-2021-3753] = "fixed-version: Fixed from version 5.15rc1"
3766
3767CVE_STATUS[CVE-2021-37576] = "fixed-version: Fixed from version 5.14rc3"
3768
3769CVE_STATUS[CVE-2021-3759] = "fixed-version: Fixed from version 5.15rc1"
3770
3771CVE_STATUS[CVE-2021-3760] = "fixed-version: Fixed from version 5.15rc6"
3772
3773CVE_STATUS[CVE-2021-3764] = "fixed-version: Fixed from version 5.15rc4"
3774
3775CVE_STATUS[CVE-2021-3772] = "fixed-version: Fixed from version 5.15"
3776
3777CVE_STATUS[CVE-2021-38160] = "fixed-version: Fixed from version 5.14rc1"
3778
3779CVE_STATUS[CVE-2021-38166] = "fixed-version: Fixed from version 5.14rc6"
3780
3781CVE_STATUS[CVE-2021-38198] = "fixed-version: Fixed from version 5.13rc6"
3782
3783CVE_STATUS[CVE-2021-38199] = "fixed-version: Fixed from version 5.14rc1"
3784
3785CVE_STATUS[CVE-2021-38200] = "fixed-version: Fixed from version 5.13rc7"
3786
3787CVE_STATUS[CVE-2021-38201] = "fixed-version: Fixed from version 5.14rc1"
3788
3789CVE_STATUS[CVE-2021-38202] = "fixed-version: Fixed from version 5.14rc1"
3790
3791CVE_STATUS[CVE-2021-38203] = "fixed-version: Fixed from version 5.14rc2"
3792
3793CVE_STATUS[CVE-2021-38204] = "fixed-version: Fixed from version 5.14rc3"
3794
3795CVE_STATUS[CVE-2021-38205] = "fixed-version: Fixed from version 5.14rc1"
3796
3797CVE_STATUS[CVE-2021-38206] = "fixed-version: Fixed from version 5.13rc7"
3798
3799CVE_STATUS[CVE-2021-38207] = "fixed-version: Fixed from version 5.13rc7"
3800
3801CVE_STATUS[CVE-2021-38208] = "fixed-version: Fixed from version 5.13rc5"
3802
3803CVE_STATUS[CVE-2021-38209] = "fixed-version: Fixed from version 5.13rc1"
3804
3805CVE_STATUS[CVE-2021-38300] = "fixed-version: Fixed from version 5.15rc4"
3806
3807# CVE-2021-3847 has no known resolution
3808
3809# CVE-2021-3864 has no known resolution
3810
3811# CVE-2021-3892 has no known resolution
3812
3813CVE_STATUS[CVE-2021-3894] = "fixed-version: Fixed from version 5.15rc6"
3814
3815CVE_STATUS[CVE-2021-3896] = "fixed-version: Fixed from version 5.15rc6"
3816
3817CVE_STATUS[CVE-2021-3923] = "fixed-version: Fixed from version 5.16"
3818
3819CVE_STATUS[CVE-2021-39633] = "fixed-version: Fixed from version 5.14"
3820
3821CVE_STATUS[CVE-2021-39634] = "fixed-version: Fixed from version 5.9rc8"
3822
3823CVE_STATUS[CVE-2021-39636] = "fixed-version: Fixed from version 4.16rc1"
3824
3825CVE_STATUS[CVE-2021-39648] = "fixed-version: Fixed from version 5.11rc3"
3826
3827CVE_STATUS[CVE-2021-39656] = "fixed-version: Fixed from version 5.12rc3"
3828
3829CVE_STATUS[CVE-2021-39657] = "fixed-version: Fixed from version 5.11rc4"
3830
3831CVE_STATUS[CVE-2021-39685] = "fixed-version: Fixed from version 5.16rc5"
3832
3833CVE_STATUS[CVE-2021-39686] = "fixed-version: Fixed from version 5.16rc1"
3834
3835CVE_STATUS[CVE-2021-39698] = "fixed-version: Fixed from version 5.16rc5"
3836
3837CVE_STATUS[CVE-2021-39711] = "fixed-version: Fixed from version 4.18rc6"
3838
3839CVE_STATUS[CVE-2021-39713] = "fixed-version: Fixed from version 4.20rc1"
3840
3841CVE_STATUS[CVE-2021-39714] = "fixed-version: Fixed from version 4.12rc1"
3842
3843# CVE-2021-39800 has no known resolution
3844
3845# CVE-2021-39801 has no known resolution
3846
3847# CVE-2021-39802 has no known resolution
3848
3849CVE_STATUS[CVE-2021-4001] = "fixed-version: Fixed from version 5.16rc2"
3850
3851CVE_STATUS[CVE-2021-4002] = "fixed-version: Fixed from version 5.16rc3"
3852
3853CVE_STATUS[CVE-2021-4023] = "fixed-version: Fixed from version 5.15rc1"
3854
3855CVE_STATUS[CVE-2021-4028] = "fixed-version: Fixed from version 5.15rc4"
3856
3857CVE_STATUS[CVE-2021-4032] = "fixed-version: Fixed from version 5.15rc7"
3858
3859CVE_STATUS[CVE-2021-4037] = "fixed-version: Fixed from version 5.12rc1"
3860
3861CVE_STATUS[CVE-2021-40490] = "fixed-version: Fixed from version 5.15rc1"
3862
3863CVE_STATUS[CVE-2021-4083] = "fixed-version: Fixed from version 5.16rc4"
3864
3865CVE_STATUS[CVE-2021-4090] = "fixed-version: Fixed from version 5.16rc2"
3866
3867CVE_STATUS[CVE-2021-4093] = "fixed-version: Fixed from version 5.15rc7"
3868
3869CVE_STATUS[CVE-2021-4095] = "fixed-version: Fixed from version 5.17rc1"
3870
3871CVE_STATUS[CVE-2021-41073] = "fixed-version: Fixed from version 5.15rc2"
3872
3873CVE_STATUS[CVE-2021-4135] = "fixed-version: Fixed from version 5.16rc6"
3874
3875CVE_STATUS[CVE-2021-4148] = "fixed-version: Fixed from version 5.15"
3876
3877CVE_STATUS[CVE-2021-4149] = "fixed-version: Fixed from version 5.15rc6"
3878
3879CVE_STATUS[CVE-2021-4150] = "fixed-version: Fixed from version 5.15rc7"
3880
3881CVE_STATUS[CVE-2021-4154] = "fixed-version: Fixed from version 5.14rc2"
3882
3883CVE_STATUS[CVE-2021-4155] = "fixed-version: Fixed from version 5.16"
3884
3885CVE_STATUS[CVE-2021-4157] = "fixed-version: Fixed from version 5.13rc1"
3886
3887CVE_STATUS[CVE-2021-4159] = "fixed-version: Fixed from version 5.7rc1"
3888
3889CVE_STATUS[CVE-2021-41864] = "fixed-version: Fixed from version 5.15rc5"
3890
3891CVE_STATUS[CVE-2021-4197] = "fixed-version: Fixed from version 5.16"
3892
3893CVE_STATUS[CVE-2021-42008] = "fixed-version: Fixed from version 5.14rc7"
3894
3895CVE_STATUS[CVE-2021-4202] = "fixed-version: Fixed from version 5.16rc2"
3896
3897CVE_STATUS[CVE-2021-4203] = "fixed-version: Fixed from version 5.15rc4"
3898
3899CVE_STATUS[CVE-2021-4204] = "fixed-version: Fixed from version 5.17rc1"
3900
3901CVE_STATUS[CVE-2021-4218] = "fixed-version: Fixed from version 5.8rc1"
3902
3903CVE_STATUS[CVE-2021-42252] = "fixed-version: Fixed from version 5.15rc1"
3904
3905CVE_STATUS[CVE-2021-42327] = "fixed-version: Fixed from version 5.15"
3906
3907CVE_STATUS[CVE-2021-42739] = "fixed-version: Fixed from version 5.16rc1"
3908
3909CVE_STATUS[CVE-2021-43056] = "fixed-version: Fixed from version 5.15rc6"
3910
3911CVE_STATUS[CVE-2021-43057] = "fixed-version: Fixed from version 5.15rc3"
3912
3913CVE_STATUS[CVE-2021-43267] = "fixed-version: Fixed from version 5.15"
3914
3915CVE_STATUS[CVE-2021-43389] = "fixed-version: Fixed from version 5.15rc6"
3916
3917CVE_STATUS[CVE-2021-43975] = "fixed-version: Fixed from version 5.16rc2"
3918
3919CVE_STATUS[CVE-2021-43976] = "fixed-version: Fixed from version 5.17rc1"
3920
3921CVE_STATUS[CVE-2021-44733] = "fixed-version: Fixed from version 5.16rc7"
3922
3923CVE_STATUS[CVE-2021-44879] = "fixed-version: Fixed from version 5.17rc1"
3924
3925CVE_STATUS[CVE-2021-45095] = "fixed-version: Fixed from version 5.16rc6"
3926
3927CVE_STATUS[CVE-2021-45100] = "fixed-version: Fixed from version 5.16rc7"
3928
3929CVE_STATUS[CVE-2021-45402] = "fixed-version: Fixed from version 5.16rc6"
3930
3931CVE_STATUS[CVE-2021-45469] = "fixed-version: Fixed from version 5.17rc1"
3932
3933CVE_STATUS[CVE-2021-45480] = "fixed-version: Fixed from version 5.16rc6"
3934
3935CVE_STATUS[CVE-2021-45485] = "fixed-version: Fixed from version 5.14rc1"
3936
3937CVE_STATUS[CVE-2021-45486] = "fixed-version: Fixed from version 5.13rc1"
3938
3939CVE_STATUS[CVE-2021-45868] = "fixed-version: Fixed from version 5.16rc1"
3940
3941CVE_STATUS[CVE-2021-46283] = "fixed-version: Fixed from version 5.13rc7"
3942
3943CVE_STATUS[CVE-2022-0001] = "fixed-version: Fixed from version 5.17rc8"
3944
3945CVE_STATUS[CVE-2022-0002] = "fixed-version: Fixed from version 5.17rc8"
3946
3947CVE_STATUS[CVE-2022-0168] = "fixed-version: Fixed from version 5.18rc1"
3948
3949CVE_STATUS[CVE-2022-0171] = "fixed-version: Fixed from version 5.18rc4"
3950
3951CVE_STATUS[CVE-2022-0185] = "fixed-version: Fixed from version 5.17rc1"
3952
3953CVE_STATUS[CVE-2022-0264] = "fixed-version: Fixed from version 5.16rc6"
3954
3955CVE_STATUS[CVE-2022-0286] = "fixed-version: Fixed from version 5.14rc2"
3956
3957CVE_STATUS[CVE-2022-0322] = "fixed-version: Fixed from version 5.15rc6"
3958
3959CVE_STATUS[CVE-2022-0330] = "fixed-version: Fixed from version 5.17rc2"
3960
3961CVE_STATUS[CVE-2022-0382] = "fixed-version: Fixed from version 5.16"
3962
3963# CVE-2022-0400 has no known resolution
3964
3965CVE_STATUS[CVE-2022-0433] = "fixed-version: Fixed from version 5.17rc1"
3966
3967CVE_STATUS[CVE-2022-0435] = "fixed-version: Fixed from version 5.17rc4"
3968
3969CVE_STATUS[CVE-2022-0480] = "fixed-version: Fixed from version 5.15rc1"
3970
3971CVE_STATUS[CVE-2022-0487] = "fixed-version: Fixed from version 5.17rc4"
3972
3973CVE_STATUS[CVE-2022-0492] = "fixed-version: Fixed from version 5.17rc3"
3974
3975CVE_STATUS[CVE-2022-0494] = "fixed-version: Fixed from version 5.17rc5"
3976
3977CVE_STATUS[CVE-2022-0500] = "fixed-version: Fixed from version 5.17rc1"
3978
3979CVE_STATUS[CVE-2022-0516] = "fixed-version: Fixed from version 5.17rc4"
3980
3981CVE_STATUS[CVE-2022-0617] = "fixed-version: Fixed from version 5.17rc2"
3982
3983CVE_STATUS[CVE-2022-0644] = "fixed-version: Fixed from version 5.15rc7"
3984
3985CVE_STATUS[CVE-2022-0646] = "fixed-version: Fixed from version 5.17rc5"
3986
3987CVE_STATUS[CVE-2022-0742] = "fixed-version: Fixed from version 5.17rc7"
3988
3989CVE_STATUS[CVE-2022-0812] = "fixed-version: Fixed from version 5.8rc6"
3990
3991CVE_STATUS[CVE-2022-0847] = "fixed-version: Fixed from version 5.17rc6"
3992
3993CVE_STATUS[CVE-2022-0850] = "fixed-version: Fixed from version 5.14rc1"
3994
3995CVE_STATUS[CVE-2022-0854] = "fixed-version: Fixed from version 5.17rc8"
3996
3997CVE_STATUS[CVE-2022-0995] = "fixed-version: Fixed from version 5.17rc8"
3998
3999CVE_STATUS[CVE-2022-0998] = "fixed-version: Fixed from version 5.17rc1"
4000
4001CVE_STATUS[CVE-2022-1011] = "fixed-version: Fixed from version 5.17rc8"
4002
4003CVE_STATUS[CVE-2022-1012] = "fixed-version: Fixed from version 5.18rc6"
4004
4005CVE_STATUS[CVE-2022-1015] = "fixed-version: Fixed from version 5.18rc1"
4006
4007CVE_STATUS[CVE-2022-1016] = "fixed-version: Fixed from version 5.18rc1"
4008
4009CVE_STATUS[CVE-2022-1043] = "fixed-version: Fixed from version 5.14rc7"
4010
4011CVE_STATUS[CVE-2022-1048] = "fixed-version: Fixed from version 5.18rc1"
4012
4013CVE_STATUS[CVE-2022-1055] = "fixed-version: Fixed from version 5.17rc3"
4014
4015# CVE-2022-1116 has no known resolution
4016
4017CVE_STATUS[CVE-2022-1158] = "fixed-version: Fixed from version 5.18rc1"
4018
4019CVE_STATUS[CVE-2022-1184] = "fixed-version: Fixed from version 5.19rc1"
4020
4021CVE_STATUS[CVE-2022-1195] = "fixed-version: Fixed from version 5.16rc7"
4022
4023CVE_STATUS[CVE-2022-1198] = "fixed-version: Fixed from version 5.17rc6"
4024
4025CVE_STATUS[CVE-2022-1199] = "fixed-version: Fixed from version 5.17rc8"
4026
4027CVE_STATUS[CVE-2022-1204] = "fixed-version: Fixed from version 5.18rc1"
4028
4029CVE_STATUS[CVE-2022-1205] = "fixed-version: Fixed from version 5.18rc1"
4030
4031# CVE-2022-1247 has no known resolution
4032
4033CVE_STATUS[CVE-2022-1263] = "fixed-version: Fixed from version 5.18rc3"
4034
4035CVE_STATUS[CVE-2022-1280] = "fixed-version: Fixed from version 5.15rc1"
4036
4037CVE_STATUS[CVE-2022-1353] = "fixed-version: Fixed from version 5.17"
4038
4039CVE_STATUS[CVE-2022-1419] = "fixed-version: Fixed from version 5.6rc2"
4040
4041CVE_STATUS[CVE-2022-1462] = "fixed-version: Fixed from version 5.19rc7"
4042
4043CVE_STATUS[CVE-2022-1508] = "fixed-version: Fixed from version 5.15rc1"
4044
4045CVE_STATUS[CVE-2022-1516] = "fixed-version: Fixed from version 5.18rc1"
4046
4047CVE_STATUS[CVE-2022-1651] = "fixed-version: Fixed from version 5.18rc1"
4048
4049CVE_STATUS[CVE-2022-1652] = "fixed-version: Fixed from version 5.18rc6"
4050
4051CVE_STATUS[CVE-2022-1671] = "fixed-version: Fixed from version 5.18rc1"
4052
4053CVE_STATUS[CVE-2022-1678] = "fixed-version: Fixed from version 4.20rc1"
4054
4055CVE_STATUS[CVE-2022-1679] = "fixed-version: Fixed from version 6.0rc1"
4056
4057CVE_STATUS[CVE-2022-1729] = "fixed-version: Fixed from version 5.18"
4058
4059CVE_STATUS[CVE-2022-1734] = "fixed-version: Fixed from version 5.18rc6"
4060
4061CVE_STATUS[CVE-2022-1786] = "fixed-version: Fixed from version 5.12rc1"
4062
4063CVE_STATUS[CVE-2022-1789] = "fixed-version: Fixed from version 5.18"
4064
4065CVE_STATUS[CVE-2022-1836] = "fixed-version: Fixed from version 5.18rc5"
4066
4067CVE_STATUS[CVE-2022-1852] = "fixed-version: Fixed from version 5.19rc1"
4068
4069CVE_STATUS[CVE-2022-1882] = "fixed-version: Fixed from version 5.19rc8"
4070
4071CVE_STATUS[CVE-2022-1943] = "fixed-version: Fixed from version 5.18rc7"
4072
4073CVE_STATUS[CVE-2022-1966] = "fixed-version: Fixed from version 5.19rc1"
4074
4075CVE_STATUS[CVE-2022-1972] = "fixed-version: Fixed from version 5.19rc1"
4076
4077CVE_STATUS[CVE-2022-1973] = "fixed-version: Fixed from version 5.19rc1"
4078
4079CVE_STATUS[CVE-2022-1974] = "fixed-version: Fixed from version 5.18rc6"
4080
4081CVE_STATUS[CVE-2022-1975] = "fixed-version: Fixed from version 5.18rc6"
4082
4083CVE_STATUS[CVE-2022-1976] = "fixed-version: Fixed from version 5.19rc1"
4084
4085CVE_STATUS[CVE-2022-1998] = "fixed-version: Fixed from version 5.17rc3"
4086
4087CVE_STATUS[CVE-2022-20008] = "fixed-version: Fixed from version 5.17rc5"
4088
4089CVE_STATUS[CVE-2022-20132] = "fixed-version: Fixed from version 5.16rc5"
4090
4091CVE_STATUS[CVE-2022-20141] = "fixed-version: Fixed from version 5.15rc1"
4092
4093CVE_STATUS[CVE-2022-20148] = "fixed-version: Fixed from version 5.16rc1"
4094
4095CVE_STATUS[CVE-2022-20153] = "fixed-version: Fixed from version 5.13rc1"
4096
4097CVE_STATUS[CVE-2022-20154] = "fixed-version: Fixed from version 5.16rc8"
4098
4099CVE_STATUS[CVE-2022-20158] = "fixed-version: Fixed from version 5.17"
4100
4101CVE_STATUS[CVE-2022-20166] = "fixed-version: Fixed from version 5.10rc1"
4102
4103CVE_STATUS[CVE-2022-20368] = "fixed-version: Fixed from version 5.17"
4104
4105CVE_STATUS[CVE-2022-20369] = "fixed-version: Fixed from version 5.18rc1"
4106
4107CVE_STATUS[CVE-2022-20409] = "fixed-version: Fixed from version 5.12rc1"
4108
4109CVE_STATUS[CVE-2022-20421] = "fixed-version: Fixed from version 6.0rc4"
4110
4111CVE_STATUS[CVE-2022-20422] = "fixed-version: Fixed from version 6.0rc1"
4112
4113CVE_STATUS[CVE-2022-20423] = "fixed-version: Fixed from version 5.17"
4114
4115CVE_STATUS[CVE-2022-20424] = "fixed-version: Fixed from version 5.12rc1"
4116
4117CVE_STATUS[CVE-2022-20565] = "fixed-version: Fixed from version 5.9rc4"
4118
4119CVE_STATUS[CVE-2022-20566] = "fixed-version: Fixed from version 5.19"
4120
4121CVE_STATUS[CVE-2022-20567] = "fixed-version: Fixed from version 4.16rc5"
4122
4123CVE_STATUS[CVE-2022-20568] = "fixed-version: Fixed from version 5.12rc1"
4124
4125CVE_STATUS[CVE-2022-20572] = "fixed-version: Fixed from version 5.19rc1"
4126
4127CVE_STATUS[CVE-2022-2078] = "fixed-version: Fixed from version 5.19rc1"
4128
4129CVE_STATUS[CVE-2022-21123] = "fixed-version: Fixed from version 5.19rc3"
4130
4131CVE_STATUS[CVE-2022-21125] = "fixed-version: Fixed from version 5.19rc3"
4132
4133CVE_STATUS[CVE-2022-21166] = "fixed-version: Fixed from version 5.19rc3"
4134
4135CVE_STATUS[CVE-2022-21385] = "fixed-version: Fixed from version 4.20"
4136
4137CVE_STATUS[CVE-2022-21499] = "fixed-version: Fixed from version 5.19rc1"
4138
4139CVE_STATUS[CVE-2022-21505] = "fixed-version: Fixed from version 5.19rc8"
4140
4141CVE_STATUS[CVE-2022-2153] = "fixed-version: Fixed from version 5.18rc1"
4142
4143CVE_STATUS[CVE-2022-2196] = "fixed-version: Fixed from version 6.2rc1"
4144
4145# CVE-2022-2209 has no known resolution
4146
4147CVE_STATUS[CVE-2022-22942] = "fixed-version: Fixed from version 5.17rc2"
4148
4149CVE_STATUS[CVE-2022-23036] = "fixed-version: Fixed from version 5.17rc8"
4150
4151CVE_STATUS[CVE-2022-23037] = "fixed-version: Fixed from version 5.17rc8"
4152
4153CVE_STATUS[CVE-2022-23038] = "fixed-version: Fixed from version 5.17rc8"
4154
4155CVE_STATUS[CVE-2022-23039] = "fixed-version: Fixed from version 5.17rc8"
4156
4157CVE_STATUS[CVE-2022-23040] = "fixed-version: Fixed from version 5.17rc8"
4158
4159CVE_STATUS[CVE-2022-23041] = "fixed-version: Fixed from version 5.17rc8"
4160
4161CVE_STATUS[CVE-2022-23042] = "fixed-version: Fixed from version 5.17rc8"
4162
4163CVE_STATUS[CVE-2022-2308] = "fixed-version: Fixed from version 6.0"
4164
4165CVE_STATUS[CVE-2022-2318] = "fixed-version: Fixed from version 5.19rc5"
4166
4167CVE_STATUS[CVE-2022-23222] = "fixed-version: Fixed from version 5.17rc1"
4168
4169CVE_STATUS[CVE-2022-2327] = "fixed-version: Fixed from version 5.12rc1"
4170
4171CVE_STATUS[CVE-2022-2380] = "fixed-version: Fixed from version 5.18rc1"
4172
4173CVE_STATUS[CVE-2022-23816] = "fixed-version: Fixed from version 5.19rc7"
4174
4175# CVE-2022-23825 has no known resolution
4176
4177CVE_STATUS[CVE-2022-23960] = "fixed-version: Fixed from version 5.17rc8"
4178
4179CVE_STATUS[CVE-2022-24122] = "fixed-version: Fixed from version 5.17rc2"
4180
4181CVE_STATUS[CVE-2022-24448] = "fixed-version: Fixed from version 5.17rc2"
4182
4183CVE_STATUS[CVE-2022-24958] = "fixed-version: Fixed from version 5.17rc1"
4184
4185CVE_STATUS[CVE-2022-24959] = "fixed-version: Fixed from version 5.17rc2"
4186
4187CVE_STATUS[CVE-2022-2503] = "fixed-version: Fixed from version 5.19rc1"
4188
4189CVE_STATUS[CVE-2022-25258] = "fixed-version: Fixed from version 5.17rc4"
4190
4191# CVE-2022-25265 has no known resolution
4192
4193CVE_STATUS[CVE-2022-25375] = "fixed-version: Fixed from version 5.17rc4"
4194
4195CVE_STATUS[CVE-2022-25636] = "fixed-version: Fixed from version 5.17rc6"
4196
4197CVE_STATUS[CVE-2022-2585] = "fixed-version: Fixed from version 6.0rc1"
4198
4199CVE_STATUS[CVE-2022-2586] = "fixed-version: Fixed from version 6.0rc1"
4200
4201CVE_STATUS[CVE-2022-2588] = "fixed-version: Fixed from version 6.0rc1"
4202
4203CVE_STATUS[CVE-2022-2590] = "fixed-version: Fixed from version 6.0rc3"
4204
4205CVE_STATUS[CVE-2022-2602] = "fixed-version: Fixed from version 6.1rc1"
4206
4207CVE_STATUS[CVE-2022-26365] = "fixed-version: Fixed from version 5.19rc6"
4208
4209CVE_STATUS[CVE-2022-26373] = "fixed-version: Fixed from version 6.0rc1"
4210
4211CVE_STATUS[CVE-2022-2639] = "fixed-version: Fixed from version 5.18rc4"
4212
4213CVE_STATUS[CVE-2022-26490] = "fixed-version: Fixed from version 5.17rc1"
4214
4215CVE_STATUS[CVE-2022-2663] = "fixed-version: Fixed from version 6.0rc5"
4216
4217# CVE-2022-26878 has no known resolution
4218
4219CVE_STATUS[CVE-2022-26966] = "fixed-version: Fixed from version 5.17rc6"
4220
4221CVE_STATUS[CVE-2022-27223] = "fixed-version: Fixed from version 5.17rc6"
4222
4223CVE_STATUS[CVE-2022-27666] = "fixed-version: Fixed from version 5.17rc8"
4224
4225CVE_STATUS[CVE-2022-27672] = "fixed-version: Fixed from version 6.2"
4226
4227CVE_STATUS[CVE-2022-2785] = "fixed-version: Fixed from version 6.0rc1"
4228
4229CVE_STATUS[CVE-2022-27950] = "fixed-version: Fixed from version 5.17rc5"
4230
4231CVE_STATUS[CVE-2022-28356] = "fixed-version: Fixed from version 5.18rc1"
4232
4233CVE_STATUS[CVE-2022-28388] = "fixed-version: Fixed from version 5.18rc1"
4234
4235CVE_STATUS[CVE-2022-28389] = "fixed-version: Fixed from version 5.18rc1"
4236
4237CVE_STATUS[CVE-2022-28390] = "fixed-version: Fixed from version 5.18rc1"
4238
4239CVE_STATUS[CVE-2022-2873] = "fixed-version: Fixed from version 5.19rc1"
4240
4241CVE_STATUS[CVE-2022-28796] = "fixed-version: Fixed from version 5.18rc1"
4242
4243CVE_STATUS[CVE-2022-28893] = "fixed-version: Fixed from version 5.18rc2"
4244
4245CVE_STATUS[CVE-2022-2905] = "fixed-version: Fixed from version 6.0rc4"
4246
4247CVE_STATUS[CVE-2022-29156] = "fixed-version: Fixed from version 5.17rc6"
4248
4249CVE_STATUS[CVE-2022-2938] = "fixed-version: Fixed from version 5.17rc2"
4250
4251CVE_STATUS[CVE-2022-29581] = "fixed-version: Fixed from version 5.18rc4"
4252
4253CVE_STATUS[CVE-2022-29582] = "fixed-version: Fixed from version 5.18rc2"
4254
4255CVE_STATUS[CVE-2022-2959] = "fixed-version: Fixed from version 5.19rc1"
4256
4257# CVE-2022-2961 has no known resolution
4258
4259CVE_STATUS[CVE-2022-2964] = "fixed-version: Fixed from version 5.17rc4"
4260
4261CVE_STATUS[CVE-2022-2977] = "fixed-version: Fixed from version 5.18rc1"
4262
4263CVE_STATUS[CVE-2022-2978] = "fixed-version: Fixed from version 6.1rc1"
4264
4265CVE_STATUS[CVE-2022-29900] = "fixed-version: Fixed from version 5.19rc7"
4266
4267CVE_STATUS[CVE-2022-29901] = "fixed-version: Fixed from version 5.19rc7"
4268
4269CVE_STATUS[CVE-2022-2991] = "fixed-version: Fixed from version 5.15rc1"
4270
4271CVE_STATUS[CVE-2022-29968] = "fixed-version: Fixed from version 5.18rc5"
4272
4273CVE_STATUS[CVE-2022-3028] = "fixed-version: Fixed from version 6.0rc3"
4274
4275CVE_STATUS[CVE-2022-30594] = "fixed-version: Fixed from version 5.18rc1"
4276
4277CVE_STATUS[CVE-2022-3061] = "fixed-version: Fixed from version 5.18rc5"
4278
4279CVE_STATUS[CVE-2022-3077] = "fixed-version: Fixed from version 5.19rc1"
4280
4281CVE_STATUS[CVE-2022-3078] = "fixed-version: Fixed from version 5.18rc1"
4282
4283CVE_STATUS[CVE-2022-3103] = "fixed-version: Fixed from version 6.0rc3"
4284
4285CVE_STATUS[CVE-2022-3104] = "fixed-version: Fixed from version 5.19rc1"
4286
4287CVE_STATUS[CVE-2022-3105] = "fixed-version: Fixed from version 5.16"
4288
4289CVE_STATUS[CVE-2022-3106] = "fixed-version: Fixed from version 5.16rc6"
4290
4291CVE_STATUS[CVE-2022-3107] = "fixed-version: Fixed from version 5.17"
4292
4293CVE_STATUS[CVE-2022-3108] = "fixed-version: Fixed from version 5.17rc1"
4294
4295CVE_STATUS[CVE-2022-3110] = "fixed-version: Fixed from version 5.19rc1"
4296
4297CVE_STATUS[CVE-2022-3111] = "fixed-version: Fixed from version 5.18rc1"
4298
4299CVE_STATUS[CVE-2022-3112] = "fixed-version: Fixed from version 5.18rc1"
4300
4301CVE_STATUS[CVE-2022-3113] = "fixed-version: Fixed from version 5.18rc1"
4302
4303CVE_STATUS[CVE-2022-3114] = "fixed-version: Fixed from version 5.19rc1"
4304
4305CVE_STATUS[CVE-2022-3115] = "fixed-version: Fixed from version 5.19rc1"
4306
4307CVE_STATUS[CVE-2022-3169] = "fixed-version: Fixed from version 6.1rc1"
4308
4309CVE_STATUS[CVE-2022-3170] = "fixed-version: Fixed from version 6.0rc4"
4310
4311CVE_STATUS[CVE-2022-3176] = "fixed-version: Fixed from version 5.17rc1"
4312
4313CVE_STATUS[CVE-2022-3202] = "fixed-version: Fixed from version 5.18rc1"
4314
4315CVE_STATUS[CVE-2022-32250] = "fixed-version: Fixed from version 5.19rc1"
4316
4317CVE_STATUS[CVE-2022-32296] = "fixed-version: Fixed from version 5.18rc6"
4318
4319# CVE-2022-3238 has no known resolution
4320
4321CVE_STATUS[CVE-2022-3239] = "fixed-version: Fixed from version 5.18rc1"
4322
4323CVE_STATUS[CVE-2022-32981] = "fixed-version: Fixed from version 5.19rc2"
4324
4325CVE_STATUS[CVE-2022-3303] = "fixed-version: Fixed from version 6.0rc5"
4326
4327CVE_STATUS[CVE-2022-3344] = "fixed-version: Fixed from version 6.1rc7"
4328
4329CVE_STATUS[CVE-2022-33740] = "fixed-version: Fixed from version 5.19rc6"
4330
4331CVE_STATUS[CVE-2022-33741] = "fixed-version: Fixed from version 5.19rc6"
4332
4333CVE_STATUS[CVE-2022-33742] = "fixed-version: Fixed from version 5.19rc6"
4334
4335CVE_STATUS[CVE-2022-33743] = "fixed-version: Fixed from version 5.19rc6"
4336
4337CVE_STATUS[CVE-2022-33744] = "fixed-version: Fixed from version 5.19rc6"
4338
4339CVE_STATUS[CVE-2022-33981] = "fixed-version: Fixed from version 5.18rc5"
4340
4341CVE_STATUS[CVE-2022-3424] = "fixed-version: Fixed from version 6.2rc1"
4342
4343CVE_STATUS[CVE-2022-3435] = "fixed-version: Fixed from version 6.1rc1"
4344
4345CVE_STATUS[CVE-2022-34494] = "fixed-version: Fixed from version 5.19rc1"
4346
4347CVE_STATUS[CVE-2022-34495] = "fixed-version: Fixed from version 5.19rc1"
4348
4349CVE_STATUS[CVE-2022-34918] = "fixed-version: Fixed from version 5.19rc6"
4350
4351CVE_STATUS[CVE-2022-3521] = "fixed-version: Fixed from version 6.1rc1"
4352
4353CVE_STATUS[CVE-2022-3522] = "fixed-version: Fixed from version 6.1rc1"
4354
4355CVE_STATUS[CVE-2022-3523] = "fixed-version: Fixed from version 6.1rc1"
4356
4357CVE_STATUS[CVE-2022-3524] = "fixed-version: Fixed from version 6.1rc1"
4358
4359CVE_STATUS[CVE-2022-3526] = "fixed-version: Fixed from version 5.18rc3"
4360
4361CVE_STATUS[CVE-2022-3531] = "fixed-version: Fixed from version 6.2rc1"
4362
4363CVE_STATUS[CVE-2022-3532] = "fixed-version: Fixed from version 6.2rc1"
4364
4365# CVE-2022-3533 has no known resolution
4366
4367CVE_STATUS[CVE-2022-3534] = "fixed-version: Fixed from version 6.2rc1"
4368
4369CVE_STATUS[CVE-2022-3535] = "fixed-version: Fixed from version 6.1rc1"
4370
4371CVE_STATUS[CVE-2022-3541] = "fixed-version: Fixed from version 6.1rc1"
4372
4373CVE_STATUS[CVE-2022-3542] = "fixed-version: Fixed from version 6.1rc1"
4374
4375CVE_STATUS[CVE-2022-3543] = "fixed-version: Fixed from version 6.1rc1"
4376
4377# CVE-2022-3544 has no known resolution
4378
4379CVE_STATUS[CVE-2022-3545] = "fixed-version: Fixed from version 6.0rc1"
4380
4381CVE_STATUS[CVE-2022-3564] = "fixed-version: Fixed from version 6.1rc4"
4382
4383CVE_STATUS[CVE-2022-3565] = "fixed-version: Fixed from version 6.1rc1"
4384
4385CVE_STATUS[CVE-2022-3566] = "fixed-version: Fixed from version 6.1rc1"
4386
4387CVE_STATUS[CVE-2022-3567] = "fixed-version: Fixed from version 6.1rc1"
4388
4389CVE_STATUS[CVE-2022-3577] = "fixed-version: Fixed from version 5.19rc1"
4390
4391CVE_STATUS[CVE-2022-3586] = "fixed-version: Fixed from version 6.0rc5"
4392
4393CVE_STATUS[CVE-2022-3594] = "fixed-version: Fixed from version 6.1rc1"
4394
4395CVE_STATUS[CVE-2022-3595] = "fixed-version: Fixed from version 6.1rc1"
4396
4397# CVE-2022-3606 has no known resolution
4398
4399CVE_STATUS[CVE-2022-36123] = "fixed-version: Fixed from version 5.19rc6"
4400
4401CVE_STATUS[CVE-2022-3619] = "fixed-version: Fixed from version 6.1rc4"
4402
4403CVE_STATUS[CVE-2022-3621] = "fixed-version: Fixed from version 6.1rc1"
4404
4405CVE_STATUS[CVE-2022-3623] = "fixed-version: Fixed from version 6.1rc1"
4406
4407CVE_STATUS[CVE-2022-3624] = "fixed-version: Fixed from version 6.0rc1"
4408
4409CVE_STATUS[CVE-2022-3625] = "fixed-version: Fixed from version 6.0rc1"
4410
4411CVE_STATUS[CVE-2022-3628] = "fixed-version: Fixed from version 6.1rc5"
4412
4413CVE_STATUS[CVE-2022-36280] = "fixed-version: Fixed from version 6.2rc1"
4414
4415CVE_STATUS[CVE-2022-3629] = "fixed-version: Fixed from version 6.0rc1"
4416
4417CVE_STATUS[CVE-2022-3630] = "fixed-version: Fixed from version 6.0rc1"
4418
4419CVE_STATUS[CVE-2022-3633] = "fixed-version: Fixed from version 6.0rc1"
4420
4421CVE_STATUS[CVE-2022-3635] = "fixed-version: Fixed from version 6.0rc1"
4422
4423CVE_STATUS[CVE-2022-3636] = "fixed-version: Fixed from version 5.19rc1"
4424
4425CVE_STATUS[CVE-2022-3640] = "fixed-version: Fixed from version 6.1rc4"
4426
4427CVE_STATUS[CVE-2022-36402] = "fixed-version: Fixed from version 6.5"
4428
4429# CVE-2022-3642 has no known resolution
4430
4431CVE_STATUS[CVE-2022-3643] = "fixed-version: Fixed from version 6.1"
4432
4433CVE_STATUS[CVE-2022-3646] = "fixed-version: Fixed from version 6.1rc1"
4434
4435CVE_STATUS[CVE-2022-3649] = "fixed-version: Fixed from version 6.1rc1"
4436
4437CVE_STATUS[CVE-2022-36879] = "fixed-version: Fixed from version 5.19rc8"
4438
4439CVE_STATUS[CVE-2022-36946] = "fixed-version: Fixed from version 5.19"
4440
4441CVE_STATUS[CVE-2022-3707] = "fixed-version: Fixed from version 6.2rc3"
4442
4443# CVE-2022-38096 has no known resolution
4444
4445CVE_STATUS[CVE-2022-38457] = "fixed-version: Fixed from version 6.2rc4"
4446
4447CVE_STATUS[CVE-2022-3903] = "fixed-version: Fixed from version 6.1rc2"
4448
4449CVE_STATUS[CVE-2022-3910] = "fixed-version: Fixed from version 6.0rc6"
4450
4451CVE_STATUS[CVE-2022-39188] = "fixed-version: Fixed from version 5.19rc8"
4452
4453CVE_STATUS[CVE-2022-39189] = "fixed-version: Fixed from version 5.19rc2"
4454
4455CVE_STATUS[CVE-2022-39190] = "fixed-version: Fixed from version 6.0rc3"
4456
4457CVE_STATUS[CVE-2022-3977] = "fixed-version: Fixed from version 6.1rc1"
4458
4459CVE_STATUS[CVE-2022-39842] = "fixed-version: Fixed from version 5.19rc4"
4460
4461CVE_STATUS[CVE-2022-40133] = "fixed-version: Fixed from version 6.2rc4"
4462
4463CVE_STATUS[CVE-2022-40307] = "fixed-version: Fixed from version 6.0rc5"
4464
4465CVE_STATUS[CVE-2022-40476] = "fixed-version: Fixed from version 5.19rc4"
4466
4467CVE_STATUS[CVE-2022-40768] = "fixed-version: Fixed from version 6.1rc1"
4468
4469CVE_STATUS[CVE-2022-4095] = "fixed-version: Fixed from version 6.0rc4"
4470
4471CVE_STATUS[CVE-2022-40982] = "fixed-version: Fixed from version 6.5rc6"
4472
4473CVE_STATUS[CVE-2022-41218] = "fixed-version: Fixed from version 6.2rc1"
4474
4475CVE_STATUS[CVE-2022-41222] = "fixed-version: Fixed from version 5.14rc1"
4476
4477CVE_STATUS[CVE-2022-4127] = "fixed-version: Fixed from version 5.19rc6"
4478
4479CVE_STATUS[CVE-2022-4128] = "fixed-version: Fixed from version 5.19rc7"
4480
4481CVE_STATUS[CVE-2022-4129] = "fixed-version: Fixed from version 6.1rc6"
4482
4483CVE_STATUS[CVE-2022-4139] = "fixed-version: Fixed from version 6.1rc8"
4484
4485CVE_STATUS[CVE-2022-41674] = "fixed-version: Fixed from version 6.1rc1"
4486
4487# CVE-2022-41848 has no known resolution
4488
4489CVE_STATUS[CVE-2022-41849] = "fixed-version: Fixed from version 6.1rc1"
4490
4491CVE_STATUS[CVE-2022-41850] = "fixed-version: Fixed from version 6.1rc1"
4492
4493CVE_STATUS[CVE-2022-41858] = "fixed-version: Fixed from version 5.18rc2"
4494
4495CVE_STATUS[CVE-2022-42328] = "fixed-version: Fixed from version 6.1"
4496
4497CVE_STATUS[CVE-2022-42329] = "fixed-version: Fixed from version 6.1"
4498
4499CVE_STATUS[CVE-2022-42432] = "fixed-version: Fixed from version 6.0rc7"
4500
4501CVE_STATUS[CVE-2022-4269] = "fixed-version: Fixed from version 6.3rc1"
4502
4503CVE_STATUS[CVE-2022-42703] = "fixed-version: Fixed from version 6.0rc4"
4504
4505CVE_STATUS[CVE-2022-42719] = "fixed-version: Fixed from version 6.1rc1"
4506
4507CVE_STATUS[CVE-2022-42720] = "fixed-version: Fixed from version 6.1rc1"
4508
4509CVE_STATUS[CVE-2022-42721] = "fixed-version: Fixed from version 6.1rc1"
4510
4511CVE_STATUS[CVE-2022-42722] = "fixed-version: Fixed from version 6.1rc1"
4512
4513CVE_STATUS[CVE-2022-42895] = "fixed-version: Fixed from version 6.1rc4"
4514
4515CVE_STATUS[CVE-2022-42896] = "fixed-version: Fixed from version 6.1rc4"
4516
4517CVE_STATUS[CVE-2022-43750] = "fixed-version: Fixed from version 6.1rc1"
4518
4519CVE_STATUS[CVE-2022-4378] = "fixed-version: Fixed from version 6.1"
4520
4521CVE_STATUS[CVE-2022-4379] = "fixed-version: Fixed from version 6.2rc1"
4522
4523CVE_STATUS[CVE-2022-4382] = "fixed-version: Fixed from version 6.2rc5"
4524
4525CVE_STATUS[CVE-2022-43945] = "fixed-version: Fixed from version 6.1rc1"
4526
4527CVE_STATUS[CVE-2022-44032] = "fixed-version: Fixed from version 6.4rc1"
4528
4529CVE_STATUS[CVE-2022-44033] = "fixed-version: Fixed from version 6.4rc1"
4530
4531CVE_STATUS[CVE-2022-44034] = "fixed-version: Fixed from version 6.4rc1"
4532
4533# CVE-2022-4543 has no known resolution
4534
4535CVE_STATUS[CVE-2022-45869] = "fixed-version: Fixed from version 6.1rc7"
4536
4537# CVE-2022-45884 has no known resolution
4538
4539# CVE-2022-45885 has no known resolution
4540
4541CVE_STATUS[CVE-2022-45886] = "fixed-version: Fixed from version 6.4rc3"
4542
4543CVE_STATUS[CVE-2022-45887] = "fixed-version: Fixed from version 6.4rc3"
4544
4545CVE_STATUS[CVE-2022-45888] = "fixed-version: Fixed from version 6.2rc1"
4546
4547CVE_STATUS[CVE-2022-45919] = "fixed-version: Fixed from version 6.4rc3"
4548
4549CVE_STATUS[CVE-2022-45934] = "fixed-version: Fixed from version 6.1"
4550
4551CVE_STATUS[CVE-2022-4662] = "fixed-version: Fixed from version 6.0rc4"
4552
4553CVE_STATUS[CVE-2022-4696] = "fixed-version: Fixed from version 5.12rc1"
4554
4555CVE_STATUS[CVE-2022-4744] = "fixed-version: Fixed from version 5.16rc7"
4556
4557CVE_STATUS[CVE-2022-47518] = "fixed-version: Fixed from version 6.1rc8"
4558
4559CVE_STATUS[CVE-2022-47519] = "fixed-version: Fixed from version 6.1rc8"
4560
4561CVE_STATUS[CVE-2022-47520] = "fixed-version: Fixed from version 6.1rc8"
4562
4563CVE_STATUS[CVE-2022-47521] = "fixed-version: Fixed from version 6.1rc8"
4564
4565CVE_STATUS[CVE-2022-47929] = "fixed-version: Fixed from version 6.2rc4"
4566
4567CVE_STATUS[CVE-2022-47938] = "fixed-version: Fixed from version 6.0rc1"
4568
4569CVE_STATUS[CVE-2022-47939] = "fixed-version: Fixed from version 6.0rc1"
4570
4571CVE_STATUS[CVE-2022-47940] = "fixed-version: Fixed from version 5.19rc1"
4572
4573CVE_STATUS[CVE-2022-47941] = "fixed-version: Fixed from version 6.0rc1"
4574
4575CVE_STATUS[CVE-2022-47942] = "fixed-version: Fixed from version 6.0rc1"
4576
4577CVE_STATUS[CVE-2022-47943] = "fixed-version: Fixed from version 6.0rc1"
4578
4579CVE_STATUS[CVE-2022-47946] = "fixed-version: Fixed from version 5.12rc2"
4580
4581CVE_STATUS[CVE-2022-4842] = "fixed-version: Fixed from version 6.2rc1"
4582
4583CVE_STATUS[CVE-2022-48423] = "fixed-version: Fixed from version 6.2rc1"
4584
4585CVE_STATUS[CVE-2022-48424] = "fixed-version: Fixed from version 6.2rc1"
4586
4587CVE_STATUS[CVE-2022-48425] = "fixed-version: Fixed from version 6.4rc1"
4588
4589CVE_STATUS[CVE-2022-48502] = "fixed-version: Fixed from version 6.2rc1"
4590
4591CVE_STATUS[CVE-2022-48619] = "fixed-version: Fixed from version 5.18rc1"
4592
4593CVE_STATUS[CVE-2023-0030] = "fixed-version: Fixed from version 5.0rc1"
4594
4595CVE_STATUS[CVE-2023-0045] = "fixed-version: Fixed from version 6.2rc3"
4596
4597CVE_STATUS[CVE-2023-0047] = "fixed-version: Fixed from version 5.16rc1"
4598
4599CVE_STATUS[CVE-2023-0122] = "fixed-version: Fixed from version 6.0rc4"
4600
4601CVE_STATUS[CVE-2023-0160] = "fixed-version: Fixed from version 6.4rc1"
4602
4603CVE_STATUS[CVE-2023-0179] = "fixed-version: Fixed from version 6.2rc5"
4604
4605CVE_STATUS[CVE-2023-0210] = "fixed-version: Fixed from version 6.2rc4"
4606
4607CVE_STATUS[CVE-2023-0240] = "fixed-version: Fixed from version 5.10rc1"
4608
4609CVE_STATUS[CVE-2023-0266] = "fixed-version: Fixed from version 6.2rc4"
4610
4611CVE_STATUS[CVE-2023-0386] = "fixed-version: Fixed from version 6.2rc6"
4612
4613CVE_STATUS[CVE-2023-0394] = "fixed-version: Fixed from version 6.2rc4"
4614
4615CVE_STATUS[CVE-2023-0458] = "fixed-version: Fixed from version 6.2rc5"
4616
4617CVE_STATUS[CVE-2023-0459] = "fixed-version: Fixed from version 6.3rc1"
4618
4619CVE_STATUS[CVE-2023-0461] = "fixed-version: Fixed from version 6.2rc3"
4620
4621CVE_STATUS[CVE-2023-0468] = "fixed-version: Fixed from version 6.1rc7"
4622
4623CVE_STATUS[CVE-2023-0469] = "fixed-version: Fixed from version 6.1rc7"
4624
4625CVE_STATUS[CVE-2023-0590] = "fixed-version: Fixed from version 6.1rc2"
4626
4627CVE_STATUS[CVE-2023-0597] = "fixed-version: Fixed from version 6.2rc1"
4628
4629CVE_STATUS[CVE-2023-0615] = "fixed-version: Fixed from version 6.1rc3"
4630
4631CVE_STATUS[CVE-2023-1032] = "fixed-version: Fixed from version 6.3rc2"
4632
4633CVE_STATUS[CVE-2023-1073] = "fixed-version: Fixed from version 6.2rc5"
4634
4635CVE_STATUS[CVE-2023-1074] = "fixed-version: Fixed from version 6.2rc6"
4636
4637CVE_STATUS[CVE-2023-1075] = "fixed-version: Fixed from version 6.2rc7"
4638
4639CVE_STATUS[CVE-2023-1076] = "fixed-version: Fixed from version 6.3rc1"
4640
4641CVE_STATUS[CVE-2023-1077] = "fixed-version: Fixed from version 6.3rc1"
4642
4643CVE_STATUS[CVE-2023-1078] = "fixed-version: Fixed from version 6.2rc8"
4644
4645CVE_STATUS[CVE-2023-1079] = "fixed-version: Fixed from version 6.3rc1"
4646
4647CVE_STATUS[CVE-2023-1095] = "fixed-version: Fixed from version 6.0rc1"
4648
4649CVE_STATUS[CVE-2023-1118] = "fixed-version: Fixed from version 6.3rc1"
4650
4651CVE_STATUS[CVE-2023-1192] = "fixed-version: Fixed from version 6.4rc1"
4652
4653CVE_STATUS[CVE-2023-1193] = "fixed-version: Fixed from version 6.3rc6"
4654
4655CVE_STATUS[CVE-2023-1194] = "fixed-version: Fixed from version 6.4rc6"
4656
4657CVE_STATUS[CVE-2023-1195] = "fixed-version: Fixed from version 6.1rc3"
4658
4659CVE_STATUS[CVE-2023-1206] = "fixed-version: Fixed from version 6.5rc4"
4660
4661CVE_STATUS[CVE-2023-1249] = "fixed-version: Fixed from version 5.18rc1"
4662
4663CVE_STATUS[CVE-2023-1252] = "fixed-version: Fixed from version 5.16rc1"
4664
4665CVE_STATUS[CVE-2023-1281] = "fixed-version: Fixed from version 6.2"
4666
4667CVE_STATUS[CVE-2023-1295] = "fixed-version: Fixed from version 5.12rc1"
4668
4669CVE_STATUS[CVE-2023-1380] = "fixed-version: Fixed from version 6.4rc1"
4670
4671CVE_STATUS[CVE-2023-1382] = "fixed-version: Fixed from version 6.1rc7"
4672
4673CVE_STATUS[CVE-2023-1390] = "fixed-version: Fixed from version 5.11rc4"
4674
4675# CVE-2023-1476 has no known resolution
4676
4677CVE_STATUS[CVE-2023-1513] = "fixed-version: Fixed from version 6.2"
4678
4679CVE_STATUS[CVE-2023-1582] = "fixed-version: Fixed from version 5.17rc4"
4680
4681CVE_STATUS[CVE-2023-1583] = "fixed-version: Fixed from version 6.3rc4"
4682
4683CVE_STATUS[CVE-2023-1611] = "fixed-version: Fixed from version 6.3rc5"
4684
4685CVE_STATUS[CVE-2023-1637] = "fixed-version: Fixed from version 5.18rc2"
4686
4687CVE_STATUS[CVE-2023-1652] = "fixed-version: Fixed from version 6.2rc5"
4688
4689CVE_STATUS[CVE-2023-1670] = "fixed-version: Fixed from version 6.3rc4"
4690
4691CVE_STATUS[CVE-2023-1829] = "fixed-version: Fixed from version 6.3rc1"
4692
4693CVE_STATUS[CVE-2023-1838] = "fixed-version: Fixed from version 5.18"
4694
4695CVE_STATUS[CVE-2023-1855] = "fixed-version: Fixed from version 6.3rc3"
4696
4697CVE_STATUS[CVE-2023-1859] = "fixed-version: Fixed from version 6.3rc7"
4698
4699CVE_STATUS[CVE-2023-1872] = "fixed-version: Fixed from version 5.18rc2"
4700
4701CVE_STATUS[CVE-2023-1989] = "fixed-version: Fixed from version 6.3rc4"
4702
4703CVE_STATUS[CVE-2023-1990] = "fixed-version: Fixed from version 6.3rc3"
4704
4705CVE_STATUS[CVE-2023-1998] = "fixed-version: Fixed from version 6.3rc1"
4706
4707CVE_STATUS[CVE-2023-2002] = "fixed-version: Fixed from version 6.4rc1"
4708
4709CVE_STATUS[CVE-2023-2006] = "fixed-version: Fixed from version 6.1rc7"
4710
4711CVE_STATUS[CVE-2023-2007] = "fixed-version: Fixed from version 6.0rc1"
4712
4713CVE_STATUS[CVE-2023-2008] = "fixed-version: Fixed from version 5.19rc4"
4714
4715CVE_STATUS[CVE-2023-2019] = "fixed-version: Fixed from version 6.0rc1"
4716
4717CVE_STATUS[CVE-2023-20569] = "fixed-version: Fixed from version 6.5rc6"
4718
4719CVE_STATUS[CVE-2023-20588] = "fixed-version: Fixed from version 6.5rc6"
4720
4721CVE_STATUS[CVE-2023-20593] = "fixed-version: Fixed from version 6.5rc4"
4722
4723CVE_STATUS[CVE-2023-20928] = "fixed-version: Fixed from version 6.0rc1"
4724
4725# CVE-2023-20937 has no known resolution
4726
4727CVE_STATUS[CVE-2023-20938] = "fixed-version: Fixed from version 5.18rc5"
4728
4729# CVE-2023-20941 has no known resolution
4730
4731CVE_STATUS[CVE-2023-21102] = "fixed-version: Fixed from version 6.2rc4"
4732
4733CVE_STATUS[CVE-2023-21106] = "fixed-version: Fixed from version 6.2rc5"
4734
4735CVE_STATUS[CVE-2023-2124] = "fixed-version: Fixed from version 6.4rc1"
4736
4737CVE_STATUS[CVE-2023-21255] = "fixed-version: Fixed from version 6.4rc4"
4738
4739CVE_STATUS[CVE-2023-21264] = "fixed-version: Fixed from version 6.4rc5"
4740
4741# CVE-2023-21400 has no known resolution
4742
4743CVE_STATUS[CVE-2023-2156] = "fixed-version: Fixed from version 6.3"
4744
4745CVE_STATUS[CVE-2023-2162] = "fixed-version: Fixed from version 6.2rc6"
4746
4747CVE_STATUS[CVE-2023-2163] = "fixed-version: Fixed from version 6.3"
4748
4749CVE_STATUS[CVE-2023-2166] = "fixed-version: Fixed from version 6.1"
4750
4751CVE_STATUS[CVE-2023-2176] = "fixed-version: Fixed from version 6.3rc1"
4752
4753CVE_STATUS[CVE-2023-2177] = "fixed-version: Fixed from version 5.19"
4754
4755CVE_STATUS[CVE-2023-2194] = "fixed-version: Fixed from version 6.3rc4"
4756
4757CVE_STATUS[CVE-2023-2235] = "fixed-version: Fixed from version 6.3rc3"
4758
4759CVE_STATUS[CVE-2023-2236] = "fixed-version: Fixed from version 6.1rc7"
4760
4761CVE_STATUS[CVE-2023-2248] = "fixed-version: Fixed from version 6.3"
4762
4763CVE_STATUS[CVE-2023-2269] = "fixed-version: Fixed from version 6.4rc1"
4764
4765CVE_STATUS[CVE-2023-22995] = "fixed-version: Fixed from version 5.17rc1"
4766
4767CVE_STATUS[CVE-2023-22996] = "fixed-version: Fixed from version 5.18rc1"
4768
4769CVE_STATUS[CVE-2023-22997] = "fixed-version: Fixed from version 6.2rc1"
4770
4771CVE_STATUS[CVE-2023-22998] = "fixed-version: Fixed from version 6.0rc1"
4772
4773CVE_STATUS[CVE-2023-22999] = "fixed-version: Fixed from version 5.17rc1"
4774
4775CVE_STATUS[CVE-2023-23000] = "fixed-version: Fixed from version 5.17rc1"
4776
4777CVE_STATUS[CVE-2023-23001] = "fixed-version: Fixed from version 5.17rc1"
4778
4779CVE_STATUS[CVE-2023-23002] = "fixed-version: Fixed from version 5.17rc1"
4780
4781CVE_STATUS[CVE-2023-23003] = "fixed-version: Fixed from version 5.16rc6"
4782
4783CVE_STATUS[CVE-2023-23004] = "fixed-version: Fixed from version 5.19rc1"
4784
4785CVE_STATUS[CVE-2023-23005] = "fixed-version: Fixed from version 6.2rc1"
4786
4787CVE_STATUS[CVE-2023-23006] = "fixed-version: Fixed from version 5.16rc8"
4788
4789# CVE-2023-23039 has no known resolution
4790
4791CVE_STATUS[CVE-2023-23454] = "fixed-version: Fixed from version 6.2rc3"
4792
4793CVE_STATUS[CVE-2023-23455] = "fixed-version: Fixed from version 6.2rc3"
4794
4795CVE_STATUS[CVE-2023-23559] = "fixed-version: Fixed from version 6.2rc5"
4796
4797CVE_STATUS[CVE-2023-23586] = "fixed-version: Fixed from version 5.12rc1"
4798
4799CVE_STATUS[CVE-2023-2430] = "fixed-version: Fixed from version 6.2rc5"
4800
4801CVE_STATUS[CVE-2023-2483] = "fixed-version: Fixed from version 6.3rc4"
4802
4803CVE_STATUS[CVE-2023-25012] = "fixed-version: Fixed from version 6.3rc1"
4804
4805CVE_STATUS[CVE-2023-2513] = "fixed-version: Fixed from version 6.0rc1"
4806
4807CVE_STATUS[CVE-2023-25775] = "fixed-version: Fixed from version 6.6rc1"
4808
4809CVE_STATUS[CVE-2023-2598] = "fixed-version: Fixed from version 6.4rc1"
4810
4811# CVE-2023-26242 has no known resolution
4812
4813# CVE-2023-2640 has no known resolution
4814
4815CVE_STATUS[CVE-2023-26544] = "fixed-version: Fixed from version 6.2rc1"
4816
4817CVE_STATUS[CVE-2023-26545] = "fixed-version: Fixed from version 6.2"
4818
4819CVE_STATUS[CVE-2023-26605] = "fixed-version: Fixed from version 6.1rc7"
4820
4821CVE_STATUS[CVE-2023-26606] = "fixed-version: Fixed from version 6.2rc1"
4822
4823CVE_STATUS[CVE-2023-26607] = "fixed-version: Fixed from version 6.1rc1"
4824
4825CVE_STATUS[CVE-2023-28327] = "fixed-version: Fixed from version 6.1"
4826
4827CVE_STATUS[CVE-2023-28328] = "fixed-version: Fixed from version 6.2rc1"
4828
4829CVE_STATUS[CVE-2023-28410] = "fixed-version: Fixed from version 5.19rc1"
4830
4831CVE_STATUS[CVE-2023-28464] = "fixed-version: Fixed from version 6.3rc7"
4832
4833CVE_STATUS[CVE-2023-28466] = "fixed-version: Fixed from version 6.3rc2"
4834
4835CVE_STATUS[CVE-2023-2860] = "fixed-version: Fixed from version 6.0rc5"
4836
4837CVE_STATUS[CVE-2023-28772] = "fixed-version: Fixed from version 5.14rc1"
4838
4839CVE_STATUS[CVE-2023-28866] = "fixed-version: Fixed from version 6.3rc4"
4840
4841CVE_STATUS[CVE-2023-2898] = "fixed-version: Fixed from version 6.5rc1"
4842
4843CVE_STATUS[CVE-2023-2985] = "fixed-version: Fixed from version 6.3rc1"
4844
4845CVE_STATUS[CVE-2023-3006] = "fixed-version: Fixed from version 6.1rc1"
4846
4847# Skipping CVE-2023-3022, no affected_versions
4848
4849CVE_STATUS[CVE-2023-30456] = "fixed-version: Fixed from version 6.3rc3"
4850
4851CVE_STATUS[CVE-2023-30772] = "fixed-version: Fixed from version 6.3rc4"
4852
4853CVE_STATUS[CVE-2023-3090] = "fixed-version: Fixed from version 6.4rc2"
4854
4855CVE_STATUS[CVE-2023-3106] = "fixed-version: Fixed from version 4.8rc7"
4856
4857# Skipping CVE-2023-3108, no affected_versions
4858
4859# CVE-2023-31081 has no known resolution
4860
4861# CVE-2023-31082 has no known resolution
4862
4863CVE_STATUS[CVE-2023-31083] = "fixed-version: Fixed from version 6.6rc1"
4864
4865CVE_STATUS[CVE-2023-31084] = "fixed-version: Fixed from version 6.4rc3"
4866
4867CVE_STATUS[CVE-2023-31085] = "fixed-version: Fixed from version 6.6rc5"
4868
4869CVE_STATUS[CVE-2023-3111] = "fixed-version: Fixed from version 6.0rc2"
4870
4871CVE_STATUS[CVE-2023-3117] = "fixed-version: Fixed from version 6.4rc7"
4872
4873CVE_STATUS[CVE-2023-31248] = "fixed-version: Fixed from version 6.5rc2"
4874
4875CVE_STATUS[CVE-2023-3141] = "fixed-version: Fixed from version 6.4rc1"
4876
4877CVE_STATUS[CVE-2023-31436] = "fixed-version: Fixed from version 6.3"
4878
4879CVE_STATUS[CVE-2023-3159] = "fixed-version: Fixed from version 5.18rc6"
4880
4881CVE_STATUS[CVE-2023-3161] = "fixed-version: Fixed from version 6.2rc7"
4882
4883CVE_STATUS[CVE-2023-3212] = "fixed-version: Fixed from version 6.4rc2"
4884
4885CVE_STATUS[CVE-2023-3220] = "fixed-version: Fixed from version 6.3rc1"
4886
4887CVE_STATUS[CVE-2023-32233] = "fixed-version: Fixed from version 6.4rc1"
4888
4889CVE_STATUS[CVE-2023-32247] = "fixed-version: Fixed from version 6.4rc1"
4890
4891CVE_STATUS[CVE-2023-32248] = "fixed-version: Fixed from version 6.4rc1"
4892
4893CVE_STATUS[CVE-2023-32250] = "fixed-version: Fixed from version 6.4rc1"
4894
4895CVE_STATUS[CVE-2023-32252] = "fixed-version: Fixed from version 6.4rc1"
4896
4897CVE_STATUS[CVE-2023-32254] = "fixed-version: Fixed from version 6.4rc1"
4898
4899CVE_STATUS[CVE-2023-32257] = "fixed-version: Fixed from version 6.4rc1"
4900
4901CVE_STATUS[CVE-2023-32258] = "fixed-version: Fixed from version 6.4rc1"
4902
4903CVE_STATUS[CVE-2023-32269] = "fixed-version: Fixed from version 6.2rc7"
4904
4905# CVE-2023-32629 has no known resolution
4906
4907CVE_STATUS[CVE-2023-3268] = "fixed-version: Fixed from version 6.4rc1"
4908
4909CVE_STATUS[CVE-2023-3269] = "fixed-version: Fixed from version 6.5rc1"
4910
4911CVE_STATUS[CVE-2023-3312] = "fixed-version: Fixed from version 6.4rc1"
4912
4913CVE_STATUS[CVE-2023-3317] = "fixed-version: Fixed from version 6.3rc6"
4914
4915CVE_STATUS[CVE-2023-33203] = "fixed-version: Fixed from version 6.3rc4"
4916
4917CVE_STATUS[CVE-2023-33250] = "fixed-version: Fixed from version 6.5rc1"
4918
4919CVE_STATUS[CVE-2023-33288] = "fixed-version: Fixed from version 6.3rc4"
4920
4921CVE_STATUS[CVE-2023-3338] = "fixed-version: Fixed from version 6.1rc1"
4922
4923CVE_STATUS[CVE-2023-3355] = "fixed-version: Fixed from version 6.3rc1"
4924
4925CVE_STATUS[CVE-2023-3357] = "fixed-version: Fixed from version 6.2rc1"
4926
4927CVE_STATUS[CVE-2023-3358] = "fixed-version: Fixed from version 6.2rc5"
4928
4929CVE_STATUS[CVE-2023-3359] = "fixed-version: Fixed from version 6.2rc7"
4930
4931CVE_STATUS[CVE-2023-3389] = "fixed-version: Fixed from version 6.0rc1"
4932
4933CVE_STATUS[CVE-2023-3390] = "fixed-version: Fixed from version 6.4rc7"
4934
4935CVE_STATUS[CVE-2023-33951] = "fixed-version: Fixed from version 6.4rc1"
4936
4937CVE_STATUS[CVE-2023-33952] = "fixed-version: Fixed from version 6.4rc1"
4938
4939# CVE-2023-3397 has no known resolution
4940
4941CVE_STATUS[CVE-2023-34255] = "fixed-version: Fixed from version 6.4rc1"
4942
4943CVE_STATUS[CVE-2023-34256] = "fixed-version: Fixed from version 6.4rc2"
4944
4945CVE_STATUS[CVE-2023-34319] = "fixed-version: Fixed from version 6.5rc6"
4946
4947CVE_STATUS[CVE-2023-34324] = "fixed-version: Fixed from version 6.6rc6"
4948
4949CVE_STATUS[CVE-2023-3439] = "fixed-version: Fixed from version 5.18rc5"
4950
4951CVE_STATUS[CVE-2023-35001] = "fixed-version: Fixed from version 6.5rc2"
4952
4953CVE_STATUS[CVE-2023-3567] = "fixed-version: Fixed from version 6.2rc7"
4954
4955# CVE-2023-35693 has no known resolution
4956
4957CVE_STATUS[CVE-2023-35788] = "fixed-version: Fixed from version 6.4rc5"
4958
4959CVE_STATUS[CVE-2023-35823] = "fixed-version: Fixed from version 6.4rc1"
4960
4961CVE_STATUS[CVE-2023-35824] = "fixed-version: Fixed from version 6.4rc1"
4962
4963CVE_STATUS[CVE-2023-35826] = "fixed-version: Fixed from version 6.4rc1"
4964
4965CVE_STATUS[CVE-2023-35827] = "fixed-version: Fixed from version 6.6rc6"
4966
4967CVE_STATUS[CVE-2023-35828] = "fixed-version: Fixed from version 6.4rc1"
4968
4969CVE_STATUS[CVE-2023-35829] = "fixed-version: Fixed from version 6.4rc1"
4970
4971CVE_STATUS[CVE-2023-3609] = "fixed-version: Fixed from version 6.4rc7"
4972
4973CVE_STATUS[CVE-2023-3610] = "fixed-version: Fixed from version 6.4"
4974
4975CVE_STATUS[CVE-2023-3611] = "fixed-version: Fixed from version 6.5rc2"
4976
4977# CVE-2023-3640 has no known resolution
4978
4979CVE_STATUS[CVE-2023-37453] = "fixed-version: Fixed from version 6.6rc1"
4980
4981# CVE-2023-37454 has no known resolution
4982
4983CVE_STATUS[CVE-2023-3772] = "fixed-version: Fixed from version 6.5rc7"
4984
4985CVE_STATUS[CVE-2023-3773] = "fixed-version: Fixed from version 6.5rc7"
4986
4987CVE_STATUS[CVE-2023-3776] = "fixed-version: Fixed from version 6.5rc2"
4988
4989CVE_STATUS[CVE-2023-3777] = "fixed-version: Fixed from version 6.5rc3"
4990
4991CVE_STATUS[CVE-2023-3812] = "fixed-version: Fixed from version 6.1rc4"
4992
4993CVE_STATUS[CVE-2023-38409] = "fixed-version: Fixed from version 6.3rc7"
4994
4995CVE_STATUS[CVE-2023-38426] = "fixed-version: Fixed from version 6.4rc3"
4996
4997CVE_STATUS[CVE-2023-38427] = "fixed-version: Fixed from version 6.4rc6"
4998
4999CVE_STATUS[CVE-2023-38428] = "fixed-version: Fixed from version 6.4rc3"
5000
5001CVE_STATUS[CVE-2023-38429] = "fixed-version: Fixed from version 6.4rc3"
5002
5003CVE_STATUS[CVE-2023-38430] = "fixed-version: Fixed from version 6.4rc6"
5004
5005CVE_STATUS[CVE-2023-38431] = "fixed-version: Fixed from version 6.4rc6"
5006
5007CVE_STATUS[CVE-2023-38432] = "fixed-version: Fixed from version 6.4"
5008
5009CVE_STATUS[CVE-2023-3863] = "fixed-version: Fixed from version 6.5rc1"
5010
5011CVE_STATUS[CVE-2023-3865] = "fixed-version: Fixed from version 6.4"
5012
5013CVE_STATUS[CVE-2023-3866] = "fixed-version: Fixed from version 6.4"
5014
5015CVE_STATUS[CVE-2023-3867] = "fixed-version: Fixed from version 6.5rc1"
5016
5017CVE_STATUS[CVE-2023-39189] = "fixed-version: Fixed from version 6.6rc1"
5018
5019CVE_STATUS[CVE-2023-39191] = "fixed-version: Fixed from version 6.3rc1"
5020
5021CVE_STATUS[CVE-2023-39192] = "fixed-version: Fixed from version 6.6rc1"
5022
5023CVE_STATUS[CVE-2023-39193] = "fixed-version: Fixed from version 6.6rc1"
5024
5025CVE_STATUS[CVE-2023-39194] = "fixed-version: Fixed from version 6.5rc7"
5026
5027CVE_STATUS[CVE-2023-39197] = "fixed-version: Fixed from version 6.5rc1"
5028
5029CVE_STATUS[CVE-2023-39198] = "fixed-version: Fixed from version 6.5rc7"
5030
5031CVE_STATUS[CVE-2023-4004] = "fixed-version: Fixed from version 6.5rc3"
5032
5033# CVE-2023-4010 has no known resolution
5034
5035CVE_STATUS[CVE-2023-4015] = "fixed-version: Fixed from version 6.5rc4"
5036
5037CVE_STATUS[CVE-2023-40283] = "fixed-version: Fixed from version 6.5rc1"
5038
5039CVE_STATUS[CVE-2023-40791] = "fixed-version: Fixed from version 6.5rc6"
5040
5041CVE_STATUS[CVE-2023-4128] = "fixed-version: Fixed from version 6.5rc5"
5042
5043CVE_STATUS[CVE-2023-4132] = "fixed-version: Fixed from version 6.5rc1"
5044
5045CVE_STATUS[CVE-2023-4133] = "fixed-version: Fixed from version 6.3"
5046
5047CVE_STATUS[CVE-2023-4134] = "fixed-version: Fixed from version 6.5rc1"
5048
5049CVE_STATUS[CVE-2023-4147] = "fixed-version: Fixed from version 6.5rc4"
5050
5051CVE_STATUS[CVE-2023-4155] = "fixed-version: Fixed from version 6.5rc6"
5052
5053CVE_STATUS[CVE-2023-4194] = "fixed-version: Fixed from version 6.5rc5"
5054
5055CVE_STATUS[CVE-2023-4206] = "fixed-version: Fixed from version 6.5rc5"
5056
5057CVE_STATUS[CVE-2023-4207] = "fixed-version: Fixed from version 6.5rc5"
5058
5059CVE_STATUS[CVE-2023-4208] = "fixed-version: Fixed from version 6.5rc5"
5060
5061CVE_STATUS[CVE-2023-4244] = "fixed-version: Fixed from version 6.5rc7"
5062
5063CVE_STATUS[CVE-2023-4273] = "fixed-version: Fixed from version 6.5rc5"
5064
5065CVE_STATUS[CVE-2023-42752] = "fixed-version: Fixed from version 6.6rc1"
5066
5067CVE_STATUS[CVE-2023-42753] = "fixed-version: Fixed from version 6.6rc1"
5068
5069CVE_STATUS[CVE-2023-42754] = "fixed-version: Fixed from version 6.6rc3"
5070
5071CVE_STATUS[CVE-2023-42755] = "fixed-version: Fixed from version 6.3rc1"
5072
5073CVE_STATUS[CVE-2023-42756] = "fixed-version: Fixed from version 6.6rc3"
5074
5075CVE_STATUS[CVE-2023-4385] = "fixed-version: Fixed from version 5.19rc1"
5076
5077CVE_STATUS[CVE-2023-4387] = "fixed-version: Fixed from version 5.18"
5078
5079CVE_STATUS[CVE-2023-4389] = "fixed-version: Fixed from version 5.18rc3"
5080
5081CVE_STATUS[CVE-2023-4394] = "fixed-version: Fixed from version 6.0rc3"
5082
5083CVE_STATUS[CVE-2023-44466] = "fixed-version: Fixed from version 6.5rc2"
5084
5085CVE_STATUS[CVE-2023-4459] = "fixed-version: Fixed from version 5.18"
5086
5087CVE_STATUS[CVE-2023-4563] = "fixed-version: Fixed from version 6.5rc6"
5088
5089CVE_STATUS[CVE-2023-4569] = "fixed-version: Fixed from version 6.5rc7"
5090
5091CVE_STATUS[CVE-2023-45862] = "fixed-version: Fixed from version 6.3rc1"
5092
5093CVE_STATUS[CVE-2023-45863] = "fixed-version: Fixed from version 6.3rc1"
5094
5095CVE_STATUS[CVE-2023-45871] = "fixed-version: Fixed from version 6.6rc1"
5096
5097CVE_STATUS[CVE-2023-45898] = "fixed-version: Fixed from version 6.6rc1"
5098
5099CVE_STATUS[CVE-2023-4610] = "fixed-version: Fixed from version 6.4"
5100
5101CVE_STATUS[CVE-2023-4611] = "fixed-version: Fixed from version 6.5rc4"
5102
5103CVE_STATUS[CVE-2023-4622] = "fixed-version: Fixed from version 6.5rc1"
5104
5105CVE_STATUS[CVE-2023-4623] = "fixed-version: Fixed from version 6.6rc1"
5106
5107CVE_STATUS[CVE-2023-46343] = "fixed-version: Fixed from version 6.6rc7"
5108
5109CVE_STATUS[CVE-2023-46813] = "fixed-version: Fixed from version 6.6rc7"
5110
5111CVE_STATUS[CVE-2023-46838] = "cpe-stable-backport: Backported in 6.6.14"
5112
5113CVE_STATUS[CVE-2023-46862] = "fixed-version: Fixed from version 6.6"
5114
5115# CVE-2023-47233 has no known resolution
5116
5117CVE_STATUS[CVE-2023-4732] = "fixed-version: Fixed from version 5.14rc1"
5118
5119CVE_STATUS[CVE-2023-4881] = "fixed-version: Fixed from version 6.6rc1"
5120
5121CVE_STATUS[CVE-2023-4921] = "fixed-version: Fixed from version 6.6rc1"
5122
5123CVE_STATUS[CVE-2023-50431] = "cpe-stable-backport: Backported in 6.6.14"
5124
5125CVE_STATUS[CVE-2023-5090] = "fixed-version: Fixed from version 6.6rc7"
5126
5127CVE_STATUS[CVE-2023-51042] = "fixed-version: Fixed from version 6.5rc1"
5128
5129CVE_STATUS[CVE-2023-51043] = "fixed-version: Fixed from version 6.5rc3"
5130
5131CVE_STATUS[CVE-2023-5158] = "fixed-version: Fixed from version 6.6rc5"
5132
5133CVE_STATUS[CVE-2023-51779] = "cpe-stable-backport: Backported in 6.6.9"
5134
5135CVE_STATUS[CVE-2023-5178] = "fixed-version: Fixed from version 6.6rc7"
5136
5137CVE_STATUS[CVE-2023-51780] = "cpe-stable-backport: Backported in 6.6.8"
5138
5139CVE_STATUS[CVE-2023-51781] = "cpe-stable-backport: Backported in 6.6.8"
5140
5141CVE_STATUS[CVE-2023-51782] = "cpe-stable-backport: Backported in 6.6.8"
5142
5143CVE_STATUS[CVE-2023-5197] = "fixed-version: Fixed from version 6.6rc3"
5144
5145CVE_STATUS[CVE-2023-52340] = "fixed-version: Fixed from version 6.3rc1"
5146
5147CVE_STATUS[CVE-2023-52429] = "cpe-stable-backport: Backported in 6.6.18"
5148
5149CVE_STATUS[CVE-2023-52433] = "fixed-version: Fixed from version 6.6rc1"
5150
5151CVE_STATUS[CVE-2023-52434] = "cpe-stable-backport: Backported in 6.6.8"
5152
5153CVE_STATUS[CVE-2023-52435] = "cpe-stable-backport: Backported in 6.6.11"
5154
5155CVE_STATUS[CVE-2023-52436] = "cpe-stable-backport: Backported in 6.6.13"
5156
5157CVE_STATUS[CVE-2023-52438] = "cpe-stable-backport: Backported in 6.6.13"
5158
5159CVE_STATUS[CVE-2023-52439] = "cpe-stable-backport: Backported in 6.6.13"
5160
5161CVE_STATUS[CVE-2023-52440] = "fixed-version: Fixed from version 6.6rc1"
5162
5163CVE_STATUS[CVE-2023-52441] = "fixed-version: Fixed from version 6.5rc4"
5164
5165CVE_STATUS[CVE-2023-52442] = "fixed-version: Fixed from version 6.5rc4"
5166
5167CVE_STATUS[CVE-2023-52443] = "cpe-stable-backport: Backported in 6.6.14"
5168
5169CVE_STATUS[CVE-2023-52444] = "cpe-stable-backport: Backported in 6.6.14"
5170
5171CVE_STATUS[CVE-2023-52445] = "cpe-stable-backport: Backported in 6.6.14"
5172
5173CVE_STATUS[CVE-2023-52446] = "cpe-stable-backport: Backported in 6.6.14"
5174
5175CVE_STATUS[CVE-2023-52447] = "cpe-stable-backport: Backported in 6.6.14"
5176
5177CVE_STATUS[CVE-2023-52448] = "cpe-stable-backport: Backported in 6.6.14"
5178
5179CVE_STATUS[CVE-2023-52449] = "cpe-stable-backport: Backported in 6.6.14"
5180
5181CVE_STATUS[CVE-2023-52450] = "cpe-stable-backport: Backported in 6.6.14"
5182
5183CVE_STATUS[CVE-2023-52451] = "cpe-stable-backport: Backported in 6.6.14"
5184
5185CVE_STATUS[CVE-2023-52452] = "cpe-stable-backport: Backported in 6.6.14"
5186
5187CVE_STATUS[CVE-2023-52453] = "cpe-stable-backport: Backported in 6.6.14"
5188
5189CVE_STATUS[CVE-2023-52454] = "cpe-stable-backport: Backported in 6.6.14"
5190
5191CVE_STATUS[CVE-2023-52455] = "cpe-stable-backport: Backported in 6.6.14"
5192
5193CVE_STATUS[CVE-2023-52456] = "cpe-stable-backport: Backported in 6.6.14"
5194
5195CVE_STATUS[CVE-2023-52457] = "cpe-stable-backport: Backported in 6.6.14"
5196
5197CVE_STATUS[CVE-2023-52458] = "cpe-stable-backport: Backported in 6.6.14"
5198
5199CVE_STATUS[CVE-2023-52459] = "cpe-stable-backport: Backported in 6.6.14"
5200
5201CVE_STATUS[CVE-2023-52460] = "fixed-version: only affects 6.7rc1 onwards"
5202
5203CVE_STATUS[CVE-2023-52461] = "fixed-version: only affects 6.7rc1 onwards"
5204
5205CVE_STATUS[CVE-2023-52462] = "cpe-stable-backport: Backported in 6.6.14"
5206
5207CVE_STATUS[CVE-2023-52463] = "cpe-stable-backport: Backported in 6.6.14"
5208
5209CVE_STATUS[CVE-2023-52464] = "cpe-stable-backport: Backported in 6.6.14"
5210
5211CVE_STATUS[CVE-2023-5345] = "fixed-version: Fixed from version 6.6rc4"
5212
5213CVE_STATUS[CVE-2023-5633] = "fixed-version: Fixed from version 6.6rc6"
5214
5215CVE_STATUS[CVE-2023-5717] = "fixed-version: Fixed from version 6.6rc7"
5216
5217CVE_STATUS[CVE-2023-5972] = "fixed-version: Fixed from version 6.6rc7"
5218
5219CVE_STATUS[CVE-2023-6039] = "fixed-version: Fixed from version 6.5rc5"
5220
5221CVE_STATUS[CVE-2023-6040] = "fixed-version: Fixed from version 5.18rc1"
5222
5223CVE_STATUS[CVE-2023-6111] = "cpe-stable-backport: Backported in 6.6.3"
5224
5225CVE_STATUS[CVE-2023-6121] = "cpe-stable-backport: Backported in 6.6.4"
5226
5227CVE_STATUS[CVE-2023-6176] = "fixed-version: Fixed from version 6.6rc2"
5228
5229CVE_STATUS[CVE-2023-6200] = "cpe-stable-backport: Backported in 6.6.9"
5230
5231# CVE-2023-6238 has no known resolution
5232
5233# CVE-2023-6240 has no known resolution
5234
5235# CVE-2023-6270 has no known resolution
5236
5237# CVE-2023-6356 has no known resolution
5238
5239CVE_STATUS[CVE-2023-6531] = "cpe-stable-backport: Backported in 6.6.7"
5240
5241# CVE-2023-6535 has no known resolution
5242
5243# CVE-2023-6536 has no known resolution
5244
5245CVE_STATUS[CVE-2023-6546] = "fixed-version: Fixed from version 6.5rc7"
5246
5247CVE_STATUS[CVE-2023-6560] = "cpe-stable-backport: Backported in 6.6.5"
5248
5249CVE_STATUS[CVE-2023-6606] = "cpe-stable-backport: Backported in 6.6.9"
5250
5251CVE_STATUS[CVE-2023-6610] = "cpe-stable-backport: Backported in 6.6.13"
5252
5253CVE_STATUS[CVE-2023-6622] = "cpe-stable-backport: Backported in 6.6.7"
5254
5255CVE_STATUS[CVE-2023-6679] = "fixed-version: only affects 6.7rc1 onwards"
5256
5257CVE_STATUS[CVE-2023-6817] = "cpe-stable-backport: Backported in 6.6.7"
5258
5259CVE_STATUS[CVE-2023-6915] = "cpe-stable-backport: Backported in 6.6.13"
5260
5261CVE_STATUS[CVE-2023-6931] = "cpe-stable-backport: Backported in 6.6.7"
5262
5263CVE_STATUS[CVE-2023-6932] = "cpe-stable-backport: Backported in 6.6.5"
5264
5265# CVE-2023-7042 has no known resolution
5266
5267CVE_STATUS[CVE-2023-7192] = "fixed-version: Fixed from version 6.3rc1"
5268
5269CVE_STATUS[CVE-2024-0193] = "cpe-stable-backport: Backported in 6.6.10"
5270
5271CVE_STATUS[CVE-2024-0340] = "fixed-version: Fixed from version 6.4rc6"
5272
5273CVE_STATUS[CVE-2024-0443] = "fixed-version: Fixed from version 6.4rc7"
5274
5275CVE_STATUS[CVE-2024-0562] = "fixed-version: Fixed from version 6.0rc3"
5276
5277# CVE-2024-0564 has no known resolution
5278
5279CVE_STATUS[CVE-2024-0565] = "cpe-stable-backport: Backported in 6.6.8"
5280
5281CVE_STATUS[CVE-2024-0582] = "cpe-stable-backport: Backported in 6.6.5"
5282
5283CVE_STATUS[CVE-2024-0584] = "cpe-stable-backport: Backported in 6.6.5"
5284
5285CVE_STATUS[CVE-2024-0607] = "cpe-stable-backport: Backported in 6.6.3"
5286
5287CVE_STATUS[CVE-2024-0639] = "fixed-version: Fixed from version 6.5rc1"
5288
5289CVE_STATUS[CVE-2024-0641] = "fixed-version: Fixed from version 6.6rc5"
5290
5291CVE_STATUS[CVE-2024-0646] = "cpe-stable-backport: Backported in 6.6.7"
5292
5293CVE_STATUS[CVE-2024-0775] = "fixed-version: Fixed from version 6.4rc2"
5294
5295# CVE-2024-0841 has no known resolution
5296
5297CVE_STATUS[CVE-2024-1085] = "cpe-stable-backport: Backported in 6.6.14"
5298
5299CVE_STATUS[CVE-2024-1086] = "cpe-stable-backport: Backported in 6.6.15"
5300
5301CVE_STATUS[CVE-2024-1151] = "cpe-stable-backport: Backported in 6.6.18"
5302
5303CVE_STATUS[CVE-2024-1312] = "fixed-version: Fixed from version 6.5rc4"
5304
5305# CVE-2024-21803 has no known resolution
5306
5307# CVE-2024-22099 has no known resolution
5308
5309# CVE-2024-22386 has no known resolution
5310
5311CVE_STATUS[CVE-2024-22705] = "cpe-stable-backport: Backported in 6.6.10"
5312
5313# CVE-2024-23196 has no known resolution
5314
5315# CVE-2024-23307 has no known resolution
5316
5317# CVE-2024-23848 has no known resolution
5318
5319CVE_STATUS[CVE-2024-23849] = "cpe-stable-backport: Backported in 6.6.15"
5320
5321CVE_STATUS[CVE-2024-23850] = "cpe-stable-backport: Backported in 6.6.18"
5322
5323CVE_STATUS[CVE-2024-23851] = "cpe-stable-backport: Backported in 6.6.18"
5324
5325CVE_STATUS[CVE-2024-24855] = "fixed-version: Fixed from version 6.5rc2"
5326
5327# CVE-2024-24857 has no known resolution
5328
5329# CVE-2024-24858 has no known resolution
5330
5331# CVE-2024-24859 has no known resolution
5332
5333CVE_STATUS[CVE-2024-24860] = "cpe-stable-backport: Backported in 6.6.14"
5334
5335# CVE-2024-24861 has no known resolution
5336
5337# CVE-2024-24864 has no known resolution
5338
5339# CVE-2024-25739 has no known resolution
5340
5341# CVE-2024-25740 has no known resolution
5342
5343# CVE-2024-25741 has no known resolution
5344
5345CVE_STATUS[CVE-2024-25744] = "cpe-stable-backport: Backported in 6.6.7"
5346
5347CVE_STATUS[CVE-2024-26581] = "cpe-stable-backport: Backported in 6.6.17"
5348
5349CVE_STATUS[CVE-2024-26582] = "cpe-stable-backport: Backported in 6.6.18"
5350
5351CVE_STATUS[CVE-2024-26583] = "cpe-stable-backport: Backported in 6.6.18"
5352
5353CVE_STATUS[CVE-2024-26584] = "cpe-stable-backport: Backported in 6.6.18"
5354
5355CVE_STATUS[CVE-2024-26585] = "cpe-stable-backport: Backported in 6.6.18"
5356
5357CVE_STATUS[CVE-2024-26586] = "cpe-stable-backport: Backported in 6.6.14"
5358
5359CVE_STATUS[CVE-2024-26587] = "cpe-stable-backport: Backported in 6.6.14"
5360
5361CVE_STATUS[CVE-2024-26588] = "cpe-stable-backport: Backported in 6.6.14"
5362
5363CVE_STATUS[CVE-2024-26589] = "cpe-stable-backport: Backported in 6.6.14"
5364
5365CVE_STATUS[CVE-2024-26590] = "cpe-stable-backport: Backported in 6.6.14"
5366
5367CVE_STATUS[CVE-2024-26591] = "cpe-stable-backport: Backported in 6.6.14"
5368
5369CVE_STATUS[CVE-2024-26592] = "cpe-stable-backport: Backported in 6.6.14"
5370
5371CVE_STATUS[CVE-2024-26593] = "cpe-stable-backport: Backported in 6.6.18"
5372
5373CVE_STATUS[CVE-2024-26594] = "cpe-stable-backport: Backported in 6.6.14"
5374
5375CVE_STATUS[CVE-2024-26595] = "cpe-stable-backport: Backported in 6.6.14"
5376
5377# CVE-2024-26596 needs backporting (fixed from 6.8rc1)
5378
5379CVE_STATUS[CVE-2024-26597] = "cpe-stable-backport: Backported in 6.6.14"
5380
5381CVE_STATUS[CVE-2024-26598] = "cpe-stable-backport: Backported in 6.6.14"
5382
5383CVE_STATUS[CVE-2024-26599] = "cpe-stable-backport: Backported in 6.6.14"
5384
diff --git a/meta/recipes-kernel/linux/generate-cve-exclusions.py b/meta/recipes-kernel/linux/generate-cve-exclusions.py
new file mode 100755
index 0000000000..aa9195aab4
--- /dev/null
+++ b/meta/recipes-kernel/linux/generate-cve-exclusions.py
@@ -0,0 +1,98 @@
1#! /usr/bin/env python3
2
3# Generate granular CVE status metadata for a specific version of the kernel
4# using data from linuxkernelcves.com.
5#
6# SPDX-License-Identifier: GPL-2.0-only
7
8import argparse
9import datetime
10import json
11import pathlib
12import re
13
14from packaging.version import Version
15
16
17def parse_version(s):
18 """
19 Parse the version string and either return a packaging.version.Version, or
20 None if the string was unset or "unk".
21 """
22 if s and s != "unk":
23 # packaging.version.Version doesn't approve of versions like v5.12-rc1-dontuse
24 s = s.replace("-dontuse", "")
25 return Version(s)
26 return None
27
28
29def main(argp=None):
30 parser = argparse.ArgumentParser()
31 parser.add_argument("datadir", type=pathlib.Path, help="Path to a clone of https://github.com/nluedtke/linux_kernel_cves")
32 parser.add_argument("version", type=Version, help="Kernel version number to generate data for, such as 6.1.38")
33
34 args = parser.parse_args(argp)
35 datadir = args.datadir
36 version = args.version
37 base_version = f"{version.major}.{version.minor}"
38
39 with open(datadir / "data" / "kernel_cves.json", "r") as f:
40 cve_data = json.load(f)
41
42 with open(datadir / "data" / "stream_fixes.json", "r") as f:
43 stream_data = json.load(f)
44
45 print(f"""
46# Auto-generated CVE metadata, DO NOT EDIT BY HAND.
47# Generated at {datetime.datetime.now(datetime.timezone.utc)} for version {version}
48
49python check_kernel_cve_status_version() {{
50 this_version = "{version}"
51 kernel_version = d.getVar("LINUX_VERSION")
52 if kernel_version != this_version:
53 bb.warn("Kernel CVE status needs updating: generated for %s but kernel is %s" % (this_version, kernel_version))
54}}
55do_cve_check[prefuncs] += "check_kernel_cve_status_version"
56""")
57
58 for cve, data in cve_data.items():
59 if "affected_versions" not in data:
60 print(f"# Skipping {cve}, no affected_versions")
61 print()
62 continue
63
64 affected = data["affected_versions"]
65 first_affected, fixed = re.search(r"(.+) to (.+)", affected).groups()
66 first_affected = parse_version(first_affected)
67 fixed = parse_version(fixed)
68
69 if not fixed:
70 print(f"# {cve} has no known resolution")
71 elif first_affected and version < first_affected:
72 print(f'CVE_STATUS[{cve}] = "fixed-version: only affects {first_affected} onwards"')
73 elif fixed <= version:
74 print(
75 f'CVE_STATUS[{cve}] = "fixed-version: Fixed from version {fixed}"'
76 )
77 else:
78 if cve in stream_data:
79 backport_data = stream_data[cve]
80 if base_version in backport_data:
81 backport_ver = Version(backport_data[base_version]["fixed_version"])
82 if backport_ver <= version:
83 print(
84 f'CVE_STATUS[{cve}] = "cpe-stable-backport: Backported in {backport_ver}"'
85 )
86 else:
87 # TODO print a note that the kernel needs bumping
88 print(f"# {cve} needs backporting (fixed from {backport_ver})")
89 else:
90 print(f"# {cve} needs backporting (fixed from {fixed})")
91 else:
92 print(f"# {cve} needs backporting (fixed from {fixed})")
93
94 print()
95
96
97if __name__ == "__main__":
98 main()
diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
index dadeade3aa..fafab475f3 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -5,7 +5,7 @@ development or external module builds"
5 5
6SECTION = "kernel" 6SECTION = "kernel"
7 7
8LICENSE = "GPLv2" 8LICENSE = "GPL-2.0-only"
9 9
10inherit linux-kernel-base 10inherit linux-kernel-base
11 11
@@ -47,21 +47,21 @@ do_install() {
47 # create a /usr/src/kernel symlink to /lib/modules/<version>/source 47 # create a /usr/src/kernel symlink to /lib/modules/<version>/source
48 mkdir -p ${D}/usr/src 48 mkdir -p ${D}/usr/src
49 ( 49 (
50 cd ${D}/usr/src 50 cd ${D}/usr/src
51 lnr ${D}${KERNEL_BUILD_ROOT}${KERNEL_VERSION}/source kernel 51 ln -rs ${D}${KERNEL_BUILD_ROOT}${KERNEL_VERSION}/source kernel
52 ) 52 )
53 53
54 # for on target purposes, we unify build and source 54 # for on target purposes, we unify build and source
55 ( 55 (
56 cd $kerneldir 56 cd $kerneldir
57 ln -s build source 57 ln -s build source
58 ) 58 )
59 59
60 # first copy everything 60 # first copy everything
61 ( 61 (
62 cd ${S} 62 cd ${S}
63 cp --parents $(find -type f -name "Makefile*" -o -name "Kconfig*") $kerneldir/build 63 cp --parents $(find -type f -name "Makefile*" -o -name "Kconfig*") $kerneldir/build
64 cp --parents $(find -type f -name "Build" -o -name "Build.include") $kerneldir/build 64 cp --parents $(find -type f -name "Build" -o -name "Build.include") $kerneldir/build
65 ) 65 )
66 66
67 # then drop all but the needed Makefiles/Kconfig files 67 # then drop all but the needed Makefiles/Kconfig files
@@ -70,92 +70,113 @@ do_install() {
70 70
71 # now copy in parts from the build that we'll need later 71 # now copy in parts from the build that we'll need later
72 ( 72 (
73 cd ${B} 73 cd ${B}
74 74
75 cp Module.symvers $kerneldir/build 75 if [ -s Module.symvers ]; then
76 cp System.map* $kerneldir/build 76 cp Module.symvers $kerneldir/build
77 if [ -s Module.markers ]; then 77 fi
78 cp Module.markers $kerneldir/build 78 cp System.map* $kerneldir/build
79 fi 79 if [ -s Module.markers ]; then
80 80 cp Module.markers $kerneldir/build
81 cp -a .config $kerneldir/build 81 fi
82 82
83 # This scripts copy blow up QA, so for now, we require a more 83 cp -a .config $kerneldir/build
84 # complex 'make scripts' to restore these, versus copying them 84
85 # here. Left as a reference to indicate that we know the scripts must 85 # This scripts copy blow up QA, so for now, we require a more
86 # be dealt with. 86 # complex 'make scripts' to restore these, versus copying them
87 # cp -a scripts $kerneldir/build 87 # here. Left as a reference to indicate that we know the scripts must
88 88 # be dealt with.
89 # although module.lds can be regenerated on target via 'make modules_prepare' 89 # cp -a scripts $kerneldir/build
90 # there are several places where 'makes scripts prepare' is done, and that won't 90
91 # regenerate the file. So we copy it onto the target as a migration to using 91 # although module.lds can be regenerated on target via 'make modules_prepare'
92 # modules_prepare 92 # there are several places where 'makes scripts prepare' is done, and that won't
93 cp -a --parents scripts/module.lds $kerneldir/build/ 2>/dev/null || : 93 # regenerate the file. So we copy it onto the target as a migration to using
94 # modules_prepare
95 cp -a --parents scripts/module.lds $kerneldir/build/ 2>/dev/null || :
94 96
95 if [ -d arch/${ARCH}/scripts ]; then 97 if [ -d arch/${ARCH}/scripts ]; then
96 cp -a arch/${ARCH}/scripts $kerneldir/build/arch/${ARCH} 98 cp -a arch/${ARCH}/scripts $kerneldir/build/arch/${ARCH}
97 fi 99 fi
98 if [ -f arch/${ARCH}/*lds ]; then 100 if [ -f arch/${ARCH}/*lds ]; then
99 cp -a arch/${ARCH}/*lds $kerneldir/build/arch/${ARCH} 101 cp -a arch/${ARCH}/*lds $kerneldir/build/arch/${ARCH}
100 fi 102 fi
101 103
102 rm -f $kerneldir/build/scripts/*.o 104 rm -f $kerneldir/build/scripts/*.o
103 rm -f $kerneldir/build/scripts/*/*.o 105 rm -f $kerneldir/build/scripts/*/*.o
104 106
105 if [ "${ARCH}" = "powerpc" ]; then 107 if [ "${ARCH}" = "powerpc" ]; then
106 if [ -e arch/powerpc/lib/crtsavres.S ] || 108 if [ -e arch/powerpc/lib/crtsavres.S ] ||
107 [ -e arch/powerpc/lib/crtsavres.o ]; then 109 [ -e arch/powerpc/lib/crtsavres.o ]; then
108 cp -a --parents arch/powerpc/lib/crtsavres.[So] $kerneldir/build/ 110 cp -a --parents arch/powerpc/lib/crtsavres.[So] $kerneldir/build/
109 fi 111 fi
110 fi 112 fi
111 113
112 if [ "${ARCH}" = "arm64" ]; then 114 if [ "${ARCH}" = "arm64" -o "${ARCH}" = "riscv" ]; then
113 cp -a --parents arch/arm64/kernel/vdso/vdso.lds $kerneldir/build/ 115 if [ -e arch/${ARCH}/kernel/vdso/vdso.lds ]; then
114 fi 116 cp -a --parents arch/${ARCH}/kernel/vdso/vdso.lds $kerneldir/build/
115 117 fi
116 cp -a include $kerneldir/build/include 118 fi
117 119 if [ "${ARCH}" = "powerpc" ]; then
118 # we don't usually copy generated files, since they can be rebuilt on the target, 120 cp -a --parents arch/powerpc/kernel/vdso32/vdso32.lds $kerneldir/build 2>/dev/null || :
119 # but without this file, we get a forced syncconfig run in v5.8+, which prompts and 121 cp -a --parents arch/powerpc/kernel/vdso64/vdso64.lds $kerneldir/build 2>/dev/null || :
120 # breaks workflows. 122 # v5.19+
121 cp -a --parents include/generated/autoconf.h $kerneldir/build 2>/dev/null || : 123 cp -a --parents arch/powerpc/kernel/vdso/vdso*.lds $kerneldir/build 2>/dev/null || :
122 124 fi
123 if [ -e $kerneldir/include/generated/.vdso-offsets.h.cmd ]; then 125
124 rm $kerneldir/include/generated/.vdso-offsets.h.cmd 126 cp -a include $kerneldir/build/include
125 fi 127
128 # we don't usually copy generated files, since they can be rebuilt on the target,
129 # but without this file, we get a forced syncconfig run in v5.8+, which prompts and
130 # breaks workflows.
131 cp -a --parents include/generated/autoconf.h $kerneldir/build 2>/dev/null || :
132
133 rm -f $kerneldir/include/generated/.vdso-offsets.h.cmd
134 rm -f $kerneldir/build/include/generated/.vdso-offsets.h.cmd
135 rm -f $kerneldir/build/include/generated/.compat_vdso-offsets.h.cmd
136 rm -f $kerneldir/build/include/generated/.vdso32-offsets.h.cmd
126 ) 137 )
127 138
128 # now grab the chunks from the source tree that we need 139 # now grab the chunks from the source tree that we need
129 ( 140 (
130 cd ${S} 141 cd ${S}
142
143 cp -a scripts $kerneldir/build
144
145 # for v6.1+ (otherwise we are missing multiple default targets)
146 cp -a --parents Kbuild $kerneldir/build 2>/dev/null || :
131 147
132 cp -a scripts $kerneldir/build 148 # For v6.6+ the debian packing is moved out to seperate rules file
149 # Remove as we else would ned to RDEPEND on make
150 rm $kerneldir/build/scripts/package/debian/rules 2>/dev/null || :
133 151
134 # if our build dir had objtool, it will also be rebuilt on target, so 152 # if our build dir had objtool, it will also be rebuilt on target, so
135 # we copy what is required for that build 153 # we copy what is required for that build
136 if [ -f ${B}/tools/objtool/objtool ]; then 154 if [ -f ${B}/tools/objtool/objtool ]; then
137 # these are a few files associated with objtool, since we'll need to 155 # these are a few files associated with objtool, since we'll need to
138 # rebuild it 156 # rebuild it
139 cp -a --parents tools/build/Build.include $kerneldir/build/ 157 cp -a --parents tools/build/Build.include $kerneldir/build/
140 cp -a --parents tools/build/Build $kerneldir/build/ 158 cp -a --parents tools/build/Build $kerneldir/build/
141 cp -a --parents tools/build/fixdep.c $kerneldir/build/ 159 cp -a --parents tools/build/fixdep.c $kerneldir/build/
142 cp -a --parents tools/scripts/utilities.mak $kerneldir/build/ 160 cp -a --parents tools/scripts/utilities.mak $kerneldir/build/
143 161
144 # extra files, just in case 162 # extra files, just in case
145 cp -a --parents tools/objtool/* $kerneldir/build/ 163 cp -a --parents tools/objtool/* $kerneldir/build/
146 cp -a --parents tools/lib/* $kerneldir/build/ 164 cp -a --parents tools/lib/* $kerneldir/build/
147 cp -a --parents tools/lib/subcmd/* $kerneldir/build/ 165 cp -a --parents tools/lib/subcmd/* $kerneldir/build/
148 166
149 cp -a --parents tools/include/* $kerneldir/build/ 167 cp -a --parents tools/include/* $kerneldir/build/
150 168
151 cp -a --parents $(find tools/arch/${ARCH}/ -type f) $kerneldir/build/ 169 cp -a --parents $(find tools/arch/${ARCH}/ -type f) $kerneldir/build/
152 fi 170 fi
153 171
154 if [ "${ARCH}" = "arm64" ]; then 172 if [ "${ARCH}" = "arm64" ]; then
155 # arch/arm64/include/asm/xen references arch/arm 173 # arch/arm64/include/asm/xen references arch/arm
156 cp -a --parents arch/arm/include/asm/xen $kerneldir/build/ 174 cp -a --parents arch/arm/include/asm/xen $kerneldir/build/
157 # arch/arm64/include/asm/opcodes.h references arch/arm 175 # arch/arm64/include/asm/opcodes.h references arch/arm
158 cp -a --parents arch/arm/include/asm/opcodes.h $kerneldir/build/ 176 cp -a --parents arch/arm/include/asm/opcodes.h $kerneldir/build/
177
178 # v6.1+
179 cp -a --parents arch/arm64/kernel/asm-offsets.c $kerneldir/build/
159 180
160 cp -a --parents arch/arm64/kernel/vdso/*gettimeofday.* $kerneldir/build/ 181 cp -a --parents arch/arm64/kernel/vdso/*gettimeofday.* $kerneldir/build/
161 cp -a --parents arch/arm64/kernel/vdso/sigreturn.S $kerneldir/build/ 182 cp -a --parents arch/arm64/kernel/vdso/sigreturn.S $kerneldir/build/
@@ -163,106 +184,174 @@ do_install() {
163 cp -a --parents arch/arm64/kernel/vdso/gen_vdso_offsets.sh $kerneldir/build/ 184 cp -a --parents arch/arm64/kernel/vdso/gen_vdso_offsets.sh $kerneldir/build/
164 185
165 cp -a --parents arch/arm64/kernel/module.lds $kerneldir/build/ 2>/dev/null || : 186 cp -a --parents arch/arm64/kernel/module.lds $kerneldir/build/ 2>/dev/null || :
166 fi
167 187
168 if [ "${ARCH}" = "powerpc" ]; then 188 # 5.13+ needs these tools
169 # 5.0 needs these files, but don't error if they aren't present in the source 189 cp -a --parents arch/arm64/tools/gen-cpucaps.awk $kerneldir/build/ 2>/dev/null || :
170 cp -a --parents arch/${ARCH}/kernel/syscalls/syscall.tbl $kerneldir/build/ 2>/dev/null || : 190 cp -a --parents arch/arm64/tools/cpucaps $kerneldir/build/ 2>/dev/null || :
171 cp -a --parents arch/${ARCH}/kernel/syscalls/syscalltbl.sh $kerneldir/build/ 2>/dev/null || : 191
172 cp -a --parents arch/${ARCH}/kernel/syscalls/syscallhdr.sh $kerneldir/build/ 2>/dev/null || : 192 # 5.19+
173 fi 193 cp -a --parents arch/arm64/tools/gen-sysreg.awk $kerneldir/build/ 2>/dev/null || :
194 cp -a --parents arch/arm64/tools/sysreg $kerneldir/build/ 2>/dev/null || :
195
196 if [ -e $kerneldir/build/arch/arm64/tools/gen-cpucaps.awk ]; then
197 sed -i -e "s,#!.*awk.*,#!${USRBINPATH}/env awk," $kerneldir/build/arch/arm64/tools/gen-cpucaps.awk
198 fi
199 if [ -e $kerneldir/build/arch/arm64/tools/gen-sysreg.awk ]; then
200 sed -i -e "s,#!.*awk.*,#!${USRBINPATH}/env awk," $kerneldir/build/arch/arm64/tools/gen-sysreg.awk
201 fi
202 fi
203
204 if [ "${ARCH}" = "powerpc" ]; then
205 # 5.0 needs these files, but don't error if they aren't present in the source
206 cp -a --parents arch/${ARCH}/kernel/syscalls/syscall.tbl $kerneldir/build/ 2>/dev/null || :
207 cp -a --parents arch/${ARCH}/kernel/syscalls/syscalltbl.sh $kerneldir/build/ 2>/dev/null || :
208 cp -a --parents arch/${ARCH}/kernel/syscalls/syscallhdr.sh $kerneldir/build/ 2>/dev/null || :
209 cp -a --parents arch/${ARCH}/kernel/vdso32/* $kerneldir/build/ 2>/dev/null || :
210 cp -a --parents arch/${ARCH}/kernel/vdso64/* $kerneldir/build/ 2>/dev/null || :
211
212 # v5.19+
213 cp -a --parents arch/powerpc/kernel/vdso/*.S $kerneldir/build 2>/dev/null || :
214 cp -a --parents arch/powerpc/kernel/vdso/*gettimeofday.* $kerneldir/build 2>/dev/null || :
215 cp -a --parents arch/powerpc/kernel/vdso/gen_vdso*_offsets.sh $kerneldir/build/ 2>/dev/null || :
216
217 # v6,1+
218 cp -a --parents arch/powerpc/kernel/asm-offsets.c $kerneldir/build/ 2>/dev/null || :
219 cp -a --parents arch/powerpc/kernel/head_booke.h $kerneldir/build/ 2>/dev/null || :
220 fi
221 if [ "${ARCH}" = "riscv" ]; then
222 cp -a --parents arch/riscv/kernel/vdso/*gettimeofday.* $kerneldir/build/
223 cp -a --parents arch/riscv/kernel/vdso/note.S $kerneldir/build/
224 # v6.1+
225 cp -a --parents arch/riscv/kernel/asm-offsets.c $kerneldir/build/
226 if [ -e arch/riscv/kernel/vdso/gen_vdso_offsets.sh ]; then
227 cp -a --parents arch/riscv/kernel/vdso/gen_vdso_offsets.sh $kerneldir/build/
228 fi
229 cp -a --parents arch/riscv/kernel/vdso/* $kerneldir/build/ 2>/dev/null || :
230 if [ -e arch/riscv/kernel/compat_vdso/gen_compat_vdso_offsets.sh ]; then
231 cp -a --parents arch/riscv/kernel/compat_vdso/gen_compat_vdso_offsets.sh $kerneldir/build/
232 fi
233 cp -a --parents arch/riscv/kernel/compat_vdso/* $kerneldir/build/ 2>/dev/null || :
234 fi
235
236 # include the machine specific headers for ARM variants, if available.
237 if [ "${ARCH}" = "arm" ]; then
238 cp -a --parents arch/${ARCH}/mach-*/include $kerneldir/build/
174 239
175 # include the machine specific headers for ARM variants, if available. 240 # include a few files for 'make prepare'
176 if [ "${ARCH}" = "arm" ]; then 241 cp -a --parents arch/arm/tools/gen-mach-types $kerneldir/build/
177 cp -a --parents arch/${ARCH}/mach-*/include $kerneldir/build/ 242 cp -a --parents arch/arm/tools/mach-types $kerneldir/build/
178 243
179 # include a few files for 'make prepare' 244 # 5.19+
180 cp -a --parents arch/arm/tools/gen-mach-types $kerneldir/build/ 245 cp -a --parents arch/arm/tools/gen-sysreg.awk $kerneldir/build/ 2>/dev/null || :
181 cp -a --parents arch/arm/tools/mach-types $kerneldir/build/
182 246
183 # ARM syscall table tools only exist for kernels v4.10 or later 247 # ARM syscall table tools only exist for kernels v4.10 or later
184 SYSCALL_TOOLS=$(find arch/arm/tools -name "syscall*") 248 SYSCALL_TOOLS=$(find arch/arm/tools -name "syscall*")
185 if [ -n "$SYSCALL_TOOLS" ] ; then 249 if [ -n "$SYSCALL_TOOLS" ] ; then
186 cp -a --parents $SYSCALL_TOOLS $kerneldir/build/ 250 cp -a --parents $SYSCALL_TOOLS $kerneldir/build/
187 fi 251 fi
188 252
189 cp -a --parents arch/arm/kernel/module.lds $kerneldir/build/ 2>/dev/null || : 253 cp -a --parents arch/arm/kernel/module.lds $kerneldir/build/ 2>/dev/null || :
190 fi 254 # v6.1+
191 255 cp -a --parents arch/arm/kernel/asm-offsets.c $kerneldir/build/ 2>/dev/null || :
192 if [ -d arch/${ARCH}/include ]; then 256 cp -a --parents arch/arm/kernel/signal.h $kerneldir/build/ 2>/dev/null || :
193 cp -a --parents arch/${ARCH}/include $kerneldir/build/ 257 fi
194 fi 258
195 259 if [ -d arch/${ARCH}/include ]; then
196 cp -a include $kerneldir/build 260 cp -a --parents arch/${ARCH}/include $kerneldir/build/
197 261 fi
198 cp -a --parents lib/vdso/* $kerneldir/build/ 2>/dev/null || : 262
199 263 cp -a include $kerneldir/build
200 cp -a --parents tools/include/tools/le_byteshift.h $kerneldir/build/ 264
201 cp -a --parents tools/include/tools/be_byteshift.h $kerneldir/build/ 265 cp -a --parents lib/vdso/* $kerneldir/build/ 2>/dev/null || :
202 266
203 # required for generate missing syscalls prepare phase 267 cp -a --parents tools/include/tools/le_byteshift.h $kerneldir/build/
204 cp -a --parents $(find arch/x86 -type f -name "syscall_32.tbl") $kerneldir/build 268 cp -a --parents tools/include/tools/be_byteshift.h $kerneldir/build/
205 cp -a --parents $(find arch/arm -type f -name "*.tbl") $kerneldir/build 2>/dev/null || : 269
206 270 # required for generate missing syscalls prepare phase
207 if [ "${ARCH}" = "x86" ]; then 271 cp -a --parents $(find arch/x86 -type f -name "syscall_32.tbl") $kerneldir/build
208 # files for 'make prepare' to succeed with kernel-devel 272 cp -a --parents $(find arch/arm -type f -name "*.tbl") $kerneldir/build 2>/dev/null || :
209 cp -a --parents $(find arch/x86 -type f -name "syscall_32.tbl") $kerneldir/build/ 273
210 cp -a --parents $(find arch/x86 -type f -name "syscalltbl.sh") $kerneldir/build/ 274 if [ "${ARCH}" = "x86" ]; then
211 cp -a --parents $(find arch/x86 -type f -name "syscallhdr.sh") $kerneldir/build/ 275 # files for 'make prepare' to succeed with kernel-devel
212 cp -a --parents $(find arch/x86 -type f -name "syscall_64.tbl") $kerneldir/build/ 276 cp -a --parents $(find arch/x86 -type f -name "syscall_32.tbl") $kerneldir/build/ 2>/dev/null || :
213 cp -a --parents arch/x86/tools/relocs_32.c $kerneldir/build/ 277 cp -a --parents $(find arch/x86 -type f -name "syscalltbl.sh") $kerneldir/build/ 2>/dev/null || :
214 cp -a --parents arch/x86/tools/relocs_64.c $kerneldir/build/ 278 cp -a --parents $(find arch/x86 -type f -name "syscallhdr.sh") $kerneldir/build/ 2>/dev/null || :
215 cp -a --parents arch/x86/tools/relocs.c $kerneldir/build/ 279 cp -a --parents $(find arch/x86 -type f -name "syscall_64.tbl") $kerneldir/build/ 2>/dev/null || :
216 cp -a --parents arch/x86/tools/relocs_common.c $kerneldir/build/ 280 cp -a --parents arch/x86/tools/relocs_32.c $kerneldir/build/
217 cp -a --parents arch/x86/tools/relocs.h $kerneldir/build/ 281 cp -a --parents arch/x86/tools/relocs_64.c $kerneldir/build/
218 cp -a --parents arch/x86/tools/gen-insn-attr-x86.awk $kerneldir/build/ 2>/dev/null || : 282 cp -a --parents arch/x86/tools/relocs.c $kerneldir/build/
219 cp -a --parents arch/x86/purgatory/purgatory.c $kerneldir/build/ 283 cp -a --parents arch/x86/tools/relocs_common.c $kerneldir/build/
220 284 cp -a --parents arch/x86/tools/relocs.h $kerneldir/build/
221 # 4.18 + have unified the purgatory files, so we ignore any errors if 285 cp -a --parents arch/x86/tools/gen-insn-attr-x86.awk $kerneldir/build/ 2>/dev/null || :
222 # these files are not present 286 cp -a --parents arch/x86/purgatory/purgatory.c $kerneldir/build/
223 cp -a --parents arch/x86/purgatory/sha256.h $kerneldir/build/ 2>/dev/null || : 287
224 cp -a --parents arch/x86/purgatory/sha256.c $kerneldir/build/ 2>/dev/null || : 288 # 4.18 + have unified the purgatory files, so we ignore any errors if
225 289 # these files are not present
226 cp -a --parents arch/x86/purgatory/stack.S $kerneldir/build/ 290 cp -a --parents arch/x86/purgatory/sha256.h $kerneldir/build/ 2>/dev/null || :
227 cp -a --parents arch/x86/purgatory/string.c $kerneldir/build/ 2>/dev/null || : 291 cp -a --parents arch/x86/purgatory/sha256.c $kerneldir/build/ 2>/dev/null || :
228 cp -a --parents arch/x86/purgatory/setup-x86_64.S $kerneldir/build/ 292
229 cp -a --parents arch/x86/purgatory/entry64.S $kerneldir/build/ 293 cp -a --parents arch/x86/purgatory/stack.S $kerneldir/build/
230 cp -a --parents arch/x86/boot/string.h $kerneldir/build/ 294 cp -a --parents arch/x86/purgatory/string.c $kerneldir/build/ 2>/dev/null || :
231 cp -a --parents arch/x86/boot/string.c $kerneldir/build/ 295 cp -a --parents arch/x86/purgatory/setup-x86_64.S $kerneldir/build/
232 cp -a --parents arch/x86/boot/compressed/string.c $kerneldir/build/ 2>/dev/null || : 296 cp -a --parents arch/x86/purgatory/entry64.S $kerneldir/build/
233 cp -a --parents arch/x86/boot/ctype.h $kerneldir/build/ 297 cp -a --parents arch/x86/boot/string.h $kerneldir/build/
234 298 cp -a --parents arch/x86/boot/string.c $kerneldir/build/
235 # objtool requires these files 299 cp -a --parents arch/x86/boot/compressed/string.c $kerneldir/build/ 2>/dev/null || :
236 cp -a --parents arch/x86/lib/inat.c $kerneldir/build/ 2>/dev/null || : 300 cp -a --parents arch/x86/boot/ctype.h $kerneldir/build/
237 cp -a --parents arch/x86/lib/insn.c $kerneldir/build/ 2>/dev/null || : 301
238 fi 302 # objtool requires these files
239 303 cp -a --parents arch/x86/lib/inat.c $kerneldir/build/ 2>/dev/null || :
240 if [ "${ARCH}" = "mips" ]; then 304 cp -a --parents arch/x86/lib/insn.c $kerneldir/build/ 2>/dev/null || :
241 cp -a --parents arch/mips/Kbuild.platforms $kerneldir/build/ 305
242 cp --parents $(find -type f -name "Platform") $kerneldir/build 306 # v6.1+
243 cp --parents arch/mips/boot/tools/relocs* $kerneldir/build 307 cp -a --parents arch/x86/kernel/asm-offsets* $kerneldir/build || :
244 cp -a --parents arch/mips/kernel/asm-offsets.c $kerneldir/build 308 # for capabilities.h, vmx.h
245 cp -a --parents kernel/time/timeconst.bc $kerneldir/build 309 cp -a --parents arch/x86/kvm/vmx/*.h $kerneldir/build || :
246 cp -a --parents kernel/bounds.c $kerneldir/build 310 # for lapic.h, hyperv.h ....
247 cp -a --parents Kbuild $kerneldir/build 311 cp -a --parents arch/x86/kvm/*.h $kerneldir/build || :
248 cp -a --parents arch/mips/kernel/syscalls/*.sh $kerneldir/build 2>/dev/null || : 312 fi
249 cp -a --parents arch/mips/kernel/syscalls/*.tbl $kerneldir/build 2>/dev/null || : 313
250 cp -a --parents arch/mips/tools/elf-entry.c $kerneldir/build 2>/dev/null || : 314 # moved from arch/mips to all arches for v6.1+
251 fi 315 cp -a --parents kernel/time/timeconst.bc $kerneldir/build 2>/dev/null || :
316 cp -a --parents kernel/bounds.c $kerneldir/build 2>/dev/null || :
317
318 if [ "${ARCH}" = "mips" ]; then
319 cp -a --parents arch/mips/Kbuild.platforms $kerneldir/build/
320 cp --parents $(find -type f -name "Platform") $kerneldir/build
321 cp --parents arch/mips/boot/tools/relocs* $kerneldir/build
322 cp -a --parents arch/mips/kernel/asm-offsets.c $kerneldir/build
323 cp -a --parents Kbuild $kerneldir/build
324 cp -a --parents arch/mips/kernel/syscalls/*.sh $kerneldir/build 2>/dev/null || :
325 cp -a --parents arch/mips/kernel/syscalls/*.tbl $kerneldir/build 2>/dev/null || :
326 cp -a --parents arch/mips/tools/elf-entry.c $kerneldir/build 2>/dev/null || :
327 fi
328
329 if [ "${ARCH}" = "loongarch" ]; then
330 cp -a --parents arch/loongarch/kernel/asm-offsets.c $kerneldir/build
331 cp -a --parents Kbuild $kerneldir/build
332 cp -a --parents arch/loongarch/vdso/*.S $kerneldir/build 2>/dev/null || :
333 cp -a --parents arch/loongarch/vdso/*gettimeofday.* $kerneldir/build 2>/dev/null || :
334 cp -a --parents arch/loongarch/vdso/*getcpu.* $kerneldir/build 2>/dev/null || :
335 cp -a --parents arch/loongarch/vdso/gen_vdso*_offsets.sh $kerneldir/build/ 2>/dev/null || :
336 fi
252 337
253 # required to build scripts/selinux/genheaders/genheaders 338 # required to build scripts/selinux/genheaders/genheaders
254 cp -a --parents security/selinux/include/* $kerneldir/build/ 339 cp -a --parents security/selinux/include/* $kerneldir/build/
255 340
256 # copy any localversion files 341 # copy any localversion files
257 cp -a localversion* $kerneldir/build/ 2>/dev/null || : 342 cp -a localversion* $kerneldir/build/ 2>/dev/null || :
258 ) 343 )
259 344
260 # Make sure the Makefile and version.h have a matching timestamp so that 345 # Make sure the Makefile and version.h have a matching timestamp so that
261 # external modules can be built 346 # external modules can be built
262 touch -r $kerneldir/build/Makefile $kerneldir/build/include/generated/uapi/linux/version.h 347 touch -r $kerneldir/build/Makefile $kerneldir/build/include/generated/uapi/linux/version.h
263 348
264 # Copy .config to include/config/auto.conf so "make prepare" is unnecessary. 349 # This fixes a warning that the compilers don't match when building a module
265 cp $kerneldir/build/.config $kerneldir/build/include/config/auto.conf 350 # Change: CONFIG_CC_VERSION_TEXT="x86_64-poky-linux-gcc (GCC) 12.2.0" to "gcc (GCC) 12.2.0"
351 # #define CONFIG_CC_VERSION_TEXT "x86_64-poky-linux-gcc (GCC) 12.2.0" to "gcc (GCC) 12.2.0"
352 sed -i 's/CONFIG_CC_VERSION_TEXT=".*\(gcc.*\)"/CONFIG_CC_VERSION_TEXT="\1"/' "$kerneldir/build/.config"
353 sed -i 's/#define CONFIG_CC_VERSION_TEXT ".*\(gcc.*\)"/#define CONFIG_CC_VERSION_TEXT "\1"/' $kerneldir/build/include/generated/autoconf.h
354 sed -i 's/CONFIG_CC_VERSION_TEXT=".*\(gcc.*\)"/CONFIG_CC_VERSION_TEXT="\1"/' $kerneldir/build/include/config/auto.conf
266 355
267 # make sure these are at least as old as the .config, or rebuilds will trigger 356 # make sure these are at least as old as the .config, or rebuilds will trigger
268 touch -r $kerneldir/build/.config $kerneldir/build/include/generated/autoconf.h 2>/dev/null || : 357 touch -r $kerneldir/build/.config $kerneldir/build/include/generated/autoconf.h 2>/dev/null || :
@@ -271,6 +360,13 @@ do_install() {
271 if [ -e "$kerneldir/build/include/config/auto.conf.cmd" ]; then 360 if [ -e "$kerneldir/build/include/config/auto.conf.cmd" ]; then
272 sed -i 's/ifneq "$(CC)" ".*-linux-.*gcc.*$/ifneq "$(CC)" "gcc"/' "$kerneldir/build/include/config/auto.conf.cmd" 361 sed -i 's/ifneq "$(CC)" ".*-linux-.*gcc.*$/ifneq "$(CC)" "gcc"/' "$kerneldir/build/include/config/auto.conf.cmd"
273 sed -i 's/ifneq "$(LD)" ".*-linux-.*ld.bfd.*$/ifneq "$(LD)" "ld"/' "$kerneldir/build/include/config/auto.conf.cmd" 362 sed -i 's/ifneq "$(LD)" ".*-linux-.*ld.bfd.*$/ifneq "$(LD)" "ld"/' "$kerneldir/build/include/config/auto.conf.cmd"
363 sed -i 's/ifneq "$(AR)" ".*-linux-.*ar.*$/ifneq "$(AR)" "ar"/' "$kerneldir/build/include/config/auto.conf.cmd"
364 sed -i 's/ifneq "$(OBJCOPY)" ".*-linux-.*objcopy.*$/ifneq "$(OBJCOPY)" "objcopy"/' "$kerneldir/build/include/config/auto.conf.cmd"
365 if [ "${ARCH}" = "powerpc" ]; then
366 sed -i 's/ifneq "$(NM)" ".*-linux-.*nm.*$/ifneq "$(NM)" "nm --synthetic"/' "$kerneldir/build/include/config/auto.conf.cmd"
367 else
368 sed -i 's/ifneq "$(NM)" ".*-linux-.*nm.*$/ifneq "$(NM)" "nm"/' "$kerneldir/build/include/config/auto.conf.cmd"
369 fi
274 sed -i 's/ifneq "$(HOSTCXX)" ".*$/ifneq "$(HOSTCXX)" "g++"/' "$kerneldir/build/include/config/auto.conf.cmd" 370 sed -i 's/ifneq "$(HOSTCXX)" ".*$/ifneq "$(HOSTCXX)" "g++"/' "$kerneldir/build/include/config/auto.conf.cmd"
275 sed -i 's/ifneq "$(HOSTCC)" ".*$/ifneq "$(HOSTCC)" "gcc"/' "$kerneldir/build/include/config/auto.conf.cmd" 371 sed -i 's/ifneq "$(HOSTCC)" ".*$/ifneq "$(HOSTCC)" "gcc"/' "$kerneldir/build/include/config/auto.conf.cmd"
276 sed -i 's/ifneq "$(CC_VERSION_TEXT)".*\(gcc.*\)"/ifneq "$(CC_VERSION_TEXT)" "\1"/' "$kerneldir/build/include/config/auto.conf.cmd" 372 sed -i 's/ifneq "$(CC_VERSION_TEXT)".*\(gcc.*\)"/ifneq "$(CC_VERSION_TEXT)" "\1"/' "$kerneldir/build/include/config/auto.conf.cmd"
@@ -283,9 +379,9 @@ do_install() {
283 # left as /usr/bin/python rootfs assembly will fail, since we only have python3 379 # left as /usr/bin/python rootfs assembly will fail, since we only have python3
284 # in the RDEPENDS (and the python3 package does not include /usr/bin/python) 380 # in the RDEPENDS (and the python3 package does not include /usr/bin/python)
285 for ss in $(find $kerneldir/build/scripts -type f -name '*'); do 381 for ss in $(find $kerneldir/build/scripts -type f -name '*'); do
286 sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "$ss" 382 sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "$ss"
287 sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "$ss" 383 sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "$ss"
288 sed -i 's,/usr/bin/python,/usr/bin/env python3,' "$ss" 384 sed -i 's,/usr/bin/python,/usr/bin/env python3,' "$ss"
289 done 385 done
290 386
291 chown -R root:root ${D} 387 chown -R root:root ${D}
@@ -294,13 +390,17 @@ do_install() {
294# Ensure we don't race against "make scripts" during cpio 390# Ensure we don't race against "make scripts" during cpio
295do_install[lockfiles] = "${TMPDIR}/kernel-scripts.lock" 391do_install[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
296 392
297FILES_${PN} = "${KERNEL_BUILD_ROOT} ${KERNEL_SRC_PATH}" 393FILES:${PN} = "${KERNEL_BUILD_ROOT} ${KERNEL_SRC_PATH}"
298FILES_${PN}-dbg += "${KERNEL_BUILD_ROOT}*/build/scripts/*/.debug/*" 394FILES:${PN}-dbg += "${KERNEL_BUILD_ROOT}*/build/scripts/*/.debug/*"
299 395
300RDEPENDS_${PN} = "bc python3 flex bison ${TCLIBC}-utils" 396RDEPENDS:${PN} = "bc python3-core flex bison ${TCLIBC}-utils gawk"
301# 4.15+ needs these next two RDEPENDS 397# 4.15+ needs these next two RDEPENDS
302RDEPENDS_${PN} += "openssl-dev util-linux" 398RDEPENDS:${PN} += "openssl-dev util-linux"
303# and x86 needs a bit more for 4.15+ 399# and x86 needs a bit more for 4.15+
304RDEPENDS_${PN} += "${@bb.utils.contains('ARCH', 'x86', 'elfutils', '', d)}" 400RDEPENDS:${PN} += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-dev', '', d)}"
401# powerpc needs elfutils on 6.3+
402RDEPENDS:${PN} += "${@bb.utils.contains('ARCH', 'powerpc', 'elfutils-dev', '', d)}"
305# 5.8+ needs gcc-plugins libmpc-dev 403# 5.8+ needs gcc-plugins libmpc-dev
306RDEPENDS_${PN} += "gcc-plugins libmpc-dev" 404RDEPENDS:${PN} += "gcc-plugins libmpc-dev"
405# 5.13+ needs grep for powerpc
406RDEPENDS:${PN}:append:powerpc = " grep"
diff --git a/meta/recipes-kernel/linux/linux-dummy.bb b/meta/recipes-kernel/linux/linux-dummy.bb
index 95dc85ff2f..2396f46202 100644
--- a/meta/recipes-kernel/linux/linux-dummy.bb
+++ b/meta/recipes-kernel/linux/linux-dummy.bb
@@ -4,31 +4,30 @@ provider for virtual/kernel to satisfy dependencies for situations \
4where you wish to build the kernel externally from the build system." 4where you wish to build the kernel externally from the build system."
5SECTION = "kernel" 5SECTION = "kernel"
6 6
7LICENSE = "GPLv2" 7LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe" 8LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
9 9
10PROVIDES += "virtual/kernel" 10PROVIDES += "virtual/kernel"
11 11
12inherit deploy 12inherit deploy linux-dummy
13 13
14PACKAGES_DYNAMIC += "^kernel-module-.*" 14PACKAGES_DYNAMIC += "^kernel-module-.*"
15PACKAGES_DYNAMIC += "^kernel-image-.*" 15PACKAGES_DYNAMIC += "^kernel-image-.*"
16PACKAGES_DYNAMIC += "^kernel-firmware-.*" 16PACKAGES_DYNAMIC += "^kernel-firmware-.*"
17 17
18PACKAGES += "kernel-modules kernel-vmlinux" 18PACKAGES += "kernel-modules kernel-vmlinux"
19FILES_kernel-modules = "" 19FILES:kernel-modules = ""
20ALLOW_EMPTY_kernel-modules = "1" 20ALLOW_EMPTY:kernel-modules = "1"
21DESCRIPTION_kernel-modules = "Kernel modules meta package" 21DESCRIPTION:kernel-modules = "Kernel modules meta package"
22FILES_kernel-vmlinux = "" 22FILES:kernel-vmlinux = ""
23ALLOW_EMPTY_kernel-vmlinux = "1" 23ALLOW_EMPTY:kernel-vmlinux = "1"
24DESCRIPTION_kernel-vmlinux = "Kernel vmlinux meta package" 24DESCRIPTION:kernel-vmlinux = "Kernel vmlinux meta package"
25 25
26 26
27INHIBIT_DEFAULT_DEPS = "1" 27INHIBIT_DEFAULT_DEPS = "1"
28 28
29COMPATIBLE_HOST = ".*-linux" 29COMPATIBLE_HOST = ".*-linux"
30 30
31PR = "r1"
32 31
33SRC_URI = "file://COPYING.GPL" 32SRC_URI = "file://COPYING.GPL"
34S = "${WORKDIR}" 33S = "${WORKDIR}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb b/meta/recipes-kernel/linux/linux-yocto-dev.bb
index 2ccc0ee875..d5cba42a5c 100644
--- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -10,17 +10,15 @@
10 10
11inherit kernel 11inherit kernel
12require recipes-kernel/linux/linux-yocto.inc 12require recipes-kernel/linux/linux-yocto.inc
13# for ncurses tests
14inherit pkgconfig
15 13
16# provide this .inc to set specific revisions 14# provide this .inc to set specific revisions
17include recipes-kernel/linux/linux-yocto-dev-revisions.inc 15include recipes-kernel/linux/linux-yocto-dev-revisions.inc
18 16
19KBRANCH = "standard/base" 17KBRANCH = "v6.9/standard/base"
20KMETA = "kernel-meta" 18KMETA = "kernel-meta"
21 19
22SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine \ 20SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https \
23 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=master;destsuffix=${KMETA}" 21 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=master;destsuffix=${KMETA};protocol=https"
24 22
25# Set default SRCREVs. Both the machine and meta SRCREVs are statically set 23# Set default SRCREVs. Both the machine and meta SRCREVs are statically set
26# to the korg v3.7 tag, and hence prevent network access during parsing. If 24# to the korg v3.7 tag, and hence prevent network access during parsing. If
@@ -30,25 +28,34 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
30SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' 28SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
31SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' 29SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
32 30
33LINUX_VERSION ?= "5.11+" 31LINUX_VERSION ?= "6.9"
34LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}" 32LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
35PV = "${LINUX_VERSION}+git${SRCPV}" 33PV = "${LINUX_VERSION}+git"
36 34
37LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" 35LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
38 36
39DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" 37# yaml and dtschema are required for 5.16+ device tree validation, libyaml is checked
40DEPENDS += "openssl-native util-linux-native" 38# via pkgconfig, so must always be present, but we can wrap the others to make them
39# conditional
40DEPENDS += "libyaml-native"
41 41
42COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64)" 42PACKAGECONFIG ??= ""
43PACKAGECONFIG[dt-validation] = ",,python3-dtschema-native"
44# we need the wrappers if validation isn't in the packageconfig
45DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'dt-validation', '', 'python3-dtschema-wrapper-native', d)}"
43 46
44KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" 47COMPATIBLE_MACHINE = "^(qemuarmv5|qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv32|qemuriscv64|qemuloongarch64)$"
48
49KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
45 50
46# Functionality flags 51# Functionality flags
47KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" 52KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
48KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" 53KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
49KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" 54KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
50KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" 55KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
51KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" 56KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
52KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" 57KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
58KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
59KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
53 60
54KERNEL_VERSION_SANITY_SKIP = "1" 61KERNEL_VERSION_SANITY_SKIP = "1"
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
deleted file mode 100644
index 2508b9ba07..0000000000
--- a/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
+++ /dev/null
@@ -1,45 +0,0 @@
1KBRANCH ?= "v5.4/standard/preempt-rt/base"
2
3require recipes-kernel/linux/linux-yocto.inc
4
5# Skip processing of this recipe if it is not explicitly specified as the
6# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
7# to build multiple virtual/kernel providers, e.g. as dependency of
8# core-image-rt-sdk, core-image-rt.
9python () {
10 if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
11 raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
12}
13
14SRCREV_machine ?= "0406e600800a40015d02b16ee6a4a46c6673c66f"
15SRCREV_meta ?= "4f6d6c23cc8ca5d9c39b1efc2619b1dfec1ef2bc"
16
17SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
18 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
19
20LINUX_VERSION ?= "5.4.98"
21
22LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
23
24DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
25DEPENDS += "openssl-native util-linux-native"
26
27PV = "${LINUX_VERSION}+git${SRCPV}"
28
29KMETA = "kernel-meta"
30KCONF_BSP_AUDIT_LEVEL = "2"
31
32LINUX_KERNEL_TYPE = "preempt-rt"
33
34COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
35
36KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
37
38# Functionality flags
39KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
40KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
41KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
42KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
43KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
44KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
45KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb
index 54996a8aee..a44a08451a 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb
@@ -1,7 +1,10 @@
1KBRANCH ?= "v5.10/standard/preempt-rt/base" 1KBRANCH ?= "v6.6/standard/preempt-rt/base"
2 2
3require recipes-kernel/linux/linux-yocto.inc 3require recipes-kernel/linux/linux-yocto.inc
4 4
5# CVE exclusions
6include recipes-kernel/linux/cve-exclusion_6.6.inc
7
5# Skip processing of this recipe if it is not explicitly specified as the 8# Skip processing of this recipe if it is not explicitly specified as the
6# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying 9# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
7# to build multiple virtual/kernel providers, e.g. as dependency of 10# to build multiple virtual/kernel providers, e.g. as dependency of
@@ -11,35 +14,35 @@ python () {
11 raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") 14 raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
12} 15}
13 16
14SRCREV_machine ?= "142456428adbf16db56572889232220afb201974" 17SRCREV_machine ?= "19813826de57a6425518c7b3daf8dd6a04d2321f"
15SRCREV_meta ?= "8f72218572b1d4a5f053ced2bbf0558d0557072d" 18SRCREV_meta ?= "f7f00b22efcfcae6489e9ec7db7002685fbc078b"
16 19
17SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ 20SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
18 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" 21 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=${KMETA};protocol=https"
19 22
20LINUX_VERSION ?= "5.10.16" 23LINUX_VERSION ?= "6.6.23"
21 24
22LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" 25LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
23 26
24DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" 27DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
25DEPENDS += "openssl-native util-linux-native" 28DEPENDS += "openssl-native util-linux-native"
26 29
27PV = "${LINUX_VERSION}+git${SRCPV}" 30PV = "${LINUX_VERSION}+git"
28 31
29KMETA = "kernel-meta" 32KMETA = "kernel-meta"
30KCONF_BSP_AUDIT_LEVEL = "1" 33KCONF_BSP_AUDIT_LEVEL = "1"
31 34
32LINUX_KERNEL_TYPE = "preempt-rt" 35LINUX_KERNEL_TYPE = "preempt-rt"
33 36
34COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)" 37COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)$"
35 38
36KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" 39KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
37 40
38# Functionality flags 41# Functionality flags
39KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" 42KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
40KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" 43KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
41KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" 44KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
42KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" 45KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
43KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" 46KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
44KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" 47KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
45KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" 48KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
deleted file mode 100644
index 8ecd10716a..0000000000
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
+++ /dev/null
@@ -1,32 +0,0 @@
1KBRANCH ?= "v5.10/standard/tiny/base"
2KBRANCH_qemuarm ?= "v5.10/standard/tiny/arm-versatile-926ejs"
3
4LINUX_KERNEL_TYPE = "tiny"
5KCONFIG_MODE = "--allnoconfig"
6
7require recipes-kernel/linux/linux-yocto.inc
8
9LINUX_VERSION ?= "5.10.16"
10LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
11
12DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
13DEPENDS += "openssl-native util-linux-native"
14
15KMETA = "kernel-meta"
16KCONF_BSP_AUDIT_LEVEL = "2"
17
18SRCREV_machine_qemuarm ?= "be720c1ce6d1cba2bb3815ad04773355339380ab"
19SRCREV_machine ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
20SRCREV_meta ?= "8f72218572b1d4a5f053ced2bbf0558d0557072d"
21
22PV = "${LINUX_VERSION}+git${SRCPV}"
23
24SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
25 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
26
27COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
28
29# Functionality flags
30KERNEL_FEATURES = ""
31
32KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
deleted file mode 100644
index ff03fd4197..0000000000
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
+++ /dev/null
@@ -1,32 +0,0 @@
1KBRANCH ?= "v5.4/standard/tiny/base"
2KBRANCH_qemuarm ?= "v5.4/standard/tiny/arm-versatile-926ejs"
3
4LINUX_KERNEL_TYPE = "tiny"
5KCONFIG_MODE = "--allnoconfig"
6
7require recipes-kernel/linux/linux-yocto.inc
8
9LINUX_VERSION ?= "5.4.98"
10LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
11
12DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
13DEPENDS += "openssl-native util-linux-native"
14
15KMETA = "kernel-meta"
16KCONF_BSP_AUDIT_LEVEL = "2"
17
18SRCREV_machine_qemuarm ?= "fc95a485415d22eb772359b8d350c03b85c0cd1b"
19SRCREV_machine ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
20SRCREV_meta ?= "4f6d6c23cc8ca5d9c39b1efc2619b1dfec1ef2bc"
21
22PV = "${LINUX_VERSION}+git${SRCPV}"
23
24SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
25 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
26
27COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
28
29# Functionality flags
30KERNEL_FEATURES = ""
31
32KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb
new file mode 100644
index 0000000000..db9e252572
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb
@@ -0,0 +1,33 @@
1KBRANCH ?= "v6.6/standard/tiny/base"
2
3LINUX_KERNEL_TYPE = "tiny"
4KCONFIG_MODE = "--allnoconfig"
5
6require recipes-kernel/linux/linux-yocto.inc
7
8# CVE exclusions
9include recipes-kernel/linux/cve-exclusion_6.6.inc
10
11LINUX_VERSION ?= "6.6.23"
12LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
13
14DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
15DEPENDS += "openssl-native util-linux-native"
16
17KMETA = "kernel-meta"
18KCONF_BSP_AUDIT_LEVEL = "2"
19
20SRCREV_machine ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
21SRCREV_meta ?= "f7f00b22efcfcae6489e9ec7db7002685fbc078b"
22
23PV = "${LINUX_VERSION}+git"
24
25SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
26 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=${KMETA};protocol=https"
27
28COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm64|qemuarm|qemuarmv5)$"
29
30# Functionality flags
31KERNEL_FEATURES = ""
32
33KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc
index a85280990b..0132fcffb3 100644
--- a/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/meta/recipes-kernel/linux/linux-yocto.inc
@@ -1,6 +1,6 @@
1SUMMARY = "Linux kernel" 1SUMMARY = "Linux kernel"
2SECTION = "kernel" 2SECTION = "kernel"
3LICENSE = "GPLv2" 3LICENSE = "GPL-2.0-only"
4HOMEPAGE = "https://www.yoctoproject.org/" 4HOMEPAGE = "https://www.yoctoproject.org/"
5 5
6LIC_FILES_CHKSUM ?= "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" 6LIC_FILES_CHKSUM ?= "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
@@ -19,21 +19,23 @@ python () {
19} 19}
20 20
21DEPENDS += "xz-native bc-native" 21DEPENDS += "xz-native bc-native"
22DEPENDS_append_aarch64 = " libgcc" 22DEPENDS:append:aarch64 = " libgcc"
23KERNEL_CC_append_aarch64 = " ${TOOLCHAIN_OPTIONS}" 23KERNEL_CC:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
24KERNEL_LD_append_aarch64 = " ${TOOLCHAIN_OPTIONS}" 24KERNEL_LD:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
25 25
26DEPENDS_append_nios2 = " libgcc" 26DEPENDS:append:nios2 = " libgcc"
27KERNEL_CC_append_nios2 = " ${TOOLCHAIN_OPTIONS}" 27KERNEL_CC:append:nios2 = " ${TOOLCHAIN_OPTIONS}"
28KERNEL_LD_append_nios2 = " ${TOOLCHAIN_OPTIONS}" 28KERNEL_LD:append:nios2 = " ${TOOLCHAIN_OPTIONS}"
29 29
30DEPENDS_append_arc = " libgcc" 30DEPENDS:append:arc = " libgcc"
31KERNEL_CC_append_arc = " ${TOOLCHAIN_OPTIONS}" 31KERNEL_CC:append:arc = " ${TOOLCHAIN_OPTIONS}"
32KERNEL_LD_append_arc = " ${TOOLCHAIN_OPTIONS}" 32KERNEL_LD:append:arc = " ${TOOLCHAIN_OPTIONS}"
33 33
34KERNEL_FEATURES_append_qemuall=" features/debug/printk.scc" 34KERNEL_FEATURES:append:qemuall=" features/debug/printk.scc features/taskstats/taskstats.scc"
35 35
36KERNEL_FEATURES_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}" 36KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'efi', 'cfg/efi.scc', '', d)}"
37KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}"
38KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'vfat', 'cfg/fs/vfat.scc', '', d)}"
37 39
38# A KMACHINE is the mapping of a yocto $MACHINE to what is built 40# A KMACHINE is the mapping of a yocto $MACHINE to what is built
39# by the kernel. This is typically the branch that should be built, 41# by the kernel. This is typically the branch that should be built,
@@ -48,11 +50,32 @@ inherit kernel-yocto
48 50
49B = "${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build" 51B = "${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build"
50 52
51do_install_append(){ 53do_install:append(){
52 if [ -n "${KMETA}" ]; then 54 if [ -n "${KMETA}" ]; then
53 rm -rf ${STAGING_KERNEL_DIR}/${KMETA} 55 rm -rf ${STAGING_KERNEL_DIR}/${KMETA}
54 fi 56 fi
55} 57}
56 58
57# enable kernel-sample for oeqa/runtime/cases's ksample.py test 59# enable kernel-sample for oeqa/runtime/cases's ksample.py test
58KERNEL_FEATURES_append_qemuall=" features/kernel-sample/kernel-sample.scc" 60KERNEL_FEATURES:append:qemuall=" features/kernel-sample/kernel-sample.scc"
61
62KERNEL_DEBUG ?= ""
63# These used to be version specific, but are now common dependencies. New
64# tools / dependencies will continue to be added in version specific recipes.
65DEPENDS += '${@bb.utils.contains_any("ARCH", [ "x86", "arm64", "powerpc" ], "elfutils-native", "", d)}'
66DEPENDS += "openssl-native util-linux-native"
67DEPENDS += "gmp-native libmpc-native"
68
69# Some options depend on CONFIG_PAHOLE_VERSION, so need to make pahole-native available before do_kernel_configme
70do_kernel_configme[depends] += '${@bb.utils.contains("KERNEL_DEBUG", "True", "pahole-native:do_populate_sysroot", "", d)}'
71
72EXTRA_OEMAKE += '${@bb.utils.contains("KERNEL_DEBUG", "True", "", "PAHOLE=false", d)}'
73
74do_devshell:prepend() {
75 # setup native pkg-config variables (kconfig scripts call pkg-config directly, cannot generically be overriden to pkg-config-native)
76 d.setVar("PKG_CONFIG_DIR", "${STAGING_DIR_NATIVE}${libdir_native}/pkgconfig")
77 d.setVar("PKG_CONFIG_PATH", "${PKG_CONFIG_DIR}:${STAGING_DATADIR_NATIVE}/pkgconfig")
78 d.setVar("PKG_CONFIG_LIBDIR", "${PKG_CONFIG_DIR}")
79 d.setVarFlag("PKG_CONFIG_SYSROOT_DIR", "unexport", "1")
80 d.appendVar("OE_TERMINAL_EXPORTS", " PKG_CONFIG_DIR PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR")
81}
diff --git a/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/meta/recipes-kernel/linux/linux-yocto_5.10.bb
deleted file mode 100644
index 38b56c17bf..0000000000
--- a/meta/recipes-kernel/linux/linux-yocto_5.10.bb
+++ /dev/null
@@ -1,56 +0,0 @@
1KBRANCH ?= "v5.10/standard/base"
2
3require recipes-kernel/linux/linux-yocto.inc
4
5# board specific branches
6KBRANCH_qemuarm ?= "v5.10/standard/arm-versatile-926ejs"
7KBRANCH_qemuarm64 ?= "v5.10/standard/qemuarm64"
8KBRANCH_qemumips ?= "v5.10/standard/mti-malta32"
9KBRANCH_qemuppc ?= "v5.10/standard/qemuppc"
10KBRANCH_qemuriscv64 ?= "v5.10/standard/base"
11KBRANCH_qemux86 ?= "v5.10/standard/base"
12KBRANCH_qemux86-64 ?= "v5.10/standard/base"
13KBRANCH_qemumips64 ?= "v5.10/standard/mti-malta64"
14
15SRCREV_machine_qemuarm ?= "57a6fbd33df5c7f057f301387b03a70cdc582282"
16SRCREV_machine_qemuarm64 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
17SRCREV_machine_qemumips ?= "79bd439bff3c9f95cac6fb81c76b559a404a32dc"
18SRCREV_machine_qemuppc ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
19SRCREV_machine_qemuriscv64 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
20SRCREV_machine_qemux86 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
21SRCREV_machine_qemux86-64 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
22SRCREV_machine_qemumips64 ?= "07bda345fe202b1d2ce233ffc20b7570f78c9c7f"
23SRCREV_machine ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953"
24SRCREV_meta ?= "8f72218572b1d4a5f053ced2bbf0558d0557072d"
25
26# remap qemuarm to qemuarma15 for the 5.8 kernel
27# KMACHINE_qemuarm ?= "qemuarma15"
28
29SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
30 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
31
32LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
33LINUX_VERSION ?= "5.10.16"
34
35DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
36DEPENDS += "openssl-native util-linux-native"
37DEPENDS += "gmp-native"
38
39PV = "${LINUX_VERSION}+git${SRCPV}"
40
41KMETA = "kernel-meta"
42KCONF_BSP_AUDIT_LEVEL = "1"
43
44KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
45
46COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64"
47
48# Functionality flags
49KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
50KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
51KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
52KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
53KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
54KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
55KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
56KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/meta/recipes-kernel/linux/linux-yocto_5.4.bb
deleted file mode 100644
index 8d0f4b82c0..0000000000
--- a/meta/recipes-kernel/linux/linux-yocto_5.4.bb
+++ /dev/null
@@ -1,55 +0,0 @@
1KBRANCH ?= "v5.4/standard/base"
2
3require recipes-kernel/linux/linux-yocto.inc
4
5# board specific branches
6KBRANCH_qemuarm ?= "v5.4/standard/arm-versatile-926ejs"
7KBRANCH_qemuarm64 ?= "v5.4/standard/qemuarm64"
8KBRANCH_qemumips ?= "v5.4/standard/mti-malta32"
9KBRANCH_qemuppc ?= "v5.4/standard/qemuppc"
10KBRANCH_qemuriscv64 ?= "v5.4/standard/base"
11KBRANCH_qemux86 ?= "v5.4/standard/base"
12KBRANCH_qemux86-64 ?= "v5.4/standard/base"
13KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64"
14
15SRCREV_machine_qemuarm ?= "28bc6b294bb1e49da671b2848234f9011efcad88"
16SRCREV_machine_qemuarm64 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
17SRCREV_machine_qemumips ?= "105568d1696f86625cf7bc30d8c5c921732de2f4"
18SRCREV_machine_qemuppc ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
19SRCREV_machine_qemuriscv64 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
20SRCREV_machine_qemux86 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
21SRCREV_machine_qemux86-64 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
22SRCREV_machine_qemumips64 ?= "c76ba20ee1b1de859736f85f0210459c2104b8df"
23SRCREV_machine ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d"
24SRCREV_meta ?= "4f6d6c23cc8ca5d9c39b1efc2619b1dfec1ef2bc"
25
26# remap qemuarm to qemuarma15 for the 5.4 kernel
27# KMACHINE_qemuarm ?= "qemuarma15"
28
29SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
30 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
31
32LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
33LINUX_VERSION ?= "5.4.98"
34
35DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
36DEPENDS += "openssl-native util-linux-native"
37
38PV = "${LINUX_VERSION}+git${SRCPV}"
39
40KMETA = "kernel-meta"
41KCONF_BSP_AUDIT_LEVEL = "1"
42
43KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
44
45COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64"
46
47# Functionality flags
48KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
49KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
50KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
51KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
52KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
53KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
54KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
55KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_6.6.bb b/meta/recipes-kernel/linux/linux-yocto_6.6.bb
new file mode 100644
index 0000000000..43696db59b
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto_6.6.bb
@@ -0,0 +1,72 @@
1KBRANCH ?= "v6.6/standard/base"
2
3require recipes-kernel/linux/linux-yocto.inc
4
5# CVE exclusions
6include recipes-kernel/linux/cve-exclusion.inc
7include recipes-kernel/linux/cve-exclusion_6.6.inc
8
9# board specific branches
10KBRANCH:qemuarm ?= "v6.6/standard/arm-versatile-926ejs"
11KBRANCH:qemuarm64 ?= "v6.6/standard/qemuarm64"
12KBRANCH:qemumips ?= "v6.6/standard/mti-malta32"
13KBRANCH:qemuppc ?= "v6.6/standard/qemuppc"
14KBRANCH:qemuriscv64 ?= "v6.6/standard/base"
15KBRANCH:qemuriscv32 ?= "v6.6/standard/base"
16KBRANCH:qemux86 ?= "v6.6/standard/base"
17KBRANCH:qemux86-64 ?= "v6.6/standard/base"
18KBRANCH:qemuloongarch64 ?= "v6.6/standard/base"
19KBRANCH:qemumips64 ?= "v6.6/standard/mti-malta64"
20
21SRCREV_machine:qemuarm ?= "ceb94a85299b59d8840ed7ed392b1d3e4c727678"
22SRCREV_machine:qemuarm64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
23SRCREV_machine:qemuloongarch64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
24SRCREV_machine:qemumips ?= "c79ffc89f8909f60de52005ef258db9752634eda"
25SRCREV_machine:qemuppc ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
26SRCREV_machine:qemuriscv64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
27SRCREV_machine:qemuriscv32 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
28SRCREV_machine:qemux86 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
29SRCREV_machine:qemux86-64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
30SRCREV_machine:qemumips64 ?= "b0a73fa83073c8d7d7bc917bcbeac88d296ebe38"
31SRCREV_machine ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
32SRCREV_meta ?= "f7f00b22efcfcae6489e9ec7db7002685fbc078b"
33
34# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
35# get the <version>/base branch, which is pure upstream -stable, and the same
36# meta SRCREV as the linux-yocto-standard builds. Select your version using the
37# normal PREFERRED_VERSION settings.
38BBCLASSEXTEND = "devupstream:target"
39SRCREV_machine:class-devupstream ?= "5c7587f69194bc9fc714953ab4c7203e6e68885b"
40PN:class-devupstream = "linux-yocto-upstream"
41KBRANCH:class-devupstream = "v6.6/base"
42
43SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH};protocol=https \
44 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=${KMETA};protocol=https"
45
46LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
47LINUX_VERSION ?= "6.6.23"
48
49PV = "${LINUX_VERSION}+git"
50
51KMETA = "kernel-meta"
52KCONF_BSP_AUDIT_LEVEL = "1"
53
54KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
55
56COMPATIBLE_MACHINE = "^(qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32|qemuloongarch64)$"
57
58# Functionality flags
59KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
60KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
61KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc cfg/net/mdio.scc"
62KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
63KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
64KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
65KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc features/nf_tables/nft_test.scc", "", d)}"
66KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
67KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc"
68KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc"
69KERNEL_FEATURES:append:powerpc64le =" arch/powerpc/powerpc-debug.scc"
70
71INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel"
72
diff --git a/meta/recipes-kernel/lttng/babeltrace2/run-ptest b/meta/recipes-kernel/lttng/babeltrace2/run-ptest
index 72fe223436..71a9c81bfb 100755
--- a/meta/recipes-kernel/lttng/babeltrace2/run-ptest
+++ b/meta/recipes-kernel/lttng/babeltrace2/run-ptest
@@ -6,4 +6,14 @@
6# test plan to raise ERRORs; this is just noise. 6# test plan to raise ERRORs; this is just noise.
7makeargs="LOG_DRIVER_FLAGS=--ignore-exit abs_top_srcdir=$PWD abs_top_builddir=$PWD GREP=grep SED=sed PYTHON=python3" 7makeargs="LOG_DRIVER_FLAGS=--ignore-exit abs_top_srcdir=$PWD abs_top_builddir=$PWD GREP=grep SED=sed PYTHON=python3"
8 8
9exec make -C tests -k -s $makeargs $target 2>/dev/null 9exec 2> error.log
10make -C tests -k -s $makeargs $target
11exitcode=$?
12if [ -e error.log ]; then
13 cat error.log
14fi
15if [ -e tests/test-suite.log ]; then
16 cat tests/test-suite.log
17fi
18
19exit $exitcode \ No newline at end of file
diff --git a/meta/recipes-kernel/lttng/babeltrace2_2.0.3.bb b/meta/recipes-kernel/lttng/babeltrace2_2.0.6.bb
index 32ba75bf36..d6c75d7580 100644
--- a/meta/recipes-kernel/lttng/babeltrace2_2.0.3.bb
+++ b/meta/recipes-kernel/lttng/babeltrace2_2.0.6.bb
@@ -2,34 +2,36 @@ SUMMARY = "Babeltrace2 - Trace Format Babel Tower"
2DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log." 2DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log."
3HOMEPAGE = "http://babeltrace.org/" 3HOMEPAGE = "http://babeltrace.org/"
4BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace" 4BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace"
5LICENSE = "MIT & GPLv2 & LGPLv2.1 & BSD-2-Clause" 5LICENSE = "MIT & GPL-2.0-only & LGPL-2.1-only & BSD-2-Clause"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a458c13f18385b7bc5069a6d7b176e" 6LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a458c13f18385b7bc5069a6d7b176e"
7 7
8DEPENDS = "glib-2.0 util-linux popt bison-native flex-native" 8DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
9 9
10SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-2.0 \ 10SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-2.0;protocol=https \
11 file://run-ptest \ 11 file://run-ptest \
12 file://0001-tests-do-not-run-test-applications-from-.libs.patch \ 12 file://0001-tests-do-not-run-test-applications-from-.libs.patch \
13 file://0001-Make-manpages-multilib-identical.patch \ 13 file://0001-Make-manpages-multilib-identical.patch \
14 " 14 "
15SRCREV = "91d154476e66735d705adda9ca5cbf5b5eea5940" 15SRCREV = "0a6632f77801f3218a288604c646f8a39cb0d2c4"
16UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$" 16UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$"
17 17
18S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
19 19
20inherit autotools pkgconfig ptest python3targetconfig 20inherit autotools pkgconfig ptest python3targetconfig
21 21
22EXTRA_OECONF = "--disable-debug-info" 22EXTRA_OECONF = "--disable-debug-info --disable-Werror"
23 23
24PACKAGECONFIG ??= "manpages" 24PACKAGECONFIG ??= "manpages"
25PACKAGECONFIG[manpages] = ", --disable-man-pages, asciidoc-native xmlto-native" 25PACKAGECONFIG[manpages] = ", --disable-man-pages, asciidoc-native xmlto-native"
26 26
27FILES_${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a" 27FILES:${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a"
28FILES_${PN} += "${libdir}/babeltrace2/plugins/*.so" 28FILES:${PN} += "${libdir}/babeltrace2/plugins/*.so"
29 29
30ASNEEDED = "" 30ASNEEDED = ""
31LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld ptest', ' -fuse-ld=bfd ', '', d)}"
31 32
32RDEPENDS_${PN}-ptest += "bash gawk python3" 33# coreutils since we need full mktemp
34RDEPENDS:${PN}-ptest += "bash gawk python3 make grep coreutils findutils"
33 35
34do_compile_ptest () { 36do_compile_ptest () {
35 make -C tests all 37 make -C tests all
diff --git a/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb b/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb
index 9e5d3a7a97..f4d9b5e42a 100644
--- a/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb
+++ b/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb
@@ -2,15 +2,15 @@ SUMMARY = "Babeltrace - Trace Format Babel Tower"
2DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log." 2DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log."
3HOMEPAGE = "http://babeltrace.org/" 3HOMEPAGE = "http://babeltrace.org/"
4BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace" 4BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace"
5LICENSE = "MIT & GPLv2 & LGPLv2.1" 5LICENSE = "MIT & GPL-2.0-only & LGPL-2.1-only"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa" 6LIC_FILES_CHKSUM = "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa"
7 7
8DEPENDS = "glib-2.0 util-linux popt bison-native flex-native" 8DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
9 9
10SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-1.5 \ 10SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-1.5;protocol=https \
11 file://run-ptest \ 11 file://run-ptest \
12 " 12 "
13SRCREV = "054a54ae10b01a271afc4f19496c041b10fb414c" 13SRCREV = "91c00f70884887ff5c4849a8e3d47e311a22ba9d"
14UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>1(\.\d+)+)$" 14UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>1(\.\d+)+)$"
15 15
16S = "${WORKDIR}/git" 16S = "${WORKDIR}/git"
@@ -21,7 +21,7 @@ EXTRA_OECONF = "--disable-debug-info"
21 21
22ASNEEDED = "" 22ASNEEDED = ""
23 23
24RDEPENDS_${PN}-ptest += "bash gawk" 24RDEPENDS:${PN}-ptest += "bash gawk make"
25 25
26addtask do_patch_ptest_path after do_patch before do_configure 26addtask do_patch_ptest_path after do_patch before do_configure
27do_patch_ptest_path () { 27do_patch_ptest_path () {
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch
new file mode 100644
index 0000000000..9d5fd0de60
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch
@@ -0,0 +1,93 @@
1From fec007d9630e010062cf5699a08460f71f46b527 Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 25 Mar 2024 08:54:42 -0400
4Subject: [PATCH 1/4] Fix: ASoC snd_doc_dapm on linux 6.9-rc1
5
6See upstream commit:
7
8 commit 7df3eb4cdb6bbfa482f51548b9fd47c2723c68ba
9 Author: Luca Ceresoli <luca.ceresoli@bootlin.com>
10 Date: Wed Mar 6 10:30:01 2024 +0100
11
12 ASoC: trace: add event to snd_soc_dapm trace events
13
14 Add the event value to the snd_soc_dapm_start and snd_soc_dapm_done trace
15 events to make them more informative.
16
17 Trace before:
18
19 aplay-229 [000] 250.140309: snd_soc_dapm_start: card=vscn-2046
20 aplay-229 [000] 250.167531: snd_soc_dapm_done: card=vscn-2046
21 aplay-229 [000] 251.169588: snd_soc_dapm_start: card=vscn-2046
22 aplay-229 [000] 251.195245: snd_soc_dapm_done: card=vscn-2046
23
24 Trace after:
25
26 aplay-214 [000] 693.290612: snd_soc_dapm_start: card=vscn-2046 event=1
27 aplay-214 [000] 693.315508: snd_soc_dapm_done: card=vscn-2046 event=1
28 aplay-214 [000] 694.537349: snd_soc_dapm_start: card=vscn-2046 event=2
29 aplay-214 [000] 694.563241: snd_soc_dapm_done: card=vscn-2046 event=2
30
31Upstream-Status: Backport [88c4e0fe Fix: ASoC snd_doc_dapm on linux 6.9-rc1]
32
33Change-Id: If0d33544b8dd1dfb3d12ca9390892190fc0444b0
34Signed-off-by: Kienan Stewart <kstewart@efficios.com>
35Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
36---
37 include/instrumentation/events/asoc.h | 33 +++++++++++++++++++++++++++
38 1 file changed, 33 insertions(+)
39
40diff --git a/include/instrumentation/events/asoc.h b/include/instrumentation/events/asoc.h
41index 21d13a0f..5126d4c1 100644
42--- a/include/instrumentation/events/asoc.h
43+++ b/include/instrumentation/events/asoc.h
44@@ -51,6 +51,38 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card, snd_soc_bias_level_done,
45
46 )
47
48+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
49+LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
50+
51+ TP_PROTO(struct snd_soc_card *card, int event),
52+
53+ TP_ARGS(card, event),
54+
55+ TP_FIELDS(
56+ ctf_string(name, card->name)
57+ ctf_integer(int, event, event)
58+ )
59+)
60+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_start,
61+
62+ asoc_snd_soc_dapm_start,
63+
64+ TP_PROTO(struct snd_soc_card *card, int event),
65+
66+ TP_ARGS(card, event)
67+
68+)
69+
70+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_done,
71+
72+ asoc_snd_soc_dapm_done,
73+
74+ TP_PROTO(struct snd_soc_card *card, int event),
75+
76+ TP_ARGS(card, event)
77+
78+)
79+#else
80 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
81
82 TP_PROTO(struct snd_soc_card *card),
83@@ -81,6 +113,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_done,
84 TP_ARGS(card)
85
86 )
87+#endif
88
89 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_widget,
90
91--
922.39.2
93
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch
new file mode 100644
index 0000000000..120528bf9c
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch
@@ -0,0 +1,46 @@
1From 878f89b6136ff7b870a19e04901cc6f316bbe10a Mon Sep 17 00:00:00 2001
2From: Bruce Ashfield <bruce.ashfield@gmail.com>
3Date: Sat, 15 May 2021 10:26:38 -0400
4Subject: [PATCH] src/Kbuild: change missing CONFIG_TRACEPOINTS to warning
5
6Taken from a previous patch to the main lttng-modules Makefile, by
7Otavio Salvador:
8
9 The lttng-modules are being pulled by the tools-profile image feature,
10 however, not every kernel has the CONFIG_TRACEPOINTS feature enabled.
11
12 This change makes the build do not fail when CONFIG_TRACEPOINTS is not
13 available, allowing it to be kept being pulled by default.
14
15Upstream-Status: Inappropriate [embedded specific]
16
17Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
18---
19 src/Kbuild | 7 ++++++-
20 1 file changed, 6 insertions(+), 1 deletion(-)
21
22Index: lttng-modules-2.13.10/src/Kbuild
23===================================================================
24--- lttng-modules-2.13.10.orig/src/Kbuild
25+++ lttng-modules-2.13.10/src/Kbuild
26@@ -2,10 +2,13 @@
27
28 ifdef CONFIG_LOCALVERSION # Check if dot-config is included.
29 ifeq ($(CONFIG_TRACEPOINTS),)
30- $(error The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
31+ $(warning The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
32+ DISABLE_MODULE = y
33 endif # CONFIG_TRACEPOINTS
34 endif # ifdef CONFIG_LOCALVERSION
35
36+ifneq ($(DISABLE_MODULE),y)
37+
38 TOP_LTTNG_MODULES_DIR := $(shell dirname $(lastword $(MAKEFILE_LIST)))/..
39
40 lttng_check_linux_version = $(shell pwd)/include/linux/version.h
41@@ -150,3 +153,5 @@ lttng-statedump-objs := lttng-statedump-
42 obj-$(CONFIG_LTTNG) += probes/
43 obj-$(CONFIG_LTTNG) += lib/
44 obj-$(CONFIG_LTTNG) += tests/
45+
46+endif # DISABLE_MODULE
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch b/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch
new file mode 100644
index 0000000000..6ea10ffc91
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch
@@ -0,0 +1,132 @@
1From d8379ec6365a925db33cae94fb6783cdbdb6a922 Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 25 Mar 2024 09:40:29 -0400
4Subject: [PATCH 2/4] Fix: ASoC add component to set_bias_level events in linux
5 6.9-rc1
6
7See upstream commit:
8
9 commit 6ef46a69ec32fe1cf56de67742fcd01af4bf48af
10 Author: Luca Ceresoli <luca.ceresoli@bootlin.com>
11 Date: Wed Mar 6 10:30:00 2024 +0100
12
13 ASoC: trace: add component to set_bias_level trace events
14
15 The snd_soc_bias_level_start and snd_soc_bias_level_done trace events
16 currently look like:
17
18 aplay-229 [000] 1250.140778: snd_soc_bias_level_start: card=vscn-2046 val=1
19 aplay-229 [000] 1250.140784: snd_soc_bias_level_done: card=vscn-2046 val=1
20 aplay-229 [000] 1250.140786: snd_soc_bias_level_start: card=vscn-2046 val=2
21 aplay-229 [000] 1250.140788: snd_soc_bias_level_done: card=vscn-2046 val=2
22 kworker/u8:1-21 [000] 1250.140871: snd_soc_bias_level_start: card=vscn-2046 val=1
23 kworker/u8:0-11 [000] 1250.140951: snd_soc_bias_level_start: card=vscn-2046 val=1
24 kworker/u8:0-11 [000] 1250.140956: snd_soc_bias_level_done: card=vscn-2046 val=1
25 kworker/u8:0-11 [000] 1250.140959: snd_soc_bias_level_start: card=vscn-2046 val=2
26 kworker/u8:0-11 [000] 1250.140961: snd_soc_bias_level_done: card=vscn-2046 val=2
27 kworker/u8:1-21 [000] 1250.167219: snd_soc_bias_level_done: card=vscn-2046 val=1
28 kworker/u8:1-21 [000] 1250.167222: snd_soc_bias_level_start: card=vscn-2046 val=2
29 kworker/u8:1-21 [000] 1250.167232: snd_soc_bias_level_done: card=vscn-2046 val=2
30 kworker/u8:0-11 [000] 1250.167440: snd_soc_bias_level_start: card=vscn-2046 val=3
31 kworker/u8:0-11 [000] 1250.167444: snd_soc_bias_level_done: card=vscn-2046 val=3
32 kworker/u8:1-21 [000] 1250.167497: snd_soc_bias_level_start: card=vscn-2046 val=3
33 kworker/u8:1-21 [000] 1250.167506: snd_soc_bias_level_done: card=vscn-2046 val=3
34
35 There are clearly multiple calls, one per component, but they cannot be
36 discriminated from each other.
37
38 Change the ftrace events to also print the component name, to make it clear
39 which part of the code is involved. This requires changing the passed value
40 from a struct snd_soc_card, where the DAPM context is not kwown, to a
41 struct snd_soc_dapm_context where it is obviously known but the a card
42 pointer is also available.
43
44 With this change, the resulting trace becomes:
45
46 aplay-247 [000] 1436.357332: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=1
47 aplay-247 [000] 1436.357338: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=1
48 aplay-247 [000] 1436.357340: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=2
49 aplay-247 [000] 1436.357343: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=2
50 kworker/u8:4-215 [000] 1436.357437: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=1
51 kworker/u8:5-231 [000] 1436.357518: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=1
52 kworker/u8:5-231 [000] 1436.357523: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=1
53 kworker/u8:5-231 [000] 1436.357526: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=2
54 kworker/u8:5-231 [000] 1436.357528: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=2
55 kworker/u8:4-215 [000] 1436.383217: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=1
56 kworker/u8:4-215 [000] 1436.383221: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=2
57 kworker/u8:4-215 [000] 1436.383231: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=2
58 kworker/u8:5-231 [000] 1436.383468: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=3
59 kworker/u8:5-231 [000] 1436.383472: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=3
60 kworker/u8:4-215 [000] 1436.383503: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=3
61 kworker/u8:4-215 [000] 1436.383513: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=3
62
63Upstream-Status: Backport [303434ab Fix: ASoC add component to set_bias_level events in linux 6.9-rc1]
64
65Change-Id: I959f1680c002acdf29828b968d3975247f5433d8
66Signed-off-by: Kienan Stewart <kstewart@efficios.com>
67Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
68---
69 include/instrumentation/events/asoc.h | 36 +++++++++++++++++++++++++++
70 1 file changed, 36 insertions(+)
71
72Index: lttng-modules-2.13.12/include/instrumentation/events/asoc.h
73===================================================================
74--- lttng-modules-2.13.12.orig/include/instrumentation/events/asoc.h
75+++ lttng-modules-2.13.12/include/instrumentation/events/asoc.h
76@@ -10,6 +10,7 @@
77 #include <lttng/kernel-version.h>
78
79 #define DAPM_DIRECT "(direct)"
80+#define DAPM_COMPONENT_NONE "(none)"
81
82 #ifndef _TRACE_ASOC_DEF
83 #define _TRACE_ASOC_DEF
84@@ -119,6 +120,40 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc
85 )
86 #endif
87
88+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
89+LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_context,
90+
91+ TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
92+
93+ TP_ARGS(dapm, val),
94+
95+ TP_FIELDS(
96+ ctf_string(name, dapm->card->name)
97+ ctf_string(component, dapm->component ? dapm->component->name : DAPM_COMPONENT_NONE)
98+ ctf_integer(int, val, val)
99+ )
100+)
101+
102+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context, snd_soc_bias_level_start,
103+
104+ asoc_snd_soc_bias_level_start,
105+
106+ TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
107+
108+ TP_ARGS(dapm, val)
109+
110+)
111+
112+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context, snd_soc_bias_level_done,
113+
114+ asoc_snd_soc_bias_level_done,
115+
116+ TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
117+
118+ TP_ARGS(dapm, val)
119+
120+)
121+#else
122 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_card,
123
124 TP_PROTO(struct snd_soc_card *card, int val),
125@@ -150,6 +185,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc
126 TP_ARGS(card, val)
127
128 )
129+#endif
130
131 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
132 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch b/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch
new file mode 100644
index 0000000000..66c48ebe8f
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch
@@ -0,0 +1,81 @@
1From f4a6415f8d5fa447868d1fdc7119e0a328966379 Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 25 Mar 2024 10:30:32 -0400
4Subject: [PATCH 3/4] Fix: mm_compaction_migratepages changed in linux 6.9-rc1
5
6See upstream commit:
7
8 commit ab755bf4249b992fc2140d615ab0a686d50765b4
9 Author: Baolin Wang <baolin.wang@linux.alibaba.com>
10 Date: Tue Feb 20 14:16:31 2024 +0800
11
12 mm: compaction: update the cc->nr_migratepages when allocating or freeing the freepages
13
14 Currently we will use 'cc->nr_freepages >= cc->nr_migratepages' comparison
15 to ensure that enough freepages are isolated in isolate_freepages(),
16 however it just decreases the cc->nr_freepages without updating
17 cc->nr_migratepages in compaction_alloc(), which will waste more CPU
18 cycles and cause too many freepages to be isolated.
19
20 So we should also update the cc->nr_migratepages when allocating or
21 freeing the freepages to avoid isolating excess freepages. And I can see
22 fewer free pages are scanned and isolated when running thpcompact on my
23 Arm64 server:
24
25 k6.7 k6.7_patched
26 Ops Compaction pages isolated 120692036.00 118160797.00
27 Ops Compaction migrate scanned 131210329.00 154093268.00
28 Ops Compaction free scanned 1090587971.00 1080632536.00
29 Ops Compact scan efficiency 12.03 14.26
30
31 Moreover, I did not see an obvious latency improvements, this is likely
32 because isolating freepages is not the bottleneck in the thpcompact test
33 case.
34
35 k6.7 k6.7_patched
36 Amean fault-both-1 1089.76 ( 0.00%) 1080.16 * 0.88%*
37 Amean fault-both-3 1616.48 ( 0.00%) 1636.65 * -1.25%*
38 Amean fault-both-5 2266.66 ( 0.00%) 2219.20 * 2.09%*
39 Amean fault-both-7 2909.84 ( 0.00%) 2801.90 * 3.71%*
40 Amean fault-both-12 4861.26 ( 0.00%) 4733.25 * 2.63%*
41 Amean fault-both-18 7351.11 ( 0.00%) 6950.51 * 5.45%*
42 Amean fault-both-24 9059.30 ( 0.00%) 9159.99 * -1.11%*
43 Amean fault-both-30 10685.68 ( 0.00%) 11399.02 * -6.68%*
44
45Upstream-Status: Backport [175fe77c Fix: mm_compaction_migratepages changed in linux 6.9-rc1]
46
47Change-Id: I103a43fd1b549360b3fc978fd409b7c17ef3e192
48Signed-off-by: Kienan Stewart <kstewart@efficios.com>
49Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
50---
51 include/instrumentation/events/compaction.h | 17 ++++++++++++++++-
52 1 file changed, 16 insertions(+), 1 deletion(-)
53
54Index: lttng-modules-2.13.12/include/instrumentation/events/compaction.h
55===================================================================
56--- lttng-modules-2.13.12.orig/include/instrumentation/events/compaction.h
57+++ lttng-modules-2.13.12/include/instrumentation/events/compaction.h
58@@ -97,7 +97,22 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(comp
59
60 #endif /* #else #if LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,0,0) */
61
62-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,18,0) || \
63+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
64+LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages,
65+
66+ compaction_migratepages,
67+
68+ TP_PROTO(unsigned int nr_migratepages,
69+ unsigned int nr_succeeded),
70+
71+ TP_ARGS(nr_migratepages, nr_succeeded),
72+
73+ TP_FIELDS(
74+ ctf_integer(unsigned long, nr_migrated, nr_succeeded)
75+ ctf_integer(unsigned long, nr_failed, nr_migratepages - nr_succeeded)
76+ )
77+)
78+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,18,0) || \
79 LTTNG_RHEL_KERNEL_RANGE(5,14,0,163,0,0, 5,15,0,0,0,0))
80 LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages,
81
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch b/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch
new file mode 100644
index 0000000000..59ef4f9313
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch
@@ -0,0 +1,57 @@
1From 217bc2e4685050dddce9bdd2557b64f6b8c16622 Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 25 Mar 2024 10:53:46 -0400
4Subject: [PATCH 4/4] Fix: dev_base_lock removed in linux 6.9-rc1
5
6See upstream commit:
7
8 commit 1b3ef46cb7f2618cc0b507393220a69810f6da12
9 Author: Eric Dumazet <edumazet@google.com>
10 Date: Tue Feb 13 06:32:45 2024 +0000
11
12 net: remove dev_base_lock
13
14 dev_base_lock is not needed anymore, all remaining users also hold RTNL.
15
16Upstream-Status: Backport [52eb2ee9 Fix: dev_base_lock removed in linux 6.9-rc1]
17
18Change-Id: I6b07e6eed07fd398302ca14d23162ed24d74df15
19Signed-off-by: Kienan Stewart <kstewart@efficios.com>
20Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
21---
22 src/lttng-statedump-impl.c | 15 +++++++++++++++
23 1 file changed, 15 insertions(+)
24
25Index: lttng-modules-2.13.12/src/lttng-statedump-impl.c
26===================================================================
27--- lttng-modules-2.13.12.orig/src/lttng-statedump-impl.c
28+++ lttng-modules-2.13.12/src/lttng-statedump-impl.c
29@@ -392,6 +392,20 @@ void lttng_enumerate_device(struct lttng
30 }
31 }
32
33+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
34+static
35+int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
36+{
37+ struct net_device *dev;
38+
39+ rtnl_lock();
40+ for_each_netdev(&init_net, dev)
41+ lttng_enumerate_device(session, dev);
42+ rtnl_unlock();
43+
44+ return 0;
45+}
46+#else
47 static
48 int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
49 {
50@@ -404,6 +418,7 @@ int lttng_enumerate_network_ip_interface
51
52 return 0;
53 }
54+#endif /* (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0)) */
55 #else /* CONFIG_INET */
56 static inline
57 int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
diff --git a/meta/recipes-kernel/lttng/lttng-modules/Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch b/meta/recipes-kernel/lttng/lttng-modules/Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch
deleted file mode 100644
index e411242272..0000000000
--- a/meta/recipes-kernel/lttng/lttng-modules/Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch
+++ /dev/null
@@ -1,49 +0,0 @@
1From 1b0e574d680101105a6c1e8931c78824f5a97a42 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Mon, 5 Sep 2016 17:08:56 +0000
4Subject: [PATCH] Makefile: Do not fail if CONFIG_TRACEPOINTS is not enabled
5Organization: O.S. Systems Software LTDA.
6
7The lttng-modules are being pulled by the tools-profile image feature,
8however, not every kernel has the CONFIG_TRACEPOINTS feature enabled.
9
10This change makes the build do not fail when CONFIG_TRACEPOINTS is not
11available, allowing it to be kept being pulled by default.
12
13Upstream-Status: Inappropriate [embedded specific]
14
15Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
16---
17 Makefile | 9 +++++----
18 1 file changed, 5 insertions(+), 4 deletions(-)
19
20diff --git a/Makefile b/Makefile
21index 8602649..75550cc 100644
22--- a/Makefile
23+++ b/Makefile
24@@ -8,10 +8,7 @@ ifneq ($(KERNELRELEASE),)
25 # and defines the modules to be built.
26
27 ifdef CONFIG_LOCALVERSION # Check if dot-config is included.
28- ifeq ($(CONFIG_TRACEPOINTS),)
29- $(error The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
30- endif # CONFIG_TRACEPOINTS
31- endif # ifdef CONFIG_LOCALVERSION
32+ ifneq ($(CONFIG_TRACEPOINTS),)
33
34 TOP_LTTNG_MODULES_DIR := $(shell dirname $(lastword $(MAKEFILE_LIST)))
35
36@@ -94,6 +91,10 @@ ifneq ($(KERNELRELEASE),)
37 obj-$(CONFIG_LTTNG) += lib/
38 obj-$(CONFIG_LTTNG) += tests/
39
40+ else
41+ $(warning The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
42+ endif # CONFIG_TRACEPOINTS
43+ endif # ifdef CONFIG_LOCALVERSION
44 else # KERNELRELEASE
45
46 # This part of the Makefile is used when the 'make' command is runned in the
47--
482.1.4
49
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.12.4.bb b/meta/recipes-kernel/lttng/lttng-modules_2.12.4.bb
deleted file mode 100644
index 3ca59f789a..0000000000
--- a/meta/recipes-kernel/lttng/lttng-modules_2.12.4.bb
+++ /dev/null
@@ -1,41 +0,0 @@
1SECTION = "devel"
2SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
3DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
4HOMEPAGE = "https://lttng.org/"
5LICENSE = "LGPLv2.1 & GPLv2 & MIT"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"
7
8inherit module
9
10include lttng-platforms.inc
11
12SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
13 file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
14 "
15
16SRC_URI[sha256sum] = "fe66400fa1b85bff1b9ae24419c74e3bb7d358d643eade0594d81b48bd190688"
17
18export INSTALL_MOD_DIR="kernel/lttng-modules"
19
20EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
21
22do_install_append() {
23 # Delete empty directories to avoid QA failures if no modules were built
24 find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
25}
26
27python do_package_prepend() {
28 if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
29 bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
30}
31
32BBCLASSEXTEND = "devupstream:target"
33LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"
34DEFAULT_PREFERENCE_class-devupstream = "-1"
35SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.12 \
36 file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
37 "
38SRCREV_class-devupstream = "be71b60a327d7ad2588abc5cad2861177119972b"
39PV_class-devupstream = "2.12.3+git${SRCPV}"
40S_class-devupstream = "${WORKDIR}/git"
41SRCREV_FORMAT ?= "lttng_git"
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.13.12.bb b/meta/recipes-kernel/lttng/lttng-modules_2.13.12.bb
new file mode 100644
index 0000000000..95d5e2d615
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.13.12.bb
@@ -0,0 +1,45 @@
1SECTION = "devel"
2SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
3DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
4HOMEPAGE = "https://lttng.org/"
5LICENSE = "LGPL-2.1-only & GPL-2.0-only & MIT"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4"
7
8inherit module
9
10include lttng-platforms.inc
11
12SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
13 file://0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch \
14 file://0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch \
15 file://0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch \
16 file://0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch \
17 "
18
19# Use :append here so that the patch is applied also when using devupstream
20SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch"
21
22SRC_URI[sha256sum] = "d85fcb66c7bd31003ab8735e8c77700e5e4f417b4c22fe1f20112cf435abad79"
23
24export INSTALL_MOD_DIR="kernel/lttng-modules"
25
26EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
27
28MODULES_MODULE_SYMVERS_LOCATION = "src"
29
30do_install:append() {
31 # Delete empty directories to avoid QA failures if no modules were built
32 if [ -d ${D}/${nonarch_base_libdir} ]; then
33 find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
34 fi
35}
36
37python do_package:prepend() {
38 if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
39 bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
40}
41
42BBCLASSEXTEND = "devupstream:target"
43SRC_URI:class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13;protocol=https"
44SRCREV:class-devupstream = "7584cfc04914cb0842a986e9808686858b9c8630"
45SRCREV_FORMAT ?= "lttng_git"
diff --git a/meta/recipes-kernel/lttng/lttng-platforms.inc b/meta/recipes-kernel/lttng/lttng-platforms.inc
index aa8220bbb4..900e36df82 100644
--- a/meta/recipes-kernel/lttng/lttng-platforms.inc
+++ b/meta/recipes-kernel/lttng/lttng-platforms.inc
@@ -2,16 +2,20 @@
2# Whether the platform supports kernel tracing 2# Whether the platform supports kernel tracing
3# 3#
4LTTNGMODULES = "lttng-modules" 4LTTNGMODULES = "lttng-modules"
5LTTNGMODULES_arc = "" 5LTTNGMODULES:arc = ""
6LTTNGMODULES_riscv64 = "" 6LTTNGMODULES:riscv64 = ""
7 7
8COMPATIBLE_HOST_riscv64_pn-lttng-modules = "null" 8COMPATIBLE_HOST:riscv64:pn-lttng-modules = "null"
9COMPATIBLE_HOST_arc_pn-lttng-modules = "null" 9COMPATIBLE_HOST:arc:pn-lttng-modules = "null"
10 10
11# Whether the platform supports userspace tracing 11# Whether the platform supports userspace tracing
12# lttng-ust uses sched_getcpu() which is not there on for some platforms. 12# lttng-ust uses sched_getcpu() which is not there on for some platforms.
13LTTNGUST = "lttng-ust" 13LTTNGUST = "lttng-ust"
14LTTNGUST_arc = "" 14LTTNGUST:arc = ""
15 15
16COMPATIBLE_HOST_arc_pn-lttng-ust = "null" 16COMPATIBLE_HOST:arc:pn-lttng-ust = "null"
17 17
18# Whether the platform supports lttng-tools
19# lttng-tools requires SYS_ppoll and SYS_pselect6 which are not supported on riscv32.
20# It's also turned off for riscv32 in meta-riscv. See https://github.com/riscv/meta-riscv/blob/master/conf/layer.conf
21COMPATIBLE_HOST:riscv32:pn-lttng-tools = "null"
diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch
new file mode 100644
index 0000000000..3286dfb5c1
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch
@@ -0,0 +1,56 @@
1From 6b45c5f80d20e7bbf3d98c1fa17d2cf8716af3bb Mon Sep 17 00:00:00 2001
2From: Xiangyu Chen <xiangyu.chen@windriver.com>
3Date: Mon, 25 Mar 2024 18:20:14 +0800
4Subject: [PATCH] Fix: rotation-destroy-flush: fix session daemon abort if no
5 kernel module present
6
7Testing rotation-destroy-flush when no lttng kernel modules present, it would
8be failed with error message:
9
10 Error: Unable to load required module lttng-ring-buffer-client-discard
11 not ok 1 - Start session daemon
12 Failed test 'Start session daemon'
13 not ok 2 - Create session rotation_destroy_flush in -o /tmp/tmp.test_rot ...
14 ...
15
16This because test script that sets the LTTNG_ABORT_ON_ERROR environment
17variable. It's this environment variable that causes the sessiond to handle the
18kernel module loading failure as an abort rather than a warning.
19
20Using "check_skip_kernel_test" to detect whether the kernel module fails to
21load is expected or not. If the failure is expected, the script won't set that
22environment variable any more.
23
24Fixes: 3a174400
25("tests:add check_skip_kernel_test to check root user and lttng kernel modules")
26
27Upstream-Status: Submitted [https://review.lttng.org/c/lttng-tools/+/12155]
28
29Change-Id: I371e9ba717613e2940186f710cf3cccd35baed6c
30Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
31---
32 .../ust/rotation-destroy-flush/test_rotation_destroy_flush | 6 +++---
33 1 file changed, 3 insertions(+), 3 deletions(-)
34
35diff --git a/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush b/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush
36index 669bcbc43..64161768f 100755
37--- a/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush
38+++ b/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush
39@@ -23,11 +23,11 @@ SIZE_LIMIT=$PAGE_SIZE
40 NR_ITER=10
41 NUM_TESTS=$((15*$NR_ITER))
42
43-# Ensure the daemons invoke abort on error.
44-export LTTNG_ABORT_ON_ERROR=1
45-
46 source $TESTDIR/utils/utils.sh
47
48+# Ensure the daemons invoke abort on error.
49+check_skip_kernel_test || export LTTNG_ABORT_ON_ERROR=1
50+
51 # MUST set TESTDIR before calling those functions
52 function run_app()
53 {
54--
552.25.1
56
diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-compat-Define-off64_t-as-off_t-on-linux.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-compat-Define-off64_t-as-off_t-on-linux.patch
new file mode 100644
index 0000000000..4e21d1e9f1
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools/0001-compat-Define-off64_t-as-off_t-on-linux.patch
@@ -0,0 +1,74 @@
1From 74b3844737b03492756b4f896c938b504b069f14 Mon Sep 17 00:00:00 2001
2From: Jérémie Galarneau <jeremie.galarneau@efficios.com>
3Date: Tue, 17 Jan 2023 16:57:35 -0500
4Subject: [PATCH] compat: off64_t is not defined by musl
5
6This helps compile with latest musl, where off64_t is not defined unless
7_LARGEFILE64_SOURCE is defined. On glibc, _LARGEFILE64_SOURCE is defined
8if _GNU_SOURCE is defined, so the problem is only seen with musl.
9
10Since the project uses AC_SYS_LARGEFILE, which from the autoconf doc:
11"arrange for 64-bit file offsets, known as large-file support."
12
13As such, it is safe to assume off_t is 64-bit wide. This is checked by a
14static_assert to catch any platform where autoconf would let a 32-bit
15off_t slip.
16
17Upstream-Status: Submitted [https://review.lttng.org/c/lttng-tools/+/9268]
18Reported-by: Khem Raj <raj.khem@gmail.com>
19Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
20Change-Id: If2c6007a8c85bc3f3065002af8a7538b882fb4a8
21---
22
23--- a/src/common/compat/compat-fcntl.c
24+++ b/src/common/compat/compat-fcntl.c
25@@ -8,14 +8,17 @@
26 #define _LGPL_SOURCE
27 #include <common/compat/fcntl.h>
28 #include <common/macros.h>
29+#include <common/bug.h>
30+#include <stdint.h>
31 #include <unistd.h>
32
33 #ifdef __linux__
34
35 LTTNG_HIDDEN
36-int compat_sync_file_range(int fd, off64_t offset, off64_t nbytes,
37+int compat_sync_file_range(int fd, off_t offset, off_t nbytes,
38 unsigned int flags)
39 {
40+ LTTNG_BUILD_BUG_ON(sizeof(off_t) != sizeof(int64_t));
41 #ifdef HAVE_SYNC_FILE_RANGE
42 return sync_file_range(fd, offset, nbytes, flags);
43 #else
44--- a/src/common/compat/fcntl.h
45+++ b/src/common/compat/fcntl.h
46@@ -13,16 +13,12 @@
47
48 #include <common/compat/errno.h>
49
50-#if (defined(__CYGWIN__))
51-typedef long long off64_t;
52-#endif
53-
54 #if (defined(__FreeBSD__) || defined(__sun__))
55 typedef off64_t loff_t;
56 #endif
57
58 #ifdef __linux__
59-extern int compat_sync_file_range(int fd, off64_t offset, off64_t nbytes,
60+extern int compat_sync_file_range(int fd, off_t offset, off_t nbytes,
61 unsigned int flags);
62 #define lttng_sync_file_range(fd, offset, nbytes, flags) \
63 compat_sync_file_range(fd, offset, nbytes, flags)
64@@ -37,8 +33,8 @@ extern int compat_sync_file_range(int fd
65 #define SYNC_FILE_RANGE_WAIT_BEFORE 0
66 #define SYNC_FILE_RANGE_WRITE 0
67
68-static inline int lttng_sync_file_range(int fd, off64_t offset,
69- off64_t nbytes, unsigned int flags)
70+static inline int lttng_sync_file_range(int fd, off_t offset,
71+ off_t nbytes, unsigned int flags)
72 {
73 return -ENOSYS;
74 }
diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-add-check_skip_kernel_test-to-check-root-user-.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-add-check_skip_kernel_test-to-check-root-user-.patch
new file mode 100644
index 0000000000..2671a1908e
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-add-check_skip_kernel_test-to-check-root-user-.patch
@@ -0,0 +1,1246 @@
1From cf558f802b259a33605fe0ede4d74ae2ff6be699 Mon Sep 17 00:00:00 2001
2From: Xiangyu Chen <xiangyu.chen@windriver.com>
3Date: Mon, 12 Feb 2024 09:23:54 -0500
4Subject: [PATCH] tests: add check_skip_kernel_test to check root user and
5 lttng kernel modules
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10The current tests will run both userspace and kernel testing. Some of
11use cases only use lttng for one kind of tracing on an embedded
12device (e.g. userspace), so in this scenario, the kernel modules might
13not install to target rootfs, the test cases would be fail and exit.
14
15Add LTTNG_TOOLS_DISABLE_KERNEL_TESTS to skip the lttng kernel features
16test, this flag can be set via "make":
17
18 make check LTTNG_TOOLS_DISABLE_KERNEL_TESTS=1
19
20When this flag was set, all kernel related testcases would be marked as
21SKIP in result.
22
23Since the the LTTNG_TOOLS_DISABLE_KERNEL_TESTS was checked in function
24check_skip_kernel_test, lots of testcases also need to check root
25permission, so merging the root permission checking into
26check_skip_kernel_test.
27
28Upstream-Status: Backport from
29[https://git.lttng.org/?p=lttng-tools.git;a=commit;h=3a1744008331a0604479d3d7461f77056fad3a64]
30
31Change-Id: I49a1f642a9869c21a69e0186c296fd917bd7b525
32Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
33Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
34Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
35---
36 tests/destructive/metadata-regeneration | 8 +----
37 tests/perf/test_perf_raw.in | 8 +----
38 tests/regression/kernel/test_all_events | 8 +----
39 tests/regression/kernel/test_callstack | 8 +----
40 tests/regression/kernel/test_channel | 8 +----
41 tests/regression/kernel/test_clock_override | 8 +----
42 tests/regression/kernel/test_event_basic | 8 +----
43 tests/regression/kernel/test_kernel_function | 8 +----
44 tests/regression/kernel/test_lttng_logger | 8 +----
45 tests/regression/kernel/test_ns_contexts | 8 +----
46 .../regression/kernel/test_ns_contexts_change | 9 +----
47 .../kernel/test_rotation_destroy_flush | 8 +----
48 .../regression/kernel/test_select_poll_epoll | 8 +----
49 tests/regression/kernel/test_syscall | 8 +----
50 tests/regression/kernel/test_userspace_probe | 8 +----
51 tests/regression/tools/clear/test_kernel | 8 +----
52 .../tools/filtering/test_invalid_filter | 8 +----
53 .../tools/filtering/test_unsupported_op | 8 +----
54 .../tools/filtering/test_valid_filter | 8 +----
55 tests/regression/tools/health/test_health.sh | 10 ++----
56 tests/regression/tools/health/test_thread_ok | 9 +----
57 tests/regression/tools/live/test_kernel | 10 +++---
58 tests/regression/tools/live/test_lttng_kernel | 8 +----
59 tests/regression/tools/metadata/test_kernel | 8 +----
60 .../test_notification_kernel_buffer_usage | 36 +++++++++----------
61 .../test_notification_kernel_capture | 23 ++++++------
62 .../test_notification_kernel_error | 23 ++++++------
63 .../test_notification_kernel_instrumentation | 23 ++++++------
64 .../test_notification_kernel_syscall | 19 +++++-----
65 .../test_notification_kernel_userspace_probe | 20 +++++------
66 .../notification/test_notification_multi_app | 14 +++-----
67 ...test_notification_notifier_discarded_count | 9 +++--
68 .../tools/regen-metadata/test_kernel | 8 +----
69 .../tools/regen-statedump/test_kernel | 8 +----
70 tests/regression/tools/rotation/test_kernel | 8 +----
71 tests/regression/tools/snapshots/test_kernel | 8 +----
72 .../tools/snapshots/test_kernel_streaming | 8 +----
73 .../streaming/test_high_throughput_limits | 8 +----
74 tests/regression/tools/streaming/test_kernel | 8 +----
75 .../tools/tracker/test_event_tracker | 8 +----
76 .../tools/trigger/test_add_trigger_cli | 12 ++-----
77 .../tools/trigger/test_list_triggers_cli | 26 +++++---------
78 .../tools/wildcard/test_event_wildcard | 8 +----
79 .../test_relayd_working_directory | 4 +--
80 .../ust/namespaces/test_ns_contexts_change | 7 +---
81 tests/regression/ust/test_event_perf | 8 +----
82 tests/utils/utils.sh | 35 ++++++++++++++++++
83 47 files changed, 166 insertions(+), 363 deletions(-)
84
85diff --git a/tests/destructive/metadata-regeneration b/tests/destructive/metadata-regeneration
86index b81e7af32..36b130d17 100755
87--- a/tests/destructive/metadata-regeneration
88+++ b/tests/destructive/metadata-regeneration
89@@ -185,19 +185,13 @@ function test_ust_streaming ()
90 rm -f ${file_sync_before_last}
91 }
92
93-if [ "$(id -u)" == "0" ]; then
94- isroot=1
95-else
96- isroot=0
97-fi
98-
99 if ! destructive_tests_enabled ; then
100 echo 'You need to set the LTTNG_ENABLE_DESTRUCTIVE_TESTS to "will-break-my-system" as argument to run this test'
101 echo 'Moreover, please make sure that ntp is not running while executing this test'
102 exit 0
103 fi
104
105-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
106+check_skip_kernel_test $NUM_TESTS "Skipping all tests." ||
107 {
108 start_lttng_relayd "-o $TRACE_PATH"
109 start_lttng_sessiond
110diff --git a/tests/perf/test_perf_raw.in b/tests/perf/test_perf_raw.in
111index f293ccd71..d35529a87 100644
112--- a/tests/perf/test_perf_raw.in
113+++ b/tests/perf/test_perf_raw.in
114@@ -137,12 +137,6 @@ function test_kernel_raw()
115 rm -rf $TRACE_PATH
116 }
117
118-if [ "$(id -u)" == "0" ]; then
119- isroot=1
120-else
121- isroot=0
122-fi
123-
124 # MUST set TESTDIR before calling those functions
125 plan_tests $NUM_TESTS
126
127@@ -154,7 +148,7 @@ have_libpfm
128
129 test_ust_raw
130
131-skip $isroot "Root access is needed for kernel testing, skipping." 9 ||
132+check_skip_kernel_test 9 ||
133 {
134 modprobe lttng-test
135 test_kernel_raw
136diff --git a/tests/regression/kernel/test_all_events b/tests/regression/kernel/test_all_events
137index 2e20888df..044f9b65f 100755
138--- a/tests/regression/kernel/test_all_events
139+++ b/tests/regression/kernel/test_all_events
140@@ -43,13 +43,7 @@ plan_tests $NUM_TESTS
141
142 print_test_banner "$TEST_DESC"
143
144-if [ "$(id -u)" == "0" ]; then
145- isroot=1
146-else
147- isroot=0
148-fi
149-
150-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
151+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
152 {
153 validate_lttng_modules_present
154 start_lttng_sessiond
155diff --git a/tests/regression/kernel/test_callstack b/tests/regression/kernel/test_callstack
156index a4477fd7c..d8d6b5e0f 100755
157--- a/tests/regression/kernel/test_callstack
158+++ b/tests/regression/kernel/test_callstack
159@@ -134,13 +134,7 @@ plan_tests $NUM_TESTS
160
161 print_test_banner "$TEST_DESC"
162
163-if [ "$(id -u)" == "0" ]; then
164- isroot=1
165-else
166- isroot=0
167-fi
168-
169-skip $isroot "Root access is needed. Skipping all tests." "$NUM_TESTS" ||
170+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
171 {
172 validate_lttng_modules_present
173 start_lttng_sessiond
174diff --git a/tests/regression/kernel/test_channel b/tests/regression/kernel/test_channel
175index 9cc74c4e8..4c377bd2a 100755
176--- a/tests/regression/kernel/test_channel
177+++ b/tests/regression/kernel/test_channel
178@@ -47,13 +47,7 @@ function test_channel_buffer_too_large()
179 plan_tests $NUM_TESTS
180 print_test_banner "$TEST_DESC"
181
182-if [ "$(id -u)" == "0" ]; then
183- isroot=1
184-else
185- isroot=0
186-fi
187-
188-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
189+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
190 {
191 start_lttng_sessiond
192
193diff --git a/tests/regression/kernel/test_clock_override b/tests/regression/kernel/test_clock_override
194index 72892898b..48a3f926a 100755
195--- a/tests/regression/kernel/test_clock_override
196+++ b/tests/regression/kernel/test_clock_override
197@@ -172,13 +172,7 @@ TESTS=(
198 TEST_COUNT=${#TESTS[@]}
199 i=0
200
201-if [ "$(id -u)" == "0" ]; then
202- isroot=1
203-else
204- isroot=0
205-fi
206-
207-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
208+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
209 {
210 validate_lttng_modules_present
211 trap signal_cleanup SIGTERM SIGINT
212diff --git a/tests/regression/kernel/test_event_basic b/tests/regression/kernel/test_event_basic
213index ac9ec0549..387e2f733 100755
214--- a/tests/regression/kernel/test_event_basic
215+++ b/tests/regression/kernel/test_event_basic
216@@ -73,13 +73,7 @@ plan_tests $NUM_TESTS
217
218 print_test_banner "$TEST_DESC"
219
220-if [ "$(id -u)" == "0" ]; then
221- isroot=1
222-else
223- isroot=0
224-fi
225-
226-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
227+check_skip_kernel_test $NUM_TESTS "Skipping all tests." ||
228 {
229 validate_lttng_modules_present
230 start_lttng_sessiond
231diff --git a/tests/regression/kernel/test_kernel_function b/tests/regression/kernel/test_kernel_function
232index b1d5491fc..ea16cdeef 100755
233--- a/tests/regression/kernel/test_kernel_function
234+++ b/tests/regression/kernel/test_kernel_function
235@@ -43,13 +43,7 @@ plan_tests $NUM_TESTS
236
237 print_test_banner "$TEST_DESC"
238
239-if [ "$(id -u)" == "0" ]; then
240- isroot=1
241-else
242- isroot=0
243-fi
244-
245-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
246+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
247 {
248 start_lttng_sessiond_notap
249 validate_lttng_modules_present
250diff --git a/tests/regression/kernel/test_lttng_logger b/tests/regression/kernel/test_lttng_logger
251index b8f7ded82..00eaae823 100755
252--- a/tests/regression/kernel/test_lttng_logger
253+++ b/tests/regression/kernel/test_lttng_logger
254@@ -110,13 +110,7 @@ plan_tests $NUM_TESTS
255
256 print_test_banner "$TEST_DESC"
257
258-if [ "$(id -u)" == "0" ]; then
259- isroot=1
260-else
261- isroot=0
262-fi
263-
264-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
265+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
266 {
267 validate_lttng_modules_present
268 start_lttng_sessiond
269diff --git a/tests/regression/kernel/test_ns_contexts b/tests/regression/kernel/test_ns_contexts
270index 0c8718d78..59e2568f6 100755
271--- a/tests/regression/kernel/test_ns_contexts
272+++ b/tests/regression/kernel/test_ns_contexts
273@@ -108,13 +108,7 @@ plan_tests $NUM_TESTS
274 print_test_banner "$TEST_DESC"
275
276
277-isroot=0
278-if [ "$(id -u)" == "0" ]; then
279- isroot=1
280-fi
281-
282-skip $isroot "Root access is needed. Skipping all tests." "$NUM_TESTS" && exit 0
283-
284+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." && exit 0
285
286 system_has_ns=0
287 if [ -d "/proc/$$/ns" ]; then
288diff --git a/tests/regression/kernel/test_ns_contexts_change b/tests/regression/kernel/test_ns_contexts_change
289index 42a61276b..3f5e4eeab 100755
290--- a/tests/regression/kernel/test_ns_contexts_change
291+++ b/tests/regression/kernel/test_ns_contexts_change
292@@ -162,14 +162,7 @@ plan_tests $NUM_TESTS
293
294 print_test_banner "$TEST_DESC"
295
296-
297-isroot=0
298-if [ "$(id -u)" == "0" ]; then
299- isroot=1
300-fi
301-
302-skip $isroot "Root access is needed. Skipping all tests." "$NUM_TESTS" && exit 0
303-
304+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." && exit 0
305
306 system_has_ns=0
307 if [ -d "/proc/$$/ns" ]; then
308diff --git a/tests/regression/kernel/test_rotation_destroy_flush b/tests/regression/kernel/test_rotation_destroy_flush
309index cb773d7df..0af514b49 100755
310--- a/tests/regression/kernel/test_rotation_destroy_flush
311+++ b/tests/regression/kernel/test_rotation_destroy_flush
312@@ -120,13 +120,7 @@ TESTS=(
313 TEST_COUNT=${#TESTS[@]}
314 i=0
315
316-if [ "$(id -u)" == "0" ]; then
317- isroot=1
318-else
319- isroot=0
320-fi
321-
322-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
323+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
324 {
325 validate_lttng_modules_present
326 trap signal_cleanup SIGTERM SIGINT
327diff --git a/tests/regression/kernel/test_select_poll_epoll b/tests/regression/kernel/test_select_poll_epoll
328index d8245a0e7..20f0ef0ae 100755
329--- a/tests/regression/kernel/test_select_poll_epoll
330+++ b/tests/regression/kernel/test_select_poll_epoll
331@@ -374,13 +374,7 @@ if test $? != 0; then
332 exit 0
333 fi
334
335-if [ "$(id -u)" == "0" ]; then
336- isroot=1
337-else
338- isroot=0
339-fi
340-
341-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
342+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
343 {
344 validate_lttng_modules_present
345
346diff --git a/tests/regression/kernel/test_syscall b/tests/regression/kernel/test_syscall
347index 401a18a8d..219d94703 100755
348--- a/tests/regression/kernel/test_syscall
349+++ b/tests/regression/kernel/test_syscall
350@@ -664,13 +664,7 @@ plan_tests $NUM_TESTS
351
352 print_test_banner "$TEST_DESC"
353
354-if [ "$(id -u)" == "0" ]; then
355- isroot=1
356-else
357- isroot=0
358-fi
359-
360-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
361+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
362 {
363 validate_lttng_modules_present
364 start_lttng_sessiond
365diff --git a/tests/regression/kernel/test_userspace_probe b/tests/regression/kernel/test_userspace_probe
366index 1091ee65e..5d984d666 100755
367--- a/tests/regression/kernel/test_userspace_probe
368+++ b/tests/regression/kernel/test_userspace_probe
369@@ -815,13 +815,7 @@ fi
370 plan_tests $NUM_TESTS
371 print_test_banner "$TEST_DESC"
372
373-if [ "$(id -u)" == "0" ]; then
374- isroot=1
375-else
376- isroot=0
377-fi
378-
379-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
380+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
381 {
382 validate_lttng_modules_present
383 start_lttng_sessiond
384diff --git a/tests/regression/tools/clear/test_kernel b/tests/regression/tools/clear/test_kernel
385index 06fb1c368..48250a742 100755
386--- a/tests/regression/tools/clear/test_kernel
387+++ b/tests/regression/tools/clear/test_kernel
388@@ -536,12 +536,6 @@ plan_tests $NUM_TESTS
389
390 print_test_banner "$TEST_DESC"
391
392-if [ "$(id -u)" == "0" ]; then
393- isroot=1
394-else
395- isroot=0
396-fi
397-
398 streaming_tests=(test_kernel_streaming
399 test_kernel_streaming_rotate_clear
400 test_kernel_streaming_clear_rotate
401@@ -563,7 +557,7 @@ snapshot_tests=(test_kernel_streaming_snapshot
402 test_kernel_local_snapshot
403 )
404
405-skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
406+check_skip_kernel_test "$NUM_TESTS" "Skipping kernel streaming tests." ||
407 {
408 trap signal_cleanup SIGTERM SIGINT
409
410diff --git a/tests/regression/tools/filtering/test_invalid_filter b/tests/regression/tools/filtering/test_invalid_filter
411index 7d9e524d9..8435e5546 100755
412--- a/tests/regression/tools/filtering/test_invalid_filter
413+++ b/tests/regression/tools/filtering/test_invalid_filter
414@@ -168,13 +168,7 @@ done
415
416 test_bytecode_limit -u
417
418-if [ "$(id -u)" == "0" ]; then
419- isroot=1
420-else
421- isroot=0
422-fi
423-
424-skip $isroot "Root access is needed. Skipping all kernel invalid filter tests." $NUM_KERNEL_TESTS ||
425+check_skip_kernel_test "$NUM_KERNEL_TESTS" "Skipping kernel invalid filter tests." ||
426 {
427 diag "Test kernel filters"
428 i=0
429diff --git a/tests/regression/tools/filtering/test_unsupported_op b/tests/regression/tools/filtering/test_unsupported_op
430index 299247a3c..91eb86d21 100755
431--- a/tests/regression/tools/filtering/test_unsupported_op
432+++ b/tests/regression/tools/filtering/test_unsupported_op
433@@ -103,13 +103,7 @@ while [ "$i" -lt "$OP_COUNT" ]; do
434 let "i++"
435 done
436
437-if [ "$(id -u)" == "0" ]; then
438- isroot=1
439-else
440- isroot=0
441-fi
442-
443-skip $isroot "Root access is needed. Skipping all kernel unsupported filter operations tests." $NUM_KERNEL_TESTS ||
444+check_skip_kernel_test $NUM_KERNEL_TESTS "Skipping kernel unsupported filter operations tests." ||
445 {
446 diag "Test kernel unsupported filter operations"
447
448diff --git a/tests/regression/tools/filtering/test_valid_filter b/tests/regression/tools/filtering/test_valid_filter
449index e76ffa25f..1ba7c79bb 100755
450--- a/tests/regression/tools/filtering/test_valid_filter
451+++ b/tests/regression/tools/filtering/test_valid_filter
452@@ -1452,13 +1452,7 @@ KERNEL_FILTERS=(
453
454 IFS=$OLDIFS
455
456-if [ "$(id -u)" == "0" ]; then
457- isroot=1
458-else
459- isroot=0
460-fi
461-
462-skip $isroot "Root access is needed. Skipping all kernel valid filter tests." $NUM_KERNEL_TESTS ||
463+check_skip_kernel_test "$NUM_KERNEL_TESTS" "Skipping kernel valid filter tests." ||
464 {
465 diag "Test kernel valid filters"
466
467diff --git a/tests/regression/tools/health/test_health.sh b/tests/regression/tools/health/test_health.sh
468index b3d6419d2..68716e6b9 100644
469--- a/tests/regression/tools/health/test_health.sh
470+++ b/tests/regression/tools/health/test_health.sh
471@@ -82,7 +82,7 @@ function test_health
472 diag "With UST consumer daemons"
473 enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME
474
475- skip $isroot "Root access is needed. Skipping kernel consumer health check test." "1" ||
476+ check_skip_kernel_test "1" "Skipping kernel consumer health check test." ||
477 {
478 diag "With kernel consumer daemon"
479 lttng_enable_kernel_event $SESSION_NAME $KERNEL_EVENT_NAME $CHANNEL_NAME
480@@ -113,7 +113,7 @@ function test_health
481
482
483 if [ ${test_needs_root} -eq 1 ]; then
484- skip ${isroot} "Root access needed for test \"${test_thread_name}\"." "1" ||
485+ check_skip_kernel_test "1" "Skipping \"${test_thread_name}\"." ||
486 {
487 report_errors "${test_thread_error_string}" "${test_relayd}"
488 }
489@@ -276,12 +276,6 @@ STDERR_PATH=$(mktemp --tmpdir tmp.test_health_stderr_path.XXXXXX)
490 TRACE_PATH=$(mktemp --tmpdir -d tmp.test_health_trace_path.XXXXXX)
491 HEALTH_PATH=$(mktemp --tmpdir -d tmp.test_health_trace_path.XXXXXX)
492
493-if [ "$(id -u)" == "0" ]; then
494- isroot=1
495-else
496- isroot=0
497-fi
498-
499 THREAD_COUNT=${#THREAD[@]}
500 i=0
501 while [ "$i" -lt "$THREAD_COUNT" ]; do
502diff --git a/tests/regression/tools/health/test_thread_ok b/tests/regression/tools/health/test_thread_ok
503index e84adb611..e5e23543f 100755
504--- a/tests/regression/tools/health/test_thread_ok
505+++ b/tests/regression/tools/health/test_thread_ok
506@@ -67,7 +67,7 @@ function test_thread_ok
507 $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH}
508 report_errors
509
510- skip $isroot "Root access is needed. Skipping kernel consumer health check test." "5" ||
511+ check_skip_kernel_test "5" "Skipping kernel consumer health check test." ||
512 {
513 diag "With kernel consumer daemon"
514 create_lttng_session_no_output $SESSION_NAME
515@@ -115,13 +115,6 @@ STDERR_PATH=$(mktemp --tmpdir tmp.test_thread_ok_stderr_path.XXXXXX)
516 TRACE_PATH=$(mktemp --tmpdir -d tmp.test_thread_ok_trace_path.XXXXXX)
517 HEALTH_PATH=$(mktemp --tmpdir -d tmp.test_thread_ok_trace_path.XXXXXX)
518
519-# The manage kernel thread is only spawned if we are root
520-if [ "$(id -u)" == "0" ]; then
521- isroot=1
522-else
523- isroot=0
524-fi
525-
526 test_thread_ok
527
528 rm -rf ${HEALTH_PATH}
529diff --git a/tests/regression/tools/live/test_kernel b/tests/regression/tools/live/test_kernel
530index b622b5214..fdaa09f0d 100755
531--- a/tests/regression/tools/live/test_kernel
532+++ b/tests/regression/tools/live/test_kernel
533@@ -39,13 +39,11 @@ function clean_live_tracing()
534 rm -rf $TRACE_PATH
535 }
536
537-# Need root access for kernel tracing.
538-if [ "$(id -u)" == "0" ]; then
539- isroot=1
540-else
541- plan_skip_all "Root access is needed. Skipping all tests."
542+check_skip_kernel_test &&
543+{
544+ plan_skip_all "Skipping all tests."
545 exit 0
546-fi
547+}
548
549 modprobe lttng-test
550
551diff --git a/tests/regression/tools/live/test_lttng_kernel b/tests/regression/tools/live/test_lttng_kernel
552index a23d9373a..1b933648f 100755
553--- a/tests/regression/tools/live/test_lttng_kernel
554+++ b/tests/regression/tools/live/test_lttng_kernel
555@@ -45,13 +45,7 @@ function clean_live_tracing()
556 }
557
558 # Need root access for kernel tracing.
559-if [ "$(id -u)" == "0" ]; then
560- isroot=1
561-else
562- isroot=0
563-fi
564-
565-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
566+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
567 {
568 modprobe lttng-test
569
570diff --git a/tests/regression/tools/metadata/test_kernel b/tests/regression/tools/metadata/test_kernel
571index 57cace6ea..26e95d93a 100755
572--- a/tests/regression/tools/metadata/test_kernel
573+++ b/tests/regression/tools/metadata/test_kernel
574@@ -91,13 +91,7 @@ plan_tests $NUM_TESTS
575 print_test_banner "$TEST_DESC"
576
577
578-if [ "$(id -u)" == "0" ]; then
579- isroot=1
580-else
581- isroot=0
582-fi
583-
584-skip $isroot "Root access is needed. Skipping all kernel metadata tests." $NUM_TESTS ||
585+check_skip_kernel_test "$NUM_TESTS" "Skipping kernel metadata tests." ||
586 {
587 validate_lttng_modules_present
588 modprobe lttng-test
589diff --git a/tests/regression/tools/notification/test_notification_kernel_buffer_usage b/tests/regression/tools/notification/test_notification_kernel_buffer_usage
590index 76e69a77e..8fdaabb3e 100755
591--- a/tests/regression/tools/notification/test_notification_kernel_buffer_usage
592+++ b/tests/regression/tools/notification/test_notification_kernel_buffer_usage
593@@ -60,29 +60,27 @@ function test_buffer_usage_notification
594 wait $APP_PID 2> /dev/null
595 }
596
597-if [ "$(id -u)" == "0" ]; then
598-
599- validate_lttng_modules_present
600-
601+check_skip_kernel_test &&
602+{
603+ plan_skip_all "Skipping all tests."
604+ rm -rf "$TEST_TMPDIR"
605+ exit 0
606+}
607
608- modprobe lttng-test
609+validate_lttng_modules_present
610
611- # Used on sessiond launch.
612- LTTNG_SESSIOND_ENV_VARS="LTTNG_TESTPOINT_ENABLE=1 \
613- CONSUMER_PAUSE_PIPE_PATH=${TESTPOINT_PIPE_PATH} \
614- LD_PRELOAD=${TESTPOINT}"
615- start_lttng_sessiond_notap
616+modprobe lttng-test
617
618- test_buffer_usage_notification
619+# Used on sessiond launch.
620+LTTNG_SESSIOND_ENV_VARS="LTTNG_TESTPOINT_ENABLE=1 \
621+ CONSUMER_PAUSE_PIPE_PATH=${TESTPOINT_PIPE_PATH} \
622+ LD_PRELOAD=${TESTPOINT}"
623+start_lttng_sessiond_notap
624
625- stop_lttng_sessiond_notap
626- rmmod lttng-test
627+test_buffer_usage_notification
628
629- rm -rf "${consumerd_pipe[@]}" 2> /dev/null
630-else
631- # Kernel tests are skipped.
632- plan_tests $NUM_TESTS
633- skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
634-fi
635+stop_lttng_sessiond_notap
636+rmmod lttng-test
637
638+rm -rf "${consumerd_pipe[@]}" 2> /dev/null
639 rm -rf "$TEST_TMPDIR"
640diff --git a/tests/regression/tools/notification/test_notification_kernel_capture b/tests/regression/tools/notification/test_notification_kernel_capture
641index 88f123d3d..0f8a2bc6f 100755
642--- a/tests/regression/tools/notification/test_notification_kernel_capture
643+++ b/tests/regression/tools/notification/test_notification_kernel_capture
644@@ -31,22 +31,21 @@ function test_basic_error_path
645 }
646
647
648-if [ "$(id -u)" == "0" ]; then
649- validate_lttng_modules_present
650+check_skip_kernel_test &&
651+{
652+ plan_skip_all "Skipping all tests."
653+ exit 0
654+}
655
656- modprobe lttng-test
657+validate_lttng_modules_present
658
659- start_lttng_sessiond_notap
660+modprobe lttng-test
661
662- test_basic_error_path
663+start_lttng_sessiond_notap
664
665- stop_lttng_sessiond_notap
666- rmmod lttng-test
667+test_basic_error_path
668
669-else
670- # Kernel tests are skipped.
671- plan_tests $NUM_TESTS
672- skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
673-fi
674+stop_lttng_sessiond_notap
675+rmmod lttng-test
676
677 rm -f "$TESTAPP_STATE_PATH"
678diff --git a/tests/regression/tools/notification/test_notification_kernel_error b/tests/regression/tools/notification/test_notification_kernel_error
679index 80fe6e5b5..b757ec2b4 100755
680--- a/tests/regression/tools/notification/test_notification_kernel_error
681+++ b/tests/regression/tools/notification/test_notification_kernel_error
682@@ -30,23 +30,22 @@ function test_basic_error_path
683 wait $APP_PID 2> /dev/null
684 }
685
686+check_skip_kernel_test &&
687+{
688+ plan_skip_all "Skipping all tests."
689+ exit 0
690+}
691
692-if [ "$(id -u)" == "0" ]; then
693- validate_lttng_modules_present
694+validate_lttng_modules_present
695
696- modprobe lttng-test
697+modprobe lttng-test
698
699- start_lttng_sessiond_notap
700+start_lttng_sessiond_notap
701
702- test_basic_error_path
703+test_basic_error_path
704
705- stop_lttng_sessiond_notap
706- rmmod lttng-test
707+stop_lttng_sessiond_notap
708+rmmod lttng-test
709
710-else
711- # Kernel tests are skipped.
712- plan_tests $NUM_TESTS
713- skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
714-fi
715
716 rm -f "$TESTAPP_STATE_PATH"
717diff --git a/tests/regression/tools/notification/test_notification_kernel_instrumentation b/tests/regression/tools/notification/test_notification_kernel_instrumentation
718index 90545a541..705f7703d 100755
719--- a/tests/regression/tools/notification/test_notification_kernel_instrumentation
720+++ b/tests/regression/tools/notification/test_notification_kernel_instrumentation
721@@ -28,22 +28,21 @@ function test_kernel_instrumentation_notification
722 wait $APP_PID 2> /dev/null
723 }
724
725-if [ "$(id -u)" == "0" ]; then
726- validate_lttng_modules_present
727+check_skip_kernel_test &&
728+{
729+ plan_skip_all "Skipping all tests."
730+ exit 0
731+}
732
733- modprobe lttng-test
734+validate_lttng_modules_present
735
736- start_lttng_sessiond_notap
737+modprobe lttng-test
738
739- test_kernel_instrumentation_notification
740+start_lttng_sessiond_notap
741
742- stop_lttng_sessiond_notap
743- rmmod lttng-test
744+test_kernel_instrumentation_notification
745
746-else
747- # Kernel tests are skipped.
748- plan_tests $NUM_TESTS
749- skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
750-fi
751+stop_lttng_sessiond_notap
752+rmmod lttng-test
753
754 rm -f "$TESTAPP_STATE_PATH"
755diff --git a/tests/regression/tools/notification/test_notification_kernel_syscall b/tests/regression/tools/notification/test_notification_kernel_syscall
756index d273cb55d..7fa235388 100755
757--- a/tests/regression/tools/notification/test_notification_kernel_syscall
758+++ b/tests/regression/tools/notification/test_notification_kernel_syscall
759@@ -31,19 +31,18 @@ function test_kernel_syscall_notification
760 wait $APP_PID 2> /dev/null
761 }
762
763-if [ "$(id -u)" == "0" ]; then
764- validate_lttng_modules_present
765+check_skip_kernel_test &&
766+{
767+ plan_skip_all "Skipping all tests."
768+ exit 0
769+}
770
771- start_lttng_sessiond_notap
772+validate_lttng_modules_present
773
774- test_kernel_syscall_notification
775+start_lttng_sessiond_notap
776
777- stop_lttng_sessiond_notap
778+test_kernel_syscall_notification
779
780-else
781- # Kernel tests are skipped.
782- plan_tests $NUM_TESTS
783- skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
784-fi
785+stop_lttng_sessiond_notap
786
787 rm -f "$TESTAPP_STATE_PATH"
788diff --git a/tests/regression/tools/notification/test_notification_kernel_userspace_probe b/tests/regression/tools/notification/test_notification_kernel_userspace_probe
789index 8ef8d708d..abddd9be7 100755
790--- a/tests/regression/tools/notification/test_notification_kernel_userspace_probe
791+++ b/tests/regression/tools/notification/test_notification_kernel_userspace_probe
792@@ -29,18 +29,18 @@ function test_kernel_userspace_probe_notification
793 wait $APP_PID 2> /dev/null
794 }
795
796-if [ "$(id -u)" == "0" ]; then
797- validate_lttng_modules_present
798+check_skip_kernel_test &&
799+{
800+ plan_skip_all "Skipping all tests."
801+ exit 0
802+}
803+
804+validate_lttng_modules_present
805
806- start_lttng_sessiond_notap
807+start_lttng_sessiond_notap
808
809- test_kernel_userspace_probe_notification
810+test_kernel_userspace_probe_notification
811
812- stop_lttng_sessiond_notap
813-else
814- # Kernel tests are skipped.
815- plan_tests $NUM_TESTS
816- skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
817-fi
818+stop_lttng_sessiond_notap
819
820 rm -f "$TESTAPP_STATE_PATH"
821diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app
822index d8b639225..61891b56f 100755
823--- a/tests/regression/tools/notification/test_notification_multi_app
824+++ b/tests/regression/tools/notification/test_notification_multi_app
825@@ -411,22 +411,18 @@ function test_on_register_evaluation ()
826 rm -rf "$output_dir"
827 }
828
829-
830 TESTS=(
831 test_multi_app_ust
832 test_on_register_evaluation_ust
833 )
834
835-if [ "$(id -u)" == "0" ]; then
836+check_skip_kernel_test "$NUM_TEST_KERNEL" "Skipping kernel multi-app notification tests." || {
837 validate_lttng_modules_present
838 TESTS+=(
839- test_multi_app_kernel
840- test_on_register_evaluation_kernel
841-)
842-else
843- skip 0 "Root access is needed. Skipping all kernel multi-app notification tests." $NUM_TEST_KERNEL
844-fi
845-
846+ test_multi_app_kernel
847+ test_on_register_evaluation_kernel
848+ )
849+}
850
851 for fct_test in ${TESTS[@]};
852 do
853diff --git a/tests/regression/tools/notification/test_notification_notifier_discarded_count b/tests/regression/tools/notification/test_notification_notifier_discarded_count
854index c9235393e..a6c31a728 100755
855--- a/tests/regression/tools/notification/test_notification_notifier_discarded_count
856+++ b/tests/regression/tools/notification/test_notification_notifier_discarded_count
857@@ -391,7 +391,8 @@ function test_ust_notifier_discarded_regardless_trigger_owner
858 test_ust_notifier_discarded_count
859 test_ust_notifier_discarded_count_max_bucket
860
861-if [ "$(id -u)" == "0" ]; then
862+check_skip_kernel_test "$KERNEL_NUM_TESTS" "Skipping kernel notification tests." ||
863+{
864
865 validate_lttng_modules_present
866
867@@ -413,9 +414,7 @@ if [ "$(id -u)" == "0" ]; then
868 modprobe --remove lttng-test
869
870 rm -rf "${sessiond_pipe[@]}" 2> /dev/null
871-else
872- # Kernel tests are skipped.
873- skip 0 "Root access is needed. Skipping all kernel notification tests." $KERNEL_NUM_TESTS
874-fi
875+
876+}
877
878 rm -rf "$TEST_TMPDIR"
879diff --git a/tests/regression/tools/regen-metadata/test_kernel b/tests/regression/tools/regen-metadata/test_kernel
880index 49eea32a7..555a4e2ce 100755
881--- a/tests/regression/tools/regen-metadata/test_kernel
882+++ b/tests/regression/tools/regen-metadata/test_kernel
883@@ -99,13 +99,7 @@ plan_tests $NUM_TESTS
884
885 print_test_banner "$TEST_DESC"
886
887-if [ "$(id -u)" == "0" ]; then
888- isroot=1
889-else
890- isroot=0
891-fi
892-
893-skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
894+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
895 {
896 validate_lttng_modules_present
897
898diff --git a/tests/regression/tools/regen-statedump/test_kernel b/tests/regression/tools/regen-statedump/test_kernel
899index 8a261355d..bbbac3942 100755
900--- a/tests/regression/tools/regen-statedump/test_kernel
901+++ b/tests/regression/tools/regen-statedump/test_kernel
902@@ -39,13 +39,7 @@ plan_tests $NUM_TESTS
903
904 print_test_banner "$TEST_DESC"
905
906-if [ "$(id -u)" == "0" ]; then
907- isroot=1
908-else
909- isroot=0
910-fi
911-
912-skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
913+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
914 {
915 validate_lttng_modules_present
916 start_lttng_sessiond
917diff --git a/tests/regression/tools/rotation/test_kernel b/tests/regression/tools/rotation/test_kernel
918index f5f1f5553..efe3fd359 100755
919--- a/tests/regression/tools/rotation/test_kernel
920+++ b/tests/regression/tools/rotation/test_kernel
921@@ -82,13 +82,7 @@ plan_tests $NUM_TESTS
922
923 print_test_banner "$TEST_DESC"
924
925-if [ "$(id -u)" == "0" ]; then
926- isroot=1
927-else
928- isroot=0
929-fi
930-
931-skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
932+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
933 {
934 validate_lttng_modules_present
935
936diff --git a/tests/regression/tools/snapshots/test_kernel b/tests/regression/tools/snapshots/test_kernel
937index abb243563..d91876867 100755
938--- a/tests/regression/tools/snapshots/test_kernel
939+++ b/tests/regression/tools/snapshots/test_kernel
940@@ -217,13 +217,7 @@ plan_tests $NUM_TESTS
941
942 print_test_banner "$TEST_DESC"
943
944-if [ "$(id -u)" == "0" ]; then
945- isroot=1
946-else
947- isroot=0
948-fi
949-
950-skip $isroot "Root access is needed. Skipping all kernel snapshot tests" $NUM_TESTS ||
951+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
952 {
953
954 validate_lttng_modules_present
955diff --git a/tests/regression/tools/snapshots/test_kernel_streaming b/tests/regression/tools/snapshots/test_kernel_streaming
956index 0c92dc710..dd965afee 100755
957--- a/tests/regression/tools/snapshots/test_kernel_streaming
958+++ b/tests/regression/tools/snapshots/test_kernel_streaming
959@@ -145,13 +145,7 @@ plan_tests $NUM_TESTS
960
961 print_test_banner "$TEST_DESC"
962
963-if [ "$(id -u)" == "0" ]; then
964- isroot=1
965-else
966- isroot=0
967-fi
968-
969-skip $isroot "Root access is needed. Skipping all kernel streaming tests" $NUM_TESTS ||
970+check_skip_kernel_test $NUM_TESTS "Skipping all tests." ||
971 {
972 validate_lttng_modules_present
973
974diff --git a/tests/regression/tools/streaming/test_high_throughput_limits b/tests/regression/tools/streaming/test_high_throughput_limits
975index 2b9e3ad39..c55d51098 100755
976--- a/tests/regression/tools/streaming/test_high_throughput_limits
977+++ b/tests/regression/tools/streaming/test_high_throughput_limits
978@@ -170,13 +170,7 @@ plan_tests $NUM_TESTS
979
980 print_test_banner "$TEST_DESC"
981
982-if [ "$(id -u)" == "0" ]; then
983- isroot=1
984-else
985- isroot=0
986-fi
987-
988-skip $isroot "Root access is needed to set bandwith limits. Skipping all tests." $NUM_TESTS ||
989+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
990 {
991
992 # Catch sigint and try to cleanup limits
993diff --git a/tests/regression/tools/streaming/test_kernel b/tests/regression/tools/streaming/test_kernel
994index 33334229f..113eea7bf 100755
995--- a/tests/regression/tools/streaming/test_kernel
996+++ b/tests/regression/tools/streaming/test_kernel
997@@ -47,13 +47,7 @@ plan_tests $NUM_TESTS
998
999 print_test_banner "$TEST_DESC"
1000
1001-if [ "$(id -u)" == "0" ]; then
1002- isroot=1
1003-else
1004- isroot=0
1005-fi
1006-
1007-skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
1008+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
1009 {
1010 validate_lttng_modules_present
1011
1012diff --git a/tests/regression/tools/tracker/test_event_tracker b/tests/regression/tools/tracker/test_event_tracker
1013index cc0f698d2..de0c79d36 100755
1014--- a/tests/regression/tools/tracker/test_event_tracker
1015+++ b/tests/regression/tools/tracker/test_event_tracker
1016@@ -466,13 +466,7 @@ test_event_track_untrack ust 0 "${EVENT_NAME}" "--pid --all" # backward compat
1017 test_event_tracker ust 1 "${EVENT_NAME}" "--pid --all" # backward compat
1018 test_event_pid_tracker ust 1 "${EVENT_NAME}"
1019
1020-if [ "$(id -u)" == "0" ]; then
1021- isroot=1
1022-else
1023- isroot=0
1024-fi
1025-
1026-skip $isroot "Root access is needed. Skipping all kernel tracker tests." $NUM_KERNEL_TESTS ||
1027+check_skip_kernel_test "$NUM_KERNEL_TESTS" "Skipping kernel tracker tests." ||
1028 {
1029 diag "Test kernel tracker"
1030
1031diff --git a/tests/regression/tools/trigger/test_add_trigger_cli b/tests/regression/tools/trigger/test_add_trigger_cli
1032index 98ecf6272..d1763aa2e 100755
1033--- a/tests/regression/tools/trigger/test_add_trigger_cli
1034+++ b/tests/regression/tools/trigger/test_add_trigger_cli
1035@@ -34,12 +34,6 @@ tmp_stdout=$(mktemp --tmpdir -t test_parse_cli_trigger_stdout.XXXXXX)
1036 tmp_stderr=$(mktemp --tmpdir -t test_parse_cli_trigger_stderr.XXXXXX)
1037 uprobe_elf_binary="${TESTDIR}/utils/testapp/userspace-probe-elf-binary/.libs/userspace-probe-elf-binary"
1038
1039-if [ "$(id -u)" == "0" ]; then
1040- ist_root=1
1041-else
1042- ist_root=0
1043-fi
1044-
1045 function test_success ()
1046 {
1047 local test_name="$1"
1048@@ -223,7 +217,7 @@ test_success "--exclude-name two" "trigger5" \
1049 --condition event-rule-matches --type=user --name='jean-*' --exclude-name jean-chretien -x jean-charest \
1050 --action notify
1051
1052-skip $ist_root "non-root user: skipping kprobe tests" 18 || {
1053+check_skip_kernel_test 18 "Skipping kprobe tests." || {
1054 i=0
1055
1056 for type in kprobe kernel:kprobe; do
1057@@ -262,7 +256,7 @@ skip $ist_root "non-root user: skipping kprobe tests" 18 || {
1058 done
1059 }
1060
1061-skip $ist_root "non-root user: skipping uprobe tests" 6 || {
1062+check_skip_kernel_test 6 "Skipping uprobe tests." || {
1063 test_success "--condition event-rule-matches uprobe" "uprobe-trigger-0" \
1064 --name="uprobe-trigger-0" \
1065 --condition event-rule-matches --type=kernel:uprobe --location=${uprobe_elf_binary}:test_function --event-name=ma-probe \
1066@@ -274,7 +268,7 @@ skip $ist_root "non-root user: skipping uprobe tests" 6 || {
1067 --action notify
1068 }
1069
1070-skip $ist_root "non-root user: skipping syscall tests" 30 || {
1071+check_skip_kernel_test 30 "Skipping syscall tests." || {
1072 test_success "--condition event-rule-matches one syscall" "syscall-trigger-0" \
1073 --name="syscall-trigger-0" \
1074 --condition event-rule-matches --type=syscall --name=open \
1075diff --git a/tests/regression/tools/trigger/test_list_triggers_cli b/tests/regression/tools/trigger/test_list_triggers_cli
1076index a04018013..02c3de3e9 100755
1077--- a/tests/regression/tools/trigger/test_list_triggers_cli
1078+++ b/tests/regression/tools/trigger/test_list_triggers_cli
1079@@ -36,22 +36,12 @@ uprobe_sdt_binary=$(realpath "${TESTDIR}/utils/testapp/userspace-probe-sdt-binar
1080 register_some_triggers_bin=$(realpath "${CURDIR}/utils/register-some-triggers")
1081
1082 uid=$(id --user)
1083-gid=$(id --group)
1084
1085-if [ "$uid" == "0" ]; then
1086- ist_root=1
1087- ls "$uprobe_sdt_binary" >/dev/null 2>&1
1088- if test $? == 0; then
1089- hast_sdt_binary=1
1090- else
1091- hast_sdt_binary=0
1092- fi
1093-else
1094- ist_root=0
1095- hast_sdt_binary=0
1096+sdt_binary_present=0
1097+if [ -f "$uprobe_sdt_binary" ]; then
1098+ sdt_binary_present=1
1099 fi
1100
1101-
1102 test_top_level_options ()
1103 {
1104 diag "Listing top level options"
1105@@ -2695,10 +2685,12 @@ start_lttng_sessiond_notap
1106
1107 test_top_level_options
1108 test_event_rule_matches_tracepoint
1109-skip $ist_root "non-root user: skipping kprobe tests" 13 || test_event_rule_matches_probe
1110-skip $ist_root "non-root user: skipping uprobe tests" 9 || test_event_rule_matches_userspace_probe_elf
1111-skip $(($ist_root && $hast_sdt_binary)) "skipping userspace probe SDT tests" 9 || test_event_rule_matches_userspace_probe_sdt
1112-skip $ist_root "non-root user: skipping syscall tests" 17 || test_event_rule_matches_syscall
1113+check_skip_kernel_test 48 "Skipping kprobe, uprobe, SDT and syscall tests." || {
1114+ test_event_rule_matches_probe
1115+ test_event_rule_matches_userspace_probe_elf
1116+ skip $sdt_binary_present "No SDT binary. Skipping userspace probe SDT tests" 9 || test_event_rule_matches_userspace_probe_sdt
1117+ test_event_rule_matches_syscall
1118+}
1119 test_session_consumed_size_condition
1120 test_buffer_usage_conditions
1121 test_session_rotation_conditions
1122diff --git a/tests/regression/tools/wildcard/test_event_wildcard b/tests/regression/tools/wildcard/test_event_wildcard
1123index f69baffc4..14d9bb88a 100755
1124--- a/tests/regression/tools/wildcard/test_event_wildcard
1125+++ b/tests/regression/tools/wildcard/test_event_wildcard
1126@@ -124,13 +124,7 @@ test_event_wildcard ust 1 'tp*tptest'
1127 test_event_wildcard ust 1 'tp**tptest'
1128 test_event_wildcard ust 1 'tp*test'
1129
1130-if [ "$(id -u)" == "0" ]; then
1131- isroot=1
1132-else
1133- isroot=0
1134-fi
1135-
1136-skip $isroot "Root access is needed. Skipping all kernel wildcard tests." $NUM_KERNEL_TESTS ||
1137+check_skip_kernel_test "$NUM_KERNEL_TESTS" "Skipping kernel wildcard tests." ||
1138 {
1139 diag "Test kernel wildcards"
1140
1141diff --git a/tests/regression/tools/working-directory/test_relayd_working_directory b/tests/regression/tools/working-directory/test_relayd_working_directory
1142index c7e784cca..6bd1e504a 100755
1143--- a/tests/regression/tools/working-directory/test_relayd_working_directory
1144+++ b/tests/regression/tools/working-directory/test_relayd_working_directory
1145@@ -145,9 +145,9 @@ function test_relayd_debug_permission()
1146 diag "Test lttng-relayd change working directory on non writable directory"
1147
1148 if [ "$(id -u)" == "0" ]; then
1149- is_user=0
1150+ is_user=0
1151 else
1152- is_user=1
1153+ is_user=1
1154 fi
1155
1156 skip $is_user "Skipping permission debug output test; operation can't fail as root" 6 ||
1157diff --git a/tests/regression/ust/namespaces/test_ns_contexts_change b/tests/regression/ust/namespaces/test_ns_contexts_change
1158index 8a4b62ce3..622241f7b 100755
1159--- a/tests/regression/ust/namespaces/test_ns_contexts_change
1160+++ b/tests/regression/ust/namespaces/test_ns_contexts_change
1161@@ -101,12 +101,7 @@ plan_tests $NUM_TESTS
1162
1163 print_test_banner "$TEST_DESC"
1164
1165-isroot=0
1166-if [ "$(id -u)" == "0" ]; then
1167- isroot=1
1168-fi
1169-
1170-skip $isroot "Root access is needed. Skipping all tests." "$NUM_TESTS" && exit 0
1171+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." && exit 0
1172
1173 system_has_ns=0
1174 if [ -d "/proc/$$/ns" ]; then
1175diff --git a/tests/regression/ust/test_event_perf b/tests/regression/ust/test_event_perf
1176index 33aab2981..178959a19 100755
1177--- a/tests/regression/ust/test_event_perf
1178+++ b/tests/regression/ust/test_event_perf
1179@@ -119,17 +119,11 @@ plan_tests $NUM_TESTS
1180
1181 print_test_banner "$TEST_DESC"
1182
1183-if [ "$(id -u)" == "0" ]; then
1184- isroot=1
1185-else
1186- isroot=0
1187-fi
1188-
1189 start_lttng_sessiond
1190
1191 test_parsing_raw
1192
1193-skip $isroot "Root access is needed. Skipping UST perf tests." 8 ||
1194+check_skip_kernel_test 8 "Skipping UST perf tests." ||
1195 {
1196 test_event_basic
1197 }
1198diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh
1199index faa87e783..da0e0569d 100644
1200--- a/tests/utils/utils.sh
1201+++ b/tests/utils/utils.sh
1202@@ -318,6 +318,41 @@ function conf_proc_count()
1203 echo
1204 }
1205
1206+# Usage:
1207+# check_skip_kernel_test [NB_TESTS] [SKIP_MESSAGE]
1208+# Return 0 if LTTNG_TOOLS_DISABLE_KERNEL_TESTS was set or the current user is not a root user
1209+# If NB_TESTS is set, call skip() to skip number of tests.
1210+# If NB_TESTS is empty, just output a reason with diag.
1211+# An optional message can be added.
1212+
1213+function check_skip_kernel_test ()
1214+{
1215+ local num_tests="$1"
1216+ local skip_message="$2"
1217+
1218+ # Check for skip test kernel flag
1219+ if [ "$LTTNG_TOOLS_DISABLE_KERNEL_TESTS" == "1" ]; then
1220+ if ! test -z "$num_tests"; then
1221+ skip 0 "LTTNG_TOOLS_DISABLE_KERNEL_TESTS was set.${skip_message+ }${skip_message}" "$num_tests"
1222+ else
1223+ diag "LTTNG_TOOLS_DISABLE_KERNEL_TESTS was set.${skip_message+ }${skip_message}"
1224+ fi
1225+ return 0
1226+ fi
1227+
1228+ # Check if we are running as root
1229+ if [ "$(id -u)" != "0" ]; then
1230+ if ! test -z "$num_tests"; then
1231+ skip 0 "Root access is needed for kernel testing.${skip_message+ }${skip_message}" "$num_tests"
1232+ else
1233+ diag "Root access is needed for kernel testing.${skip_message+ }${skip_message}"
1234+ fi
1235+ return 0
1236+ fi
1237+
1238+ return 1
1239+}
1240+
1241 # Check if base lttng-modules are present.
1242 # Bail out on failure
1243 function validate_lttng_modules_present ()
1244--
12452.25.1
1246
diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
index 2d08b08879..2f95889c4b 100644
--- a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
+++ b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
@@ -1,4 +1,4 @@
1From ab238c213fac190972f55e73cf3e0bb1c7846eb8 Mon Sep 17 00:00:00 2001 1From 2237748af00467ad8250a7ccd944200f811db69a Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Thu, 12 Dec 2019 16:52:07 +0100 3Date: Thu, 12 Dec 2019 16:52:07 +0100
4Subject: [PATCH] tests: do not strip a helper library 4Subject: [PATCH] tests: do not strip a helper library
@@ -10,10 +10,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
10 1 file changed, 1 insertion(+), 1 deletion(-) 10 1 file changed, 1 insertion(+), 1 deletion(-)
11 11
12diff --git a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am 12diff --git a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
13index 03f5d5a..d12c343 100644 13index 836f13e..e19a554 100644
14--- a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am 14--- a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
15+++ b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am 15+++ b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
16@@ -12,7 +12,7 @@ userspace_probe_elf_binary_LDADD = libfoo.la 16@@ -14,7 +14,7 @@ userspace_probe_elf_binary_LDADD = libfoo.la
17 libfoo.strip: libfoo.la 17 libfoo.strip: libfoo.la
18 $(OBJCOPY) --strip-all .libs/libfoo.so 18 $(OBJCOPY) --strip-all .libs/libfoo.so
19 19
@@ -22,6 +22,3 @@ index 03f5d5a..d12c343 100644
22 @if [ x"$(srcdir)" != x"$(builddir)" ]; then \ 22 @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
23 for script in $(EXTRA_DIST); do \ 23 for script in $(EXTRA_DIST); do \
24 cp -f $(srcdir)/$$script $(builddir); \ 24 cp -f $(srcdir)/$$script $(builddir); \
25--
262.17.1
27
diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch
deleted file mode 100644
index 08c1423310..0000000000
--- a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch
+++ /dev/null
@@ -1,55 +0,0 @@
1From de9fc501e775cae05f1f87534b4237cd78e8d9a8 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 24 Jan 2020 18:03:25 +0100
4Subject: [PATCH] tests/regression: disable the tools/live tests
5
6They have been found to sporadically fail; the issue has been
7reported upstream and they will work to investigate and fix:
8https://bugs.lttng.org/issues/1217
9
10Upstream-Status: Inappropriate [upstream is working on a real fix]
11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
12
13---
14 tests/regression/Makefile.am | 10 +---------
15 1 file changed, 1 insertion(+), 9 deletions(-)
16
17diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am
18index cbac90d..d467886 100644
19--- a/tests/regression/Makefile.am
20+++ b/tests/regression/Makefile.am
21@@ -11,16 +11,10 @@ TESTS = tools/filtering/test_invalid_filter \
22 tools/filtering/test_valid_filter \
23 tools/streaming/test_ust \
24 tools/health/test_thread_ok \
25- tools/live/test_ust \
26- tools/live/test_ust_tracefile_count \
27- tools/live/test_lttng_ust \
28 tools/tracefile-limits/test_tracefile_count \
29 tools/tracefile-limits/test_tracefile_size \
30- tools/exclusion/test_exclusion \
31 tools/snapshots/test_ust_fast \
32- tools/snapshots/test_ust_streaming \
33 tools/save-load/test_save \
34- tools/save-load/test_load \
35 tools/save-load/test_autoload \
36 tools/mi/test_mi \
37 tools/wildcard/test_event_wildcard \
38@@ -38,8 +32,7 @@ TESTS = tools/filtering/test_invalid_filter \
39 tools/working-directory/test_relayd_working_directory \
40 tools/notification/test_notification_multi_app \
41 tools/clear/test_ust \
42- tools/clear/test_kernel \
43- tools/tracker/test_event_tracker
44+ tools/clear/test_kernel
45
46 if HAVE_LIBLTTNG_UST_CTL
47 SUBDIRS += ust
48@@ -60,7 +53,6 @@ TESTS += ust/before-after/test_before_after \
49 ust/multi-lib/test_multi_lib \
50 ust/rotation-destroy-flush/test_rotation_destroy_flush \
51 ust/namespaces/test_ns_contexts \
52- ust/namespaces/test_ns_contexts_change \
53 tools/metadata/test_ust \
54 tools/relayd-grouping/test_ust
55 endif # HAVE_LIBLTTNG_UST_CTL
diff --git a/meta/recipes-kernel/lttng/lttng-tools/determinism.patch b/meta/recipes-kernel/lttng/lttng-tools/determinism.patch
deleted file mode 100644
index b2ab880bd6..0000000000
--- a/meta/recipes-kernel/lttng/lttng-tools/determinism.patch
+++ /dev/null
@@ -1,64 +0,0 @@
1This is a bit ugly. Specifing abs_builddir as an RPATH is plain wrong when
2cross compiling. Sadly, removing the rpath makes libtool/automake do
3weird things and breaks the build as shared libs are no longer generated.
4
5We already try and delete the RPATH at do_install with chrpath however
6that does leave the path in the string table so it doesn't help us
7with reproducibility.
8
9Instead, hack in a bogus but harmless path, then delete it later in
10our do_install. Ultimately we may want to pass a specific path to use
11to configure if we really do need to set an RPATH at all. It is unclear
12to me whether the tests need that or not.
13
14Fixes reproducibility issues for lttng-tools.
15
16Upstream-Status: Pending [needs discussion with upstream about the correct solution]
17RP 2021/3/1
18
19Index: lttng-tools-2.12.2/tests/regression/ust/ust-dl/Makefile.am
20===================================================================
21--- lttng-tools-2.12.2.orig/tests/regression/ust/ust-dl/Makefile.am
22+++ lttng-tools-2.12.2/tests/regression/ust/ust-dl/Makefile.am
23@@ -27,16 +27,16 @@ noinst_LTLIBRARIES = libzzz.la libbar.la
24
25 libzzz_la_SOURCES = libzzz.c libzzz.h
26 libzzz_la_LDFLAGS = -module -shared -avoid-version \
27- -rpath $(abs_builddir)
28+ -rpath /usr/lib
29
30 libbar_la_SOURCES = libbar.c libbar.h
31 libbar_la_LDFLAGS = -module -shared -avoid-version \
32- -rpath $(abs_builddir)
33+ -rpath /usr/lib
34 libbar_la_LIBADD = libzzz.la
35
36 libfoo_la_SOURCES = libfoo.c libfoo.h
37 libfoo_la_LDFLAGS = -module -shared -avoid-version \
38- -rpath $(abs_builddir)
39+ -rpath /usr/lib
40 libfoo_la_LIBADD = libbar.la
41
42 CLEANFILES = libfoo.so libfoo.so.debug libbar.so libbar.so.debug \
43@@ -44,7 +44,7 @@ CLEANFILES = libfoo.so libfoo.so.debug l
44
45 libtp_la_SOURCES = libbar-tp.h libbar-tp.c libfoo-tp.h libfoo-tp.c \
46 libzzz-tp.h libzzz-tp.c
47-libtp_la_LDFLAGS = -module -shared -rpath $(abs_builddir)
48+libtp_la_LDFLAGS = -module -shared -rpath /usr/lib
49
50 # Extract debug symbols
51 libfoo.so.debug: libfoo.la
52Index: lttng-tools-2.12.2/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
53===================================================================
54--- lttng-tools-2.12.2.orig/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
55+++ lttng-tools-2.12.2/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
56@@ -5,7 +5,7 @@ AM_CFLAGS += -O0
57 noinst_LTLIBRARIES = libfoo.la
58
59 libfoo_la_SOURCES = foo.c foo.h
60-libfoo_la_LDFLAGS = -shared -module -avoid-version -rpath $(abs_builddir)/.libs/
61+libfoo_la_LDFLAGS = -shared -module -avoid-version -rpath /usr/lib
62
63 noinst_PROGRAMS = userspace-probe-elf-binary
64 userspace_probe_elf_binary_SOURCES = userspace-probe-elf-binary.c
diff --git a/meta/recipes-kernel/lttng/lttng-tools/disable-tests.patch b/meta/recipes-kernel/lttng/lttng-tools/disable-tests.patch
new file mode 100644
index 0000000000..3a77ea2e43
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools/disable-tests.patch
@@ -0,0 +1,34 @@
1Upstream-Status: Inappropriate [need to root cause the test hangs]
2
3We keep seeing hangs in the tools/notifications tests on x86 and arm for
4a variety of distros. Exclude them for now to work out if this is the
5only place we see them and give SWAT/triage a break from the stream
6of them.
7
8https://bugzilla.yoctoproject.org/show_bug.cgi?id=14263
9
10Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
11
12Index: lttng-tools-2.13.1/tests/regression/Makefile.am
13===================================================================
14--- lttng-tools-2.13.1.orig/tests/regression/Makefile.am
15+++ lttng-tools-2.13.1/tests/regression/Makefile.am
16@@ -29,18 +29,6 @@ TESTS = tools/base-path/test_ust \
17 tools/crash/test_crash \
18 tools/regen-metadata/test_ust \
19 tools/regen-statedump/test_ust \
20- tools/notification/test_notification_ust_error \
21- tools/notification/test_notification_ust_buffer_usage \
22- tools/notification/test_notification_ust_capture \
23- tools/notification/test_notification_ust_event_rule_condition_exclusion \
24- tools/notification/test_notification_kernel_error \
25- tools/notification/test_notification_kernel_buffer_usage \
26- tools/notification/test_notification_kernel_capture \
27- tools/notification/test_notification_kernel_instrumentation \
28- tools/notification/test_notification_kernel_syscall \
29- tools/notification/test_notification_notifier_discarded_count \
30- tools/notification/test_notification_kernel_userspace_probe \
31- tools/notification/test_notification_multi_app \
32 tools/rotation/test_ust \
33 tools/rotation/test_kernel \
34 tools/rotation/test_save_load_mi \
diff --git a/meta/recipes-kernel/lttng/lttng-tools/run-ptest b/meta/recipes-kernel/lttng/lttng-tools/run-ptest
index eaa2e7b29d..39d93e2bbf 100755
--- a/meta/recipes-kernel/lttng/lttng-tools/run-ptest
+++ b/meta/recipes-kernel/lttng/lttng-tools/run-ptest
@@ -1,6 +1,45 @@
1#!/bin/sh 1#!/bin/sh
2# Without --ignore-exit, the tap harness causes any FAILs within a 2# Without --ignore-exit, the tap harness causes any FAILs within a
3# test plan to raise ERRORs; this is just noise. 3# test plan to raise ERRORs; this is just noise.
4makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=$PWD top_builddir=$PWD" 4
5make -k -t all >/dev/null 2>&1 5#Detecting whether current system has lttng kernel modules
6exec make -k -s $makeargs check 2>/dev/null | sed -e 's#/tmp/tmp\...........#/tmp/tmp.XXXXXXXXXX#g' 6LTTNG_KMOD_PATH=/lib/modules/$(uname -r)/kernel/lttng-modules/lttng-tracer.ko
7function validate_lttng_modules_present()
8{
9 # Check for loadable modules.
10 if [ -f "$LTTNG_KMOD_PATH" ]; then
11 return 0
12 fi
13
14 # Check for builtin modules.
15 ls /proc/lttng > /dev/null 2>&1
16 if [ $? -eq 0 ]; then
17 return 0
18 fi
19
20 return 1
21}
22
23export LD_LIBRARY_PATH=FIXMEPTESTPATH/tests/utils/testapp/userspace-probe-elf-binary/.libs
24makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=FIXMEPTESTPATH top_builddir=FIXMEPTESTPATH"
25
26#If current system doesn't have lttng kernel modules, disable lttng kernel related tests.
27validate_lttng_modules_present || {
28 makeargs="$makeargs LTTNG_TOOLS_DISABLE_KERNEL_TESTS=1"
29}
30
31make -k -t all >error.log 2>&1
32# Can specify a test e.g.:
33# -C tests/regression/ check TESTS='kernel/test_callstack'
34make -k -s $makeargs check 2>error.log | sed -e 's#/tmp/tmp\...........#/tmp/tmp.XXXXXXXXXX#g'
35exitcode=$?
36if [ -e error.log ]; then
37 cat error.log
38fi
39if [ -e tests/unit/test-suite.log ]; then
40 cat tests/unit/test-suite.log
41fi
42if [ -e tests/regression/test-suite.log ]; then
43 cat tests/regression/test-suite.log
44fi
45exit $exitcode
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.12.2.bb b/meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb
index 52bfd36370..174dec036e 100644
--- a/meta/recipes-kernel/lttng/lttng-tools_2.12.2.bb
+++ b/meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb
@@ -5,27 +5,27 @@ to extract program execution details from the Linux operating system \
5and interpret them." 5and interpret them."
6HOMEPAGE = "https://github.com/lttng/lttng-tools" 6HOMEPAGE = "https://github.com/lttng/lttng-tools"
7 7
8LICENSE = "GPLv2 & LGPLv2.1" 8LICENSE = "GPL-2.0-only & LGPL-2.1-only"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \ 9LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \
10 file://LICENSES/GPL-2.0;md5=e68f69a54b44ba526ad7cb963e18fbce \ 10 file://LICENSES/GPL-2.0;md5=e68f69a54b44ba526ad7cb963e18fbce \
11 file://LICENSES/LGPL-2.1;md5=9920968d0f2ff585ce61fae30344dd95" 11 file://LICENSES/LGPL-2.1;md5=9920968d0f2ff585ce61fae30344dd95"
12 12
13include lttng-platforms.inc 13include lttng-platforms.inc
14 14
15DEPENDS = "liburcu popt libxml2 util-linux" 15DEPENDS = "liburcu popt libxml2 util-linux bison-native"
16RDEPENDS_${PN} = "libgcc" 16RDEPENDS:${PN} = "libgcc"
17RRECOMMENDS_${PN} += "${LTTNGMODULES}" 17RRECOMMENDS:${PN} += "${LTTNGMODULES}"
18RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core" 18RDEPENDS:${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core grep binutils"
19RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" 19RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils"
20RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils" 20RDEPENDS:${PN}-ptest:append:libc-musl = " musl-utils"
21# babelstats.pl wants getopt-long 21# babelstats.pl wants getopt-long
22RDEPENDS_${PN}-ptest += "perl-module-getopt-long" 22RDEPENDS:${PN}-ptest += "perl-module-getopt-long"
23 23
24PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ 24PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
25 am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ 25 am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
26 PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ 26 PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
27" 27"
28PACKAGECONFIG ??= "${LTTNGUST}" 28PACKAGECONFIG ??= "${LTTNGUST} kmod"
29PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native" 29PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native"
30PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust" 30PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust"
31PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod" 31PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod"
@@ -35,48 +35,59 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
35 file://0001-tests-do-not-strip-a-helper-library.patch \ 35 file://0001-tests-do-not-strip-a-helper-library.patch \
36 file://run-ptest \ 36 file://run-ptest \
37 file://lttng-sessiond.service \ 37 file://lttng-sessiond.service \
38 file://0001-tests-regression-disable-the-tools-live-tests.patch \ 38 file://disable-tests.patch \
39 file://determinism.patch \ 39 file://0001-compat-Define-off64_t-as-off_t-on-linux.patch \
40 file://0001-tests-add-check_skip_kernel_test-to-check-root-user-.patch \
41 file://0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch \
40 " 42 "
41 43
42SRC_URI[sha256sum] = "9ed9161795ff023b076f9f95afaa4f1f822ec42495c0fa04c586ab8fa74e84f1" 44SRC_URI[sha256sum] = "ff5f4f00b081dac66092afe8e72b7c790670931cf1c1ee0deaa7f80fbc53883e"
43 45
44inherit autotools ptest pkgconfig useradd python3-dir manpages systemd 46inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
45 47
46SYSTEMD_SERVICE_${PN} = "lttng-sessiond.service" 48CACHED_CONFIGUREVARS = "PGREP=/usr/bin/pgrep"
49
50SYSTEMD_SERVICE:${PN} = "lttng-sessiond.service"
47SYSTEMD_AUTO_ENABLE = "disable" 51SYSTEMD_AUTO_ENABLE = "disable"
48 52
49USERADD_PACKAGES = "${PN}" 53USERADD_PACKAGES = "${PN}"
50GROUPADD_PARAM_${PN} = "tracing" 54GROUPADD_PARAM:${PN} = "tracing"
51 55
52FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \ 56FILES:${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \
53 ${PYTHON_SITEPACKAGES_DIR}/*" 57 ${PYTHON_SITEPACKAGES_DIR}/*"
54FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" 58FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
55FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" 59FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
56 60
57# Since files are installed into ${libdir}/lttng/libexec we match 61# Since files are installed into ${libdir}/lttng/libexec we match
58# the libexec insane test so skip it. 62# the libexec insane test so skip it.
59# Python module needs to keep _lttng.so 63# Python module needs to keep _lttng.so
60INSANE_SKIP_${PN} = "libexec dev-so" 64INSANE_SKIP:${PN} = "libexec dev-so"
61INSANE_SKIP_${PN}-dbg = "libexec" 65INSANE_SKIP:${PN}-dbg = "libexec"
62 66
63PRIVATE_LIBS_${PN}-ptest = "libfoo.so" 67PRIVATE_LIBS:${PN}-ptest = "libfoo.so"
64 68
65do_install_append () { 69do_install:append () {
66 # install systemd unit file 70 # install systemd unit file
67 install -d ${D}${systemd_unitdir}/system 71 install -d ${D}${systemd_system_unitdir}
68 install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system 72 install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_system_unitdir}
69} 73}
70 74
71do_install_ptest () { 75do_install_ptest () {
72 for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/load-42*.lttng tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh; do 76 for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/*.lttng \
77 tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh \
78 tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh \
79 tests/regression/tools/notification/util_event_generator.sh \
80 tests/regression/tools/base-path/*.lttng; do
73 install -D "${B}/$f" "${D}${PTEST_PATH}/$f" 81 install -D "${B}/$f" "${D}${PTEST_PATH}/$f"
74 done 82 done
75 83
76 for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.0.xsd; do 84 for f in tests/utils/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.1.xsd; do
77 install -D "${S}/$f" "${D}${PTEST_PATH}/$f" 85 install -D "${S}/$f" "${D}${PTEST_PATH}/$f"
78 done 86 done
79 87
88 # Patch in the correct path for the custom libraries a helper executable needs
89 sed -i -e 's!FIXMEPTESTPATH!${PTEST_PATH}!g' "${D}${PTEST_PATH}/run-ptest"
90
80 # Prevent 'make check' from recursing into non-test subdirectories. 91 # Prevent 'make check' from recursing into non-test subdirectories.
81 sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile" 92 sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile"
82 93
@@ -104,7 +115,7 @@ do_install_ptest () {
104 for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do 115 for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
105 cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f 116 cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
106 case $f in 117 case $f in
107 *.so) 118 *.so|userspace-probe-elf-*)
108 install -d ${D}${PTEST_PATH}/tests/$d/ 119 install -d ${D}${PTEST_PATH}/tests/$d/
109 ln -s ../$f ${D}${PTEST_PATH}/tests/$d/$f 120 ln -s ../$f ${D}${PTEST_PATH}/tests/$d/$f
110 # Remove any rpath/runpath to pass QA check. 121 # Remove any rpath/runpath to pass QA check.
@@ -115,6 +126,7 @@ do_install_ptest () {
115 done 126 done
116 127
117 chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary 128 chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary
129 chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-cxx-binary/userspace-probe-elf-cxx-binary
118 chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libbar.so 130 chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libbar.so
119 chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libfoo.so 131 chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libfoo.so
120 132
@@ -155,7 +167,7 @@ do_install_ptest () {
155 -i ${D}${PTEST_PATH}/tests/unit/Makefile 167 -i ${D}${PTEST_PATH}/tests/unit/Makefile
156 168
157 # Fix hardcoded build path 169 # Fix hardcoded build path
158 sed -e 's#TESTAPP_PATH=.*/tests/regression/#TESTAPP_PATH=${PTEST_PATH}/tests/regression/#' \ 170 sed -e 's#TESTAPP_PATH=.*/tests/regression/#TESTAPP_PATH="${PTEST_PATH}/tests/regression/#' \
159 -i ${D}${PTEST_PATH}/tests/regression/ust/python-logging/test_python_logging 171 -i ${D}${PTEST_PATH}/tests/regression/ust/python-logging/test_python_logging
160 172
161 # Substitute links to installed binaries. 173 # Substitute links to installed binaries.
@@ -172,3 +184,14 @@ do_install_ptest () {
172 esac 184 esac
173 done 185 done
174} 186}
187
188INHIBIT_PACKAGE_STRIP_FILES = "\
189 ${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary \
190 ${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/.libs/userspace-probe-elf-binary \
191 ${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-cxx-binary/userspace-probe-elf-cxx-binary \
192 ${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-cxx-binary/.libs/userspace-probe-elf-cxx-binary \
193 ${PKGD}${PTEST_PATH}/tests/utils/testapp/gen-syscall-events/gen-syscall-events \
194 ${PKGD}${PTEST_PATH}/tests/utils/testapp/gen-syscall-events/.libs/gen-syscall-events \
195 ${PKGD}${PTEST_PATH}/tests/utils/testapp/gen-syscall-events-callstack/gen-syscall-events-callstack \
196 ${PKGD}${PTEST_PATH}/tests/utils/testapp/gen-syscall-events-callstack/.libs/gen-syscall-events-callstack \
197 "
diff --git a/meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch b/meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch
new file mode 100644
index 0000000000..6aca8f85fa
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch
@@ -0,0 +1,33 @@
1From 7d053804ab3823d40ae10d90f4efc49dbfb4cb66 Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Wed, 22 Sep 2021 16:33:10 +0800
4Subject: [PATCH] Makefile.am: update rpath link
5
6since commit 6339062 Move liblttng-ust to 'src/lib/',
7liblttng-ust.so/liblttng-ust-common.so/liblttng-ust-tracepoint.so
8's location changed from one dir to multiple dirs. which make below
9error:
10ld: warning: liblttng-ust-common.so.1, needed by ../../../src/lib/lttng-ust/.libs/liblttng-ust.so, not found (try using -rpath or -rpath-link)
11ld: warning: liblttng-ust-tracepoint.so.1, needed by ../../../src/lib/lttng-ust/.libs/liblttng-ust.so, not found (try using -rpath or -rpath-link)
12
13Upstream-Status: Submitted [https://github.com/lttng/lttng-ust/pull/61]
14
15Signed-off-by: Changqing Li <changqing.li@windriver.com>
16
17---
18 doc/examples/Makefile.am | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
22index 57782cc..d46caa6 100644
23--- a/doc/examples/Makefile.am
24+++ b/doc/examples/Makefile.am
25@@ -167,7 +167,7 @@ all-local:
26 CFLAGS='$(CFLAGS)' \
27 AM_CFLAGS='$(AM_CFLAGS)' \
28 LDFLAGS="$(LDFLAGS)" \
29- AM_LDFLAGS='$(AM_LDFLAGS) -L../../../src/lib/lttng-ust/.libs -Wl,-rpath="$(PWD)/../../src/lib/lttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../src/lib/lttng-ust/.libs/"' \
30+ AM_LDFLAGS='$(AM_LDFLAGS) -L../../../src/lib/lttng-ust/.libs -Wl,-rpath="$(PWD)/../../src/lib/lttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../src/lib/lttng-ust/.libs/:$(PWD)/../../src/lib/lttng-ust-tracepoint/.libs:$(PWD)/../../src/lib/lttng-ust-common/.libs/"' \
31 LTTNG_GEN_TP_PATH="$$rel_src_subdir$(top_srcdir)/tools/" \
32 AM_V_P="$(AM_V_P)" \
33 AM_V_at="$(AM_V_at)" \
diff --git a/meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch b/meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch
new file mode 100644
index 0000000000..e85dbdb439
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch
@@ -0,0 +1,26 @@
1From 27402453f25fbdb5a9fb1a1b88d1c4d9852187d2 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Sun, 5 Sep 2021 10:44:19 +0200
4Subject: [PATCH] lttng-ust-common: link with liburcu explicitly
5
6Otherwise linking errors are seen on x86-32.
7
8Upstream-Status: Submitted [by email to lttng-dev, Francis, Jonathan]
9Signed-off-by: Alexander Kanavin <alex@linutronix.de>
10
11---
12 src/lib/lttng-ust-common/Makefile.am | 1 +
13 1 file changed, 1 insertion(+)
14
15diff --git a/src/lib/lttng-ust-common/Makefile.am b/src/lib/lttng-ust-common/Makefile.am
16index 1ccc290..6531fa0 100644
17--- a/src/lib/lttng-ust-common/Makefile.am
18+++ b/src/lib/lttng-ust-common/Makefile.am
19@@ -16,6 +16,7 @@ liblttng_ust_common_la_SOURCES = \
20
21 liblttng_ust_common_la_LIBADD = \
22 $(top_builddir)/src/common/libcommon.la \
23+ $(URCU_LIBS) \
24 $(DL_LIBS)
25
26 liblttng_ust_common_la_LDFLAGS = -no-undefined -version-info $(LTTNG_UST_LIBRARY_VERSION)
diff --git a/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch b/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch
index c2028d0e1a..7c49583e0d 100644
--- a/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch
+++ b/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch
@@ -1,6 +1,6 @@
1From f79dac30af9adda12996da7f6aa6667d3b580537 Mon Sep 17 00:00:00 2001 1From f65efd963e52de51d35e2e03fb773f33dd64f565 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com> 2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Thu, 26 Sep 2019 17:54:00 +0800 3Date: Tue, 20 Feb 2024 12:19:06 +0000
4Subject: [PATCH] python-lttngust/Makefile.am: Add --install-lib to setup.py 4Subject: [PATCH] python-lttngust/Makefile.am: Add --install-lib to setup.py
5 5
6Otherwise it may install to /usr/lib, but should be /usr/lib64 when cross 6Otherwise it may install to /usr/lib, but should be /usr/lib64 when cross
@@ -9,23 +9,21 @@ building.
9Upstream-Status: Submitted [https://github.com/lttng/lttng-ust/pull/59] 9Upstream-Status: Submitted [https://github.com/lttng/lttng-ust/pull/59]
10 10
11Signed-off-by: Robert Yang <liezhi.yang@windriver.com> 11Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
12
12--- 13---
13 python-lttngust/Makefile.am | 2 +- 14 src/python-lttngust/Makefile.am | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-) 15 1 file changed, 1 insertion(+), 1 deletion(-)
15 16
16diff --git a/python-lttngust/Makefile.am b/python-lttngust/Makefile.am 17diff --git a/src/python-lttngust/Makefile.am b/src/python-lttngust/Makefile.am
17index 6c0d20d..38b51b8 100644 18index d53e21d..283901e 100644
18--- a/python-lttngust/Makefile.am 19--- a/src/python-lttngust/Makefile.am
19+++ b/python-lttngust/Makefile.am 20+++ b/src/python-lttngust/Makefile.am
20@@ -9,7 +9,7 @@ install-exec-local: 21@@ -45,7 +45,7 @@ install-exec-local: build-python-bindings.stamp
21 if [ "$(DESTDIR)" != "" ]; then \ 22 if [ "$(DESTDIR)" != "" ]; then \
22 opts="$$opts --root=$(DESTDIR)"; \ 23 opts="$$opts --root=$(DESTDIR)"; \
23 fi; \ 24 fi; \
24- $(PYTHON) setup.py install $$opts; 25- $(PYTHON) $(builddir)/setup.py install $(PY_INSTALL_OPTS) $$opts;
25+ $(PYTHON) setup.py install $$opts --install-lib=$(pythondir); 26+ $(PYTHON) $(builddir)/setup.py install $(PY_INSTALL_OPTS) $$opts --install-lib=$(pythondir);
26 27
27 clean-local: 28 clean-local:
28 rm -rf $(builddir)/build 29 rm -rf $(builddir)/build
29--
302.7.4
31
diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.12.1.bb b/meta/recipes-kernel/lttng/lttng-ust_2.13.8.bb
index 67b53cbbba..dddd3a5004 100644
--- a/meta/recipes-kernel/lttng/lttng-ust_2.12.1.bb
+++ b/meta/recipes-kernel/lttng/lttng-ust_2.13.8.bb
@@ -3,38 +3,38 @@ DESCRIPTION = "The LTTng UST 2.x package contains the userspace tracer library t
3HOMEPAGE = "http://lttng.org/ust" 3HOMEPAGE = "http://lttng.org/ust"
4BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust" 4BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust"
5 5
6LICENSE = "LGPLv2.1+ & MIT & GPLv2" 6LICENSE = "LGPL-2.1-or-later & MIT & GPL-2.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \ 7LIC_FILES_CHKSUM = "file://LICENSE;md5=a46577a38ad0c36ff6ff43ccf40c480f"
8 file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \
9 file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44"
10 8
11PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ 9PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
12 am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ 10 am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
13 PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ 11 PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
14" 12"
15 13
16inherit autotools lib_package manpages python3native 14inherit autotools lib_package manpages python3native pkgconfig
17 15
18include lttng-platforms.inc 16include lttng-platforms.inc
19 17
20EXTRA_OECONF = "--disable-numa" 18EXTRA_OECONF = "--disable-numa"
19CPPFLAGS:append:arm = "${@oe.utils.vartrue('DEBUG_BUILD', '-DUATOMIC_NO_LINK_ERROR', '', d)}"
21 20
22DEPENDS = "liburcu util-linux" 21DEPENDS = "liburcu util-linux"
23RDEPENDS_${PN}-bin = "python3-core" 22RDEPENDS:${PN}-bin = "python3-core"
24 23
25# For backwards compatibility after rename 24# For backwards compatibility after rename
26RPROVIDES_${PN} = "lttng2-ust" 25RPROVIDES:${PN} = "lttng2-ust"
27RREPLACES_${PN} = "lttng2-ust" 26RREPLACES:${PN} = "lttng2-ust"
28RCONFLICTS_${PN} = "lttng2-ust" 27RCONFLICTS:${PN} = "lttng2-ust"
29 28
30PE = "2" 29PE = "2"
31 30
32SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ 31SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \
33 file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \ 32 file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \
33 file://0001-lttng-ust-common-link-with-liburcu-explicitly.patch \
34 file://0001-Makefile.am-update-rpath-link.patch \
34 " 35 "
35 36
36SRC_URI[md5sum] = "11787d1df69b04dd7431614ab43b2e12" 37SRC_URI[sha256sum] = "d4ef98dab9a37ad4f524ccafdfd50af4f266039b528dd5afabce78e49024d937"
37SRC_URI[sha256sum] = "48a3948b168195123a749d22818809bd25127bb5f1a66458c3c012b210d2a051"
38 38
39CVE_PRODUCT = "ust" 39CVE_PRODUCT = "ust"
40 40
@@ -42,11 +42,11 @@ PACKAGECONFIG[examples] = "--enable-examples, --disable-examples,"
42PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" 42PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native"
43PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3" 43PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3"
44 44
45FILES_${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*" 45FILES:${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*"
46FILES_${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a" 46FILES:${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a"
47FILES_${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la" 47FILES:${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la"
48 48
49do_install_append() { 49do_install:append() {
50 # Patch python tools to use Python 3; they should be source compatible, but 50 # Patch python tools to use Python 3; they should be source compatible, but
51 # still refer to Python 2 in the shebang 51 # still refer to Python 2 in the shebang
52 sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp 52 sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp
diff --git a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
index 92ffa4720e..a91680d497 100644
--- a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
+++ b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
@@ -1,9 +1,9 @@
1SUMMARY = "Build tools needed by external modules" 1SUMMARY = "Build tools needed by external modules"
2HOMEPAGE = "https://www.yoctoproject.org/" 2HOMEPAGE = "https://www.yoctoproject.org/"
3LICENSE = "GPLv2" 3LICENSE = "GPL-2.0-only"
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" 4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
5 5
6inherit kernel-arch 6inherit kernel-arch linux-kernel-base
7inherit pkgconfig 7inherit pkgconfig
8 8
9PACKAGE_ARCH = "${MACHINE_ARCH}" 9PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -13,13 +13,16 @@ S = "${WORKDIR}"
13do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot" 13do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot"
14do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" 14do_compile[depends] += "virtual/kernel:do_compile_kernelmodules"
15 15
16RDEPENDS_${PN}-dev = "" 16DEV_PKG_DEPENDENCY = ""
17 17
18DEPENDS += "bc-native bison-native" 18DEPENDS += "bc-native bison-native"
19DEPENDS += "gmp-native" 19DEPENDS += "gmp-native"
20 20
21EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"" 21EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
22EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX} ${BUILD_CXXFLAGS} ${BUILD_LDFLAGS}"" 22EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX} ${BUILD_CXXFLAGS} ${BUILD_LDFLAGS}" CROSS_COMPILE=${TARGET_PREFIX}"
23
24KERNEL_LOCALVERSION = "${@get_kernellocalversion_file("${STAGING_KERNEL_BUILDDIR}")}"
25export LOCALVERSION="${KERNEL_LOCALVERSION}"
23 26
24# Build some host tools under work-shared. CC, LD, and AR are probably 27# Build some host tools under work-shared. CC, LD, and AR are probably
25# not used, but this is the historical way of invoking "make scripts". 28# not used, but this is the historical way of invoking "make scripts".
@@ -27,7 +30,9 @@ EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX} ${BUILD_CXXFLAGS} ${BUILD_LDFLAGS}""
27do_configure() { 30do_configure() {
28 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 31 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
29 for t in prepare scripts_basic scripts; do 32 for t in prepare scripts_basic scripts; do
30 oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \ 33 oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
34 AR="${KERNEL_AR}" OBJCOPY="${KERNEL_OBJCOPY}" \
35 STRIP="${KERNEL_STRIP}" \
31 -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} $t 36 -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} $t
32 done 37 done
33} 38}
diff --git a/meta/recipes-kernel/modutils-initscripts/files/PD.patch b/meta/recipes-kernel/modutils-initscripts/files/PD.patch
deleted file mode 100644
index 21ac49cbd8..0000000000
--- a/meta/recipes-kernel/modutils-initscripts/files/PD.patch
+++ /dev/null
@@ -1,8 +0,0 @@
1Upstream-Status: Inappropriate [licensing]
2
3Index: modutils-initscripts-1.0/LICENSE
4===================================================================
5--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6+++ modutils-initscripts-1.0/LICENSE 2010-12-06 14:26:03.570339002 -0800
7@@ -0,0 +1 @@
8+Public Domain
diff --git a/meta/recipes-kernel/modutils-initscripts/files/modutils.sh b/meta/recipes-kernel/modutils-initscripts/files/modutils.sh
index 28fe6f92d7..e9aaa66cb7 100755
--- a/meta/recipes-kernel/modutils-initscripts/files/modutils.sh
+++ b/meta/recipes-kernel/modutils-initscripts/files/modutils.sh
@@ -1,4 +1,8 @@
1#!/bin/sh 1#!/bin/sh
2#
3# SPDX-License-Identifier: MIT
4#
5
2### BEGIN INIT INFO 6### BEGIN INIT INFO
3# Provides: module-init-tools 7# Provides: module-init-tools
4# Required-Start: 8# Required-Start:
@@ -13,6 +17,7 @@
13 17
14LOAD_MODULE=modprobe 18LOAD_MODULE=modprobe
15[ -f /proc/modules ] || exit 0 19[ -f /proc/modules ] || exit 0
20[ -d /lib/modules/`uname -r` ] || exit 0
16 21
17# Test if modules.dep exists and has a size greater than zero 22# Test if modules.dep exists and has a size greater than zero
18if [ ! -s /lib/modules/`uname -r`/modules.dep ]; then 23if [ ! -s /lib/modules/`uname -r`/modules.dep ]; then
diff --git a/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb b/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb
index 97b4ddb88b..b630a402ff 100644
--- a/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb
+++ b/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb
@@ -1,11 +1,9 @@
1SUMMARY = "Initscript for auto-loading kernel modules on boot" 1SUMMARY = "Initscript for auto-loading kernel modules on boot"
2SECTION = "base" 2SECTION = "base"
3LICENSE = "PD" 3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=7bf87fc37976e93ec66ad84fac58c098" 4LIC_FILES_CHKSUM = "file://modutils.sh;beginline=3;endline=3;md5=b2dccaa94b3629a08bfb4f983cad6f89"
5SRC_URI = "file://modutils.sh \ 5SRC_URI = "file://modutils.sh"
6 file://PD.patch"
7 6
8PR = "r7"
9 7
10S = "${WORKDIR}" 8S = "${WORKDIR}"
11 9
@@ -22,8 +20,8 @@ do_install () {
22 install -m 0755 ${WORKDIR}/modutils.sh ${D}${sysconfdir}/init.d/ 20 install -m 0755 ${WORKDIR}/modutils.sh ${D}${sysconfdir}/init.d/
23} 21}
24 22
25PACKAGE_WRITE_DEPS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}" 23PACKAGE_WRITE_DEPS:append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
26pkg_postinst_${PN} () { 24pkg_postinst:${PN} () {
27 if type systemctl >/dev/null 2>/dev/null; then 25 if type systemctl >/dev/null 2>/dev/null; then
28 if [ -n "$D" ]; then 26 if [ -n "$D" ]; then
29 OPTS="--root=$D" 27 OPTS="--root=$D"
diff --git a/meta/recipes-kernel/perf/perf-perl.inc b/meta/recipes-kernel/perf/perf-perl.inc
index ae77319b20..491f54c328 100644
--- a/meta/recipes-kernel/perf/perf-perl.inc
+++ b/meta/recipes-kernel/perf/perf-perl.inc
@@ -2,6 +2,10 @@ inherit perlnative cpan-base
2 2
3# Env var which tells perl if it should use host (no) or target (yes) settings 3# Env var which tells perl if it should use host (no) or target (yes) settings
4export PERLCONFIGTARGET = "${@is_target(d)}" 4export PERLCONFIGTARGET = "${@is_target(d)}"
5export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}/CORE" 5export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE"
6export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" 6export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}"
7export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" 7export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}"
8
9# The perl symbols CPPSTDIN and CPPRUN embed the sysroot into the
10# binaries, work needed to remove this
11INSANE_SKIP:${PN}-dbg += "buildpaths"
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 868cde7353..11fa917649 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -7,31 +7,38 @@ and software features (software counters, tracepoints) \
7as well." 7as well."
8HOMEPAGE = "https://perf.wiki.kernel.org/index.php/Main_Page" 8HOMEPAGE = "https://perf.wiki.kernel.org/index.php/Main_Page"
9 9
10LICENSE = "GPLv2" 10LICENSE = "GPL-2.0-only"
11 11
12PR = "r9"
13 12
14PACKAGECONFIG ??= "scripting tui libunwind" 13PACKAGECONFIG ??= "python tui libunwind libtraceevent"
15PACKAGECONFIG[dwarf] = ",NO_DWARF=1" 14PACKAGECONFIG[dwarf] = ",NO_DWARF=1"
16PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python3" 15PACKAGECONFIG[perl] = ",NO_LIBPERL=1,perl"
16PACKAGECONFIG[python] = ",NO_LIBPYTHON=1,python3 python3-setuptools-native"
17# gui support was added with kernel 3.6.35 17# gui support was added with kernel 3.6.35
18# since 3.10 libnewt was replaced by slang 18# since 3.10 libnewt was replaced by slang
19# to cover a wide range of kernel we add both dependencies 19# to cover a wide range of kernel we add both dependencies
20PACKAGECONFIG[tui] = ",NO_NEWT=1,libnewt slang" 20PACKAGECONFIG[tui] = ",NO_NEWT=1,libnewt slang"
21PACKAGECONFIG[libunwind] = ",NO_LIBUNWIND=1 NO_LIBDW_DWARF_UNWIND=1,libunwind" 21PACKAGECONFIG[libunwind] = ",NO_LIBUNWIND=1 NO_LIBDW_DWARF_UNWIND=1,libunwind"
22PACKAGECONFIG[libnuma] = ",NO_LIBNUMA=1" 22PACKAGECONFIG[libnuma] = ",NO_LIBNUMA=1"
23PACKAGECONFIG[bfd] = ",NO_LIBBFD=1"
23PACKAGECONFIG[systemtap] = ",NO_SDT=1,systemtap" 24PACKAGECONFIG[systemtap] = ",NO_SDT=1,systemtap"
24PACKAGECONFIG[jvmti] = ",NO_JVMTI=1" 25PACKAGECONFIG[jvmti] = ",NO_JVMTI=1"
25# libaudit support would need scripting to be enabled 26# libaudit support would need scripting to be enabled
26PACKAGECONFIG[audit] = ",NO_LIBAUDIT=1,audit" 27PACKAGECONFIG[audit] = ",NO_LIBAUDIT=1,audit"
27PACKAGECONFIG[manpages] = ",,xmlto-native asciidoc-native" 28PACKAGECONFIG[manpages] = ",,xmlto-native asciidoc-native"
28PACKAGECONFIG[cap] = ",,libcap" 29PACKAGECONFIG[cap] = ",,libcap"
30PACKAGECONFIG[libtraceevent] = ",NO_LIBTRACEEVENT=1,libtraceevent"
31# jevents requires host python for generating a .c file, but is
32# unrelated to the python item.
33PACKAGECONFIG[jevents] = ",NO_JEVENTS=1,python3-native"
29# Arm CoreSight 34# Arm CoreSight
30PACKAGECONFIG[coresight] = "CORESIGHT=1,,opencsd" 35PACKAGECONFIG[coresight] = "CORESIGHT=1,,opencsd"
36PACKAGECONFIG[pfm4] = ",NO_LIBPFM4=1,libpfm4"
37PACKAGECONFIG[babeltrace] = ",NO_LIBBABELTRACE=1,babeltrace"
31 38
32# libunwind is not yet ported for some architectures 39# libunwind is not yet ported for some architectures
33PACKAGECONFIG_remove_arc = "libunwind" 40PACKAGECONFIG:remove:arc = "libunwind"
34PACKAGECONFIG_remove_riscv64 = "libunwind" 41PACKAGECONFIG:remove:riscv32 = "libunwind"
35 42
36DEPENDS = " \ 43DEPENDS = " \
37 virtual/${MLPREFIX}libc \ 44 virtual/${MLPREFIX}libc \
@@ -47,7 +54,7 @@ PROVIDES = "virtual/perf"
47inherit linux-kernel-base kernel-arch manpages 54inherit linux-kernel-base kernel-arch manpages
48 55
49# needed for building the tools/perf Python bindings 56# needed for building the tools/perf Python bindings
50inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'python3native', '', d)} 57inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
51inherit python3-dir 58inherit python3-dir
52export PYTHON_SITEPACKAGES_DIR 59export PYTHON_SITEPACKAGES_DIR
53 60
@@ -57,7 +64,7 @@ export WERROR = "0"
57do_populate_lic[depends] += "virtual/kernel:do_shared_workdir" 64do_populate_lic[depends] += "virtual/kernel:do_shared_workdir"
58 65
59# needed for building the tools/perf Perl binding 66# needed for building the tools/perf Perl binding
60include ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'perf-perl.inc', '', d)} 67include ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'perf-perl.inc', '', d)}
61 68
62inherit kernelsrc 69inherit kernelsrc
63 70
@@ -69,8 +76,18 @@ SPDX_S = "${S}/tools/perf"
69# supported kernel. 76# supported kernel.
70LDFLAGS="-ldl -lutil" 77LDFLAGS="-ldl -lutil"
71 78
79# Perf's build system adds its own optimization flags for most TUs,
80# overriding the flags included here. But for some, perf does not add
81# any -O option, so ensure the distro's chosen optimization gets used
82# for those. Since ${SELECTED_OPTIMIZATION} always includes
83# ${DEBUG_FLAGS} which in turn includes ${DEBUG_PREFIX_MAP}, this also
84# ensures perf is built with appropriate -f*-prefix-map options,
85# avoiding the 'buildpaths' QA warning.
86TARGET_CC_ARCH += "${SELECTED_OPTIMIZATION}"
87
72EXTRA_OEMAKE = '\ 88EXTRA_OEMAKE = '\
73 V=1 \ 89 V=1 \
90 VF=1 \
74 -C ${S}/tools/perf \ 91 -C ${S}/tools/perf \
75 O=${B} \ 92 O=${B} \
76 CROSS_COMPILE=${TARGET_PREFIX} \ 93 CROSS_COMPILE=${TARGET_PREFIX} \
@@ -80,11 +97,13 @@ EXTRA_OEMAKE = '\
80 LDSHARED="${CC} -shared" \ 97 LDSHARED="${CC} -shared" \
81 AR="${AR}" \ 98 AR="${AR}" \
82 LD="${LD}" \ 99 LD="${LD}" \
83 EXTRA_CFLAGS="-ldw" \ 100 EXTRA_CFLAGS="-ldw -I${S}" \
101 YFLAGS='-y --file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}' \
84 EXTRA_LDFLAGS="${PERF_EXTRA_LDFLAGS}" \ 102 EXTRA_LDFLAGS="${PERF_EXTRA_LDFLAGS}" \
85 perfexecdir=${libexecdir} \ 103 perfexecdir=${libexecdir} \
86 NO_GTK2=1 \ 104 NO_GTK2=1 \
87 ${PACKAGECONFIG_CONFARGS} \ 105 ${PACKAGECONFIG_CONFARGS} \
106 PKG_CONFIG=pkg-config \
88 TMPDIR="${B}" \ 107 TMPDIR="${B}" \
89 LIBUNWIND_DIR=${STAGING_EXECPREFIXDIR} \ 108 LIBUNWIND_DIR=${STAGING_EXECPREFIXDIR} \
90' 109'
@@ -100,7 +119,7 @@ EXTRA_OEMAKE += "\
100 'sharedir=${@os.path.relpath(datadir, prefix)}' \ 119 'sharedir=${@os.path.relpath(datadir, prefix)}' \
101 'mandir=${@os.path.relpath(mandir, prefix)}' \ 120 'mandir=${@os.path.relpath(mandir, prefix)}' \
102 'infodir=${@os.path.relpath(infodir, prefix)}' \ 121 'infodir=${@os.path.relpath(infodir, prefix)}' \
103 ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'PYTHON=python3 PYTHON_CONFIG=python3-config', '', d)} \ 122 ${@bb.utils.contains('PACKAGECONFIG', 'python', 'PYTHON=python3 PYTHON_CONFIG=python3-config', '', d)} \
104" 123"
105 124
106# During do_configure, we might run a 'make clean'. That often breaks 125# During do_configure, we might run a 'make clean'. That often breaks
@@ -108,8 +127,12 @@ EXTRA_OEMAKE += "\
108# that it has to be done this way rather than by passing -j1, since 127# that it has to be done this way rather than by passing -j1, since
109# perf's build system by default ignores any -j argument, but does 128# perf's build system by default ignores any -j argument, but does
110# honour a JOBS variable. 129# honour a JOBS variable.
111EXTRA_OEMAKE_append_task-configure = " JOBS=1" 130EXTRA_OEMAKE:append:task-configure = " JOBS=1"
112 131
132# the architectures that need this file can be found in
133# tools/include/uapi/asm/bpf_perf_event.h
134# We are only listing supported arches at the moment
135PERF_BPF_EVENT_SRC ?= '${@bb.utils.contains_any("ARCH", [ "riscv", "arm64" ], "arch/${ARCH}/include/uapi/asm/bpf_perf_event.h", "", d)}'
113PERF_SRC ?= "Makefile \ 136PERF_SRC ?= "Makefile \
114 tools/arch \ 137 tools/arch \
115 tools/build \ 138 tools/build \
@@ -119,18 +142,26 @@ PERF_SRC ?= "Makefile \
119 tools/perf \ 142 tools/perf \
120 tools/scripts \ 143 tools/scripts \
121 scripts/ \ 144 scripts/ \
145 arch/arm64/tools \
146 ${PERF_BPF_EVENT_SRC} \
122 arch/${ARCH}/Makefile \ 147 arch/${ARCH}/Makefile \
123" 148"
124 149
125PERF_EXTRA_LDFLAGS = "" 150PERF_EXTRA_LDFLAGS = ""
126 151
127# MIPS N32 152# MIPS N32/N64
128PERF_EXTRA_LDFLAGS_mipsarchn32eb = "-m elf32btsmipn32" 153PERF_EXTRA_LDFLAGS:mipsarchn32eb = "-m elf32btsmipn32"
129PERF_EXTRA_LDFLAGS_mipsarchn32el = "-m elf32ltsmipn32" 154PERF_EXTRA_LDFLAGS:mipsarchn32el = "-m elf32ltsmipn32"
155PERF_EXTRA_LDFLAGS:mipsarchn64eb = "-m elf64btsmip"
156PERF_EXTRA_LDFLAGS:mipsarchn64el = "-m elf64ltsmip"
130 157
131do_compile() { 158do_compile() {
132 # Linux kernel build system is expected to do the right thing 159 # Linux kernel build system is expected to do the right thing
133 unset CFLAGS 160 unset CFLAGS
161 test -e ${S}/tools/lib/traceevent/plugins/Makefile && \
162 sed -i -e 's|\$(libdir)/traceevent/plugins|\$(libdir)/traceevent_${KERNEL_VERSION}/plugins|g' ${S}/tools/lib/traceevent/plugins/Makefile
163 test -e ${S}/tools/perf/Makefile.config && \
164 sed -i -e 's|\$(libdir)/traceevent/plugins|\$(libdir)/traceevent_${KERNEL_VERSION}/plugins|g' ${S}/tools/perf/Makefile.config
134 oe_runmake all 165 oe_runmake all
135} 166}
136 167
@@ -139,8 +170,11 @@ do_install() {
139 unset CFLAGS 170 unset CFLAGS
140 oe_runmake install 171 oe_runmake install
141 # we are checking for this make target to be compatible with older perf versions 172 # we are checking for this make target to be compatible with older perf versions
142 if ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'true', 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then 173 if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then
143 oe_runmake DESTDIR=${D} install-python_ext 174 oe_runmake DESTDIR=${D} install-python_ext
175 if [ -e ${D}${libdir}/python*/site-packages/perf-*/SOURCES.txt ]; then
176 sed -i -e 's#${WORKDIR}##g' ${D}${libdir}/python*/site-packages/perf-*/SOURCES.txt
177 fi
144 fi 178 fi
145} 179}
146 180
@@ -155,7 +189,8 @@ python copy_perf_source_from_kernel() {
155 src = oe.path.join(src_dir, s) 189 src = oe.path.join(src_dir, s)
156 dest = oe.path.join(dest_dir, s) 190 dest = oe.path.join(dest_dir, s)
157 if not os.path.exists(src): 191 if not os.path.exists(src):
158 bb.fatal("Path does not exist: %s. Maybe PERF_SRC does not match the kernel version." % src) 192 bb.warn("Path does not exist: %s. Maybe PERF_SRC lists more files than what your kernel version provides and needs." % src)
193 continue
159 if os.path.isdir(src): 194 if os.path.isdir(src):
160 oe.path.copyhardlinktree(src, dest) 195 oe.path.copyhardlinktree(src, dest)
161 else: 196 else:
@@ -164,7 +199,7 @@ python copy_perf_source_from_kernel() {
164 bb.utils.copyfile(src, dest) 199 bb.utils.copyfile(src, dest)
165} 200}
166 201
167do_configure_prepend () { 202do_configure:prepend () {
168 # If building a multlib based perf, the incorrect library path will be 203 # If building a multlib based perf, the incorrect library path will be
169 # detected by perf, since it triggers via: ifeq ($(ARCH),x86_64). In a 32 bit 204 # detected by perf, since it triggers via: ifeq ($(ARCH),x86_64). In a 32 bit
170 # build, with a 64 bit multilib, the arch won't match and the detection of a 205 # build, with a 64 bit multilib, the arch won't match and the detection of a
@@ -200,25 +235,101 @@ do_configure_prepend () {
200 if [ -e "${S}/tools/perf/Makefile.perf" ]; then 235 if [ -e "${S}/tools/perf/Makefile.perf" ]; then
201 sed -i -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \ 236 sed -i -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \
202 ${S}/tools/perf/Makefile.perf 237 ${S}/tools/perf/Makefile.perf
203 sed -i -e "s,prefix='\$(DESTDIR_SQ)/usr'$,prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(DESTDIR)\$(PYTHON_SITEPACKAGES_DIR)',g" \ 238 # Variant with linux-yocto-specific patch
239 sed -i -e "s,prefix='\$(DESTDIR_SQ)/usr'$,prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(PYTHON_SITEPACKAGES_DIR)' --root='\$(DESTDIR)',g" \
240 ${S}/tools/perf/Makefile.perf
241 # Variant for mainline Linux
242 sed -i -e "s,root='/\$(DESTDIR_SQ)',prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(PYTHON_SITEPACKAGES_DIR)' --root='/\$(DESTDIR_SQ)',g" \
204 ${S}/tools/perf/Makefile.perf 243 ${S}/tools/perf/Makefile.perf
205 # backport https://github.com/torvalds/linux/commit/e4ffd066ff440a57097e9140fa9e16ceef905de8 244 # backport https://github.com/torvalds/linux/commit/e4ffd066ff440a57097e9140fa9e16ceef905de8
206 sed -i -e 's,\($(Q)$(SHELL) .$(arch_errno_tbl).\) $(CC) $(arch_errno_hdr_dir),\1 $(firstword $(CC)) $(arch_errno_hdr_dir),g' \ 245 sed -i -e 's,\($(Q)$(SHELL) .$(arch_errno_tbl).\) $(CC) $(arch_errno_hdr_dir),\1 $(firstword $(CC)) $(arch_errno_hdr_dir),g' \
207 ${S}/tools/perf/Makefile.perf 246 ${S}/tools/perf/Makefile.perf
208 fi 247 fi
209 sed -i -e "s,--root='/\$(DESTDIR_SQ)',--prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(DESTDIR)\$(PYTHON_SITEPACKAGES_DIR)',g" \ 248 sed -i -e "s,--root='/\$(DESTDIR_SQ)',--prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(DESTDIR)\$(PYTHON_SITEPACKAGES_DIR)',g" \
210 ${S}/tools/perf/Makefile* 249 ${S}/tools/perf/Makefile
211 250
212 if [ -e "${S}/tools/build/Makefile.build" ]; then 251 if [ -e "${S}/tools/build/Makefile.build" ]; then
213 sed -i -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \ 252 sed -i -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \
214 ${S}/tools/build/Makefile.build 253 ${S}/tools/build/Makefile.build
215 fi 254 fi
216 255
256 # start reproducibility substitutions
257 if [ -e "${S}/tools/perf/Makefile.config" ]; then
258 # The following line in the Makefle:
259 # override PYTHON := $(call get-executable-or-default,PYTHON,$(PYTHON_AUTO))
260 # "PYTHON" / "PYTHON_AUTO" have the full path as part of the variable. We've
261 # ensure that the environment is setup and we do not need the full path to be
262 # captured, since the symbol gets built into the executable, making it not
263 # reproducible.
264 sed -i -e 's,$(call get-executable-or-default\,PYTHON\,$(PYTHON_AUTO)),$(notdir $(call get-executable-or-default\,PYTHON\,$(PYTHON_AUTO))),g' \
265 ${S}/tools/perf/Makefile.config
266 # The same line is in older releases, but looking explicitly for Python 2
267 sed -i -e 's,$(call get-executable-or-default\,PYTHON\,$(PYTHON2)),$(notdir $(call get-executable-or-default\,PYTHON\,$(PYTHON2))),g' \
268 ${S}/tools/perf/Makefile.config
269
270 # likewise with this substitution. Kernels with commit 18f2967418d031a39
271 # [perf tools: Use Python devtools for version autodetection rather than runtime]
272 # need this substitution for reproducibility.
273 sed -i -e 's,$(call get-executable-or-default\,PYTHON\,$(subst -config\,\,$(PYTHON_AUTO))),$(notdir $(call get-executable-or-default\,PYTHON\,$(subst -config\,\,$(PYTHON_AUTO)))),g' \
274 ${S}/tools/perf/Makefile.config
275
276 # The following line:
277 # srcdir_SQ = $(patsubst %tools/perf,tools/perf,$(subst ','\'',$(srcdir))),
278 # Captures the full src path of perf, which of course makes it not
279 # reproducible. We really only need the relative location 'tools/perf', so we
280 # change the Makefile line to remove everything before 'tools/perf'
281 sed -i -e "s%srcdir_SQ = \$(subst ','\\\'',\$(srcdir))%srcdir_SQ = \$(patsubst \%tools/perf,tools/perf,\$(subst ','\\\'',\$(srcdir)))%g" \
282 ${S}/tools/perf/Makefile.config
283 # Avoid hardcoded path to python-native
284 sed -i -e 's#\(PYTHON_WORD := \)$(call shell-wordify,$(PYTHON))#\1 python3#g' \
285 ${S}/tools/perf/Makefile.config
286 fi
287 if [ -e "${S}/tools/perf/tests/Build" ]; then
288 # OUTPUT is the full path, we have python on the path so we remove it from the
289 # definition. This is captured in the perf binary, so breaks reproducibility
290 sed -i -e 's,PYTHONPATH="BUILD_STR($(OUTPUT)python)",PYTHONPATH="BUILD_STR(python)",g' \
291 ${S}/tools/perf/tests/Build
292 fi
293 if [ -e "${S}/tools/perf/util/Build" ]; then
294 # To avoid bison generating #ifdefs that have captured paths, we make sure
295 # all the calls have YFLAGS, which contains prefix mapping information.
296 sed -i -e 's,$(BISON),$(BISON) $(YFLAGS),g' ${S}/tools/perf/util/Build
297 fi
298 if [ -e "${S}/scripts/Makefile.host" ]; then
299 # To avoid yacc (bison) generating #ifdefs that have captured paths, we make sure
300 # all the calls have YFLAGS, which contains prefix mapping information.
301 sed -i -e 's,$(YACC),$(YACC) $(YFLAGS),g' ${S}/scripts/Makefile.host
302 fi
303 if [ -e "${S}/tools/perf/pmu-events/Build" ]; then
304 target='$(OUTPUT)pmu-events/pmu-events.c $(V)'
305 replacement1='$(OUTPUT)pmu-events/pmu-events.c $(V)\n'
306 replacement2='\t$(srctree)/sort-pmuevents.py $(OUTPUT)pmu-events/pmu-events.c $(OUTPUT)pmu-events/pmu-events.c.new\n'
307 replacement3='\tcp $(OUTPUT)pmu-events/pmu-events.c.new $(OUTPUT)pmu-events/pmu-events.c'
308 sed -i -e "s,$target,$replacement1$replacement2$replacement3,g" \
309 "${S}/tools/perf/pmu-events/Build"
310 fi
311 if [ -e "${S}/tools/perf/pmu-events/jevents.py" ]; then
312 sed -i -e "s#os.scandir(path)#sorted(os.scandir(path), key=lambda e: e.name)#g" \
313 "${S}/tools/perf/pmu-events/jevents.py"
314 fi
315 if [ -e "${S}/tools/perf/arch/arm64/Makefile" ]; then
316 sed -i 's,sysdef := $(srctree)/,sysdef := ,' ${S}/tools/perf/arch/arm64/Makefile
317 sed -i 's,$(incpath) $(sysdef),$(incpath) $(srctree)/$(sysdef) $(sysdef),' ${S}/tools/perf/arch/arm64/Makefile
318 fi
319 if [ -e "${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl" ]; then
320 if ! grep -q input_rel ${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl; then
321 sed -i 's,input=$4,input=$4\ninput_rel=$5,' ${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl
322 fi
323 sed -i 's,#include \\"\$input\\",#include \\"\$input_rel\\",' ${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl
324 fi
325 # end reproducibility substitutions
326
217 # We need to ensure the --sysroot option in CC is preserved 327 # We need to ensure the --sysroot option in CC is preserved
218 if [ -e "${S}/tools/perf/Makefile.perf" ]; then 328 if [ -e "${S}/tools/perf/Makefile.perf" ]; then
219 sed -i 's,CC = $(CROSS_COMPILE)gcc,#CC,' ${S}/tools/perf/Makefile.perf 329 sed -i 's,CC = $(CROSS_COMPILE)gcc,#CC,' ${S}/tools/perf/Makefile.perf
220 sed -i 's,AR = $(CROSS_COMPILE)ar,#AR,' ${S}/tools/perf/Makefile.perf 330 sed -i 's,AR = $(CROSS_COMPILE)ar,#AR,' ${S}/tools/perf/Makefile.perf
221 sed -i 's,LD = $(CROSS_COMPILE)ld,#LD,' ${S}/tools/perf/Makefile.perf 331 sed -i 's,LD = $(CROSS_COMPILE)ld,#LD,' ${S}/tools/perf/Makefile.perf
332 sed -i 's,PKG_CONFIG = $(CROSS_COMPILE)pkg-config,#PKG_CONFIG,' ${S}/tools/perf/Makefile.perf
222 fi 333 fi
223 if [ -e "${S}/tools/lib/api/Makefile" ]; then 334 if [ -e "${S}/tools/lib/api/Makefile" ]; then
224 sed -i 's,CC = $(CROSS_COMPILE)gcc,#CC,' ${S}/tools/lib/api/Makefile 335 sed -i 's,CC = $(CROSS_COMPILE)gcc,#CC,' ${S}/tools/lib/api/Makefile
@@ -235,6 +346,9 @@ do_configure_prepend () {
235 if [ -e "${S}/tools/build/Makefile.feature" ]; then 346 if [ -e "${S}/tools/build/Makefile.feature" ]; then
236 sed -i 's,CFLAGS=,CC="\$(CC)" CFLAGS=,' ${S}/tools/build/Makefile.feature 347 sed -i 's,CFLAGS=,CC="\$(CC)" CFLAGS=,' ${S}/tools/build/Makefile.feature
237 fi 348 fi
349 # The libperl feature check produces fatal warnings due to -Werror being
350 # used, silence enough errors that the check passes.
351 sed -i 's/\(FLAGS_PERL_EMBED=.*\)/\1 -Wno-error=unused-function -Wno-error=attributes/' ${S}/tools/build/feature/Makefile
238 352
239 # 3.17-rc1+ has a include issue for arm/powerpc. Temporarily sed in the appropriate include 353 # 3.17-rc1+ has a include issue for arm/powerpc. Temporarily sed in the appropriate include
240 if [ -e "${S}/tools/perf/arch/$ARCH/util/skip-callchain-idx.c" ]; then 354 if [ -e "${S}/tools/perf/arch/$ARCH/util/skip-callchain-idx.c" ]; then
@@ -254,9 +368,17 @@ do_configure_prepend () {
254 # so we copy it from the sysroot unistd.h to the perf unistd.h 368 # so we copy it from the sysroot unistd.h to the perf unistd.h
255 install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h 369 install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
256 install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/include/uapi/asm-generic/unistd.h 370 install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/include/uapi/asm-generic/unistd.h
371
372 # the fetcher is inhibited by the 'inherit kernelsrc', so we do a quick check and
373 # copy for a helper script we need
374 for p in $(echo ${FILESPATH} | tr ':' '\n'); do
375 if [ -e $p/sort-pmuevents.py ]; then
376 cp $p/sort-pmuevents.py ${S}
377 fi
378 done
257} 379}
258 380
259python do_package_prepend() { 381python do_package:prepend() {
260 d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0]) 382 d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
261} 383}
262 384
@@ -265,25 +387,36 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
265 387
266PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python" 388PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python"
267 389
268RDEPENDS_${PN} += "elfutils bash" 390RDEPENDS:${PN} += "elfutils bash"
269RDEPENDS_${PN}-archive =+ "bash" 391RDEPENDS:${PN}-archive =+ "bash"
270RDEPENDS_${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python3', '', d)}" 392RDEPENDS:${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}"
271RDEPENDS_${PN}-perl =+ "bash perl perl-modules" 393RDEPENDS:${PN}-perl =+ "bash perl perl-modules"
272RDEPENDS_${PN}-tests =+ "python3" 394RDEPENDS:${PN}-tests =+ "python3 bash perl"
273
274RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG', 'scripting', '${PN}-perl ${PN}-python', '',d)}"
275RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}"
276 395
396RSUGGESTS:${PN} += "${PN}-archive ${PN}-tests \
397 ${@bb.utils.contains('PACKAGECONFIG', 'perl', '${PN}-perl', '', d)} \
398 ${@bb.utils.contains('PACKAGECONFIG', 'python', '${PN}-python', '', d)} \
399 "
277FILES_SOLIBSDEV = "" 400FILES_SOLIBSDEV = ""
278FILES_${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core ${libdir}/traceevent ${libdir}/libperf-jvmti.so" 401FILES:${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core ${libdir}/traceevent* ${libdir}/libperf-jvmti.so"
279FILES_${PN}-archive = "${libdir}/perf/perf-core/perf-archive" 402FILES:${PN}-archive = "${libdir}/perf/perf-core/perf-archive"
280FILES_${PN}-tests = "${libdir}/perf/perf-core/tests ${libexecdir}/perf-core/tests" 403FILES:${PN}-tests = "${libdir}/perf/perf-core/tests ${libexecdir}/perf-core/tests"
281FILES_${PN}-python = " \ 404FILES:${PN}-python = " \
282 ${PYTHON_SITEPACKAGES_DIR} \ 405 ${PYTHON_SITEPACKAGES_DIR} \
283 ${libexecdir}/perf-core/scripts/python \ 406 ${libexecdir}/perf-core/scripts/python \
284 " 407 "
285FILES_${PN}-perl = "${libexecdir}/perf-core/scripts/perl" 408FILES:${PN}-perl = "${libexecdir}/perf-core/scripts/perl"
286 409
410DEBUG_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized"
287 411
288INHIBIT_PACKAGE_DEBUG_SPLIT="1" 412PACKAGESPLITFUNCS =+ "perf_fix_sources"
289DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized" 413
414perf_fix_sources () {
415 for f in util/parse-events-flex.h util/parse-events-flex.c util/pmu-flex.c \
416 util/pmu-flex.h util/expr-flex.h util/expr-flex.c; do
417 f=${PKGD}${TARGET_DBGSRC_DIR}/$f
418 if [ -e $f ]; then
419 sed -i -e 's#${S}/##g' $f
420 fi
421 done
422}
diff --git a/meta/recipes-kernel/perf/perf/sort-pmuevents.py b/meta/recipes-kernel/perf/perf/sort-pmuevents.py
new file mode 100755
index 0000000000..0a87e553ab
--- /dev/null
+++ b/meta/recipes-kernel/perf/perf/sort-pmuevents.py
@@ -0,0 +1,100 @@
1#!/usr/bin/env python3
2
3# perf pmu-events sorting tool
4#
5# Copyright (C) 2021 Bruce Ashfield
6#
7# SPDX-License-Identifier: MIT
8#
9
10import sys
11import os
12import re
13from collections import OrderedDict
14
15if len(sys.argv) < 2:
16 print( "[ERROR]: input and output pmu files missing" )
17 sys.exit(1)
18
19if len(sys.argv) < 3:
20 print( "[ERROR]: output pmu file missing" )
21 sys.exit(1)
22
23infile = sys.argv[1]
24outfile = sys.argv[2]
25
26if not os.path.exists(infile):
27 print( "ERROR. input file does not exist: %s" % infile )
28 sys.exit(1)
29
30if os.path.exists(outfile):
31 print( "WARNING. output file will be overwritten: %s" % infile )
32
33with open(infile, 'r') as file:
34 data = file.read()
35
36preamble_regex = re.compile( '^(.*?)^(struct|const struct|static struct|static const struct)', re.MULTILINE | re.DOTALL )
37
38preamble = re.search( preamble_regex, data )
39struct_block_regex = re.compile(r'^(struct|const struct|static struct|static const struct).*?(\w+) (.*?)\[\] = {(.*?)^};', re.MULTILINE | re.DOTALL )
40field_regex = re.compile(r'{.*?},', re.MULTILINE | re.DOTALL )
41cpuid_regex = re.compile(r'\.cpuid = (.*?),', re.MULTILINE | re.DOTALL )
42name_regex = re.compile(r'\.name = (.*?),', re.MULTILINE | re.DOTALL )
43
44# create a dictionary structure to store all the structs, their
45# types and then their fields.
46entry_dict = {}
47for struct in re.findall( struct_block_regex, data ):
48 # print( "struct: %s %s %s" % (struct[0],struct[1],struct[2]) )
49 entry_dict[struct[2]] = {}
50 entry_dict[struct[2]]['type_prefix'] = struct[0]
51 entry_dict[struct[2]]['type'] = struct[1]
52 entry_dict[struct[2]]['fields'] = {}
53 for entry in re.findall( field_regex, struct[3] ):
54 #print( " entry: %s" % entry )
55 cpuid = re.search( cpuid_regex, entry )
56 if cpuid:
57 #print( " cpuid found: %s" % cpuid.group(1) )
58 entry_dict[struct[2]]['fields'][cpuid.group(1)] = entry
59
60 name = re.search( name_regex, entry )
61 if name:
62 #print( " name found: %s" % name.group(1) )
63 entry_dict[struct[2]]['fields'][name.group(1)] = entry
64
65 # unmatched entries are most likely array terminators and
66 # should end up as the last element in the sorted list, which
67 # is achieved by using '0' as the key
68 if not cpuid and not name:
69 entry_dict[struct[2]]['fields']['0'] = entry
70
71# created ordered dictionaries from the captured values. These are ordered by
72# a sorted() iteration of the keys. We don't care about the order we read
73# things, just the sorted order. Hency why we couldn't create these during
74# reading.
75#
76# yes, there's a more concise way to do this, but our nested dictionaries of
77# fields make it complex enough that it becomes unreadable.
78entry_dict_sorted = OrderedDict()
79for i in sorted(entry_dict.keys()):
80 entry_dict_sorted[i] = {}
81 entry_dict_sorted[i]['type_prefix'] = entry_dict[i]['type_prefix']
82 entry_dict_sorted[i]['type'] = entry_dict[i]['type']
83 entry_dict_sorted[i]['fields'] = {}
84 for f in sorted(entry_dict[i]['fields'].keys()):
85 entry_dict_sorted[i]['fields'][f] = entry_dict[i]['fields'][f]
86
87# dump the sorted elements to the outfile
88outf = open( outfile, 'w' )
89
90print( preamble.group(1) )
91outf.write( preamble.group(1) )
92for d in entry_dict_sorted:
93 outf.write( "%s %s %s[] = {\n" % (entry_dict_sorted[d]['type_prefix'], entry_dict_sorted[d]['type'],d) )
94 for f in entry_dict_sorted[d]['fields']:
95 outf.write( entry_dict_sorted[d]['fields'][f] + '\n' )
96
97 outf.write( "};\n" )
98
99outf.close()
100
diff --git a/meta/recipes-kernel/powertop/powertop_2.13.bb b/meta/recipes-kernel/powertop/powertop_2.13.bb
deleted file mode 100644
index 8c7e78fd94..0000000000
--- a/meta/recipes-kernel/powertop/powertop_2.13.bb
+++ /dev/null
@@ -1,32 +0,0 @@
1SUMMARY = "Power usage tool"
2DESCRIPTION = "Linux tool to diagnose issues with power consumption and power management."
3HOMEPAGE = "https://01.org/powertop/"
4BUGTRACKER = "https://app.devzing.com/powertopbugs/bugzilla"
5DEPENDS = "ncurses libnl pciutils autoconf-archive"
6LICENSE = "GPLv2"
7LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
8
9SRC_URI = "git://github.com/fenrus75/powertop;protocol=https \
10 file://0001-wakeup_xxx.h-include-limits.h.patch \
11"
12SRCREV = "184cee06b2d64679bae5f806fe0a218827fdde99"
13
14S = "${WORKDIR}/git"
15
16inherit autotools gettext pkgconfig bash-completion
17
18# we do not want libncursesw if we can
19do_configure_prepend() {
20 # configure.ac checks for delwin() in "ncursesw ncurses" so let's drop first one
21 sed -i -e "s/ncursesw//g" ${S}/configure.ac
22 mkdir -p ${B}/src/tuning/
23 echo "${PV}" > ${S}/version-long
24 echo "${PV}" > ${S}/version-short
25 cp ${STAGING_DATADIR}/aclocal/ax_require_defined.m4 ${S}/m4/
26}
27
28inherit update-alternatives
29ALTERNATIVE_${PN} = "powertop"
30ALTERNATIVE_TARGET[powertop] = "${sbindir}/powertop"
31ALTERNATIVE_LINK_NAME[powertop] = "${sbindir}/powertop"
32ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-kernel/powertop/powertop_2.15.bb b/meta/recipes-kernel/powertop/powertop_2.15.bb
new file mode 100644
index 0000000000..65c6d0fcd3
--- /dev/null
+++ b/meta/recipes-kernel/powertop/powertop_2.15.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Power usage tool"
2DESCRIPTION = "Linux tool to diagnose issues with power consumption and power management."
3HOMEPAGE = "https://01.org/powertop/"
4BUGTRACKER = "https://app.devzing.com/powertopbugs/bugzilla"
5DEPENDS = "ncurses libnl pciutils autoconf-archive-native"
6LICENSE = "GPL-2.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
8
9SRC_URI = "git://github.com/fenrus75/powertop;protocol=https;branch=master \
10 file://0001-wakeup_xxx.h-include-limits.h.patch \
11 "
12SRCREV = "d51ad395436d4d1dcc3ca46e1519ffeb475bf651"
13
14S = "${WORKDIR}/git"
15
16LDFLAGS:append = " -pthread"
17
18inherit autotools gettext pkgconfig bash-completion
19
20inherit update-alternatives
21ALTERNATIVE:${PN} = "powertop"
22ALTERNATIVE_TARGET[powertop] = "${sbindir}/powertop"
23ALTERNATIVE_LINK_NAME[powertop] = "${sbindir}/powertop"
24ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-kernel/systemtap/systemtap-native_git.bb b/meta/recipes-kernel/systemtap/systemtap-native_git.bb
index 19cc1cf0f0..2690b259c8 100644
--- a/meta/recipes-kernel/systemtap/systemtap-native_git.bb
+++ b/meta/recipes-kernel/systemtap/systemtap-native_git.bb
@@ -1,6 +1,6 @@
1 1
2require systemtap_git.bb 2require systemtap_git.bb
3 3
4inherit native 4inherit_defer native
5 5
6addtask addto_recipe_sysroot after do_populate_sysroot before do_build 6addtask addto_recipe_sysroot after do_populate_sysroot before do_build
diff --git a/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb b/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
deleted file mode 100644
index 46820ef489..0000000000
--- a/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
+++ /dev/null
@@ -1,40 +0,0 @@
1SUMMARY = "UProbes kernel module for SystemTap"
2
3require systemtap_git.inc
4
5DEPENDS = "systemtap virtual/kernel"
6
7# On systems without CONFIG_UTRACE, this package is empty.
8ALLOW_EMPTY_${PN} = "1"
9
10inherit module-base gettext
11
12FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemtap:"
13
14FILES_${PN} += "${datadir}/systemtap/runtime/uprobes"
15
16# Compile and install the uprobes kernel module on machines with utrace
17# support. Note that staprun expects it in the systemtap/runtime directory,
18# not in /lib/modules.
19do_compile() {
20 if grep -q "CONFIG_UTRACE=y" ${STAGING_KERNEL_BUILDDIR}/.config
21 then
22 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
23 oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
24 AR="${KERNEL_AR}" \
25 -C ${STAGING_KERNEL_DIR} scripts
26 oe_runmake KDIR=${STAGING_KERNEL_DIR} \
27 M="${S}/runtime/uprobes/" \
28 CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
29 AR="${KERNEL_AR}" \
30 -C "${S}/runtime/uprobes/"
31 fi
32}
33
34do_install() {
35 if [ -e "${S}/runtime/uprobes/uprobes.ko" ]
36 then
37 install -d ${D}${datadir}/systemtap/runtime/uprobes/
38 install -m 0644 ${S}/runtime/uprobes/uprobes.ko ${D}${datadir}/systemtap/runtime/uprobes/
39 fi
40}
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-Makefile.am-remove-runtime-linux-uprobes-and-runtime.patch b/meta/recipes-kernel/systemtap/systemtap/0001-Makefile.am-remove-runtime-linux-uprobes-and-runtime.patch
new file mode 100644
index 0000000000..2d46a3962d
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/0001-Makefile.am-remove-runtime-linux-uprobes-and-runtime.patch
@@ -0,0 +1,40 @@
1From 5a01e28bd806326b2143e3e6bb28d4780c5d879d Mon Sep 17 00:00:00 2001
2From: Victor Kamensky <victor.kamensky7@gmail.com>
3Date: Sun, 3 Dec 2023 18:40:05 -0800
4Subject: [PATCH] Makefile.am: remove runtime/linux/uprobes and
5 runtime/linux/uprobes2 install
6
7"PR30434 continuation: Removed old uprobes, uprobes2 implementation,
8uprobes-inc.h & any mentions of CONFIG_UTRACE." commit removed uprobes,
9and uprobes2 sources and directories, but Makefile.am still tries to
10install them. In fact after failing to 'cd' into runtime/linux/uprobes
11directory it copies top level *.[ch] files into
12${prefix}/share/systemtap/runtime/linux/uprobes directory.
13
14The issue was caught by OpenEmbedded project do_package_qa checks.
15
16Signed-off-by: Victor Kamensky <victor.kamensky7@gmail.com>
17
18Upstream-Status: Submitted [https://sourceware.org/pipermail/systemtap/2023q4/027880.html]
19---
20 Makefile.am | 4 ----
21 1 file changed, 4 deletions(-)
22
23diff --git a/Makefile.am b/Makefile.am
24index 5737c6b20..2ba896088 100644
25--- a/Makefile.am
26+++ b/Makefile.am
27@@ -277,10 +277,6 @@ endif
28 do $(INSTALL_DATA) -D $$f $(DESTDIR)$(pkgdatadir)/runtime/softfloat/$$f; done)
29 (cd $(srcdir)/runtime/linux; for f in *.[ch]; \
30 do $(INSTALL_DATA) -D $$f $(DESTDIR)$(pkgdatadir)/runtime/linux/$$f; done)
31- (cd $(srcdir)/runtime/linux/uprobes; for f in Makefile *.[ch]; \
32- do $(INSTALL_DATA) -D $$f $(DESTDIR)$(pkgdatadir)/runtime/linux/uprobes/$$f; done)
33- (cd $(srcdir)/runtime/linux/uprobes2; for f in *.[ch]; \
34- do $(INSTALL_DATA) -D $$f $(DESTDIR)$(pkgdatadir)/runtime/linux/uprobes2/$$f; done)
35 (cd $(srcdir)/tapset; find . \( -name '*.stp' -o -name '*.stpm' -o -name README \) -print \
36 | while read f; do $(INSTALL_DATA) -D $$f $(DESTDIR)$(pkgdatadir)/tapset/$$f; done)
37 (cd $(srcdir)/testsuite/systemtap.examples; find . -type f -print \
38--
392.31.1
40
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-bpf-translate.cxx-fix-build-against-upcoming-gcc-14-.patch b/meta/recipes-kernel/systemtap/systemtap/0001-bpf-translate.cxx-fix-build-against-upcoming-gcc-14-.patch
new file mode 100644
index 0000000000..e3d94d9312
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/0001-bpf-translate.cxx-fix-build-against-upcoming-gcc-14-.patch
@@ -0,0 +1,40 @@
1From d42139cf9cd26d0c0363fcfe007716baeb8de517 Mon Sep 17 00:00:00 2001
2From: Sergei Trofimovich <slyich@gmail.com>
3Date: Fri, 22 Dec 2023 19:42:38 +0000
4Subject: [PATCH] bpf-translate.cxx: fix build against upcoming `gcc-14`
5 (`-Werror=calloc-transposed-args`)
6
7`gcc-14` added a new `-Wcalloc-transposed-args` warning recently. It
8detected minor infelicity in `calloc()` API usage in `systemtap`:
9
10 bpf-translate.cxx: In function 'bpf::BPF_Section* bpf::output_probe(BPF_Output&, program&, const std::string&, unsigned int)':
11 bpf-translate.cxx:5044:39: error: 'void* calloc(size_t, size_t)' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
12 5044 | bpf_insn *buf = (bpf_insn*) calloc (sizeof(bpf_insn), ninsns);
13 | ^~~~~~~~~~~~~~~~
14 bpf-translate.cxx:5044:39: note: earlier argument should specify number of elements, later size of each element
15
16Upstream-Status: Backport [https://sourceware.org/git/?p=systemtap.git;a=commit;h=d42139cf9cd26d0c0363fcfe007716baeb8de517]
17Signed-off-by: Khem Raj <raj.khem@gmail.com>
18---
19 bpf-translate.cxx | 4 ++--
20 1 file changed, 2 insertions(+), 2 deletions(-)
21
22diff --git a/bpf-translate.cxx b/bpf-translate.cxx
23index 1a9302463..aa8ef65ce 100644
24--- a/bpf-translate.cxx
25+++ b/bpf-translate.cxx
26@@ -5041,9 +5041,9 @@ output_probe(BPF_Output &eo, program &prog,
27 }
28 }
29
30- bpf_insn *buf = (bpf_insn*) calloc (sizeof(bpf_insn), ninsns);
31+ bpf_insn *buf = (bpf_insn*) calloc (ninsns, sizeof(bpf_insn));
32 assert (buf);
33- Elf64_Rel *rel = (Elf64_Rel*) calloc (sizeof(Elf64_Rel), nreloc);
34+ Elf64_Rel *rel = (Elf64_Rel*) calloc (nreloc, sizeof(Elf64_Rel));
35 assert (rel);
36
37 unsigned i = 0, r = 0;
38--
392.43.0
40
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-configure.ac-fix-broken-libdebuginfod-library-auto-d.patch b/meta/recipes-kernel/systemtap/systemtap/0001-configure.ac-fix-broken-libdebuginfod-library-auto-d.patch
new file mode 100644
index 0000000000..98641826f6
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/0001-configure.ac-fix-broken-libdebuginfod-library-auto-d.patch
@@ -0,0 +1,51 @@
1From 3913ad3e28a19811e1b52338112344a487057e4f Mon Sep 17 00:00:00 2001
2From: Victor Kamensky <victor.kamensky7@gmail.com>
3Date: Mon, 18 Dec 2023 03:13:38 +0000
4Subject: [PATCH 1/2] configure.ac: fix broken libdebuginfod library auto
5 detection
6
7After 2e67b053e3796ee7cf29a39f9698729b52078406 "configury: rework debuginfod searches"
8commit, libdebuginfod.so library auto detection is broken. It was reported by Martin Jansa
9on openembedded-core mailing list [1].
10
11Currently configure.ac does "AC_DEFINE([HAVE_LIBDEBUGINFOD], [1] ..." as long as
12no --without-debuginfod option is passed, regardless PKG_CHECK_MODULES check result.
13It seems to be bad copy/paste. Address the issue by moving the AC_DEFINE back to
14PKG_CHECK_MODULES action-if-found block.
15
16To reproduce the issue on FC system, one can do the following
17"sudo dnf remove elfutils-debuginfod-client-devel" and then try to build SystemTap
18util.cxx will fail to compile because of missing elfutils/debuginfod.h because
19config.h will have "#define HAVE_LIBDEBUGINFOD 1", while config.log and configure
20output indicates that check for libdebuginfod library failed.
21
22[1] https://lists.openembedded.org/g/openembedded-core/message/192109?p=%2C%2C%2C20%2C0%2C0%2C0%3A%3Acreated%2C0%2Csystemtap%2C20%2C2%2C0%2C102987514
23
24Upstream-Status: Submitted [https://sourceware.org/pipermail/systemtap/2023q4/027914.html]
25Signed-off-by: Victor Kamensky <victor.kamensky7@gmail.com>
26---
27 configure.ac | 5 ++---
28 1 file changed, 2 insertions(+), 3 deletions(-)
29
30diff --git a/configure.ac b/configure.ac
31index d9559c5c3..18cd7f84a 100644
32--- a/configure.ac
33+++ b/configure.ac
34@@ -219,12 +219,11 @@ dnl take the user at his or her word
35 elif test "x$with_debuginfod" != xno; then
36 dnl check in the system pkgconfig
37 PKG_CHECK_MODULES([debuginfod], [libdebuginfod >= 0.179],
38- [have_debuginfod=1],
39+ [have_debuginfod=1
40+ AC_DEFINE([HAVE_LIBDEBUGINFOD], [1], [Define to 1 if debuginfod is enabled.])],
41 [if test "x$with_debuginfod" = xyes; then
42 AC_MSG_ERROR(["--with-debuginfod was given, but libdebuginfod is missing or unusable."])
43 fi])
44- AC_DEFINE([HAVE_LIBDEBUGINFOD], [1], [Define to 1 if debuginfod is enabled.])
45- AC_MSG_RESULT([yes])
46 else
47 AC_MSG_RESULT([no])
48 fi
49--
502.31.1
51
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-prerelease-datestamp-fixes.patch b/meta/recipes-kernel/systemtap/systemtap/0001-prerelease-datestamp-fixes.patch
new file mode 100644
index 0000000000..afdc10a3fe
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/0001-prerelease-datestamp-fixes.patch
@@ -0,0 +1,23 @@
1From cfc2c1d53924face11e3fab78ded61c359778eb9 Mon Sep 17 00:00:00 2001
2From: "Frank Ch. Eigler" <fche@redhat.com>
3Date: Sat, 4 Nov 2023 12:19:59 -0400
4Subject: [PATCH] prerelease datestamp fixes
5
6Upstream-Status: Backport
7---
8 NEWS | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-)
10
11diff --git a/NEWS b/NEWS
12index c7f31e8b7..f0f9056c4 100644
13--- a/NEWS
14+++ b/NEWS
15@@ -1,4 +1,4 @@
16-* What's new in version 5.0, 2023-11-03
17+* What's new in version 5.0, 2023-11-04
18
19 - Performance improvements in uprobe registration and module startup.
20
21--
222.31.1
23
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-staprun-address-ncurses-6.3-failures.patch b/meta/recipes-kernel/systemtap/systemtap/0001-staprun-address-ncurses-6.3-failures.patch
new file mode 100644
index 0000000000..1decf21593
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/0001-staprun-address-ncurses-6.3-failures.patch
@@ -0,0 +1,61 @@
1From 191f528da19193d713d94ee252e2485efd9af4d3 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Mon, 25 Oct 2021 17:59:24 +0200
4Subject: [PATCH] staprun: address ncurses 6.3 failures
5
6Upstream-Status: Submitted [by email to smakarov@redhat.com,systemtap@sourceware.org]
7Signed-off-by: Alexander Kanavin <alex@linutronix.de>
8---
9 staprun/monitor.c | 24 ++++++++++++------------
10 1 file changed, 12 insertions(+), 12 deletions(-)
11
12diff --git a/staprun/monitor.c b/staprun/monitor.c
13index 478634c09..f4fbfd686 100644
14--- a/staprun/monitor.c
15+++ b/staprun/monitor.c
16@@ -448,12 +448,12 @@ void monitor_render(void)
17 if (active_window == 0)
18 wattron(status, A_BOLD);
19 wprintw(status, "\n%*s\t%*s\t%*s\t%*s\t%*s\t%*s\t%s\n",
20- width[p_index], HIGHLIGHT("index", p_index, comp_fn_index),
21- width[p_state], HIGHLIGHT("state", p_state, comp_fn_index),
22- width[p_hits], HIGHLIGHT("hits", p_hits, comp_fn_index),
23- width[p_min], HIGHLIGHT("min", p_min, comp_fn_index),
24- width[p_avg], HIGHLIGHT("avg", p_avg, comp_fn_index),
25- width[p_max], HIGHLIGHT("max", p_max, comp_fn_index),
26+ (int)width[p_index], HIGHLIGHT("index", p_index, comp_fn_index),
27+ (int)width[p_state], HIGHLIGHT("state", p_state, comp_fn_index),
28+ (int)width[p_hits], HIGHLIGHT("hits", p_hits, comp_fn_index),
29+ (int)width[p_min], HIGHLIGHT("min", p_min, comp_fn_index),
30+ (int)width[p_avg], HIGHLIGHT("avg", p_avg, comp_fn_index),
31+ (int)width[p_max], HIGHLIGHT("max", p_max, comp_fn_index),
32 HIGHLIGHT("name", p_name, comp_fn_index));
33 if (active_window == 0)
34 wattroff(status, A_BOLD);
35@@ -466,17 +466,17 @@ void monitor_render(void)
36 json_object *probe, *field;
37 probe = json_object_array_get_idx(jso_probe_list, i);
38 json_object_object_get_ex(probe, "index", &field);
39- wprintw(status, "%*s\t", width[p_index], json_object_get_string(field));
40+ wprintw(status, "%*s\t", (int)width[p_index], json_object_get_string(field));
41 json_object_object_get_ex(probe, "state", &field);
42- wprintw(status, "%*s\t", width[p_state], json_object_get_string(field));
43+ wprintw(status, "%*s\t", (int)width[p_state], json_object_get_string(field));
44 json_object_object_get_ex(probe, "hits", &field);
45- wprintw(status, "%*s\t", width[p_hits], json_object_get_string(field));
46+ wprintw(status, "%*s\t", (int)width[p_hits], json_object_get_string(field));
47 json_object_object_get_ex(probe, "min", &field);
48- wprintw(status, "%*s\t", width[p_min], json_object_get_string(field));
49+ wprintw(status, "%*s\t", (int)width[p_min], json_object_get_string(field));
50 json_object_object_get_ex(probe, "avg", &field);
51- wprintw(status, "%*s\t", width[p_avg], json_object_get_string(field));
52+ wprintw(status, "%*s\t", (int)width[p_avg], json_object_get_string(field));
53 json_object_object_get_ex(probe, "max", &field);
54- wprintw(status, "%*s\t", width[p_max], json_object_get_string(field));
55+ wprintw(status, "%*s\t", (int)width[p_max], json_object_get_string(field));
56 getyx(status, discard, cur_x);
57 json_object_object_get_ex(probe, "name", &field);
58 wprintw(status, "%.*s", max_cols-cur_x-1, json_object_get_string(field));
59--
602.20.1
61
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-staprun-fix-build-against-upcoming-gcc-14-Werror-cal.patch b/meta/recipes-kernel/systemtap/systemtap/0001-staprun-fix-build-against-upcoming-gcc-14-Werror-cal.patch
new file mode 100644
index 0000000000..22578fb3f6
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/0001-staprun-fix-build-against-upcoming-gcc-14-Werror-cal.patch
@@ -0,0 +1,36 @@
1From 52596f023652114642faba5726c99488529029ce Mon Sep 17 00:00:00 2001
2From: Sergei Trofimovich <slyich@gmail.com>
3Date: Thu, 21 Dec 2023 10:00:06 +0000
4Subject: [PATCH] staprun: fix build against upcoming `gcc-14`
5 (`-Werror=calloc-transposed-args`)
6
7`gcc-14` added a new `-Wcalloc-transposed-args` warning recently. It
8detected minor infelicity in `calloc()` API usage in `systemtap`:
9
10 staprun.c: In function 'main':
11 staprun.c:550:50: error: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
12 550 | char ** new_argv = calloc(sizeof(char *),argc+2);
13 | ^~~~
14
15Upstream-Status: Backport [https://sourceware.org/git/?p=systemtap.git;a=commit;h=52596f023652114642faba5726c99488529029ce]
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 staprun/staprun.c | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/staprun/staprun.c b/staprun/staprun.c
22index 8437f3af6..d1b0b221b 100644
23--- a/staprun/staprun.c
24+++ b/staprun/staprun.c
25@@ -547,7 +547,7 @@ int main(int argc, char **argv)
26 us to extend argv[], with all the C fun that entails. */
27 #ifdef HAVE_OPENAT
28 if (relay_basedir_fd >= 0) {
29- char ** new_argv = calloc(sizeof(char *),argc+2);
30+ char ** new_argv = calloc(argc+2, sizeof(char *));
31 const int new_Foption_size = 10; /* -FNNNNN */
32 char * new_Foption = malloc(new_Foption_size);
33 int i;
34--
352.43.0
36
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch b/meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch
deleted file mode 100644
index efc79f6c0f..0000000000
--- a/meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From cbf27cd54071f788231e69d96dbaad563f1010d4 Mon Sep 17 00:00:00 2001
2From: Bruce Ashfield <bruce.ashfield@gmail.com>
3Date: Fri, 18 Dec 2020 13:15:08 -0500
4Subject: [PATCH] transport: protect include and callsite with same conditional
5
6transport.c has the following code block:
7
8 if (!debugfs_p && security_locked_down (LOCKDOWN_DEBUGFS))
9
10Which is protected by the conditional STAPCONF_LOCKDOWN_DEBUGFS.
11
12linux/security.h provides the definition of LOCKDOWN_DEBUGFS, and
13must be included or we have a compilation issue.
14
15The include of security.h is protected by #ifdef CONFIG_SECURITY_LOCKDOWN_LSM,
16which means that in some configurations we can get out of sync with
17the include and the callsite.
18
19If we protect the include and the callsite with the same #ifdef, we can
20be sure that they will be consistent.
21
22Upstream-status: Inappropriate (kernel-devsrc specific)
23
24Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
25---
26 runtime/transport/transport.c | 2 +-
27 1 file changed, 1 insertion(+), 1 deletion(-)
28
29diff --git a/runtime/transport/transport.c b/runtime/transport/transport.c
30index bb4a98bd3..88e20ea28 100644
31--- a/runtime/transport/transport.c
32+++ b/runtime/transport/transport.c
33@@ -21,7 +21,7 @@
34 #include <linux/namei.h>
35 #include <linux/delay.h>
36 #include <linux/mutex.h>
37-#ifdef CONFIG_SECURITY_LOCKDOWN_LSM
38+#ifdef STAPCONF_LOCKDOWN_DEBUGFS
39 #include <linux/security.h>
40 #endif
41 #include "../uidgid_compatibility.h"
42--
432.19.1
44
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.bb b/meta/recipes-kernel/systemtap/systemtap_git.bb
index c4a6eef59a..68f5c76428 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.bb
+++ b/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -6,7 +6,10 @@ HOMEPAGE = "https://sourceware.org/systemtap/"
6 6
7require systemtap_git.inc 7require systemtap_git.inc
8 8
9SRC_URI += "file://0001-improve-reproducibility-for-c-compiling.patch" 9SRC_URI += " \
10 file://0001-improve-reproducibility-for-c-compiling.patch \
11 file://0001-staprun-address-ncurses-6.3-failures.patch \
12 "
10 13
11DEPENDS = "elfutils" 14DEPENDS = "elfutils"
12 15
@@ -21,58 +24,62 @@ STAP_DOCS ?= "--disable-docs --disable-publican --disable-refdocs"
21 24
22EXTRA_OECONF += "${STAP_DOCS} " 25EXTRA_OECONF += "${STAP_DOCS} "
23 26
24PACKAGECONFIG ??= "translator sqlite monitor python3-probes" 27PACKAGECONFIG ??= "translator sqlite monitor python3-probes ${@bb.utils.filter('DISTRO_FEATURES', 'debuginfod', d)}"
25PACKAGECONFIG[translator] = "--enable-translator,--disable-translator,boost,bash" 28PACKAGECONFIG[translator] = "--enable-translator,--disable-translator,boost,bash"
26PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt" 29PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt"
27PACKAGECONFIG[sqlite] = "--enable-sqlite,--disable-sqlite,sqlite3" 30PACKAGECONFIG[sqlite] = "--enable-sqlite,--disable-sqlite,sqlite3"
28PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor,ncurses json-c" 31PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor,ncurses json-c"
29PACKAGECONFIG[python3-probes] = "--with-python3-probes,--without-python3-probes,python3-setuptools-native" 32PACKAGECONFIG[python3-probes] = "--with-python3-probes,--without-python3-probes,python3-setuptools-native"
33PACKAGECONFIG[debuginfod] = "--with-debuginfod, --without-debuginfod"
30 34
31inherit autotools gettext pkgconfig systemd 35inherit autotools gettext pkgconfig systemd
32inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'distutils3-base', '', d)} 36inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'setuptools3-base', '', d)}
37
38# | ../git/elaborate.cxx:2601:21: error: storing the address of local variable 'sym' in '*s.systemtap_session::symbol_resolver' [-Werror=dangling-pointer=]
39CXXFLAGS += "-Wno-dangling-pointer"
33 40
34# exporter comes with python3-probes 41# exporter comes with python3-probes
35PACKAGES =+ "${PN}-exporter" 42PACKAGES =+ "${PN}-exporter"
36FILES_${PN}-exporter = "${sysconfdir}/stap-exporter/* \ 43FILES:${PN}-exporter = "${sysconfdir}/stap-exporter/* \
37 ${sysconfdir}/sysconfig/stap-exporter \ 44 ${sysconfdir}/sysconfig/stap-exporter \
38 ${systemd_unitdir}/system/stap-exporter.service \ 45 ${systemd_system_unitdir}/stap-exporter.service \
39 ${sbindir}/stap-exporter" 46 ${sbindir}/stap-exporter"
40RDEPENDS_${PN}-exporter = "${PN} python3-core python3-netclient" 47RDEPENDS:${PN}-exporter = "${PN} python3-core python3-netclient"
41SYSTEMD_SERVICE_${PN}-exporter = "stap-exporter.service" 48SYSTEMD_SERVICE:${PN}-exporter = "stap-exporter.service"
42 49
43PACKAGES =+ "${PN}-runtime" 50PACKAGES =+ "${PN}-runtime"
44FILES_${PN}-runtime = "\ 51FILES:${PN}-runtime = "\
45 ${bindir}/staprun \ 52 ${bindir}/staprun \
46 ${bindir}/stap-merge \ 53 ${bindir}/stap-merge \
47 ${bindir}/stapsh \ 54 ${bindir}/stapsh \
48 ${libexecdir}/${BPN}/stapio \ 55 ${libexecdir}/${BPN}/stapio \
49" 56"
50RDEPENDS_${PN}_class-target += "${PN}-runtime" 57RDEPENDS:${PN}:class-target += "${PN}-runtime"
51 58
52PACKAGES =+ "${PN}-examples" 59PACKAGES =+ "${PN}-examples"
53FILES_${PN}-examples = "${datadir}/${BPN}/examples/" 60FILES:${PN}-examples = "${datadir}/${BPN}/examples/"
54RDEPENDS_${PN}-examples += "${PN}" 61RDEPENDS:${PN}-examples += "${PN}"
55 62
56# don't complain that some examples involve bash, perl, php... 63# don't complain that some examples involve bash, perl, php...
57INSANE_SKIP_${PN}-examples += "file-rdeps" 64INSANE_SKIP:${PN}-examples += "file-rdeps"
58 65
59PACKAGES =+ "${PN}-python" 66PACKAGES =+ "${PN}-python"
60FILES_${PN}-python += "\ 67FILES:${PN}-python += "\
61 ${bindir}/dtrace \ 68 ${bindir}/dtrace \
62 ${libdir}/python*/ \ 69 ${libdir}/python*/ \
63 ${libexecdir}/${BPN}/python/ \ 70 ${libexecdir}/${BPN}/python/ \
64" 71"
65# python material requires sdt headers 72# python material requires sdt headers
66RDEPENDS_${PN}-python += "${PN}-dev python3-core" 73RDEPENDS:${PN}-python += "${PN}-dev python3-core"
67INSANE_SKIP_${PN}-python += "dev-deps" 74INSANE_SKIP:${PN}-python += "dev-deps"
68 75
69do_configure_prepend () { 76do_configure:prepend () {
70 # Improve reproducibility for c++ object files 77 # Improve reproducibility for c++ object files
71 reltivepath="${@os.path.relpath(d.getVar('STAGING_INCDIR'), d.getVar('S'))}" 78 reltivepath="${@os.path.relpath(d.getVar('STAGING_INCDIR'), d.getVar('S'))}"
72 sed -i "s:@RELATIVE_STAGING_INCDIR@:$reltivepath:g" ${S}/stringtable.h 79 sed -i "s:@RELATIVE_STAGING_INCDIR@:$reltivepath:g" ${S}/stringtable.h
73} 80}
74 81
75do_install_append () { 82do_install:append () {
76 if [ ! -f ${D}${bindir}/stap ]; then 83 if [ ! -f ${D}${bindir}/stap ]; then
77 # translator disabled case, need to leave only minimal runtime 84 # translator disabled case, need to leave only minimal runtime
78 rm -rf ${D}${datadir}/${PN} 85 rm -rf ${D}${datadir}/${PN}
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc
index 016b423847..c574bcb2ba 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -1,17 +1,21 @@
1LICENSE = "GPLv2" 1LICENSE = "GPL-2.0-only"
2LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 2LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
3SRCREV = "988f439af39a359b4387963ca4633649866d8275" 3SRCREV = "e72dc118e563c645d93a1a2d771e8d90e8fec1ae"
4PV = "4.4" 4PV = "5.0"
5 5
6SRC_URI = "git://sourceware.org/git/systemtap.git \ 6SRC_URI = "git://sourceware.org/git/systemtap.git;branch=master;protocol=https \
7 file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \ 7 file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \
8 file://0001-Install-python-modules-to-correct-library-dir.patch \ 8 file://0001-Install-python-modules-to-correct-library-dir.patch \
9 file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \ 9 file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \
10 file://0001-transport-protect-include-and-callsite-with-same-con.patch \ 10 file://0001-Makefile.am-remove-runtime-linux-uprobes-and-runtime.patch \
11 file://0001-prerelease-datestamp-fixes.patch \
12 file://0001-configure.ac-fix-broken-libdebuginfod-library-auto-d.patch \
13 file://0001-bpf-translate.cxx-fix-build-against-upcoming-gcc-14-.patch \
14 file://0001-staprun-fix-build-against-upcoming-gcc-14-Werror-cal.patch \
11 " 15 "
12 16
13COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips).*-linux' 17COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips|riscv64).*-linux'
14COMPATIBLE_HOST_libc-musl = 'null' 18COMPATIBLE_HOST:libc-musl = 'null'
15 19
16S = "${WORKDIR}/git" 20S = "${WORKDIR}/git"
17 21
diff --git a/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb b/meta/recipes-kernel/wireless-regdb/wireless-regdb_2024.01.23.bb
index b3567bca95..8fde236ab4 100644
--- a/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb
+++ b/meta/recipes-kernel/wireless-regdb/wireless-regdb_2024.01.23.bb
@@ -5,7 +5,7 @@ LICENSE = "ISC"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
6 6
7SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" 7SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
8SRC_URI[sha256sum] = "b4164490d82ff7b0086e812ac42ab27baf57be24324d4c0ee1c5dd6ba27f2a52" 8SRC_URI[sha256sum] = "c8a61c9acf76fa7eb4239e89f640dee3e87098d9f69b4d3518c9c60fc6d20c55"
9 9
10inherit bin_package allarch 10inherit bin_package allarch
11 11
@@ -13,7 +13,7 @@ do_install() {
13 install -d -m0755 ${D}${nonarch_libdir}/crda 13 install -d -m0755 ${D}${nonarch_libdir}/crda
14 install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys 14 install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys
15 install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin 15 install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin
16 install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem 16 install -m 0644 wens.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/wens.key.pub.pem
17 17
18 install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db 18 install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db
19 install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s 19 install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s
@@ -24,9 +24,9 @@ do_install() {
24# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass 24# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass
25# (in meta-networking) in kernel's recipe. 25# (in meta-networking) in kernel's recipe.
26PACKAGES = "${PN}-static ${PN}" 26PACKAGES = "${PN}-static ${PN}"
27RCONFLICTS_${PN} = "${PN}-static" 27RCONFLICTS:${PN} = "${PN}-static"
28 28
29FILES_${PN}-static = " \ 29FILES:${PN}-static = " \
30 ${nonarch_base_libdir}/firmware/regulatory.db \ 30 ${nonarch_base_libdir}/firmware/regulatory.db \
31 ${nonarch_base_libdir}/firmware/regulatory.db.p7s \ 31 ${nonarch_base_libdir}/firmware/regulatory.db.p7s \
32" 32"
@@ -34,10 +34,10 @@ FILES_${PN}-static = " \
34# Native users might want to use the source of regulatory DB. 34# Native users might want to use the source of regulatory DB.
35# This is for example used by Linux kernel <= v4.14 and 35# This is for example used by Linux kernel <= v4.14 and
36# kernel_wireless_regdb.bbclass in meta-networking. 36# kernel_wireless_regdb.bbclass in meta-networking.
37do_install_append_class-native() { 37do_install:append:class-native() {
38 install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt 38 install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt
39} 39}
40 40
41RSUGGESTS_${PN} = "crda" 41RSUGGESTS:${PN} = "crda"
42 42
43BBCLASSEXTEND = "native" 43BBCLASSEXTEND = "native"