diff options
20 files changed, 286 insertions, 77 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 90022f3c35..dc131939ed 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -26,6 +26,7 @@ import json | |||
26 | import pickle | 26 | import pickle |
27 | import codecs | 27 | import codecs |
28 | import hashserv | 28 | import hashserv |
29 | import ctypes | ||
29 | 30 | ||
30 | logger = logging.getLogger("BitBake") | 31 | logger = logging.getLogger("BitBake") |
31 | collectlog = logging.getLogger("BitBake.Collection") | 32 | collectlog = logging.getLogger("BitBake.Collection") |
@@ -1998,9 +1999,9 @@ class ParsingFailure(Exception): | |||
1998 | Exception.__init__(self, realexception, recipe) | 1999 | Exception.__init__(self, realexception, recipe) |
1999 | 2000 | ||
2000 | class Parser(multiprocessing.Process): | 2001 | class Parser(multiprocessing.Process): |
2001 | def __init__(self, jobs, jobid_queue, results, quit, profile): | 2002 | def __init__(self, jobs, next_job_id, results, quit, profile): |
2002 | self.jobs = jobs | 2003 | self.jobs = jobs |
2003 | self.jobid_queue = jobid_queue | 2004 | self.next_job_id = next_job_id |
2004 | self.results = results | 2005 | self.results = results |
2005 | self.quit = quit | 2006 | self.quit = quit |
2006 | multiprocessing.Process.__init__(self) | 2007 | multiprocessing.Process.__init__(self) |
@@ -2059,20 +2060,22 @@ class Parser(multiprocessing.Process): | |||
2059 | multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, exitpriority=1) | 2060 | multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, exitpriority=1) |
2060 | 2061 | ||
2061 | pending = [] | 2062 | pending = [] |
2063 | havejobs = True | ||
2062 | try: | 2064 | try: |
2063 | while pending or not self.exit: | 2065 | while (havejobs or pending) and not self.exit: |
2064 | if self.quit.is_set(): | 2066 | if self.quit.is_set(): |
2065 | break | 2067 | break |
2066 | 2068 | ||
2067 | jobid = None | 2069 | job = None |
2068 | try: | 2070 | if havejobs: |
2069 | # Have to wait for all parsers to have forked | 2071 | with self.next_job_id.get_lock(): |
2070 | jobid = self.jobid_queue.get(True, 0.1) | 2072 | if self.next_job_id.value < len(self.jobs): |
2071 | except (ValueError, OSError, queue.Empty) as e: | 2073 | job = self.jobs[self.next_job_id.value] |
2072 | pass | 2074 | self.next_job_id.value += 1 |
2075 | else: | ||
2076 | havejobs = False | ||
2073 | 2077 | ||
2074 | if jobid is not None: | 2078 | if job: |
2075 | job = self.jobs[jobid] | ||
2076 | result = self.parse(*job) | 2079 | result = self.parse(*job) |
2077 | # Clear the siggen cache after parsing to control memory usage, its huge | 2080 | # Clear the siggen cache after parsing to control memory usage, its huge |
2078 | bb.parse.siggen.postparsing_clean_cache() | 2081 | bb.parse.siggen.postparsing_clean_cache() |
@@ -2085,7 +2088,6 @@ class Parser(multiprocessing.Process): | |||
2085 | except queue.Full: | 2088 | except queue.Full: |
2086 | pending.append(result) | 2089 | pending.append(result) |
2087 | finally: | 2090 | finally: |
2088 | self.jobs.close() | ||
2089 | self.results.close() | 2091 | self.results.close() |
2090 | self.results.join_thread() | 2092 | self.results.join_thread() |
2091 | 2093 | ||
@@ -2167,22 +2169,18 @@ class CookerParser(object): | |||
2167 | if self.toparse: | 2169 | if self.toparse: |
2168 | bb.event.fire(bb.event.ParseStarted(self.toparse), self.cfgdata) | 2170 | bb.event.fire(bb.event.ParseStarted(self.toparse), self.cfgdata) |
2169 | 2171 | ||
2170 | self.toparse_queue = multiprocessing.Queue(len(self.willparse)) | 2172 | next_job_id = multiprocessing.Value(ctypes.c_int, 0) |
2171 | self.parser_quit = multiprocessing.Event() | 2173 | self.parser_quit = multiprocessing.Event() |
2172 | self.result_queue = multiprocessing.Queue() | 2174 | self.result_queue = multiprocessing.Queue() |
2173 | 2175 | ||
2174 | # Have to pass in willparse at fork time so all parsing processes have the unpickleable data | 2176 | # Have to pass in willparse at fork time so all parsing processes have the unpickleable data |
2175 | # then access it by index from the parse queue. | 2177 | # then access it by index from the parse queue. |
2176 | for i in range(0, self.num_processes): | 2178 | for i in range(0, self.num_processes): |
2177 | parser = Parser(self.willparse, self.toparse_queue, self.result_queue, self.parser_quit, self.cooker.configuration.profile) | 2179 | parser = Parser(self.willparse, next_job_id, self.result_queue, self.parser_quit, self.cooker.configuration.profile) |
2178 | parser.start() | 2180 | parser.start() |
2179 | self.process_names.append(parser.name) | 2181 | self.process_names.append(parser.name) |
2180 | self.processes.append(parser) | 2182 | self.processes.append(parser) |
2181 | 2183 | ||
2182 | for jobid in range(len(self.willparse)): | ||
2183 | self.toparse_queue.put(jobid) | ||
2184 | self.toparse_queue.close() | ||
2185 | |||
2186 | self.results = itertools.chain(self.results, self.parse_generator()) | 2184 | self.results = itertools.chain(self.results, self.parse_generator()) |
2187 | 2185 | ||
2188 | def shutdown(self, clean=True, eventmsg="Parsing halted due to errors"): | 2186 | def shutdown(self, clean=True, eventmsg="Parsing halted due to errors"): |
diff --git a/meta/classes-recipe/kernel-fit-image.bbclass b/meta/classes-recipe/kernel-fit-image.bbclass index 39845997ed..fd4c6a30fe 100644 --- a/meta/classes-recipe/kernel-fit-image.bbclass +++ b/meta/classes-recipe/kernel-fit-image.bbclass | |||
@@ -173,7 +173,7 @@ do_deploy() { | |||
173 | fi | 173 | fi |
174 | 174 | ||
175 | if [ -n "${INITRAMFS_IMAGE}" ]; then | 175 | if [ -n "${INITRAMFS_IMAGE}" ]; then |
176 | ln -snf fit-image-its "$deploy_dir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its" | 176 | ln -snf fit-image.its "$deploy_dir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its" |
177 | if [ -n "${KERNEL_FIT_LINK_NAME}" ]; then | 177 | if [ -n "${KERNEL_FIT_LINK_NAME}" ]; then |
178 | ln -snf fit-image.its "$deploy_dir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}" | 178 | ln -snf fit-image.its "$deploy_dir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}" |
179 | fi | 179 | fi |
diff --git a/meta/classes-recipe/testexport.bbclass b/meta/classes-recipe/testexport.bbclass index 2da5dbcb6b..3005fc0dfa 100644 --- a/meta/classes-recipe/testexport.bbclass +++ b/meta/classes-recipe/testexport.bbclass | |||
@@ -85,6 +85,7 @@ def copy_needed_files(d, tc): | |||
85 | 85 | ||
86 | export_path = d.getVar('TEST_EXPORT_DIR') | 86 | export_path = d.getVar('TEST_EXPORT_DIR') |
87 | corebase_path = d.getVar('COREBASE') | 87 | corebase_path = d.getVar('COREBASE') |
88 | bblayers = d.getVar('BBLAYERS').split() | ||
88 | 89 | ||
89 | # Clean everything before starting | 90 | # Clean everything before starting |
90 | oe.path.remove(export_path) | 91 | oe.path.remove(export_path) |
@@ -92,17 +93,11 @@ def copy_needed_files(d, tc): | |||
92 | 93 | ||
93 | # The source of files to copy are relative to 'COREBASE' directory | 94 | # The source of files to copy are relative to 'COREBASE' directory |
94 | # The destination is relative to 'TEST_EXPORT_DIR' | 95 | # The destination is relative to 'TEST_EXPORT_DIR' |
95 | # Because we are squashing the libraries, we need to remove | 96 | # core files/dirs first |
96 | # the layer/script directory | 97 | core_files_to_copy = [ os.path.join('scripts', 'oe-test'), |
97 | files_to_copy = [ os.path.join('meta', 'lib', 'oeqa', 'core'), | ||
98 | os.path.join('meta', 'lib', 'oeqa', 'runtime'), | ||
99 | os.path.join('meta', 'lib', 'oeqa', 'files'), | ||
100 | os.path.join('meta', 'lib', 'oeqa', 'utils'), | ||
101 | os.path.join('scripts', 'oe-test'), | ||
102 | os.path.join('scripts', 'lib', 'argparse_oe.py'), | 98 | os.path.join('scripts', 'lib', 'argparse_oe.py'), |
103 | os.path.join('scripts', 'lib', 'scriptutils.py'), ] | 99 | os.path.join('scripts', 'lib', 'scriptutils.py'), ] |
104 | 100 | for f in core_files_to_copy: | |
105 | for f in files_to_copy: | ||
106 | src = os.path.join(corebase_path, f) | 101 | src = os.path.join(corebase_path, f) |
107 | dst = os.path.join(export_path, f.split('/', 1)[-1]) | 102 | dst = os.path.join(export_path, f.split('/', 1)[-1]) |
108 | if os.path.isdir(src): | 103 | if os.path.isdir(src): |
@@ -110,18 +105,21 @@ def copy_needed_files(d, tc): | |||
110 | else: | 105 | else: |
111 | shutil.copy2(src, dst) | 106 | shutil.copy2(src, dst) |
112 | 107 | ||
113 | # Remove cases and just copy the ones specified | 108 | # layer specific files/dirs |
114 | cases_path = os.path.join(export_path, 'lib', 'oeqa', 'runtime', 'cases') | 109 | layer_files_to_copy = [ os.path.join('lib', 'oeqa', 'core'), |
115 | oe.path.remove(cases_path) | 110 | os.path.join('lib', 'oeqa', 'runtime'), |
116 | bb.utils.mkdirhier(cases_path) | 111 | os.path.join('lib', 'oeqa', 'files'), |
117 | test_paths = get_runtime_paths(d) | 112 | os.path.join('lib', 'oeqa', 'utils'),] |
118 | test_modules = d.getVar('TEST_SUITES').split() | 113 | for layer in bblayers: |
119 | tc.loadTests(test_paths, modules=test_modules) | 114 | meta = os.path.basename(layer) |
120 | for f in getSuiteCasesFiles(tc.suites): | 115 | for f in layer_files_to_copy: |
121 | shutil.copy2(f, cases_path) | 116 | src = os.path.join(layer, f) |
122 | json_file = _get_json_file(f) | 117 | dst = os.path.join(export_path, meta, f) |
123 | if json_file: | 118 | if os.path.exists(src): |
124 | shutil.copy2(json_file, cases_path) | 119 | if os.path.isdir(src): |
120 | oe.path.copytree(src, dst) | ||
121 | else: | ||
122 | shutil.copy2(src, dst) | ||
125 | 123 | ||
126 | # Copy test data | 124 | # Copy test data |
127 | image_name = ("%s/%s" % (d.getVar('DEPLOY_DIR_IMAGE'), | 125 | image_name = ("%s/%s" % (d.getVar('DEPLOY_DIR_IMAGE'), |
@@ -146,6 +144,9 @@ def copy_needed_files(d, tc): | |||
146 | (image_basename, image_machine_suffix), d.getVar("TEST_EXPORT_DIR")) | 144 | (image_basename, image_machine_suffix), d.getVar("TEST_EXPORT_DIR")) |
147 | 145 | ||
148 | # Copy packages needed for runtime testing | 146 | # Copy packages needed for runtime testing |
147 | test_paths = get_runtime_paths(d) | ||
148 | test_modules = d.getVar('TEST_SUITES').split() | ||
149 | tc.loadTests(test_paths, modules=test_modules) | ||
149 | package_extraction(d, tc.suites) | 150 | package_extraction(d, tc.suites) |
150 | test_pkg_dir = d.getVar("TEST_NEEDED_PACKAGES_DIR") | 151 | test_pkg_dir = d.getVar("TEST_NEEDED_PACKAGES_DIR") |
151 | if os.path.isdir(test_pkg_dir) and os.listdir(test_pkg_dir): | 152 | if os.path.isdir(test_pkg_dir) and os.listdir(test_pkg_dir): |
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc index 4253c7b062..4451e00b48 100644 --- a/meta/conf/distro/include/ptest-packagelists.inc +++ b/meta/conf/distro/include/ptest-packagelists.inc | |||
@@ -25,6 +25,7 @@ PTESTS_FAST = "\ | |||
25 | gdk-pixbuf \ | 25 | gdk-pixbuf \ |
26 | glib-networking \ | 26 | glib-networking \ |
27 | gzip \ | 27 | gzip \ |
28 | icu \ | ||
28 | json-c \ | 29 | json-c \ |
29 | json-glib \ | 30 | json-glib \ |
30 | libconvert-asn1-perl \ | 31 | libconvert-asn1-perl \ |
diff --git a/meta/conf/machine/include/riscv/qemuriscv.inc b/meta/conf/machine/include/riscv/qemuriscv.inc index 65cbfd66ee..91a84cdd39 100644 --- a/meta/conf/machine/include/riscv/qemuriscv.inc +++ b/meta/conf/machine/include/riscv/qemuriscv.inc | |||
@@ -27,7 +27,6 @@ UBOOT_ENTRYPOINT:riscv64 = "0x80200000" | |||
27 | # qemuboot options | 27 | # qemuboot options |
28 | QB_SMP ?= "-smp 4" | 28 | QB_SMP ?= "-smp 4" |
29 | QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi" | 29 | QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi" |
30 | QB_CPU:riscv64 ?= "-cpu rva22s64" | ||
31 | QB_MACHINE = "-machine virt" | 30 | QB_MACHINE = "-machine virt" |
32 | QB_DEFAULT_BIOS = "fw_jump.elf" | 31 | QB_DEFAULT_BIOS = "fw_jump.elf" |
33 | QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" | 32 | QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" |
@@ -36,5 +35,31 @@ QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio | |||
36 | QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" | 35 | QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" |
37 | QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon" | 36 | QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon" |
38 | QB_GRAPHICS = "-device bochs-display" | 37 | QB_GRAPHICS = "-device bochs-display" |
39 | QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd" | 38 | QB_OPT_APPEND = "${RV_QEMU_ISA} ${RV_QEMU_DEVICES}" |
40 | QB_OPT_APPEND:riscv32 = "-device virtio-tablet-pci -device virtio-keyboard-pci" | 39 | |
40 | RV_QEMU_DEVICES = "-device qemu-xhci -device usb-tablet -device usb-kbd" | ||
41 | RV_QEMU_DEVICES:riscv32 = "-device virtio-tablet-pci -device virtio-keyboard-pci" | ||
42 | |||
43 | RV_QEMU_ISA = "-cpu " | ||
44 | # Choose rv32 or rv64 | ||
45 | RV_QEMU_ISA .= "${@bb.utils.contains("TUNE_FEATURES", "rv 32", "rv32", "", d)}" | ||
46 | RV_QEMU_ISA .= "${@bb.utils.contains("TUNE_FEATURES", "rv 64", "rv64", "", d)}" | ||
47 | # Disable all of the default extensions we don't support | ||
48 | RV_QEMU_ISA .= ",zihintntl=false,zihintpause=false,zawrs=false,zfa=false,svadu=false,zicntr=false,zihpm=false" | ||
49 | RV_QEMU_ISA .= ",zicboz=false,zicbop=false,zmmul=false,sstc=false,h=false" | ||
50 | # Dynamically enable the extensions based on TUNE_FEATURES | ||
51 | RV_QEMU_ISA .= "${@bb.utils.contains ("TUNE_FEATURES", "m", ",m=true", ",m=false", d)}" | ||
52 | RV_QEMU_ISA .= "${@bb.utils.contains ("TUNE_FEATURES", "a", ",a=true", ",a=false", d)}" | ||
53 | RV_QEMU_ISA .= "${@bb.utils.contains_any("TUNE_FEATURES", "f d", ",f=true", ",f=false", d)}" | ||
54 | RV_QEMU_ISA .= "${@bb.utils.contains ("TUNE_FEATURES", "d", ",d=true", ",d=false", d)}" | ||
55 | # OpenSBI fails to boot without 'c' | ||
56 | #RV_QEMU_ISA .= "${@bb.utils.contains ("TUNE_FEATURES", "c", ",c=true", ",c=false", d)}" | ||
57 | RV_QEMU_ISA .= "${@bb.utils.contains ("TUNE_FEATURES", "v", ",v=true", ",v=false", d)}" | ||
58 | RV_QEMU_ISA .= "${@bb.utils.contains ("TUNE_FEATURES", "zicbom", ",zicbom=true", ",zicbom=false", d)}" | ||
59 | RV_QEMU_ISA .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", ",zicsr=true", ",zicsr=false", d)}" | ||
60 | RV_QEMU_ISA .= "${@bb.utils.contains ("TUNE_FEATURES", "zifencei", ",zifencei=true", ",zifencei=false", d)}" | ||
61 | RV_QEMU_ISA .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zba", ",zba=true", ",zba=false", d)}" | ||
62 | RV_QEMU_ISA .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbb", ",zbb=true", ",zbb=false", d)}" | ||
63 | RV_QEMU_ISA .= "${@bb.utils.contains ("TUNE_FEATURES", "zbc", ",zbc=true", ",zbc=false", d)}" | ||
64 | RV_QEMU_ISA .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbs", ",zbs=true", ",zbs=false", d)}" | ||
65 | |||
diff --git a/meta/recipes-connectivity/openssl/openssl_3.5.0.bb b/meta/recipes-connectivity/openssl/openssl_3.5.0.bb index 0f5c28dafa..a7d08d5b86 100644 --- a/meta/recipes-connectivity/openssl/openssl_3.5.0.bb +++ b/meta/recipes-connectivity/openssl/openssl_3.5.0.bb | |||
@@ -192,6 +192,11 @@ do_install:append:class-native () { | |||
192 | SSL_CERT_FILE=\${SSL_CERT_FILE:-${libdir}/ssl-3/cert.pem} \ | 192 | SSL_CERT_FILE=\${SSL_CERT_FILE:-${libdir}/ssl-3/cert.pem} \ |
193 | OPENSSL_ENGINES=\${OPENSSL_ENGINES:-${libdir}/engines-3} \ | 193 | OPENSSL_ENGINES=\${OPENSSL_ENGINES:-${libdir}/engines-3} \ |
194 | OPENSSL_MODULES=\${OPENSSL_MODULES:-${libdir}/ossl-modules} | 194 | OPENSSL_MODULES=\${OPENSSL_MODULES:-${libdir}/ossl-modules} |
195 | |||
196 | # Setting ENGINESDIR and MODULESDIR to invalid paths prevents host contamination, | ||
197 | # but also breaks the generated libcrypto.pc file. Post-Fix it manually here. | ||
198 | sed -i 's|^enginesdir=\($.libdir.\)/.*|enginesdir=\1/engines-3|' ${D}${libdir}/pkgconfig/libcrypto.pc | ||
199 | sed -i 's|^modulesdir=\($.libdir.\)/.*|modulesdir=\1/ossl-modules|' ${D}${libdir}/pkgconfig/libcrypto.pc | ||
195 | } | 200 | } |
196 | 201 | ||
197 | do_install:append:class-nativesdk () { | 202 | do_install:append:class-nativesdk () { |
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot b/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot index 0d41432878..db164d9846 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot +++ b/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot | |||
@@ -38,10 +38,10 @@ | |||
38 | PATH=/sbin:/bin:/usr/sbin:/usr/bin | 38 | PATH=/sbin:/bin:/usr/sbin:/usr/bin |
39 | 39 | ||
40 | # We get OLDROOT from the rootfs module | 40 | # We get OLDROOT from the rootfs module |
41 | OLDROOT="/rootfs" | 41 | OLDROOT="${ROOTFS_DIR}" |
42 | 42 | ||
43 | NEWROOT="${RWMOUNT}/root" | ||
44 | RWMOUNT="/overlay" | 43 | RWMOUNT="/overlay" |
44 | NEWROOT="${RWMOUNT}/root" | ||
45 | ROMOUNT="${RWMOUNT}/rofs" | 45 | ROMOUNT="${RWMOUNT}/rofs" |
46 | UPPER_DIR="${RWMOUNT}/upper" | 46 | UPPER_DIR="${RWMOUNT}/upper" |
47 | WORK_DIR="${RWMOUNT}/work" | 47 | WORK_DIR="${RWMOUNT}/work" |
@@ -115,4 +115,9 @@ mount -n --move /proc ${NEWROOT}/proc | |||
115 | mount -n --move /sys ${NEWROOT}/sys | 115 | mount -n --move /sys ${NEWROOT}/sys |
116 | mount -n --move /dev ${NEWROOT}/dev | 116 | mount -n --move /dev ${NEWROOT}/dev |
117 | 117 | ||
118 | # Mount/move boot if is already mounted | ||
119 | if mountpoint -q ${OLDROOT}/boot; then | ||
120 | mount -n --move ${OLDROOT}/boot ${NEWROOT}/boot | ||
121 | fi | ||
122 | |||
118 | exec chroot ${NEWROOT}/ ${bootparam_init:-/sbin/init} || exit_gracefully "Couldn't chroot into overlay" | 123 | exec chroot ${NEWROOT}/ ${bootparam_init:-/sbin/init} || exit_gracefully "Couldn't chroot into overlay" |
diff --git a/meta/recipes-graphics/wayland/wayland-protocols_1.45.bb b/meta/recipes-graphics/wayland/wayland-protocols_1.45.bb index d98ccf964f..840d196ace 100644 --- a/meta/recipes-graphics/wayland/wayland-protocols_1.45.bb +++ b/meta/recipes-graphics/wayland/wayland-protocols_1.45.bb | |||
@@ -9,8 +9,8 @@ LICENSE = "MIT" | |||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ | 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ |
10 | file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" | 10 | file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" |
11 | 11 | ||
12 | SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz" | 12 | SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/archive/${PV}/wayland-protocols-${PV}.tar.bz2" |
13 | SRC_URI[sha256sum] = "4d2b2a9e3e099d017dc8107bf1c334d27bb87d9e4aff19a0c8d856d17cd41ef0" | 13 | SRC_URI[sha256sum] = "b73315c26d6c3374c19c2dff7e491f019d8597dc4dcd4473d9181f676f15f48f" |
14 | 14 | ||
15 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags" | 15 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags" |
16 | UPSTREAM_CHECK_REGEX = "releases/(?P<pver>.+)" | 16 | UPSTREAM_CHECK_REGEX = "releases/(?P<pver>.+)" |
diff --git a/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb b/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb index 59d414a0a6..47fae72666 100644 --- a/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb +++ b/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb | |||
@@ -9,8 +9,8 @@ LICENSE = "MIT" | |||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=548a66038a77415e1df51118625e832f \ | 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=548a66038a77415e1df51118625e832f \ |
10 | " | 10 | " |
11 | 11 | ||
12 | SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz" | 12 | SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/archive/${PV}/${BPN}-${PV}.tar.bz2" |
13 | SRC_URI[sha256sum] = "d9278c22554586881802540751bcc42569262bf80cd9ac9b0fd12ff4bd09a9e4" | 13 | SRC_URI[sha256sum] = "f38c6a4ca2113cf716ca687a4cd8e24a11cbeeb04759678b7bb2da7d16335d18" |
14 | 14 | ||
15 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/tags" | 15 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/tags" |
16 | UPSTREAM_CHECK_REGEX = "releases/(?P<pver>.+)" | 16 | UPSTREAM_CHECK_REGEX = "releases/(?P<pver>.+)" |
diff --git a/meta/recipes-graphics/wayland/wayland_1.23.1.bb b/meta/recipes-graphics/wayland/wayland_1.23.1.bb index 3a5d91be04..1b29f7762e 100644 --- a/meta/recipes-graphics/wayland/wayland_1.23.1.bb +++ b/meta/recipes-graphics/wayland/wayland_1.23.1.bb | |||
@@ -12,11 +12,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \ | |||
12 | 12 | ||
13 | DEPENDS = "expat libffi wayland-native" | 13 | DEPENDS = "expat libffi wayland-native" |
14 | 14 | ||
15 | SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \ | 15 | SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/archive/${PV}/${BPN}-${PV}.tar.bz2 \ |
16 | file://run-ptest \ | 16 | file://run-ptest \ |
17 | file://0001-build-Fix-strndup-detection-on-MinGW.patch \ | 17 | file://0001-build-Fix-strndup-detection-on-MinGW.patch \ |
18 | " | 18 | " |
19 | SRC_URI[sha256sum] = "864fb2a8399e2d0ec39d56e9d9b753c093775beadc6022ce81f441929a81e5ed" | 19 | SRC_URI[sha256sum] = "4afcf2942a39d8276d06dcefc89dfaf029222994778fd4c49aa68a702ebf698f" |
20 | 20 | ||
21 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/tags" | 21 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/tags" |
22 | UPSTREAM_CHECK_REGEX = "releases/(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" | 22 | UPSTREAM_CHECK_REGEX = "releases/(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" |
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb b/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb index 5a7bad9017..baa13c866e 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb | |||
@@ -14,13 +14,13 @@ python () { | |||
14 | 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") |
15 | } | 15 | } |
16 | 16 | ||
17 | SRCREV_machine ?= "7cb6d42c40de351ecab0a083aef260f84407de0d" | 17 | SRCREV_machine ?= "6f409db4f0082642197240f39b8a58850c8eb884" |
18 | SRCREV_meta ?= "60b8562e9989f268ad5d241989f56b71cfa1f648" | 18 | SRCREV_meta ?= "f8cd1607519efd135e4037c84b6e42684b12c5a8" |
19 | 19 | ||
20 | SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \ | 20 | SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \ |
21 | git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.12;destsuffix=${KMETA};protocol=https" | 21 | git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.12;destsuffix=${KMETA};protocol=https" |
22 | 22 | ||
23 | LINUX_VERSION ?= "6.12.31" | 23 | LINUX_VERSION ?= "6.12.36" |
24 | 24 | ||
25 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" | 25 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" |
26 | 26 | ||
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb index 0fad73dddd..ec2136f035 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb | |||
@@ -8,7 +8,7 @@ require recipes-kernel/linux/linux-yocto.inc | |||
8 | # CVE exclusions | 8 | # CVE exclusions |
9 | include recipes-kernel/linux/cve-exclusion_6.12.inc | 9 | include recipes-kernel/linux/cve-exclusion_6.12.inc |
10 | 10 | ||
11 | LINUX_VERSION ?= "6.12.31" | 11 | LINUX_VERSION ?= "6.12.36" |
12 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" | 12 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" |
13 | 13 | ||
14 | DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" | 14 | DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" |
@@ -17,8 +17,8 @@ DEPENDS += "openssl-native util-linux-native" | |||
17 | KMETA = "kernel-meta" | 17 | KMETA = "kernel-meta" |
18 | KCONF_BSP_AUDIT_LEVEL = "2" | 18 | KCONF_BSP_AUDIT_LEVEL = "2" |
19 | 19 | ||
20 | SRCREV_machine ?= "298aefdf4112e7c0a84522e4acf2c722e433c8a0" | 20 | SRCREV_machine ?= "5633e9a98a153afa6b2051b116faef6c5e855bd8" |
21 | SRCREV_meta ?= "60b8562e9989f268ad5d241989f56b71cfa1f648" | 21 | SRCREV_meta ?= "f8cd1607519efd135e4037c84b6e42684b12c5a8" |
22 | 22 | ||
23 | PV = "${LINUX_VERSION}+git" | 23 | PV = "${LINUX_VERSION}+git" |
24 | 24 | ||
diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc index 389329030d..4d0a726bb6 100644 --- a/meta/recipes-kernel/linux/linux-yocto.inc +++ b/meta/recipes-kernel/linux/linux-yocto.inc | |||
@@ -37,6 +37,22 @@ KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'efi', 'cfg/ | |||
37 | KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}" | 37 | KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}" |
38 | KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'vfat', 'cfg/fs/vfat.scc', '', d)}" | 38 | KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'vfat', 'cfg/fs/vfat.scc', '', d)}" |
39 | 39 | ||
40 | KERNEL_FEATURES_RISCV = "\ | ||
41 | arch/riscv/tunes/riscv-isa-clear.scc \ | ||
42 | ${@bb.utils.contains( 'TUNE_FEATURES', 'rv 32 i m a', 'arch/riscv/tunes/riscv-isa-rv32i.scc', '', d)} \ | ||
43 | ${@bb.utils.contains( 'TUNE_FEATURES', 'rv 64 i m a', 'arch/riscv/tunes/riscv-isa-rv64i.scc', '', d)} \ | ||
44 | ${@bb.utils.contains( 'TUNE_FEATURES', 'f d', 'arch/riscv/tunes/riscv-isa-fpu.scc', '', d)} \ | ||
45 | ${@bb.utils.contains( 'TUNE_FEATURES', 'c', 'arch/riscv/tunes/riscv-isa-c.scc', '', d)} \ | ||
46 | ${@bb.utils.contains( 'TUNE_FEATURES', 'v', 'arch/riscv/tunes/riscv-isa-v.scc', '', d)} \ | ||
47 | ${@bb.utils.contains_any('TUNE_FEATURES', 'b zba', 'arch/riscv/tunes/riscv-isa-zba.scc', '', d)} \ | ||
48 | ${@bb.utils.contains_any('TUNE_FEATURES', 'b zbb', 'arch/riscv/tunes/riscv-isa-zbb.scc', '', d)} \ | ||
49 | ${@bb.utils.contains( 'TUNE_FEATURES', 'zbc', 'arch/riscv/tunes/riscv-isa-zbc.scc', '', d)} \ | ||
50 | ${@bb.utils.contains( 'TUNE_FEATURES', 'zicbom', 'arch/riscv/tunes/riscv-isa-zicbom.scc', '', d)} \ | ||
51 | " | ||
52 | |||
53 | KERNEL_FEATURES:append:riscv32 = " ${KERNEL_FEATURES_RISCV}" | ||
54 | KERNEL_FEATURES:append:riscv64 = " ${KERNEL_FEATURES_RISCV}" | ||
55 | |||
40 | # A KMACHINE is the mapping of a yocto $MACHINE to what is built | 56 | # A KMACHINE is the mapping of a yocto $MACHINE to what is built |
41 | # by the kernel. This is typically the branch that should be built, | 57 | # by the kernel. This is typically the branch that should be built, |
42 | # and it can be specific to the machine or shared | 58 | # and it can be specific to the machine or shared |
diff --git a/meta/recipes-kernel/linux/linux-yocto_6.12.bb b/meta/recipes-kernel/linux/linux-yocto_6.12.bb index 262ae35704..205c8a3ed5 100644 --- a/meta/recipes-kernel/linux/linux-yocto_6.12.bb +++ b/meta/recipes-kernel/linux/linux-yocto_6.12.bb | |||
@@ -18,25 +18,25 @@ KBRANCH:qemux86.104 ?= "v6.12/standard/base" | |||
18 | KBRANCH:qemuloongarch64 ?= "v6.12/standard/base" | 18 | KBRANCH:qemuloongarch64 ?= "v6.12/standard/base" |
19 | KBRANCH:qemumips64 ?= "v6.12/standard/mti-malta64" | 19 | KBRANCH:qemumips64 ?= "v6.12/standard/mti-malta64" |
20 | 20 | ||
21 | SRCREV_machine:qemuarm ?= "37a1fd13ca538e7785daf01434495a614bc55ead" | 21 | SRCREV_machine:qemuarm ?= "511b6848cd392ee9bbc841794a5e905f4db31689" |
22 | SRCREV_machine:qemuarm64 ?= "298aefdf4112e7c0a84522e4acf2c722e433c8a0" | 22 | SRCREV_machine:qemuarm64 ?= "5633e9a98a153afa6b2051b116faef6c5e855bd8" |
23 | SRCREV_machine:qemuloongarch64 ?= "298aefdf4112e7c0a84522e4acf2c722e433c8a0" | 23 | SRCREV_machine:qemuloongarch64 ?= "5633e9a98a153afa6b2051b116faef6c5e855bd8" |
24 | SRCREV_machine:qemumips ?= "2bcf58ea5aa19d54c436e63c59ab09b307e9ee8e" | 24 | SRCREV_machine:qemumips ?= "afbfb2216d4f16a231b834922a937641864c8931" |
25 | SRCREV_machine:qemuppc ?= "298aefdf4112e7c0a84522e4acf2c722e433c8a0" | 25 | SRCREV_machine:qemuppc ?= "5633e9a98a153afa6b2051b116faef6c5e855bd8" |
26 | SRCREV_machine:qemuriscv64 ?= "298aefdf4112e7c0a84522e4acf2c722e433c8a0" | 26 | SRCREV_machine:qemuriscv64 ?= "5633e9a98a153afa6b2051b116faef6c5e855bd8" |
27 | SRCREV_machine:qemuriscv32 ?= "298aefdf4112e7c0a84522e4acf2c722e433c8a0" | 27 | SRCREV_machine:qemuriscv32 ?= "5633e9a98a153afa6b2051b116faef6c5e855bd8" |
28 | SRCREV_machine:qemux86 ?= "298aefdf4112e7c0a84522e4acf2c722e433c8a0" | 28 | SRCREV_machine:qemux86 ?= "5633e9a98a153afa6b2051b116faef6c5e855bd8" |
29 | SRCREV_machine:qemux86-64 ?= "298aefdf4112e7c0a84522e4acf2c722e433c8a0" | 29 | SRCREV_machine:qemux86-64 ?= "5633e9a98a153afa6b2051b116faef6c5e855bd8" |
30 | SRCREV_machine:qemumips64 ?= "6470f58a8f04951f202cf85afb4421d2e7ec9995" | 30 | SRCREV_machine:qemumips64 ?= "707ad7179119ed07e5911b61b08b7b11d2c9a352" |
31 | SRCREV_machine ?= "298aefdf4112e7c0a84522e4acf2c722e433c8a0" | 31 | SRCREV_machine ?= "5633e9a98a153afa6b2051b116faef6c5e855bd8" |
32 | SRCREV_meta ?= "60b8562e9989f268ad5d241989f56b71cfa1f648" | 32 | SRCREV_meta ?= "f8cd1607519efd135e4037c84b6e42684b12c5a8" |
33 | 33 | ||
34 | # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll | 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 | 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 | 36 | # meta SRCREV as the linux-yocto-standard builds. Select your version using the |
37 | # normal PREFERRED_VERSION settings. | 37 | # normal PREFERRED_VERSION settings. |
38 | BBCLASSEXTEND = "devupstream:target" | 38 | BBCLASSEXTEND = "devupstream:target" |
39 | SRCREV_machine:class-devupstream ?= "df3f6d10f353de274cc7c87f52dba5d26f185393" | 39 | SRCREV_machine:class-devupstream ?= "df64e51d4ab83244b6a4eb11eb41f89403611e24" |
40 | PN:class-devupstream = "linux-yocto-upstream" | 40 | PN:class-devupstream = "linux-yocto-upstream" |
41 | KBRANCH:class-devupstream = "v6.12/base" | 41 | KBRANCH:class-devupstream = "v6.12/base" |
42 | 42 | ||
@@ -44,7 +44,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA | |||
44 | git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.12;destsuffix=${KMETA};protocol=https" | 44 | git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.12;destsuffix=${KMETA};protocol=https" |
45 | 45 | ||
46 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" | 46 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" |
47 | LINUX_VERSION ?= "6.12.31" | 47 | LINUX_VERSION ?= "6.12.36" |
48 | 48 | ||
49 | PV = "${LINUX_VERSION}+git" | 49 | PV = "${LINUX_VERSION}+git" |
50 | 50 | ||
diff --git a/meta/recipes-support/icu/icu/0001-ICU-23120-Mask-UnicodeStringTest-TestLargeMemory-on-.patch b/meta/recipes-support/icu/icu/0001-ICU-23120-Mask-UnicodeStringTest-TestLargeMemory-on-.patch new file mode 100644 index 0000000000..e2e9546679 --- /dev/null +++ b/meta/recipes-support/icu/icu/0001-ICU-23120-Mask-UnicodeStringTest-TestLargeMemory-on-.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | From 4b3e6888c2aaba6465f1bc96f61b17a2513050f3 Mon Sep 17 00:00:00 2001 | ||
2 | From: David Seifert <soap@gentoo.org> | ||
3 | Date: Sat, 21 Jun 2025 12:28:15 +0200 | ||
4 | Subject: [PATCH] ICU-23120 Mask UnicodeStringTest::TestLargeMemory on 32-bit | ||
5 | platforms | ||
6 | |||
7 | Upstream-Status: Submitted [https://github.com/unicode-org/icu/pull/3496] | ||
8 | Signed-off-by: Daisuke Yamane <yamane07ynct@gmail.com> | ||
9 | --- | ||
10 | test/intltest/ustrtest.cpp | 2 +- | ||
11 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
12 | |||
13 | diff --git a/test/intltest/ustrtest.cpp b/test/intltest/ustrtest.cpp | ||
14 | index 56976b3e3d2..26225f5b5b5 100644 | ||
15 | --- a/test/intltest/ustrtest.cpp | ||
16 | +++ b/test/intltest/ustrtest.cpp | ||
17 | @@ -2353,7 +2353,7 @@ void UnicodeStringTest::TestUnicodeStringInsertAppendToSelf() { | ||
18 | } | ||
19 | |||
20 | void UnicodeStringTest::TestLargeMemory() { | ||
21 | -#if U_PLATFORM_IS_LINUX_BASED || U_PLATFORM_IS_DARWIN_BASED | ||
22 | +#if (U_PLATFORM_IS_LINUX_BASED || U_PLATFORM_IS_DARWIN_BASED) && (UINTPTR_MAX == 0xFFFFFFFFFFFFFFFF) | ||
23 | if(quick) { return; } | ||
24 | IcuTestErrorCode status(*this, "TestLargeMemory"); | ||
25 | constexpr uint32_t len = 2147483643; | ||
26 | -- | ||
27 | 2.43.0 | ||
28 | |||
diff --git a/meta/recipes-support/icu/icu/0001-test-Add-support-ptest.patch b/meta/recipes-support/icu/icu/0001-test-Add-support-ptest.patch new file mode 100644 index 0000000000..88350c0db5 --- /dev/null +++ b/meta/recipes-support/icu/icu/0001-test-Add-support-ptest.patch | |||
@@ -0,0 +1,84 @@ | |||
1 | From 783d9e0d3d7824fbca53c2c3a80e8e5e23eacc82 Mon Sep 17 00:00:00 2001 | ||
2 | From: Daisuke Yamane <yamane07ynct@gmail.com> | ||
3 | Date: Tue, 1 Jul 2025 18:35:25 +0900 | ||
4 | Subject: [PATCH] test: Add support ptest | ||
5 | |||
6 | Upstream-Status: Inappropriate [oe-core specific] | ||
7 | |||
8 | Signed-off-by: Daisuke Yamane <yamane07ynct@gmail.com> | ||
9 | --- | ||
10 | test/cintltst/Makefile.in | 2 +- | ||
11 | test/intltest/Makefile.in | 2 +- | ||
12 | test/intltest/intltest.cpp | 2 +- | ||
13 | test/iotest/Makefile.in | 2 +- | ||
14 | test/letest/Makefile.in | 2 +- | ||
15 | 5 files changed, 5 insertions(+), 5 deletions(-) | ||
16 | |||
17 | diff --git a/test/cintltst/Makefile.in b/test/cintltst/Makefile.in | ||
18 | index 552a105..9cf3071 100644 | ||
19 | --- a/test/cintltst/Makefile.in | ||
20 | +++ b/test/cintltst/Makefile.in | ||
21 | @@ -39,7 +39,7 @@ CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ct | ||
22 | ifdef QNX_TARGET | ||
23 | DEFS += -D'ICU_UNICODE_VERSION="$(UNICODE_VERSION)"' -D'ICU_VERSION="@VERSION@"' -D'ICUDATA_NAME="$(ICUDATA_PLATFORM_NAME)"' -D'U_TOPSRCDIR="/var/icu_tests"' -D'U_TOPBUILDDIR="/var/icu_tests/"' | ||
24 | else | ||
25 | -DEFS += -D'ICU_UNICODE_VERSION="$(UNICODE_VERSION)"' -D'ICU_VERSION="@VERSION@"' -D'ICUDATA_NAME="$(ICUDATA_PLATFORM_NAME)"' -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"' | ||
26 | +DEFS += -D'ICU_UNICODE_VERSION="$(UNICODE_VERSION)"' -D'ICU_VERSION="@VERSION@"' -D'ICUDATA_NAME="$(ICUDATA_PLATFORM_NAME)"' -D'U_TOPSRCDIR="$(PTEST_PATH)/"' -D'U_TOPBUILDDIR="$(PTEST_PATH)/"' | ||
27 | endif | ||
28 | LIBS = $(LIBCTESTFW) $(LIBICUI18N) $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) | ||
29 | |||
30 | diff --git a/test/intltest/Makefile.in b/test/intltest/Makefile.in | ||
31 | index 5d4a03b..ca4e4cd 100644 | ||
32 | --- a/test/intltest/Makefile.in | ||
33 | +++ b/test/intltest/Makefile.in | ||
34 | @@ -39,7 +39,7 @@ CPPFLAGS += -DUNISTR_FROM_CHAR_EXPLICIT= -DUNISTR_FROM_STRING_EXPLICIT= | ||
35 | ifdef QNX_TARGET | ||
36 | DEFS += -D'U_TOPSRCDIR="/var/icu_tests"' -D'U_TOPBUILDDIR="/var/icu_tests/"' | ||
37 | else | ||
38 | -DEFS += -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"' | ||
39 | +DEFS += -D'U_TOPSRCDIR="$(PTEST_PATH)/"' -D'U_TOPBUILDDIR="$(PTEST_PATH)/"' | ||
40 | endif | ||
41 | LIBS = $(LIBCTESTFW) $(LIBICUI18N) $(LIBICUUC) $(LIBICUTOOLUTIL) $(DEFAULT_LIBS) $(LIB_M) $(LIB_THREAD) | ||
42 | |||
43 | diff --git a/test/intltest/intltest.cpp b/test/intltest/intltest.cpp | ||
44 | index 3806d0f..33829b0 100644 | ||
45 | --- a/test/intltest/intltest.cpp | ||
46 | +++ b/test/intltest/intltest.cpp | ||
47 | @@ -1713,7 +1713,7 @@ static bool fileExists(const char* fileName) { | ||
48 | * Returns the path to icu/testdata/ | ||
49 | */ | ||
50 | const char *IntlTest::getSharedTestData(UErrorCode& err) { | ||
51 | -#define SOURCE_TARBALL_TOP U_TOPSRCDIR U_FILE_SEP_STRING ".." U_FILE_SEP_STRING | ||
52 | +#define SOURCE_TARBALL_TOP U_TOPSRCDIR U_FILE_SEP_STRING | ||
53 | #define REPO_TOP SOURCE_TARBALL_TOP ".." U_FILE_SEP_STRING | ||
54 | #define FILE_NAME U_FILE_SEP_STRING "message2" U_FILE_SEP_STRING "valid-tests.json" | ||
55 | const char *srcDataDir = nullptr; | ||
56 | diff --git a/test/iotest/Makefile.in b/test/iotest/Makefile.in | ||
57 | index 16c510f..9eeff4b 100644 | ||
58 | --- a/test/iotest/Makefile.in | ||
59 | +++ b/test/iotest/Makefile.in | ||
60 | @@ -39,7 +39,7 @@ CPPFLAGS += -DUNISTR_FROM_CHAR_EXPLICIT= -DUNISTR_FROM_STRING_EXPLICIT= | ||
61 | ifdef QNX_TARGET | ||
62 | DEFS += -D'U_TOPSRCDIR="/var/icu_tests"' -D'U_TOPBUILDDIR="/var/icu_tests/"' | ||
63 | else | ||
64 | -DEFS += -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"' | ||
65 | +DEFS += -D'U_TOPSRCDIR="$(PTEST_PATH)/"' -D'U_TOPBUILDDIR="$(PTEST_PATH)/"' | ||
66 | endif | ||
67 | LIBS = $(LIBCTESTFW) $(LIBICUTOOLUTIL) $(LIBICUIO) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) | ||
68 | |||
69 | diff --git a/test/letest/Makefile.in b/test/letest/Makefile.in | ||
70 | index 156c86f..555a820 100644 | ||
71 | --- a/test/letest/Makefile.in | ||
72 | +++ b/test/letest/Makefile.in | ||
73 | @@ -30,7 +30,7 @@ BUILDDIR := $(BUILDDIR:test\\cintltst/../../=) | ||
74 | BUILDDIR := $(BUILDDIR:TEST\\CINTLTST/../../=) | ||
75 | |||
76 | CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ctestfw -I$(top_srcdir)/tools/toolutil -I$(top_srcdir)/layoutex $(ICULE_CFLAGS) $(ICULEHB_CFLAGS) | ||
77 | -DEFS += -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"' | ||
78 | +DEFS += -D'U_TOPSRCDIR="$(PTEST_PATH)/"' -D'U_TOPBUILDDIR="$(PTEST_PATH)/"' | ||
79 | LIBS = $(LIBICULX) $(LIBICUUC) $(LIBICUI18N) $(LIBCTESTFW) $(LIBICUTOOLUTIL) $(DEFAULT_LIBS) $(LIB_M) $(ICULEHB_LIBS) | ||
80 | |||
81 | COMMONOBJECTS = SimpleFontInstance.o | ||
82 | -- | ||
83 | 2.43.0 | ||
84 | |||
diff --git a/meta/recipes-support/icu/icu/run-ptest b/meta/recipes-support/icu/icu/run-ptest new file mode 100755 index 0000000000..e5bf27a822 --- /dev/null +++ b/meta/recipes-support/icu/icu/run-ptest | |||
@@ -0,0 +1,13 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | TOPDIR=$(dirname "$(realpath $0)") | ||
4 | cd ${TOPDIR}/test/tests | ||
5 | TESTS=$(find . -executable -type f) | ||
6 | for t in ${TESTS}; do | ||
7 | ./$t | ||
8 | if [ "$?" = "0" ]; then | ||
9 | echo "PASS: $t" | ||
10 | else | ||
11 | echo "FAIL: $t" | ||
12 | fi | ||
13 | done | ||
diff --git a/meta/recipes-support/icu/icu_77-1.bb b/meta/recipes-support/icu/icu_77-1.bb index e655b18ad2..cd81a6c729 100644 --- a/meta/recipes-support/icu/icu_77-1.bb +++ b/meta/recipes-support/icu/icu_77-1.bb | |||
@@ -119,6 +119,9 @@ SRC_URI = "${BASE_SRC_URI};name=code \ | |||
119 | ${DATA_SRC_URI};name=data \ | 119 | ${DATA_SRC_URI};name=data \ |
120 | file://filter.json \ | 120 | file://filter.json \ |
121 | file://0001-icu-Added-armeb-support.patch \ | 121 | file://0001-icu-Added-armeb-support.patch \ |
122 | file://0001-ICU-23120-Mask-UnicodeStringTest-TestLargeMemory-on-.patch \ | ||
123 | file://0001-test-Add-support-ptest.patch \ | ||
124 | file://run-ptest \ | ||
122 | " | 125 | " |
123 | 126 | ||
124 | SRC_URI:append:class-target = "\ | 127 | SRC_URI:append:class-target = "\ |
@@ -160,3 +163,23 @@ do_make_icudata() { | |||
160 | } | 163 | } |
161 | 164 | ||
162 | addtask make_icudata before do_configure after do_patch do_prepare_recipe_sysroot | 165 | addtask make_icudata before do_configure after do_patch do_prepare_recipe_sysroot |
166 | |||
167 | inherit ptest | ||
168 | RDEPENDS:${PN}-ptest += "bash" | ||
169 | |||
170 | do_compile_ptest() { | ||
171 | oe_runmake -C test everything PTEST_PATH=${PTEST_PATH} | ||
172 | } | ||
173 | |||
174 | do_install_ptest() { | ||
175 | install -d ${D}${PTEST_PATH}/test | ||
176 | install -d ${D}${PTEST_PATH}/data | ||
177 | cp -r ${S}/test/testdata ${D}/${PTEST_PATH}/test | ||
178 | cp -r ${S}/data/unidata ${D}/${PTEST_PATH}/data/ | ||
179 | cp -r ${S}/data/sprep ${D}/${PTEST_PATH}/data/ | ||
180 | cp -r ${S}/../testdata ${D}/${PTEST_PATH}/ | ||
181 | cp -r ${B}/test/testdata/out ${D}/${PTEST_PATH}/test/testdata | ||
182 | |||
183 | install -d ${D}${PTEST_PATH}/test/tests | ||
184 | find ${B}/test/ -type f -executable -exec cp {} ${D}${PTEST_PATH}/test/tests \; | ||
185 | } | ||
diff --git a/scripts/contrib/improve_kernel_cve_report.py b/scripts/contrib/improve_kernel_cve_report.py index 829cc4cd30..5c39df05a5 100755 --- a/scripts/contrib/improve_kernel_cve_report.py +++ b/scripts/contrib/improve_kernel_cve_report.py | |||
@@ -340,6 +340,10 @@ def cve_update(cve_data, cve, entry): | |||
340 | if cve_data[cve]['status'] == entry['status']: | 340 | if cve_data[cve]['status'] == entry['status']: |
341 | return | 341 | return |
342 | if entry['status'] == "Unpatched" and cve_data[cve]['status'] == "Patched": | 342 | if entry['status'] == "Unpatched" and cve_data[cve]['status'] == "Patched": |
343 | # Backported-patch (e.g. vendor kernel repo with cherry-picked CVE patch) | ||
344 | # has priority over unpatch from CNA | ||
345 | if cve_data[cve]['detail'] == "backported-patch": | ||
346 | return | ||
343 | logging.warning("CVE entry %s update from Patched to Unpatched from the scan result", cve) | 347 | logging.warning("CVE entry %s update from Patched to Unpatched from the scan result", cve) |
344 | cve_data[cve] = copy_data(cve_data[cve], entry) | 348 | cve_data[cve] = copy_data(cve_data[cve], entry) |
345 | return | 349 | return |
@@ -441,10 +445,12 @@ def main(): | |||
441 | is_kernel=True | 445 | is_kernel=True |
442 | if not is_kernel: | 446 | if not is_kernel: |
443 | continue | 447 | continue |
444 | 448 | # We remove custom versions after - | |
449 | upstream_version = Version(pkg["version"].split("-")[0]) | ||
450 | logging.info("Checking kernel %s", upstream_version) | ||
445 | kernel_cves = get_kernel_cves(args.datadir, | 451 | kernel_cves = get_kernel_cves(args.datadir, |
446 | compiled_files, | 452 | compiled_files, |
447 | Version(pkg["version"])) | 453 | upstream_version) |
448 | logging.info("Total kernel cves from kernel CNA: %s", len(kernel_cves)) | 454 | logging.info("Total kernel cves from kernel CNA: %s", len(kernel_cves)) |
449 | cves = {issue["id"]: issue for issue in pkg["issue"]} | 455 | cves = {issue["id"]: issue for issue in pkg["issue"]} |
450 | logging.info("Total kernel before processing cves: %s", len(cves)) | 456 | logging.info("Total kernel before processing cves: %s", len(cves)) |
diff --git a/scripts/oe-test b/scripts/oe-test index 55985b0b24..3a00369e01 100755 --- a/scripts/oe-test +++ b/scripts/oe-test | |||
@@ -7,14 +7,18 @@ | |||
7 | # SPDX-License-Identifier: MIT | 7 | # SPDX-License-Identifier: MIT |
8 | # | 8 | # |
9 | 9 | ||
10 | import os | ||
11 | import sys | ||
12 | import argparse | 10 | import argparse |
11 | import glob | ||
13 | import logging | 12 | import logging |
13 | import os | ||
14 | import sys | ||
14 | 15 | ||
15 | scripts_path = os.path.dirname(os.path.realpath(__file__)) | 16 | scripts_path = os.path.dirname(os.path.realpath(__file__)) |
16 | lib_path = scripts_path + '/lib' | 17 | lib_path = os.path.join(scripts_path, 'lib') |
17 | sys.path = sys.path + [lib_path] | 18 | sys.path.append(lib_path) |
19 | meta_lib_paths = glob.glob(scripts_path + '/*/lib', recursive=True) | ||
20 | for p in meta_lib_paths: | ||
21 | sys.path.append(p) | ||
18 | import argparse_oe | 22 | import argparse_oe |
19 | import scriptutils | 23 | import scriptutils |
20 | 24 | ||