Commit Graph

78488 Commits

Author SHA1 Message Date
Ross Burton
3eebf71549 expect: fix configure with GCC 14
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>
2024-06-24 12:43:40 +01:00
Siddharth Doshi
704507c4e6 libxml2: Upgrade 2.12.7 -> 2.12.8
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>
2024-06-24 12:43:40 +01:00
Martin Hundeb?ll
2dbe36d3e1 ofono: upgrade 2.7 -> 2.8
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>
2024-06-24 12:43:40 +01:00
Andrey Zhizhikin
08b9170941 devicetree.bbclass: switch away from S = WORKDIR
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>
2024-06-24 12:43:40 +01:00
Etienne Cordonnier
d87082efa5 oeqa/runtime: fix race-condition in minidebuginfo test
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>
2024-06-24 12:43:40 +01:00
Aleksandar Nikolic
edba6889b4 cve-check: Introduce CVE_CHECK_MANIFEST_JSON_SUFFIX
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>
2024-06-24 12:43:40 +01:00
Jörg Sommer
44f1b2c56a classes/kernel: No symlink in postinst without KERNEL_IMAGETYPE_SYMLINK
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] 8b6b95106a

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>
2024-06-24 12:43:40 +01:00
Martin Jansa
5d88faa0f3 bitbake: siggen: catch FileNotFoundError everywhere and ConnectionError also 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>
2024-06-18 08:45:22 +01:00
Benjamin Szőke
aca14abc35 populate_sdk_base: add 7zip archive type for SDK
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>
2024-06-18 08:44:41 +01:00
Benjamin Szőke
dbe070b602 archiver.bbclass: Fix work-shared checking for kernel recipes
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>
2024-06-18 08:44:41 +01:00
Jan Vermaete
702c29ba0c python3-mako: added ptest
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>
2024-06-18 08:44:41 +01:00
Yi Zhao
4c0bc216e1 debianutils: upgrade 5.17 -> 5.19
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>
2024-06-18 08:44:41 +01:00
Yi Zhao
e5f14a6995 logrotate: upgrade 3.21.0 -> 3.22.0
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>
2024-06-18 08:44:41 +01:00
Dmitry Baryshkov
29f38b334d ffmpeg: backport patch to fix errors with GCC 14
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>
2024-06-18 08:44:41 +01:00
Khem Raj
41bc9f693e gawk: Remove References to /usr/local/bin/gawk
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>
2024-06-18 08:44:41 +01:00
Kai Kang
da616e302e gfortran: update runtime dependencies
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>
2024-06-18 08:44:41 +01:00
Andrew Fernandes
e288d1b223 gtk+: add missing libdrm dependency
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>
2024-06-18 08:44:41 +01:00
Kai Kang
5aa7391d85 gcc: remove g77/f77
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>
2024-06-18 08:44:41 +01:00
Trevor Gamblin
849386c44d python3: skip test_multiprocessing/test_active_children test
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>
2024-06-18 08:44:41 +01:00
Khem Raj
5cb8d94644 gcc: Fix typo in increment expression in unicode from libstdc++
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>
2024-06-18 08:44:41 +01:00
Adithya Balakumar
c79c8ce71c wic/partition.py: Set hash_seed for empty ext partition
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>
2024-06-18 08:44:41 +01:00
Khem Raj
7fb8509c5a gstreamer1.0-plugins-bad: Fix build with musl
(From OE-Core rev: e1338eeb0c2d1e4a76c3efc9eb969e0edf9fe106)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-18 08:44:41 +01:00
Siddharth Doshi
35faffd46c cups: Upgrade 2.4.8 -> 2.4.9
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>
2024-06-18 08:44:41 +01:00
Tim Orling
41780c62d2 ref-manual: add RECIPE_UPDATE_EXTRA_TASKS variable
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>
2024-06-16 22:49:21 +01:00
Michael Opdenacker
5020a0f560 documentation/README: refer to doc package requirements
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>
2024-06-16 22:48:18 +01:00
Aleksandar Nikolic
9ece314372 ref-manual: introduce CVE_CHECK_REPORT_PATCHED variable
(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>
2024-06-16 22:48:18 +01:00
Jasper Orschulko
5d737bf584 dev-manual: Add info on build env initialization
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>
2024-06-16 22:48:18 +01:00
Alexandre Truong
0df9d22928 recipe style guide: add recommendation for patches without signature
>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>
2024-06-16 22:48:18 +01:00
Changqing Li
838ca52a74 systemd: fix wrong path of tmp.mount
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>
2024-06-13 09:11:17 +01:00
Richard Purdie
4d50069d78 oeqa/sdk/case: Ensure DL_DIR is populated with artefacts if used
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>
2024-06-13 09:11:17 +01:00
Ross Burton
38feae1adb curl: rewrite ptest installation
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>
2024-06-13 09:11:17 +01:00
Ross Burton
4574919d30 scripts/makefile-getvar: add script to get values from Makefiles
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>
2024-06-13 09:11:17 +01:00
Trevor Gamblin
b82d066887 python3: skip test_concurrent_futures/test_deadlock
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>
2024-06-13 09:11:17 +01:00
Tim Orling
c16d3b930f oe-selftest: add RECIPE_UPDATE_EXTRA_TASKS test
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>
2024-06-13 09:11:17 +01:00
Tim Orling
1ba3586bbe meta-selftest: add python3-guessing-game
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>
2024-06-13 09:11:17 +01:00
Tim Orling
5676d39218 cargo-update-recipe-crates: add RECIPE_UPDATE_EXTRA_TASKS
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>
2024-06-13 09:11:17 +01:00
Tim Orling
82d07928fe devtool upgrade: enable RECIPE_UPDATE_EXTRA_TASKS
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>
2024-06-13 09:11:17 +01:00
Tim Orling
ddc86a93da bitbake: test_project_page: fix failing test_single_layer_page
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>
2024-06-12 21:15:50 +01:00
Tim Orling
82596bb8a0 bitbake: toaster test_cerate_new_project: add scarthgap
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>
2024-06-12 21:15:50 +01:00
Tim Orling
761a03a7b2 bitbake: taoster: update fixtures for scarthgap, current
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>
2024-06-12 21:15:50 +01:00
Dan McGregor
b67fced09d gcc: Allow using libc++
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>
2024-06-12 16:57:19 +01:00
Richard Purdie
068ca2f2eb selftest/spdx: Fix for SPDX_VERSION addition
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>
2024-06-12 16:16:03 +01:00
Joshua Watt
717a427807 classes/spdx-common: Return empty list from extract_licenses
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>
2024-06-12 16:16:03 +01:00
Joshua Watt
37c9adaf80 classes/spdx-common: Add SPDX version to path
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>
2024-06-12 16:16:03 +01:00
Joshua Watt
92b202c246 classes/spdx-common: Move common SPDX to new class
Moves SPDX code that can be shared between different SPDX versions into
a common class

(From OE-Core rev: 769a390adc9fc0b52978abe0f19f885967af0117)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-12 16:16:03 +01:00
Aleksandar Nikolic
a43f15565b install-buildtools: update base-url, release and installer version
Update the following default values:
- DEFAULT_BASE_URL (https instead of http)
- DEFAULT_RELEASE (5.0.1)
- DEFAULT_INSTALLER_VERSION (5.0.1)

(From OE-Core rev: b2ebb965a5aa128b05ed7ddc9216171463777732)

Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-12 16:08:32 +01:00
Aleksandar Nikolic
062c289efa install-buildtools: fix "test installation" step
The "Test installation" step fails with some harmless error messages
(see [1]). This can however make a user think that the buildtools
have not been installed correctly.

Two reasons for the error messages:
- some envvars in the environment-setup-<arch>-pokysdk-linux file
  start and end with double quotes (e.g., PATH) and are as such
  written into python os.environ. This leads that their usage is
  not valid later when testing the installation. This patch removes
  the double quotes before writing, if they are present.
- if installation directory (install_dir), given through the option
  --directory, is given as a relative path, checking if the path to
  a tool (e.g., gcc) in buildtools starts it will always fail. This
  patch converts the install_dir variable to an absolute path.

[1]
ERROR: Something went wrong: tar not found in ./build-tools
ERROR: Something went wrong: installation failed

(From OE-Core rev: e4eb0b14ecf9bd2fba13260441c9d86eb348f41e)

Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-12 16:08:32 +01:00
Aleksandar Nikolic
cedb7197cc install-buildtools: remove md5 checksum validation
No need to validate with the md5 checksum, as the file is not even
uploaded to the Yocto release webpage (the download never failed due
to a wrong indentation of an else statement). For validation purposes,
use the sha256 checksum only.

(From OE-Core rev: b740d2f9d40aef1e18c022d1e82b4fb2c5c1fc22)

Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-12 16:08:32 +01:00
Khem Raj
ecad518092 ltp: Fix build break with clang on risv64
(From OE-Core rev: 760d181ca2fd35f2f46d61e3a47f266e35b17efe)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-12 16:08:32 +01:00
Tim Orling
d3b60a8615 python3-zipp: upgrade 3.18.2 -> 3.19.2
https://github.com/jaraco/zipp/blob/main/NEWS.rst

v3.19.2
* No significant changes.

v3.19.1
* Bugfixes
  - Improved handling of malformed zip files. (#119)

v3.19.0
* Features
  - Implement is_symlink. (#117)

https://github.com/jaraco/zipp/compare/v3.18.2...v3.19.2

(From OE-Core rev: 7601939b6fcd26ddb1f1eb26d5f301fd4fa4cae8)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-12 16:08:31 +01:00