summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* psmisc: merge .inc into .bbAlexander Kanavin2024-06-242-60/+59
| | | | | | | | (From OE-Core rev: 219508fe9c7f85bb4e03d30b42d0f893967fe2e9) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glib-networking: submit eagain.patch upstreamAlexander Kanavin2024-06-241-1/+1
| | | | | | | | (From OE-Core rev: eb3958bab8e1a7307f4de7615ddac8222aaae5b0) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: submit deterministic_imports.patch upstream as a ticketAlexander Kanavin2024-06-241-1/+1
| | | | | | | | (From OE-Core rev: d77511cc9add70857e4a9d7237b23d7d6ae14e98) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libnewt: move to meta-oeAlexander Kanavin2024-06-246-170/+0
| | | | | | | | | | | There are no consumers in oe-core (after obsolete perf dependency was dropped), and so no reason to keep it there. (From OE-Core rev: 8bd19abc01d2cf775da03da90629360f1d0b22a0) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* perf: drop newt from tui build requirementsAlexander Kanavin2024-06-241-4/+1
| | | | | | | | | | | | As the comment says this was used by very old kernels (pre 3.10), and slang has been the only option for a long time. Also, correct the option to disable slang TUI. (From OE-Core rev: a36a84490b943e6f0638c0430ad1eac7740e9be3) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* expect: update code for Tcl channel implementationRoss Burton2024-06-242-4/+28
| | | | | | | | | | | | Tcl 8.4.0 changed the channel implementation, take a patch submitted upstream to update the code for the new interface and remove the silencing of the incompatible assignment error which was due to this issue. (From OE-Core rev: a56ca08159fbdbc27511376f45720bb8ea068fc4) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* expect: fix configure with GCC 14Ross Burton2024-06-242-0/+202
| | | | | | | | | | | The configure script has many fragments that fail to compile with GCC 14, take a patch submitted upstream to fix these issues. (From OE-Core rev: 5c21ca789c288662aa3d307b30813cd03cc8c158) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libxml2: Upgrade 2.12.7 -> 2.12.8Siddharth Doshi2024-06-241-1/+1
| | | | | | | | | | | | Changes between 2.12.7 -> 2.12.8 ================================ Regression Fixed: parser: Fix performance regression when parsing namespaces (From OE-Core rev: 15eb0b6531a97f85c1b098fb51de9126f2221248) Signed-off-by: Siddharth Doshi <sdoshi@mvista.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ofono: upgrade 2.7 -> 2.8Martin Hundeb?ll2024-06-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog: * Release 2.8 * build: Require at least version 0.66 when building with external ELL * qmi: Remove unused shutdown members in qmi_device_qrtr * drivers: Use the new license header format * plugins: Use the new license header format * isimodem: Use the new license header format * rilmodem: Use the new license header format * mbimmodem: Use the new license header format * unit: Use the new license header format * tools: Use the new license header format * include: Use the new license header format * dundee: Use the new license header format * core: Use the new license header format * qmimodem: Use the new license header format * atmodem: Use the new license header format * build: Add notifylist.[ch] from ell * udevng: Fix detection of USB attached tty devices * udevng: Don't crash for non-QMI devices * qmimodem: Remove the create exclusive service API * voicecall: Fix use after free * atmodem: gprs-context: use default PPP ACCM for Quectel serial modems * atmodem: sim: Fix CRSM result handling * qmi: gprs-context: support bind_mux for pcie devices * udevng: Add mhi subsystem detection * udevng: add and use get_ifname() for netdev nodes * gobi: ensure required properties are provided * gobi: Rename KernelDriver to NetworkInterfaceDriver * gobi: add / use DeviceProtocol property * qmi: Use l_basename instead of basename * log: Use l_basename instead of basename * build: link dundee with ell * log: Handle dladdr failure License-Update: license header replaced with spdx identifier (From OE-Core rev: fda6b3ff67b56828f5088667a2e3af0a5ffa6ae5) Signed-off-by: Martin Hundebøll <martin@geanix.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devicetree.bbclass: switch away from S = WORKDIRAndrey Zhizhikin2024-06-241-1/+2
| | | | | | | | | | | | | | Since the change done in commit 32cba1cc916a ("insane: Error for S == WORKDIR"), usage of WORKDIR is not allowed anymore. Switch S from WORKDIR to UNPACKDIR as implemented in commit d9328e3b0b06 ("recipes: Switch away from S = WORKDIR"). (From OE-Core rev: 7a06069a041a908c1d190f8fb7dd923b86217703) Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime: fix race-condition in minidebuginfo testEtienne Cordonnier2024-06-241-4/+13
| | | | | | | | | | | | | | | | | | Fix this error where 'coredumpctl info' warns that the coredump is still being processed: ``` AssertionError: 1 != 0 : MiniDebugInfo Test failed: No match found. -- Notice: 1 systemd-coredump@.service unit is running, output may be incomplete. ``` (From OE-Core rev: ad1ce64f5c1f22a7b10025d8cba20dc74354ac81) (From OE-Core rev: ed562345d5a5f2edb649028553199f3f7966e19e) Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: Introduce CVE_CHECK_MANIFEST_JSON_SUFFIXAleksandar Nikolic2024-06-241-2/+4
| | | | | | | | | | | | | The variable contains the suffix of the CVE JSON manifest file. By default, this variable is set to 'json', so the current behavior is not changed, but enables developers to use some other suffix, e.g., cve.json (similar to spdx.json). (From OE-Core rev: d99eee76923659c0b95bf9ef415ae5d44f736d01) Signed-off-by: Aleksandar Nikolic <an010@live.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/kernel: No symlink in postinst without KERNEL_IMAGETYPE_SYMLINKJörg Sommer2024-06-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | The commit “Use a copy of image for kernel*.rpm if fs doesn't support symlinks” [1] added postinst and postrm scripts to the kernel package which create a symlink after package installation. This should not happen if `KERNEL_IMAGETYPE_SYMLINK` is not `1`. Background: The u-boot implementation of jffs2 does not support symlinks. Using a hardlink or removing `${KERNEL_VERSION}` from the file name fails, because the current postinst script replaces the file with the symlink. [1] 8b6b95106a5d4f1f6d34209ec5c475c900270ecd Cc: Bruce Ashfield <bruce.ashfield@gmail.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Yanfei Xu <yanfei.xu@windriver.com> (From OE-Core rev: 6a763401862d9ee96749ad18378b6344778c2c66) Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: siggen: catch FileNotFoundError everywhere and ConnectionError also ↵Martin Jansa2024-06-181-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in get_unihashes * avoids long trace when BB_HASHSERVE points to non-existent socket file, e.g.: BB_HASHSERVE = "unix:///OE/no-socket.sock" or when running the build before starting the bin/bitbake-hashserv. * now it shows just warnings like it did in kirkstone many of them, e.g. 6 just for rebuilding zlib-native, but better than long trace for nonexistent socket file: WARNING: zlib-native-1.3.1-r0 do_create_spdx: Error contacting Hash Equivalence Server unix:///OE/no-socket.sock: [Errno 2] No such file or directory for existing file, but before starting bin/bitbake-hashserv: WARNING: zlib-native-1.3.1-r0 do_create_spdx: Error contacting Hash Equivalence Server unix:///OE/hashserv.sock: [Errno 111] Connection refused ERROR: An uncaught exception occurred in runqueue############################################################### | ETA: 0:00:00 Traceback (most recent call last): File "/OE/build/oe-core/bitbake/lib/hashserv/__init__.py", line 80, in create_client(addr='unix:///OE/no-socket.sock', username=None, password=None): if typ == ADDR_TYPE_UNIX: > c.connect_unix(*a) elif typ == ADDR_TYPE_WS: File "/OE/build/oe-core/bitbake/lib/bb/asyncrpc/client.py", line 241, in Client.connect_unix(path='/OE/no-socket.sock'): self.loop.run_until_complete(self.client.connect_unix(path)) > self.loop.run_until_complete(self.client.connect()) File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in _UnixSelectorEventLoop.run_until_complete(future=<Task finished name='Task-6' coro=<AsyncClient.connect() done, defined at /OE/build/oe-core/bitbake/lib/bb/asyncrpc/client. py:150> exception=FileNotFoundError(2, 'No such file or directory')>): > return future.result() File "/OE/build/oe-core/bitbake/lib/bb/asyncrpc/client.py", line 152, in AsyncClient.connect(): if self.socket is None: > self.socket = await self._connect_sock() await self.setup_connection() File "/OE/build/oe-core/bitbake/lib/bb/asyncrpc/client.py", line 85, in connect_sock: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM, 0) > sock.connect(os.path.basename(path)) finally: FileNotFoundError: [Errno 2] No such file or directory ERROR: Running idle function Traceback (most recent call last): File "/OE/build/oe-core/bitbake/lib/hashserv/__init__.py", line 80, in create_client(addr='unix:///OE/no-socket.sock', username=None, password=None): if typ == ADDR_TYPE_UNIX: > c.connect_unix(*a) elif typ == ADDR_TYPE_WS: File "/OE/build/oe-core/bitbake/lib/bb/asyncrpc/client.py", line 241, in Client.connect_unix(path='/OE/no-socket.sock'): self.loop.run_until_complete(self.client.connect_unix(path)) > self.loop.run_until_complete(self.client.connect()) File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in _UnixSelectorEventLoop.run_until_complete(future=<Task finished name='Task-6' coro=<AsyncClient.connect() done, defined at /OE/build/oe-core/bitbake/lib/bb/asyncrpc/client. py:150> exception=FileNotFoundError(2, 'No such file or directory')>): > return future.result() File "/OE/build/oe-core/bitbake/lib/bb/asyncrpc/client.py", line 152, in AsyncClient.connect(): if self.socket is None: > self.socket = await self._connect_sock() await self.setup_connection() File "/OE/build/oe-core/bitbake/lib/bb/asyncrpc/client.py", line 85, in connect_sock: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM, 0) > sock.connect(os.path.basename(path)) finally: FileNotFoundError: [Errno 2] No such file or directory Summary: There were 2 ERROR messages, returning a non-zero exit code. 1605616 09:29:05.369352 Parse cache valid 1605616 09:30:14.500863 Registering idle function <function BBCooker.buildTargets.<locals>.buildTargetsIdle at 0x7f43988c09a0> 1605616 09:30:14.500927 Removing idle function <bound method Command.runAsyncCommand of <bb.command.Command object at 0x7f43a961c350>> 1605616 09:30:14.573274 Exception Traceback (most recent call last): File "/OE/build/oe-core/bitbake/lib/bb/server/process.py", line 435, in idle_thread_internal retval = function(self, data, False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/OE/build/oe-core/bitbake/lib/bb/cooker.py", line 1487, in buildTargetsIdle retval = rq.execute_runqueue() ^^^^^^^^^^^^^^^^^^^^^ File "/OE/build/oe-core/bitbake/lib/bb/runqueue.py", line 1651, in execute_runqueue return self._execute_runqueue() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/OE/build/oe-core/bitbake/lib/bb/runqueue.py", line 1567, in _execute_runqueue if self.rqdata.prepare() == 0: ^^^^^^^^^^^^^^^^^^^^^ File "/OE/build/oe-core/bitbake/lib/bb/runqueue.py", line 1290, in prepare unihashes = bb.parse.siggen.get_unihashes(ready) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/OE/build/oe-core/bitbake/lib/bb/siggen.py", line 713, in get_unihashes with self.client() as client: File "/usr/lib/python3.12/contextlib.py", line 137, in __enter__ return next(self.gen) ^^^^^^^^^^^^^^ File "/OE/build/oe-core/bitbake/lib/bb/siggen.py", line 595, in client self._client = hashserv.create_client(self.server, **self.get_hashserv_creds()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/OE/build/oe-core/bitbake/lib/hashserv/__init__.py", line 88, in create_client raise e File "/OE/build/oe-core/bitbake/lib/hashserv/__init__.py", line 80, in create_client c.connect_unix(*a) File "/OE/build/oe-core/bitbake/lib/bb/asyncrpc/client.py", line 241, in connect_unix self.loop.run_until_complete(self.client.connect()) File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "/OE/build/oe-core/bitbake/lib/bb/asyncrpc/client.py", line 152, in connect self.socket = await self._connect_sock() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/OE/build/oe-core/bitbake/lib/bb/asyncrpc/client.py", line 85, in connect_sock sock.connect(os.path.basename(path)) FileNotFoundError: [Errno 2] No such file or directory broke the idle_thread, exiting 1605616 09:30:14.673756 Exiting (socket: True) 1605616 09:30:14.683153 Exiting as we could obtain the lock sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='/OE/build/oe-core/bitbake-cookerdaemon.log' mode='a+' encoding='UTF-8'> sys:1: ResourceWarning: unclosed <socket.socket fd=17, family=1, type=1, proto=0> ResourceWarning: Enable tracemalloc to get the object allocation traceback (Bitbake rev: 550c86969e5a137ffef61b08a520a4855232fb1c) Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_base: add 7zip archive type for SDKBenjamin Szőke2024-06-181-1/+5
| | | | | | | | | | Added 7zip support and options and extension/type parameter for it to able to make any custom archive type for SDK archive. (From OE-Core rev: 02bbc736cf4f097a78afed4c7614000bd058ef3f) Signed-off-by: Benjamin Szőke <egyszeregy@freemail.hu> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver.bbclass: Fix work-shared checking for kernel recipesBenjamin Szőke2024-06-181-1/+2
| | | | | | | | | | | | Source dir can be a symbolic link in some BSP's linux kernel recipe which points to work-shared path (like linux-fslc in meta-freescale). Change to use os.path.realpath() in order to get real path of source dir. (From OE-Core rev: 9191aa685418af32f003e067ef7c5737a271e3a5) Signed-off-by: Benjamin Szőke <egyszeregy@freemail.hu> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-mako: added ptestJan Vermaete2024-06-183-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | root@qemux86-64:~# ptest-runner python3-mako START: ptest-runner 2024-06-16T19:21 BEGIN: /usr/lib/python3-mako/ptest SKIP: test/ext/test_babelplugin.py:PluginExtractTest.test_parse_python_expression # SKIP babel not installed: skipping babelplugin test SKIP: test/ext/test_babelplugin.py:PluginExtractTest.test_python_gettext_call # SKIP babel not installed: skipping babelplugin test SKIP: test/ext/test_babelplugin.py:PluginExtractTest.test_translator_comment # SKIP babel not installed: skipping babelplugin test SKIP: test/ext/test_babelplugin.py:MakoExtractTest.test_extract # SKIP babel not installed: skipping babelplugin test SKIP: test/ext/test_babelplugin.py:MakoExtractTest.test_extract_utf8 # SKIP babel not installed: skipping babelplugin test SKIP: test/ext/test_babelplugin.py:MakoExtractTest.test_extract_cp1251 # SKIP babel not installed: skipping babelplugin test SKIP: test/ext/test_linguaplugin.py:MakoExtractTest.test_extract # SKIP lingua not installed: skipping linguaplugin test PASS: test/test_ast.py:AstParseTest.test_locate_identifiers PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_2 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_3 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_4 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_5 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_6 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_7 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_8 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_9 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_10 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_11 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_12 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_13 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_14 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_16 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_17 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_18 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_19 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_20 PASS: test/test_ast.py:AstParseTest.test_locate_identifiers_21 PASS: test/test_ast.py:AstParseTest.test_no_global_imports PASS: test/test_ast.py:AstParseTest.test_python_fragment PASS: test/test_ast.py:AstParseTest.test_argument_list PASS: test/test_ast.py:AstParseTest.test_function_decl PASS: test/test_ast.py:AstParseTest.test_function_decl_2 PASS: test/test_ast.py:AstParseTest.test_function_decl_3 PASS: test/test_ast.py:AstParseTest.test_expr_generate PASS: test/test_block.py:BlockTest.test_anonymous_block_namespace_raises PASS: test/test_block.py:BlockTest.test_anonymous_block_in_call PASS: test/test_block.py:BlockTest.test_named_block_in_call PASS: test/test_block.py:BlockTest.test_name_collision_blocks_toplevel PASS: test/test_block.py:BlockTest.test_name_collision_blocks_nested_block PASS: test/test_block.py:BlockTest.test_name_collision_blocks_nested_def PASS: test/test_block.py:BlockTest.test_name_collision_block_def_toplevel PASS: test/test_block.py:BlockTest.test_name_collision_def_block_toplevel PASS: test/test_block.py:BlockTest.test_named_block_renders PASS: test/test_block.py:BlockTest.test_inherited_block_no_render PASS: test/test_block.py:BlockTest.test_no_named_in_def PASS: test/test_block.py:BlockTest.test_inherited_block_nested_both PASS: test/test_block.py:BlockTest.test_inherited_block_nested_inner_only PASS: test/test_block.py:BlockTest.test_noninherited_block_no_render PASS: test/test_block.py:BlockTest.test_no_conflict_nested_one PASS: test/test_block.py:BlockTest.test_nested_dupe_names_raise PASS: test/test_block.py:BlockTest.test_two_levels_one PASS: test/test_block.py:BlockTest.test_filter PASS: test/test_block.py:BlockTest.test_anon_in_named PASS: test/test_block.py:BlockTest.test_named_in_anon PASS: test/test_block.py:BlockTest.test_anon_in_anon PASS: test/test_block.py:BlockTest.test_named_in_named PASS: test/test_block.py:BlockTest.test_iteration PASS: test/test_block.py:BlockTest.test_conditional PASS: test/test_block.py:BlockTest.test_block_overridden_by_def PASS: test/test_block.py:BlockTest.test_def_overridden_by_block PASS: test/test_block.py:BlockTest.test_block_args PASS: test/test_block.py:BlockTest.test_block_variables_contextual PASS: test/test_block.py:BlockTest.test_block_args_contextual PASS: test/test_block.py:BlockTest.test_block_pageargs_contextual PASS: test/test_block.py:BlockTest.test_block_pageargs PASS: test/test_cache.py:CacheTest.test_def PASS: test/test_cache.py:CacheTest.test_cache_enable PASS: test/test_cache.py:CacheTest.test_nested_def PASS: test/test_cache.py:CacheTest.test_page PASS: test/test_cache.py:CacheTest.test_dynamic_key_with_context PASS: test/test_cache.py:CacheTest.test_dynamic_key_with_funcargs PASS: test/test_cache.py:CacheTest.test_dynamic_key_with_imports PASS: test/test_cache.py:CacheTest.test_fileargs_implicit PASS: test/test_cache.py:CacheTest.test_fileargs_deftag PASS: test/test_cache.py:CacheTest.test_fileargs_pagetag PASS: test/test_cache.py:CacheTest.test_args_complete PASS: test/test_cache.py:CacheTest.test_fileargs_lookup PASS: test/test_cache.py:CacheTest.test_buffered PASS: test/test_cache.py:CacheTest.test_load_from_expired PASS: test/test_cache.py:CacheTest.test_namespace_access PASS: test/test_cache.py:CacheTest.test_lookup PASS: test/test_cache.py:CacheTest.test_invalidate PASS: test/test_cache.py:CacheTest.test_custom_args_def PASS: test/test_cache.py:CacheTest.test_custom_args_block PASS: test/test_cache.py:CacheTest.test_custom_args_page PASS: test/test_cache.py:CacheTest.test_pass_context SKIP: test/test_cache.py:BeakerCacheTest.test_def # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_cache_enable # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_nested_def # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_page # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_dynamic_key_with_context # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_dynamic_key_with_funcargs # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_dynamic_key_with_imports # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_fileargs_implicit # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_fileargs_deftag # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_fileargs_pagetag # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_args_complete # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_fileargs_lookup # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_buffered # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_load_from_expired # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_namespace_access # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_lookup # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_invalidate # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_custom_args_def # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_custom_args_block # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_custom_args_page # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_pass_context # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_cache_uses_current_context # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:BeakerCacheTest.test_region # SKIP Beaker is required for these tests. SKIP: test/test_cache.py:DogpileCacheTest.test_def # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_cache_enable # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_nested_def # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_page # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_dynamic_key_with_context # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_dynamic_key_with_funcargs # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_dynamic_key_with_imports # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_fileargs_implicit # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_fileargs_deftag # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_fileargs_pagetag # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_args_complete # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_fileargs_lookup # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_buffered # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_load_from_expired # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_namespace_access # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_lookup # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_invalidate # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_custom_args_def # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_custom_args_block # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_custom_args_page # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_pass_context # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_cache_uses_current_context # SKIP dogpile.cache is required to run these tests SKIP: test/test_cache.py:DogpileCacheTest.test_region # SKIP dogpile.cache is required to run these tests PASS: test/test_call.py:CallTest.test_call PASS: test/test_call.py:CallTest.test_compound_call PASS: test/test_call.py:CallTest.test_new_syntax PASS: test/test_call.py:CallTest.test_ccall_caller PASS: test/test_call.py:CallTest.test_stack_pop PASS: test/test_call.py:CallTest.test_conditional_call PASS: test/test_call.py:CallTest.test_chained_call PASS: test/test_call.py:CallTest.test_nested_call PASS: test/test_call.py:CallTest.test_nested_call_2 PASS: test/test_call.py:CallTest.test_nested_call_3 PASS: test/test_call.py:CallTest.test_nested_call_4 PASS: test/test_call.py:CallTest.test_chained_call_in_nested PASS: test/test_call.py:CallTest.test_call_in_nested PASS: test/test_call.py:CallTest.test_composed_def PASS: test/test_call.py:CallTest.test_regular_defs PASS: test/test_call.py:CallTest.test_call_in_nested_2 PASS: test/test_call.py:SelfCacheTest.test_basic PASS: test/test_cmd.py:CmdTest.test_stdin_success PASS: test/test_cmd.py:CmdTest.test_stdin_syntax_err PASS: test/test_cmd.py:CmdTest.test_stdin_rt_err PASS: test/test_cmd.py:CmdTest.test_file_success PASS: test/test_cmd.py:CmdTest.test_file_syntax_err PASS: test/test_cmd.py:CmdTest.test_file_rt_err PASS: test/test_cmd.py:CmdTest.test_file_notfound PASS: test/test_decorators.py:DecoratorTest.test_toplevel PASS: test/test_decorators.py:DecoratorTest.test_toplevel_contextual PASS: test/test_decorators.py:DecoratorTest.test_nested PASS: test/test_decorators.py:DecoratorTest.test_toplevel_decorated_name PASS: test/test_decorators.py:DecoratorTest.test_nested_decorated_name PASS: test/test_def.py:DefTest.test_def_noargs PASS: test/test_def.py:DefTest.test_def_blankargs PASS: test/test_def.py:DefTest.test_def_args PASS: test/test_def.py:DefTest.test_def_py3k_args PASS: test/test_def.py:DefTest.test_inter_def PASS: test/test_def.py:DefTest.test_toplevel PASS: test/test_def.py:DefTest.test_def_operations PASS: test/test_def.py:ScopeTest.test_scope_one PASS: test/test_def.py:ScopeTest.test_scope_two PASS: test/test_def.py:ScopeTest.test_scope_four PASS: test/test_def.py:ScopeTest.test_scope_five PASS: test/test_def.py:ScopeTest.test_scope_six PASS: test/test_def.py:ScopeTest.test_scope_seven PASS: test/test_def.py:ScopeTest.test_scope_eight PASS: test/test_def.py:ScopeTest.test_scope_nine PASS: test/test_def.py:ScopeTest.test_scope_ten PASS: test/test_def.py:ScopeTest.test_scope_eleven PASS: test/test_def.py:ScopeTest.test_unbound_scope PASS: test/test_def.py:ScopeTest.test_unbound_scope_two PASS: test/test_def.py:ScopeTest.test_canget_kwargs PASS: test/test_def.py:ScopeTest.test_inline_expression_from_arg_one PASS: test/test_def.py:ScopeTest.test_interpret_expression_from_arg_two PASS: test/test_def.py:NestedDefTest.test_nested_def PASS: test/test_def.py:NestedDefTest.test_nested_2 PASS: test/test_def.py:NestedDefTest.test_nested_with_args PASS: test/test_def.py:NestedDefTest.test_nested_def_2 PASS: test/test_def.py:NestedDefTest.test_nested_nested_def PASS: test/test_def.py:NestedDefTest.test_nested_nested_def_2 PASS: test/test_def.py:NestedDefTest.test_outer_scope PASS: test/test_def.py:ExceptionTest.test_raise PASS: test/test_def.py:ExceptionTest.test_handler PASS: test/test_exceptions.py:ExceptionsTest.test_html_error_template PASS: test/test_exceptions.py:ExceptionsTest.test_text_error_template PASS: test/test_exceptions.py:ExceptionsTest.test_utf8_html_error_template_pygments PASS: test/test_exceptions.py:ExceptionsTest.test_utf8_html_error_template_no_pygments PASS: test/test_exceptions.py:ExceptionsTest.test_format_closures PASS: test/test_exceptions.py:ExceptionsTest.test_py_utf8_html_error_template PASS: test/test_exceptions.py:ExceptionsTest.test_py_unicode_error_html_error_template PASS: test/test_exceptions.py:ExceptionsTest.test_format_exceptions_pygments PASS: test/test_exceptions.py:ExceptionsTest.test_format_exceptions_no_pygments PASS: test/test_exceptions.py:ExceptionsTest.test_utf8_format_exceptions_pygments PASS: test/test_exceptions.py:ExceptionsTest.test_utf8_format_exceptions_no_pygments PASS: test/test_exceptions.py:ExceptionsTest.test_mod_no_encoding PASS: test/test_exceptions.py:ExceptionsTest.test_custom_tback PASS: test/test_exceptions.py:ExceptionsTest.test_tback_no_trace_from_py_file PASS: test/test_exceptions.py:ExceptionsTest.test_tback_trace_from_py_file PASS: test/test_exceptions.py:ExceptionsTest.test_code_block_line_number PASS: test/test_exceptions.py:ExceptionsTest.test_module_block_line_number PASS: test/test_exceptions.py:ExceptionsTest.test_alternating_file_names PASS: test/test_filters.py:FilterTest.test_basic PASS: test/test_filters.py:FilterTest.test_expr PASS: test/test_filters.py:FilterTest.test_convert_str PASS: test/test_filters.py:FilterTest.test_quoting PASS: test/test_filters.py:FilterTest.test_url_escaping PASS: test/test_filters.py:FilterTest.test_entity PASS: test/test_filters.py:FilterTest.test_def PASS: test/test_filters.py:FilterTest.test_import PASS: test/test_filters.py:FilterTest.test_import_2 PASS: test/test_filters.py:FilterTest.test_encode_filter PASS: test/test_filters.py:FilterTest.test_encode_filter_non_str PASS: test/test_filters.py:FilterTest.test_custom_default PASS: test/test_filters.py:FilterTest.test_global PASS: test/test_filters.py:FilterTest.test_block_via_context PASS: test/test_filters.py:FilterTest.test_def_via_context PASS: test/test_filters.py:FilterTest.test_text_via_context PASS: test/test_filters.py:FilterTest.test_nflag PASS: test/test_filters.py:FilterTest.test_global_json PASS: test/test_filters.py:FilterTest.test_non_expression PASS: test/test_filters.py:FilterTest.test_builtins PASS: test/test_filters.py:BufferTest.test_buffered_def PASS: test/test_filters.py:BufferTest.test_unbuffered_def PASS: test/test_filters.py:BufferTest.test_capture PASS: test/test_filters.py:BufferTest.test_capture_exception PASS: test/test_filters.py:BufferTest.test_buffered_exception PASS: test/test_filters.py:BufferTest.test_capture_ccall PASS: test/test_inheritance.py:InheritanceTest.test_basic PASS: test/test_inheritance.py:InheritanceTest.test_multilevel_nesting PASS: test/test_inheritance.py:InheritanceTest.test_includes PASS: test/test_inheritance.py:InheritanceTest.test_namespaces PASS: test/test_inheritance.py:InheritanceTest.test_pageargs PASS: test/test_inheritance.py:InheritanceTest.test_pageargs_2 PASS: test/test_inheritance.py:InheritanceTest.test_pageargs_err PASS: test/test_inheritance.py:InheritanceTest.test_toplevel PASS: test/test_inheritance.py:InheritanceTest.test_dynamic PASS: test/test_inheritance.py:InheritanceTest.test_in_call PASS: test/test_lexer.py:LexerTest.test_text_and_tag PASS: test/test_lexer.py:LexerTest.test_unclosed_tag PASS: test/test_lexer.py:LexerTest.test_onlyclosed_tag PASS: test/test_lexer.py:LexerTest.test_noexpr_allowed PASS: test/test_lexer.py:LexerTest.test_closing_tag_many_spaces PASS: test/test_lexer.py:LexerTest.test_opening_tag_many_quotes PASS: test/test_lexer.py:LexerTest.test_unmatched_tag PASS: test/test_lexer.py:LexerTest.test_nonexistent_tag PASS: test/test_lexer.py:LexerTest.test_wrongcase_tag PASS: test/test_lexer.py:LexerTest.test_percent_escape PASS: test/test_lexer.py:LexerTest.test_percent_escape2 PASS: test/test_lexer.py:LexerTest.test_percent_escape_with_control_block PASS: test/test_lexer.py:LexerTest.test_inline_percent PASS: test/test_lexer.py:LexerTest.test_old_multiline_comment PASS: test/test_lexer.py:LexerTest.test_text_tag PASS: test/test_lexer.py:LexerTest.test_def_syntax PASS: test/test_lexer.py:LexerTest.test_def_syntax_2 PASS: test/test_lexer.py:LexerTest.test_whitespace_equals PASS: test/test_lexer.py:LexerTest.test_ns_tag_closed PASS: test/test_lexer.py:LexerTest.test_ns_tag_empty PASS: test/test_lexer.py:LexerTest.test_ns_tag_open PASS: test/test_lexer.py:LexerTest.test_expr_in_attribute PASS: test/test_lexer.py:LexerTest.test_pagetag[,-48] PASS: test/test_lexer.py:LexerTest.test_pagetag[-47] PASS: test/test_lexer.py:LexerTest.test_nesting PASS: test/test_lexer.py:LexerTest.test_code PASS: test/test_lexer.py:LexerTest.test_code_and_tags PASS: test/test_lexer.py:LexerTest.test_expression PASS: test/test_lexer.py:LexerTest.test_tricky_expression PASS: test/test_lexer.py:LexerTest.test_dict_expression_issue_400_regression PASS: test/test_lexer.py:LexerTest.test_tricky_code PASS: test/test_lexer.py:LexerTest.test_tricky_code_2 PASS: test/test_lexer.py:LexerTest.test_tricky_code_3 PASS: test/test_lexer.py:LexerTest.test_tricky_code_4 PASS: test/test_lexer.py:LexerTest.test_tricky_code_5 PASS: test/test_lexer.py:LexerTest.test_tricky_code_6 PASS: test/test_lexer.py:LexerTest.test_control_lines PASS: test/test_lexer.py:LexerTest.test_control_lines_2 PASS: test/test_lexer.py:LexerTest.test_long_control_lines PASS: test/test_lexer.py:LexerTest.test_unmatched_control PASS: test/test_lexer.py:LexerTest.test_unmatched_control_2 PASS: test/test_lexer.py:LexerTest.test_unmatched_control_3 PASS: test/test_lexer.py:LexerTest.test_ternary_control PASS: test/test_lexer.py:LexerTest.test_integration PASS: test/test_lexer.py:LexerTest.test_comment_after_statement PASS: test/test_lexer.py:LexerTest.test_crlf PASS: test/test_lexer.py:LexerTest.test_comments PASS: test/test_lexer.py:LexerTest.test_docs PASS: test/test_lexer.py:LexerTest.test_preprocess PASS: test/test_lookup.py:LookupTest.test_basic PASS: test/test_lookup.py:LookupTest.test_subdir PASS: test/test_lookup.py:LookupTest.test_updir PASS: test/test_lookup.py:LookupTest.test_directory_lookup PASS: test/test_lookup.py:LookupTest.test_no_lookup PASS: test/test_lookup.py:LookupTest.test_uri_adjust PASS: test/test_lookup.py:LookupTest.test_uri_cache PASS: test/test_lookup.py:LookupTest.test_check_not_found PASS: test/test_lookup.py:LookupTest.test_dont_accept_relative_outside_of_root PASS: test/test_lookup.py:LookupTest.test_checking_against_bad_filetype PASS: test/test_loop.py:TestLoop.test__FOR_LOOP PASS: test/test_loop.py:TestLoop.test_loop_demo PASS: test/test_loop.py:TestLoop.test_nested_loops PASS: test/test_loop.py:TestLoop.test_no_loop PASS: test/test_loop.py:TestLoop.test_out_of_context_access PASS: test/test_loop.py:TestLoop.test_parent_loops PASS: test/test_loop.py:TestLoopStack.test__pop PASS: test/test_loop.py:TestLoopStack.test__push PASS: test/test_loop.py:TestLoopStack.test__top PASS: test/test_loop.py:TestLoopStack.test_enter PASS: test/test_loop.py:TestLoopStack.test_exit PASS: test/test_loop.py:TestLoopContext.test___len__ PASS: test/test_loop.py:TestLoopContext.test_cycle PASS: test/test_loop.py:TestLoopContext.test_even PASS: test/test_loop.py:TestLoopContext.test_first PASS: test/test_loop.py:TestLoopContext.test_index PASS: test/test_loop.py:TestLoopContext.test_last PASS: test/test_loop.py:TestLoopContext.test_odd PASS: test/test_loop.py:TestLoopContext.test_reverse_index PASS: test/test_loop.py:TestLoopFlags.test_loop_disabled_template PASS: test/test_loop.py:TestLoopFlags.test_loop_disabled_lookup PASS: test/test_loop.py:TestLoopFlags.test_loop_disabled_override_template PASS: test/test_loop.py:TestLoopFlags.test_loop_disabled_override_lookup PASS: test/test_loop.py:TestLoopFlags.test_loop_enabled_override_template PASS: test/test_loop.py:TestLoopFlags.test_loop_enabled_override_lookup PASS: test/test_lru.py:LRUTest.testlru PASS: test/test_namespace.py:NamespaceTest.test_inline_crossreference PASS: test/test_namespace.py:NamespaceTest.test_inline_assignment PASS: test/test_namespace.py:NamespaceTest.test_inline_arguments PASS: test/test_namespace.py:NamespaceTest.test_inline_not_duped PASS: test/test_namespace.py:NamespaceTest.test_dynamic PASS: test/test_namespace.py:NamespaceTest.test_template PASS: test/test_namespace.py:NamespaceTest.test_module PASS: test/test_namespace.py:NamespaceTest.test_module_2 PASS: test/test_namespace.py:NamespaceTest.test_module_imports PASS: test/test_namespace.py:NamespaceTest.test_module_imports_2 PASS: test/test_namespace.py:NamespaceTest.test_context PASS: test/test_namespace.py:NamespaceTest.test_overload PASS: test/test_namespace.py:NamespaceTest.test_getattr PASS: test/test_namespace.py:NamespaceTest.test_in_def PASS: test/test_namespace.py:NamespaceTest.test_in_remote_def PASS: test/test_namespace.py:NamespaceTest.test_dont_pollute_self PASS: test/test_namespace.py:NamespaceTest.test_inheritance PASS: test/test_namespace.py:NamespaceTest.test_inheritance_two PASS: test/test_namespace.py:NamespaceTest.test_attr PASS: test/test_namespace.py:NamespaceTest.test_attr_raise PASS: test/test_namespace.py:NamespaceTest.test_custom_tag_1 PASS: test/test_namespace.py:NamespaceTest.test_custom_tag_2 PASS: test/test_namespace.py:NamespaceTest.test_custom_tag_3 PASS: test/test_namespace.py:NamespaceTest.test_custom_tag_case_sensitive PASS: test/test_namespace.py:NamespaceTest.test_expr_grouping PASS: test/test_namespace.py:NamespaceTest.test_ccall PASS: test/test_namespace.py:NamespaceTest.test_ccall_2 PASS: test/test_namespace.py:NamespaceTest.test_import PASS: test/test_namespace.py:NamespaceTest.test_import_calledfromdef PASS: test/test_namespace.py:NamespaceTest.test_closure_import PASS: test/test_namespace.py:NamespaceTest.test_import_local PASS: test/test_namespace.py:NamespaceTest.test_ccall_import PASS: test/test_namespace.py:NamespaceTest.test_nonexistent_namespace_uri PASS: test/test_pygen.py:GeneratePythonTest.test_generate_normal PASS: test/test_pygen.py:GeneratePythonTest.test_generate_adjusted PASS: test/test_pygen.py:GeneratePythonTest.test_generate_combo PASS: test/test_pygen.py:GeneratePythonTest.test_multi_line PASS: test/test_pygen.py:GeneratePythonTest.test_false_unindentor PASS: test/test_pygen.py:GeneratePythonTest.test_backslash_line PASS: test/test_pygen.py:WhitespaceTest.test_basic PASS: test/test_pygen.py:WhitespaceTest.test_blank_lines PASS: test/test_pygen.py:WhitespaceTest.test_open_quotes_with_pound PASS: test/test_pygen.py:WhitespaceTest.test_quote_with_comments PASS: test/test_pygen.py:WhitespaceTest.test_quotes_with_pound PASS: test/test_pygen.py:WhitespaceTest.test_quotes PASS: test/test_runtime.py:ContextTest.test_locals_kwargs PASS: test/test_template.py:MiscTest.test_crlf_linebreaks PASS: test/test_template.py:EncodingTest.test_escapes_html_tags PASS: test/test_template.py:EncodingTest.test_unicode PASS: test/test_template.py:EncodingTest.test_encoding_doesnt_conflict PASS: test/test_template.py:EncodingTest.test_unicode_arg PASS: test/test_template.py:EncodingTest.test_unicode_file PASS: test/test_template.py:EncodingTest.test_unicode_file_code PASS: test/test_template.py:EncodingTest.test_unicode_file_lookup PASS: test/test_template.py:EncodingTest.test_unicode_bom PASS: test/test_template.py:EncodingTest.test_unicode_memory PASS: test/test_template.py:EncodingTest.test_unicode_text PASS: test/test_template.py:EncodingTest.test_unicode_text_ccall PASS: test/test_template.py:EncodingTest.test_unicode_literal_in_expr PASS: test/test_template.py:EncodingTest.test_unicode_literal_in_expr_file PASS: test/test_template.py:EncodingTest.test_unicode_literal_in_code PASS: test/test_template.py:EncodingTest.test_unicode_literal_in_controlline PASS: test/test_template.py:EncodingTest.test_unicode_literal_in_tag PASS: test/test_template.py:EncodingTest.test_unicode_literal_in_def PASS: test/test_template.py:EncodingTest.test_input_encoding PASS: test/test_template.py:EncodingTest.test_encoding PASS: test/test_template.py:EncodingTest.test_encoding_errors PASS: test/test_template.py:EncodingTest.test_read_unicode PASS: test/test_template.py:PageArgsTest.test_basic PASS: test/test_template.py:PageArgsTest.test_inherits PASS: test/test_template.py:PageArgsTest.test_includes PASS: test/test_template.py:PageArgsTest.test_context_small PASS: test/test_template.py:PageArgsTest.test_with_context PASS: test/test_template.py:PageArgsTest.test_overrides_builtins PASS: test/test_template.py:PageArgsTest.test_canuse_builtin_names PASS: test/test_template.py:PageArgsTest.test_builtin_names_dont_clobber_defaults_in_includes PASS: test/test_template.py:PageArgsTest.test_dict_locals PASS: test/test_template.py:IncludeTest.test_basic PASS: test/test_template.py:IncludeTest.test_localargs PASS: test/test_template.py:IncludeTest.test_viakwargs PASS: test/test_template.py:IncludeTest.test_include_withargs PASS: test/test_template.py:IncludeTest.test_within_ccall PASS: test/test_template.py:IncludeTest.test_include_error_handler PASS: test/test_template.py:UndefinedVarsTest.test_undefined PASS: test/test_template.py:UndefinedVarsTest.test_strict PASS: test/test_template.py:UndefinedVarsTest.test_expression_declared PASS: test/test_template.py:UndefinedVarsTest.test_list_comprehensions_plus_undeclared_nonstrict PASS: test/test_template.py:UndefinedVarsTest.test_traditional_assignment_plus_undeclared PASS: test/test_template.py:UndefinedVarsTest.test_list_comprehensions_plus_undeclared_strict PASS: test/test_template.py:UndefinedVarsTest.test_dict_comprehensions_in_function_plus_undeclared_strict PASS: test/test_template.py:StopRenderingTest.test_return_in_template PASS: test/test_template.py:ReservedNameTest.test_names_on_context PASS: test/test_template.py:ReservedNameTest.test_names_in_template PASS: test/test_template.py:ReservedNameTest.test_exclude_loop_context PASS: test/test_template.py:ReservedNameTest.test_exclude_loop_template PASS: test/test_template.py:ControlTest.test_control PASS: test/test_template.py:ControlTest.test_blank_control_1 PASS: test/test_template.py:ControlTest.test_blank_control_2 PASS: test/test_template.py:ControlTest.test_blank_control_3 PASS: test/test_template.py:ControlTest.test_blank_control_4 PASS: test/test_template.py:ControlTest.test_blank_control_5 PASS: test/test_template.py:ControlTest.test_blank_control_6 PASS: test/test_template.py:ControlTest.test_blank_control_7 PASS: test/test_template.py:ControlTest.test_blank_control_8 PASS: test/test_template.py:ControlTest.test_blank_control_9 PASS: test/test_template.py:ControlTest.test_blank_control_10 PASS: test/test_template.py:ControlTest.test_blank_control_11 PASS: test/test_template.py:ControlTest.test_commented_blank_control_1 PASS: test/test_template.py:ControlTest.test_commented_blank_control_2 PASS: test/test_template.py:ControlTest.test_commented_blank_control_3 PASS: test/test_template.py:ControlTest.test_commented_blank_control_4 PASS: test/test_template.py:ControlTest.test_commented_blank_control_5 PASS: test/test_template.py:ControlTest.test_commented_blank_control_6 PASS: test/test_template.py:ControlTest.test_commented_blank_control_7 PASS: test/test_template.py:ControlTest.test_commented_blank_control_8 PASS: test/test_template.py:ControlTest.test_commented_blank_control_9 PASS: test/test_template.py:ControlTest.test_commented_blank_control_10 PASS: test/test_template.py:ControlTest.test_multiline_control PASS: test/test_template.py:GlobalsTest.test_globals PASS: test/test_template.py:RichTracebackTest.test_utf8_memory_syntax PASS: test/test_template.py:RichTracebackTest.test_utf8_memory_runtime PASS: test/test_template.py:RichTracebackTest.test_utf8_file_syntax PASS: test/test_template.py:RichTracebackTest.test_utf8_file_runtime PASS: test/test_template.py:RichTracebackTest.test_unicode_memory_syntax PASS: test/test_template.py:RichTracebackTest.test_unicode_memory_runtime PASS: test/test_template.py:RichTracebackTest.test_unicode_file_syntax PASS: test/test_template.py:RichTracebackTest.test_unicode_file_runtime PASS: test/test_template.py:ModuleDirTest.test_basic PASS: test/test_template.py:ModuleDirTest.test_callable PASS: test/test_template.py:ModuleDirTest.test_custom_writer PASS: test/test_template.py:FilenameToURITest.test_windows_paths PASS: test/test_template.py:FilenameToURITest.test_posix_paths PASS: test/test_template.py:FilenameToURITest.test_dont_accept_relative_outside_of_root PASS: test/test_template.py:ModuleTemplateTest.test_module_roundtrip PASS: test/test_template.py:TestTemplateAPI.test_metadata PASS: test/test_template.py:TestTemplateAPI.test_metadata_two PASS: test/test_template.py:PreprocessTest.test_old_comments PASS: test/test_template.py:LexerTest.test_via_template PASS: test/test_template.py:LexerTest.test_via_lookup PASS: test/test_template.py:FuturesTest.test_future_import PASS: test/test_template.py:EscapeTest.test_percent_escape PASS: test/test_template.py:EscapeTest.test_percent_escape2 PASS: test/test_template.py:EscapeTest.test_inline_percent PASS: test/test_template.py:EscapeTest.test_listcomp_in_func_strict PASS: test/test_template.py:EscapeTest.test_setcomp_in_func_strict PASS: test/test_template.py:EscapeTest.test_generator_in_func_strict PASS: test/test_template.py:EscapeTest.test_dictcomp_in_func_strict PASS: test/test_tgplugin.py:TestTGPlugin.test_basic PASS: test/test_tgplugin.py:TestTGPlugin.test_subdir PASS: test/test_tgplugin.py:TestTGPlugin.test_basic_dot PASS: test/test_tgplugin.py:TestTGPlugin.test_subdir_dot PASS: test/test_tgplugin.py:TestTGPlugin.test_string PASS: test/test_tgplugin.py:TestTGPlugin.test_render PASS: test/test_util.py:UtilTest.test_fast_buffer_write PASS: test/test_util.py:UtilTest.test_fast_buffer_truncate PASS: test/test_util.py:UtilTest.test_fast_buffer_encoded PASS: test/test_util.py:UtilTest.test_read_file PASS: test/test_util.py:UtilTest.test_load_module PASS: test/test_util.py:UtilTest.test_load_plugin_failure PASS: test/testing/test_config.py:BasicConfigTest.test_coercions PASS: test/testing/test_config.py:BasicConfigTest.test_values PASS: test/testing/test_config.py:BasicConfigTest.test_error_on_loading_from_nonexistent_file PASS: test/testing/test_config.py:BasicConfigTest.test_error_on_loading_from_nonexistent_section PASS: test/testing/test_config.py:BooleanConfigTest.test_values PASS: test/testing/test_config.py:UnsupportedTypesConfigTest.test_values PASS: test/testing/test_config.py:SupportedTypesConfigTest.test_values PASS: test/testing/test_config.py:TypeMismatchConfigTest.test_error_on_load PASS: test/testing/test_config.py:MissingItemConfigTest.test_error_on_load ============================================================================ Testsuite summary DURATION: 40 END: /usr/lib/python3-mako/ptest 2024-06-16T19:21 STOP: ptest-runner TOTAL: 1 FAIL: 0 (From OE-Core rev: 83a7c016ec83d3220bc3c3d8bdf3a103fd5b6eca) Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* debianutils: upgrade 5.17 -> 5.19Yi Zhao2024-06-181-1/+1
| | | | | | | | | | | | | | | | | | ChangeLog: 5.19: * update-shells: Avoid duplicate lines when package shells contain both aliased and canonical shells. 5.18 * po4a/po/fr.po: Updated french translations for manpages. * d/control: Bump standards version from 4.6.2 to 4.7.0. * acinclude.m4: Bump DEBIANUTILS_VERSION from 5.17 to 5.18. (From OE-Core rev: b238242e327e9dcf3c3741cc164d1e681ce97316) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logrotate: upgrade 3.21.0 -> 3.22.0Yi Zhao2024-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | ChangeLog: https://github.com/logrotate/logrotate/releases/tag/3.22.0 * fix calculations for time differences * fix extension for zip compression * fix omitted copy for logs with mail and rotate 0 * fix wrongly skipping copy with copytruncate and compress * fix ambiguities between mode, UID and GID parsing when not specifying all options * fix hang when encountering a named pipe * on prerotate failure logs are preserved instead of rotated * in case a configuration file was skipped due to unsafe permissions the exit status after rotattion will be 1 * the state is no longer written to non-regular files * the systemd timer now correctly utilizes load distribution * add dateformat specifier %z for timezone offsets * change default mode for created olddir directories to 0755 * support quoted user and group names in su, create, and createolddir (From OE-Core rev: f856ed2095818401bacdbfcf9b0c2265a415f2a1) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ffmpeg: backport patch to fix errors with GCC 14Dmitry Baryshkov2024-06-182-0/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | On ARMv7 compilation of ffmpeg breaks if Vulkan support is enabled. Backport a patch from the trunk to fix compilation issues: | src/libavcodec/vulkan_av1.c: In function 'vk_av1_create_params': | src/libavcodec/vulkan_av1.c:214:43: error: initialization of 'long long unsigned int' from 'void *' makes integer from pointer without a cast [-Wint-conversion] | 214 | .videoSessionParametersTemplate = NULL, | | ^~~~ | src/libavcodec/vulkan_av1.c:214:43: note: (near initialization for '(anonymous).videoSessionParametersTemplate') | make: *** [/oe/build/tmp-rpb_wayland-glibc/work/armv7at2hf-neon-linaro-linux-gnueabi/ffmpeg/6.1.1/ffmpeg-6.1.1/ffbuild/common.mak:81: libavcodec/vulkan_av1.o] Error 1 | make: *** Waiting for unfinished jobs.... | src/libavcodec/vulkan_decode.c: In function 'ff_vk_decode_prepare_frame': | src/libavcodec/vulkan_decode.c:191:26: error: assignment to 'VkImageView' {aka 'long long unsigned int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion] | 191 | vkpic->img_view_ref = NULL; | | ^ | src/libavcodec/vulkan_decode.c:192:26: error: assignment to 'VkImageView' {aka 'long long unsigned int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion] | 192 | vkpic->img_view_out = NULL; | | ^ | src/libavcodec/vulkan_decode.c:193:26: error: assignment to 'VkImageView' {aka 'long long unsigned int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion] | 193 | vkpic->img_view_dest = NULL; | | ^ | make: *** [/oe/build/tmp-rpb_wayland-glibc/work/armv7at2hf-neon-linaro-linux-gnueabi/ffmpeg/6.1.1/ffmpeg-6.1.1/ffbuild/common.mak:81: libavcodec/vulkan_decode.o] Error 1 (From OE-Core rev: 52001cabd021b7c856acf426b668b99a72561de0) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gawk: Remove References to /usr/local/bin/gawkKhem Raj2024-06-181-0/+2
| | | | | | | | | | | | | Also replace the hashbangs using /bin/gawk to use ${bindir}/gawk This fixes issues such as https://github.com/riscv/meta-riscv/issues/384 (From OE-Core rev: 9f58ad97f6587322b716de1c9dc409bb4e1376f0) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gfortran: update runtime dependenciesKai Kang2024-06-181-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | It fails to run both `gcc` and `gfortran` with errors: | root@qemux86-64:~# x86_64-poky-linux-gcc a.c | x86_64-poky-linux-gcc: fatal error: cannot execute 'as': posix_spawnp: No such file or directory then add binutils which provides `as` to RDEPENDS of gcc. libgfortran-dev provides libgfortran.spec which required by gfortran: | root@qemux86-64:~# gfortran hello.f95 | gfortran: fatal error: cannot read spec file 'libgfortran.spec': No such file or directory And gcc provides liblto_plugin.so: | root@qemux86-64:~# gfortran hello.f95 | gfortran: fatal error: '-fuse-linker-plugin', but liblto_plugin.so not found (From OE-Core rev: 44fc7aa1468ff042739cc5a91c84ef5c2a09e0a3) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk+: add missing libdrm dependencyAndrew Fernandes2024-06-181-0/+1
| | | | | | | | | | | | Fixes [YOCTO #15513] When built without the wayland feature, gtk4 does not build due to a missing explicit dependency on libdrm. (From OE-Core rev: b32290d9bbcfccc9b85fa5acbeaee5d32d9a9091) Signed-off-by: Andrew Fernandes <andrew@fernandes.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: remove g77/f77Kai Kang2024-06-183-32/+2
| | | | | | | | | | | | | | | | | | | | | | | | g77/f77 has been removed from gcc 4.0.0 via commit: * b4117c30610 Makefile.def, [...]: Remove all mention of libf2c. When set FORTRAN = ",f77" it complains with error: | The following requested languages could not be built: f77 | Supported languages are: c,c,c++,fortran,go,lto,m2,objc,obj-c++ So remove g77/f77 from gcc recipes. [1]: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=b4117c30610 (From OE-Core rev: 6469c6a00066af24c87ec5dd7994ebbc610c3782) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: skip test_multiprocessing/test_active_children testTrevor Gamblin2024-06-182-0/+31
| | | | | | | | | This test is causing problems on the Autobuilder, so disable it for now. (From OE-Core rev: ac000b00ec615b3e51dda8d819015d5e7110ed88) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Fix typo in increment expression in unicode from libstdc++Khem Raj2024-06-182-0/+77
| | | | | | | | | | This issue is seen when libstdc++ headers are used by clang18 see - https://github.com/llvm/llvm-project/issues/92586 (From OE-Core rev: 1506b779014b09ffd618b2e5d95aa00ff91d6f45) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic/partition.py: Set hash_seed for empty ext partitionAdithya Balakumar2024-06-181-14/+23
| | | | | | | | | | Although setting hash_seed is handled for the rootfs plugin case, but this is missed when deploying an empty ext partition. (From OE-Core rev: 0202fb594fb05098cb8d8b6088e63beb40b5906e) Signed-off-by: Adithya Balakumar <adithya.balakumar@toshiba-tsip.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gstreamer1.0-plugins-bad: Fix build with muslKhem Raj2024-06-182-0/+97
| | | | | | | (From OE-Core rev: e1338eeb0c2d1e4a76c3efc9eb969e0edf9fe106) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cups: Upgrade 2.4.8 -> 2.4.9Siddharth Doshi2024-06-181-1/+1
| | | | | | | | | | | | | | CVE's Fixed by upgrade: CVE-2024-35235 cups: Cupsd Listen arbitrary chmod 0140777 Other Changes between 2.4.8 -> 2.4.9 ==================================== https://github.com/OpenPrinting/cups/blob/2.4.x/CHANGES.md (From OE-Core rev: 6e1f6b7166f4a17bbf99f4b17cb9ed1fba9bbf39) Signed-off-by: Siddharth Doshi <sdoshi@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add RECIPE_UPDATE_EXTRA_TASKS variableTim Orling2024-06-161-0/+7
| | | | | | | | | | | Document the new RECIPE_UPDATE_EXTRA_TASKS variable and give cargo-update-recipe-crates as a concrete example. (From yocto-docs rev: 9cc4e395571dcef58d9d8545c08d9fdf8070bb32) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* documentation/README: refer to doc package requirementsMichael Opdenacker2024-06-161-26/+3
| | | | | | | | | | | | | Refer to package requirements for building documentation from supported distributions. The simple instructions previously listed no longer work on Ubuntu 24.04, for example. (From yocto-docs rev: c474f211a9a9ab9399627558b801d7546ebcd52b) Signed-off-by: Michael Opdenacker <michael@opdenacker.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: introduce CVE_CHECK_REPORT_PATCHED variableAleksandar Nikolic2024-06-161-0/+6
| | | | | | | | | (From yocto-docs rev: f585a68a8f35f31814e408dd973ea7345adbbacf) Signed-off-by: Aleksandar Nikolic <an010@live.com> Reviewed-by: Michael Opdenacker <michael@opdenacker.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual: Add info on build env initializationJasper Orschulko2024-06-161-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Going through the docs we a new trainee, we noticed that the build initialization is only mentioned in the quick build (https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html) but not in the in-depth getting started documentation. While this is repeatedly mentioned later on, e.g. in the "building" section, you might easily end up somewhere where this has not been mentioned yet. E.g. in our case this was: https://docs.yoctoproject.org/dev-manual/layers.html# (which comes right after the "setup" chapter) -> https://docs.yoctoproject.org/dev-manual/layers.html#creating-a-general-layer-using-the-bitbake-layers-script (which is linked right at the top) To avoid any confusion I think it best to mention this required step directly in the "start" document. (From yocto-docs rev: d7a36b7b8e770ae45b991698d588f9522ba59b4e) Signed-off-by: Jasper Orschulko <jasper@fancydomain.eu> Reviewed-by: Michael Opdenacker <michael@opdenacker.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipe style guide: add recommendation for patches without signatureAlexandre Truong2024-06-161-0/+12
| | | | | | | | | | | | | | | | | >From discussion [0], the presence of git version signature at the end of patches has been questionned. To avoid a bit more noise, the setting git format.signature is added to the documentation and its use is recommended. [0]: https://lists.openembedded.org/g/openembedded-core/topic/106323318#msg199967 (From yocto-docs rev: 7da39b91a0f20cb7215d51e00c098f3dc13180fd) Signed-off-by: Alexandre Truong <alexandre.truong@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Reviewed-by: Michael Opdenacker <michael@opdenacker.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: fix wrong path of tmp.mountChangqing Li2024-06-131-2/+2
| | | | | | | | | | | | | According to meson.build, tmp.mount is installed under "prefixdir/'lib/systemd/system'", but for 64bit system, rootlibdir is /usr/lib64/systemd/system, this make tmp.mount not removed, and /tmp still mounted as tmpfs filesystem. Fixed by using rootlibexecdir, which is /usr/lib/systemd/system. (From OE-Core rev: b44734c889b1b09fbbaea4d9195026707c55cbee) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk/case: Ensure DL_DIR is populated with artefacts if usedRichard Purdie2024-06-131-3/+6
| | | | | | | | | | | Where we're using DL_DIR in sdk archive to try and cache testing artefacts, copy into the cache so that it gets populated and this doesn't have to be done manually. Currently we're making a lot of repeat requests to github as this wasn't being populated. (From OE-Core rev: a3284958a2cc6c90a5fac26976bddc23f821c972) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* curl: rewrite ptest installationRoss Burton2024-06-133-57/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The latest libtool upgrade appears to have resulted in intermediate files containing build paths. This wouldn't normally be a problem but the curl-ptest package is populated by copying ${B}/tests/ which includes all of the intermediate objects, so this causes buildpath warnings. Rewrite the ptest installation to install just the pieces we need: the test harness, utility scripts, and the test data. We do not need the libcurl unit tests nor the HTTP server tests, as we don't run those. Remove all of the explicitly disabled tests, as many of these were for tests that run curl-config or scan the source code, neither of which are available at ptest time. Instead use keyword exclusions to skip them. Tell the test runner to use the system curl instead of symlinking in the binary. Don't copy curl-config, skipping these minor tests is acceptable. Remove the RDEPENDS on bash, nothing needs this now we're not shipping a build tree. (From OE-Core rev: ace380501d3ef62a9e94e2bd4e880cbfaddac02c) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/makefile-getvar: add script to get values from MakefilesRoss Burton2024-06-131-0/+24
| | | | | | | | | | | | | | There is often a need to extract a value from a Makefile, and standard GNU Make doesn't provide a way to do this. This script lets you access values from Makefiles directly: $ makefile-getvar curl/tests/server/Makefile noinst_PROGRAMS getpart resolve rtspd sockfilt sws tftpd fake_ntlm socksd disabled mqttd (From OE-Core rev: 881aa40d12d9dde73a932277093e5ceca8eb5c68) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: skip test_concurrent_futures/test_deadlockTrevor Gamblin2024-06-132-0/+31
| | | | | | | | | | These tests are causing hangs on the Autobuilder, so disable them for now. (From OE-Core rev: 291f37808f1a2b2fdc8190696867f974994457c0) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: add RECIPE_UPDATE_EXTRA_TASKS testTim Orling2024-06-133-0/+153
| | | | | | | | | | | | | | | | | | | | Add test_devtool_upgrade_recipe_update_extra_tasks test case to test upgrade of python3-guessing-game from v0.1.0 to v0.2.0 which will exercise the update_crates task during the upgrade. Add python3-guessing-game_git.bb.upgraded and python3-guessing-game-crates.inc.upgraded which are the 0.2.0 variants. Check that the new recipe file has the expected differences. Check that the new -crates.inc file has the expected differences, which should be reproducible because of Cargo.lock. (From OE-Core rev: d14368bc775cbf5142c1312dfc2076e328381aef) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta-selftest: add python3-guessing-gameTim Orling2024-06-132-0/+101
| | | | | | | | | | | Add v0.1.0 of python3-guessing-game which is used as the baseline for an upgrade to v0.2.0 in test_devtool_upgrade_recipe_update_extra_tasks test case. (From OE-Core rev: f62e74a00de892bf4c10f641f734b57c0017a871) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo-update-recipe-crates: add RECIPE_UPDATE_EXTRA_TASKSTim Orling2024-06-131-0/+2
| | | | | | | | | | | | | | | When we upgrade a recipe that inherits cargo-update-recipe-crates and the upstream Cargo.toml/Cargo.lock have been changed, we need to run the update_crates task or else the devtool upgrade (and therefore AUH upgrade) will fail. Add "do_update_crates" task to RECIPE_UPDATE_EXTRA_TASKS for all recipes that inherit this class. (From OE-Core rev: 0156ab3e009fa789c629f6c0ab06fcf21add94f8) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool upgrade: enable RECIPE_UPDATE_EXTRA_TASKSTim Orling2024-06-131-0/+11
| | | | | | | | | | | | | | For some recipes, such as those that inherit cargo-update-recipe-crates, we need to run additional tasks once the new sources have been unpacked. Introduce a new variable RECIPE_UPDATE_EXTRA_TASKS which is a space- delimited list of tasks to run after the new sources have been unpacked in scripts/lib/devtool/upgrade.py ugrade() method. (From OE-Core rev: 59894f3b5b0bc257837d7ce4ea684f1d8c382cec) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: test_project_page: fix failing test_single_layer_pageTim Orling2024-06-121-1/+1
| | | | | | | | | | | | | | | | The test_single_layer_page test case consistently fails. It is not obvious why but if we change the argument in the following from 8 to 7 it passes. url = reverse("layerdetails", args=(TestProjectPage.project_id, 8)) E selenium.common.exceptions.TimeoutException: Message: An element matching "#change-notification" should be visible =========================== short test summary info ============================ FAILED ../bitbake/lib/toaster/tests/functional/test_project_page.py::TestProjectPage::test_single_layer_page (Bitbake rev: c7e12145d8ea641925e3c06ba4f11c2dae66288a) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster test_cerate_new_project: add scarthgapTim Orling2024-06-121-11/+11
| | | | | | | | | | | | | | | In line with changes in gen_fixtures.py: * Add projectscarthgap - Add Scarthgap to slot 1. * Move Kirkstone down to slot 4 * Drop projectdunfell - Drop EOL Dunfell from slot 5 (Bitbake rev: a4ae788f95d8e54713528374a9171c636aa747c5) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: taoster: update fixtures for scarthgap, currentTim Orling2024-06-123-103/+43
| | | | | | | | | | | | | | | gen_fixtures.py: * Add Scarthgap to slot #1 * Drop EOL Mickledore * Move Kirkstone to lower slot * Drop optional slot for EOL Dunfell Refresh oe-core.xml and poky.xml (Bitbake rev: 11c7214a292cd296eed5490b6726e672f9179131) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Allow using libc++Dan McGregor2024-06-124-6/+3
| | | | | | | | | | | | | With the addition of the C++ runtime setting added recently, allow gcc to use libc++ as its runtime. There's some minor fixes still required, such as allowing setting the unwinder library. But this allows for testing libc++ with gcc. (From OE-Core rev: f84ae97e2bc081c972e78ee4a958f21111dbbfb6) Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/spdx: Fix for SPDX_VERSION additionRichard Purdie2024-06-121-1/+2
| | | | | | | | Update the test for the addition of SPDX_VERSION to the deploy path. (From OE-Core rev: 055e8c21908127722abad9e992d6408d8697a119) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/spdx-common: Return empty list from extract_licensesJoshua Watt2024-06-121-1/+1
| | | | | | | | | | This is nicer as the normal return type is a list, so the calling code doesn't have to deal with a None sometimes and a list others. (From OE-Core rev: e200aa9cc6ceb8ca58ef239a1a5565287b38ce55) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/spdx-common: Add SPDX version to pathJoshua Watt2024-06-122-2/+5
| | | | | | | | | | Since multiple versions of SPDX are available, use the version in the path (From OE-Core rev: 35c061a4514905b3ebbb7f0633a584927519445c) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>