diff options
628 files changed, 3896 insertions, 2470 deletions
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst index eac3cbdfb5..a2c2432db1 100644 --- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst +++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst | |||
@@ -39,10 +39,10 @@ variable and then calls the ``download`` method to download the files. | |||
39 | 39 | ||
40 | The instantiation of the fetch class is usually followed by:: | 40 | The instantiation of the fetch class is usually followed by:: |
41 | 41 | ||
42 | rootdir = l.getVar('WORKDIR') | 42 | rootdir = l.getVar('UNPACKDIR') |
43 | fetcher.unpack(rootdir) | 43 | fetcher.unpack(rootdir) |
44 | 44 | ||
45 | This code unpacks the downloaded files to the specified by ``WORKDIR``. | 45 | This code unpacks the downloaded files to the specified by ``UNPACKDIR``. |
46 | 46 | ||
47 | .. note:: | 47 | .. note:: |
48 | 48 | ||
@@ -51,7 +51,7 @@ This code unpacks the downloaded files to the specified by ``WORKDIR``. | |||
51 | examine the OpenEmbedded class file ``base.bbclass`` | 51 | examine the OpenEmbedded class file ``base.bbclass`` |
52 | . | 52 | . |
53 | 53 | ||
54 | The :term:`SRC_URI` and ``WORKDIR`` variables are not hardcoded into the | 54 | The :term:`SRC_URI` and ``UNPACKDIR`` variables are not hardcoded into the |
55 | fetcher, since those fetcher methods can be (and are) called with | 55 | fetcher, since those fetcher methods can be (and are) called with |
56 | different variable names. In OpenEmbedded for example, the shared state | 56 | different variable names. In OpenEmbedded for example, the shared state |
57 | (sstate) code uses the fetch module to fetch the sstate files. | 57 | (sstate) code uses the fetch module to fetch the sstate files. |
@@ -463,13 +463,6 @@ Here are some example URLs:: | |||
463 | 463 | ||
464 | .. note:: | 464 | .. note:: |
465 | 465 | ||
466 | When using ``git`` as the fetcher of the main source code of your software, | ||
467 | ``S`` should be set accordingly:: | ||
468 | |||
469 | S = "${WORKDIR}/git" | ||
470 | |||
471 | .. note:: | ||
472 | |||
473 | Specifying passwords directly in ``git://`` urls is not supported. | 466 | Specifying passwords directly in ``git://`` urls is not supported. |
474 | There are several reasons: :term:`SRC_URI` is often written out to logs and | 467 | There are several reasons: :term:`SRC_URI` is often written out to logs and |
475 | other places, and that could easily leak passwords; it is also all too | 468 | other places, and that could easily leak passwords; it is also all too |
@@ -598,7 +591,7 @@ and port, username, and password, and fetches the Head Revision:: | |||
598 | SRC_URI = "p4://example-depot/main/source/..." | 591 | SRC_URI = "p4://example-depot/main/source/..." |
599 | SRCREV = "${AUTOREV}" | 592 | SRCREV = "${AUTOREV}" |
600 | PV = "p4-${SRCPV}" | 593 | PV = "p4-${SRCPV}" |
601 | S = "${WORKDIR}/p4" | 594 | S = "${UNPACKDIR}/p4" |
602 | 595 | ||
603 | Here is an example that specifies the server URL and port, username, and | 596 | Here is an example that specifies the server URL and port, username, and |
604 | password, and fetches a Revision based on a Label:: | 597 | password, and fetches a Revision based on a Label:: |
@@ -607,15 +600,15 @@ password, and fetches a Revision based on a Label:: | |||
607 | SRC_URI = "p4://user:passwd@example-depot/main/source/..." | 600 | SRC_URI = "p4://user:passwd@example-depot/main/source/..." |
608 | SRCREV = "release-1.0" | 601 | SRCREV = "release-1.0" |
609 | PV = "p4-${SRCPV}" | 602 | PV = "p4-${SRCPV}" |
610 | S = "${WORKDIR}/p4" | 603 | S = "${UNPACKDIR}/p4" |
611 | 604 | ||
612 | .. note:: | 605 | .. note:: |
613 | 606 | ||
614 | You should always set S to "${WORKDIR}/p4" in your recipe. | 607 | You should always set S to "${UNPACKDIR}/p4" in your recipe. |
615 | 608 | ||
616 | By default, the fetcher strips the depot location from the local file paths. In | 609 | By default, the fetcher strips the depot location from the local file paths. In |
617 | the above example, the content of ``example-depot/main/source/`` will be placed | 610 | the above example, the content of ``example-depot/main/source/`` will be placed |
618 | in ``${WORKDIR}/p4``. For situations where preserving parts of the remote depot | 611 | in ``${UNPACKDIR}/p4``. For situations where preserving parts of the remote depot |
619 | paths locally is desirable, the fetcher supports two parameters: | 612 | paths locally is desirable, the fetcher supports two parameters: |
620 | 613 | ||
621 | - *"module":* | 614 | - *"module":* |
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst index a27b7758d9..f60a9d8312 100644 --- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst +++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst | |||
@@ -998,9 +998,9 @@ This directive allows fine-tuning local configurations with configuration | |||
998 | snippets contained in layers in a structured, controlled way. Typically it would | 998 | snippets contained in layers in a structured, controlled way. Typically it would |
999 | go into ``bitbake.conf``, for example:: | 999 | go into ``bitbake.conf``, for example:: |
1000 | 1000 | ||
1001 | addfragments conf/fragments OE_FRAGMENTS OE_FRAGMENTS_METADATA_VARS | 1001 | addfragments conf/fragments OE_FRAGMENTS OE_FRAGMENTS_METADATA_VARS OE_BUILTIN_FRAGMENTS |
1002 | 1002 | ||
1003 | ``addfragments`` takes three parameters: | 1003 | ``addfragments`` takes four parameters: |
1004 | 1004 | ||
1005 | - path prefix for fragment files inside the layer file tree that bitbake | 1005 | - path prefix for fragment files inside the layer file tree that bitbake |
1006 | uses to construct full paths to the fragment files | 1006 | uses to construct full paths to the fragment files |
@@ -1011,6 +1011,8 @@ go into ``bitbake.conf``, for example:: | |||
1011 | - name of variable that contains a list of variable names containing | 1011 | - name of variable that contains a list of variable names containing |
1012 | fragment-specific metadata (such as descriptions) | 1012 | fragment-specific metadata (such as descriptions) |
1013 | 1013 | ||
1014 | - name of variable that contains definitions for built-in fragments | ||
1015 | |||
1014 | This allows listing enabled configuration fragments in ``OE_FRAGMENTS`` | 1016 | This allows listing enabled configuration fragments in ``OE_FRAGMENTS`` |
1015 | variable like this:: | 1017 | variable like this:: |
1016 | 1018 | ||
@@ -1035,6 +1037,19 @@ The implementation will add a flag containing the fragment name to each of those | |||
1035 | when parsing fragments, so that the variables are namespaced by fragment name, and do not override | 1037 | when parsing fragments, so that the variables are namespaced by fragment name, and do not override |
1036 | each other when several fragments are enabled. | 1038 | each other when several fragments are enabled. |
1037 | 1039 | ||
1040 | The variable containing a built-in fragment definitions could look like this:: | ||
1041 | |||
1042 | OE_BUILTIN_FRAGMENTS = "someprefix:SOMEVARIABLE anotherprefix:ANOTHERVARIABLE" | ||
1043 | |||
1044 | and then if 'someprefix/somevalue' is added to the variable that holds the list | ||
1045 | of enabled fragments: | ||
1046 | |||
1047 | OE_FRAGMENTS = "... someprefix/somevalue" | ||
1048 | |||
1049 | bitbake will treat that as direct value assignment in its configuration:: | ||
1050 | |||
1051 | SOMEVARIABLE = "somevalue" | ||
1052 | |||
1038 | Functions | 1053 | Functions |
1039 | ========= | 1054 | ========= |
1040 | 1055 | ||
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst index 477443e228..6be8dbbf63 100644 --- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst +++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst | |||
@@ -310,6 +310,11 @@ overview of their function and contents. | |||
310 | 310 | ||
311 | For example usage, see :term:`BB_GIT_SHALLOW`. | 311 | For example usage, see :term:`BB_GIT_SHALLOW`. |
312 | 312 | ||
313 | :term:`BB_GIT_DEFAULT_DESTSUFFIX` | ||
314 | The default destination directory where the Git fetcher unpacks the | ||
315 | source code. If this variable is not set, the source code is unpacked in a | ||
316 | directory named "git". | ||
317 | |||
313 | :term:`BB_GIT_SHALLOW` | 318 | :term:`BB_GIT_SHALLOW` |
314 | Setting this variable to "1" enables the support for fetching, using and | 319 | Setting this variable to "1" enables the support for fetching, using and |
315 | generating mirror tarballs of `shallow git repositories <https://riptutorial.com/git/example/4584/shallow-clone>`_. | 320 | generating mirror tarballs of `shallow git repositories <https://riptutorial.com/git/example/4584/shallow-clone>`_. |
@@ -533,11 +538,28 @@ overview of their function and contents. | |||
533 | version 4.20 expose under ``/proc/pressure``. The threshold represents | 538 | version 4.20 expose under ``/proc/pressure``. The threshold represents |
534 | the difference in "total" pressure from the previous second. The | 539 | the difference in "total" pressure from the previous second. The |
535 | minimum value is 1.0 (extremely slow builds) and the maximum is | 540 | minimum value is 1.0 (extremely slow builds) and the maximum is |
536 | 1000000 (a pressure value unlikely to ever be reached). | 541 | 1000000 (a pressure value unlikely to ever be reached). See |
542 | https://docs.kernel.org/accounting/psi.html for more information. | ||
543 | |||
544 | A default value to limit the CPU pressure to be set in ``conf/local.conf`` | ||
545 | could be:: | ||
546 | |||
547 | BB_PRESSURE_MAX_CPU = "15000" | ||
548 | |||
549 | Multiple values should be tested on the build host to determine what suits | ||
550 | best, depending on the need for performances versus load average during | ||
551 | the build. | ||
552 | |||
553 | .. note:: | ||
537 | 554 | ||
538 | This threshold can be set in ``conf/local.conf`` as:: | 555 | You may see numerous messages printed by BitBake in the case the |
556 | :term:`BB_PRESSURE_MAX_CPU` is too low: | ||
539 | 557 | ||
540 | BB_PRESSURE_MAX_CPU = "500" | 558 | Pressure status changed to CPU: True, IO: False, Mem: False (CPU: 1105.9/2.0, IO: 0.0/2.0, Mem: 0.0/2.0) - using 1/64 bitbake threads |
559 | |||
560 | This means that the :term:`BB_PRESSURE_MAX_CPU` should be increased to | ||
561 | a reasonable value for limiting the CPU pressure on the system. | ||
562 | Monitor the varying value after ``IO:`` above to set a sensible value. | ||
541 | 563 | ||
542 | :term:`BB_PRESSURE_MAX_IO` | 564 | :term:`BB_PRESSURE_MAX_IO` |
543 | Specifies a maximum I/O pressure threshold, above which BitBake's | 565 | Specifies a maximum I/O pressure threshold, above which BitBake's |
@@ -549,14 +571,34 @@ overview of their function and contents. | |||
549 | version 4.20 expose under ``/proc/pressure``. The threshold represents | 571 | version 4.20 expose under ``/proc/pressure``. The threshold represents |
550 | the difference in "total" pressure from the previous second. The | 572 | the difference in "total" pressure from the previous second. The |
551 | minimum value is 1.0 (extremely slow builds) and the maximum is | 573 | minimum value is 1.0 (extremely slow builds) and the maximum is |
552 | 1000000 (a pressure value unlikely to ever be reached). | 574 | 1000000 (a pressure value unlikely to ever be reached). See |
575 | https://docs.kernel.org/accounting/psi.html for more information. | ||
553 | 576 | ||
554 | At this point in time, experiments show that IO pressure tends to | 577 | At this point in time, experiments show that IO pressure tends to |
555 | be short-lived and regulating just the CPU with | 578 | be short-lived and regulating just the CPU with |
556 | :term:`BB_PRESSURE_MAX_CPU` can help to reduce it. | 579 | :term:`BB_PRESSURE_MAX_CPU` can help to reduce it. |
557 | 580 | ||
558 | :term:`BB_PRESSURE_MAX_MEMORY` | 581 | A default value to limit the IO pressure to be set in ``conf/local.conf`` |
582 | could be:: | ||
583 | |||
584 | BB_PRESSURE_MAX_IO = "15000" | ||
585 | |||
586 | Multiple values should be tested on the build host to determine what suits | ||
587 | best, depending on the need for performances versus I/O usage during the | ||
588 | build. | ||
589 | |||
590 | .. note:: | ||
559 | 591 | ||
592 | You may see numerous messages printed by BitBake in the case the | ||
593 | :term:`BB_PRESSURE_MAX_IO` is too low:: | ||
594 | |||
595 | Pressure status changed to CPU: None, IO: True, Mem: False (CPU: 2236.0/None, IO: 153.6/2.0, Mem: 0.0/2.0) - using 19/64 bitbake threads | ||
596 | |||
597 | This means that the :term:`BB_PRESSURE_MAX_IO` should be increased to | ||
598 | a reasonable value for limiting the I/O pressure on the system. | ||
599 | Monitor the varying value after ``IO:`` above to set a sensible value. | ||
600 | |||
601 | :term:`BB_PRESSURE_MAX_MEMORY` | ||
560 | Specifies a maximum memory pressure threshold, above which BitBake's | 602 | Specifies a maximum memory pressure threshold, above which BitBake's |
561 | scheduler will not start new tasks (providing there is at least | 603 | scheduler will not start new tasks (providing there is at least |
562 | one active task). If no value is set, memory pressure is not | 604 | one active task). If no value is set, memory pressure is not |
@@ -566,7 +608,8 @@ overview of their function and contents. | |||
566 | version 4.20 expose under ``/proc/pressure``. The threshold represents | 608 | version 4.20 expose under ``/proc/pressure``. The threshold represents |
567 | the difference in "total" pressure from the previous second. The | 609 | the difference in "total" pressure from the previous second. The |
568 | minimum value is 1.0 (extremely slow builds) and the maximum is | 610 | minimum value is 1.0 (extremely slow builds) and the maximum is |
569 | 1000000 (a pressure value unlikely to ever be reached). | 611 | 1000000 (a pressure value unlikely to ever be reached). See |
612 | https://docs.kernel.org/accounting/psi.html for more information. | ||
570 | 613 | ||
571 | Memory pressure is experienced when time is spent swapping, | 614 | Memory pressure is experienced when time is spent swapping, |
572 | refaulting pages from the page cache or performing direct reclaim. | 615 | refaulting pages from the page cache or performing direct reclaim. |
@@ -574,6 +617,26 @@ overview of their function and contents. | |||
574 | might be useful as a last resort to prevent OOM errors if they are | 617 | might be useful as a last resort to prevent OOM errors if they are |
575 | occurring during builds. | 618 | occurring during builds. |
576 | 619 | ||
620 | A default value to limit the memory pressure to be set in | ||
621 | ``conf/local.conf`` could be:: | ||
622 | |||
623 | BB_PRESSURE_MAX_MEMORY = "15000" | ||
624 | |||
625 | Multiple values should be tested on the build host to determine what suits | ||
626 | best, depending on the need for performances versus memory consumption | ||
627 | during the build. | ||
628 | |||
629 | .. note:: | ||
630 | |||
631 | You may see numerous messages printed by BitBake in the case the | ||
632 | :term:`BB_PRESSURE_MAX_MEMORY` is too low:: | ||
633 | |||
634 | Pressure status changed to CPU: None, IO: False, Mem: True (CPU: 29.5/None, IO: 0.0/2.0, Mem: 2553.3/2.0) - using 17/64 bitbake threads | ||
635 | |||
636 | This means that the :term:`BB_PRESSURE_MAX_MEMORY` should be increased to | ||
637 | a reasonable value for limiting the memory pressure on the system. | ||
638 | Monitor the varying value after ``Mem:`` above to set a sensible value. | ||
639 | |||
577 | :term:`BB_RUNFMT` | 640 | :term:`BB_RUNFMT` |
578 | Specifies the name of the executable script files (i.e. run files) | 641 | Specifies the name of the executable script files (i.e. run files) |
579 | saved into ``${``\ :term:`T`\ ``}``. By default, the | 642 | saved into ``${``\ :term:`T`\ ``}``. By default, the |
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py index 55dd084abc..14ec45a3f6 100644 --- a/bitbake/lib/bb/fetch2/git.py +++ b/bitbake/lib/bb/fetch2/git.py | |||
@@ -199,6 +199,8 @@ class Git(FetchMethod): | |||
199 | ud.shallow_skip_fast = False | 199 | ud.shallow_skip_fast = False |
200 | ud.shallow = d.getVar("BB_GIT_SHALLOW") == "1" | 200 | ud.shallow = d.getVar("BB_GIT_SHALLOW") == "1" |
201 | ud.shallow_extra_refs = (d.getVar("BB_GIT_SHALLOW_EXTRA_REFS") or "").split() | 201 | ud.shallow_extra_refs = (d.getVar("BB_GIT_SHALLOW_EXTRA_REFS") or "").split() |
202 | if 'tag' in ud.parm: | ||
203 | ud.shallow_extra_refs.append("refs/tags/" + ud.parm['tag']) | ||
202 | 204 | ||
203 | depth_default = d.getVar("BB_GIT_SHALLOW_DEPTH") | 205 | depth_default = d.getVar("BB_GIT_SHALLOW_DEPTH") |
204 | if depth_default is not None: | 206 | if depth_default is not None: |
@@ -633,8 +635,6 @@ class Git(FetchMethod): | |||
633 | for line in all_refs_remote: | 635 | for line in all_refs_remote: |
634 | all_refs.append(line.split()[-1]) | 636 | all_refs.append(line.split()[-1]) |
635 | extra_refs = [] | 637 | extra_refs = [] |
636 | if 'tag' in ud.parm: | ||
637 | extra_refs.append(ud.parm['tag']) | ||
638 | for r in ud.shallow_extra_refs: | 638 | for r in ud.shallow_extra_refs: |
639 | if not ud.bareclone: | 639 | if not ud.bareclone: |
640 | r = r.replace('refs/heads/', 'refs/remotes/origin/') | 640 | r = r.replace('refs/heads/', 'refs/remotes/origin/') |
@@ -660,7 +660,7 @@ class Git(FetchMethod): | |||
660 | subdir = ud.parm.get("subdir") | 660 | subdir = ud.parm.get("subdir") |
661 | subpath = ud.parm.get("subpath") | 661 | subpath = ud.parm.get("subpath") |
662 | readpathspec = "" | 662 | readpathspec = "" |
663 | def_destsuffix = "git/" | 663 | def_destsuffix = (d.getVar("BB_GIT_DEFAULT_DESTSUFFIX") or "git") + "/" |
664 | 664 | ||
665 | if subpath: | 665 | if subpath: |
666 | readpathspec = ":%s" % subpath | 666 | readpathspec = ":%s" % subpath |
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py index ea1096f2de..49a0788038 100644 --- a/bitbake/lib/bb/parse/ast.py +++ b/bitbake/lib/bb/parse/ast.py | |||
@@ -343,11 +343,12 @@ class InheritDeferredNode(AstNode): | |||
343 | bb.parse.BBHandler.inherit_defer(*self.inherit, data) | 343 | bb.parse.BBHandler.inherit_defer(*self.inherit, data) |
344 | 344 | ||
345 | class AddFragmentsNode(AstNode): | 345 | class AddFragmentsNode(AstNode): |
346 | def __init__(self, filename, lineno, fragments_path_prefix, fragments_variable, flagged_variables_list_variable): | 346 | def __init__(self, filename, lineno, fragments_path_prefix, fragments_variable, flagged_variables_list_variable, builtin_fragments_variable): |
347 | AstNode.__init__(self, filename, lineno) | 347 | AstNode.__init__(self, filename, lineno) |
348 | self.fragments_path_prefix = fragments_path_prefix | 348 | self.fragments_path_prefix = fragments_path_prefix |
349 | self.fragments_variable = fragments_variable | 349 | self.fragments_variable = fragments_variable |
350 | self.flagged_variables_list_variable = flagged_variables_list_variable | 350 | self.flagged_variables_list_variable = flagged_variables_list_variable |
351 | self.builtin_fragments_variable = builtin_fragments_variable | ||
351 | 352 | ||
352 | def eval(self, data): | 353 | def eval(self, data): |
353 | # No need to use mark_dependency since we would only match a fragment | 354 | # No need to use mark_dependency since we would only match a fragment |
@@ -360,13 +361,23 @@ class AddFragmentsNode(AstNode): | |||
360 | return candidate_fragment_path | 361 | return candidate_fragment_path |
361 | return None | 362 | return None |
362 | 363 | ||
364 | def check_and_set_builtin_fragment(fragment, data, builtin_fragments): | ||
365 | prefix, value = fragment.split('/', 1) | ||
366 | if prefix in builtin_fragments.keys(): | ||
367 | data.setVar(builtin_fragments[prefix], value) | ||
368 | return True | ||
369 | return False | ||
370 | |||
363 | fragments = data.getVar(self.fragments_variable) | 371 | fragments = data.getVar(self.fragments_variable) |
364 | layers = data.getVar('BBLAYERS') | 372 | layers = data.getVar('BBLAYERS') |
365 | flagged_variables = data.getVar(self.flagged_variables_list_variable).split() | 373 | flagged_variables = data.getVar(self.flagged_variables_list_variable).split() |
374 | builtin_fragments = {f[0]:f[1] for f in [f.split(':') for f in data.getVar(self.builtin_fragments_variable).split()] } | ||
366 | 375 | ||
367 | if not fragments: | 376 | if not fragments: |
368 | return | 377 | return |
369 | for f in fragments.split(): | 378 | for f in fragments.split(): |
379 | if check_and_set_builtin_fragment(f, data, builtin_fragments): | ||
380 | continue | ||
370 | layerid, fragment_name = f.split('/', 1) | 381 | layerid, fragment_name = f.split('/', 1) |
371 | full_fragment_name = data.expand("{}/{}.conf".format(self.fragments_path_prefix, fragment_name)) | 382 | full_fragment_name = data.expand("{}/{}.conf".format(self.fragments_path_prefix, fragment_name)) |
372 | fragment_path = find_fragment(layers, layerid, full_fragment_name) | 383 | fragment_path = find_fragment(layers, layerid, full_fragment_name) |
@@ -430,7 +441,8 @@ def handleAddFragments(statements, filename, lineno, m): | |||
430 | fragments_path_prefix = m.group(1) | 441 | fragments_path_prefix = m.group(1) |
431 | fragments_variable = m.group(2) | 442 | fragments_variable = m.group(2) |
432 | flagged_variables_list_variable = m.group(3) | 443 | flagged_variables_list_variable = m.group(3) |
433 | statements.append(AddFragmentsNode(filename, lineno, fragments_path_prefix, fragments_variable, flagged_variables_list_variable)) | 444 | builtin_fragments_variable = m.group(4) |
445 | statements.append(AddFragmentsNode(filename, lineno, fragments_path_prefix, fragments_variable, flagged_variables_list_variable, builtin_fragments_variable)) | ||
434 | 446 | ||
435 | def runAnonFuncs(d): | 447 | def runAnonFuncs(d): |
436 | code = [] | 448 | code = [] |
diff --git a/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/bitbake/lib/bb/parse/parse_py/ConfHandler.py index 675838d845..9ddbae123d 100644 --- a/bitbake/lib/bb/parse/parse_py/ConfHandler.py +++ b/bitbake/lib/bb/parse/parse_py/ConfHandler.py | |||
@@ -48,7 +48,7 @@ __export_regexp__ = re.compile( r"export\s+([a-zA-Z0-9\-_+.${}/~]+)$" ) | |||
48 | __unset_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/~]+)$" ) | 48 | __unset_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/~]+)$" ) |
49 | __unset_flag_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/~]+)\[([a-zA-Z0-9\-_+.][a-zA-Z0-9\-_+.@]+)\]$" ) | 49 | __unset_flag_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/~]+)\[([a-zA-Z0-9\-_+.][a-zA-Z0-9\-_+.@]+)\]$" ) |
50 | __addpylib_regexp__ = re.compile(r"addpylib\s+(.+)\s+(.+)" ) | 50 | __addpylib_regexp__ = re.compile(r"addpylib\s+(.+)\s+(.+)" ) |
51 | __addfragments_regexp__ = re.compile(r"addfragments\s+(.+)\s+(.+)\s+(.+)" ) | 51 | __addfragments_regexp__ = re.compile(r"addfragments\s+(.+)\s+(.+)\s+(.+)\s+(.+)" ) |
52 | 52 | ||
53 | def init(data): | 53 | def init(data): |
54 | return | 54 | return |
diff --git a/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py b/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py index 69493833f4..6abfdef699 100644 --- a/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py +++ b/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py | |||
@@ -108,6 +108,8 @@ class TestLayerDetailsPage(SeleniumTestCase): | |||
108 | save_btn.click() | 108 | save_btn.click() |
109 | 109 | ||
110 | self.wait_until_visible("#save-changes-for-switch") | 110 | self.wait_until_visible("#save-changes-for-switch") |
111 | # Ensure scrolled into view | ||
112 | self.driver.execute_script('window.scrollTo({behavior: "instant", top: 0, left: 0})') | ||
111 | btn_save_chg_for_switch = self.wait_until_clickable( | 113 | btn_save_chg_for_switch = self.wait_until_clickable( |
112 | "#save-changes-for-switch") | 114 | "#save-changes-for-switch") |
113 | btn_save_chg_for_switch.click() | 115 | btn_save_chg_for_switch.click() |
diff --git a/bitbake/lib/toaster/tests/functional/test_project_page.py b/bitbake/lib/toaster/tests/functional/test_project_page.py index c6dad0eb5d..429d86feba 100644 --- a/bitbake/lib/toaster/tests/functional/test_project_page.py +++ b/bitbake/lib/toaster/tests/functional/test_project_page.py | |||
@@ -685,17 +685,17 @@ class TestProjectPage(TestProjectPageBase): | |||
685 | 'active', str(self.find('#information').get_attribute('class')) | 685 | 'active', str(self.find('#information').get_attribute('class')) |
686 | ) | 686 | ) |
687 | # Check second tab (recipes) | 687 | # Check second tab (recipes) |
688 | # Ensure page is scrolled to the top | ||
689 | self.driver.find_element(By.XPATH, '//body').send_keys(Keys.CONTROL + Keys.HOME) | ||
690 | self.wait_until_visible('.nav-tabs') | 688 | self.wait_until_visible('.nav-tabs') |
689 | # Ensure page is scrolled to the top | ||
690 | self.driver.execute_script('window.scrollTo({behavior: "instant", top: 0, left: 0})') | ||
691 | tabs[1].click() | 691 | tabs[1].click() |
692 | self.assertIn( | 692 | self.assertIn( |
693 | 'active', str(self.find('#recipes').get_attribute('class')) | 693 | 'active', str(self.find('#recipes').get_attribute('class')) |
694 | ) | 694 | ) |
695 | # Check third tab (machines) | 695 | # Check third tab (machines) |
696 | # Ensure page is scrolled to the top | ||
697 | self.driver.find_element(By.XPATH, '//body').send_keys(Keys.CONTROL + Keys.HOME) | ||
698 | self.wait_until_visible('.nav-tabs') | 696 | self.wait_until_visible('.nav-tabs') |
697 | # Ensure page is scrolled to the top | ||
698 | self.driver.execute_script('window.scrollTo({behavior: "instant", top: 0, left: 0})') | ||
699 | tabs[2].click() | 699 | tabs[2].click() |
700 | self.assertIn( | 700 | self.assertIn( |
701 | 'active', str(self.find('#machines').get_attribute('class')) | 701 | 'active', str(self.find('#machines').get_attribute('class')) |
diff --git a/documentation/README b/documentation/README index 02037e0f7e..56eac7ca19 100644 --- a/documentation/README +++ b/documentation/README | |||
@@ -314,6 +314,16 @@ See https://stackoverflow.com/questions/27420317/restructured-text-rst-http-link | |||
314 | Anchor (<#link>) links are forbidden as they are not checked by Sphinx during | 314 | Anchor (<#link>) links are forbidden as they are not checked by Sphinx during |
315 | the build and may be broken without knowing about it. | 315 | the build and may be broken without knowing about it. |
316 | 316 | ||
317 | It is also possible to refer to another document within yocto-docs with the | ||
318 | :doc: directive (c.f. | ||
319 | https://www.sphinx-doc.org/en/master/usage/referencing.html#role-doc), e.g.: | ||
320 | |||
321 | For more information, read :doc:`/bsp-guide/index`. | ||
322 | |||
323 | Note that only "absolute" paths (starting with a '/') are allowed. The root | ||
324 | directory of that path is documentation/, that is, :doc:`/bsp-guide/index` | ||
325 | points at documentation/bsp-guide/index.rst. | ||
326 | |||
317 | References | 327 | References |
318 | ========== | 328 | ========== |
319 | 329 | ||
diff --git a/documentation/bsp-guide/bsp.rst b/documentation/bsp-guide/bsp.rst index 35972f1726..09246b4ae4 100644 --- a/documentation/bsp-guide/bsp.rst +++ b/documentation/bsp-guide/bsp.rst | |||
@@ -674,21 +674,21 @@ to the kernel recipe by using a similarly named append file, which is | |||
674 | located in the BSP Layer for your target device (e.g. the | 674 | located in the BSP Layer for your target device (e.g. the |
675 | ``meta-bsp_root_name/recipes-kernel/linux`` directory). | 675 | ``meta-bsp_root_name/recipes-kernel/linux`` directory). |
676 | 676 | ||
677 | Suppose you are using the ``linux-yocto_4.4.bb`` recipe to build the | 677 | Suppose you are using the ``linux-yocto_6.12.bb`` recipe to build the |
678 | kernel. In other words, you have selected the kernel in your | 678 | kernel. In other words, you have selected the kernel in your |
679 | ``"bsp_root_name".conf`` file by adding | 679 | ``"bsp_root_name".conf`` file by adding |
680 | :term:`PREFERRED_PROVIDER` and :term:`PREFERRED_VERSION` | 680 | :term:`PREFERRED_PROVIDER` and :term:`PREFERRED_VERSION` |
681 | statements as follows:: | 681 | statements as follows:: |
682 | 682 | ||
683 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" | 683 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" |
684 | PREFERRED_VERSION_linux-yocto ?= "4.4%" | 684 | PREFERRED_VERSION_linux-yocto ?= "6.12%" |
685 | 685 | ||
686 | .. note:: | 686 | .. note:: |
687 | 687 | ||
688 | When the preferred provider is assumed by default, the :term:`PREFERRED_PROVIDER` | 688 | When the preferred provider is assumed by default, the :term:`PREFERRED_PROVIDER` |
689 | statement does not appear in the ``"bsp_root_name".conf`` file. | 689 | statement does not appear in the ``"bsp_root_name".conf`` file. |
690 | 690 | ||
691 | You would use the ``linux-yocto_4.4.bbappend`` file to append specific | 691 | You would use the ``linux-yocto_6.12.bbappend`` file to append specific |
692 | BSP settings to the kernel, thus configuring the kernel for your | 692 | BSP settings to the kernel, thus configuring the kernel for your |
693 | particular BSP. | 693 | particular BSP. |
694 | 694 | ||
@@ -698,14 +698,19 @@ in the Yocto Project Linux Kernel Development Manual. | |||
698 | 698 | ||
699 | An alternate scenario is when you create your own kernel recipe for the | 699 | An alternate scenario is when you create your own kernel recipe for the |
700 | BSP. A good example of this is the Raspberry Pi BSP. If you examine the | 700 | BSP. A good example of this is the Raspberry Pi BSP. If you examine the |
701 | ``recipes-kernel/linux`` directory you see the following:: | 701 | ``recipes-kernel/linux`` directory in that layer you see the following |
702 | Raspberry Pi-specific recipes and associated files:: | ||
702 | 703 | ||
704 | files/ | ||
705 | linux-raspberrypi_6.12.bb | ||
706 | linux-raspberrypi_6.1.bb | ||
707 | linux-raspberrypi_6.6.bb | ||
703 | linux-raspberrypi-dev.bb | 708 | linux-raspberrypi-dev.bb |
704 | linux-raspberrypi.inc | 709 | linux-raspberrypi.inc |
705 | linux-raspberrypi_4.14.bb | 710 | linux-raspberrypi-v7_6.12.bb |
706 | linux-raspberrypi_4.9.bb | 711 | linux-raspberrypi-v7_6.1.bb |
707 | 712 | linux-raspberrypi-v7_6.6.bb | |
708 | The directory contains three kernel recipes and a common include file. | 713 | linux-raspberrypi-v7.inc |
709 | 714 | ||
710 | Developing a Board Support Package (BSP) | 715 | Developing a Board Support Package (BSP) |
711 | ======================================== | 716 | ======================================== |
@@ -876,7 +881,7 @@ The requirements for a released BSP that conform to the Yocto Project are: | |||
876 | ``recipes-*`` subdirectories specific to the recipe's function, or | 881 | ``recipes-*`` subdirectories specific to the recipe's function, or |
877 | within a subdirectory containing a set of closely-related recipes. | 882 | within a subdirectory containing a set of closely-related recipes. |
878 | The recipes themselves should follow the general guidelines for | 883 | The recipes themselves should follow the general guidelines for |
879 | recipes found in the ":doc:`../contributor-guide/recipe-style-guide`" | 884 | recipes found in the ":doc:`/contributor-guide/recipe-style-guide`" |
880 | in the Yocto Project and OpenEmbedded Contributor Guide. | 885 | in the Yocto Project and OpenEmbedded Contributor Guide. |
881 | 886 | ||
882 | - *License File:* You must include a license file in the | 887 | - *License File:* You must include a license file in the |
@@ -910,7 +915,7 @@ The requirements for a released BSP that conform to the Yocto Project are: | |||
910 | - The name and contact information for the BSP layer maintainer. | 915 | - The name and contact information for the BSP layer maintainer. |
911 | This is the person to whom patches and questions should be sent. | 916 | This is the person to whom patches and questions should be sent. |
912 | For information on how to find the right person, see the | 917 | For information on how to find the right person, see the |
913 | :doc:`../contributor-guide/submit-changes` section in the Yocto Project and | 918 | :doc:`/contributor-guide/submit-changes` section in the Yocto Project and |
914 | OpenEmbedded Contributor Guide. | 919 | OpenEmbedded Contributor Guide. |
915 | 920 | ||
916 | - Instructions on how to build the BSP using the BSP layer. | 921 | - Instructions on how to build the BSP using the BSP layer. |
@@ -1177,7 +1182,7 @@ Use these steps to create a BSP layer: | |||
1177 | 1182 | ||
1178 | - *Create a Kernel Recipe:* Create a kernel recipe in | 1183 | - *Create a Kernel Recipe:* Create a kernel recipe in |
1179 | ``recipes-kernel/linux`` by either using a kernel append file or a | 1184 | ``recipes-kernel/linux`` by either using a kernel append file or a |
1180 | new custom kernel recipe file (e.g. ``linux-yocto_4.12.bb``). The BSP | 1185 | new custom kernel recipe file (e.g. ``linux-yocto_6.12.bb``). The BSP |
1181 | layers mentioned in the previous step also contain different kernel | 1186 | layers mentioned in the previous step also contain different kernel |
1182 | examples. See the ":ref:`kernel-dev/common:modifying an existing recipe`" | 1187 | examples. See the ":ref:`kernel-dev/common:modifying an existing recipe`" |
1183 | section in the Yocto Project Linux Kernel Development Manual for | 1188 | section in the Yocto Project Linux Kernel Development Manual for |
@@ -1242,7 +1247,7 @@ located in :yocto_git:`poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf | |||
1242 | 1247 | ||
1243 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | 1248 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" |
1244 | 1249 | ||
1245 | MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree" | 1250 | MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" |
1246 | 1251 | ||
1247 | EXTRA_IMAGEDEPENDS += "virtual/bootloader" | 1252 | EXTRA_IMAGEDEPENDS += "virtual/bootloader" |
1248 | 1253 | ||
@@ -1258,23 +1263,21 @@ located in :yocto_git:`poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf | |||
1258 | SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0" | 1263 | SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0" |
1259 | 1264 | ||
1260 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" | 1265 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" |
1261 | PREFERRED_VERSION_linux-yocto ?= "6.1%" | 1266 | PREFERRED_VERSION_linux-yocto ?= "6.12%" |
1262 | 1267 | ||
1263 | KERNEL_IMAGETYPE = "zImage" | 1268 | KERNEL_IMAGETYPE = "zImage" |
1264 | KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" | 1269 | DTB_FILES = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" |
1265 | KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" | 1270 | KERNEL_DEVICETREE = '${@' '.join('ti/omap/%s' % d for d in '${DTB_FILES}'.split())}' |
1266 | 1271 | ||
1267 | PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" | 1272 | PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" |
1268 | 1273 | ||
1269 | SPL_BINARY = "MLO" | 1274 | SPL_BINARY = "MLO" |
1270 | UBOOT_SUFFIX = "img" | 1275 | UBOOT_SUFFIX = "img" |
1271 | UBOOT_MACHINE = "am335x_evm_defconfig" | 1276 | UBOOT_MACHINE = "am335x_evm_defconfig" |
1272 | UBOOT_ENTRYPOINT = "0x80008000" | ||
1273 | UBOOT_LOADADDRESS = "0x80008000" | ||
1274 | 1277 | ||
1275 | MACHINE_FEATURES = "usbgadget usbhost vfat alsa" | 1278 | MACHINE_FEATURES = "usbgadget usbhost vfat alsa" |
1276 | 1279 | ||
1277 | IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} ${SPL_BINARY} ${KERNEL_IMAGETYPE} ${KERNEL_DEVICETREE}" | 1280 | IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} ${SPL_BINARY} ${KERNEL_IMAGETYPE} ${DTB_FILES}" |
1278 | 1281 | ||
1279 | # support runqemu | 1282 | # support runqemu |
1280 | EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native" | 1283 | EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native" |
@@ -1328,12 +1331,12 @@ Project Reference Manual. | |||
1328 | needed in the root filesystem. In this case, the U-Boot recipe must | 1331 | needed in the root filesystem. In this case, the U-Boot recipe must |
1329 | be built for the image. | 1332 | be built for the image. |
1330 | 1333 | ||
1331 | At the end of the file, we also use this setings to implement | 1334 | At the end of the file, we also use this setting to implement |
1332 | ``runqemu`` support on the host machine. | 1335 | ``runqemu`` support on the host machine. |
1333 | 1336 | ||
1334 | - :term:`DEFAULTTUNE`: Machines | 1337 | - :term:`DEFAULTTUNE`: Machines |
1335 | use tunings to optimize machine, CPU, and application performance. | 1338 | use tunings to optimize machine, CPU, and application performance. |
1336 | These features, which are collectively known as "tuning features", | 1339 | These features --- collectively known as "tuning features" --- |
1337 | are set in the :term:`OpenEmbedded-Core (OE-Core)` layer. In this | 1340 | are set in the :term:`OpenEmbedded-Core (OE-Core)` layer. In this |
1338 | example, the default tuning file is :oe_git:`tune-cortexa8 | 1341 | example, the default tuning file is :oe_git:`tune-cortexa8 |
1339 | </openembedded-core/tree/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc>`. | 1342 | </openembedded-core/tree/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc>`. |
@@ -1363,8 +1366,7 @@ Project Reference Manual. | |||
1363 | to create the sysroot when building a Wic image. | 1366 | to create the sysroot when building a Wic image. |
1364 | 1367 | ||
1365 | - :term:`SERIAL_CONSOLES`: | 1368 | - :term:`SERIAL_CONSOLES`: |
1366 | Defines a serial console (TTY) to enable using getty. In this case, | 1369 | Defines one or more serial consoles (TTYs) to enable using getty. |
1367 | the baud rate is "115200" and the device name is "ttyO0". | ||
1368 | 1370 | ||
1369 | - :term:`PREFERRED_PROVIDER_virtual/kernel <PREFERRED_PROVIDER>`: | 1371 | - :term:`PREFERRED_PROVIDER_virtual/kernel <PREFERRED_PROVIDER>`: |
1370 | Specifies the recipe that provides "virtual/kernel" when more than | 1372 | Specifies the recipe that provides "virtual/kernel" when more than |
@@ -1374,7 +1376,7 @@ Project Reference Manual. | |||
1374 | 1376 | ||
1375 | - :term:`PREFERRED_VERSION_linux-yocto <PREFERRED_VERSION>`: | 1377 | - :term:`PREFERRED_VERSION_linux-yocto <PREFERRED_VERSION>`: |
1376 | Defines the version of the recipe used to build the kernel, which is | 1378 | Defines the version of the recipe used to build the kernel, which is |
1377 | "6.1" in this case. | 1379 | "6.12" in this case. |
1378 | 1380 | ||
1379 | - :term:`KERNEL_IMAGETYPE`: | 1381 | - :term:`KERNEL_IMAGETYPE`: |
1380 | The type of kernel to build for the device. In this case, the | 1382 | The type of kernel to build for the device. In this case, the |
@@ -1416,12 +1418,6 @@ Project Reference Manual. | |||
1416 | Specifies the value passed on the make command line when building | 1418 | Specifies the value passed on the make command line when building |
1417 | a U-Boot image. | 1419 | a U-Boot image. |
1418 | 1420 | ||
1419 | - :term:`UBOOT_ENTRYPOINT`: | ||
1420 | Specifies the entry point for the U-Boot image. | ||
1421 | |||
1422 | - :term:`UBOOT_LOADADDRESS`: | ||
1423 | Specifies the load address for the U-Boot image. | ||
1424 | |||
1425 | - :term:`MACHINE_FEATURES`: | 1421 | - :term:`MACHINE_FEATURES`: |
1426 | Specifies the list of hardware features the BeagleBone device is | 1422 | Specifies the list of hardware features the BeagleBone device is |
1427 | capable of supporting. In this case, the device supports "usbgadget | 1423 | capable of supporting. In this case, the device supports "usbgadget |
diff --git a/documentation/contributor-guide/submit-changes.rst b/documentation/contributor-guide/submit-changes.rst index 6d5d69d7cf..adb78fa08d 100644 --- a/documentation/contributor-guide/submit-changes.rst +++ b/documentation/contributor-guide/submit-changes.rst | |||
@@ -76,7 +76,7 @@ Clone the Git repository for the component to modify | |||
76 | ---------------------------------------------------- | 76 | ---------------------------------------------------- |
77 | 77 | ||
78 | After identifying the component to modify as described in the | 78 | After identifying the component to modify as described in the |
79 | ":doc:`../contributor-guide/identify-component`" section, clone the | 79 | ":doc:`/contributor-guide/identify-component`" section, clone the |
80 | corresponding Git repository. Here is an example for OpenEmbedded-Core:: | 80 | corresponding Git repository. Here is an example for OpenEmbedded-Core:: |
81 | 81 | ||
82 | git clone https://git.openembedded.org/openembedded-core | 82 | git clone https://git.openembedded.org/openembedded-core |
@@ -872,7 +872,7 @@ in regards to the use of generative AI tools. See: | |||
872 | https://www.linuxfoundation.org/legal/generative-ai. | 872 | https://www.linuxfoundation.org/legal/generative-ai. |
873 | 873 | ||
874 | All of the existing guidelines in this document are expected to be followed, | 874 | All of the existing guidelines in this document are expected to be followed, |
875 | including in the :doc:`recipe-style-guide`, and contributing the changes with | 875 | including in the :doc:`/contributor-guide/recipe-style-guide`, and contributing the changes with |
876 | additional requirements to the items in section | 876 | additional requirements to the items in section |
877 | :ref:`contributor-guide/submit-changes:Implement and commit changes`. | 877 | :ref:`contributor-guide/submit-changes:Implement and commit changes`. |
878 | 878 | ||
diff --git a/documentation/dev-manual/building.rst b/documentation/dev-manual/building.rst index 807c665f68..32c7aa5da0 100644 --- a/documentation/dev-manual/building.rst +++ b/documentation/dev-manual/building.rst | |||
@@ -48,7 +48,7 @@ The following figure and list overviews the build process: | |||
48 | :width: 100% | 48 | :width: 100% |
49 | 49 | ||
50 | #. *Set up Your Host Development System to Support Development Using the | 50 | #. *Set up Your Host Development System to Support Development Using the |
51 | Yocto Project*: See the ":doc:`start`" section for options on how to get a | 51 | Yocto Project*: See the ":doc:`/dev-manual/start`" section for options on how to get a |
52 | build host ready to use the Yocto Project. | 52 | build host ready to use the Yocto Project. |
53 | 53 | ||
54 | #. *Initialize the Build Environment:* Initialize the build environment | 54 | #. *Initialize the Build Environment:* Initialize the build environment |
@@ -113,7 +113,7 @@ The following figure and list overviews the build process: | |||
113 | Building Images for Multiple Targets Using Multiple Configurations | 113 | Building Images for Multiple Targets Using Multiple Configurations |
114 | ================================================================== | 114 | ================================================================== |
115 | 115 | ||
116 | See the :doc:`multiconfig` section of the Yocto Project Development Tasks | 116 | See the :doc:`/dev-manual/multiconfig` section of the Yocto Project Development Tasks |
117 | Manual. | 117 | Manual. |
118 | 118 | ||
119 | Building an Initial RAM Filesystem (Initramfs) Image | 119 | Building an Initial RAM Filesystem (Initramfs) Image |
@@ -591,7 +591,7 @@ If build speed and package feed maintenance are considerations, you | |||
591 | should consider the points in this section that can help you optimize | 591 | should consider the points in this section that can help you optimize |
592 | your tunings to best consider build times and package feed maintenance. | 592 | your tunings to best consider build times and package feed maintenance. |
593 | 593 | ||
594 | - *Share the :term:`Build Directory`:* If at all possible, share the | 594 | - *Share the* :term:`Build Directory` *:* If at all possible, share the |
595 | :term:`TMPDIR` across builds. The Yocto Project supports switching between | 595 | :term:`TMPDIR` across builds. The Yocto Project supports switching between |
596 | different :term:`MACHINE` values in the same :term:`TMPDIR`. This practice | 596 | different :term:`MACHINE` values in the same :term:`TMPDIR`. This practice |
597 | is well supported and regularly used by developers when building for | 597 | is well supported and regularly used by developers when building for |
@@ -813,7 +813,7 @@ directory: | |||
813 | 813 | ||
814 | #. *Using Local Files Only:* Inside your ``local.conf`` file, add the | 814 | #. *Using Local Files Only:* Inside your ``local.conf`` file, add the |
815 | :term:`SOURCE_MIRROR_URL` variable, inherit the | 815 | :term:`SOURCE_MIRROR_URL` variable, inherit the |
816 | :ref:`ref-classes-own-mirrors` class, and use the | 816 | :ref:`ref-classes-own-mirrors` class, and add the |
817 | :term:`BB_NO_NETWORK` variable to your ``local.conf``:: | 817 | :term:`BB_NO_NETWORK` variable to your ``local.conf``:: |
818 | 818 | ||
819 | SOURCE_MIRROR_URL ?= "file:///home/your-download-dir/" | 819 | SOURCE_MIRROR_URL ?= "file:///home/your-download-dir/" |
diff --git a/documentation/dev-manual/debugging.rst b/documentation/dev-manual/debugging.rst index 8552b26aea..6c45ccf652 100644 --- a/documentation/dev-manual/debugging.rst +++ b/documentation/dev-manual/debugging.rst | |||
@@ -890,7 +890,7 @@ The build should work without issue. | |||
890 | As with all solved problems, if they originated upstream, you need to | 890 | As with all solved problems, if they originated upstream, you need to |
891 | submit the fix for the recipe in OE-Core and upstream so that the | 891 | submit the fix for the recipe in OE-Core and upstream so that the |
892 | problem is taken care of at its source. See the | 892 | problem is taken care of at its source. See the |
893 | ":doc:`../contributor-guide/submit-changes`" section for more information. | 893 | ":doc:`/contributor-guide/submit-changes`" section for more information. |
894 | 894 | ||
895 | Debugging With the GNU Project Debugger (GDB) Remotely | 895 | Debugging With the GNU Project Debugger (GDB) Remotely |
896 | ====================================================== | 896 | ====================================================== |
@@ -1261,7 +1261,7 @@ Here are some other tips that you might find useful: | |||
1261 | :yocto_bugs:`Bugzilla <>`. For information on | 1261 | :yocto_bugs:`Bugzilla <>`. For information on |
1262 | how to submit a bug against the Yocto Project, see the Yocto Project | 1262 | how to submit a bug against the Yocto Project, see the Yocto Project |
1263 | Bugzilla :yocto_wiki:`wiki page </Bugzilla_Configuration_and_Bug_Tracking>` | 1263 | Bugzilla :yocto_wiki:`wiki page </Bugzilla_Configuration_and_Bug_Tracking>` |
1264 | and the ":doc:`../contributor-guide/report-defect`" section. | 1264 | and the ":doc:`/contributor-guide/report-defect`" section. |
1265 | 1265 | ||
1266 | .. note:: | 1266 | .. note:: |
1267 | 1267 | ||
diff --git a/documentation/dev-manual/disk-space.rst b/documentation/dev-manual/disk-space.rst index efca82601d..ba3afa5a2c 100644 --- a/documentation/dev-manual/disk-space.rst +++ b/documentation/dev-manual/disk-space.rst | |||
@@ -52,7 +52,7 @@ such as BSD based NAS:: | |||
52 | sstate-cache-management.py --remove-duplicated --cache-dir=sstate-cache | 52 | sstate-cache-management.py --remove-duplicated --cache-dir=sstate-cache |
53 | 53 | ||
54 | This command will ask you to confirm the deletions it identifies. | 54 | This command will ask you to confirm the deletions it identifies. |
55 | Run ``sstate-cache-management.sh`` for more details about this script. | 55 | Run ``sstate-cache-management.py`` for more details about this script. |
56 | 56 | ||
57 | .. note:: | 57 | .. note:: |
58 | 58 | ||
diff --git a/documentation/dev-manual/efficiently-fetching-sources.rst b/documentation/dev-manual/efficiently-fetching-sources.rst index a15f0a92ce..a3366226c0 100644 --- a/documentation/dev-manual/efficiently-fetching-sources.rst +++ b/documentation/dev-manual/efficiently-fetching-sources.rst | |||
@@ -6,7 +6,7 @@ Efficiently Fetching Source Files During a Build | |||
6 | The OpenEmbedded build system works with source files located through | 6 | The OpenEmbedded build system works with source files located through |
7 | the :term:`SRC_URI` variable. When | 7 | the :term:`SRC_URI` variable. When |
8 | you build something using BitBake, a big part of the operation is | 8 | you build something using BitBake, a big part of the operation is |
9 | locating and downloading all the source tarballs. For images, | 9 | locating and downloading all of the source code. For images, |
10 | downloading all the source for various packages can take a significant | 10 | downloading all the source for various packages can take a significant |
11 | amount of time. | 11 | amount of time. |
12 | 12 | ||
@@ -18,7 +18,7 @@ Setting up Effective Mirrors | |||
18 | ============================ | 18 | ============================ |
19 | 19 | ||
20 | A good deal that goes into a Yocto Project build is simply downloading | 20 | A good deal that goes into a Yocto Project build is simply downloading |
21 | all of the source tarballs. Maybe you have been working with another | 21 | source code. Maybe you have been working with another |
22 | build system for which you have built up a | 22 | build system for which you have built up a |
23 | sizable directory of source tarballs. Or, perhaps someone else has such | 23 | sizable directory of source tarballs. Or, perhaps someone else has such |
24 | a directory for which you have read access. If so, you can save time by | 24 | a directory for which you have read access. If so, you can save time by |
diff --git a/documentation/dev-manual/init-manager.rst b/documentation/dev-manual/init-manager.rst index ddce82b81f..d0fdfdf773 100644 --- a/documentation/dev-manual/init-manager.rst +++ b/documentation/dev-manual/init-manager.rst | |||
@@ -44,7 +44,7 @@ therefore increasing the total system boot time. systemd also substantially | |||
44 | increases system size because of its multiple components and the extra | 44 | increases system size because of its multiple components and the extra |
45 | dependencies it pulls. | 45 | dependencies it pulls. |
46 | 46 | ||
47 | On the contrary, BusyBox init is the simplest and the lightest solution and | 47 | By contrast, BusyBox init is the simplest and the lightest solution and |
48 | also comes with BusyBox mdev as device manager, a lighter replacement to | 48 | also comes with BusyBox mdev as device manager, a lighter replacement to |
49 | :wikipedia:`udev <Udev>`, which SysVinit and systemd both use. | 49 | :wikipedia:`udev <Udev>`, which SysVinit and systemd both use. |
50 | 50 | ||
diff --git a/documentation/dev-manual/layers.rst b/documentation/dev-manual/layers.rst index c649e2bd60..67482bf544 100644 --- a/documentation/dev-manual/layers.rst +++ b/documentation/dev-manual/layers.rst | |||
@@ -80,7 +80,7 @@ Follow these general steps to create your layer without using tools: | |||
80 | BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/" | 80 | BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/" |
81 | BBFILE_PRIORITY_yoctobsp = "5" | 81 | BBFILE_PRIORITY_yoctobsp = "5" |
82 | LAYERVERSION_yoctobsp = "4" | 82 | LAYERVERSION_yoctobsp = "4" |
83 | LAYERSERIES_COMPAT_yoctobsp = "dunfell" | 83 | LAYERSERIES_COMPAT_yoctobsp = "walnascar" |
84 | 84 | ||
85 | Here is an explanation of the layer configuration file: | 85 | Here is an explanation of the layer configuration file: |
86 | 86 | ||
@@ -306,7 +306,7 @@ The Yocto Project Compatibility Program consists of a layer application | |||
306 | process that requests permission to use the Yocto Project Compatibility | 306 | process that requests permission to use the Yocto Project Compatibility |
307 | Logo for your layer and application. The process consists of two parts: | 307 | Logo for your layer and application. The process consists of two parts: |
308 | 308 | ||
309 | #. Successfully passing a script (``yocto-check-layer``) that when run | 309 | #. Successfully passing a script (``yocto-check-layer``) that, when run |
310 | against your layer, tests it against constraints based on experiences | 310 | against your layer, tests it against constraints based on experiences |
311 | of how layers have worked in the real world and where pitfalls have | 311 | of how layers have worked in the real world and where pitfalls have |
312 | been found. Getting a "PASS" result from the script is required for | 312 | been found. Getting a "PASS" result from the script is required for |
@@ -478,7 +478,7 @@ name. To handle these errors, the best practice is to rename the ``.bbappend`` | |||
478 | to match the original recipe version. This also gives you the opportunity to see | 478 | to match the original recipe version. This also gives you the opportunity to see |
479 | if the ``.bbappend`` is still relevant for the new version of the recipe. | 479 | if the ``.bbappend`` is still relevant for the new version of the recipe. |
480 | 480 | ||
481 | Another method it to use the character ``%`` in the ``.bbappend`` filename. For | 481 | Another method is to use the character ``%`` in the ``.bbappend`` filename. For |
482 | example, to append information to every ``6.*`` minor versions of the recipe | 482 | example, to append information to every ``6.*`` minor versions of the recipe |
483 | ``someapp``, the ``someapp_6.%.bbappend`` file can be created. This way, an | 483 | ``someapp``, the ``someapp_6.%.bbappend`` file can be created. This way, an |
484 | error will only be triggered if the ``someapp`` recipe has a major version | 484 | error will only be triggered if the ``someapp`` recipe has a major version |
@@ -504,10 +504,9 @@ the "meta" layer at ``meta/recipes-bsp/formfactor``:: | |||
504 | SECTION = "base" | 504 | SECTION = "base" |
505 | LICENSE = "MIT" | 505 | LICENSE = "MIT" |
506 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 506 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
507 | PR = "r45" | ||
508 | 507 | ||
509 | SRC_URI = "file://config file://machconfig" | 508 | SRC_URI = "file://config file://machconfig" |
510 | S = "${WORKDIR}" | 509 | S = "${UNPACKDIR}" |
511 | 510 | ||
512 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 511 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
513 | INHIBIT_DEFAULT_DEPS = "1" | 512 | INHIBIT_DEFAULT_DEPS = "1" |
@@ -582,11 +581,10 @@ Directory`. Here is the main ``xserver-xf86-config`` recipe, which is named | |||
582 | SECTION = "x11/base" | 581 | SECTION = "x11/base" |
583 | LICENSE = "MIT" | 582 | LICENSE = "MIT" |
584 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 583 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
585 | PR = "r33" | ||
586 | 584 | ||
587 | SRC_URI = "file://xorg.conf" | 585 | SRC_URI = "file://xorg.conf" |
588 | 586 | ||
589 | S = "${WORKDIR}" | 587 | S = "${UNPACKDIR}" |
590 | 588 | ||
591 | CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf" | 589 | CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf" |
592 | 590 | ||
@@ -594,9 +592,9 @@ Directory`. Here is the main ``xserver-xf86-config`` recipe, which is named | |||
594 | ALLOW_EMPTY:${PN} = "1" | 592 | ALLOW_EMPTY:${PN} = "1" |
595 | 593 | ||
596 | do_install () { | 594 | do_install () { |
597 | if test -s ${WORKDIR}/xorg.conf; then | 595 | if test -s ${UNPACKDIR}/xorg.conf; then |
598 | install -d ${D}/${sysconfdir}/X11 | 596 | install -d ${D}/${sysconfdir}/X11 |
599 | install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/ | 597 | install -m 0644 ${UNPACKDIR}/xorg.conf ${D}/${sysconfdir}/X11/ |
600 | fi | 598 | fi |
601 | } | 599 | } |
602 | 600 | ||
@@ -614,8 +612,8 @@ file is in the layer at ``recipes-graphics/xorg-xserver``:: | |||
614 | PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}" | 612 | PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}" |
615 | if [ "${PITFT}" = "1" ]; then | 613 | if [ "${PITFT}" = "1" ]; then |
616 | install -d ${D}/${sysconfdir}/X11/xorg.conf.d/ | 614 | install -d ${D}/${sysconfdir}/X11/xorg.conf.d/ |
617 | install -m 0644 ${WORKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ | 615 | install -m 0644 ${UNPACKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ |
618 | install -m 0644 ${WORKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ | 616 | install -m 0644 ${UNPACKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ |
619 | fi | 617 | fi |
620 | } | 618 | } |
621 | 619 | ||
diff --git a/documentation/dev-manual/libraries.rst b/documentation/dev-manual/libraries.rst index 521dbb9a7c..a8c38128ea 100644 --- a/documentation/dev-manual/libraries.rst +++ b/documentation/dev-manual/libraries.rst | |||
@@ -37,40 +37,10 @@ library files. | |||
37 | Some previously released versions of the Yocto Project defined the | 37 | Some previously released versions of the Yocto Project defined the |
38 | static library files through ``${PN}-dev``. | 38 | static library files through ``${PN}-dev``. |
39 | 39 | ||
40 | Here is the part of the BitBake configuration file, where you can see | 40 | Here is a small part of the BitBake configuration file, where you can see |
41 | how the static library files are defined:: | 41 | how the static library files are defined:: |
42 | 42 | ||
43 | PACKAGE_BEFORE_PN ?= "" | ||
44 | PACKAGES = "${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}" | 43 | PACKAGES = "${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}" |
45 | PACKAGES_DYNAMIC = "^${PN}-locale-.*" | ||
46 | FILES = "" | ||
47 | |||
48 | FILES:${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \ | ||
49 | ${sysconfdir} ${sharedstatedir} ${localstatedir} \ | ||
50 | ${base_bindir}/* ${base_sbindir}/* \ | ||
51 | ${base_libdir}/*${SOLIBS} \ | ||
52 | ${base_prefix}/lib/udev ${prefix}/lib/udev \ | ||
53 | ${base_libdir}/udev ${libdir}/udev \ | ||
54 | ${datadir}/${BPN} ${libdir}/${BPN}/* \ | ||
55 | ${datadir}/pixmaps ${datadir}/applications \ | ||
56 | ${datadir}/idl ${datadir}/omf ${datadir}/sounds \ | ||
57 | ${libdir}/bonobo/servers" | ||
58 | |||
59 | FILES:${PN}-bin = "${bindir}/* ${sbindir}/*" | ||
60 | |||
61 | FILES:${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \ | ||
62 | ${datadir}/gnome/help" | ||
63 | SECTION:${PN}-doc = "doc" | ||
64 | |||
65 | FILES_SOLIBSDEV ?= "${base_libdir}/lib*${SOLIBSDEV} ${libdir}/lib*${SOLIBSDEV}" | ||
66 | FILES:${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \ | ||
67 | ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \ | ||
68 | ${datadir}/aclocal ${base_libdir}/*.o \ | ||
69 | ${libdir}/${BPN}/*.la ${base_libdir}/*.la \ | ||
70 | ${libdir}/cmake ${datadir}/cmake" | ||
71 | SECTION:${PN}-dev = "devel" | ||
72 | ALLOW_EMPTY:${PN}-dev = "1" | ||
73 | RDEPENDS:${PN}-dev = "${PN} (= ${EXTENDPKGV})" | ||
74 | 44 | ||
75 | FILES:${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a" | 45 | FILES:${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a" |
76 | SECTION:${PN}-staticdev = "devel" | 46 | SECTION:${PN}-staticdev = "devel" |
diff --git a/documentation/dev-manual/licenses.rst b/documentation/dev-manual/licenses.rst index bffff3675f..7d6636eeff 100644 --- a/documentation/dev-manual/licenses.rst +++ b/documentation/dev-manual/licenses.rst | |||
@@ -55,11 +55,11 @@ Consider this next example:: | |||
55 | 55 | ||
56 | LIC_FILES_CHKSUM = "file://src/ls.c;beginline=5;endline=16;\ | 56 | LIC_FILES_CHKSUM = "file://src/ls.c;beginline=5;endline=16;\ |
57 | md5=bb14ed3c4cda583abc85401304b5cd4e" | 57 | md5=bb14ed3c4cda583abc85401304b5cd4e" |
58 | LIC_FILES_CHKSUM = "file://${WORKDIR}/license.html;md5=5c94767cedb5d6987c902ac850ded2c6" | 58 | LIC_FILES_CHKSUM = "file://${UNPACKDIR}/license.html;md5=5c94767cedb5d6987c902ac850ded2c6" |
59 | 59 | ||
60 | The first line locates a file in ``${S}/src/ls.c`` and isolates lines | 60 | The first line locates a file in ``${S}/src/ls.c`` and isolates lines |
61 | five through 16 as license text. The second line refers to a file in | 61 | five through 16 as license text. The second line refers to a file in |
62 | :term:`WORKDIR`. | 62 | :term:`UNPACKDIR`. |
63 | 63 | ||
64 | Note that :term:`LIC_FILES_CHKSUM` variable is mandatory for all recipes, | 64 | Note that :term:`LIC_FILES_CHKSUM` variable is mandatory for all recipes, |
65 | unless the :term:`LICENSE` variable is set to "CLOSED". | 65 | unless the :term:`LICENSE` variable is set to "CLOSED". |
diff --git a/documentation/dev-manual/new-recipe.rst b/documentation/dev-manual/new-recipe.rst index 9792bd4c1f..832aa300e1 100644 --- a/documentation/dev-manual/new-recipe.rst +++ b/documentation/dev-manual/new-recipe.rst | |||
@@ -188,13 +188,14 @@ the recipe. | |||
188 | Use lower-cased characters and do not include the reserved suffixes | 188 | Use lower-cased characters and do not include the reserved suffixes |
189 | ``-native``, ``-cross``, ``-initial``, or ``-dev`` casually (i.e. do not use | 189 | ``-native``, ``-cross``, ``-initial``, or ``-dev`` casually (i.e. do not use |
190 | them as part of your recipe name unless the string applies). Here are some | 190 | them as part of your recipe name unless the string applies). Here are some |
191 | examples: | 191 | examples (which includes the use of the string "git" as a special case of a |
192 | version identifier): | ||
192 | 193 | ||
193 | .. code-block:: none | 194 | .. code-block:: none |
194 | 195 | ||
195 | cups_1.7.0.bb | 196 | cups_2.4.12.bb |
196 | gawk_4.0.2.bb | 197 | gawk_5.3.2.bb |
197 | irssi_0.8.16-rc1.bb | 198 | psplash_git.bb |
198 | 199 | ||
199 | Running a Build on the Recipe | 200 | Running a Build on the Recipe |
200 | ============================= | 201 | ============================= |
@@ -276,11 +277,11 @@ upgrading the recipe to a future version is as simple as renaming the | |||
276 | recipe to match the new version. | 277 | recipe to match the new version. |
277 | 278 | ||
278 | Here is a simple example from the | 279 | Here is a simple example from the |
279 | ``meta/recipes-devtools/strace/strace_5.5.bb`` recipe where the source | 280 | :oe_git:`strace recipe </openembedded-core/tree/meta/recipes-devtools/strace>` |
280 | comes from a single tarball. Notice the use of the | 281 | where the source comes from a single tarball. Notice the use of the |
281 | :term:`PV` variable:: | 282 | :term:`PV` variable:: |
282 | 283 | ||
283 | SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ | 284 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/strace-${PV}.tar.xz \ |
284 | 285 | ||
285 | Files mentioned in :term:`SRC_URI` whose names end in a typical archive | 286 | Files mentioned in :term:`SRC_URI` whose names end in a typical archive |
286 | extension (e.g. ``.tar``, ``.tar.gz``, ``.tar.bz2``, ``.zip``, and so | 287 | extension (e.g. ``.tar``, ``.tar.gz``, ``.tar.bz2``, ``.zip``, and so |
@@ -292,7 +293,7 @@ another example that specifies these types of files, see the | |||
292 | Another way of specifying source is from an SCM. For Git repositories, | 293 | Another way of specifying source is from an SCM. For Git repositories, |
293 | you must specify :term:`SRCREV` and you should specify :term:`PV` to include | 294 | you must specify :term:`SRCREV` and you should specify :term:`PV` to include |
294 | a ``+`` sign in its definition. Here is an example from the recipe | 295 | a ``+`` sign in its definition. Here is an example from the recipe |
295 | :oe_git:`meta/recipes-sato/l3afpad/l3afpad_git.bb </openembedded-core/tree/meta/recipes-sato/l3afpad/l3afpad_git.bb>`:: | 296 | :oe_git:`l3afpad_git.bb </openembedded-core/tree/meta/recipes-sato/l3afpad/l3afpad_git.bb>`:: |
296 | 297 | ||
297 | SRC_URI = "git://github.com/stevenhoneyman/l3afpad.git;branch=master;protocol=https" | 298 | SRC_URI = "git://github.com/stevenhoneyman/l3afpad.git;branch=master;protocol=https" |
298 | 299 | ||
@@ -347,8 +348,8 @@ paste them into your recipe and then run the build again to continue. | |||
347 | continuing with the build. | 348 | continuing with the build. |
348 | 349 | ||
349 | This final example is a bit more complicated and is from the | 350 | This final example is a bit more complicated and is from the |
350 | ``meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.20.bb`` recipe. The | 351 | :oe_git:`rxvt-unicode </openembedded-core/tree/meta/recipes-sato/rxvt-unicode>` |
351 | example's :term:`SRC_URI` statement identifies multiple files as the source | 352 | recipe. The example's :term:`SRC_URI` statement identifies multiple files as the source |
352 | files for the recipe: a tarball, a patch file, a desktop file, and an icon:: | 353 | files for the recipe: a tarball, a patch file, a desktop file, and an icon:: |
353 | 354 | ||
354 | SRC_URI = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${PV}.tar.bz2 \ | 355 | SRC_URI = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${PV}.tar.bz2 \ |
@@ -706,7 +707,7 @@ hierarchy to locations that would mirror their locations on the target | |||
706 | device. The installation process copies files from the | 707 | device. The installation process copies files from the |
707 | ``${``\ :term:`S`\ ``}``, | 708 | ``${``\ :term:`S`\ ``}``, |
708 | ``${``\ :term:`B`\ ``}``, and | 709 | ``${``\ :term:`B`\ ``}``, and |
709 | ``${``\ :term:`WORKDIR`\ ``}`` | 710 | ``${``\ :term:`UNPACKDIR`\ ``}`` |
710 | directories to the ``${``\ :term:`D`\ ``}`` | 711 | directories to the ``${``\ :term:`D`\ ``}`` |
711 | directory to create the structure as it should appear on the target | 712 | directory to create the structure as it should appear on the target |
712 | system. | 713 | system. |
@@ -1145,7 +1146,7 @@ Building an application from a single file that is stored locally (e.g. under | |||
1145 | ``files``) requires a recipe that has the file listed in the :term:`SRC_URI` | 1146 | ``files``) requires a recipe that has the file listed in the :term:`SRC_URI` |
1146 | variable. Additionally, you need to manually write the :ref:`ref-tasks-compile` | 1147 | variable. Additionally, you need to manually write the :ref:`ref-tasks-compile` |
1147 | and :ref:`ref-tasks-install` tasks. The :term:`S` variable defines the | 1148 | and :ref:`ref-tasks-install` tasks. The :term:`S` variable defines the |
1148 | directory containing the source code, which is set to :term:`WORKDIR` in this | 1149 | directory containing the source code, which is set to :term:`UNPACKDIR` in this |
1149 | case --- the directory BitBake uses for the build:: | 1150 | case --- the directory BitBake uses for the build:: |
1150 | 1151 | ||
1151 | SUMMARY = "Simple helloworld application" | 1152 | SUMMARY = "Simple helloworld application" |
@@ -1155,7 +1156,7 @@ case --- the directory BitBake uses for the build:: | |||
1155 | 1156 | ||
1156 | SRC_URI = "file://helloworld.c" | 1157 | SRC_URI = "file://helloworld.c" |
1157 | 1158 | ||
1158 | S = "${WORKDIR}" | 1159 | S = "${UNPACKDIR}" |
1159 | 1160 | ||
1160 | do_compile() { | 1161 | do_compile() { |
1161 | ${CC} ${LDFLAGS} helloworld.c -o helloworld | 1162 | ${CC} ${LDFLAGS} helloworld.c -o helloworld |
@@ -1211,8 +1212,6 @@ In the following example, ``lz4`` is a makefile-based package:: | |||
1211 | " | 1212 | " |
1212 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" | 1213 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" |
1213 | 1214 | ||
1214 | S = "${WORKDIR}/git" | ||
1215 | |||
1216 | CVE_STATUS[CVE-2014-4715] = "fixed-version: Fixed in r118, which is larger than the current version" | 1215 | CVE_STATUS[CVE-2014-4715] = "fixed-version: Fixed in r118, which is larger than the current version" |
1217 | 1216 | ||
1218 | EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' CFLAGS='${CFLAGS}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir} BUILD_STATIC=no" | 1217 | EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' CFLAGS='${CFLAGS}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir} BUILD_STATIC=no" |
@@ -1271,8 +1270,6 @@ is a simple example of an application without dependencies:: | |||
1271 | SRC_URI = "git://gitlab.com/ipcalc/ipcalc.git;protocol=https;branch=master" | 1270 | SRC_URI = "git://gitlab.com/ipcalc/ipcalc.git;protocol=https;branch=master" |
1272 | SRCREV = "4c4261a47f355946ee74013d4f5d0494487cc2d6" | 1271 | SRCREV = "4c4261a47f355946ee74013d4f5d0494487cc2d6" |
1273 | 1272 | ||
1274 | S = "${WORKDIR}/git" | ||
1275 | |||
1276 | inherit meson | 1273 | inherit meson |
1277 | 1274 | ||
1278 | Applications with dependencies are likely to inherit the | 1275 | Applications with dependencies are likely to inherit the |
@@ -1397,11 +1394,31 @@ doing the following: | |||
1397 | where you have installed them and whether those files are in | 1394 | where you have installed them and whether those files are in |
1398 | different locations than the defaults. | 1395 | different locations than the defaults. |
1399 | 1396 | ||
1397 | As a basic example of a :ref:`ref-classes-bin-package`-style recipe, consider | ||
1398 | this snippet from the | ||
1399 | :oe_git:`wireless-regdb </openembedded-core/tree/meta/recipes-kernel/wireless-regdb>` | ||
1400 | recipe file, which fetches a single tarball of binary content and manually | ||
1401 | installs with no need for any configuration or compilation:: | ||
1402 | |||
1403 | SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" | ||
1404 | SRC_URI[sha256sum] = "57f8e7721cf5a880c13ae0c202edbb21092a060d45f9e9c59bcd2a8272bfa456" | ||
1405 | |||
1406 | inherit bin_package allarch | ||
1407 | |||
1408 | do_install() { | ||
1409 | install -d -m0755 ${D}${nonarch_libdir}/crda | ||
1410 | install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys | ||
1411 | install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin | ||
1412 | install -m 0644 wens.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/wens.key.pub.pem | ||
1413 | install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db | ||
1414 | install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s | ||
1415 | } | ||
1416 | |||
1400 | Following Recipe Style Guidelines | 1417 | Following Recipe Style Guidelines |
1401 | ================================= | 1418 | ================================= |
1402 | 1419 | ||
1403 | When writing recipes, it is good to conform to existing style guidelines. | 1420 | When writing recipes, it is good to conform to existing style guidelines. |
1404 | See the ":doc:`../contributor-guide/recipe-style-guide`" in the Yocto Project | 1421 | See the ":doc:`/contributor-guide/recipe-style-guide`" in the Yocto Project |
1405 | and OpenEmbedded Contributor Guide for reference. | 1422 | and OpenEmbedded Contributor Guide for reference. |
1406 | 1423 | ||
1407 | It is common for existing recipes to deviate a bit from this style. | 1424 | It is common for existing recipes to deviate a bit from this style. |
@@ -1428,7 +1445,7 @@ chapter of the BitBake User Manual. | |||
1428 | The following example shows some of the ways you can use variables in | 1445 | The following example shows some of the ways you can use variables in |
1429 | recipes:: | 1446 | recipes:: |
1430 | 1447 | ||
1431 | S = "${WORKDIR}/postfix-${PV}" | 1448 | S = "${UNPACKDIR}/postfix-${PV}" |
1432 | CFLAGS += "-DNO_ASM" | 1449 | CFLAGS += "-DNO_ASM" |
1433 | CFLAGS:append = " --enable-important-feature" | 1450 | CFLAGS:append = " --enable-important-feature" |
1434 | 1451 | ||
diff --git a/documentation/dev-manual/packages.rst b/documentation/dev-manual/packages.rst index 8845bf2fab..8bd48c8e8f 100644 --- a/documentation/dev-manual/packages.rst +++ b/documentation/dev-manual/packages.rst | |||
@@ -1024,7 +1024,7 @@ The ``devtool edit-recipe`` command lets you take a look at the recipe:: | |||
1024 | npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \ | 1024 | npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \ |
1025 | " | 1025 | " |
1026 | 1026 | ||
1027 | S = "${WORKDIR}/npm" | 1027 | S = "${UNPACKDIR}/npm" |
1028 | 1028 | ||
1029 | inherit npm | 1029 | inherit npm |
1030 | 1030 | ||
diff --git a/documentation/dev-manual/prebuilt-libraries.rst b/documentation/dev-manual/prebuilt-libraries.rst index a05f39ca1e..59621ca16d 100644 --- a/documentation/dev-manual/prebuilt-libraries.rst +++ b/documentation/dev-manual/prebuilt-libraries.rst | |||
@@ -97,7 +97,7 @@ The complete recipe would look like this:: | |||
97 | # we use a local link. | 97 | # we use a local link. |
98 | SRC_URI = "file://libft4222-linux-${PV}.tgz" | 98 | SRC_URI = "file://libft4222-linux-${PV}.tgz" |
99 | 99 | ||
100 | S = "${WORKDIR}" | 100 | S = "${UNPACKDIR}" |
101 | 101 | ||
102 | ARCH_DIR:x86-64 = "build-x86_64" | 102 | ARCH_DIR:x86-64 = "build-x86_64" |
103 | ARCH_DIR:i586 = "build-i386" | 103 | ARCH_DIR:i586 = "build-i386" |
@@ -170,7 +170,7 @@ as follows:: | |||
170 | The modifications cause the ``.so`` file to be the real library | 170 | The modifications cause the ``.so`` file to be the real library |
171 | and unset :term:`FILES_SOLIBSDEV` so that no libraries get packaged into | 171 | and unset :term:`FILES_SOLIBSDEV` so that no libraries get packaged into |
172 | ``${PN}-dev``. The changes are required because unless :term:`PACKAGES` is changed, | 172 | ``${PN}-dev``. The changes are required because unless :term:`PACKAGES` is changed, |
173 | ``${PN}-dev`` collects files before `${PN}`. ``${PN}-dev`` must not collect any of | 173 | ``${PN}-dev`` collects files before ``${PN}``. ``${PN}-dev`` must not collect any of |
174 | the files you want in ``${PN}``. | 174 | the files you want in ``${PN}``. |
175 | 175 | ||
176 | Finally, loadable modules, essentially unversioned libraries that are linked | 176 | Finally, loadable modules, essentially unversioned libraries that are linked |
@@ -204,6 +204,6 @@ versioned library example. The "magic" is setting the :term:`SOLIBS` and | |||
204 | 204 | ||
205 | do_install () { | 205 | do_install () { |
206 | install -d ${D}${libdir} | 206 | install -d ${D}${libdir} |
207 | install -m 0755 ${WORKDIR}/libfoo.so ${D}${libdir} | 207 | install -m 0755 ${UNPACKDIR}/libfoo.so ${D}${libdir} |
208 | } | 208 | } |
209 | 209 | ||
diff --git a/documentation/dev-manual/sbom.rst b/documentation/dev-manual/sbom.rst index e6806ce929..ca0fc8b9d6 100644 --- a/documentation/dev-manual/sbom.rst +++ b/documentation/dev-manual/sbom.rst | |||
@@ -60,6 +60,9 @@ more information in the output :term:`SPDX` data: | |||
60 | - Add a description of the source files used to generate host tools and target | 60 | - Add a description of the source files used to generate host tools and target |
61 | packages (:term:`SPDX_INCLUDE_SOURCES`) | 61 | packages (:term:`SPDX_INCLUDE_SOURCES`) |
62 | 62 | ||
63 | - Add a description of the **compiled** source files used to generate host tools | ||
64 | and target packages (:term:`SPDX_INCLUDE_COMPILED_SOURCES`) | ||
65 | |||
63 | - Add archives of these source files themselves (:term:`SPDX_ARCHIVE_SOURCES`). | 66 | - Add archives of these source files themselves (:term:`SPDX_ARCHIVE_SOURCES`). |
64 | 67 | ||
65 | Though the toplevel :term:`SPDX` output is available in | 68 | Though the toplevel :term:`SPDX` output is available in |
diff --git a/documentation/dev-manual/start.rst b/documentation/dev-manual/start.rst index 73548132a3..44bd2de137 100644 --- a/documentation/dev-manual/start.rst +++ b/documentation/dev-manual/start.rst | |||
@@ -109,7 +109,7 @@ particular working environment and set of practices. | |||
109 | 109 | ||
110 | - Keep your cross-development toolchains updated. You can do this | 110 | - Keep your cross-development toolchains updated. You can do this |
111 | through provisioning either as new toolchain downloads or as | 111 | through provisioning either as new toolchain downloads or as |
112 | updates through a package update mechanism using ``opkg`` to | 112 | updates through a package update mechanism to |
113 | provide updates to an existing toolchain. The exact mechanics of | 113 | provide updates to an existing toolchain. The exact mechanics of |
114 | how and when to do this depend on local policy. | 114 | how and when to do this depend on local policy. |
115 | 115 | ||
@@ -159,7 +159,7 @@ particular working environment and set of practices. | |||
159 | are made. | 159 | are made. |
160 | 160 | ||
161 | - Allows triggering of automated image booting and testing under | 161 | - Allows triggering of automated image booting and testing under |
162 | the QuickEMUlator (QEMU). | 162 | the Quick EMUlator (QEMU). |
163 | 163 | ||
164 | - Supports incremental build testing and from-scratch builds. | 164 | - Supports incremental build testing and from-scratch builds. |
165 | 165 | ||
@@ -234,7 +234,7 @@ particular working environment and set of practices. | |||
234 | - The Yocto Project community encourages you to send patches to the | 234 | - The Yocto Project community encourages you to send patches to the |
235 | project to fix bugs or add features. If you do submit patches, | 235 | project to fix bugs or add features. If you do submit patches, |
236 | follow the project commit guidelines for writing good commit | 236 | follow the project commit guidelines for writing good commit |
237 | messages. See the ":doc:`../contributor-guide/submit-changes`" | 237 | messages. See the ":doc:`/contributor-guide/submit-changes`" |
238 | section in the Yocto Project and OpenEmbedded Contributor Guide. | 238 | section in the Yocto Project and OpenEmbedded Contributor Guide. |
239 | 239 | ||
240 | - Send changes to the core sooner than later as others are likely | 240 | - Send changes to the core sooner than later as others are likely |
@@ -310,7 +310,7 @@ Project Build Host: | |||
310 | 310 | ||
311 | - GNU make &MIN_MAKE_VERSION; or greater | 311 | - GNU make &MIN_MAKE_VERSION; or greater |
312 | 312 | ||
313 | If your build host does not meet any of these listed version | 313 | If your build host does not satisfy all of these listed version |
314 | requirements, you can take steps to prepare the system so that you | 314 | requirements, you can take steps to prepare the system so that you |
315 | can still use the Yocto Project. See the | 315 | can still use the Yocto Project. See the |
316 | ":ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`" | 316 | ":ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`" |
@@ -568,7 +568,7 @@ extension accordingly. | |||
568 | Locating Yocto Project Source Files | 568 | Locating Yocto Project Source Files |
569 | =================================== | 569 | =================================== |
570 | 570 | ||
571 | This section shows you how to locate, fetch and configure the source | 571 | This section shows you how to locate, fetch, unpack, patch and configure the source |
572 | files you'll need to work with the Yocto Project. | 572 | files you'll need to work with the Yocto Project. |
573 | 573 | ||
574 | .. note:: | 574 | .. note:: |
@@ -720,11 +720,11 @@ Follow these steps to create a local version of the upstream | |||
720 | $ git branch | 720 | $ git branch |
721 | * master | 721 | * master |
722 | 722 | ||
723 | Your local repository of poky is identical to the | 723 | Your local repository of poky is initially identical to the |
724 | upstream poky repository at the time from which it was cloned. As you | 724 | upstream poky repository from which it was cloned. As you |
725 | work with the local branch, you can periodically use the | 725 | work with the local branch, you can periodically use the |
726 | ``git pull --rebase`` command to be sure you are up-to-date | 726 | ``git pull`` command to be sure you stay up-to-date |
727 | with the upstream branch. | 727 | with the upstream poky branch. |
728 | 728 | ||
729 | Checking Out by Branch in Poky | 729 | Checking Out by Branch in Poky |
730 | ------------------------------ | 730 | ------------------------------ |
diff --git a/documentation/dev-manual/temporary-source-code.rst b/documentation/dev-manual/temporary-source-code.rst index 08bf68d982..9a7cd0f771 100644 --- a/documentation/dev-manual/temporary-source-code.rst +++ b/documentation/dev-manual/temporary-source-code.rst | |||
@@ -18,11 +18,10 @@ build packages is available in the :term:`Build Directory` as defined by the | |||
18 | defined in the ``meta/conf/bitbake.conf`` configuration file in the | 18 | defined in the ``meta/conf/bitbake.conf`` configuration file in the |
19 | :term:`Source Directory`:: | 19 | :term:`Source Directory`:: |
20 | 20 | ||
21 | S = "${WORKDIR}/${BP}" | 21 | S = "${UNPACKDIR}/${BP}" |
22 | 22 | ||
23 | You should be aware that many recipes override the | 23 | You should be aware that many recipes override the |
24 | :term:`S` variable. For example, recipes that fetch their source from Git | 24 | :term:`S` variable when the default isn't accurate. |
25 | usually set :term:`S` to ``${WORKDIR}/git``. | ||
26 | 25 | ||
27 | .. note:: | 26 | .. note:: |
28 | 27 | ||
@@ -31,8 +30,16 @@ usually set :term:`S` to ``${WORKDIR}/git``. | |||
31 | 30 | ||
32 | BP = "${BPN}-${PV}" | 31 | BP = "${BPN}-${PV}" |
33 | 32 | ||
33 | This matches the location that the git fetcher unpacks to, and usually | ||
34 | matches unpacked content of release tarballs (e.g. they contain a single | ||
35 | directory which matches value of ${BP} exactly). | ||
34 | 36 | ||
35 | The path to the work directory for the recipe | 37 | The path to the unpack directory for the recipe |
38 | (:term:`UNPACKDIR`) is defined as follows:: | ||
39 | |||
40 | ${WORKDIR}/sources | ||
41 | |||
42 | In turn, the path to the work directory for the recipe | ||
36 | (:term:`WORKDIR`) is defined as | 43 | (:term:`WORKDIR`) is defined as |
37 | follows:: | 44 | follows:: |
38 | 45 | ||
diff --git a/documentation/dev-manual/vulnerabilities.rst b/documentation/dev-manual/vulnerabilities.rst index d901ff975b..5331a63991 100644 --- a/documentation/dev-manual/vulnerabilities.rst +++ b/documentation/dev-manual/vulnerabilities.rst | |||
@@ -22,7 +22,7 @@ issues may be impacting Poky and OE-Core. It is up to the maintainers, users, | |||
22 | contributors and anyone interested in the issues to investigate and possibly fix them by | 22 | contributors and anyone interested in the issues to investigate and possibly fix them by |
23 | updating software components to newer versions or by applying patches to address them. | 23 | updating software components to newer versions or by applying patches to address them. |
24 | It is recommended to work with Poky and OE-Core upstream maintainers and submit | 24 | It is recommended to work with Poky and OE-Core upstream maintainers and submit |
25 | patches to fix them, see ":doc:`../contributor-guide/submit-changes`" for details. | 25 | patches to fix them, see ":doc:`/contributor-guide/submit-changes`" for details. |
26 | 26 | ||
27 | Vulnerability check at build time | 27 | Vulnerability check at build time |
28 | ================================= | 28 | ================================= |
diff --git a/documentation/migration-guides/migration-5.1.rst b/documentation/migration-guides/migration-5.1.rst index c9bb38699b..94b527bdcb 100644 --- a/documentation/migration-guides/migration-5.1.rst +++ b/documentation/migration-guides/migration-5.1.rst | |||
@@ -20,8 +20,7 @@ S = ${WORKDIR} no longer supported | |||
20 | If a recipe has :term:`S` set to be :term:`WORKDIR`, this is no longer | 20 | If a recipe has :term:`S` set to be :term:`WORKDIR`, this is no longer |
21 | supported, and an error will be issued. The recipe should be changed to:: | 21 | supported, and an error will be issued. The recipe should be changed to:: |
22 | 22 | ||
23 | S = "${WORKDIR}/sources" | 23 | S = "${UNPACKDIR}" |
24 | UNPACKDIR = "${S}" | ||
25 | 24 | ||
26 | Any :term:`WORKDIR` references where files from :term:`SRC_URI` are referenced | 25 | Any :term:`WORKDIR` references where files from :term:`SRC_URI` are referenced |
27 | should be changed to :term:`S`. These are commonly in :ref:`ref-tasks-compile`, | 26 | should be changed to :term:`S`. These are commonly in :ref:`ref-tasks-compile`, |
@@ -62,8 +61,7 @@ require to add an :term:`S` definition to a recipe that only uses | |||
62 | ``file://`` :term:`SRC_URI` entries. To be consistent, the following pattern is | 61 | ``file://`` :term:`SRC_URI` entries. To be consistent, the following pattern is |
63 | recommended:: | 62 | recommended:: |
64 | 63 | ||
65 | S = "${WORKDIR}/sources" | 64 | S = "${UNPACKDIR}" |
66 | UNPACKDIR = "${S}" | ||
67 | 65 | ||
68 | Building C files from :term:`UNPACKDIR` without setting :term:`S` to point at | 66 | Building C files from :term:`UNPACKDIR` without setting :term:`S` to point at |
69 | it does not work as the debug prefix mapping doesn't handle that. | 67 | it does not work as the debug prefix mapping doesn't handle that. |
diff --git a/documentation/migration-guides/migration-5.3.rst b/documentation/migration-guides/migration-5.3.rst index 22653fc911..4d2e1763ce 100644 --- a/documentation/migration-guides/migration-5.3.rst +++ b/documentation/migration-guides/migration-5.3.rst | |||
@@ -14,6 +14,56 @@ Migration notes for |yocto-ver| (|yocto-codename|) | |||
14 | This section provides migration information for moving to the Yocto | 14 | This section provides migration information for moving to the Yocto |
15 | Project |yocto-ver| Release (codename "|yocto-codename|") from the prior release. | 15 | Project |yocto-ver| Release (codename "|yocto-codename|") from the prior release. |
16 | 16 | ||
17 | :term:`WORKDIR` changes | ||
18 | ~~~~~~~~~~~~~~~~~~~~~~~ | ||
19 | |||
20 | ``S = ${WORKDIR}/something`` no longer supported | ||
21 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
22 | |||
23 | If a recipe has :term:`S` set to be ``${``\ :term:`WORKDIR`\ ``}/something``, | ||
24 | this is no longer supported, and an error will be issued. The recipe should be | ||
25 | changed to:: | ||
26 | |||
27 | S = "${UNPACKDIR}/something" | ||
28 | |||
29 | ``S = ${WORKDIR}/git`` and ``S = ${UNPACKDIR}/git`` should be removed | ||
30 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
31 | |||
32 | The Git fetcher now unpacks into the :term:`BB_GIT_DEFAULT_DESTSUFFIX` directory | ||
33 | rather than the ``git/`` directory under :term:`UNPACKDIR`. | ||
34 | :term:`BB_GIT_DEFAULT_DESTSUFFIX` is set in :term:`OpenEmbedded-Core | ||
35 | (OE-Core)`'s :oe_git:`bitbake.conf | ||
36 | </openembedded-core/tree/meta/conf/bitbake.conf>` to :term:`BP`. | ||
37 | |||
38 | This location matches the default value of :term:`S` set by bitbake.conf, so :term:`S` | ||
39 | setting in recipes can and should be removed. | ||
40 | |||
41 | Note that when :term:`S` is set to a subdirectory of the git checkout, then it | ||
42 | should be instead adjusted according to the previous point:: | ||
43 | |||
44 | S = "${UNPACKDIR}/${BP}/something" | ||
45 | |||
46 | Note that "git" as the source checkout location can be hardcoded | ||
47 | in other places in recipes; when it's in :term:`SRC_URI`, replace with | ||
48 | :term:`BB_GIT_DEFAULT_DESTSUFFIX`, otherwise replace with :term:`BP`. | ||
49 | |||
50 | How to make those adjustments without tedious manual editing | ||
51 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
52 | |||
53 | The following sed command can be used to remove S = "${WORKDIR}/git | ||
54 | across a whole layer:: | ||
55 | |||
56 | sed -i "/^S = \"\${WORKDIR}\/git\"/d" `find . -name *.bb -o -name *.inc -o -name *.bbclass` | ||
57 | |||
58 | Then, the following command can tweak the remaining :term:`S` assignments to | ||
59 | refer to :term:`UNPACKDIR` instead of :term:`WORKDIR`:: | ||
60 | |||
61 | sed -i "s/^S = \"\${WORKDIR}\//S = \"\${UNPACKDIR}\//g" `find . -name *.bb -o -name *.inc -o -name *.bbclass` | ||
62 | |||
63 | The first change can introduce a lot of consecutive empty lines, so those can be removed with:: | ||
64 | |||
65 | sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc` | ||
66 | |||
17 | Supported kernel versions | 67 | Supported kernel versions |
18 | ~~~~~~~~~~~~~~~~~~~~~~~~~ | 68 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
19 | 69 | ||
@@ -59,6 +109,48 @@ Removed classes | |||
59 | 109 | ||
60 | The following classes have been removed in this release: | 110 | The following classes have been removed in this release: |
61 | 111 | ||
112 | - ``kernel-fitimage.bbclass``: the class has been replaced by the | ||
113 | :ref:`ref-classes-kernel-fit-image` class. The new implementation resolves | ||
114 | the long-standing :yocto_bugs:`bug 12912</show_bug.cgi?id=12912>`. | ||
115 | |||
116 | If you are using the kernel FIT image support, you will need to: | ||
117 | |||
118 | #. Make sure to include ``kernel-fit-extra-artifacts`` in your :term:`KERNEL_CLASSES` | ||
119 | variable to ensure the required files are exposed to the :term:`DEPLOY_DIR_IMAGE` | ||
120 | directory:: | ||
121 | |||
122 | KERNEL_CLASSES += "kernel-fit-extra-artifacts" | ||
123 | |||
124 | #. Use the specific FIT image recipe rather than the base kernel recipe. | ||
125 | For example, instead of:: | ||
126 | |||
127 | bitbake linux-yocto | ||
128 | |||
129 | the FIT image is now build by:: | ||
130 | |||
131 | bitbake linux-yocto-fitimage | ||
132 | |||
133 | For custom kernel recipes, creating a corresponding custom FIT image recipe | ||
134 | is usually a good approach. | ||
135 | |||
136 | #. If a FIT image is used as a replacement for the kernel image in the root | ||
137 | filesystem, add the following configuration to your machine configuration | ||
138 | file:: | ||
139 | |||
140 | # Create and deploy the vmlinux artifact which gets included into the FIT image | ||
141 | KERNEL_CLASSES += "kernel-fit-extra-artifacts" | ||
142 | |||
143 | # Do not install the kernel image package | ||
144 | RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" | ||
145 | # Install the FIT image package | ||
146 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "linux-yocto-fitimage" | ||
147 | |||
148 | # Configure the image.bbclass to depend on the FIT image instead of only | ||
149 | # the kernel to ensure the FIT image is built and deployed with the image | ||
150 | KERNEL_DEPLOY_DEPEND = "linux-yocto-fitimage:do_deploy" | ||
151 | |||
152 | See the :ref:`ref-classes-kernel-fit-image` section for more information. | ||
153 | |||
62 | Removed features | 154 | Removed features |
63 | ~~~~~~~~~~~~~~~~ | 155 | ~~~~~~~~~~~~~~~~ |
64 | 156 | ||
diff --git a/documentation/migration-guides/release-5.0.rst b/documentation/migration-guides/release-5.0.rst index 3eb7349c78..b3e7a67912 100644 --- a/documentation/migration-guides/release-5.0.rst +++ b/documentation/migration-guides/release-5.0.rst | |||
@@ -16,3 +16,4 @@ Release 5.0 (scarthgap) | |||
16 | release-notes-5.0.7 | 16 | release-notes-5.0.7 |
17 | release-notes-5.0.8 | 17 | release-notes-5.0.8 |
18 | release-notes-5.0.9 | 18 | release-notes-5.0.9 |
19 | release-notes-5.0.10 | ||
diff --git a/documentation/migration-guides/release-notes-4.3.rst b/documentation/migration-guides/release-notes-4.3.rst index 0103ac985e..aa3f31a2ce 100644 --- a/documentation/migration-guides/release-notes-4.3.rst +++ b/documentation/migration-guides/release-notes-4.3.rst | |||
@@ -272,9 +272,9 @@ New Features / Enhancements in 4.3 | |||
272 | 272 | ||
273 | - Prominent documentation updates: | 273 | - Prominent documentation updates: |
274 | 274 | ||
275 | - New :doc:`../contributor-guide/index` document. | 275 | - New :doc:`/contributor-guide/index` document. |
276 | 276 | ||
277 | - New :doc:`../dev-manual/security-subjects` chapter in the Development | 277 | - New :doc:`/dev-manual/security-subjects` chapter in the Development |
278 | Tasks Manual. | 278 | Tasks Manual. |
279 | 279 | ||
280 | - Long overdue documentation for the :ref:`ref-classes-devicetree` class. | 280 | - Long overdue documentation for the :ref:`ref-classes-devicetree` class. |
diff --git a/documentation/migration-guides/release-notes-5.0.10.rst b/documentation/migration-guides/release-notes-5.0.10.rst new file mode 100644 index 0000000000..e9845aa315 --- /dev/null +++ b/documentation/migration-guides/release-notes-5.0.10.rst | |||
@@ -0,0 +1,208 @@ | |||
1 | .. SPDX-License-Identifier: CC-BY-SA-2.0-UK | ||
2 | |||
3 | Release notes for Yocto-5.0.10 (Scarthgap) | ||
4 | ------------------------------------------ | ||
5 | |||
6 | Security Fixes in Yocto-5.0.10 | ||
7 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
8 | |||
9 | - binutils: Fix :cve_nist:`2025-1153`, :cve_nist:`2025-1179`, :cve_nist:`2025-1180` and | ||
10 | :cve_nist:`2025-1182` | ||
11 | - connman: Fix :cve_nist:`2025-32366` and :cve_nist:`2025-32743` | ||
12 | - curl: Fix :cve_nist:`2024-11053` and :cve_nist:`2025-0167` | ||
13 | - elfutils: Fix :cve_nist:`2025-1371` | ||
14 | - ffmpeg: Fix :cve_nist:`2024-7055`, :cve_nist:`2024-32230`, :cve_nist:`2024-35366`, | ||
15 | :cve_nist:`2024-36613`, :cve_nist:`2024-36616`, :cve_nist:`2024-36617` and :cve_nist:`2024-36619` | ||
16 | - git: Fix :cve_nist:`2024-50349` and :cve_nist:`2024-52006` | ||
17 | - glib-2.0: fix :cve_nist:`2025-3360` and :cve_nist:`2025-4373` | ||
18 | - iputils: Fix :cve_nist:`2025-47268` | ||
19 | - libpam: Fix :cve_nist:`2024-10041` | ||
20 | - libsoup-2.4: Fix :cve_nist:`2024-52530`, :cve_nist:`2024-52531`, :cve_nist:`2024-52532`, | ||
21 | :cve_nist:`2025-32906`, :cve_nist:`2025-32909`, :cve_nist:`2025-32910`, :cve_nist:`2025-32911`, | ||
22 | :cve_nist:`2025-32912`, :cve_nist:`2025-32913`, :cve_nist:`2025-32914` and :cve_nist:`2025-46420` | ||
23 | - libsoup: Fix :cve_nist:`2025-4476`, :cve_nist:`2025-32906`, :cve_nist:`2025-32909`, | ||
24 | :cve_nist:`2025-32910`, :cve_nist:`2025-32911`, :cve_nist:`2025-32912`, :cve_nist:`2025-32913`, | ||
25 | :cve_nist:`2025-32914` and :cve_nist:`2025-46420` | ||
26 | - libxml2: Fix :cve_nist:`2025-32414` and :cve_nist:`2025-32415` | ||
27 | - openssh: Fix :cve_nist:`2025-32728` | ||
28 | - perl: Fix :cve_nist:`2024-56406` | ||
29 | - ppp: Fix :cve_nist:`2024-58250` | ||
30 | - python3-jinja2: Fix :cve_nist:`2024-56201`, :cve_nist:`2024-56326` and :cve_nist:`2025-27516` | ||
31 | - ruby: Fix :cve_nist:`2025-27221` | ||
32 | - sqlite3: Fix :cve_nist:`2025-3277`, :cve_nist:`2025-29087` and :cve_nist:`2025-29088` | ||
33 | |||
34 | |||
35 | Fixes in Yocto-5.0.10 | ||
36 | ~~~~~~~~~~~~~~~~~~~~~ | ||
37 | |||
38 | - binutils: stable 2.42 branch updates | ||
39 | - bluez5: add missing tools to noinst-tools package | ||
40 | - bluez5: backport a patch to fix btmgmt -i | ||
41 | - bluez5: make media control a :term:`PACKAGECONFIG` option | ||
42 | - build-appliance-image: Update to scarthgap head revision | ||
43 | - buildtools-tarball: Make buildtools respects host CA certificates | ||
44 | - buildtools-tarball: add envvars into :term:`BB_ENV_PASSTHROUGH_ADDITIONS` | ||
45 | - buildtools-tarball: move setting of envvars to respective envfile | ||
46 | - contributor-guide/submit-changes: encourage patch version changelogs | ||
47 | - cve-check.bbclass: Fix symlink handling also for text files | ||
48 | - cve-update-nvd2-native: Revert "cve-update-nvd2-native: Tweak to work better with NFS DL_DIR" | ||
49 | - dev-manual/sbom.rst: fix wrong build outputs | ||
50 | - docs: Fix dead links that use the :term:`DISTRO` macro | ||
51 | - docs: conf.py: tweak SearchEnglish to be hyphen-friendly | ||
52 | - docs:conf.py: define a manpage url | ||
53 | - ffmpeg: upgrade to 6.1.2 | ||
54 | - git: upgrade to 2.44.3 | ||
55 | - glibc-y2038-tests: remove glibc-y2038-tests_2.39.bb recipe | ||
56 | - glibc: Add single-threaded fast path to rand() | ||
57 | - glibc: stable 2.39 branch updates | ||
58 | - initscripts: add function log_success_msg/log_failure_msg/log_warning_msg | ||
59 | - libatomic-ops: Update :term:`GITHUB_BASE_URI` | ||
60 | - manuals: remove repeated word | ||
61 | - migration-guides: add release notes for 4.0.26, 5.0.8, 5.0.9 | ||
62 | - module.bbclass: add KBUILD_EXTRA_SYMBOLS to install | ||
63 | - perl: upgrade to 5.38.4 | ||
64 | - perlcross: upgrade to 1.6.2 | ||
65 | - poky.conf: bump version for 5.0.10 | ||
66 | - poky.yaml: introduce DISTRO_LATEST_TAG | ||
67 | - python3-jinja2: upgrade to 3.1.6 | ||
68 | - ref-manual/release-process: update releases.svg | ||
69 | - ref-manual/variables.rst: HOST_CC_ARCH: fix wrong SDK reference | ||
70 | - ref-manual/variables.rst: WATCHDOG_TIMEOUT: fix recipe name | ||
71 | - ref-manual/variables.rst: add manpage links for toolchain variables | ||
72 | - ref-manual/variables.rst: add missing documentation for BUILD_* variables | ||
73 | - ref-manual/variables.rst: document HOST_*_ARCH variables | ||
74 | - ref-manual/variables.rst: document :term:`INHIBIT_DEFAULT_RUST_DEPS` | ||
75 | - ref-manual/variables.rst: document :term:`INHIBIT_UPDATERCD_BBCLASS` | ||
76 | - ref-manual/variables.rst: document :term:`SSTATE_SKIP_CREATION` | ||
77 | - ref-manual/variables.rst: document :term:`WIC_CREATE_EXTRA_ARGS` | ||
78 | - ref-manual/variables.rst: document autotools class related variables | ||
79 | - ref-manual/variables.rst: document missing SDK_*_ARCH variables | ||
80 | - ref-manual/variables.rst: document the :term:`IMAGE_ROOTFS_MAXSIZE` variable | ||
81 | - ref-manual/variables.rst: document the :term:`INITRAMFS_MAXSIZE` variable | ||
82 | - ref-manual/variables.rst: improve the :term:`PKGV` documentation | ||
83 | - ref-manual/variables.rst: update :term:`ROOT_HOME` documentation | ||
84 | - ref-manual: kernel-fitimage.bbclass does not use :term:`SPL_SIGN_KEYNAME` | ||
85 | - scripts/install-buildtools: Update to 5.0.9 | ||
86 | - sphinx-lint: missing space after literal | ||
87 | - sphinx-lint: trailing whitespace | ||
88 | - sphinx-lint: unbalanced inline literal markup | ||
89 | - systemd: Password agents shouldn't be optional | ||
90 | - systemd: upgrade to 255.18 | ||
91 | - test-manual/intro: remove Buildbot version used | ||
92 | - tzdata/tzcode-native: upgrade 2025a -> 2025b | ||
93 | - u-boot: ensure keys are generated before assembling U-Boot FIT image | ||
94 | - util-linux: Add fix to isolate test fstab entries using CUSTOM_FSTAB | ||
95 | - wic: bootimg-efi: Support + symbol in filenames | ||
96 | |||
97 | |||
98 | Known Issues in Yocto-5.0.10 | ||
99 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
100 | |||
101 | - There is an issue where the target libsoup-2.4 build may fail if apachectl is present on the build | ||
102 | host. The issue only affects test binaries which aren't actually used. The issue can be fixed by | ||
103 | disabling the tests or updating to more recent changes on the scarthgap branch which fix this. | ||
104 | |||
105 | |||
106 | Contributors to Yocto-5.0.10 | ||
107 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
108 | |||
109 | Thanks to the following people who contributed to this release: | ||
110 | |||
111 | - Adrian Freihofer | ||
112 | - Aleksandar Nikolic | ||
113 | - Alexander Kanavin | ||
114 | - Alon Bar-Lev | ||
115 | - Alper Ak | ||
116 | - Andrew Kreimer | ||
117 | - Antonin Godard | ||
118 | - Archana Polampalli | ||
119 | - Ashish Sharma | ||
120 | - Changqing Li | ||
121 | - Christos Gavros | ||
122 | - Deepesh Varatharajan | ||
123 | - Divya Chellam | ||
124 | - Divyanshu Rathore | ||
125 | - Enrico Jörns | ||
126 | - Etienne Cordonnier | ||
127 | - Guðni Már Gilbert | ||
128 | - Haixiao Yan | ||
129 | - Harish Sadineni | ||
130 | - Igor Opaniuk | ||
131 | - Jeroen Hofstee | ||
132 | - Lee Chee Yang | ||
133 | - Nguyen Dat Tho | ||
134 | - Niko Mauno | ||
135 | - Peter Marko | ||
136 | - Praveen Kumar | ||
137 | - Priyal Doshi | ||
138 | - Rogerio Guerra Borin | ||
139 | - Shubham Kulkarni | ||
140 | - Soumya Sambu | ||
141 | - Steve Sakoman | ||
142 | - Sunil Dora | ||
143 | - Trevor Woerner | ||
144 | - Vijay Anusuri | ||
145 | - Virendra Thakur | ||
146 | - Vyacheslav Yurkov | ||
147 | - Yi Zhao | ||
148 | - Yogita Urade | ||
149 | - rajmohan r | ||
150 | |||
151 | Repositories / Downloads for Yocto-5.0.10 | ||
152 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
153 | |||
154 | poky | ||
155 | |||
156 | - Repository Location: :yocto_git:`/poky` | ||
157 | - Branch: :yocto_git:`scarthgap </poky/log/?h=scarthgap>` | ||
158 | - Tag: :yocto_git:`yocto-5.0.10 </poky/log/?h=yocto-5.0.10>` | ||
159 | - Git Revision: :yocto_git:`ac257900c33754957b2696529682029d997a8f28 </poky/commit/?id=ac257900c33754957b2696529682029d997a8f28>` | ||
160 | - Release Artefact: poky-ac257900c33754957b2696529682029d997a8f28 | ||
161 | - sha: ddca7e54b331e78214bea65b346320d4fbcddf4b51103bfbbd9fc3960f32cdc7 | ||
162 | - Download Locations: | ||
163 | https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.10/poky-ac257900c33754957b2696529682029d997a8f28.tar.bz2 | ||
164 | https://mirrors.kernel.org/yocto/yocto/yocto-5.0.10/poky-ac257900c33754957b2696529682029d997a8f28.tar.bz2 | ||
165 | |||
166 | openembedded-core | ||
167 | |||
168 | - Repository Location: :oe_git:`/openembedded-core` | ||
169 | - Branch: :oe_git:`scarthgap </openembedded-core/log/?h=scarthgap>` | ||
170 | - Tag: :oe_git:`yocto-5.0.10 </openembedded-core/log/?h=yocto-5.0.10>` | ||
171 | - Git Revision: :oe_git:`d5342ffc570d47a723b18297d75bd2f63c2088db </openembedded-core/commit/?id=d5342ffc570d47a723b18297d75bd2f63c2088db>` | ||
172 | - Release Artefact: oecore-d5342ffc570d47a723b18297d75bd2f63c2088db | ||
173 | - sha: daa62094f2327f4b3fbcc485e8964d1b86a4722f58fb37e0d8e8e9885094a262 | ||
174 | - Download Locations: | ||
175 | https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.10/oecore-d5342ffc570d47a723b18297d75bd2f63c2088db.tar.bz2 | ||
176 | https://mirrors.kernel.org/yocto/yocto/yocto-5.0.10/oecore-d5342ffc570d47a723b18297d75bd2f63c2088db.tar.bz2 | ||
177 | |||
178 | meta-mingw | ||
179 | |||
180 | - Repository Location: :yocto_git:`/meta-mingw` | ||
181 | - Branch: :yocto_git:`scarthgap </meta-mingw/log/?h=scarthgap>` | ||
182 | - Tag: :yocto_git:`yocto-5.0.10 </meta-mingw/log/?h=yocto-5.0.10>` | ||
183 | - Git Revision: :yocto_git:`bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f </meta-mingw/commit/?id=bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f>` | ||
184 | - Release Artefact: meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f | ||
185 | - sha: ab073def6487f237ac125d239b3739bf02415270959546b6b287778664f0ae65 | ||
186 | - Download Locations: | ||
187 | https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.10/meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f.tar.bz2 | ||
188 | https://mirrors.kernel.org/yocto/yocto/yocto-5.0.10/meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f.tar.bz2 | ||
189 | |||
190 | bitbake | ||
191 | |||
192 | - Repository Location: :oe_git:`/bitbake` | ||
193 | - Branch: :oe_git:`2.8 </bitbake/log/?h=2.8>` | ||
194 | - Tag: :oe_git:`yocto-5.0.10 </bitbake/log/?h=yocto-5.0.10>` | ||
195 | - Git Revision: :oe_git:`696c2c1ef095f8b11c7d2eff36fae50f58c62e5e </bitbake/commit/?id=696c2c1ef095f8b11c7d2eff36fae50f58c62e5e>` | ||
196 | - Release Artefact: bitbake-696c2c1ef095f8b11c7d2eff36fae50f58c62e5e | ||
197 | - sha: fc83f879cd6dd14b9b7eba0161fec23ecc191fed0fb00556ba729dceef6c145f | ||
198 | - Download Locations: | ||
199 | https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.10/bitbake-696c2c1ef095f8b11c7d2eff36fae50f58c62e5e.tar.bz2 | ||
200 | https://mirrors.kernel.org/yocto/yocto/yocto-5.0.10/bitbake-696c2c1ef095f8b11c7d2eff36fae50f58c62e5e.tar.bz2 | ||
201 | |||
202 | yocto-docs | ||
203 | |||
204 | - Repository Location: :yocto_git:`/yocto-docs` | ||
205 | - Branch: :yocto_git:`scarthgap </yocto-docs/log/?h=scarthgap>` | ||
206 | - Tag: :yocto_git:`yocto-5.0.10 </yocto-docs/log/?h=yocto-5.0.10>` | ||
207 | - Git Revision: :yocto_git:`3996388e337377bedc113d072a51fe9d68dd40c6 </yocto-docs/commit/?id=3996388e337377bedc113d072a51fe9d68dd40c6>` | ||
208 | |||
diff --git a/documentation/migration-guides/release-notes-5.1.rst b/documentation/migration-guides/release-notes-5.1.rst index 267934a71e..bab0c14581 100644 --- a/documentation/migration-guides/release-notes-5.1.rst +++ b/documentation/migration-guides/release-notes-5.1.rst | |||
@@ -377,7 +377,7 @@ New Features / Enhancements in 5.1 | |||
377 | :term:`SIGGEN_EXCLUDERECIPES_ABISAFE` and does not trigger a rebuild on a | 377 | :term:`SIGGEN_EXCLUDERECIPES_ABISAFE` and does not trigger a rebuild on a |
378 | change for dependent tasks. | 378 | change for dependent tasks. |
379 | 379 | ||
380 | - In :ref:`ref-classes-kernel-fitimage`, the existence of | 380 | - In ``kernel-fitimage``, the existence of |
381 | :term:`EXTERNAL_KERNEL_DEVICETREE` is checked more thoroughly to avoid | 381 | :term:`EXTERNAL_KERNEL_DEVICETREE` is checked more thoroughly to avoid |
382 | false positives. | 382 | false positives. |
383 | 383 | ||
diff --git a/documentation/migration-guides/release-notes-5.2.rst b/documentation/migration-guides/release-notes-5.2.rst index aad5a2eda0..5fc426c050 100644 --- a/documentation/migration-guides/release-notes-5.2.rst +++ b/documentation/migration-guides/release-notes-5.2.rst | |||
@@ -29,7 +29,7 @@ New Features / Enhancements in |yocto-ver| | |||
29 | ``RuntimeWatchdogSec`` option in ``/etc/systemd/system.conf``. | 29 | ``RuntimeWatchdogSec`` option in ``/etc/systemd/system.conf``. |
30 | 30 | ||
31 | - :term:`FIT_UBOOT_ENV` to allow including a u-boot script as a text in a | 31 | - :term:`FIT_UBOOT_ENV` to allow including a u-boot script as a text in a |
32 | fit image. See the :ref:`ref-classes-kernel-fitimage` for more information. | 32 | fit image. See the ``kernel-fitimage`` for more information. |
33 | 33 | ||
34 | - :ref:`ref-classes-meson`: :term:`MESON_INSTALL_TAGS` to allow passing | 34 | - :ref:`ref-classes-meson`: :term:`MESON_INSTALL_TAGS` to allow passing |
35 | install tags (``--tags``) to the ``meson install`` command during the | 35 | install tags (``--tags``) to the ``meson install`` command during the |
@@ -684,7 +684,7 @@ New Features / Enhancements in |yocto-ver| | |||
684 | command-line tool was added to the different Yocto Project and OpenEmbedded | 684 | command-line tool was added to the different Yocto Project and OpenEmbedded |
685 | repositories. | 685 | repositories. |
686 | 686 | ||
687 | - :ref:`ref-classes-kernel-fitimage`: handle :doc:`multiconfig | 687 | - ``kernel-fitimage``: handle :doc:`multiconfig |
688 | </dev-manual/multiconfig>` dependency when | 688 | </dev-manual/multiconfig>` dependency when |
689 | :term:`INITRAMFS_MULTICONFIG` is set. | 689 | :term:`INITRAMFS_MULTICONFIG` is set. |
690 | 690 | ||
diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst index 85dea9fe05..b34de4d361 100644 --- a/documentation/overview-manual/concepts.rst +++ b/documentation/overview-manual/concepts.rst | |||
@@ -98,7 +98,7 @@ files, and how to package the compiled output. | |||
98 | 98 | ||
99 | The term "package" is sometimes used to refer to recipes. However, since | 99 | The term "package" is sometimes used to refer to recipes. However, since |
100 | the word "package" is used for the packaged output from the OpenEmbedded | 100 | the word "package" is used for the packaged output from the OpenEmbedded |
101 | build system (i.e. ``.ipk`` or ``.deb`` files), this document avoids | 101 | build system (i.e. ``.ipk``, ``.deb`` or ``.rpm`` files), this document avoids |
102 | using the term "package" when referring to recipes. | 102 | using the term "package" when referring to recipes. |
103 | 103 | ||
104 | Classes | 104 | Classes |
@@ -256,7 +256,7 @@ development environment. | |||
256 | .. note:: | 256 | .. note:: |
257 | 257 | ||
258 | The | 258 | The |
259 | scripts/oe-setup-builddir | 259 | ``scripts/oe-setup-builddir`` |
260 | script uses the | 260 | script uses the |
261 | ``$TEMPLATECONF`` | 261 | ``$TEMPLATECONF`` |
262 | variable to determine which sample configuration files to locate. | 262 | variable to determine which sample configuration files to locate. |
@@ -352,7 +352,7 @@ layers the build system uses to further control the build. These layers | |||
352 | provide Metadata for the software, machine, and policies. | 352 | provide Metadata for the software, machine, and policies. |
353 | 353 | ||
354 | In general, there are three types of layer input. You can see them below | 354 | In general, there are three types of layer input. You can see them below |
355 | the "User Configuration" box in the `general workflow | 355 | the "User Configuration" box in the :ref:`general workflow |
356 | figure <overview-manual/concepts:openembedded build system concepts>`: | 356 | figure <overview-manual/concepts:openembedded build system concepts>`: |
357 | 357 | ||
358 | - *Metadata (.bb + Patches):* Software layers containing | 358 | - *Metadata (.bb + Patches):* Software layers containing |
@@ -420,14 +420,14 @@ build. | |||
420 | Distro Layer | 420 | Distro Layer |
421 | ~~~~~~~~~~~~ | 421 | ~~~~~~~~~~~~ |
422 | 422 | ||
423 | The distribution layer provides policy configurations for your | 423 | A distribution layer provides policy configurations for your |
424 | distribution. Best practices dictate that you isolate these types of | 424 | distribution. Best practices dictate that you isolate these types of |
425 | configurations into their own layer. Settings you provide in | 425 | configurations into their own layer. Settings you provide in |
426 | ``conf/distro/distro.conf`` override similar settings that BitBake finds | 426 | ``conf/distro/distro.conf`` override similar settings that BitBake finds |
427 | in your ``conf/local.conf`` file in the :term:`Build Directory`. | 427 | in your ``conf/local.conf`` file in the :term:`Build Directory`. |
428 | 428 | ||
429 | The following list provides some explanation and references for what you | 429 | The following list provides some explanation and references for what you |
430 | typically find in the distribution layer: | 430 | typically find in a distribution layer: |
431 | 431 | ||
432 | - *classes:* Class files (``.bbclass``) hold common functionality that | 432 | - *classes:* Class files (``.bbclass``) hold common functionality that |
433 | can be shared among recipes in the distribution. When your recipes | 433 | can be shared among recipes in the distribution. When your recipes |
@@ -454,7 +454,7 @@ typically find in the distribution layer: | |||
454 | BSP Layer | 454 | BSP Layer |
455 | ~~~~~~~~~ | 455 | ~~~~~~~~~ |
456 | 456 | ||
457 | The BSP Layer provides machine configurations that target specific | 457 | A BSP layer provides machine configurations that target specific |
458 | hardware. Everything in this layer is specific to the machine for which | 458 | hardware. Everything in this layer is specific to the machine for which |
459 | you are building the image or the SDK. A common structure or form is | 459 | you are building the image or the SDK. A common structure or form is |
460 | defined for BSP layers. You can learn more about this structure in the | 460 | defined for BSP layers. You can learn more about this structure in the |
@@ -465,7 +465,7 @@ defined for BSP layers. You can learn more about this structure in the | |||
465 | In order for a BSP layer to be considered compliant with the Yocto | 465 | In order for a BSP layer to be considered compliant with the Yocto |
466 | Project, it must meet some structural requirements. | 466 | Project, it must meet some structural requirements. |
467 | 467 | ||
468 | The BSP Layer's configuration directory contains configuration files for | 468 | A BSP layer's configuration directory contains configuration files for |
469 | the machine (``conf/machine/machine.conf``) and, of course, the layer | 469 | the machine (``conf/machine/machine.conf``) and, of course, the layer |
470 | (``conf/layer.conf``). | 470 | (``conf/layer.conf``). |
471 | 471 | ||
@@ -477,18 +477,18 @@ formfactors, graphics support systems, and so forth. | |||
477 | .. note:: | 477 | .. note:: |
478 | 478 | ||
479 | While the figure shows several | 479 | While the figure shows several |
480 | recipes-\* | 480 | ``recipes-*`` |
481 | directories, not all these directories appear in all BSP layers. | 481 | directories, not all these directories appear in all BSP layers. |
482 | 482 | ||
483 | Software Layer | 483 | Software Layer |
484 | ~~~~~~~~~~~~~~ | 484 | ~~~~~~~~~~~~~~ |
485 | 485 | ||
486 | The software layer provides the Metadata for additional software | 486 | A software layer provides the Metadata for additional software |
487 | packages used during the build. This layer does not include Metadata | 487 | packages used during the build. This layer does not include Metadata |
488 | that is specific to the distribution or the machine, which are found in | 488 | that is specific to the distribution or the machine, which are found in |
489 | their respective layers. | 489 | their respective layers. |
490 | 490 | ||
491 | This layer contains any recipes, append files, and patches, that your | 491 | This layer contains any recipes, append files, and patches that your |
492 | project needs. | 492 | project needs. |
493 | 493 | ||
494 | Sources | 494 | Sources |
@@ -560,9 +560,8 @@ source tree used by the group). | |||
560 | 560 | ||
561 | The canonical method through which to include a local project is to use the | 561 | The canonical method through which to include a local project is to use the |
562 | :ref:`ref-classes-externalsrc` class to include that local project. You use | 562 | :ref:`ref-classes-externalsrc` class to include that local project. You use |
563 | either the ``local.conf`` or a recipe's append file to override or set the | 563 | either ``local.conf`` or a recipe's append file to override or set the |
564 | recipe to point to the local directory on your disk to pull in the whole | 564 | recipe to point to the local directory from which to fetch the source. |
565 | source tree. | ||
566 | 565 | ||
567 | Source Control Managers (Optional) | 566 | Source Control Managers (Optional) |
568 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 567 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
@@ -705,7 +704,7 @@ the Yocto Project Reference Manual. | |||
705 | 704 | ||
706 | Each recipe has an area in the :term:`Build Directory` where the unpacked | 705 | Each recipe has an area in the :term:`Build Directory` where the unpacked |
707 | source code resides. The :term:`UNPACKDIR` variable points to this area for a | 706 | source code resides. The :term:`UNPACKDIR` variable points to this area for a |
708 | recipe's unpacked source code, and has the default ``sources-unpack`` name. The | 707 | recipe's unpacked source code, and has the default ``sources`` name. The |
709 | preceding figure and the following list describe the :term:`Build Directory`'s | 708 | preceding figure and the following list describe the :term:`Build Directory`'s |
710 | hierarchy: | 709 | hierarchy: |
711 | 710 | ||
@@ -2369,8 +2368,6 @@ The contents of ``libhello_0.1.bb`` are:: | |||
2369 | # Change <username> accordingly | 2368 | # Change <username> accordingly |
2370 | SRC_URI = "git://github.com/<username>/libhello;branch=main;protocol=https" | 2369 | SRC_URI = "git://github.com/<username>/libhello;branch=main;protocol=https" |
2371 | 2370 | ||
2372 | S = "${WORKDIR}/git" | ||
2373 | |||
2374 | do_install(){ | 2371 | do_install(){ |
2375 | install -d ${D}${includedir} | 2372 | install -d ${D}${includedir} |
2376 | install -d ${D}${libdir} | 2373 | install -d ${D}${libdir} |
@@ -2395,8 +2392,6 @@ The contents of ``sayhello_0.1.bb`` are:: | |||
2395 | DEPENDS += "libhello" | 2392 | DEPENDS += "libhello" |
2396 | RDEPENDS:${PN} += "libhello" | 2393 | RDEPENDS:${PN} += "libhello" |
2397 | 2394 | ||
2398 | S = "${WORKDIR}/git" | ||
2399 | |||
2400 | do_install(){ | 2395 | do_install(){ |
2401 | install -d ${D}/usr/bin | 2396 | install -d ${D}/usr/bin |
2402 | install -m 0700 sayhello ${D}/usr/bin | 2397 | install -m 0700 sayhello ${D}/usr/bin |
diff --git a/documentation/overview-manual/development-environment.rst b/documentation/overview-manual/development-environment.rst index d79173ff55..066d784314 100644 --- a/documentation/overview-manual/development-environment.rst +++ b/documentation/overview-manual/development-environment.rst | |||
@@ -240,7 +240,7 @@ and so forth. | |||
240 | 240 | ||
241 | For information on finding out who is responsible for (maintains) a | 241 | For information on finding out who is responsible for (maintains) a |
242 | particular area of code in the Yocto Project, see the | 242 | particular area of code in the Yocto Project, see the |
243 | ":doc:`../contributor-guide/identify-component`" | 243 | ":doc:`/contributor-guide/identify-component`" |
244 | section of the Yocto Project and OpenEmbedded Contributor Guide. | 244 | section of the Yocto Project and OpenEmbedded Contributor Guide. |
245 | 245 | ||
246 | The Yocto Project ``poky`` Git repository also has an upstream | 246 | The Yocto Project ``poky`` Git repository also has an upstream |
@@ -272,7 +272,7 @@ push them into the "contrib" area and subsequently request that the | |||
272 | maintainer include them into an upstream branch. This process is called | 272 | maintainer include them into an upstream branch. This process is called |
273 | "submitting a patch" or "submitting a change." For information on | 273 | "submitting a patch" or "submitting a change." For information on |
274 | submitting patches and changes, see the | 274 | submitting patches and changes, see the |
275 | ":doc:`../contributor-guide/submit-changes`" section in the Yocto Project | 275 | ":doc:`/contributor-guide/submit-changes`" section in the Yocto Project |
276 | and OpenEmbedded Contributor Guide. | 276 | and OpenEmbedded Contributor Guide. |
277 | 277 | ||
278 | In summary, there is a single point of entry for changes into the | 278 | In summary, there is a single point of entry for changes into the |
@@ -347,7 +347,7 @@ Book <https://book.git-scm.com>`__. | |||
347 | this type of change, you format the patch and then send the email | 347 | this type of change, you format the patch and then send the email |
348 | using the Git commands ``git format-patch`` and ``git send-email``. | 348 | using the Git commands ``git format-patch`` and ``git send-email``. |
349 | For information on how to use these scripts, see the | 349 | For information on how to use these scripts, see the |
350 | ":doc:`../contributor-guide/submit-changes`" section in the Yocto Project | 350 | ":doc:`/contributor-guide/submit-changes`" section in the Yocto Project |
351 | and OpenEmbedded Contributor Guide. | 351 | and OpenEmbedded Contributor Guide. |
352 | 352 | ||
353 | Git | 353 | Git |
diff --git a/documentation/overview-manual/svg/analysis-for-package-splitting.svg b/documentation/overview-manual/svg/analysis-for-package-splitting.svg index 3ea4280882..16e831d65d 100644 --- a/documentation/overview-manual/svg/analysis-for-package-splitting.svg +++ b/documentation/overview-manual/svg/analysis-for-package-splitting.svg | |||
@@ -1483,12 +1483,12 @@ | |||
1483 | x="291.66635" | 1483 | x="291.66635" |
1484 | y="381.29614" | 1484 | y="381.29614" |
1485 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1485 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1486 | id="tspan15"> sources-unpack <─────────────────────── UNPACKDIR</tspan><tspan | 1486 | id="tspan15"> sources <────────────────────────────── UNPACKDIR</tspan><tspan |
1487 | sodipodi:role="line" | 1487 | sodipodi:role="line" |
1488 | x="291.66635" | 1488 | x="291.66635" |
1489 | y="394.62952" | 1489 | y="394.62952" |
1490 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1490 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1491 | id="tspan29"> ${BP} <──────────────────────────────── S / B</tspan><tspan | 1491 | id="tspan29"> ${BP} <────────────────────────────── S / B</tspan><tspan |
1492 | sodipodi:role="line" | 1492 | sodipodi:role="line" |
1493 | x="291.66635" | 1493 | x="291.66635" |
1494 | y="407.96289" | 1494 | y="407.96289" |
@@ -1543,12 +1543,12 @@ | |||
1543 | x="291.66635" | 1543 | x="291.66635" |
1544 | y="541.29663" | 1544 | y="541.29663" |
1545 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1545 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1546 | id="tspan32"> sources-unpack <─────────────────────── UNPACKDIR</tspan><tspan | 1546 | id="tspan32"> sources <────────────────────────────── UNPACKDIR</tspan><tspan |
1547 | sodipodi:role="line" | 1547 | sodipodi:role="line" |
1548 | x="291.66635" | 1548 | x="291.66635" |
1549 | y="554.63" | 1549 | y="554.63" |
1550 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1550 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1551 | id="tspan33"> ${BP} <──────────────────────────────── S / B</tspan><tspan | 1551 | id="tspan33"> ${BP} <────────────────────────────── S / B</tspan><tspan |
1552 | sodipodi:role="line" | 1552 | sodipodi:role="line" |
1553 | x="291.66635" | 1553 | x="291.66635" |
1554 | y="567.96338" | 1554 | y="567.96338" |
diff --git a/documentation/overview-manual/svg/bitbake_tasks_map.svg b/documentation/overview-manual/svg/bitbake_tasks_map.svg index 09ef36faae..1ba962ccc6 100644 --- a/documentation/overview-manual/svg/bitbake_tasks_map.svg +++ b/documentation/overview-manual/svg/bitbake_tasks_map.svg | |||
@@ -1,4 +1,4 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- Do not edit this file with editors other than draw.io --> | 2 | <!-- Do not edit this file with editors other than draw.io --> |
3 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | 3 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> |
4 | <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="12270px" height="3804px" viewBox="-0.5 -0.5 12270 3804" content="<mxfile host="app.diagrams.net" modified="2023-11-01T08:31:56.536Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" etag="p-CQVME_iMteI52En1Eq" version="22.0.8" type="device"><diagram name="Page-1" id="c7558073-3199-34d8-9f00-42111426c3f3">7V1bc6M6tv41rprzYAohro9JnO7O2X1JJZk9Z89LCtvEZtox3oA7nfn1R1yEQcjmLmRHPVV7YowxRp++dV9rAm9ef3/27d36m7d0NhNFXv6ewNlEUaCl6uj/oiPvyRFFM2FyZOW7y+QYOBx4dP/rpAfl9OjeXTpB4cTQ8zahuyseXHjbrbMIC8ds3/feiqe9eJvit+7slVM68LiwN+Wj/3KX4To5air64fgXx12t8TcD3UremduLnyvf22/T79t6Wyd559XGl0l/Y7C2l95b7hC8ncAb3/PC5K/X3zfOJnqu+Ikln/t05N3sln1nG9b5gPOn9ja72cPZi/UlfHp//N+7+WoKLTO5zi97s08fRnq74Tt+OvHvc6LLgAm8flu7ofO4sxfRu28IEOjYOnzdpG+/uJvNjbfxfPQ6fhrwemkH6+zjL942/GS/upsIK1/duePboett0Tc+2tsgPeHR2/vx9ddhiCCgaPAK/Qf9tOg/0QmBtPK81caxd24gLbzX+I1FEJ/66SW5PPqz8AWacp1+RfnRpU/zl+OHzu/cofRRfna8Vyf00TVl/K6lpuuaYt7Er98OAFLM9Ng6Dx4tPWinoF1lFz+sHvojXcAmi4l3XW7tnCUCevrS88O1t/K29ub2cPT6cPSr5+3SVfqPE4bv6T6196FXXGP02Pz3/0MvZMnQ8Ou/8m/OosckZ6/es1fLq2i7opeLjR0E7uJp7W6TNz65G3z9AmAWe//XeaAnwN97fIHSpQ9tf+WEJ89Mt2G0fifx6DsbdIe/ikRGg1b8UfT07ffcCTvPRY8jd+X76EAO5oZqFGBu6QTLVH1AT6nyAOzkHg4wz35Me+SrssEI+b/dMA989PKv3FsH2Ecv3vN7IPlUo91SQH4Q+t7PTDpBgmknClzKC8dRsjNz78jxv4+0e7BUG3v3mFZRSABACmniE4psnv7EMPsne7RCDWioBphytRqAl7CgBijqUGoAwoxYzDaLCWuspWIwXUugKsOv5SpSxVKZc4nrip6ijiRvfmmhVXNpARhsaXUGS3uJy5nR6SnKVdluUxmUlq5a/ywubidttLsyelA/K023FFsHm+38dUusMFaqlpbVt2bZzeSHJiPDpyVsihj/ICABUObC/jBBUephAjxmfUyx5kg/fyDbQ1UFhLmDMFThWUIYyOrJDwzlfyqrbgLDY2NYxVrZuWFYHZiH9+EP7fr+38Gnuf63/Cd0vb9n0ykQEOYQwup5ahLoE+xZmBrL1Ddhigb0ztIO7Wn09zTwF/EZ+t/7KAB7nSAkwgdCxxFsxMjIcAFnV/4iMsgX0YO7RkhHhqbjHy6J/lpF/x++7vBtpJfG75Q2XGNzH+/OdJvlPTlZvJl766y+6W+Q3nGzbPrTvDgDGv5tWLO74X/ZxrhV186Se2fHTmjAN84ZAb15/s9hGIgDmDVhwQEYKKOb8RhIZ6S3tXI2nuapS9LpMjKqQVsaV7QFNG0UISa81yNAr3e3Tl3o0Y1Ozn1/GUZzCD3glY7RQtpOIQBXM/3to4BRhSpfPIjvnDP9Dd/D/HBAnRjX3/759enu29XNl+enq4fPt0/PPx4nxiyn6M3JCwjlr6PyB4vKn0qLPLPV/nB6ghDd58qWsLbo7j2psSNbQi7ZcuPO1+j2PUF6/ZAeVHQJOzZS3tOUsY1eHCBh7XYTFHbCnK1BYXxlz2R3zhmFBfa7oLAeKcwyinrb+PyF6wfPjr8u2W6tnd6l633TWKugLMQZxLjUyjwdlDVPnj5MTDYzhwTSzxHp2nkiHRB1V4ygfl6k3sKG/zC4NziL0Fht6lvPys3zcaDFR1JiU0rV9REoVTHalDcI7YEPqCt67/EdJlCfamNoDzKf2YuyBKa+LDwRfTlTie4Y8sieCCifldLKA2S6UGftzEZD4YI6gSwXE7+ruNPST54/UAnZeYUDPgqIFU6KFxqDGEB1BA0AtqrAESgeHMW9B60YoVjDgGKKYv2sHL4fBcVQ46QlVmMU68YoKD4rx8OHQTEnkbfmKDbHcJ9BU6CYRxSbxnmiuNSdkJFnjM+yOuEZGzRHx0yxOVqODq5OONWfTdT6dmVNnFJfo6kSZ6VLbRynPUrTyl7bafAWh2tF6VI7MNIXv3cJ3pGr+KxcQhJiu/HsZSCkZD9SclrqZDp+ATruFHYOuSmXLUprlxLhrsLc0BefpUQrN1QEcw3FXBCOzFzoFsZR6FOFLnuRU81OKHR9TIBooxTyANYurKjXZUVOkp0VIv1INSq8MsT5BoteawCWS6cQXa7382hxJUST9mtEejF37gPH39qvTnY0plDpUOZ0CVya225O/I+2EaEOLbjsiVGBQlKqSkknUiBLToVwnEzlzEgWnMqCU+tWfA6VAkIJExLuQ5lAePKj0k8dQN7YZ15iZ6Ui8jMSPeud6flQSC/ouSd61samZ4BTshvRc8EtKKpK2PGsVlt3xSnuvFj0Wpl/OLHohUHfD78BItPXoBTVa0y5TSvHib/ZPx30XJzLWN2cpHrRov+lX52XYPE/mmzT4389rT1WL9K1z7Jb8o2wcG+/wgimoRZfhWfly2kzCJcHFHaQZXrdQK8KOZNlejm49vXu5vb74+3F0Qob1bhEH5RpfGzpQwFtWuAydFR0bkRak3HEmGGgg9pKNx8zkohmFxasKNEiTtdZ+CPwQ81x6Iv7W9rZ4WJ9cSzKl3JmURRz1uzKPFeqJbtKsqwXGNa0YAOORe/cO76LnprjT/rzMPMA8S6EWjcvQcGoHHvaEcmQ5klCJYfSyBCwYNRyzkTsrt24c2khKHVYSqU4ctlSataDjjMHW+gMNe2KE0wy9LBpxV4RozvYlJGajYuuu6f6SFVLVd667hplW4AH6greA9/zwunSCcKl6wsW64fFshY3J2gMKCx5DMoj56iIrmLHG95U05k1Wh3Q6TvnjM58Z+HunGnKaoLN+mEzC9RgM8A07InbOgs244jNao9EMDirJDP4HIngvtorR5BYPyQGoSzhrkYneAx7mBjR2LgBfEFjJ8ipmsawD5QXGjNZDZYcZxLaKcwVQhIfB4C9t9XuKEcNLuXoPhCOjb6kqCpLSjEHkpYHp0KcBc5Ijo7T84k/HuQBkh2oz6ybLwf6byfVEYF8NqNwt4vNfimMiN6MCE0iGoxalHm4GpQMpvxnnZU7hAfgdCGp2rlyFmf6mclnEGrjzgVB9UNQqmZl1HOCoJjrZ2XDIMvbEamQ/ebtQKUooIAMygAwKd56rNcPsPzlIiVcaCsFnlQeZCAQ0IkEFDI5DxhSubMkNQA9XPKWVdaQCyCQyok2Agb9wkBVasNgMC6waDpIp3XPPfM056lQQmb7i1SD5V73bLC2AFaTPMB9SfIrq2cY6D9XztRbmCEM24P2kZdeSn5P7sP4KANFs8y6MZJWjuSiQ4Losi5rFY1QymVChG8TAPJKya/u3FJFJwqSAGbhujOmyA8Mk3CfLXaOrW8RS72Ha3e7ij4dwRYbb/Njgev5wZ6TX7zNMjIC5XBtR7/PDSIg+k7gxD+XfsHHvx4ffvx4ep7dPTweue6bG/+cOfpeeeHtXLRHI+LzHak/8ZIvFuWuTHnQ6lUyodGkGJV0RWK4zOxW1e+d3PwNSL6tiCqIF1FHpYC6zrYBMr5bMbsmE5pZFbOTQ4YZMXurwWsddTUVFtzEkmVZFdshfkWWF7aJuxUTBBrvIspOPOt9lfVOqlGf2LsTu9W+Ak01JlU1RtlXfLZ1XnrP7jYI7egX1HO1I80gLG5le+OutujvBYJbtBmvI/3BXdibq/SNV3e5TEJLTuD+155vsNWdLi66rnY90WbRtRBRBAlnANrOy5SXY/oX1/uvvmKlGCSsKe1MLYpiRRomPVa8lWfAXLqjjlULGLO41kf8stSiWmM4tw3gM20LUdbC2764q72fGZNz/8BXgsY4oDEcZDRoOGZLW2YJxSLGyKo3gElxB7Btt6LQ4gpckFja70cQGJcEhqPm9H5SVTHz4ehMoU3i4wLP+y0iyp8C0HwDWpHJTty06ZJsLQulss4uXbkD7kAegvIiW6/DQfgS/yucN8rWyEUtcnDHZyV3E/889OUy0Ha/k88QV9Hp8Y16WwstgrsLnGqNxg526PegFy/u70gLIpJBib1BuMFy72i6BowL2jXAqLNraO3rB9w1lV2PxK4xxK4Z0/qjaEuM90ilC0PsEVPskREly5S0MCgeE8Z7ppzbwYmFgT6+iwcYCBODZ0iX8ktlmjubsYlR9gIKQUBcxRKCYExBAGptG7ayAFZ6T8W2AbLYN2NKG7VGpJzxruGzb1QUc/B2+40dOs8NW+EJxYkFlDVAJnNToJyN4GGEZeFlqpYAQEiAMYuezBrbhqkEgBrzEUrN0sk7p8qKFHQFZ23VGPzce1OadqmysKQqVeTKAo3oasIoWRbSrHViP/VaDMo1FBuEqci0UWo9jkqhwkyrGECDsFpwoRizPBKrYXBUsxrepJx0scnunDOrS4xZ7m/MMgSczVlW1LKDTMxZHia3VMFdkU80mGScXKoqpdW/1Gm4vC3+6GNys2YC3A9yzKk8jcbkinJIRVVr23gaHzbesYzloyZe6QOGysDCU8tpzIH9nhSTiYmNA5MnB1Nw1XKIBK//xa0+oyrC0irX1o+GqyGEeG6GaMZxwZ5Qte5kAohHn48tJbXGnlAdT2pk6wlVaQmswhNazYaqBiTLKtoMHDQnUseZSCCmC5xak9qd6/oP5HREE5+pumJAWZ9OT9Xkb0JZ5mUVPMYPj2lKXR7TVL54DN85ZzwmBkT1yGIWjxOi0PMZhcfEhKi+ua+2oxbPxBm6+3A5dybrxV3RNLg341ErO1l5oNV51MxX0GpPymE0eco6/CtAztIo8XHGQ6gUnU8U4t51U1kCAo79wHEKiH7Q1JHwMtMMDX3k4QNV8rnofSu6juf2wlxS40OZ65iuSmTaA1WVKLqslfQm7u0QbZRtfCeKHB0tzjT4EHqEUVuPMBjpEWhPEUlPMhGtqTvFAOgVF+ppiEH5jtOCqGM3VvqArlV54+Gp8wfyxevVzSQqS0jUUgnJONLvEX1x/F1y/j11Ylz/68fDH7O7h4mB3vyUJC8ePluvoAXtiK/23NlMBqsY20SXRyy9dHxMikvnxd7H9xcgkexuV08xcSuHA1+dl5BrljotwEpiOKqt2m7RUqePapLG64+LZ2SCG2Qf+uRVR5LSiU94Ly+BM4xRgzPcOVMn8ba5ZE2yurosjSg2UTuJlJi0MjD9Tek1QA+6KTQhOQKT1sOL5kYfbOqZgoPKnIF5JmDMLYxBCcY0I0vRaX7UAYHMpwf/UQCZVyADrdpVwBzFfA7pqK15CxQzR7ECJQ7ZmE+Xq2BjbnE8zRLheIIxn310ngSMeYWxCrhUjit76IwVAVu6vgAzt2AmRttZBiWay3JIu2LwORHK3S42e4RNAWZ+wQx1naRmGp5pw1QGxDOf+dMPtzd397fP6XRrgWleMW2ZUDKL00QNSsYNALoEWLqVoQZK6OCq/Vgh56FmYkGxNJ0D+B4FUHWWgZmeWV0wh+HES6a2yWfAQngWuCVJAEuzcwy1HHdjbZOZfAYshKuXYyCTEQseYMxnxGImYMwtjDVYjiDzgGQ+YxYir4d3PMtEAyONMkGJbVaPyaebLOr/7zvRw372nYW7E1MAuGxdYahEhiatnblCK6IYbgoALpoT7Zp6a9ek6kXPEeKxekOyBmzXpFg0dbLT+n6MdjMmIYNorWayzGVGrWYstbR0XBU+fUC/n5UGgmtUKXPWXNtiNdCCv8r4DwlAKHPmeLb4zKEQLUJ6Kx42DS47hFhGC+YTHUL4o76643qg3HuTyo4IrJxdO2bWjaC/nuhPjzp5FOjPolgRzNt34JYiotMbN1yWKWc1uIyvTm/ZnXPGZRt3LnisHx6zTKuU6EfhMcZqXCbUc8CL3Zdo5aX1ZSwyNwMHTK0oxw6dz8bK9IRy2YGNG0BJgSeV8+UEAjqRAJEqgRBAG2ZP7749HAeUvdsFEEjlprYCBv3CQFVqw2A4LqBlGgwZ5LD9RaroypygpI+1JcOUNJIH0CivrK4MN29ErrSV24z5HqnOcO0G0UPaBN4k7vUT2u42OuKF6+h8OZoyGL1+8aNvwYd1+zXC53Ye7Ca5Ced+lgbg7JAx5GwXrhNI6GOztHES+pW5d6Iv9pMnQl5gbgdRiD8CmJy9S32y5d+Ez9/jA6vFIqd578nzJoWB6jd9fCNakh16cD6i/qD+V8v2dtnt22udj26qwfM427SNlCWLLFukyUsME2takTN12qB6WszfGEwnAnwa5Gnt0/Ps9vFJpN9xnH6nk6mktAKoQ8oKGw2PotAxjNngv2N/ZRTSqhe0meTdnJXTPcXYMYhn2VV6QQHOrOLFC6qMOnWgiE9D4HN8fOp84RNU5uIvsuU6SG74soj+Vxbmn91wvb9sB3u1DEfvKFBVtZ7yR6cqIMvqoFV2reAyt7zczfKJBwAOn1k6S+/5xQkX67Ite8Y21AWmvkf1bGQOkCpTUM0y+R2C6r7fydodgAcK3iM6WSYa+eheptMejWrfWHKV/AiNxg4KtAjuLnCq2d4Oduj3oBcv7u9IQhA6UW0i1nQNGJe0b6KusDX2DWS6bxQhDIQw6FkYaGMLA0UIg0phoAlhwJswoOwbtsIA8tk4BgmDhbd9cVd73xECgW9gA6AW0wkshZJLANjCWhHioNI2UIQ8GHXbgOptw1gY8Nm1JhYGcXKAEAW8Y1onMK3R8gtpofQBUV3pNReyIOqDKWTBiPsG1tk3bKWBymcKCpIG+y1C2E8hDPgGtULoNzTPJ1tJoFYau0ISCKNgVEFgVu8ZxlKgTZ0pw8rSC2oDAnHqfnX9qMpXZooKTYESDlHSe35d/NGmg8eBrBIZMcrpOeIWME6dPxlkjrgKBdPxh2G1/xw8NhgGwDj5gWFAnD1Yzoy2KJhz0YmGDCv5DxV9KbIUysAeWlPDPqr49+EP7fr+38Gnuf63/Cd0vb9n0ynOKGHHnHnerJpqkvVsmuTzq0+nVxe4ts1YFB5w2YWftTI/05eeDxXDJPzO+AccY2fyfLxfjmokOKBIP38oMi8P2tx4C3sjJXR6CbzJvMEvpZ0dpHX4Vcv82UcHBPom4rwlbIENaxLg+dSJ1mBDSntO+kIqfbNhR+dNOdVzPt/Y744fCA7ptZcSjUOoOS/DtVHRKuM17b3COd/ykfL9/Kivqpr9ZdLaIGpmsHK2aFWTpgVh1E+h+psmiC6NbACIMYvNlejQ9f139HKavLj/M36rWcn+IZR0t6Xdy8oNj/ykZHJD9IsWa3uLdj9arbDTbyp+Vy8dBxrtbu4IvNiHoA9DStFK+1ijzaWGB5WhULClDbeXFS7N+GhUiX0yR9/FB/7x3YvXB53tBP+TQ6h7fNOJ+C1XsSgyr9OkZCtTZdxw7QK1SveWiOCKVB6u0jppzdLZhnA1kQBXuWlUsWnGnK2F53DjpnW02VqMNw23VZLuNgjt6BcI9YlnTAMIVNK6ADIlVMM2B04ThZLV2dBCGoy6c5ClUb1t2IoDXSmvsxi3MK5bXqs9Okbna3RMduecKRdRVr29EqNj+vIv6oQDxaA4F2kjkAf0n1hcAu/+j8+zi0bdWfcSBboFJZzjg6FMGU0Pdcmghc0H6ydqsoqbZ1PfjO5j36rSlQrBdtGuMZPd1VIe106MnSqq48lwmTejKleUTEciPzFQfhF+tDlpcBVbeLvo93qRPUdvWl8MW85ykVaqNyI73/kdzaZzt6vjp+eu/Sl4D3zPC6feNgIXzSLrJBuO+B+4C3wOO/BcB4akF91vtDHZyAajTrgbUFnRK/3W4wVBC4qycMFx6kjQDKS4qAS1UlzLbF1wejmtU7jgSBecaFY27s5RoYRLP/kJypjlgXDCCze2fl57dn3/+nlHHuYzxJcqF8E02G0KOYCX5xZh6Ywz5WpnHHXi3YAKbmUsbjRv3O3j00Uj77wdchaRY0TzxukUKA/nijOMUSRz5phr4pf7EFLZqiuVDciZVOYzRBHY7/FE2otmRabyWDGJQSkmZUYZ2/CYIaL83DEZ5qcaTMbZODF855wx2T7wBYn1RWLQJKuJLcq8ZRXSBi0OyGNtAqMjaWOC+6oZrbLwGAwT+qwRqZShQY4NT+42/SQB5T7Clkal/3wUXp0j/Ale7YtXoQSUIq8atJa4GqRGJYejVjy5jwK+YGdvOwU9PnmbpePHRcS+Y4cIINGv8qNiYjv+7853AidGuEutT8YHsmrh+6ubP64+3zYpzv5l+24cXYzHul+74bX9M/run1vvLbq1t7Ud3UAyd/0tvb24zHm3jyueEQ+vohP3QRzoRwecWvf66e5rhxt1ftuvu036hOt+WXRyXCz+vVGxuIy2Q1zr/ebGiFl5k4aV3g2/sJiG8RLDJH76blSLK7vBkIjIjiX4FrXltRhMkzUJFtsY0mrLoQKoBAZUMzs+AInxKUFFZsXZxIcNtSSgOcisMCsjeiKzIpoFLDIrRtw5AJKCgYPMCrxPheeTH+vfNMrW/5Ezrb7N/448zGdge+nsNt779KiSnLWm2f1c5Qix1LGmDXEKk79iWoiscJefYbXpaytIcVhSrB3YtjgLB+E754wUKWwYeygSP8Hz1cPNl6KvQlDf0NRHbbTFmPqqG221tkAQLcU+zthbOq/nHPR3r0F9l9VNrWsunXmDa8qeX+uq7u5n7atKZT/H09oJ8g5f75e7jB3B8/fyydV3k/pTntHz6/vx4Uujx9jgKSZ+4/pXR4+zwdVjwRe7Zn0nNkARrUdb/Sb2R9eDGma+m69Xj4+NPNIvMUTC1EGeoeCwXgu0QxL/fVRcN+i9pK7peHvZu50TM3Dphmo6re++f7l9uHuq//VtvXfCi0zEwYgOAjQXskprwTio/1gF2iiKcZpfgP+uM8ihbRW2KLzO9OfqGT24e9vIhdeHqSc4ZJw2cTtWd136gCZXFGqrhM+b+MBkmDptqxyuwemoU1kCU1+WqEp7pl5UOzYuQWVn3gceWKpO5LBalNJpBdd5FFy5Cpk206PyXt3jravyHtrBz+jeN0GkQSydSMGIjnuNotDN9ZqbNkpwC/9eo4B8U0tmAENmEDumseo7nD3S3vLp8HD2x3fKW7qVo70y9zZL6l6ptmEKMMqbLHTLcIIHJiS5QVmwvDBGYWu/xu8m+TfRHbbZMS2yVOqBNb30w3CXPuq5qmWbVrY8GZ5cWBhPeYGZlrpxZ08dF969W1qKQkxepvVAgbSpesAYygmnyqOkcfOw8u3NFlWu2y9KlUerfKMPj2rT3KC3KYo5+/ikSYx3YzrDZ/LhZyVSAUdfYL76H2Q3zllAKonSDyP0OEAa61R6aJA2Kst5sUccRuPUJ7UMrPOAmi78VLeAcgA/XkeCOh6EnBd1/tnt/dcffz3P7h6ea+vjx4LagmAaEoyqS7g9Op6GSKnkBorFtlRHlfnssn3Icn9+89H59RErkuJHINgm7mCtKGipeb3Z1EAmib2qXJl1JFLigXHKESNS4gffN0T+E9N8eHo9NXNbvFl4uo2ZXbDTeYBOm3h+LT347kH7z+rd/e/1p6vdf7b6dbiWnWntNiI4esaLFgxoWjDV0S0014aaqwYI01jFzTxGy7xUQXUNW4cCc/8QNgqSsErYIhvz7v6PvmM3D/ff2obpjl90dtsg7CL/o6SIL9bO4mf8xJ1d9FzzekJ2Un64sUhua1IiTXTOgaopYbIr5LfRrEYg4SKjAbYgn+VLByfHRTtHz7s1J5IgZHknpGizJkWmDNadUwV8ekKevt0LMHMMZhMW7TKFAmSmbWZVwGcN1eyrYGUugXyCgXVF0k2W2FWUFj6FHoNek0bR/nbJ9rUcEdyptrWcCp2Da3rfboVjOeqmLKmWnP0jQjOmIammZiBFJfkvoUUnP3mw5n0qHsfDGYOLoMyFBmWQ0lK0Mg2D4uJhG5PBMkbEZE7EZEwRkxlz2wCiNIq2bZiGZMwW2lO3iIzx8UIyHTQhpW63IlXpvVtRu3JBiJU3DPF0LPvRckHyA3qqWw1a/Zc92IK0ECZlQ5OyF04kWxTRhmAz9YcorFiRPgE7swCraq+bUWkbO/I8qZQaqVZrEmnWpIWXSLVS6Z1j2zTm/o/P/3q4e7qd3T00Ci/Wi1jmrt4szlgzeJm7fqN46+C1mEP1hiEN6YY/o1nBarE/DJOSO+78Xv2HdC2rKCGhCSRKSoUKdMmkOF+N0iyJ/sgJKkfJqXPj/q/uwtnG7YXijIGk7/06brvToDV75IPydntE1c7zxl00ALP9ElviNb/DDqOu8Scgf/LrkgZOcwexTNz5P+12hH97sH/Ff5a/I3kkWaOApqW2X+9unuPG/c83X/54/GeThBH3ZZJOIiDvaZOtXSxgtl5Y60HefP3xeDtrT265sz5MX31KzXEPpDNViJk0hkWbFAKVw6imQv2uPFwnDhUe93Z3Jp1UIzqMwUgAvA/i6v+4s1fgoCeL6CSWdwt351B6ks3t5AMxMtAOcf1M95TQX+m3rO0g+xlJ97LWTQXIrMXo4NPVw+fbp+c/b7/PfkSdAaaFwz8em03LEFttoK2m6hrZ9Z/akQyqdPE+lG+QmRnc2qJtEU09bt5+jLpqSBksT199zhK2YTmDd+FtX6ZItXACKfwdXpz7jlG7LdL/BiEllEfrhqgMRTygTYfwEbI4moxk/Oj9HHBqf/XQxdEajNNvh70QbCUD5Ul9GSiwWBeLnMlAfOOcpfkEQYjMoenCXhxcAReZrsmyjKpWgxEgQwk3nGFTSKUed/iNCcHHx6erp1uRL8xlvjCO9KpQskz5aA4lraCDDu8+Qr8nJz5TegJfHIAYmRcmUCXLKqw0kCltAGkzDZVeIhf0lYbM9TqgWnnNbipLsgyr1Lvo1b3ju+hXR8mrTSL5x9U8HtDYXn+DuAVNZSxfGS+Wf9K2GdBxnY0xjqZi2O42Ce/Hilkaws581vJ8725iJ/U+jKdM5wqX807vaEbKYWR1dNIh7pNebVKIUy3d6GNJzGextrdxM103eoXHXafxreQS+OsT7/r+EDVK3g7sV4fSuFf4n/vyP2d9pU4IYuo4DGswB9DxUuHO+2RQbTW/iMkSUvZpMopo6aKtE3q+6xAZOEg38+N9Zy8WvhdkGzXAOySwfyUXiJvFBzGY8QggvKVDJDCOasJiKw0WNdUP4VCs7Jg1d5M6lKqjVHoNOksdDOb3ouDxEIP7eYYvgj7YRykT8UynOq3zX5P2Gv3mVAXLJvlNdedspekPDe5W5Er1Y26Q7S8UnZa2cCxVarg9WOk26a75uXG6Qm772fF9ldC6sd8dPziC8FQzy9Q9JI68fSxS0IUDN9Et39ZOhJON56VZWYlmiR6VHcnT09rah4HzMCIGyERijkqL11F76g9WRVSj9K4ruuP/RFk1CRJf3NU+W+Ai8hNEOkGAnrFrbxKTws8+1ljufLu6+XL3/XYAKTG7e3x6+CFkxPibysJ5rJnSRpEZKk1pG2xLDTptyonZOgiSOTeJVbH23iYnkl5TtwxS5pwp2mThNDY1ps72lwArYwkAcFA603Eo49FUkLX96huw1Poa2tiDo0srVy8t5dkVx0dGJ+VjGkceI+VhH49QQLIWjWK8UWvRhnqqNLXx7J4qWfUcDfij1C/QOkIO9mBp7T/P7sHKxIMFQKY8Vkp69mCPlZaZfX6Plai3MSCFX1mClaZen9tTBWpprCfUqXVMPT1a9NL3Ir0ne+8zehDrb97Sic74fw==</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs><style type="text/css">@import url(https://fonts.googleapis.com/css?family=Liberation+Sans);
</style></defs><g><rect x="9428" y="2640" width="1120" height="600" rx="90" ry="90" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><path d="M 8868 3120.57 Q 8656.57 3120.57 8656.57 1980.33" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 8656.57 1959.33 L 8665.9 1987.33 L 8656.57 1980.33 L 8647.24 1987.33 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 9228 3600 Q 9228 3760.57 9608 3760.57 Q 9988 3760.57 9988 3280.42" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 9988 3253.42 L 10006 3289.42 L 9988 3280.42 L 9970 3289.42 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="8868" y="2640" width="480" height="960" rx="72" ry="72" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><rect x="2868" y="2640" width="1080" height="960" rx="144" ry="144" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><rect x="1082" y="840" width="1080" height="440" rx="66" ry="66" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><rect x="2148" y="2640" width="560" height="960" rx="84" ry="84" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><path d="M 4928 160 L 4928 360" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 4928.57 160 L 4928.57 200.57 Q 4928.57 240.57 4888.57 240.57 L 1662.29 240.57 Q 1622.29 240.57 1622.19 280.57 L 1622.06 334.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1622.01 355.53 L 1608.08 327.49 L 1622.06 334.53 L 1636.08 327.56 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 4928.57 160 L 4928.57 200.57 Q 4928.57 240.57 4968.57 240.57 L 5808.57 240.57 Q 5848.57 240.57 5848.38 280.57 L 5848.12 334.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 5848.02 355.53 L 5834.16 327.46 L 5848.12 334.53 L 5862.16 327.6 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 4928.57 160 L 4928.57 200.57 Q 4928.57 240.57 4968.57 240.57 L 7273.71 240.57 Q 7313.71 240.57 7313.81 280.57 L 7313.94 334.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 7313.99 355.53 L 7299.92 327.56 L 7313.94 334.53 L 7327.92 327.49 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 4928.57 160 L 4928.57 200.57 Q 4928.57 240.57 4888.57 240.57 L 2620 240.57 Q 2580 240.57 2580.01 280.57 L 2580.02 334.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2580.02 355.53 L 2566.01 327.53 L 2580.02 334.53 L 2594.01 327.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="4788" y="0" width="280" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 20px; margin-left: 1198px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">tmp</font></div></div></div></foreignObject><text x="1232" y="24" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">tmp</text></switch></g><path d="M 4928 520 L 4928 1040" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><rect x="4788" y="360" width="280" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 110px; margin-left: 1198px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">work</font></div></div></div></foreignObject><text x="1232" y="114" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">work</text></switch></g><path d="M 4928 1200 L 4928.29 1240.57 Q 4928.57 1280.57 4968.57 1280.57 L 5648.57 1280.57 Q 5688.57 1280.57 5688.57 1320.29 L 5688.57 1360" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 4928 1200 L 4928.29 1240.57 Q 4928.57 1280.57 4888.57 1280.57 L 3156 1280.57 Q 3116 1280.57 3115.98 1320.29 L 3115.96 1360" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 4588 1120 Q 4398.29 1120.57 4398.24 1334.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 4398.24 1355.53 L 4388.91 1327.53 L 4398.24 1334.53 L 4407.58 1327.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="4588" y="1040" width="680" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 280px; margin-left: 1148px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter"><b>${MULTIMACH_TARGET_OS}</b></font></div></div></div></foreignObject><text x="1232" y="284" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">${MULTIMACH_TARGET_OS}</text></switch></g><path d="M 3115.96 1520 L 3116 1680" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><rect x="2975.96" y="1360" width="280" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 360px; margin-left: 745px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">libhello</font></div></div></div></foreignObject><text x="779" y="364" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">libhello</text></switch></g><path d="M 5688.57 1520 L 5688.57 1560.57 Q 5688.57 1600.57 5688.57 1570.29 L 5688.57 1555.14 Q 5688.57 1540 5688.29 1580 L 5688 1620" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><rect x="5548" y="1360" width="280" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 360px; margin-left: 1388px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">sayhello</font></div></div></div></foreignObject><text x="1422" y="364" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">sayhello</text></switch></g><path d="M 3116 1840 L 3116 1960.57 Q 3116 2000.57 3076 2000.57 L 2036 2000.57 Q 1996 2000.57 1996 2040.57 L 1996 2134.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1996 2155.53 L 1986.67 2127.53 L 1996 2134.53 L 2005.33 2127.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 3116 1840 L 3116 1960.57 Q 3116 2000.57 3076 2000.57 L 2468 2000.57 Q 2428 2000.57 2428 2040.57 L 2428 2134.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2428 2155.53 L 2418.67 2127.53 L 2428 2134.53 L 2437.33 2127.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 3116 1840 L 3115.96 2134.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 3115.96 2155.53 L 3101.96 2127.53 L 3115.96 2134.53 L 3129.96 2127.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 3116 1840 L 3116 1960.57 Q 3116 2000.57 3156 2000.57 L 4268 2000.57 Q 4308 2000.57 4308 2040.57 L 4308 2134.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 4308 2155.53 L 4294 2127.53 L 4308 2134.53 L 4322 2127.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 3116 1840 L 3116 1960.57 Q 3116 2000.57 3076 2000.57 L 1508 2000.57 Q 1468 2000.57 1468 2040.57 L 1468 2134.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1468 2155.53 L 1458.67 2127.53 L 1468 2134.53 L 1477.33 2127.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="2976" y="1680" width="280" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 440px; margin-left: 745px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">0.1-r0</font></div></div></div></foreignObject><text x="779" y="444" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">0.1-r0</text></switch></g><path d="M 5688.57 1780 L 5688.57 1960.57 Q 5688.57 2000.57 5648.57 2000.57 L 5568.57 2000.57 Q 5528.57 2000.57 5528.43 2040.57 L 5528.09 2134.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 5528.02 2155.53 L 5514.12 2127.48 L 5528.09 2134.53 L 5542.12 2127.58 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 5688.57 1780 L 5688.57 1960.57 Q 5688.57 2000.57 5728.57 2000.57 L 6988 2000.57 Q 7028 2000.57 7028 2040.57 L 7028 2134.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 7028 2155.53 L 7014 2127.53 L 7028 2134.53 L 7042 2127.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 5688.57 1780 L 5688.57 1960.57 Q 5688.57 2000.57 5728.57 2000.57 L 7676 2000.57 Q 7716 2000.57 7715.99 2040.57 L 7715.97 2134.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 7715.96 2155.53 L 7701.97 2127.52 L 7715.97 2134.53 L 7729.97 2127.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 5688.57 1780 L 5688.57 1960.57 Q 5688.57 2000.57 5728.57 2000.57 L 8313.71 2000.57 Q 8353.71 2000.57 8353.79 2040.57 L 8353.95 2134.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 8353.99 2155.53 L 8339.94 2127.55 L 8353.95 2134.53 L 8367.94 2127.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 5688.57 1780 L 5688.57 1960.57 Q 5688.57 2000.57 5728.57 2000.57 L 9068 2000.57 Q 9108 2000.57 9108 2040.57 L 9108 2134.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 9108 2155.53 L 9094 2127.53 L 9108 2134.53 L 9122 2127.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 5688.57 1780 L 5688.57 1960.57 Q 5688.57 2000.57 5728.57 2000.57 L 9948 2000.57 Q 9988 2000.57 9988 2040.57 L 9988 2134.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 9988 2155.53 L 9974 2127.53 L 9988 2134.53 L 10002 2127.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="5548" y="1620" width="280" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 425px; margin-left: 1388px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">0.1-r0</font></div></div></div></foreignObject><text x="1422" y="429" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">0.1-r0</text></switch></g><path d="M 1622.29 520 L 1622.29 560.57 Q 1622.29 600.57 1622.29 560.57 L 1622.29 540.57 Q 1622.29 520.57 1622.29 560.29 L 1622.29 600" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1762 440 Q 2215.43 440.57 2215.04 205.47" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 2215.01 184.47 L 2224.39 212.46 L 2215.04 205.47 L 2205.72 212.49 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="1482" y="360" width="280" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 110px; margin-left: 371px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">downloads</font></div></div></div></foreignObject><text x="405" y="114" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">downloads</text></switch></g><path d="M 1622 760 L 1622.14 800.57 Q 1622.29 840.57 1622.29 800.57 L 1622.29 780.57 Q 1622.29 760.57 1622.29 800.29 L 1622.29 840" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><rect x="1482" y="600" width="280" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 170px; margin-left: 371px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">git2</font></div></div></div></foreignObject><text x="405" y="174" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">git2</text></switch></g><path d="M 2082 1160 L 2628 1160.53 Q 2668 1160.57 2668 1200.57 L 2668 2200.57 Q 2668 2240.57 2628 2240.41 L 2568.42 2240.16" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2541.42 2240.05 L 2577.49 2222.2 L 2568.42 2240.16 L 2577.34 2258.2 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="1162" y="880" width="920" height="160" rx="24" ry="24" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 228px; height: 1px; padding-top: 240px; margin-left: 291px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">github.com.<username>.sayhello</div></div></div></foreignObject><text x="405" y="244" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">github.com.<username>.sayhello</text></switch></g><path d="M 2082 960 L 6628 960.57 Q 6668 960.57 6668 1000.57 L 6668 2200.57 Q 6668 2240.57 6708 2240.48 L 6887.58 2240.09" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 6914.58 2240.03 L 6878.62 2258.11 L 6887.58 2240.09 L 6878.54 2222.11 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="1162" y="1080" width="920" height="160" rx="24" ry="24" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 228px; height: 1px; padding-top: 290px; margin-left: 291px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">github.com.<username>.libhello</div></div></div></foreignObject><text x="405" y="294" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">github.com.<username>.libhello</text></switch></g><path d="M 2428 2320 Q 2428 2320 2428 2614.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2428 2635.53 L 2414 2607.53 L 2428 2614.53 L 2442 2607.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="2328" y="2160" width="200" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 560px; margin-left: 583px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">git</font></div></div></div></foreignObject><text x="607" y="564" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">git</text></switch></g><rect x="2212" y="2720" width="456" height="80" rx="12" ry="12" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 690px; margin-left: 554px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Makefile</div></div></div></foreignObject><text x="610" y="694" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">Makefile</text></switch></g><path d="M 2212 2880.57 L 2117.14 2880.57 Q 2077.14 2880.57 2077.14 2840.57 L 2077.14 2714.86 Q 2077.14 2674.86 2037.14 2674.9 L 1966.47 2674.97" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 1945.47 2675 L 1973.46 2665.63 L 1966.47 2674.97 L 1973.48 2684.3 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="2212" y="2840" width="456" height="80" rx="12" ry="12" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 720px; margin-left: 554px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">LICENSE</div></div></div></foreignObject><text x="610" y="724" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">LICENSE</text></switch></g><path d="M 2212 3000 Q 2028 3000.57 2028 3060.57 Q 2028 3120.57 2171.58 3120.13" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2198.58 3120.04 L 2162.62 3132.15 L 2171.58 3120.13 L 2162.55 3108.15 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="2212" y="2960" width="456" height="80" rx="12" ry="12" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 750px; margin-left: 554px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">fix.patch</div></div></div></foreignObject><text x="610" y="754" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">fix.patch</text></switch></g><path d="M 2214.74 3151.44 Q 1988 3151.43 1988 3278.29 Q 1988 3405.14 2179.58 3405.02" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2206.58 3405.01 L 2170.6 3423.03 L 2179.58 3405.02 L 2170.57 3387.03 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="2212" y="3080" width="456" height="80" rx="12" ry="12" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 780px; margin-left: 554px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">hellolib.c</div></div></div></foreignObject><text x="610" y="784" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">hellolib.c</text></switch></g><rect x="1896" y="2160" width="200" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 560px; margin-left: 475px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">temp</font></div></div></div></foreignObject><text x="499" y="564" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">temp</text></switch></g><path d="M 4308 2320 L 4308 2640" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><rect x="4068" y="2160" width="480" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 560px; margin-left: 1018px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">sysroot-destdir</font></div></div></div></foreignObject><text x="1077" y="564" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">sysroot-destdir</text></switch></g><path d="M 5528 2320 L 5528 2614.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 5528 2635.53 L 5518.67 2607.53 L 5528 2614.53 L 5537.33 2607.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="5308" y="2160" width="440" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 560px; margin-left: 1328px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">recipe-sysroot</font></div></div></div></foreignObject><text x="1382" y="564" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">recipe-sysroot</text></switch></g><path d="M 3116 2320 L 3116 2694.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 3116 2715.53 L 3106.67 2687.53 L 3116 2694.53 L 3125.33 2687.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="2989.96" y="2160" width="252" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 560px; margin-left: 748px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">image</font></div></div></div></foreignObject><text x="779" y="564" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">image</text></switch></g><path d="M 3116 2880 L 3116 2920.57 Q 3116 2960.57 3115.99 2987.55 L 3115.99 3014.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 3115.98 3035.53 L 3106.65 3007.53 L 3115.99 3014.53 L 3125.32 3007.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 3116 2880 Q 3116 2960.57 3354.86 2960.57 Q 3593.71 2960.57 3593.91 3014.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 3593.98 3035.53 L 3584.55 3007.56 L 3593.91 3014.53 L 3603.22 3007.49 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="3029" y="2720" width="174" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 700px; margin-left: 758px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">usr</font></div></div></div></foreignObject><text x="779" y="704" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">usr</text></switch></g><path d="M 3115.98 3200 L 3116 3294.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 3116 3315.53 L 3106.66 3287.53 L 3116 3294.53 L 3125.33 3287.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="3008.48" y="3040" width="215" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 52px; height: 1px; padding-top: 780px; margin-left: 753px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">include</font></div></div></div></foreignObject><text x="779" y="784" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">include</text></switch></g><path d="M 3593.71 3200 L 3593.71 3240.57 Q 3593.71 3280.57 3593.76 3287.55 L 3593.82 3294.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 3593.97 3315.53 L 3579.77 3287.63 L 3593.82 3294.53 L 3607.76 3287.43 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="3507" y="3040" width="174" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 780px; margin-left: 878px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">lib</font></div></div></div></foreignObject><text x="899" y="784" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">lib</text></switch></g><rect x="2956" y="3320" width="320" height="100" rx="15" ry="15" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 843px; margin-left: 740px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">hellolib.h</div></div></div></foreignObject><text x="779" y="846" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">hellolib.h</text></switch></g><rect x="3348" y="3350" width="480" height="80" rx="12" ry="12" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 848px; margin-left: 838px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">libhello.so.1</div></div></div></foreignObject><text x="897" y="851" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">libhello.so.1</text></switch></g><rect x="3348" y="3450" width="480" height="100" rx="15" ry="15" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 875px; margin-left: 838px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">libhello.so.1.0</div></div></div></foreignObject><text x="897" y="879" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">libhello.so.1.0</text></switch></g><rect x="3320" y="3320" width="548" height="250" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><path d="M 4428 3600 Q 4428 3760.57 4978.29 3760.57 Q 5528.57 3760.57 5528.14 3640.42" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 5528.05 3613.42 L 5546.18 3649.35 L 5528.14 3640.42 L 5510.18 3649.48 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="4068" y="2640" width="480" height="960" rx="72" ry="72" fill="#eeeeee" stroke="#36393d" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 780px; margin-left: 1018px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Everything in <b>image</b> folder that is present in <b>SYSROOT_DIRS</b> will be copied here.</div></div></div></foreignObject><text x="1077" y="784" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">Everything in image...</text></switch></g><path d="M 3678 3600 Q 3678.29 3760.57 3993.14 3760.57 Q 4308 3760.57 4308 3640.42" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 4308 3613.42 L 4326 3649.42 L 4308 3640.42 L 4290 3649.42 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><path d="M 2428 3600 Q 2428 3760.57 2941.14 3760.57 Q 3454.29 3760.57 3454.4 3639.46" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 3454.43 3612.46 L 3472.39 3648.47 L 3454.4 3639.46 L 3436.39 3648.44 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="2748" y="3680" width="360" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 732px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_install</font></div></div></div></foreignObject><text x="732" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_install</text></switch></g><rect x="2220" y="3350" width="456" height="110" rx="16.5" ry="16.5" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 851px; margin-left: 556px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">libhello.so.1.0</div></div></div></foreignObject><text x="612" y="855" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">libhello.so.1.0</text></switch></g><rect x="1668" y="3180" width="440" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 810px; margin-left: 472px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_configure<br /></font></div></div></div></foreignObject><text x="472" y="814" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_configure
</text></switch></g><rect x="2212" y="3200" width="456" height="80" rx="12" ry="12" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 810px; margin-left: 554px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">hellolib.h</div></div></div></foreignObject><text x="610" y="814" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">hellolib.h</text></switch></g><rect x="1788" y="3000" width="320" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 765px; margin-left: 487px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_patch<br /></font></div></div></div></foreignObject><text x="487" y="769" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_patch
</text></switch></g><rect x="2494" y="1620" width="360" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 420px; margin-left: 669px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_unpack<br /></font></div></div></div></foreignObject><text x="669" y="424" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_unpack
</text></switch></g><ellipse cx="2434" cy="1680" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 420px; margin-left: 595px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">6</b></font></div></div></div></foreignObject><text x="609" y="424" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">6</text></switch></g><ellipse cx="1728" cy="3060" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 765px; margin-left: 418px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">7</b></font></div></div></div></foreignObject><text x="432" y="769" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">7</text></switch></g><ellipse cx="1608" cy="3240" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 810px; margin-left: 388px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">8</b></font></div></div></div></foreignObject><text x="402" y="814" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">8</text></switch></g><rect x="1748" y="3310" width="360" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 843px; margin-left: 482px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_compile<br /></font></div></div></div></foreignObject><text x="482" y="846" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_compile
</text></switch></g><ellipse cx="1688" cy="3370" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 843px; margin-left: 408px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">9</b></font></div></div></div></foreignObject><text x="422" y="846" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">9</text></switch></g><ellipse cx="2688" cy="3740" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 658px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">10</b></font></div></div></div></foreignObject><text x="672" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">10</text></switch></g><rect x="3728" y="3680" width="640" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 1012px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_populate_sysroot</font></div></div></div></foreignObject><text x="1012" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_populate_sysroot</text></switch></g><ellipse cx="3668" cy="3740" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 903px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">11</b></font></div></div></div></foreignObject><text x="917" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">11</text></switch></g><path d="M 7028 3280 Q 7028 3760.57 7372 3760.57 Q 7716 3760.57 7715.97 3640.42" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 7715.96 3613.42 L 7733.97 3649.41 L 7715.97 3640.42 L 7697.97 3649.42 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="6748" y="2640" width="560" height="640" rx="84" ry="84" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><path d="M 7028 2320 Q 7028 2320 7028 2614.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 7028 2635.53 L 7014 2607.53 L 7028 2614.53 L 7042 2607.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="6928" y="2160" width="200" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 560px; margin-left: 1733px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">git</font></div></div></div></foreignObject><text x="1757" y="564" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">git</text></switch></g><rect x="6800" y="2720" width="456" height="80" rx="12" ry="12" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 690px; margin-left: 1701px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Makefile</div></div></div></foreignObject><text x="1757" y="694" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">Makefile</text></switch></g><rect x="6800" y="2840" width="456" height="80" rx="12" ry="12" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 720px; margin-left: 1701px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">LICENSE</div></div></div></foreignObject><text x="1757" y="724" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">LICENSE</text></switch></g><path d="M 6800 3000 Q 6588 3000.57 6588 3088 Q 6588 3175.43 6759.58 3175.08" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 6786.58 3175.03 L 6750.62 3193.1 L 6759.58 3175.08 L 6750.55 3157.1 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="6800" y="2960" width="456" height="80" rx="12" ry="12" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 750px; margin-left: 1701px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">sayhello.c</div></div></div></foreignObject><text x="1757" y="754" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">sayhello.c</text></switch></g><rect x="6800" y="3120" width="456" height="110" rx="16.5" ry="16.5" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 794px; margin-left: 1701px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">sayhello</div></div></div></foreignObject><text x="1757" y="797" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">sayhello</text></switch></g><path d="M 7835.96 3600 Q 7828 3760.57 8090.86 3760.57 Q 8353.71 3760.57 8353.94 3640.42" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 8353.99 3613.42 L 8371.93 3649.45 L 8353.94 3640.42 L 8335.93 3649.38 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="7475.96" y="2640" width="480" height="960" rx="72" ry="72" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><path d="M 7715.96 2320 L 7715.96 2614.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 7715.96 2635.53 L 7706.63 2607.53 L 7715.96 2614.53 L 7725.29 2607.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="7589.96" y="2160" width="252" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 560px; margin-left: 1898px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">image</font></div></div></div></foreignObject><text x="1929" y="564" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">image</text></switch></g><path d="M 7716 2880 L 7716 2940 Q 7716 2980 7716.01 3017.26 L 7716.01 3054.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 7716.02 3075.53 L 7706.68 3047.53 L 7716.01 3054.53 L 7725.35 3047.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="7629" y="2720" width="174" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 700px; margin-left: 1908px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">usr</font></div></div></div></foreignObject><text x="1929" y="704" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">usr</text></switch></g><path d="M 7716.02 3240 L 7716 3394.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 7716 3415.53 L 7706.67 3387.53 L 7716 3394.53 L 7725.34 3387.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="7608.52" y="3080" width="215" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 52px; height: 1px; padding-top: 790px; margin-left: 1903px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">bin</font></div></div></div></foreignObject><text x="1929" y="794" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">bin</text></switch></g><rect x="1268" y="2160" width="400" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 560px; margin-left: 318px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">libhello-0.1</font></div></div></div></foreignObject><text x="367" y="564" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">libhello-0.1</text></switch></g><path d="M 1241 2160 Q 1241.71 2220 1245.14 2050.29 Q 1248.57 1880.57 1785.14 1880.57 Q 2321.71 1880.57 2321.08 2127.06" fill="none" stroke="#000000" stroke-width="8" stroke-miterlimit="10" stroke-dasharray="8 16" pointer-events="stroke"/><path d="M 2321.02 2151.06 L 2310.44 2119.03 L 2321.08 2127.06 L 2331.77 2119.08 Z" fill="#000000" stroke="#000000" stroke-width="8" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 472px; margin-left: 435px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); border-color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); border: 1px solid rgb(0, 0, 0); white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" style="font-size: 14px;">S = "${WORKDIR}/git"</font></div></div></div></foreignObject><text x="435" y="475" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="11px" text-anchor="middle">S = "${WORKDIR}/git"</text></switch></g><rect x="3203" y="1620" width="252" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 418px; margin-left: 802px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">WORKDIR</font></div></div></div></foreignObject><text x="832" y="421" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">WORKDIR</text></switch></g><rect x="2923" y="2160" width="106" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 24px; height: 1px; padding-top: 553px; margin-left: 732px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">D</font></div></div></div></foreignObject><text x="744" y="556" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">D</text></switch></g><rect x="2268" y="2160" width="106" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 24px; height: 1px; padding-top: 553px; margin-left: 568px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">S</font></div></div></div></foreignObject><text x="580" y="556" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">S</text></switch></g><rect x="2162" y="2160" width="106" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 24px; height: 1px; padding-top: 553px; margin-left: 542px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">B</font></div></div></div></foreignObject><text x="554" y="556" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">B</text></switch></g><rect x="1188" y="2160" width="106" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 24px; height: 1px; padding-top: 553px; margin-left: 298px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">S</font></div></div></div></foreignObject><text x="310" y="556" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">S</text></switch></g><rect x="1835" y="2160" width="106" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 24px; height: 1px; padding-top: 553px; margin-left: 460px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">T</font></div></div></div></foreignObject><text x="472" y="556" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">T</text></switch></g><rect x="3628" y="3160" width="200" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 803px; margin-left: 908px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">libdir</font></div></div></div></foreignObject><text x="932" y="806" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">libdir</text></switch></g><rect x="3135" y="3160" width="320" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 803px; margin-left: 785px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">includedir</font></div></div></div></foreignObject><text x="824" y="806" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">includedir</text></switch></g><rect x="5603.48" y="2280" width="464.52" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 583px; margin-left: 1402px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">RECIPE_SYSROOT</font></div></div></div></foreignObject><text x="1459" y="586" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">RECIPE_SYSROOT</text></switch></g><path d="M 7226.86 2260 Q 7226.86 2110.29 7197.14 2110.29 Q 7167.43 2110.29 7167.49 1985.47" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 7167.5 1964.47 L 7176.82 1992.48 L 7167.49 1985.47 L 7158.15 1992.47 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="7174" y="2260" width="106" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 24px; height: 1px; padding-top: 578px; margin-left: 1795px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">S</font></div></div></div></foreignObject><text x="1807" y="581" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">S</text></switch></g><rect x="7068" y="2260" width="106" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 24px; height: 1px; padding-top: 578px; margin-left: 1768px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">B</font></div></div></div></foreignObject><text x="1780" y="581" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">B</text></switch></g><rect x="7803" y="2260" width="106" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 24px; height: 1px; padding-top: 578px; margin-left: 1952px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">D</font></div></div></div></foreignObject><text x="1964" y="581" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">D</text></switch></g><rect x="5788" y="1580" width="252" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 408px; margin-left: 1448px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">WORKDIR</font></div></div></div></foreignObject><text x="1479" y="411" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">WORKDIR</text></switch></g><rect x="4640" y="3680" width="800" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 1260px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_prepare_recipe_sysroot</font></div></div></div></foreignObject><text x="1260" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_prepare_recipe_sysroot</text></switch></g><rect x="7536" y="3420" width="360" height="110" rx="16.5" ry="16.5" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 869px; margin-left: 1885px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">sayhello</div></div></div></foreignObject><text x="1929" y="872" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">sayhello</text></switch></g><rect x="4988" y="2640" width="1080" height="960" rx="144" ry="144" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><path d="M 5236 2880 Q 5236 2960.57 5235.99 3014.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 5235.98 3035.53 L 5226.65 3007.53 L 5235.99 3014.53 L 5245.32 3007.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 5236 2880 Q 5236 2960.57 5474.86 2960.57 Q 5713.71 2960.57 5713.91 3014.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 5713.98 3035.53 L 5704.55 3007.56 L 5713.91 3014.53 L 5723.22 3007.49 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="5149" y="2720" width="174" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 700px; margin-left: 1288px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">usr</font></div></div></div></foreignObject><text x="1309" y="704" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">usr</text></switch></g><path d="M 5235.98 3200 L 5236 3294.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 5236 3315.53 L 5226.66 3287.53 L 5236 3294.53 L 5245.33 3287.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="5128.48" y="3040" width="215" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 52px; height: 1px; padding-top: 780px; margin-left: 1283px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">include</font></div></div></div></foreignObject><text x="1309" y="784" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">include</text></switch></g><path d="M 5713.71 3200 L 5713.71 3240.57 Q 5713.71 3280.57 5713.76 3287.55 L 5713.82 3294.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 5713.97 3315.53 L 5704.43 3287.6 L 5713.82 3294.53 L 5723.1 3287.46 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="5627" y="3040" width="174" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 780px; margin-left: 1408px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">lib</font></div></div></div></foreignObject><text x="1429" y="784" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">lib</text></switch></g><rect x="5076" y="3320" width="320" height="100" rx="15" ry="15" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 843px; margin-left: 1270px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">hellolib.h</div></div></div></foreignObject><text x="1309" y="846" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">hellolib.h</text></switch></g><rect x="5468" y="3350" width="480" height="80" rx="12" ry="12" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 848px; margin-left: 1368px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">libhello.so.1</div></div></div></foreignObject><text x="1427" y="851" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">libhello.so.1</text></switch></g><rect x="5468" y="3450" width="480" height="100" rx="15" ry="15" fill="#f5f5f5" stroke="#666666" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 875px; margin-left: 1368px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">libhello.so.1.0</div></div></div></foreignObject><text x="1427" y="879" fill="#333333" font-family="Liberation Sans" font-size="12px" text-anchor="middle">libhello.so.1.0</text></switch></g><rect x="5440" y="3320" width="548" height="250" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><rect x="3880" y="1680" width="1560" height="280" fill="none" stroke="#36393d" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 455px; margin-left: 1165px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" style="font-size: 15px;">This also contains other files from other <br />dependencies. Default dependencies are:<br />basically <b style=""><u>gcc</u></b>, <b style=""><u>compilerlibs</u></b> and <b style=""><u style="">libc</u></b></font></div></div></div></foreignObject><text x="1165" y="459" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">This also contains other files from other...</text></switch></g><rect x="4368" y="2280" width="510" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 126px; height: 1px; padding-top: 583px; margin-left: 1093px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">SYSROOT_DESTDIR</font></div></div></div></foreignObject><text x="1156" y="586" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">SYSROOT_DESTDIR</text></switch></g><path d="M 330 960 L 1121.58 960" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1148.58 960 L 1112.58 978 L 1121.58 960 L 1112.58 942 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><path d="M 330 1160 L 1121.58 1160" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1148.58 1160 L 1112.58 1178 L 1121.58 1160 L 1112.58 1142 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="2" y="860" width="328" height="400" rx="49.2" ry="49.2" fill="#000000" stroke="#23445d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 80px; height: 1px; padding-top: 265px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font color="#fcfcfc">Github</font></div></div></div></foreignObject><text x="41" y="269" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">Github</text></switch></g><rect x="535" y="900" width="320" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 240px; margin-left: 174px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_fetch<br /></font></div></div></div></foreignObject><text x="174" y="244" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_fetch
</text></switch></g><ellipse cx="475" cy="960" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 240px; margin-left: 105px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">1</b></font></div></div></div></foreignObject><text x="119" y="244" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">1</text></switch></g><rect x="535" y="1100" width="320" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 290px; margin-left: 174px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_fetch<br /></font></div></div></div></foreignObject><text x="174" y="294" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_fetch
</text></switch></g><ellipse cx="475" cy="1160" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 290px; margin-left: 105px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">5</b></font></div></div></div></foreignObject><text x="119" y="294" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">5</text></switch></g><rect x="6228" y="2980" width="440" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 760px; margin-left: 1612px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_configure<br /></font></div></div></div></foreignObject><text x="1612" y="764" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_configure
</text></switch></g><ellipse cx="6168" cy="3040" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 760px; margin-left: 1528px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">12</b></font></div></div></div></foreignObject><text x="1542" y="764" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">12</text></switch></g><rect x="6308" y="3110" width="360" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 793px; margin-left: 1622px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_compile<br /></font></div></div></div></foreignObject><text x="1622" y="796" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_compile
</text></switch></g><ellipse cx="6248" cy="3170" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 793px; margin-left: 1548px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">13</b></font></div></div></div></foreignObject><text x="1562" y="796" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">13</text></switch></g><rect x="2508" y="900" width="360" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 240px; margin-left: 672px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_unpack<br /></font></div></div></div></foreignObject><text x="672" y="244" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_unpack
</text></switch></g><ellipse cx="2448" cy="960" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 240px; margin-left: 598px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">2</b></font></div></div></div></foreignObject><text x="612" y="244" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">2</text></switch></g><path d="M 5848.57 520 Q 5848.57 600.57 5849.05 594.61" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 5847.36 615.54 L 5835.66 586.51 L 5849.05 594.61 L 5863.57 588.76 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 5848.57 520 Q 5848.57 560.57 5593.14 560.57 Q 5337.71 560.57 5337.31 594.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 5337.05 615.53 L 5323.39 587.36 L 5337.31 594.53 L 5351.39 587.7 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 5848.57 520 Q 5848.57 560.57 6108.57 560.57 Q 6368.57 560.57 6368.24 594.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 6368.04 615.53 L 6354.31 587.39 L 6368.24 594.53 L 6382.31 587.66 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="5708" y="360" width="280" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 110px; margin-left: 1428px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">conf</font></div></div></div></foreignObject><text x="1462" y="114" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">conf</text></switch></g><path d="M 5149 660 Q 5108 660 5108 510.29 Q 5108 360.57 5252 360.57 Q 5396 360.57 5396 205.47" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 5396 184.47 L 5405.33 212.47 L 5396 205.47 L 5386.67 212.47 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="5149" y="620" width="376" height="80" rx="12" ry="12" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 92px; height: 1px; padding-top: 165px; margin-left: 1288px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">local.conf</div></div></div></foreignObject><text x="1334" y="169" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">local.conf</text></switch></g><path d="M 5847.43 700 Q 5847.43 860 6048 860 Q 6248.57 860 6248.09 994.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 6248.02 1015.53 L 6238.78 987.49 L 6248.09 994.53 L 6257.45 987.56 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="5627" y="620" width="440" height="80" rx="12" ry="12" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 165px; margin-left: 1408px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">bblayers.conf</div></div></div></foreignObject><text x="1462" y="169" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">bblayers.conf</text></switch></g><rect x="6707" y="1360" width="921" height="600" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 228px; height: 1px; padding-top: 415px; margin-left: 1678px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;"><b><u>S</u></b> defaults generally to <b><u>${WORKDIR}/${BPN}-${PV}</u></b><br />In <b>git</b> recipes change it to <b><u>${WORKDIR}/git</u></b></font></div></div></div></foreignObject><text x="1792" y="419" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">S defaults generally to ${WORKDIR}/${B...</text></switch></g><rect x="6228" y="2700" width="440" height="160" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 695px; margin-left: 1612px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_patch<br /><i>(No patches)</i><br /></font></div></div></div></foreignObject><text x="1612" y="699" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_patch...</text></switch></g><ellipse cx="6168" cy="2780" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 695px; margin-left: 1528px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">3</b></font></div></div></div></foreignObject><text x="1542" y="699" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">3</text></switch></g><ellipse cx="4580" cy="3740" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 1131px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">4</b></font></div></div></div></foreignObject><text x="1145" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">4</text></switch></g><rect x="6927" y="3560" width="360" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 905px; margin-left: 1777px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_install<br /></font></div></div></div></foreignObject><text x="1777" y="909" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_install
</text></switch></g><ellipse cx="6868" cy="3620" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 905px; margin-left: 1703px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">14</b></font></div></div></div></foreignObject><text x="1717" y="909" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">14</text></switch></g><path d="M 8354.02 2320 L 8354.02 2614.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 8354.02 2635.53 L 8344.69 2607.53 L 8354.02 2614.53 L 8363.35 2607.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="8228" y="2160" width="252" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 560px; margin-left: 2058px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">package</font></div></div></div></foreignObject><text x="2089" y="564" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">package</text></switch></g><rect x="8441.04" y="2260" width="146.96" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 35px; height: 1px; padding-top: 578px; margin-left: 2111px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">PKGD</font></div></div></div></foreignObject><text x="2129" y="581" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">PKGD</text></switch></g><path d="M 8461.77 3600 Q 8461.14 3760.57 8784.57 3760.57 Q 9108 3760.57 9108 3640.42" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 9108 3613.42 L 9126 3649.42 L 9108 3640.42 L 9090 3649.42 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="8138.52" y="2640" width="431" height="960" rx="64.65" ry="64.65" fill="#eeeeee" stroke="#36393d" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 106px; height: 1px; padding-top: 780px; margin-left: 2036px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">A copy of <b>${D}<br /></b>excluding<br /><b>/sysroot-only</b></div></div></div></foreignObject><text x="2089" y="784" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">A copy of ${D}...</text></switch></g><rect x="7960.96" y="3680" width="360" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 2035px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_package<br /></font></div></div></div></foreignObject><text x="2035" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_package
</text></switch></g><ellipse cx="7901.96" cy="3740" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 1961px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">15</b></font></div></div></div></foreignObject><text x="1975" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">15</text></switch></g><path d="M 9108 2320 L 9108 2614.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 9108 2635.53 L 9098.67 2607.53 L 9108 2614.53 L 9117.33 2607.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="8868" y="2160" width="480" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 560px; margin-left: 2218px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">packages-split</font></div></div></div></foreignObject><text x="2277" y="564" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">packages-split</text></switch></g><rect x="9308" y="2260" width="240" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 578px; margin-left: 2328px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">PKGDEST</font></div></div></div></foreignObject><text x="2357" y="581" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">PKGDEST</text></switch></g><path d="M 9108 2840 L 9108 2895.1" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 9108 2916.1 L 9098.67 2888.1 L 9108 2895.1 L 9117.33 2888.1 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="8982" y="2680" width="252" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 690px; margin-left: 2247px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">sayhello</font></div></div></div></foreignObject><text x="2277" y="694" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">sayhello</text></switch></g><path d="M 9108 3080 L 9108 3120.57 Q 9108 3160.57 9108 3162.55 L 9108 3164.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 9107.98 3185.53 L 9098.67 3157.52 L 9108 3164.53 L 9117.34 3157.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="9021" y="2920" width="174" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 750px; margin-left: 2256px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">usr</font></div></div></div></foreignObject><text x="2277" y="754" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">usr</text></switch></g><path d="M 9107.98 3350 L 9107.97 3414.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 9107.96 3435.53 L 9098.63 3407.53 L 9107.97 3414.53 L 9117.3 3407.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="9000.48" y="3190" width="215" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 52px; height: 1px; padding-top: 818px; margin-left: 2251px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">bin</font></div></div></div></foreignObject><text x="2277" y="821" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">bin</text></switch></g><rect x="7689.48" y="1360" width="1287" height="595" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 320px; height: 1px; padding-top: 414px; margin-left: 1923px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 15px;">Folders created here are present in <b><u>PACKAGES</u></b> variable, BitBake knows what and where to put things using the <b><u>FILES</u></b> variable, example: <b><u>FILES:${PN}</u></b> files will go to <b><u>${PN}</u></b> folder which is in <b><u>PACKAGES</u></b></span></div></div></div></foreignObject><text x="2083" y="418" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">Folders created here are present in PACKAGES variable...</text></switch></g><rect x="8640.48" y="3680" width="360" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 2205px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_package<br /></font></div></div></div></foreignObject><text x="2205" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_package
</text></switch></g><ellipse cx="8581.48" cy="3740" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 2131px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">16</b></font></div></div></div></foreignObject><text x="2145" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">16</text></switch></g><path d="M 9988 2320 L 9988 2674.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 9988 2695.53 L 9978.67 2667.53 L 9988 2674.53 L 9997.33 2667.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="9748" y="2160" width="480" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 560px; margin-left: 2438px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">deploy-<b><i>pkg</i></b></font></div></div></div></foreignObject><text x="2497" y="564" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">deploy-pkg</text></switch></g><path d="M 9988 2860 L 9988 3014.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 9988 3035.53 L 9978.67 3007.53 L 9988 3014.53 L 9997.33 3007.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="9748" y="2700" width="480" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 695px; margin-left: 2438px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter"><b>${PACKAGE_ARCH}</b></font></div></div></div></foreignObject><text x="2497" y="699" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">${PACKAGE_ARCH}</text></switch></g><rect x="9028" y="1360" width="1640" height="595" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 408px; height: 1px; padding-top: 414px; margin-left: 2258px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;">This can be <b><u>rpms</u></b>, <b><u>debs</u></b> or <b><u>ipks</u></b>.<br />These are provided by<br /><b><u>package_rpm</u></b>, <b><u>package_deb</u></b> and <b><u>package_ipk</u></b> classes respectively, use <b><u>PACKAGE_CLASSES</u></b> for that as<br />content of <b><u>PACKAGE_CLASSES</u></b> will be appended<br />to <b><u>INHERIT</u></b><br /></font></div></div></div></foreignObject><text x="2462" y="418" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">This can be rpms, debs or ipks....</text></switch></g><path d="M 10522 3105 L 10708 3105.59 Q 10748 3105.71 10748 3065.71 L 10748 1320.57 Q 10748 1280.57 10708 1280.57 L 7353.71 1280.57 Q 7313.71 1280.57 7313.8 1240.57 L 7313.92 1180.42" fill="none" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 7313.97 1153.42 L 7331.9 1189.45 L 7313.92 1180.42 L 7295.9 1189.38 Z" fill="#000000" stroke="#000000" stroke-width="12" stroke-miterlimit="10" pointer-events="all"/><rect x="9454" y="3040" width="1068" height="130" rx="19.5" ry="19.5" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 265px; height: 1px; padding-top: 776px; margin-left: 2365px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">sayhello-0.1-r0.${PACKAGE_ARCH}.<i>pkg</i></div></div></div></foreignObject><text x="2497" y="780" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">sayhello-0.1-r0.${PACKAGE_ARCH}.pkg</text></switch></g><rect x="10788" y="2640" width="1480" height="680" fill="none" stroke="#36393d" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 368px; height: 1px; padding-top: 745px; margin-left: 2698px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;">This task also depends on <b><u>PACKAGE_CLASSES</u></b>,<br /><b><u><i>pkg</i></u></b> can be <b><u>rpm</u></b>, <b><u>deb</u></b> or <b><u>ipk</u></b> for <b><u>package_rpm</u></b>,<br /><b><u>package_deb</u></b> or <u style="font-weight: bold;">package_ipk</u> respectively.<br />The generated package generally named using:<br /><b><u>${PN}</u></b>, <b><u>${PR}</u></b>, <b><u>${PACKAGE_ARCH}</u></b> and <b><u><i>pkg</i></u></b><br /></font></div></div></div></foreignObject><text x="2882" y="749" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">This task also depends on PACKAGE_CLASSES,...</text></switch></g><path d="M 7314 520 L 7314 654.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 7314 675.53 L 7300 647.53 L 7314 654.53 L 7328 647.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 7454 440 Q 7454 440 7742.53 440" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 7763.53 440 L 7735.53 449.33 L 7742.53 440 L 7735.53 430.67 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="7174" y="360" width="280" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 110px; margin-left: 1795px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">deploy</font></div></div></div></foreignObject><text x="1829" y="114" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">deploy</text></switch></g><path d="M 7313.71 840 L 7313.71 880.57 Q 7313.71 920.57 7313.71 910.29 L 7313.71 905.14 Q 7313.71 900 7313.81 927.26 L 7313.91 954.53" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 7313.98 975.53 L 7299.88 947.58 L 7313.91 954.53 L 7327.88 947.48 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="7054.48" y="680" width="519" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 190px; margin-left: 1765px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><b>${DEPLOY_DIR_<i>pkg</i>}</b></div></div></div></foreignObject><text x="1828" y="194" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">${DEPLOY_DIR_pkg}</text></switch></g><rect x="9488" y="3680" width="600" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 2447px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_package_write_<i>pkg</i><br /></font></div></div></div></foreignObject><text x="2447" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_package_write_pkg
</text></switch></g><ellipse cx="9408" cy="3740" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 2338px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">17</b></font></div></div></div></foreignObject><text x="2352" y="939" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">17</text></switch></g><path d="M 10048 3740 Q 11528.57 3740 11528.03 3345.47" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 11528.01 3324.47 L 11537.38 3352.46 L 11528.03 3345.47 L 11518.71 3352.48 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="7074" y="980" width="480" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 265px; margin-left: 1770px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">${PACKAGE_ARCH}</div></div></div></foreignObject><text x="1829" y="269" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">${PACKAGE_ARCH}</text></switch></g><rect x="7768" y="672.52" width="1660" height="167.48" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 413px; height: 1px; padding-top: 189px; margin-left: 1943px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;">For packages, this can be <b><u>IPK</u></b>, <b><u>RPM</u></b> or <b><u>DEB</u></b> (<i>check step 17</i>)</font></div></div></div></foreignObject><text x="2150" y="193" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">For packages, this can be IPK, RPM or DEB (check step 17)</text></switch></g><rect x="7369.48" y="480" width="320" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 133px; margin-left: 1843px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">DEPLOY_DIR</font></div></div></div></foreignObject><text x="1882" y="136" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">DEPLOY_DIR</text></switch></g><rect x="4988" y="80" width="240" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 33px; margin-left: 1248px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">TMPDIR</font></div></div></div></foreignObject><text x="1277" y="36" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">TMPDIR</text></switch></g><rect x="1668" y="480" width="250.72" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 133px; margin-left: 418px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">DL_DIR</font></div></div></div></foreignObject><text x="448" y="136" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">DL_DIR</text></switch></g><path d="M 7573.48 760 L 7630.29 760.34 Q 7670.29 760.57 7706.42 758.98 L 7742.55 757.38" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 7763.53 756.46 L 7735.97 767.02 L 7742.55 757.38 L 7735.15 748.37 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="10488" y="2380" width="600" height="120" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 610px; margin-left: 2697px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_package_write_<i>pkg</i><br /></font></div></div></div></foreignObject><text x="2697" y="614" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">do_package_write_pkg
</text></switch></g><ellipse cx="10408" cy="2440" rx="60.00000000000001" ry="60.00000000000001" fill="#000000" stroke="#56517e" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 610px; margin-left: 2588px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1"><b style="font-size: 15px;">18</b></font></div></div></div></foreignObject><text x="2602" y="614" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">18</text></switch></g><path d="M 10268 2310.29 Q 10879.43 2310.29 10879.43 1999.43 Q 10879.43 1688.57 10878.68 1140.47" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 10878.65 1119.47 L 10888.02 1147.46 L 10878.68 1140.47 L 10869.35 1147.48 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="10148" y="2260" width="120" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><path d="M 10088 2200 Q 10088.57 2077.14 10173.14 2077.14 Q 10257.71 2077.14 10257.94 1980.47" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 10257.99 1959.47 L 10267.26 1987.49 L 10257.94 1980.47 L 10248.59 1987.45 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="9628" y="805" width="1667.52" height="310" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 415px; height: 1px; padding-top: 240px; margin-left: 2408px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;">This can be <b><u>PKGWRITEDIRRPM</u></b>, <b><u>PKGWRITEDIRDEB</u></b> or <b><u>PKGWRITEDIRIPK</u></b> for <b><u>package_rpm</u></b>, <b><u>package_deb</u></b><br />or <b><u>package_ipk</u></b> respectively<br /></font></div></div></div></foreignObject><text x="2615" y="244" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">This can be PKGWRITEDIRRPM, PKGWRITEDIRDEB or PKGWRITEDIRIPK for pack...</text></switch></g><rect x="628" y="2470" width="1313" height="410" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 326px; height: 1px; padding-top: 669px; margin-left: 158px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 15px;">License checking happens in <b><u>do_populate_lic</u></b> after <b><u>do_patch<br /></u></b>and before that a checksum check<br />happends on <b><u>LIC_FILES_CHKSUM</u></b> if the<br />license is not <b><u>CLOSED</u></b><br /></span></div></div></div></foreignObject><text x="321" y="672" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">License checking happens in do_populate_lic after do_pa...</text></switch></g><rect x="3528.48" y="1360" width="1739.52" height="280" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 433px; height: 1px; padding-top: 375px; margin-left: 883px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 15px;">This variable is used to separate recipes<br />based on their target. This has value of<br /><b><u>${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}</u></b><br /></span></div></div></div></foreignObject><text x="1100" y="379" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">This variable is used to separate recipes...</text></switch></g><path d="M 6588 660 Q 6863.43 660 6863.4 505.47" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 6863.39 484.47 L 6872.73 512.47 L 6863.4 505.47 L 6854.06 512.47 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="6148" y="620" width="440" height="80" rx="12" ry="12" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 165px; margin-left: 1538px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">conf-notes.txt</div></div></div></foreignObject><text x="1592" y="169" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">conf-notes.txt</text></switch></g><path d="M 2580.02 520 Q 2580 660 3042.53 660" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 3063.53 660 L 3035.53 669.33 L 3042.53 660 L 3035.53 650.67 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><path d="M 2374 440 Q 2215.43 440.57 2215.04 205.47" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 2215.01 184.47 L 2224.39 212.46 L 2215.04 205.47 L 2205.72 212.49 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="2374" y="360" width="412.04" height="160" rx="24" ry="24" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 101px; height: 1px; padding-top: 110px; margin-left: 595px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">sstate-cache</font></div></div></div></foreignObject><text x="645" y="114" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">sstate-cache</text></switch></g><rect x="2643.92" y="480" width="332.04" height="100" rx="15" ry="15" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 81px; height: 1px; padding-top: 133px; margin-left: 662px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">SSTATE_DIR</font></div></div></div></foreignObject><text x="702" y="136" fill="#ffffff" font-family="Liberation Sans" font-size="12px" text-anchor="middle" font-weight="bold">SSTATE_DIR</text></switch></g><rect x="8927.96" y="3440" width="360" height="110" rx="16.5" ry="16.5" fill="#eeeeee" stroke="#36393d" stroke-width="4" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 874px; margin-left: 2233px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">sayhello</div></div></div></foreignObject><text x="2277" y="877" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">sayhello</text></switch></g><path d="M 4660 1960 Q 4660 2300 4904.57 2300 Q 5149.14 2300 5148.94 2611.65" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" stroke-dasharray="12 12" pointer-events="stroke"/><path d="M 5148.92 2632.65 L 5139.61 2604.64 L 5148.94 2611.65 L 5158.27 2604.65 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/><rect x="3068" y="480" width="1640" height="360" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 408px; height: 1px; padding-top: 165px; margin-left: 768px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 15px;">This folder contains cache for recipes build output, this is used by BitBake, if the recipe checksum did not change it knows that the output to use is the same.<br /></span></div></div></div></foreignObject><text x="972" y="169" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">This folder contains cache for recipes build output, this is used by...</text></switch></g><rect x="1395" y="0" width="1640" height="180" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 408px; height: 1px; padding-top: 23px; margin-left: 350px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 15px;"><font data-font-src="https://fonts.googleapis.com/css?family=Liberation+Sans">These directories can be shared accross builds to save disk space and build time</font><br /></span></div></div></div></foreignObject><text x="554" y="26" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">These directories can be shared accross builds to save disk space an...</text></switch></g><rect x="7768" y="350" width="1667.52" height="180" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 415px; height: 1px; padding-top: 110px; margin-left: 1943px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;">This directory contains other output directories such as <b><u>images</u></b>, <b><u>sdk</u></b> and <b><u>licenses</u></b><br /></font></div></div></div></foreignObject><text x="2150" y="114" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">This directory contains other output directories such as images, sdk...</text></switch></g><rect x="5908" y="1020" width="680" height="520" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 320px; margin-left: 1478px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;">This file contains all <b>layers</b> that BitBake should consider when looking for metadata.<br /></font></div></div></div></foreignObject><text x="1562" y="324" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">This file contains all layer...</text></switch></g><rect x="5396" y="20" width="1760" height="160" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 438px; height: 1px; padding-top: 25px; margin-left: 1350px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;">This is base configuration file containing essential user config such as <b><u>MACHINE</u></b> and <b><u>DISTRO</u></b><br /></font></div></div></div></foreignObject><text x="1569" y="29" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">This is base configuration file containing essential user config such as...</text></switch></g><rect x="6140" y="320" width="964.52" height="160" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" stroke-dasharray="12 12" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(4)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 239px; height: 1px; padding-top: 100px; margin-left: 1536px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;">The message to show after <b>source oe-init-build-env</b><br /></font></div></div></div></foreignObject><text x="1656" y="104" fill="rgb(0, 0, 0)" font-family="Liberation Sans" font-size="12px" text-anchor="middle">The message to show after source oe-init...</text></switch></g><rect x="10948" y="2400" width="120" height="80" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><rect x="10348" y="3065" width="80" height="80" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><rect x="9948" y="3700" width="100" height="80" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><rect x="10028" y="2200" width="80" height="80" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/><rect x="7454" y="725" width="80" height="80" fill="none" stroke="rgb(0, 0, 0)" stroke-width="4" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> \ No newline at end of file | 4 | <svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3068px" height="951px" viewBox="-0.5 -0.5 3068 951" content="<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0" version="27.1.6">
 <diagram name="Page-1" id="c7558073-3199-34d8-9f00-42111426c3f3">
 <mxGraphModel dx="2252" dy="796" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="826" pageHeight="1169" background="none" math="0" shadow="0">
 <root>
 <mxCell id="0" />
 <mxCell id="1" parent="0" />
 <mxCell id="eV5wDCu3Df9HtTySJIbg-398" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1940" y="840" width="280" height="150" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-383" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;dashed=1;curved=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-380" target="eV5wDCu3Df9HtTySJIbg-382" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1747" y="960" />
 <mxPoint x="1747" y="669" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-407" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;curved=1;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-380" target="eV5wDCu3Df9HtTySJIbg-398" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1890" y="1120" />
 <mxPoint x="2080" y="1120" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-380" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1800" y="840" width="120" height="240" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-211" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="300" y="840" width="270" height="240" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-142" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;glass=0;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="-146.5" y="390" width="270" height="110" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-162" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="120" y="840" width="140" height="240" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-101" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-98" target="eV5wDCu3Df9HtTySJIbg-99" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-338" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;rounded=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-98" target="eV5wDCu3Df9HtTySJIbg-130" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="815" y="240" />
 <mxPoint x="-11" y="240" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-344" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;rounded=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-98" target="eV5wDCu3Df9HtTySJIbg-343" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="815" y="240" />
 <mxPoint x="1045" y="240" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-402" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;rounded=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-98" target="eV5wDCu3Df9HtTySJIbg-401" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="815" y="240" />
 <mxPoint x="1411" y="240" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--12" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;rounded=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-98" target="eV5wDCu3Df9HtTySJIbg-440" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="815" y="240" />
 <mxPoint x="228" y="240" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-98" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;tmp&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillStyle=auto;glass=0;shadow=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="780" y="180" width="70" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-102" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-99" target="eV5wDCu3Df9HtTySJIbg-100" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-99" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;work&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="780" y="270" width="70" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-106" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=none;endFill=0;rounded=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-100" target="eV5wDCu3Df9HtTySJIbg-105" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-155" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-100" target="eV5wDCu3Df9HtTySJIbg-103" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--14" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;curved=1;dashed=1;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-100" target="eV5wDCu3Df9HtTySJIbg-434" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-100" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b&gt;${MULTIMACH_TARGET_OS}&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="730" y="440" width="170" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-110" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-103" target="eV5wDCu3Df9HtTySJIbg-108" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-103" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;libhello&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="326.99" y="520" width="70" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-111" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-105" target="eV5wDCu3Df9HtTySJIbg-109" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-105" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;sayhello&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="970" y="520" width="70" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-169" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-108" target="eV5wDCu3Df9HtTySJIbg-166" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="362" y="680" />
 <mxPoint x="82" y="680" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-170" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-108" target="eV5wDCu3Df9HtTySJIbg-156" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="362" y="680" />
 <mxPoint x="190" y="680" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-179" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-108" target="eV5wDCu3Df9HtTySJIbg-175" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-197" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-108" target="eV5wDCu3Df9HtTySJIbg-171" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="362" y="680" />
 <mxPoint x="660" y="680" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-108" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;0.1-r0&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="327" y="600" width="70" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-309" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-109" target="eV5wDCu3Df9HtTySJIbg-172" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1005" y="680" />
 <mxPoint x="965" y="680" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-311" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-109" target="eV5wDCu3Df9HtTySJIbg-240" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1005" y="680" />
 <mxPoint x="1340" y="680" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-312" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-109" target="eV5wDCu3Df9HtTySJIbg-249" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1005" y="680" />
 <mxPoint x="1512" y="680" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-360" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-109" target="eV5wDCu3Df9HtTySJIbg-358" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1005" y="680" />
 <mxPoint x="1672" y="680" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-368" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-109" target="eV5wDCu3Df9HtTySJIbg-366" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1005" y="680" />
 <mxPoint x="1860" y="680" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-388" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-109" target="eV5wDCu3Df9HtTySJIbg-387" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1005" y="680" />
 <mxPoint x="2080" y="680" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-109" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;0.1-r0&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="970" y="585" width="70" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-134" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-130" target="eV5wDCu3Df9HtTySJIbg-133" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--19" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;curved=1;dashed=1;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-130" target="utO5BPZsFb6q0V3ioqD--17" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-130" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;downloads&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="-46.5" y="270" width="70" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-143" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=none;endFill=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-133" target="eV5wDCu3Df9HtTySJIbg-142" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-133" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;git2&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="-46.5" y="330" width="70" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-223" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-136" target="eV5wDCu3Df9HtTySJIbg-156" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="250" y="470" />
 <mxPoint x="250" y="758" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-135" value="github.com.&amp;lt;username&amp;gt;.sayhello" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="-126.5" y="400" width="230" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-337" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-135" target="eV5wDCu3Df9HtTySJIbg-240" edge="1">
 <mxGeometry relative="1" as="geometry">
 <mxPoint x="160" y="500" as="sourcePoint" />
 <Array as="points">
 <mxPoint x="1250" y="420" />
 <mxPoint x="1250" y="740" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-136" value="github.com.&amp;lt;username&amp;gt;.libhello" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="-126.5" y="450" width="230" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-164" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-156" target="eV5wDCu3Df9HtTySJIbg-162" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-156" value="sources/libhello-0.1" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="150" y="737.5" width="65" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-159" value="Makefile" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="136" y="860" width="114" height="20" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-433" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-160" target="eV5wDCu3Df9HtTySJIbg-432" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-160" value="LICENSE" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="136" y="890" width="114" height="20" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-215" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;curved=1;endArrow=classicThin;endFill=1;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-161" target="eV5wDCu3Df9HtTySJIbg-163" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="90" y="930" />
 <mxPoint x="90" y="960" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-161" value="fix.patch" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="136" y="920" width="114" height="20" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-219" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.006;exitY=0.893;exitDx=0;exitDy=0;curved=1;exitPerimeter=0;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-163" target="eV5wDCu3Df9HtTySJIbg-214" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="80" y="968" />
 <mxPoint x="80" y="1031" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-163" value="hellolib.c" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="136" y="950" width="114" height="20" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-166" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;temp&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="57" y="720" width="50" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-210" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-171" target="eV5wDCu3Df9HtTySJIbg-209" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-171" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;sysroot-destdir&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="600" y="720" width="120" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-307" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-172" target="eV5wDCu3Df9HtTySJIbg-293" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-172" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;recipe-sysroot&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="910" y="720" width="110" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-182" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-175" target="eV5wDCu3Df9HtTySJIbg-177" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-175" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;image&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="330.49" y="720" width="63" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-183" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-177" target="eV5wDCu3Df9HtTySJIbg-180" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-184" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;curved=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-177" target="eV5wDCu3Df9HtTySJIbg-181" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-177" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;usr&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="340.25" y="860" width="43.5" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-188" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-180" target="eV5wDCu3Df9HtTySJIbg-187" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-180" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;include&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="335.12" y="940" width="53.75" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-192" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-181" target="eV5wDCu3Df9HtTySJIbg-191" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-181" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;lib&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="459.75" y="940" width="43.5" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-187" value="hellolib.h" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="322" y="1010" width="80" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-189" value="libhello.so.1" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="420" y="1017.5" width="120" height="20" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-190" value="libhello.so.1.0" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="420" y="1042.5" width="120" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-191" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;dashed=1;arcSize=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="413" y="1010" width="137" height="62.5" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-286" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;curved=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-209" target="eV5wDCu3Df9HtTySJIbg-293" edge="1">
 <mxGeometry relative="1" as="geometry">
 <mxPoint x="830" y="1330" as="sourcePoint" />
 <mxPoint x="925" y="1130" as="targetPoint" />
 <Array as="points">
 <mxPoint x="690" y="1120" />
 <mxPoint x="965" y="1120" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-209" value="Everything in &lt;b&gt;image&lt;/b&gt; folder that is present in &lt;b&gt;SYSROOT_DIRS&lt;/b&gt; will be copied here." style="rounded=1;whiteSpace=wrap;html=1;fillColor=#eeeeee;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="600" y="840" width="120" height="240" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-233" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;curved=1;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-211" target="eV5wDCu3Df9HtTySJIbg-209" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="503" y="1120" />
 <mxPoint x="660" y="1120" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-212" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.543;entryY=0.999;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;curved=1;fillColor=#d0cee2;strokeColor=#000000;strokeWidth=3;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-162" target="eV5wDCu3Df9HtTySJIbg-211" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="190" y="1120" />
 <mxPoint x="447" y="1120" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-213" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_install&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="270" y="1100" width="90" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-214" value="libhello.so.1.0" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="138" y="1017.5" width="114" height="27.5" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-217" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_configure&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry y="975" width="110" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-218" value="hellolib.h" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="136" y="980" width="114" height="20" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-221" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_patch&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="30" y="930" width="80" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-224" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_unpack&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="206.5" y="585" width="90" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-225" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;6&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="176.5" y="585" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-226" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;7&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry y="930" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-227" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;8&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="-30" y="975" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-229" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_compile&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="20" y="1007.5" width="90" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-228" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;9&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="-10" y="1007.5" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-231" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;10&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="240" y="1100" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-235" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_populate_sysroot&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="515" y="1100" width="160" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-236" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;11&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="485" y="1100" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-355" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;curved=1;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-238" target="eV5wDCu3Df9HtTySJIbg-247" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1340" y="1120" />
 <mxPoint x="1512" y="1120" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-238" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1270" y="840" width="140" height="160" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-239" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-240" target="eV5wDCu3Df9HtTySJIbg-238" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="w4JjUiD6-ryT0rcgaIPJ-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="eV5wDCu3Df9HtTySJIbg-240">
 <mxGeometry relative="1" as="geometry">
 <mxPoint x="1300" y="740" as="targetPoint" />
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-240" value="&lt;div&gt;sources/sayhello-0.1&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1307" y="720" width="65" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-241" value="Makefile" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="1283" y="860" width="114" height="20" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-242" value="LICENSE" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="1283" y="890" width="114" height="20" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-330" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;curved=1;fillColor=#d0cee2;strokeColor=#000000;strokeWidth=3;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-244" target="eV5wDCu3Df9HtTySJIbg-245" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1230" y="930" />
 <mxPoint x="1230" y="974" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-244" value="sayhello.c" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="1283" y="920" width="114" height="20" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-245" value="sayhello" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="1283" y="960" width="114" height="27.5" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-363" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;curved=1;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-247" target="eV5wDCu3Df9HtTySJIbg-361" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1540" y="1120" />
 <mxPoint x="1671" y="1120" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-247" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1451.99" y="840" width="120" height="240" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-248" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-249" target="eV5wDCu3Df9HtTySJIbg-247" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-249" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;image&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1480.49" y="720" width="63" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-250" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-252" target="eV5wDCu3Df9HtTySJIbg-254" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-252" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;usr&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1490.25" y="860" width="43.5" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-253" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-254" target="eV5wDCu3Df9HtTySJIbg-292" edge="1">
 <mxGeometry relative="1" as="geometry">
 <mxPoint x="1512" y="1010" as="targetPoint" />
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-254" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;bin&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1485.1299999999999" y="950" width="53.75" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-266" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;fillColor=#bac8d3;strokeColor=#000000;strokeWidth=2;dashPattern=1 2;curved=1;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" edge="1">
 <mxGeometry relative="1" as="geometry">
 <mxPoint x="-0.5" y="610" as="sourcePoint" />
 <mxPoint x="150" y="765" as="targetPoint" />
 <Array as="points">
 <mxPoint x="89.5" y="610.5" />
 <mxPoint x="89.5" y="765.5" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-267" value="&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;S = &quot;${UNPACKDIR}/${BP}&quot;&lt;/font&gt;&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBorderColor=default;spacingTop=2;spacingLeft=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="eV5wDCu3Df9HtTySJIbg-266" vertex="1" connectable="0">
 <mxGeometry x="-0.2703" y="1" relative="1" as="geometry">
 <mxPoint x="-71" y="-32" as="offset" />
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-270" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;WORKDIR&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="383.75" y="585" width="63" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-271" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;D&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="313.75" y="720" width="26.5" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-272" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;S&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="150" y="720" width="26.5" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-273" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;B&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="123.5" y="720" width="26.5" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-275" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;T&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="41.75" y="720" width="26.5" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-276" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;libdir&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="490" y="970" width="50" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-277" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;includedir&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="366.75" y="970" width="80" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-279" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;RECIPE_SYSROOT&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="983.87" y="750" width="116.13" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-351" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;endArrow=classicThin;endFill=1;curved=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-281" target="eV5wDCu3Df9HtTySJIbg-350" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-281" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;S&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="1376.5" y="745" width="26.5" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-282" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;B&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="1350" y="745" width="26.5" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-283" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;D&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="1533.75" y="745" width="26.5" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-284" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;WORKDIR&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="1030" y="575" width="63" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-287" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_prepare_recipe_sysroot&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="743" y="1100" width="200" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-292" value="sayhello" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="1467" y="1035" width="90" height="27.5" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-293" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="830" y="840" width="270" height="240" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-294" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;curved=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-296" target="eV5wDCu3Df9HtTySJIbg-298" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-295" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;curved=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-296" target="eV5wDCu3Df9HtTySJIbg-300" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-296" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;usr&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="870.25" y="860" width="43.5" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-297" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-298" target="eV5wDCu3Df9HtTySJIbg-301" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-298" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;include&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="865.12" y="940" width="53.75" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-299" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-300" target="eV5wDCu3Df9HtTySJIbg-304" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-300" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;lib&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="989.75" y="940" width="43.5" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-301" value="hellolib.h" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="852" y="1010" width="80" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-302" value="libhello.so.1" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="950" y="1017.5" width="120" height="20" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-303" value="libhello.so.1.0" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
 <mxGeometry x="950" y="1042.5" width="120" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-304" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;dashed=1;arcSize=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="943" y="1010" width="137" height="62.5" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-308" value="&lt;font style=&quot;font-size: 15px;&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;This also contains other files from other&amp;nbsp;&lt;br&gt;dependencies. Default dependencies are:&lt;br&gt;basically &lt;b style=&quot;&quot;&gt;&lt;u&gt;gcc&lt;/u&gt;&lt;/b&gt;, &lt;b style=&quot;&quot;&gt;&lt;u&gt;compilerlibs&lt;/u&gt;&lt;/b&gt; and &lt;b style=&quot;&quot;&gt;&lt;u style=&quot;&quot;&gt;libc&lt;/u&gt;&lt;/b&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=none;rounded=1;arcSize=0;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="553" y="600" width="390" height="70" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-310" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;SYSROOT_DESTDIR&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="675" y="750" width="127.5" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-322" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-314" target="eV5wDCu3Df9HtTySJIbg-135" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-323" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-314" target="eV5wDCu3Df9HtTySJIbg-136" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-314" value="&lt;font color=&quot;#fcfcfc&quot;&gt;Github&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=#23445d;" parent="1" vertex="1">
 <mxGeometry x="-416.5" y="395" width="82" height="100" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-316" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_fetch&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="-283.25" y="405" width="80" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-317" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;1&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="-313.25" y="405" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-326" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_fetch&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="-283.25" y="455" width="80" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-327" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;5&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="-313.25" y="455" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-331" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_configure&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1140" y="925" width="110" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-332" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;12&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1110" y="925" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-333" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_compile&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1160" y="957.5" width="90" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-334" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;13&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1130" y="957.5" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-340" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_unpack&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="210" y="405" width="90" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-341" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;2&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="180" y="405" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-349" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-343" target="eV5wDCu3Df9HtTySJIbg-346" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-438" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-343" target="eV5wDCu3Df9HtTySJIbg-345" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1045" y="320" />
 <mxPoint x="917" y="320" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-439" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-343" target="eV5wDCu3Df9HtTySJIbg-436" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1045" y="320" />
 <mxPoint x="1175" y="320" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-343" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;conf&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1010" y="270" width="70" height="40" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--26" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;curved=1;dashed=1;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-345" target="utO5BPZsFb6q0V3ioqD--25" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="860" y="345" />
 <mxPoint x="860" y="270" />
 <mxPoint x="932" y="270" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-345" value="local.conf" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="870.25" y="335" width="94" height="20" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--24" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;curved=1;endArrow=classicThin;endFill=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-346" target="utO5BPZsFb6q0V3ioqD--22" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-346" value="bblayers.conf" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="989.75" y="335" width="110" height="20" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-350" value="&lt;font style=&quot;font-size: 15px;&quot;&gt;&lt;b&gt;&lt;u&gt;S&lt;/u&gt;&lt;/b&gt; defaults generally to &lt;b&gt;&lt;u&gt;${UNPACKDIR}/${BP}&lt;/u&gt;&lt;/b&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;" parent="1" vertex="1">
 <mxGeometry x="1259.75" y="520" width="230.25" height="150" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-352" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_patch&lt;br&gt;&lt;i&gt;(No patches)&lt;/i&gt;&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1140" y="855" width="110" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-353" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;3&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1110" y="860" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-354" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;4&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="713" y="1100" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-356" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_install&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1314.75" y="1070" width="90" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-357" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;14&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1285" y="1070" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-362" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-358" target="eV5wDCu3Df9HtTySJIbg-361" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-358" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;package&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1640" y="720" width="63" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-359" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;PKGD&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="1693.26" y="745" width="36.74" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-384" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;curved=1;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-361" target="eV5wDCu3Df9HtTySJIbg-380" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="1698" y="1120" />
 <mxPoint x="1860" y="1120" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-361" value="A copy of&amp;nbsp;&lt;b&gt;${D}&lt;br&gt;&lt;/b&gt;excluding&lt;br&gt;&lt;b&gt;/sysroot-only&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#eeeeee;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="1617.63" y="840" width="107.75" height="240" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-364" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_package&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1573.24" y="1100" width="90" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-365" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;15&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1543.49" y="1100" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-381" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-366" target="eV5wDCu3Df9HtTySJIbg-380" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-366" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;packages-split&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1800" y="720" width="120" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-367" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;PKGDEST&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="1910" y="745" width="60" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-377" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-369" target="eV5wDCu3Df9HtTySJIbg-373" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-369" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;sayhello&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1828.5" y="850" width="63" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-372" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-373" target="eV5wDCu3Df9HtTySJIbg-375" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-373" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;usr&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1838.25" y="910" width="43.5" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-374" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-375" target="utO5BPZsFb6q0V3ioqD--10" edge="1">
 <mxGeometry relative="1" as="geometry">
 <mxPoint x="1860" y="1037.5" as="targetPoint" />
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-375" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;bin&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1833.12" y="977.5" width="53.75" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-382" value="&lt;span style=&quot;font-size: 15px;&quot;&gt;Folders created here are present in &lt;b&gt;&lt;u&gt;PACKAGES&lt;/u&gt;&lt;/b&gt; variable, BitBake knows what and where to put things using the &lt;b&gt;&lt;u&gt;FILES&lt;/u&gt;&lt;/b&gt; variable, example: &lt;b&gt;&lt;u&gt;FILES:${PN}&lt;/u&gt;&lt;/b&gt; files will go to &lt;b&gt;&lt;u&gt;${PN}&lt;/u&gt;&lt;/b&gt;&amp;nbsp;folder which is in &lt;b&gt;&lt;u&gt;PACKAGES&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;" parent="1" vertex="1">
 <mxGeometry x="1505.37" y="520" width="321.75" height="148.75" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-385" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_package&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1743.12" y="1100" width="90" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-386" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;16&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1713.37" y="1100" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-390" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-387" target="eV5wDCu3Df9HtTySJIbg-389" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-387" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;deploy-&lt;b&gt;&lt;i&gt;pkg&lt;/i&gt;&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="2020" y="720" width="120" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-396" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-389" target="eV5wDCu3Df9HtTySJIbg-395" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-389" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b&gt;${PACKAGE_ARCH}&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="2020" y="855" width="120" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-393" value="&lt;font style=&quot;font-size: 15px;&quot;&gt;This can be &lt;b&gt;&lt;u&gt;rpms&lt;/u&gt;&lt;/b&gt;, &lt;b&gt;&lt;u&gt;debs&lt;/u&gt;&lt;/b&gt; or &lt;b&gt;&lt;u&gt;ipks&lt;/u&gt;&lt;/b&gt;.&lt;br&gt;These are provided by&lt;br&gt;&lt;b&gt;&lt;u&gt;package_rpm&lt;/u&gt;&lt;/b&gt;, &lt;b&gt;&lt;u&gt;package_deb&lt;/u&gt;&lt;/b&gt; and &lt;b&gt;&lt;u&gt;package_ipk&lt;/u&gt;&lt;/b&gt; classes respectively, use &lt;b&gt;&lt;u&gt;PACKAGE_CLASSES&lt;/u&gt;&lt;/b&gt; for that as&lt;br&gt;content of &lt;b&gt;&lt;u&gt;PACKAGE_CLASSES&lt;/u&gt;&lt;/b&gt; will be appended&lt;br&gt;to &lt;b&gt;&lt;u&gt;INHERIT&lt;/u&gt;&lt;/b&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;" parent="1" vertex="1">
 <mxGeometry x="1840" y="520" width="410" height="148.75" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-415" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=3;fillColor=#d0cee2;strokeColor=#000000;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-395" target="eV5wDCu3Df9HtTySJIbg-413" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="2270" y="956" />
 <mxPoint x="2270" y="500" />
 <mxPoint x="1412" y="500" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-395" value="sayhello-0.1-r0.${PACKAGE_ARCH}.&lt;i&gt;pkg&lt;/i&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="1946.5" y="940" width="267" height="32.5" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-397" value="&lt;font style=&quot;font-size: 15px;&quot;&gt;This task also depends on &lt;b&gt;&lt;u&gt;PACKAGE_CLASSES&lt;/u&gt;&lt;/b&gt;,&lt;br&gt;&lt;b&gt;&lt;u&gt;&lt;i&gt;pkg&lt;/i&gt;&lt;/u&gt;&lt;/b&gt;&amp;nbsp;can be &lt;b&gt;&lt;u&gt;rpm&lt;/u&gt;&lt;/b&gt;, &lt;b&gt;&lt;u&gt;deb&lt;/u&gt;&lt;/b&gt; or &lt;b&gt;&lt;u&gt;ipk&lt;/u&gt;&lt;/b&gt; for &lt;b&gt;&lt;u&gt;package_rpm&lt;/u&gt;&lt;/b&gt;,&lt;br&gt;&lt;b&gt;&lt;u&gt;package_deb&lt;/u&gt;&lt;/b&gt; or &lt;u style=&quot;font-weight: bold;&quot;&gt;package_ipk&lt;/u&gt;&amp;nbsp;respectively.&lt;br&gt;The generated package generally named using:&lt;br&gt;&lt;b&gt;&lt;u&gt;${PN}&lt;/u&gt;&lt;/b&gt;, &lt;b&gt;&lt;u&gt;${PR}&lt;/u&gt;&lt;/b&gt;, &lt;b&gt;&lt;u&gt;${PACKAGE_ARCH}&lt;/u&gt;&lt;/b&gt; and&amp;nbsp;&lt;b&gt;&lt;u&gt;&lt;i&gt;pkg&lt;/i&gt;&lt;/u&gt;&lt;/b&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;strokeColor=#36393d;arcSize=0;" parent="1" vertex="1">
 <mxGeometry x="2280" y="840" width="370" height="170" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-404" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-401" target="eV5wDCu3Df9HtTySJIbg-403" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--21" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=default;curved=1;dashed=1;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-401" target="utO5BPZsFb6q0V3ioqD--20" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-401" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;deploy&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1376.5" y="270" width="70" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-414" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-403" target="eV5wDCu3Df9HtTySJIbg-413" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-403" value="&lt;b&gt;${DEPLOY_DIR_&lt;i&gt;pkg&lt;/i&gt;}&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1346.62" y="350" width="129.75" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-408" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_package_write_&lt;i&gt;pkg&lt;/i&gt;&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1955" y="1100" width="150" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-409" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;17&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="1920" y="1100" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--11" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;endArrow=classicThin;endFill=1;curved=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="IR5jgyizBFApjn6Bth0e-3" target="eV5wDCu3Df9HtTySJIbg-397" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-413" value="${PACKAGE_ARCH}" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="1351.5" y="425" width="120" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-416" value="&lt;font style=&quot;font-size: 15px;&quot;&gt;For packages, this can be &lt;b&gt;&lt;u&gt;IPK&lt;/u&gt;&lt;/b&gt;, &lt;b&gt;&lt;u&gt;RPM&lt;/u&gt;&lt;/b&gt; or &lt;b&gt;&lt;u&gt;DEB&lt;/u&gt;&lt;/b&gt; (&lt;i&gt;check step 17&lt;/i&gt;)&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;" parent="1" vertex="1">
 <mxGeometry x="1525" y="348.13" width="415" height="41.87" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-417" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;DEPLOY_DIR&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="1425.37" y="300" width="80" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-418" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;TMPDIR&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="830" y="200" width="60" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-419" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;DL_DIR&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry y="300" width="62.68" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-422" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;endArrow=classicThin;endFill=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-403" target="eV5wDCu3Df9HtTySJIbg-416" edge="1">
 <mxGeometry relative="1" as="geometry">
 <mxPoint x="1480.4900000000002" y="387.48571428571427" as="sourcePoint" />
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-424" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;do_package_write_&lt;i&gt;pkg&lt;/i&gt;&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#36393d;fillColor=#eeeeee;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="2205" y="775" width="150" height="30" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-425" value="&lt;font size=&quot;1&quot; color=&quot;#ffffff&quot; data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;18&lt;/b&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=1;fillColor=#000000;strokeColor=#56517e;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" vertex="1">
 <mxGeometry x="2170" y="775" width="30" height="30" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--8" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;dashed=1;endArrow=classicThin;endFill=1;curved=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-427" target="eV5wDCu3Df9HtTySJIbg-429" edge="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="2303" y="758" />
 <mxPoint x="2303" y="602" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-427" value="" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;" parent="1" vertex="1">
 <mxGeometry x="2120" y="745" width="30" height="25" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-428" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;dashed=1;curved=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="IR5jgyizBFApjn6Bth0e-4" target="eV5wDCu3Df9HtTySJIbg-393" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-429" value="&lt;font style=&quot;font-size: 15px;&quot;&gt;This can be &lt;b&gt;&lt;u&gt;PKGWRITEDIRRPM&lt;/u&gt;&lt;/b&gt;, &lt;b&gt;&lt;u&gt;PKGWRITEDIRDEB&lt;/u&gt;&lt;/b&gt; or &lt;b&gt;&lt;u&gt;PKGWRITEDIRIPK&lt;/u&gt;&lt;/b&gt; for &lt;b&gt;&lt;u&gt;package_rpm&lt;/u&gt;&lt;/b&gt;, &lt;b&gt;&lt;u&gt;package_deb&lt;/u&gt;&lt;/b&gt;&lt;br&gt;or &lt;b&gt;&lt;u&gt;package_ipk&lt;/u&gt;&lt;/b&gt; respectively&lt;br&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;" parent="1" vertex="1">
 <mxGeometry x="1990" y="381.25" width="416.88" height="77.5" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-432" value="&lt;span style=&quot;font-size: 15px;&quot;&gt;License checking happens in &lt;b&gt;&lt;u&gt;do_populate_lic&lt;/u&gt;&lt;/b&gt; after &lt;b&gt;&lt;u&gt;do_patch&lt;br&gt;&lt;/u&gt;&lt;/b&gt;and before that a checksum check&lt;br&gt;happends on&amp;nbsp;&lt;b&gt;&lt;u&gt;LIC_FILES_CHKSUM&lt;/u&gt;&lt;/b&gt; if the&lt;br&gt;license is not &lt;b&gt;&lt;u&gt;CLOSED&lt;/u&gt;&lt;/b&gt;&lt;br&gt;&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;fillColor=none;" parent="1" vertex="1">
 <mxGeometry x="-260" y="797.5" width="328.25" height="102.5" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-434" value="&lt;span style=&quot;font-size: 15px;&quot;&gt;This variable is used to separate recipes&lt;br&gt;based on their target. This has value of&lt;br&gt;&lt;b&gt;&lt;u&gt;${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}&lt;/u&gt;&lt;/b&gt;&lt;br&gt;&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;fillColor=none;" parent="1" vertex="1">
 <mxGeometry x="465.12" y="520" width="434.88" height="70" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--28" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;dashed=1;curved=1;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-436" target="utO5BPZsFb6q0V3ioqD--27" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-436" value="conf-notes.txt" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="1120" y="335" width="110" height="20" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--16" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;curved=1;dashed=1;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-440" target="utO5BPZsFb6q0V3ioqD--15" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--18" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;curved=1;dashed=1;endArrow=classicThin;endFill=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-440" target="utO5BPZsFb6q0V3ioqD--17" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-440" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;sstate-cache&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillStyle=auto;glass=0;shadow=0;" parent="1" vertex="1">
 <mxGeometry x="176.5" y="270" width="103.01" height="40" as="geometry" />
 </mxCell>
 <mxCell id="eV5wDCu3Df9HtTySJIbg-442" value="&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Architects+Daughter&quot;&gt;SSTATE_DIR&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#000000;strokeColor=none;fillStyle=auto;glass=0;shadow=0;fontColor=#ffffff;fontStyle=1" parent="1" vertex="1">
 <mxGeometry x="243.98000000000002" y="300" width="83.01" height="25" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--10" value="sayhello" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
 <mxGeometry x="1814.99" y="1040" width="90" height="27.5" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--13" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.149;entryY=-0.003;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=classicThin;endFill=1;curved=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;" parent="1" source="eV5wDCu3Df9HtTySJIbg-308" target="eV5wDCu3Df9HtTySJIbg-293" edge="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--15" value="&lt;span style=&quot;font-size: 15px;&quot;&gt;This folder contains cache for recipes build output, this is used by BitBake, if the recipe checksum did not change it knows that the output to use is the same.&lt;br&gt;&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;fillColor=none;" parent="1" vertex="1">
 <mxGeometry x="350" y="300" width="410" height="90" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--17" value="&lt;span style=&quot;font-size: 15px;&quot;&gt;&lt;font data-font-src=&quot;https://fonts.googleapis.com/css?family=Liberation+Sans&quot;&gt;These directories can be shared accross builds to save disk space and build time&lt;/font&gt;&lt;br&gt;&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;fillColor=none;" parent="1" vertex="1">
 <mxGeometry x="-68.25" y="180" width="410" height="45" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--20" value="&lt;font style=&quot;font-size: 15px;&quot;&gt;This directory contains other output directories such as &lt;b&gt;&lt;u&gt;images&lt;/u&gt;&lt;/b&gt;, &lt;b&gt;&lt;u&gt;sdk&lt;/u&gt;&lt;/b&gt; and &lt;b&gt;&lt;u&gt;licenses&lt;/u&gt;&lt;/b&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;" parent="1" vertex="1">
 <mxGeometry x="1525" y="267.5" width="416.88" height="45" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--22" value="&lt;font style=&quot;font-size: 15px;&quot;&gt;This file contains all &lt;b&gt;layers&lt;/b&gt; that BitBake should consider when looking for metadata.&lt;br&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;fillColor=none;" parent="1" vertex="1">
 <mxGeometry x="1060" y="435" width="170" height="130" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--25" value="&lt;font style=&quot;font-size: 15px;&quot;&gt;This is base configuration file containing essential user config such as &lt;b&gt;&lt;u&gt;MACHINE&lt;/u&gt;&lt;/b&gt; and &lt;b&gt;&lt;u&gt;DISTRO&lt;/u&gt;&lt;/b&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;fillColor=none;" parent="1" vertex="1">
 <mxGeometry x="932" y="185" width="440" height="40" as="geometry" />
 </mxCell>
 <mxCell id="utO5BPZsFb6q0V3ioqD--27" value="&lt;font style=&quot;font-size: 15px;&quot;&gt;The message to show after &lt;b&gt;source oe-init-build-env&lt;/b&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fontFamily=Liberation Sans;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DLiberation%2BSans;arcSize=0;fillColor=none;" parent="1" vertex="1">
 <mxGeometry x="1118" y="260" width="241.13" height="40" as="geometry" />
 </mxCell>
 <mxCell id="IR5jgyizBFApjn6Bth0e-1" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeWidth=1;glass=0;" parent="1" vertex="1">
 <mxGeometry x="2320" y="780" width="30" height="20" as="geometry" />
 </mxCell>
 <mxCell id="IR5jgyizBFApjn6Bth0e-2" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeWidth=1;glass=0;" parent="1" vertex="1">
 <mxGeometry x="2170" y="946.25" width="20" height="20" as="geometry" />
 </mxCell>
 <mxCell id="IR5jgyizBFApjn6Bth0e-3" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeWidth=1;glass=0;" parent="1" vertex="1">
 <mxGeometry x="2070" y="1105" width="25" height="20" as="geometry" />
 </mxCell>
 <mxCell id="IR5jgyizBFApjn6Bth0e-4" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeWidth=1;glass=0;" parent="1" vertex="1">
 <mxGeometry x="2090" y="730" width="20" height="20" as="geometry" />
 </mxCell>
 <mxCell id="IR5jgyizBFApjn6Bth0e-5" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeWidth=1;glass=0;" parent="1" vertex="1">
 <mxGeometry x="1446.5" y="361.25" width="20" height="20" as="geometry" />
 </mxCell>
 </root>
 </mxGraphModel>
 </diagram>
</mxfile>
"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="eV5wDCu3Df9HtTySJIbg-398"><g><rect x="2357" y="660" width="280" height="150" rx="22.5" ry="22.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-383"><g><path d="M 2217 780 Q 2163.7 780 2163.68 495.12" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 2163.68 489.87 L 2166.02 496.87 L 2163.68 495.12 L 2161.35 496.87 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-407"><g><path d="M 2307 900 Q 2307 940 2402 940 Q 2497 940 2497 820.1" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2497 813.35 L 2501.5 822.35 L 2497 820.1 L 2492.5 822.35 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-380"><g><rect x="2217" y="660" width="120" height="240" rx="18" ry="18" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-211"><g><rect x="717" y="660" width="270" height="240" rx="36" ry="36" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-142"><g><rect x="270.5" y="210" width="270" height="110" rx="16.5" ry="16.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-162"><g><rect x="537" y="660" width="140" height="240" rx="21" ry="21" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-101"><g><path d="M 1232 40 L 1232 90" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-338"><g><path d="M 1232 40 L 1232 50 Q 1232 60 1222 60 L 415.5 60 Q 405.5 60 405.5 70 L 405.5 83.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 405.5 88.88 L 402 81.88 L 405.5 83.63 L 409 81.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-344"><g><path d="M 1232 40 L 1232 50 Q 1232 60 1242 60 L 1452 60 Q 1462 60 1462 70 L 1462 83.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1462 88.88 L 1458.5 81.88 L 1462 83.63 L 1465.5 81.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-402"><g><path d="M 1232 40 L 1232 50 Q 1232 60 1242 60 L 1818.5 60 Q 1828.5 60 1828.5 70 L 1828.5 83.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1828.5 88.88 L 1825 81.88 L 1828.5 83.63 L 1832 81.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--12"><g><path d="M 1232 40 L 1232 50 Q 1232 60 1222 60 L 655 60 Q 645 60 645 70 L 645 83.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 645 88.88 L 641.5 81.88 L 645 83.63 L 648.5 81.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-98"><g><rect x="1197" y="0" width="70" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 20px; margin-left: 1198px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">tmp</font></div></div></div></foreignObject><text x="1232" y="24" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">tmp</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-102"><g><path d="M 1232 130 L 1232 260" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-99"><g><rect x="1197" y="90" width="70" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 110px; margin-left: 1198px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">work</font></div></div></div></foreignObject><text x="1232" y="114" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">work</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-106"><g><path d="M 1232 300 L 1232 310 Q 1232 320 1242 320 L 1412 320 Q 1422 320 1422 330 L 1422 340" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-155"><g><path d="M 1232 300 L 1232 310 Q 1232 320 1222 320 L 789 320 Q 779 320 779 330 L 778.99 340" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--14"><g><path d="M 1147 280 Q 1099.6 280 1099.56 333.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 1099.56 338.88 L 1097.23 331.88 L 1099.56 333.63 L 1101.9 331.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-100"><g><rect x="1147" y="260" width="170" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 280px; margin-left: 1148px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter"><b>${MULTIMACH_TARGET_OS}</b></font></div></div></div></foreignObject><text x="1232" y="284" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">${MULTIMACH_TARGET_OS}</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-110"><g><path d="M 778.99 380 L 779 420" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-103"><g><rect x="743.99" y="340" width="70" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 360px; margin-left: 745px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">libhello</font></div></div></div></foreignObject><text x="779" y="364" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">libhello</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-111"><g><path d="M 1422 380 L 1422 390 Q 1422 400 1422 392.5 L 1422 388.75 Q 1422 385 1422 395 L 1422 405" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-105"><g><rect x="1387" y="340" width="70" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 360px; margin-left: 1388px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">sayhello</font></div></div></div></foreignObject><text x="1422" y="364" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">sayhello</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-169"><g><path d="M 779 460 L 779 490 Q 779 500 769 500 L 509 500 Q 499 500 499 510 L 499 533.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 499 538.88 L 496.67 531.88 L 499 533.63 L 501.33 531.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-170"><g><path d="M 779 460 L 779 490 Q 779 500 769 500 L 617 500 Q 607 500 607 510 L 607 547.5 Q 607 557.5 606.43 557.5 L 605.87 557.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 600.62 557.5 L 607.62 555.17 L 605.87 557.5 L 607.62 559.83 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-179"><g><path d="M 779 460 L 778.99 533.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 778.99 538.88 L 775.49 531.88 L 778.99 533.63 L 782.49 531.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-197"><g><path d="M 779 460 L 779 490 Q 779 500 789 500 L 1067 500 Q 1077 500 1077 510 L 1077 533.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1077 538.88 L 1073.5 531.88 L 1077 533.63 L 1080.5 531.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-108"><g><rect x="744" y="420" width="70" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 440px; margin-left: 745px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">0.1-r0</font></div></div></div></foreignObject><text x="779" y="444" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">0.1-r0</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-309"><g><path d="M 1422 445 L 1422 490 Q 1422 500 1412 500 L 1392 500 Q 1382 500 1382 510 L 1382 533.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1382 538.88 L 1378.5 531.88 L 1382 533.63 L 1385.5 531.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-311"><g><path d="M 1422 445 L 1422 490 Q 1422 500 1432 500 L 1746.5 500 Q 1756.5 500 1756.5 510 L 1756.5 533.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1756.5 538.88 L 1753 531.88 L 1756.5 533.63 L 1760 531.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-312"><g><path d="M 1422 445 L 1422 490 Q 1422 500 1432 500 L 1919 500 Q 1929 500 1929 510 L 1928.99 533.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1928.99 538.88 L 1925.49 531.88 L 1928.99 533.63 L 1932.49 531.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-360"><g><path d="M 1422 445 L 1422 490 Q 1422 500 1432 500 L 2078.5 500 Q 2088.5 500 2088.5 510 L 2088.5 533.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2088.5 538.88 L 2085 531.88 L 2088.5 533.63 L 2092 531.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-368"><g><path d="M 1422 445 L 1422 490 Q 1422 500 1432 500 L 2267 500 Q 2277 500 2277 510 L 2277 533.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2277 538.88 L 2273.5 531.88 L 2277 533.63 L 2280.5 531.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-388"><g><path d="M 1422 445 L 1422 490 Q 1422 500 1432 500 L 2487 500 Q 2497 500 2497 510 L 2497 533.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2497 538.88 L 2493.5 531.88 L 2497 533.63 L 2500.5 531.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-109"><g><rect x="1387" y="405" width="70" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 425px; margin-left: 1388px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">0.1-r0</font></div></div></div></foreignObject><text x="1422" y="429" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">0.1-r0</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-134"><g><path d="M 405.5 130 L 405.5 140 Q 405.5 150 405.5 140 L 405.5 135 Q 405.5 130 405.5 140 L 405.5 150" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--19"><g><path d="M 440.5 110 Q 553.8 110 553.75 51.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 553.75 46.12 L 556.09 53.12 L 553.75 51.37 L 551.42 53.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-130"><g><rect x="370.5" y="90" width="70" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 110px; margin-left: 372px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">downloads</font></div></div></div></foreignObject><text x="406" y="114" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">downloads</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-143"><g><path d="M 405.5 190 L 405.5 200 Q 405.5 210 405.5 200 L 405.5 195 Q 405.5 190 405.5 200 L 405.5 210" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-133"><g><rect x="370.5" y="150" width="70" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 170px; margin-left: 372px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">git2</font></div></div></div></foreignObject><text x="406" y="174" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">git2</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-223"><g><path d="M 520.5 290 L 657 290 Q 667 290 667 300 L 667 567.5 Q 667 577.5 657 577.5 L 642.1 577.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 635.35 577.5 L 644.35 573 L 642.1 577.5 L 644.35 582 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-135"><g><rect x="290.5" y="220" width="230" height="40" rx="6" ry="6" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 228px; height: 1px; padding-top: 240px; margin-left: 292px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">github.com.<username>.sayhello</div></div></div></foreignObject><text x="406" y="244" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">github.com.<username>.sayhello</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-337"><g><path d="M 520.5 240 L 1657 240 Q 1667 240 1667 250 L 1667 550 Q 1667 560 1677 560 L 1713.9 560" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1720.65 560 L 1711.65 564.5 L 1713.9 560 L 1711.65 555.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-136"><g><rect x="290.5" y="270" width="230" height="40" rx="6" ry="6" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 228px; height: 1px; padding-top: 290px; margin-left: 292px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">github.com.<username>.libhello</div></div></div></foreignObject><text x="406" y="294" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">github.com.<username>.libhello</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-164"><g><path d="M 599.5 597.5 Q 599.5 628.8 603.25 628.8 Q 607 628.8 607 653.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 607 658.88 L 603.5 651.88 L 607 653.63 L 610.5 651.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-156"><g><rect x="567" y="557.5" width="65" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 63px; height: 1px; padding-top: 578px; margin-left: 568px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">sources/libhello-0.1</div></div></div></foreignObject><text x="600" y="581" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">sources/lib...</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-159"><g><rect x="553" y="680" width="114" height="20" rx="3" ry="3" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 690px; margin-left: 554px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Makefile</div></div></div></foreignObject><text x="610" y="694" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">Makefile</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-433"><g><path d="M 553 720 L 529.2 720 Q 519.2 720 519.2 710 L 519.2 678.8 Q 519.2 668.8 509.2 668.79 L 491.62 668.76" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 486.37 668.75 L 493.37 666.43 L 491.62 668.76 L 493.36 671.1 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-160"><g><rect x="553" y="710" width="114" height="20" rx="3" ry="3" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 720px; margin-left: 554px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">LICENSE</div></div></div></foreignObject><text x="610" y="724" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">LICENSE</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-215"><g><path d="M 553 750 Q 507 750 507 765 Q 507 780 542.9 780" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 549.65 780 L 540.65 783 L 542.9 780 L 540.65 777 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-161"><g><rect x="553" y="740" width="114" height="20" rx="3" ry="3" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 750px; margin-left: 554px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">fix.patch</div></div></div></foreignObject><text x="610" y="754" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">fix.patch</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-219"><g><path d="M 553.68 787.86 Q 497 787.9 497 819.6 Q 497 851.3 544.9 851.26" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 551.65 851.25 L 542.65 855.76 L 544.9 851.26 L 542.64 846.76 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-163"><g><rect x="553" y="770" width="114" height="20" rx="3" ry="3" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 780px; margin-left: 554px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">hellolib.c</div></div></div></foreignObject><text x="610" y="784" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">hellolib.c</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-166"><g><rect x="474" y="540" width="50" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 560px; margin-left: 475px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">temp</font></div></div></div></foreignObject><text x="499" y="564" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">temp</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-210"><g><path d="M 1077 580 L 1077 660" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-171"><g><rect x="1017" y="540" width="120" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 560px; margin-left: 1018px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">sysroot-destdir</font></div></div></div></foreignObject><text x="1077" y="564" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">sysroot-destdir</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-307"><g><path d="M 1382 580 L 1382 653.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1382 658.88 L 1379.67 651.88 L 1382 653.63 L 1384.33 651.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-172"><g><rect x="1327" y="540" width="110" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 560px; margin-left: 1328px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">recipe-sysroot</font></div></div></div></foreignObject><text x="1382" y="564" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">recipe-sysroot</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-182"><g><path d="M 779 580 L 779 673.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 779 678.88 L 776.67 671.88 L 779 673.63 L 781.33 671.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-175"><g><rect x="747.49" y="540" width="63" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 560px; margin-left: 748px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">image</font></div></div></div></foreignObject><text x="779" y="564" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">image</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-183"><g><path d="M 779.1 720 L 779.1 730 Q 779.1 740 779.06 746.82 L 779.03 753.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 779 758.88 L 776.7 751.87 L 779.03 753.63 L 781.37 751.89 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-184"><g><path d="M 779 720 Q 779 740 838.75 740 Q 898.5 740 898.5 753.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 898.5 758.88 L 896.17 751.88 L 898.5 753.63 L 900.83 751.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-177"><g><rect x="757.25" y="680" width="43.5" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 700px; margin-left: 758px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">usr</font></div></div></div></foreignObject><text x="779" y="704" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">usr</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-188"><g><path d="M 778.99 800 L 779 823.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 779 828.88 L 776.67 821.88 L 779 823.63 L 781.33 821.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-180"><g><rect x="752.12" y="760" width="53.75" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 52px; height: 1px; padding-top: 780px; margin-left: 753px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">include</font></div></div></div></foreignObject><text x="779" y="784" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">include</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-192"><g><path d="M 898.6 800 L 898.6 810 Q 898.6 820 898.58 821.82 L 898.56 823.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 898.51 828.88 L 895.08 821.85 L 898.56 823.63 L 902.08 821.92 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-181"><g><rect x="876.75" y="760" width="43.5" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 780px; margin-left: 878px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">lib</font></div></div></div></foreignObject><text x="899" y="784" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">lib</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-187"><g><rect x="739" y="830" width="80" height="25" rx="3.75" ry="3.75" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 843px; margin-left: 740px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">hellolib.h</div></div></div></foreignObject><text x="779" y="846" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">hellolib.h</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-189"><g><rect x="837" y="837.5" width="120" height="20" rx="3" ry="3" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 848px; margin-left: 838px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">libhello.so.1</div></div></div></foreignObject><text x="897" y="851" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">libhello.so.1</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-190"><g><rect x="837" y="862.5" width="120" height="25" rx="3.75" ry="3.75" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 875px; margin-left: 838px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">libhello.so.1.0</div></div></div></foreignObject><text x="897" y="879" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">libhello.so.1.0</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-191"><g><rect x="830" y="830" width="137" height="62.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-286"><g><path d="M 1107 900 Q 1107 940 1244.5 940 Q 1382 940 1382 910.1" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1382 903.35 L 1386.5 912.35 L 1382 910.1 L 1377.5 912.35 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-209"><g><rect x="1017" y="660" width="120" height="240" rx="18" ry="18" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 780px; margin-left: 1018px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Everything in <b>image</b> folder that is present in <b>SYSROOT_DIRS</b> will be copied here.</div></div></div></foreignObject><text x="1077" y="784" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">Everything in image...</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-233"><g><path d="M 919.5 900 Q 919.5 940 998.25 940 Q 1077 940 1077 910.1" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1077 903.35 L 1081.5 912.35 L 1077 910.1 L 1072.5 912.35 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-212"><g><path d="M 607 900 Q 607 940 735.3 940 Q 863.6 940 863.61 909.86" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 863.61 903.11 L 868.11 912.12 L 863.61 909.86 L 859.11 912.11 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-213"><g><rect x="687" y="920" width="90" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 732px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_install</font></div></div></div></foreignObject><text x="732" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_install</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-214"><g><rect x="555" y="837.5" width="114" height="27.5" rx="4.13" ry="4.13" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 851px; margin-left: 556px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">libhello.so.1.0</div></div></div></foreignObject><text x="612" y="855" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">libhello.so.1.0</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-217"><g><rect x="417" y="795" width="110" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 810px; margin-left: 472px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_configure<br /></font></div></div></div></foreignObject><text x="472" y="814" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_configure
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-218"><g><rect x="553" y="800" width="114" height="20" rx="3" ry="3" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 810px; margin-left: 554px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">hellolib.h</div></div></div></foreignObject><text x="610" y="814" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">hellolib.h</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-221"><g><rect x="447" y="750" width="80" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 765px; margin-left: 487px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_patch<br /></font></div></div></div></foreignObject><text x="487" y="769" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_patch
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-224"><g><rect x="623.5" y="405" width="90" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 420px; margin-left: 669px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_unpack<br /></font></div></div></div></foreignObject><text x="669" y="424" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_unpack
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-225"><g><ellipse cx="608.5" cy="420" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 420px; margin-left: 595px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">6</b></font></div></div></div></foreignObject><text x="609" y="424" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">6</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-226"><g><ellipse cx="432" cy="765" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 765px; margin-left: 418px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">7</b></font></div></div></div></foreignObject><text x="432" y="769" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">7</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-227"><g><ellipse cx="402" cy="810" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 810px; margin-left: 388px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">8</b></font></div></div></div></foreignObject><text x="402" y="814" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">8</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-229"><g><rect x="437" y="827.5" width="90" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 843px; margin-left: 482px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_compile<br /></font></div></div></div></foreignObject><text x="482" y="846" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_compile
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-228"><g><ellipse cx="422" cy="842.5" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 843px; margin-left: 408px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">9</b></font></div></div></div></foreignObject><text x="422" y="846" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">9</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-231"><g><ellipse cx="672" cy="935" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 658px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">10</b></font></div></div></div></foreignObject><text x="672" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">10</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-235"><g><rect x="932" y="920" width="160" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 1012px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_populate_sysroot</font></div></div></div></foreignObject><text x="1012" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_populate_sysroot</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-236"><g><ellipse cx="917" cy="935" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 903px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">11</b></font></div></div></div></foreignObject><text x="917" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">11</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-355"><g><path d="M 1757 820 Q 1757 940 1843 940 Q 1929 940 1928.99 910.1" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1928.99 903.35 L 1933.49 912.35 L 1928.99 910.1 L 1924.49 912.36 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-238"><g><rect x="1687" y="660" width="140" height="160" rx="21" ry="21" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-239"><g><path d="M 1756.5 580 Q 1756.5 620 1756.92 653.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1756.99 658.88 L 1753.4 651.93 L 1756.92 653.63 L 1760.4 651.84 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="w4JjUiD6-ryT0rcgaIPJ-1"><g><path d="M 1724 560 L 1723.37 560" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1718.12 560 L 1725.12 556.5 L 1723.37 560 L 1725.12 563.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-240"><g><rect x="1724" y="540" width="65" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 63px; height: 1px; padding-top: 560px; margin-left: 1725px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>sources/sayhello-0.1</div><div><br /></div></div></div></div></foreignObject><text x="1757" y="564" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">sources/say...</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-241"><g><rect x="1700" y="680" width="114" height="20" rx="3" ry="3" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 690px; margin-left: 1701px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Makefile</div></div></div></foreignObject><text x="1757" y="694" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">Makefile</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-242"><g><rect x="1700" y="710" width="114" height="20" rx="3" ry="3" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 720px; margin-left: 1701px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">LICENSE</div></div></div></foreignObject><text x="1757" y="724" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">LICENSE</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-330"><g><path d="M 1700 750 Q 1647 750 1647 771.9 Q 1647 793.8 1689.9 793.76" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1696.65 793.75 L 1687.65 798.26 L 1689.9 793.76 L 1687.64 789.26 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-244"><g><rect x="1700" y="740" width="114" height="20" rx="3" ry="3" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 750px; margin-left: 1701px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">sayhello.c</div></div></div></foreignObject><text x="1757" y="754" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">sayhello.c</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-245"><g><rect x="1700" y="780" width="114" height="27.5" rx="4.13" ry="4.13" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 794px; margin-left: 1701px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">sayhello</div></div></div></foreignObject><text x="1757" y="797" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">sayhello</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-363"><g><path d="M 1958.99 900 Q 1957 900 1957 920 Q 1957 940 2022.75 940 Q 2088.5 940 2088.5 910.1" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2088.5 903.35 L 2093 912.35 L 2088.5 910.1 L 2084 912.35 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-247"><g><rect x="1868.99" y="660" width="120" height="240" rx="18" ry="18" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-248"><g><path d="M 1928.99 580 L 1928.99 653.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1928.99 658.88 L 1926.66 651.88 L 1928.99 653.63 L 1931.32 651.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-249"><g><rect x="1897.49" y="540" width="63" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 560px; margin-left: 1898px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">image</font></div></div></div></foreignObject><text x="1929" y="564" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">image</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-250"><g><path d="M 1929.1 720 L 1929.1 735 Q 1929.1 745 1929.06 754.32 L 1929.03 763.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1929.01 768.88 L 1926.7 761.87 L 1929.03 763.63 L 1931.37 761.89 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-252"><g><rect x="1907.25" y="680" width="43.5" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 700px; margin-left: 1908px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">usr</font></div></div></div></foreignObject><text x="1929" y="704" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">usr</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-253"><g><path d="M 1929.01 810 L 1929 848.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1929 853.88 L 1926.67 846.88 L 1929 848.63 L 1931.33 846.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-254"><g><rect x="1902.13" y="770" width="53.75" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 52px; height: 1px; padding-top: 790px; margin-left: 1903px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">bin</font></div></div></div></foreignObject><text x="1929" y="794" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">bin</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-266"><g><path d="M 416.5 430 Q 506.5 430 506.5 507.5 Q 506.5 585 558.76 585" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="2 4" pointer-events="stroke"/><path d="M 564.76 585 L 556.76 587.67 L 558.76 585 L 556.76 582.33 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-267"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 421px; margin-left: 438px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; background-color: #ffffff; border-color: #000000; "><div style="display: inline-block; font-size: 11px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); border-width: 1px; border-style: solid; border-color: inherit; border: 1px solid light-dark(#000000, #ffffff); white-space: nowrap; "><div><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" style="font-size: 14px;">S = "${UNPACKDIR}/${BP}"</font></div></div></div></div></foreignObject><text x="438" y="424" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="11px" text-anchor="middle">S = "${UNPACKDIR}/${BP}"</text></switch></g></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-270"><g><rect x="800.75" y="405" width="63" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 418px; margin-left: 802px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">WORKDIR</font></div></div></div></foreignObject><text x="832" y="421" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">WORKDIR</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-271"><g><rect x="730.75" y="540" width="26.5" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 25px; height: 1px; padding-top: 553px; margin-left: 732px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">D</font></div></div></div></foreignObject><text x="744" y="556" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">D</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-272"><g><rect x="567" y="540" width="26.5" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 25px; height: 1px; padding-top: 553px; margin-left: 568px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">S</font></div></div></div></foreignObject><text x="580" y="556" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">S</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-273"><g><rect x="540.5" y="540" width="26.5" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 25px; height: 1px; padding-top: 553px; margin-left: 542px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">B</font></div></div></div></foreignObject><text x="554" y="556" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">B</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-275"><g><rect x="458.75" y="540" width="26.5" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 25px; height: 1px; padding-top: 553px; margin-left: 460px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">T</font></div></div></div></foreignObject><text x="472" y="556" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">T</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-276"><g><rect x="907" y="790" width="50" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 803px; margin-left: 908px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">libdir</font></div></div></div></foreignObject><text x="932" y="806" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">libdir</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-277"><g><rect x="783.75" y="790" width="80" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 803px; margin-left: 785px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">includedir</font></div></div></div></foreignObject><text x="824" y="806" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">includedir</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-279"><g><rect x="1400.87" y="570" width="116.13" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 583px; margin-left: 1402px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">RECIPE_SYSROOT</font></div></div></div></foreignObject><text x="1459" y="586" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">RECIPE_SYSROOT</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-351"><g><path d="M 1806.8 565 Q 1806.8 527.5 1799.35 527.5 Q 1791.9 527.5 1791.88 496.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 1791.88 491.12 L 1794.21 498.12 L 1791.88 496.37 L 1789.55 498.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-281"><g><rect x="1793.5" y="565" width="26.5" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 25px; height: 1px; padding-top: 578px; margin-left: 1795px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">S</font></div></div></div></foreignObject><text x="1807" y="581" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">S</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-282"><g><rect x="1767" y="565" width="26.5" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 25px; height: 1px; padding-top: 578px; margin-left: 1768px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">B</font></div></div></div></foreignObject><text x="1780" y="581" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">B</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-283"><g><rect x="1950.75" y="565" width="26.5" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 25px; height: 1px; padding-top: 578px; margin-left: 1952px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">D</font></div></div></div></foreignObject><text x="1964" y="581" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">D</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-284"><g><rect x="1447" y="395" width="63" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 408px; margin-left: 1448px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">WORKDIR</font></div></div></div></foreignObject><text x="1479" y="411" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">WORKDIR</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-287"><g><rect x="1160" y="920" width="200" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 1260px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_prepare_recipe_sysroot</font></div></div></div></foreignObject><text x="1260" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_prepare_recipe_sysroot</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-292"><g><rect x="1884" y="855" width="90" height="27.5" rx="4.13" ry="4.13" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 869px; margin-left: 1885px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">sayhello</div></div></div></foreignObject><text x="1929" y="872" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">sayhello</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-293"><g><rect x="1247" y="660" width="270" height="240" rx="36" ry="36" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-294"><g><path d="M 1309.1 720 Q 1309.1 740 1309.03 753.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1309 758.88 L 1306.7 751.87 L 1309.03 753.63 L 1311.37 751.89 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-295"><g><path d="M 1309 720 Q 1309 740 1368.75 740 Q 1428.5 740 1428.5 753.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1428.5 758.88 L 1426.17 751.88 L 1428.5 753.63 L 1430.83 751.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-296"><g><rect x="1287.25" y="680" width="43.5" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 700px; margin-left: 1288px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">usr</font></div></div></div></foreignObject><text x="1309" y="704" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">usr</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-297"><g><path d="M 1308.99 800 L 1309 823.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1309 828.88 L 1306.67 821.88 L 1309 823.63 L 1311.33 821.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-298"><g><rect x="1282.12" y="760" width="53.75" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 52px; height: 1px; padding-top: 780px; margin-left: 1283px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">include</font></div></div></div></foreignObject><text x="1309" y="784" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">include</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-299"><g><path d="M 1428.6 800 L 1428.6 810 Q 1428.6 820 1428.58 821.82 L 1428.56 823.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1428.51 828.88 L 1426.25 821.86 L 1428.56 823.63 L 1430.91 821.91 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-300"><g><rect x="1406.75" y="760" width="43.5" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 780px; margin-left: 1408px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">lib</font></div></div></div></foreignObject><text x="1429" y="784" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">lib</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-301"><g><rect x="1269" y="830" width="80" height="25" rx="3.75" ry="3.75" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 843px; margin-left: 1270px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">hellolib.h</div></div></div></foreignObject><text x="1309" y="846" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">hellolib.h</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-302"><g><rect x="1367" y="837.5" width="120" height="20" rx="3" ry="3" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 848px; margin-left: 1368px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">libhello.so.1</div></div></div></foreignObject><text x="1427" y="851" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">libhello.so.1</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-303"><g><rect x="1367" y="862.5" width="120" height="25" rx="3.75" ry="3.75" fill="#f5f5f5" style="fill: light-dark(rgb(245, 245, 245), rgb(26, 26, 26)); stroke: light-dark(rgb(102, 102, 102), rgb(149, 149, 149));" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 875px; margin-left: 1368px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#333333, #c1c1c1); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">libhello.so.1.0</div></div></div></foreignObject><text x="1427" y="879" fill="#333333" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">libhello.so.1.0</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-304"><g><rect x="1360" y="830" width="137" height="62.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-308"><g><rect x="970" y="420" width="390" height="70" fill="none" stroke="#36393d" style="stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 455px; margin-left: 1165px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" style="font-size: 15px;">This also contains other files from other <br />dependencies. Default dependencies are:<br />basically <b style=""><u>gcc</u></b>, <b style=""><u>compilerlibs</u></b> and <b style=""><u style="">libc</u></b></font></div></div></div></foreignObject><text x="1165" y="459" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">This also contains other files from other...</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-310"><g><rect x="1092" y="570" width="127.5" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 126px; height: 1px; padding-top: 583px; margin-left: 1093px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">SYSROOT_DESTDIR</font></div></div></div></foreignObject><text x="1156" y="586" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">SYSROOT_DESTDIR</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-322"><g><path d="M 82.5 240 L 280.4 240" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 287.15 240 L 278.15 244.5 L 280.4 240 L 278.15 235.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-323"><g><path d="M 82.5 290 L 280.4 290" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 287.15 290 L 278.15 294.5 L 280.4 290 L 278.15 285.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-314"><g><rect x="0.5" y="215" width="82" height="100" rx="12.3" ry="12.3" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(35, 68, 93), rgb(160, 188, 210));" stroke="#23445d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 80px; height: 1px; padding-top: 265px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font color="#fcfcfc" style="color: light-dark(rgb(252, 252, 252), rgb(20, 20, 20));">Github</font></div></div></div></foreignObject><text x="42" y="269" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">Github</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-316"><g><rect x="133.75" y="225" width="80" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 240px; margin-left: 174px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_fetch<br /></font></div></div></div></foreignObject><text x="174" y="244" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_fetch
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-317"><g><ellipse cx="118.75" cy="240" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 240px; margin-left: 105px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">1</b></font></div></div></div></foreignObject><text x="119" y="244" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">1</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-326"><g><rect x="133.75" y="275" width="80" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 290px; margin-left: 174px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_fetch<br /></font></div></div></div></foreignObject><text x="174" y="294" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_fetch
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-327"><g><ellipse cx="118.75" cy="290" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 290px; margin-left: 105px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">5</b></font></div></div></div></foreignObject><text x="119" y="294" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">5</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-331"><g><rect x="1557" y="745" width="110" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 760px; margin-left: 1612px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_configure<br /></font></div></div></div></foreignObject><text x="1612" y="764" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_configure
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-332"><g><ellipse cx="1542" cy="760" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 760px; margin-left: 1528px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">12</b></font></div></div></div></foreignObject><text x="1542" y="764" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">12</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-333"><g><rect x="1577" y="777.5" width="90" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 793px; margin-left: 1622px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_compile<br /></font></div></div></div></foreignObject><text x="1622" y="796" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_compile
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-334"><g><ellipse cx="1562" cy="792.5" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 793px; margin-left: 1548px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">13</b></font></div></div></div></foreignObject><text x="1562" y="796" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">13</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-340"><g><rect x="627" y="225" width="90" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 240px; margin-left: 672px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_unpack<br /></font></div></div></div></foreignObject><text x="672" y="244" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_unpack
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-341"><g><ellipse cx="612" cy="240" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 240px; margin-left: 598px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">2</b></font></div></div></div></foreignObject><text x="612" y="244" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">2</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-349"><g><path d="M 1462 130 Q 1462 150 1462.07 148.64" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1461.81 153.88 L 1458.66 146.72 L 1462.07 148.64 L 1465.65 147.07 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-438"><g><path d="M 1462 130 Q 1462 140 1398.15 140 Q 1334.3 140 1334.27 148.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1334.25 153.88 L 1330.78 146.87 L 1334.27 148.63 L 1337.78 146.89 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-439"><g><path d="M 1462 130 Q 1462 140 1527 140 Q 1592 140 1592 148.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1592 153.88 L 1588.5 146.88 L 1592 148.63 L 1595.5 146.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-343"><g><rect x="1427" y="90" width="70" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 110px; margin-left: 1428px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">conf</font></div></div></div></foreignObject><text x="1462" y="114" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">conf</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--26"><g><path d="M 1287.25 165 Q 1277 165 1277 127.5 Q 1277 90 1313 90 Q 1349 90 1349 51.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 1349 46.12 L 1351.33 53.12 L 1349 51.37 L 1346.67 53.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-345"><g><rect x="1287.25" y="155" width="94" height="20" rx="3" ry="3" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 92px; height: 1px; padding-top: 165px; margin-left: 1288px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">local.conf</div></div></div></foreignObject><text x="1334" y="169" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">local.conf</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--24"><g><path d="M 1461.8 175 Q 1461.8 215 1511.9 215 Q 1562 215 1562 248.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 1562 253.88 L 1559.67 246.88 L 1562 248.63 L 1564.33 246.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-346"><g><rect x="1406.75" y="155" width="110" height="20" rx="3" ry="3" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 165px; margin-left: 1408px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">bblayers.conf</div></div></div></foreignObject><text x="1462" y="169" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">bblayers.conf</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-350"><g><rect x="1676.75" y="340" width="230.25" height="150" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 228px; height: 1px; padding-top: 415px; margin-left: 1678px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 15px;"><b><u>S</u></b> defaults generally to <b><u>${UNPACKDIR}/${BP}</u></b><br /></font></div></div></div></foreignObject><text x="1792" y="419" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">S defaults generally to ${UNPACKDIR}/$...</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-352"><g><rect x="1557" y="675" width="110" height="40" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 695px; margin-left: 1612px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_patch<br /><i>(No patches)</i><br /></font></div></div></div></foreignObject><text x="1612" y="699" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_patch...</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-353"><g><ellipse cx="1542" cy="695" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 695px; margin-left: 1528px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">3</b></font></div></div></div></foreignObject><text x="1542" y="699" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">3</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-354"><g><ellipse cx="1145" cy="935" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 1131px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">4</b></font></div></div></div></foreignObject><text x="1145" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">4</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-356"><g><rect x="1731.75" y="890" width="90" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 905px; margin-left: 1777px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_install<br /></font></div></div></div></foreignObject><text x="1777" y="909" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_install
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-357"><g><ellipse cx="1717" cy="905" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 905px; margin-left: 1703px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">14</b></font></div></div></div></foreignObject><text x="1717" y="909" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">14</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-362"><g><path d="M 2088.51 580 L 2088.51 653.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2088.51 658.88 L 2086.17 651.88 L 2088.51 653.63 L 2090.84 651.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-358"><g><rect x="2057" y="540" width="63" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 560px; margin-left: 2058px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">package</font></div></div></div></foreignObject><text x="2089" y="564" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">package</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-359"><g><rect x="2110.26" y="565" width="36.74" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 35px; height: 1px; padding-top: 578px; margin-left: 2111px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">PKGD</font></div></div></div></foreignObject><text x="2129" y="581" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">PKGD</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-384"><g><path d="M 2115.44 900 Q 2115.4 940 2196.2 940 Q 2277 940 2277 910.1" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2277 903.35 L 2281.5 912.35 L 2277 910.1 L 2272.5 912.35 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-361"><g><rect x="2034.63" y="660" width="107.75" height="240" rx="16.16" ry="16.16" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 106px; height: 1px; padding-top: 780px; margin-left: 2036px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">A copy of <b>${D}<br /></b>excluding<br /><b>/sysroot-only</b></div></div></div></foreignObject><text x="2089" y="784" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">A copy of ${D}...</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-364"><g><rect x="1990.24" y="920" width="90" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 2035px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_package<br /></font></div></div></div></foreignObject><text x="2035" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_package
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-365"><g><ellipse cx="1975.49" cy="935" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 1961px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">15</b></font></div></div></div></foreignObject><text x="1975" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">15</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-381"><g><path d="M 2277 580 L 2277 653.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2277 658.88 L 2274.67 651.88 L 2277 653.63 L 2279.33 651.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-366"><g><rect x="2217" y="540" width="120" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 560px; margin-left: 2218px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">packages-split</font></div></div></div></foreignObject><text x="2277" y="564" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">packages-split</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-367"><g><rect x="2327" y="565" width="60" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 578px; margin-left: 2328px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">PKGDEST</font></div></div></div></foreignObject><text x="2357" y="581" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">PKGDEST</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-377"><g><path d="M 2277 710 L 2277 723.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2277 728.88 L 2274.67 721.88 L 2277 723.63 L 2279.33 721.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-369"><g><rect x="2245.5" y="670" width="63" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 690px; margin-left: 2247px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">sayhello</font></div></div></div></foreignObject><text x="2277" y="694" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">sayhello</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-372"><g><path d="M 2277.1 770 L 2277.1 780 Q 2277.1 790 2277.09 790.57 L 2277.08 791.13" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2277.01 796.38 L 2274.78 789.35 L 2277.08 791.13 L 2279.44 789.42 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-373"><g><rect x="2255.25" y="730" width="43.5" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 42px; height: 1px; padding-top: 750px; margin-left: 2256px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">usr</font></div></div></div></foreignObject><text x="2277" y="754" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">usr</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-374"><g><path d="M 2276.99 837.5 L 2276.99 853.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2276.99 858.88 L 2274.66 851.88 L 2276.99 853.63 L 2279.33 851.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-375"><g><rect x="2250.12" y="797.5" width="53.75" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 52px; height: 1px; padding-top: 818px; margin-left: 2251px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">bin</font></div></div></div></foreignObject><text x="2277" y="821" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">bin</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-382"><g><rect x="1922.37" y="340" width="321.75" height="148.75" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 320px; height: 1px; padding-top: 414px; margin-left: 1923px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size: 15px;">Folders created here are present in <b><u>PACKAGES</u></b> variable, BitBake knows what and where to put things using the <b><u>FILES</u></b> variable, example: <b><u>FILES:${PN}</u></b> files will go to <b><u>${PN}</u></b> folder which is in <b><u>PACKAGES</u></b></span></div></div></div></foreignObject><text x="2083" y="418" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">Folders created here are present in PACKAGES variable...</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-385"><g><rect x="2160.12" y="920" width="90" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 2205px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_package<br /></font></div></div></div></foreignObject><text x="2205" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_package
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-386"><g><ellipse cx="2145.37" cy="935" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 2131px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">16</b></font></div></div></div></foreignObject><text x="2145" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">16</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-390"><g><path d="M 2497 580 L 2497 668.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2497 673.88 L 2494.67 666.88 L 2497 668.63 L 2499.33 666.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-387"><g><rect x="2437" y="540" width="120" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 560px; margin-left: 2438px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">deploy-<b><i>pkg</i></b></font></div></div></div></foreignObject><text x="2497" y="564" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">deploy-pkg</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-396"><g><path d="M 2497 715 L 2497 753.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2497 758.88 L 2494.67 751.88 L 2497 753.63 L 2499.33 751.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-389"><g><rect x="2437" y="675" width="120" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 695px; margin-left: 2438px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter"><b>${PACKAGE_ARCH}</b></font></div></div></div></foreignObject><text x="2497" y="699" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">${PACKAGE_ARCH}</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-393"><g><rect x="2257" y="340" width="410" height="148.75" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 408px; height: 1px; padding-top: 414px; margin-left: 2258px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 15px;">This can be <b><u>rpms</u></b>, <b><u>debs</u></b> or <b><u>ipks</u></b>.<br />These are provided by<br /><b><u>package_rpm</u></b>, <b><u>package_deb</u></b> and <b><u>package_ipk</u></b> classes respectively, use <b><u>PACKAGE_CLASSES</u></b> for that as<br />content of <b><u>PACKAGE_CLASSES</u></b> will be appended<br />to <b><u>INHERIT</u></b><br /></font></div></div></div></foreignObject><text x="2462" y="418" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">This can be rpms, debs or ipks....</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-415"><g><path d="M 2630.5 776.25 L 2677 776.29 Q 2687 776.3 2687 766.3 L 2687 330 Q 2687 320 2677 320 L 1838.5 320 Q 1828.5 320 1828.5 310 L 1828.5 295.1" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1828.5 288.35 L 1833 297.35 L 1828.5 295.1 L 1824 297.35 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="#000000" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-395"><g><rect x="2363.5" y="760" width="267" height="32.5" rx="4.88" ry="4.88" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 265px; height: 1px; padding-top: 776px; margin-left: 2365px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">sayhello-0.1-r0.${PACKAGE_ARCH}.<i>pkg</i></div></div></div></foreignObject><text x="2497" y="780" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">sayhello-0.1-r0.${PACKAGE_ARCH}.pkg</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-397"><g><rect x="2697" y="660" width="370" height="170" fill="none" stroke="#36393d" style="stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 368px; height: 1px; padding-top: 745px; margin-left: 2698px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 15px;">This task also depends on <b><u>PACKAGE_CLASSES</u></b>,<br /><b><u><i>pkg</i></u></b> can be <b><u>rpm</u></b>, <b><u>deb</u></b> or <b><u>ipk</u></b> for <b><u>package_rpm</u></b>,<br /><b><u>package_deb</u></b> or <u style="font-weight: bold;">package_ipk</u> respectively.<br />The generated package generally named using:<br /><b><u>${PN}</u></b>, <b><u>${PR}</u></b>, <b><u>${PACKAGE_ARCH}</u></b> and <b><u><i>pkg</i></u></b><br /></font></div></div></div></foreignObject><text x="2882" y="749" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">This task also depends on PACKAGE_CLASSES,...</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-404"><g><path d="M 1828.5 130 L 1828.5 163.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1828.5 168.88 L 1825 161.88 L 1828.5 163.63 L 1832 161.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--21"><g><path d="M 1863.5 110 Q 1863.5 110 1935.63 110" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 1940.88 110 L 1933.88 112.33 L 1935.63 110 L 1933.88 107.67 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-401"><g><rect x="1793.5" y="90" width="70" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 110px; margin-left: 1795px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">deploy</font></div></div></div></foreignObject><text x="1829" y="114" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">deploy</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-414"><g><path d="M 1828.5 210 L 1828.5 220 Q 1828.5 230 1828.5 227.5 L 1828.5 226.25 Q 1828.5 225 1828.5 231.82 L 1828.5 238.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1828.5 243.88 L 1825 236.88 L 1828.5 238.63 L 1832 236.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-403"><g><rect x="1763.62" y="170" width="129.75" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 190px; margin-left: 1765px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b>${DEPLOY_DIR_<i>pkg</i>}</b></div></div></div></foreignObject><text x="1828" y="194" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">${DEPLOY_DIR_pkg}</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-408"><g><rect x="2372" y="920" width="150" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 935px; margin-left: 2447px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_package_write_<i>pkg</i><br /></font></div></div></div></foreignObject><text x="2447" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_package_write_pkg
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-409"><g><ellipse cx="2352" cy="935" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 935px; margin-left: 2338px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">17</b></font></div></div></div></foreignObject><text x="2352" y="939" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">17</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--11"><g><path d="M 2512 935 Q 2882 935 2882 836.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 2882 831.12 L 2884.33 838.12 L 2882 836.37 L 2879.67 838.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-413"><g><rect x="1768.5" y="245" width="120" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 265px; margin-left: 1770px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">${PACKAGE_ARCH}</div></div></div></foreignObject><text x="1829" y="269" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">${PACKAGE_ARCH}</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-416"><g><rect x="1942" y="168.13" width="415" height="41.87" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 413px; height: 1px; padding-top: 189px; margin-left: 1943px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 15px;">For packages, this can be <b><u>IPK</u></b>, <b><u>RPM</u></b> or <b><u>DEB</u></b> (<i>check step 17</i>)</font></div></div></div></foreignObject><text x="2150" y="193" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">For packages, this can be IPK, RPM or DEB (check step 17)</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-417"><g><rect x="1842.37" y="120" width="80" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 133px; margin-left: 1843px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">DEPLOY_DIR</font></div></div></div></foreignObject><text x="1882" y="136" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">DEPLOY_DIR</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-418"><g><rect x="1247" y="20" width="60" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 33px; margin-left: 1248px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">TMPDIR</font></div></div></div></foreignObject><text x="1277" y="36" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">TMPDIR</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-419"><g><rect x="417" y="120" width="62.68" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 133px; margin-left: 418px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">DL_DIR</font></div></div></div></foreignObject><text x="448" y="136" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">DL_DIR</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-422"><g><path d="M 1893.37 190 L 1907.7 190 Q 1917.7 190 1926.67 189.65 L 1935.64 189.31" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 1940.88 189.11 L 1933.98 191.71 L 1935.64 189.31 L 1933.8 187.05 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-424"><g><rect x="2622" y="595" width="150" height="30" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 610px; margin-left: 2697px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">do_package_write_<i>pkg</i><br /></font></div></div></div></foreignObject><text x="2697" y="614" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">do_package_write_pkg
</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-425"><g><ellipse cx="2602" cy="610" rx="15" ry="15" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(86, 81, 126), rgb(164, 160, 198));" stroke="#56517e" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 610px; margin-left: 2588px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" color="#ffffff" size="1" style="color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><b style="font-size: 15px;">18</b></font></div></div></div></foreignObject><text x="2602" y="614" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">18</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--8"><g><path d="M 2567 577.5 Q 2720 577.5 2720 499.75 Q 2720 422 2719.68 285.12" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 2719.66 279.87 L 2722.01 286.86 L 2719.68 285.12 L 2717.35 286.87 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-427"><g><rect x="2537" y="565" width="30" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-428"><g><path d="M 2522 550 Q 2522 519.4 2543.25 519.4 Q 2564.5 519.4 2564.5 495.12" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 2564.5 489.87 L 2566.83 496.87 L 2564.5 495.12 L 2562.17 496.87 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-429"><g><rect x="2407" y="201.25" width="416.88" height="77.5" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 415px; height: 1px; padding-top: 240px; margin-left: 2408px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 15px;">This can be <b><u>PKGWRITEDIRRPM</u></b>, <b><u>PKGWRITEDIRDEB</u></b> or <b><u>PKGWRITEDIRIPK</u></b> for <b><u>package_rpm</u></b>, <b><u>package_deb</u></b><br />or <b><u>package_ipk</u></b> respectively<br /></font></div></div></div></foreignObject><text x="2615" y="244" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">This can be PKGWRITEDIRRPM, PKGWRITEDIRDEB or PKGWRITEDIRIPK for pack...</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-432"><g><rect x="157" y="617.5" width="328.25" height="102.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 326px; height: 1px; padding-top: 669px; margin-left: 158px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size: 15px;">License checking happens in <b><u>do_populate_lic</u></b> after <b><u>do_patch<br /></u></b>and before that a checksum check<br />happends on <b><u>LIC_FILES_CHKSUM</u></b> if the<br />license is not <b><u>CLOSED</u></b><br /></span></div></div></div></foreignObject><text x="321" y="672" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">License checking happens in do_populate_lic after do_pa...</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-434"><g><rect x="882.12" y="340" width="434.88" height="70" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 433px; height: 1px; padding-top: 375px; margin-left: 883px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size: 15px;">This variable is used to separate recipes<br />based on their target. This has value of<br /><b><u>${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}</u></b><br /></span></div></div></div></foreignObject><text x="1100" y="379" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">This variable is used to separate recipes...</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--28"><g><path d="M 1647 165 Q 1715.8 165 1715.84 126.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 1715.85 121.12 L 1718.17 128.12 L 1715.84 126.37 L 1713.51 128.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-436"><g><rect x="1537" y="155" width="110" height="20" rx="3" ry="3" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 165px; margin-left: 1538px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">conf-notes.txt</div></div></div></foreignObject><text x="1592" y="169" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">conf-notes.txt</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--16"><g><path d="M 645.01 130 Q 645 165 760.63 165" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 765.88 165 L 758.88 167.33 L 760.63 165 L 758.88 162.67 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--18"><g><path d="M 593.5 110 Q 553.8 110 553.75 51.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 553.75 46.12 L 556.09 53.12 L 553.75 51.37 L 551.42 53.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-440"><g><rect x="593.5" y="90" width="103.01" height="40" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 101px; height: 1px; padding-top: 110px; margin-left: 595px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">sstate-cache</font></div></div></div></foreignObject><text x="645" y="114" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">sstate-cache</text></switch></g></g></g><g data-cell-id="eV5wDCu3Df9HtTySJIbg-442"><g><rect x="660.98" y="120" width="83.01" height="25" rx="3.75" ry="3.75" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 81px; height: 1px; padding-top: 133px; margin-left: 662px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#ffffff, #121212); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; "><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">SSTATE_DIR</font></div></div></div></foreignObject><text x="702" y="136" fill="#ffffff" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle" font-weight="bold">SSTATE_DIR</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--10"><g><rect x="2231.99" y="860" width="90" height="27.5" rx="4.13" ry="4.13" fill="#eeeeee" style="fill: light-dark(rgb(238, 238, 238), rgb(32, 32, 32)); stroke: light-dark(rgb(54, 57, 61), rgb(186, 189, 192));" stroke="#36393d" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 874px; margin-left: 2233px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">sayhello</div></div></div></foreignObject><text x="2277" y="877" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">sayhello</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--13"><g><path d="M 1165 490 Q 1165 575 1226.1 575 Q 1287.2 575 1287.23 652.91" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 1287.23 658.16 L 1284.89 651.16 L 1287.23 652.91 L 1289.56 651.16 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--15"><g><rect x="767" y="120" width="410" height="90" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 408px; height: 1px; padding-top: 165px; margin-left: 768px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size: 15px;">This folder contains cache for recipes build output, this is used by BitBake, if the recipe checksum did not change it knows that the output to use is the same.<br /></span></div></div></div></foreignObject><text x="972" y="169" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">This folder contains cache for recipes build output, this is used by...</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--17"><g><rect x="348.75" y="0" width="410" height="45" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 408px; height: 1px; padding-top: 23px; margin-left: 350px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size: 15px;"><font data-font-src="https://fonts.googleapis.com/css?family=Liberation+Sans">These directories can be shared accross builds to save disk space and build time</font><br /></span></div></div></div></foreignObject><text x="554" y="26" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">These directories can be shared accross builds to save disk space an...</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--20"><g><rect x="1942" y="87.5" width="416.88" height="45" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 415px; height: 1px; padding-top: 110px; margin-left: 1943px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 15px;">This directory contains other output directories such as <b><u>images</u></b>, <b><u>sdk</u></b> and <b><u>licenses</u></b><br /></font></div></div></div></foreignObject><text x="2150" y="114" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">This directory contains other output directories such as images, sdk...</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--22"><g><rect x="1477" y="255" width="170" height="130" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 320px; margin-left: 1478px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 15px;">This file contains all <b>layers</b> that BitBake should consider when looking for metadata.<br /></font></div></div></div></foreignObject><text x="1562" y="324" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">This file contains all layer...</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--25"><g><rect x="1349" y="5" width="440" height="40" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 438px; height: 1px; padding-top: 25px; margin-left: 1350px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 15px;">This is base configuration file containing essential user config such as <b><u>MACHINE</u></b> and <b><u>DISTRO</u></b><br /></font></div></div></div></foreignObject><text x="1569" y="29" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">This is base configuration file containing essential user config such as...</text></switch></g></g></g><g data-cell-id="utO5BPZsFb6q0V3ioqD--27"><g><rect x="1535" y="80" width="241.13" height="40" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-dasharray="3 3" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 239px; height: 1px; padding-top: 100px; margin-left: 1536px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Liberation Sans"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 15px;">The message to show after <b>source oe-init-build-env</b><br /></font></div></div></div></foreignObject><text x="1656" y="104" fill="light-dark(#000000, #ffffff)" font-family=""Liberation Sans"" font-size="12px" text-anchor="middle">The message to show after source oe-init...</text></switch></g></g></g><g data-cell-id="IR5jgyizBFApjn6Bth0e-1"><g><rect x="2737" y="600" width="30" height="20" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" pointer-events="all"/></g></g><g data-cell-id="IR5jgyizBFApjn6Bth0e-2"><g><rect x="2587" y="766.25" width="20" height="20" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" pointer-events="all"/></g></g><g data-cell-id="IR5jgyizBFApjn6Bth0e-3"><g><rect x="2487" y="925" width="25" height="20" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" pointer-events="all"/></g></g><g data-cell-id="IR5jgyizBFApjn6Bth0e-4"><g><rect x="2507" y="550" width="20" height="20" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" pointer-events="all"/></g></g><g data-cell-id="IR5jgyizBFApjn6Bth0e-5"><g><rect x="1863.5" y="181.25" width="20" height="20" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" pointer-events="all"/></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> \ No newline at end of file |
diff --git a/documentation/overview-manual/svg/configuration-compile-autoreconf.svg b/documentation/overview-manual/svg/configuration-compile-autoreconf.svg index c0de45681a..3be08018cb 100644 --- a/documentation/overview-manual/svg/configuration-compile-autoreconf.svg +++ b/documentation/overview-manual/svg/configuration-compile-autoreconf.svg | |||
@@ -1277,12 +1277,12 @@ | |||
1277 | x="287.2186" | 1277 | x="287.2186" |
1278 | y="300.76147" | 1278 | y="300.76147" |
1279 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1279 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1280 | id="tspan21"> sources-unpack <───────────────────── UNPACKDIR</tspan><tspan | 1280 | id="tspan21"> sources <──────────────────────────── UNPACKDIR</tspan><tspan |
1281 | sodipodi:role="line" | 1281 | sodipodi:role="line" |
1282 | x="287.2186" | 1282 | x="287.2186" |
1283 | y="314.09485" | 1283 | y="314.09485" |
1284 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1284 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1285 | id="tspan22"> ${BP} <────────────────────────────── S / B</tspan><tspan | 1285 | id="tspan22"> ${BP} <──────────────────────────── S / B</tspan><tspan |
1286 | sodipodi:role="line" | 1286 | sodipodi:role="line" |
1287 | x="287.2186" | 1287 | x="287.2186" |
1288 | y="327.42822" | 1288 | y="327.42822" |
@@ -1322,12 +1322,12 @@ | |||
1322 | x="287.2186" | 1322 | x="287.2186" |
1323 | y="420.76184" | 1323 | y="420.76184" |
1324 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1324 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1325 | id="tspan35"> sources-unpack <───────────────────── UNPACKDIR</tspan><tspan | 1325 | id="tspan35"> sources <──────────────────────────── UNPACKDIR</tspan><tspan |
1326 | sodipodi:role="line" | 1326 | sodipodi:role="line" |
1327 | x="287.2186" | 1327 | x="287.2186" |
1328 | y="434.09521" | 1328 | y="434.09521" |
1329 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1329 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1330 | id="tspan36"> ${BP} <────────────────────────────── S / B</tspan><tspan | 1330 | id="tspan36"> ${BP} <──────────────────────────── S / B</tspan><tspan |
1331 | sodipodi:role="line" | 1331 | sodipodi:role="line" |
1332 | x="287.2186" | 1332 | x="287.2186" |
1333 | y="447.42859" | 1333 | y="447.42859" |
diff --git a/documentation/overview-manual/svg/patching.svg b/documentation/overview-manual/svg/patching.svg index b0de175a20..5c56b5ac23 100644 --- a/documentation/overview-manual/svg/patching.svg +++ b/documentation/overview-manual/svg/patching.svg | |||
@@ -1074,12 +1074,12 @@ | |||
1074 | x="283.34647" | 1074 | x="283.34647" |
1075 | y="318.12881" | 1075 | y="318.12881" |
1076 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1076 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1077 | id="tspan21"> sources-unpack <──────────────────── UNPACKDIR</tspan><tspan | 1077 | id="tspan21"> sources <─────────────────────────── UNPACKDIR</tspan><tspan |
1078 | sodipodi:role="line" | 1078 | sodipodi:role="line" |
1079 | x="283.34647" | 1079 | x="283.34647" |
1080 | y="331.46219" | 1080 | y="331.46219" |
1081 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1081 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1082 | id="tspan31"> ${BP} <───────────────────────────── S</tspan><tspan | 1082 | id="tspan31"> ${BP} <─────────────────────────── S</tspan><tspan |
1083 | sodipodi:role="line" | 1083 | sodipodi:role="line" |
1084 | x="283.34647" | 1084 | x="283.34647" |
1085 | y="344.79556" | 1085 | y="344.79556" |
@@ -1099,12 +1099,12 @@ | |||
1099 | x="283.34647" | 1099 | x="283.34647" |
1100 | y="384.79568" | 1100 | y="384.79568" |
1101 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1101 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1102 | id="tspan35"> sources-unpack <──────────────────── UNPACKDIR</tspan><tspan | 1102 | id="tspan35"> sources <─────────────────────────── UNPACKDIR</tspan><tspan |
1103 | sodipodi:role="line" | 1103 | sodipodi:role="line" |
1104 | x="283.34647" | 1104 | x="283.34647" |
1105 | y="398.12906" | 1105 | y="398.12906" |
1106 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1106 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1107 | id="tspan47"> ${BP} <───────────────────────────── S</tspan></text> | 1107 | id="tspan47"> ${BP} <─────────────────────────── S</tspan></text> |
1108 | <text | 1108 | <text |
1109 | xml:space="preserve" | 1109 | xml:space="preserve" |
1110 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.8889px;line-height:125%;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.42682px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | 1110 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.8889px;line-height:125%;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.42682px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" |
diff --git a/documentation/overview-manual/svg/source-fetching.svg b/documentation/overview-manual/svg/source-fetching.svg index b7bab32773..39d7e0c2a7 100644 --- a/documentation/overview-manual/svg/source-fetching.svg +++ b/documentation/overview-manual/svg/source-fetching.svg | |||
@@ -1017,12 +1017,12 @@ | |||
1017 | x="281.13275" | 1017 | x="281.13275" |
1018 | y="317.37775" | 1018 | y="317.37775" |
1019 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1019 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1020 | id="tspan22"> sources-unpack <─────────────────────── UNPACKDIR</tspan><tspan | 1020 | id="tspan22"> sources <────────────────────────────── UNPACKDIR</tspan><tspan |
1021 | sodipodi:role="line" | 1021 | sodipodi:role="line" |
1022 | x="281.13275" | 1022 | x="281.13275" |
1023 | y="330.71112" | 1023 | y="330.71112" |
1024 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1024 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1025 | id="tspan32"> ${BP} <──────────────────────────────── S</tspan><tspan | 1025 | id="tspan32"> ${BP} <────────────────────────────── S</tspan><tspan |
1026 | sodipodi:role="line" | 1026 | sodipodi:role="line" |
1027 | x="281.13275" | 1027 | x="281.13275" |
1028 | y="344.04449" | 1028 | y="344.04449" |
@@ -1042,12 +1042,12 @@ | |||
1042 | x="281.13275" | 1042 | x="281.13275" |
1043 | y="384.04462" | 1043 | y="384.04462" |
1044 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1044 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1045 | id="tspan36"> sources-unpack <─────────────────────── UNPACKDIR</tspan><tspan | 1045 | id="tspan36"> sources <────────────────────────────── UNPACKDIR</tspan><tspan |
1046 | sodipodi:role="line" | 1046 | sodipodi:role="line" |
1047 | x="281.13275" | 1047 | x="281.13275" |
1048 | y="397.37799" | 1048 | y="397.37799" |
1049 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" | 1049 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Mono PS';-inkscape-font-specification:'Nimbus Mono PS, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke:none;stroke-width:1.42682px" |
1050 | id="tspan44"> ${BP} <──────────────────────────────── S</tspan></text> | 1050 | id="tspan44"> ${BP} <────────────────────────────── S</tspan></text> |
1051 | <text | 1051 | <text |
1052 | xml:space="preserve" | 1052 | xml:space="preserve" |
1053 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.5555px;line-height:125%;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.42682px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | 1053 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.5555px;line-height:125%;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.42682px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" |
diff --git a/documentation/overview-manual/yp-intro.rst b/documentation/overview-manual/yp-intro.rst index 15dfb3a6b6..40e9693a8d 100644 --- a/documentation/overview-manual/yp-intro.rst +++ b/documentation/overview-manual/yp-intro.rst | |||
@@ -51,7 +51,7 @@ Here are features and advantages of the Yocto Project: | |||
51 | RISC-V and other architectures. Most ODMs, OSVs, and chip vendors create and | 51 | RISC-V and other architectures. Most ODMs, OSVs, and chip vendors create and |
52 | supply BSPs that support their hardware. If you have custom silicon, you can | 52 | supply BSPs that support their hardware. If you have custom silicon, you can |
53 | create a BSP that supports that architecture. See | 53 | create a BSP that supports that architecture. See |
54 | :doc:`ref-manual/yocto-project-supported-features` for details on the level | 54 | :doc:`/ref-manual/yocto-project-supported-features` for details on the level |
55 | of support for some of these architectures. | 55 | of support for some of these architectures. |
56 | 56 | ||
57 | Aside from broad architecture support, the Yocto Project fully | 57 | Aside from broad architecture support, the Yocto Project fully |
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst index 54a98bf24f..f2f6e6e411 100644 --- a/documentation/ref-manual/classes.rst +++ b/documentation/ref-manual/classes.rst | |||
@@ -1732,77 +1732,158 @@ Its behavior is mainly controlled by the following variables: | |||
1732 | - :term:`KERNEL_DTC_FLAGS`: flags for ``dtc``, the Device Tree Compiler | 1732 | - :term:`KERNEL_DTC_FLAGS`: flags for ``dtc``, the Device Tree Compiler |
1733 | - :term:`KERNEL_PACKAGE_NAME`: base name of the kernel packages | 1733 | - :term:`KERNEL_PACKAGE_NAME`: base name of the kernel packages |
1734 | 1734 | ||
1735 | .. _ref-classes-kernel-fitimage: | 1735 | .. _ref-classes-kernel-fit-image: |
1736 | 1736 | ||
1737 | ``kernel-fitimage`` | 1737 | ``kernel-fit-image`` |
1738 | =================== | 1738 | ==================== |
1739 | 1739 | ||
1740 | The :ref:`ref-classes-kernel-fitimage` class provides support to pack a kernel image, | 1740 | The :ref:`ref-classes-kernel-fit-image` class provides support to pack a kernel image, |
1741 | device trees, a U-boot script, an :term:`Initramfs` bundle and a RAM disk | 1741 | device trees, a U-boot script, and an :term:`Initramfs` into a single FIT image. |
1742 | into a single FIT image. In theory, a FIT image can support any number | 1742 | In theory, a FIT image can support any number of kernels, U-boot scripts, |
1743 | of kernels, U-boot scripts, :term:`Initramfs` bundles, RAM disks and device-trees. | 1743 | :term:`Initramfs`, and device trees. |
1744 | However, :ref:`ref-classes-kernel-fitimage` currently only supports | 1744 | However, :ref:`ref-classes-kernel-fit-image` currently only supports |
1745 | limited usecases: just one kernel image, an optional U-boot script, | 1745 | limited usecases: just one kernel image, an optional U-boot script, |
1746 | an optional :term:`Initramfs` bundle, an optional RAM disk, and any number of | 1746 | an optional :term:`Initramfs`, and any number of device trees. |
1747 | device trees. | 1747 | |
1748 | 1748 | The FIT image is created by a recipe which inherits the | |
1749 | To create a FIT image, it is required that :term:`KERNEL_CLASSES` | 1749 | :ref:`ref-classes-kernel-fit-image` class. |
1750 | is set to include ":ref:`ref-classes-kernel-fitimage`" and one of :term:`KERNEL_IMAGETYPE`, | 1750 | One such example is the ``linux-yocto-fitimage`` recipe which creates a FIT |
1751 | :term:`KERNEL_ALT_IMAGETYPE` or :term:`KERNEL_IMAGETYPES` to include "fitImage". | 1751 | image for the Linux Yocto kernel. |
1752 | 1752 | Additionally, it is required that :term:`KERNEL_CLASSES` is set to include | |
1753 | The options for the device tree compiler passed to ``mkimage -D`` | 1753 | :ref:`ref-classes-kernel-fit-extra-artifacts`. |
1754 | when creating the FIT image are specified using the | 1754 | The :ref:`ref-classes-kernel-fit-extra-artifacts` class exposes the required kernel |
1755 | :term:`UBOOT_MKIMAGE_DTCOPTS` variable. | 1755 | artifacts to the :term:`DEPLOY_DIR_IMAGE` which are used by the |
1756 | 1756 | :ref:`ref-classes-kernel-fit-image` class to create the FIT image. | |
1757 | Only a single kernel can be added to the FIT image created by | 1757 | |
1758 | :ref:`ref-classes-kernel-fitimage` and the kernel image in FIT is mandatory. The | 1758 | The simplest example for building a FIT image is to add:: |
1759 | address where the kernel image is to be loaded by U-Boot is | 1759 | |
1760 | specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by | 1760 | KERNEL_CLASSES += "kernel-fit-extra-artifacts" |
1761 | :term:`UBOOT_ENTRYPOINT`. Setting :term:`FIT_ADDRESS_CELLS` to "2" | 1761 | |
1762 | is necessary if such addresses are 64 bit ones. | 1762 | to the machine :term:`configuration file` and to execute:: |
1763 | 1763 | ||
1764 | Multiple device trees can be added to the FIT image created by | 1764 | bitbake linux-yocto-fitimage |
1765 | :ref:`ref-classes-kernel-fitimage` and the device tree is optional. | 1765 | |
1766 | The address where the device tree is to be loaded by U-Boot is | 1766 | This results in a ``fitImage`` file deployed to the :term:`DEPLOY_DIR_IMAGE` |
1767 | specified by :term:`UBOOT_DTBO_LOADADDRESS` for device tree overlays | 1767 | directory and a ``linux-yocto-fitimage`` package which can be installed. |
1768 | and by :term:`UBOOT_DTB_LOADADDRESS` for device tree binaries. | 1768 | |
1769 | 1769 | The same approach works for all variants of the ``linux-yocto`` kernel. | |
1770 | Only a single RAM disk can be added to the FIT image created by | 1770 | For example, if the ``linux-yocto-rt`` kernel should be used, add the following |
1771 | :ref:`ref-classes-kernel-fitimage` and the RAM disk in FIT is optional. | 1771 | lines to the machine configuration file:: |
1772 | The address where the RAM disk image is to be loaded by U-Boot | 1772 | |
1773 | is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by | 1773 | KERNEL_CLASSES += "kernel-fit-extra-artifacts" |
1774 | :term:`UBOOT_RD_ENTRYPOINT`. The ramdisk is added to the FIT image when | 1774 | PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt" |
1775 | :term:`INITRAMFS_IMAGE` is specified and requires that :term:`INITRAMFS_IMAGE_BUNDLE` | 1775 | |
1776 | is not set to 1. | 1776 | The FIT image, this time including the RT kernel, is built again by calling:: |
1777 | 1777 | ||
1778 | Only a single :term:`Initramfs` bundle can be added to the FIT image created by | 1778 | bitbake linux-yocto-fitimage |
1779 | :ref:`ref-classes-kernel-fitimage` and the :term:`Initramfs` bundle in FIT is optional. | 1779 | |
1780 | In case of :term:`Initramfs`, the kernel is configured to be bundled with the root filesystem | 1780 | For other kernels provided by other layers, the same approach would work. |
1781 | in the same binary (example: zImage-initramfs-:term:`MACHINE`.bin). | 1781 | However, it is usually more intuitive to add a custom FIT image recipe next to |
1782 | When the kernel is copied to RAM and executed, it unpacks the :term:`Initramfs` root filesystem. | 1782 | the custom kernel recipe. |
1783 | The :term:`Initramfs` bundle can be enabled when :term:`INITRAMFS_IMAGE` | 1783 | For example, if a layer provides a ``linux-vanilla`` recipe, a |
1784 | is specified and requires that :term:`INITRAMFS_IMAGE_BUNDLE` is set to 1. | 1784 | ``linux-vanilla-fitimage`` recipe may be added as well. |
1785 | The address where the :term:`Initramfs` bundle is to be loaded by U-boot is specified | 1785 | The ``linux-vanilla-fitimage`` recipe can be created as a customized copy of |
1786 | by :term:`UBOOT_LOADADDRESS` and the entrypoint by :term:`UBOOT_ENTRYPOINT`. | 1786 | the ``linux-yocto-fitimage`` recipe. |
1787 | 1787 | ||
1788 | Only a single U-boot boot script can be added to the FIT image created by | 1788 | Usually the kernel is built as a dependency of an image. |
1789 | :ref:`ref-classes-kernel-fitimage` and the boot script is optional. | 1789 | If the FIT image should be used as a replacement for the kernel image which |
1790 | The boot script is specified in the ITS file as a text file containing | 1790 | is installed in the root filesystem, then the following variables can be set |
1791 | U-boot commands. When using a boot script the user should configure the | 1791 | e.g. in the machine configuration file:: |
1792 | U-boot :ref:`ref-tasks-install` task to copy the script to sysroot. | 1792 | |
1793 | So the script can be included in the FIT image by the :ref:`ref-classes-kernel-fitimage` | 1793 | # Create and deploy the vmlinux artifact which gets included into the FIT image |
1794 | class. At run-time, U-boot CONFIG_BOOTCOMMAND define can be configured to | 1794 | KERNEL_CLASSES += "kernel-fit-extra-artifacts" |
1795 | load the boot script from the FIT image and execute it. | 1795 | |
1796 | 1796 | # Do not install the kernel image package | |
1797 | The FIT image generated by the :ref:`ref-classes-kernel-fitimage` class is signed when the | 1797 | RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" |
1798 | variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`, | 1798 | # Install the FIT image package |
1799 | :term:`UBOOT_SIGN_KEYDIR` and :term:`UBOOT_SIGN_KEYNAME` are set | 1799 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "linux-yocto-fitimage" |
1800 | appropriately. The default values used for :term:`FIT_HASH_ALG` and | 1800 | |
1801 | :term:`FIT_SIGN_ALG` in :ref:`ref-classes-kernel-fitimage` are "sha256" and | 1801 | # Configure the image.bbclass to depend on the FIT image instead of only |
1802 | "rsa2048" respectively. The keys for signing the FIT image can be generated using | 1802 | # the kernel to ensure the FIT image is built and deployed with the image |
1803 | the :ref:`ref-classes-kernel-fitimage` class when both :term:`FIT_GENERATE_KEYS` and | 1803 | KERNEL_DEPLOY_DEPEND = "linux-yocto-fitimage:do_deploy" |
1804 | :term:`UBOOT_SIGN_ENABLE` are set to "1". | 1804 | |
1805 | 1805 | The :ref:`ref-classes-kernel-fit-image` class processes several variables that | |
1806 | allow configuration: | ||
1807 | |||
1808 | - The options for the device tree compiler passed to ``mkimage -D`` | ||
1809 | when creating the FIT image are specified using the | ||
1810 | :term:`UBOOT_MKIMAGE_DTCOPTS` variable. | ||
1811 | |||
1812 | - Only a single kernel can be added to the FIT image created by | ||
1813 | :ref:`ref-classes-kernel-fit-image` and it is a mandatory component of the | ||
1814 | FIT image. | ||
1815 | The address where the kernel image is to be loaded by U-Boot is | ||
1816 | specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by | ||
1817 | :term:`UBOOT_ENTRYPOINT`. Setting :term:`FIT_ADDRESS_CELLS` to "2" | ||
1818 | is necessary if such addresses are 64 bit ones. | ||
1819 | |||
1820 | - Multiple device trees can be added to the FIT image created by | ||
1821 | :ref:`ref-classes-kernel-fit-image` and the device tree is optional. | ||
1822 | The address where the device tree is to be loaded by U-Boot is | ||
1823 | specified by :term:`UBOOT_DTBO_LOADADDRESS` for device tree overlays | ||
1824 | and by :term:`UBOOT_DTB_LOADADDRESS` for device tree binaries. | ||
1825 | |||
1826 | - Only a single :term:`Initramfs` can be added to the FIT image created by | ||
1827 | :ref:`ref-classes-kernel-fit-image`. The :term:`Initramfs` in FIT is optional. | ||
1828 | The address where the RAM disk image is to be loaded by U-Boot | ||
1829 | is specified by :term:`UBOOT_RD_LOADADDRESS` and the entrypoint by | ||
1830 | :term:`UBOOT_RD_ENTRYPOINT`. The :term:`Initramfs` is added to the FIT image | ||
1831 | when :term:`INITRAMFS_IMAGE` is specified. | ||
1832 | |||
1833 | - It's recommended to add the :term:`Initramfs` and the kernel image as | ||
1834 | independent image nodes to the FIT image. | ||
1835 | Bundling a RAM disk image with the kernel image and including the bundle | ||
1836 | (:term:`INITRAMFS_IMAGE_BUNDLE` set to "1") in the FIT image is possible. | ||
1837 | However, this approach has the disadvantage that any change to the RAM | ||
1838 | disk image necessitates rebuilding the kernel image. | ||
1839 | This process requires the full kernel build directory, which is kind of | ||
1840 | incompatible with the :term:`SSTATE_DIR` and, consequently, with SDKs. | ||
1841 | |||
1842 | - Only a single U-Boot boot script can be added to the FIT image created by | ||
1843 | :ref:`ref-classes-kernel-fit-image`. The boot script is optional. | ||
1844 | The boot script is specified in the ITS file as a text file containing | ||
1845 | U-Boot commands. When using a boot script the recipe which inherits the | ||
1846 | :ref:`ref-classes-kernel-fit-image` class should add the script to | ||
1847 | :term:`SRC_URI` and set the :term:`FIT_UBOOT_ENV` variable to the name of the | ||
1848 | file like the following:: | ||
1849 | |||
1850 | FIT_UBOOT_ENV = "boot.txt" | ||
1851 | SRC_URI += "file://${FIT_UBOOT_ENV}" | ||
1852 | |||
1853 | At run-time, U-boot's boot command can be configured to load the boot script | ||
1854 | from the FIT image and source it. | ||
1855 | |||
1856 | - The FIT image generated by the :ref:`ref-classes-kernel-fit-image` class is signed when the | ||
1857 | variables :term:`UBOOT_SIGN_ENABLE`, :term:`UBOOT_MKIMAGE_DTCOPTS`, | ||
1858 | :term:`UBOOT_SIGN_KEYDIR` and :term:`UBOOT_SIGN_KEYNAME` are set | ||
1859 | appropriately. The default values used for :term:`FIT_HASH_ALG` and | ||
1860 | :term:`FIT_SIGN_ALG` in :ref:`ref-classes-kernel-fit-image` are "sha256" and | ||
1861 | "rsa2048" respectively. The keys for signing the FIT image can be generated using | ||
1862 | the :ref:`ref-classes-kernel-fit-image` class when both :term:`FIT_GENERATE_KEYS` and | ||
1863 | :term:`UBOOT_SIGN_ENABLE` are set to "1". | ||
1864 | |||
1865 | .. _ref-classes-kernel-fit-extra-artifacts: | ||
1866 | |||
1867 | ``kernel-fit-extra-artifacts`` | ||
1868 | ============================== | ||
1869 | |||
1870 | The :ref:`ref-classes-kernel-fit-extra-artifacts` class exposes the required | ||
1871 | kernel artifacts to the :term:`DEPLOY_DIR_IMAGE` directory. | ||
1872 | These artifacts are used by the :ref:`ref-classes-kernel-fit-image` class to | ||
1873 | create a FIT image that can include the kernel, device trees, an optional | ||
1874 | U-Boot script, and an optional Initramfs. | ||
1875 | |||
1876 | This class is typically included by adding it to the :term:`KERNEL_CLASSES` | ||
1877 | variable in your kernel recipe or machine configuration when building FIT images. | ||
1878 | It ensures that all necessary files are available for packaging into the FIT image, | ||
1879 | such as the kernel binary, device tree blobs (DTBs), and other related files. | ||
1880 | |||
1881 | For example, to enable this class, set:: | ||
1882 | |||
1883 | KERNEL_CLASSES += "kernel-fit-extra-artifacts" | ||
1884 | |||
1885 | This is required when using the :ref:`ref-classes-kernel-fit-image` class to | ||
1886 | generate FIT images for your kernel. | ||
1806 | 1887 | ||
1807 | .. _ref-classes-kernel-grub: | 1888 | .. _ref-classes-kernel-grub: |
1808 | 1889 | ||
@@ -2050,7 +2131,8 @@ a couple different ways: | |||
2050 | Not using this naming convention can lead to subtle problems | 2131 | Not using this naming convention can lead to subtle problems |
2051 | caused by existing code that depends on that naming convention. | 2132 | caused by existing code that depends on that naming convention. |
2052 | 2133 | ||
2053 | - Create or modify a target recipe that contains the following:: | 2134 | - Or, create a :ref:`ref-classes-native` variant of any target recipe (e.g. |
2135 | ``myrecipe.bb``) by adding the following to the recipe:: | ||
2054 | 2136 | ||
2055 | BBCLASSEXTEND = "native" | 2137 | BBCLASSEXTEND = "native" |
2056 | 2138 | ||
@@ -2081,24 +2163,25 @@ couple different ways: | |||
2081 | inherit statement in the recipe after all other inherit statements so | 2163 | inherit statement in the recipe after all other inherit statements so |
2082 | that the :ref:`ref-classes-nativesdk` class is inherited last. | 2164 | that the :ref:`ref-classes-nativesdk` class is inherited last. |
2083 | 2165 | ||
2084 | - Create a :ref:`ref-classes-nativesdk` variant of any recipe by adding the following:: | 2166 | .. note:: |
2085 | 2167 | ||
2086 | BBCLASSEXTEND = "nativesdk" | 2168 | When creating a recipe, you must follow this naming convention:: |
2087 | 2169 | ||
2088 | Inside the | 2170 | nativesdk-myrecipe.bb |
2089 | recipe, use ``:class-nativesdk`` and ``:class-target`` overrides to | ||
2090 | specify any functionality specific to the respective SDK machine or | ||
2091 | target case. | ||
2092 | 2171 | ||
2093 | .. note:: | ||
2094 | 2172 | ||
2095 | When creating a recipe, you must follow this naming convention:: | 2173 | Not doing so can lead to subtle problems because there is code that |
2174 | depends on the naming convention. | ||
2096 | 2175 | ||
2097 | nativesdk-myrecipe.bb | 2176 | - Or, create a :ref:`ref-classes-nativesdk` variant of any target recipe (e.g. |
2177 | ``myrecipe.bb``) by adding the following to the recipe:: | ||
2098 | 2178 | ||
2179 | BBCLASSEXTEND = "nativesdk" | ||
2099 | 2180 | ||
2100 | Not doing so can lead to subtle problems because there is code that | 2181 | Inside the |
2101 | depends on the naming convention. | 2182 | recipe, use ``:class-nativesdk`` and ``:class-target`` overrides to |
2183 | specify any functionality specific to the respective SDK machine or | ||
2184 | target case. | ||
2102 | 2185 | ||
2103 | Although applied differently, the :ref:`ref-classes-nativesdk` class is used with both | 2186 | Although applied differently, the :ref:`ref-classes-nativesdk` class is used with both |
2104 | methods. The advantage of the second method is that you do not need to | 2187 | methods. The advantage of the second method is that you do not need to |
@@ -3436,7 +3519,7 @@ See U-Boot's documentation for details about `verified boot | |||
3436 | and the `signature process | 3519 | and the `signature process |
3437 | <https://source.denx.de/u-boot/u-boot/-/blob/master/doc/uImage.FIT/signature.txt>`__. | 3520 | <https://source.denx.de/u-boot/u-boot/-/blob/master/doc/uImage.FIT/signature.txt>`__. |
3438 | 3521 | ||
3439 | See also the description of :ref:`ref-classes-kernel-fitimage` class, which this class | 3522 | See also the description of :ref:`ref-classes-kernel-fit-image` class, which this class |
3440 | imitates. | 3523 | imitates. |
3441 | 3524 | ||
3442 | .. _ref-classes-uki: | 3525 | .. _ref-classes-uki: |
diff --git a/documentation/ref-manual/resources.rst b/documentation/ref-manual/resources.rst index 4eaaca942e..bcbc7ebaca 100644 --- a/documentation/ref-manual/resources.rst +++ b/documentation/ref-manual/resources.rst | |||
@@ -23,7 +23,7 @@ The Yocto Project gladly accepts contributions. You can submit changes | |||
23 | to the project either by creating and sending pull requests, or by | 23 | to the project either by creating and sending pull requests, or by |
24 | submitting patches through email. For information on how to do both as | 24 | submitting patches through email. For information on how to do both as |
25 | well as information on how to identify the maintainer for each area of | 25 | well as information on how to identify the maintainer for each area of |
26 | code, see the :doc:`../contributor-guide/index`. | 26 | code, see the :doc:`/contributor-guide/index`. |
27 | 27 | ||
28 | .. _resources-bugtracker: | 28 | .. _resources-bugtracker: |
29 | 29 | ||
@@ -45,7 +45,7 @@ your expectations). | |||
45 | For a general procedure and guidelines on how to use Bugzilla to submit a bug | 45 | For a general procedure and guidelines on how to use Bugzilla to submit a bug |
46 | against the Yocto Project, see the following: | 46 | against the Yocto Project, see the following: |
47 | 47 | ||
48 | - The ":doc:`../contributor-guide/report-defect`" | 48 | - The ":doc:`/contributor-guide/report-defect`" |
49 | section in the Yocto Project and OpenEmbedded Contributor Guide. | 49 | section in the Yocto Project and OpenEmbedded Contributor Guide. |
50 | 50 | ||
51 | - The Yocto Project :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>` | 51 | - The Yocto Project :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>` |
diff --git a/documentation/ref-manual/structure.rst b/documentation/ref-manual/structure.rst index 2190f5b90e..d6dbb29401 100644 --- a/documentation/ref-manual/structure.rst +++ b/documentation/ref-manual/structure.rst | |||
@@ -611,7 +611,7 @@ example, consider ``linux-yocto-kernel-3.0`` on the machine ``qemux86`` | |||
611 | built within the Yocto Project. For this package, a work directory of | 611 | built within the Yocto Project. For this package, a work directory of |
612 | ``tmp/work/qemux86-poky-linux/linux-yocto/3.0+git1+<.....>``, referred | 612 | ``tmp/work/qemux86-poky-linux/linux-yocto/3.0+git1+<.....>``, referred |
613 | to as the :term:`WORKDIR`, is created. Within this directory, the source is | 613 | to as the :term:`WORKDIR`, is created. Within this directory, the source is |
614 | unpacked to ``linux-qemux86-standard-build`` and then patched by Quilt. | 614 | unpacked to ``sources/linux-qemux86-standard-build`` and then patched by Quilt. |
615 | (See the ":ref:`dev-manual/quilt:using quilt in your workflow`" section in | 615 | (See the ":ref:`dev-manual/quilt:using quilt in your workflow`" section in |
616 | the Yocto Project Development Tasks Manual for more information.) Within | 616 | the Yocto Project Development Tasks Manual for more information.) Within |
617 | the ``linux-qemux86-standard-build`` directory, standard Quilt | 617 | the ``linux-qemux86-standard-build`` directory, standard Quilt |
diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst index b64a13320a..14b635013b 100644 --- a/documentation/ref-manual/system-requirements.rst +++ b/documentation/ref-manual/system-requirements.rst | |||
@@ -145,7 +145,7 @@ tested on former revisions of "&DISTRO_NAME;", but no longer are: | |||
145 | interested in hearing about your experience. For information on | 145 | interested in hearing about your experience. For information on |
146 | how to submit a bug, see the Yocto Project | 146 | how to submit a bug, see the Yocto Project |
147 | :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>` | 147 | :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>` |
148 | and the ":doc:`../contributor-guide/report-defect`" | 148 | and the ":doc:`/contributor-guide/report-defect`" |
149 | section in the Yocto Project and OpenEmbedded Contributor Guide. | 149 | section in the Yocto Project and OpenEmbedded Contributor Guide. |
150 | 150 | ||
151 | Required Packages for the Build Host | 151 | Required Packages for the Build Host |
diff --git a/documentation/ref-manual/tasks.rst b/documentation/ref-manual/tasks.rst index d85d1151f0..e379c424d8 100644 --- a/documentation/ref-manual/tasks.rst +++ b/documentation/ref-manual/tasks.rst | |||
@@ -412,8 +412,7 @@ them. You can learn more by looking at the | |||
412 | ------------- | 412 | ------------- |
413 | 413 | ||
414 | Unpacks the source code into a working directory pointed to by | 414 | Unpacks the source code into a working directory pointed to by |
415 | ``${``\ :term:`UNPACKDIR`\ ``}``. A legacy way to specify | 415 | ``${``\ :term:`UNPACKDIR`\ ``}``. |
416 | this directory is through the :term:`S` and :term:`WORKDIR` variables. | ||
417 | For more information on how source files are unpacked, see the | 416 | For more information on how source files are unpacked, see the |
418 | ":ref:`overview-manual/concepts:source fetching`" | 417 | ":ref:`overview-manual/concepts:source fetching`" |
419 | section in the Yocto Project Overview and Concepts Manual. | 418 | section in the Yocto Project Overview and Concepts Manual. |
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index 5c18b852d1..c56418e2a2 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst | |||
@@ -265,7 +265,7 @@ system and gives an overview of their function and contents. | |||
265 | build process. By default, this directory is the same as the | 265 | build process. By default, this directory is the same as the |
266 | :term:`S` directory, which is defined as:: | 266 | :term:`S` directory, which is defined as:: |
267 | 267 | ||
268 | S = "${WORKDIR}/${BP}" | 268 | S = "${UNPACKDIR}/${BP}" |
269 | 269 | ||
270 | You can separate the (:term:`S`) directory and the directory pointed to | 270 | You can separate the (:term:`S`) directory and the directory pointed to |
271 | by the :term:`B` variable. Most Autotools-based recipes support | 271 | by the :term:`B` variable. Most Autotools-based recipes support |
@@ -560,6 +560,13 @@ system and gives an overview of their function and contents. | |||
560 | :term:`BB_GENERATE_SHALLOW_TARBALLS` | 560 | :term:`BB_GENERATE_SHALLOW_TARBALLS` |
561 | See :term:`bitbake:BB_GENERATE_SHALLOW_TARBALLS` in the BitBake manual. | 561 | See :term:`bitbake:BB_GENERATE_SHALLOW_TARBALLS` in the BitBake manual. |
562 | 562 | ||
563 | :term:`BB_GIT_DEFAULT_DESTSUFFIX` | ||
564 | See :term:`bitbake:BB_GIT_DEFAULT_DESTSUFFIX` in the BitBake manual. | ||
565 | |||
566 | In :term:`OpenEmbedded-Core (OE-Core)`, this variable is set to | ||
567 | :term:`BP` by default in :oe_git:`bitbake.conf | ||
568 | </openembedded-core/tree/meta/conf/bitbake.conf>`. | ||
569 | |||
563 | :term:`BB_GIT_SHALLOW` | 570 | :term:`BB_GIT_SHALLOW` |
564 | See :term:`bitbake:BB_GIT_SHALLOW` in the BitBake manual. | 571 | See :term:`bitbake:BB_GIT_SHALLOW` in the BitBake manual. |
565 | 572 | ||
@@ -2576,7 +2583,7 @@ system and gives an overview of their function and contents. | |||
2576 | You can safely share this directory between multiple builds on the | 2583 | You can safely share this directory between multiple builds on the |
2577 | same development machine. For additional information on how the build | 2584 | same development machine. For additional information on how the build |
2578 | process gets source files when working behind a firewall or proxy | 2585 | process gets source files when working behind a firewall or proxy |
2579 | server, see this specific question in the ":doc:`faq`" | 2586 | server, see this specific question in the ":doc:`/ref-manual/faq`" |
2580 | chapter. You can also refer to the | 2587 | chapter. You can also refer to the |
2581 | ":yocto_wiki:`Working Behind a Network Proxy </Working_Behind_a_Network_Proxy>`" | 2588 | ":yocto_wiki:`Working Behind a Network Proxy </Working_Behind_a_Network_Proxy>`" |
2582 | Wiki page. | 2589 | Wiki page. |
@@ -2790,7 +2797,7 @@ system and gives an overview of their function and contents. | |||
2790 | ``meta/classes-recipe`` to see how the variable is used. | 2797 | ``meta/classes-recipe`` to see how the variable is used. |
2791 | 2798 | ||
2792 | :term:`EXTERNAL_KERNEL_DEVICETREE` | 2799 | :term:`EXTERNAL_KERNEL_DEVICETREE` |
2793 | When inheriting :ref:`ref-classes-kernel-fitimage` and a | 2800 | When inheriting :ref:`ref-classes-kernel-fit-image` and a |
2794 | :term:`PREFERRED_PROVIDER` for ``virtual/dtb`` set to ``devicetree``, the | 2801 | :term:`PREFERRED_PROVIDER` for ``virtual/dtb`` set to ``devicetree``, the |
2795 | variable :term:`EXTERNAL_KERNEL_DEVICETREE` can be used to specify a | 2802 | variable :term:`EXTERNAL_KERNEL_DEVICETREE` can be used to specify a |
2796 | directory containing one or more compiled device tree or device tree | 2803 | directory containing one or more compiled device tree or device tree |
@@ -3318,7 +3325,7 @@ system and gives an overview of their function and contents. | |||
3318 | Specifies the value of the ``#address-cells`` value for the | 3325 | Specifies the value of the ``#address-cells`` value for the |
3319 | description of the FIT image. | 3326 | description of the FIT image. |
3320 | 3327 | ||
3321 | The default value is set to "1" by the :ref:`ref-classes-kernel-fitimage` | 3328 | The default value is set to "1" by the :ref:`ref-classes-kernel-fit-image` |
3322 | class, which corresponds to 32 bit addresses. | 3329 | class, which corresponds to 32 bit addresses. |
3323 | 3330 | ||
3324 | For platforms that need to set 64 bit addresses, for example in | 3331 | For platforms that need to set 64 bit addresses, for example in |
@@ -3337,11 +3344,11 @@ system and gives an overview of their function and contents. | |||
3337 | Specifies the default device tree binary (dtb) file for a FIT image | 3344 | Specifies the default device tree binary (dtb) file for a FIT image |
3338 | when multiple ones are provided. | 3345 | when multiple ones are provided. |
3339 | 3346 | ||
3340 | This variable is used in the :ref:`ref-classes-kernel-fitimage` class. | 3347 | This variable is used in the :ref:`ref-classes-kernel-fit-image` class. |
3341 | 3348 | ||
3342 | :term:`FIT_DESC` | 3349 | :term:`FIT_DESC` |
3343 | Specifies the description string encoded into a FIT image. The | 3350 | Specifies the description string encoded into a FIT image. The |
3344 | default value is set by the :ref:`ref-classes-kernel-fitimage` class as | 3351 | default value is set by the :ref:`ref-classes-kernel-fit-image` class as |
3345 | follows:: | 3352 | follows:: |
3346 | 3353 | ||
3347 | FIT_DESC ?= "U-Boot fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}" | 3354 | FIT_DESC ?= "U-Boot fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}" |
@@ -3350,12 +3357,12 @@ system and gives an overview of their function and contents. | |||
3350 | Decides whether to generate the keys for signing the FIT image if | 3357 | Decides whether to generate the keys for signing the FIT image if |
3351 | they don't already exist. The keys are created in | 3358 | they don't already exist. The keys are created in |
3352 | :term:`UBOOT_SIGN_KEYDIR`. The default value is set to "0" | 3359 | :term:`UBOOT_SIGN_KEYDIR`. The default value is set to "0" |
3353 | by the :ref:`ref-classes-kernel-fitimage` class. | 3360 | by the :ref:`ref-classes-kernel-fit-image` class. |
3354 | 3361 | ||
3355 | :term:`FIT_HASH_ALG` | 3362 | :term:`FIT_HASH_ALG` |
3356 | Specifies the hash algorithm used in creating the FIT Image. | 3363 | Specifies the hash algorithm used in creating the FIT Image. |
3357 | This variable is set by default to "sha256" by the | 3364 | This variable is set by default to "sha256" by the |
3358 | :ref:`ref-classes-kernel-fitimage` class. | 3365 | :ref:`ref-classes-kernel-fit-image` class. |
3359 | 3366 | ||
3360 | :term:`FIT_KERNEL_COMP_ALG` | 3367 | :term:`FIT_KERNEL_COMP_ALG` |
3361 | The compression algorithm to use for the kernel image inside the FIT Image. | 3368 | The compression algorithm to use for the kernel image inside the FIT Image. |
@@ -3374,31 +3381,31 @@ system and gives an overview of their function and contents. | |||
3374 | :term:`FIT_KEY_GENRSA_ARGS` | 3381 | :term:`FIT_KEY_GENRSA_ARGS` |
3375 | Arguments to ``openssl genrsa`` for generating a RSA private key for | 3382 | Arguments to ``openssl genrsa`` for generating a RSA private key for |
3376 | signing the FIT image. The default value is set to "-F4" by the | 3383 | signing the FIT image. The default value is set to "-F4" by the |
3377 | :ref:`ref-classes-kernel-fitimage` class. | 3384 | :ref:`ref-classes-kernel-fit-image` class. |
3378 | 3385 | ||
3379 | :term:`FIT_KEY_REQ_ARGS` | 3386 | :term:`FIT_KEY_REQ_ARGS` |
3380 | Arguments to ``openssl req`` for generating a certificate for signing | 3387 | Arguments to ``openssl req`` for generating a certificate for signing |
3381 | the FIT image. The default value is "-batch -new" by the | 3388 | the FIT image. The default value is "-batch -new" by the |
3382 | :ref:`ref-classes-kernel-fitimage` class, "batch" for | 3389 | :ref:`ref-classes-kernel-fit-image` class, "batch" for |
3383 | non interactive mode and "new" for generating new keys. | 3390 | non interactive mode and "new" for generating new keys. |
3384 | 3391 | ||
3385 | :term:`FIT_KEY_SIGN_PKCS` | 3392 | :term:`FIT_KEY_SIGN_PKCS` |
3386 | Format for the public key certificate used for signing the FIT image. | 3393 | Format for the public key certificate used for signing the FIT image. |
3387 | The default value is set to "x509" by the | 3394 | The default value is set to "x509" by the |
3388 | :ref:`ref-classes-kernel-fitimage` class. | 3395 | :ref:`ref-classes-kernel-fit-image` class. |
3389 | 3396 | ||
3390 | :term:`FIT_SIGN_ALG` | 3397 | :term:`FIT_SIGN_ALG` |
3391 | Specifies the signature algorithm used in creating the FIT Image. | 3398 | Specifies the signature algorithm used in creating the FIT Image. |
3392 | This variable is set by default to "rsa2048" by the | 3399 | This variable is set by default to "rsa2048" by the |
3393 | :ref:`ref-classes-kernel-fitimage` class. | 3400 | :ref:`ref-classes-kernel-fit-image` class. |
3394 | 3401 | ||
3395 | :term:`FIT_PAD_ALG` | 3402 | :term:`FIT_PAD_ALG` |
3396 | Specifies the padding algorithm used in creating the FIT Image. | 3403 | Specifies the padding algorithm used in creating the FIT Image. |
3397 | The default value is set to "pkcs-1.5" by the | 3404 | The default value is set to "pkcs-1.5" by the |
3398 | :ref:`ref-classes-kernel-fitimage` class. | 3405 | :ref:`ref-classes-kernel-fit-image` class. |
3399 | 3406 | ||
3400 | :term:`FIT_SIGN_INDIVIDUAL` | 3407 | :term:`FIT_SIGN_INDIVIDUAL` |
3401 | If set to "1", the :ref:`ref-classes-kernel-fitimage` class signs each | 3408 | If set to "1", the :ref:`ref-classes-kernel-fit-image` class signs each |
3402 | image node individually, including the kernel, DTB, RAM disk, and any | 3409 | image node individually, including the kernel, DTB, RAM disk, and any |
3403 | other image types present in the FIT image, in addition to signing the | 3410 | other image types present in the FIT image, in addition to signing the |
3404 | configuration nodes. | 3411 | configuration nodes. |
@@ -3431,13 +3438,13 @@ system and gives an overview of their function and contents. | |||
3431 | :term:`FIT_SIGN_NUMBITS` | 3438 | :term:`FIT_SIGN_NUMBITS` |
3432 | Size of the private key used in the FIT image, in number of bits. | 3439 | Size of the private key used in the FIT image, in number of bits. |
3433 | The default value for this variable is set to "2048" | 3440 | The default value for this variable is set to "2048" |
3434 | by the :ref:`ref-classes-kernel-fitimage` class. | 3441 | by the :ref:`ref-classes-kernel-fit-image` class. |
3435 | 3442 | ||
3436 | :term:`FIT_UBOOT_ENV` | 3443 | :term:`FIT_UBOOT_ENV` |
3437 | This variable allows to add a U-Boot script as a text file to the | 3444 | This variable allows to add a U-Boot script as a text file to the |
3438 | FIT image. Such a script can be sourced from the U-Boot shell. | 3445 | FIT image. Such a script can be sourced from the U-Boot shell. |
3439 | 3446 | ||
3440 | When inheriting the :ref:`ref-classes-kernel-fitimage` class a | 3447 | When inheriting the :ref:`ref-classes-kernel-fit-image` class a |
3441 | script file should be included in the :term:`SRC_URI` of the Linux | 3448 | script file should be included in the :term:`SRC_URI` of the Linux |
3442 | kernel recipe. | 3449 | kernel recipe. |
3443 | 3450 | ||
@@ -5075,9 +5082,7 @@ system and gives an overview of their function and contents. | |||
5075 | :term:`KERNEL_CLASSES` | 5082 | :term:`KERNEL_CLASSES` |
5076 | A list of classes defining kernel image types that the | 5083 | A list of classes defining kernel image types that the |
5077 | :ref:`ref-classes-kernel` class should inherit. You typically | 5084 | :ref:`ref-classes-kernel` class should inherit. You typically |
5078 | append this variable to enable extended image types. An example is | 5085 | append this variable to enable extended image types. |
5079 | ":ref:`ref-classes-kernel-fitimage`", which enables | ||
5080 | FIT image support and resides in ``meta/classes-recipe/kernel-fitimage.bbclass``. | ||
5081 | You can register custom kernel image types with the | 5086 | You can register custom kernel image types with the |
5082 | :ref:`ref-classes-kernel` class using this variable. | 5087 | :ref:`ref-classes-kernel` class using this variable. |
5083 | 5088 | ||
@@ -5352,6 +5357,27 @@ system and gives an overview of their function and contents. | |||
5352 | the :term:`KERNEL_PATH` variable. Both variables are common variables | 5357 | the :term:`KERNEL_PATH` variable. Both variables are common variables |
5353 | used by external Makefiles to point to the kernel source directory. | 5358 | used by external Makefiles to point to the kernel source directory. |
5354 | 5359 | ||
5360 | :term:`KERNEL_SPLIT_MODULES` | ||
5361 | When inheriting the :ref:`ref-classes-kernel-module-split` class, this | ||
5362 | variable controls whether kernel modules are split into separate packages | ||
5363 | or bundled into a single package. | ||
5364 | |||
5365 | For some use cases, a monolithic kernel module package | ||
5366 | :term:`KERNEL_PACKAGE_NAME` that contains all modules built from the | ||
5367 | kernel sources may be preferred to speed up the installation. | ||
5368 | |||
5369 | By default, this variable is set to ``1``, resulting in one package per | ||
5370 | module. Setting it to any other value will generate a single monolithic | ||
5371 | package containing all kernel modules. | ||
5372 | |||
5373 | .. note:: | ||
5374 | |||
5375 | If :term:`KERNEL_SPLIT_MODULES` is set to 0, it is still possible to | ||
5376 | install all kernel modules at once by adding ``kernel-modules`` (assuming | ||
5377 | :term:`KERNEL_PACKAGE_NAME` is ``kernel-modules``) to :term:`IMAGE_INSTALL`. | ||
5378 | The way it works is that a placeholder "kernel-modules" package will be | ||
5379 | created and will depend on every other individual kernel module packages. | ||
5380 | |||
5355 | :term:`KERNEL_SRC` | 5381 | :term:`KERNEL_SRC` |
5356 | The location of the kernel sources. This variable is set to the value | 5382 | The location of the kernel sources. This variable is set to the value |
5357 | of the :term:`STAGING_KERNEL_DIR` within the :ref:`ref-classes-module` | 5383 | of the :term:`STAGING_KERNEL_DIR` within the :ref:`ref-classes-module` |
@@ -8041,7 +8067,7 @@ system and gives an overview of their function and contents. | |||
8041 | :term:`S` | 8067 | :term:`S` |
8042 | The location in the :term:`Build Directory` where | 8068 | The location in the :term:`Build Directory` where |
8043 | unpacked recipe source code resides. By default, this directory is | 8069 | unpacked recipe source code resides. By default, this directory is |
8044 | ``${``\ :term:`WORKDIR`\ ``}/${``\ :term:`BPN`\ ``}-${``\ :term:`PV`\ ``}``, | 8070 | ``${``\ :term:`UNPACKDIR`\ ``}/${``\ :term:`BPN`\ ``}-${``\ :term:`PV`\ ``}``, |
8045 | where ``${BPN}`` is the base recipe name and ``${PV}`` is the recipe | 8071 | where ``${BPN}`` is the base recipe name and ``${PV}`` is the recipe |
8046 | version. If the source tarball extracts the code to a directory named | 8072 | version. If the source tarball extracts the code to a directory named |
8047 | anything other than ``${BPN}-${PV}``, or if the source code is | 8073 | anything other than ``${BPN}-${PV}``, or if the source code is |
@@ -8054,19 +8080,10 @@ system and gives an overview of their function and contents. | |||
8054 | ``poky/build``. In this case, the work directory the build system | 8080 | ``poky/build``. In this case, the work directory the build system |
8055 | uses to keep the unpacked recipe for ``db`` is the following:: | 8081 | uses to keep the unpacked recipe for ``db`` is the following:: |
8056 | 8082 | ||
8057 | poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19 | 8083 | poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/sources/db-5.1.19 |
8058 | 8084 | ||
8059 | The unpacked source code resides in the ``db-5.1.19`` folder. | 8085 | The unpacked source code resides in the ``db-5.1.19`` folder. |
8060 | 8086 | ||
8061 | This next example assumes a Git repository. By default, Git | ||
8062 | repositories are cloned to ``${WORKDIR}/git`` during | ||
8063 | :ref:`ref-tasks-fetch`. Since this path is different | ||
8064 | from the default value of :term:`S`, you must set it specifically so the | ||
8065 | source can be located:: | ||
8066 | |||
8067 | SRC_URI = "git://path/to/repo.git;branch=main" | ||
8068 | S = "${WORKDIR}/git" | ||
8069 | |||
8070 | :term:`SANITY_REQUIRED_UTILITIES` | 8087 | :term:`SANITY_REQUIRED_UTILITIES` |
8071 | Specifies a list of command-line utilities that should be checked for | 8088 | Specifies a list of command-line utilities that should be checked for |
8072 | during the initial sanity checking process when running BitBake. If | 8089 | during the initial sanity checking process when running BitBake. If |
@@ -8441,7 +8458,6 @@ system and gives an overview of their function and contents. | |||
8441 | sources are fetched from a Git repository and ``setup.py`` is in a | 8458 | sources are fetched from a Git repository and ``setup.py`` is in a |
8442 | ``python/pythonmodule`` subdirectory, you would have this:: | 8459 | ``python/pythonmodule`` subdirectory, you would have this:: |
8443 | 8460 | ||
8444 | S = "${WORKDIR}/git" | ||
8445 | SETUPTOOLS_SETUP_PATH = "${S}/python/pythonmodule" | 8461 | SETUPTOOLS_SETUP_PATH = "${S}/python/pythonmodule" |
8446 | 8462 | ||
8447 | :term:`SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS` | 8463 | :term:`SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS` |
@@ -8764,6 +8780,28 @@ system and gives an overview of their function and contents. | |||
8764 | image), compared to just using the :ref:`ref-classes-create-spdx` class | 8780 | image), compared to just using the :ref:`ref-classes-create-spdx` class |
8765 | with no option. | 8781 | with no option. |
8766 | 8782 | ||
8783 | :term:`SPDX_INCLUDE_COMPILED_SOURCES` | ||
8784 | This option allows the same as :term:`SPDX_INCLUDE_SOURCES` but including | ||
8785 | only the sources used to compile the host tools and the target packages. | ||
8786 | While :term:`SPDX_INCLUDE_SOURCES` includes all files in the source | ||
8787 | directory as source file descriptions, :term:`SPDX_INCLUDE_COMPILED_SOURCES` | ||
8788 | includes only the sources that are used to produce the binaries delivered | ||
8789 | as packages. The source files that are not used during compilation are not | ||
8790 | included in the SBOM. It uses debugsource information generated during | ||
8791 | ``do_package`` to filter out source files. | ||
8792 | |||
8793 | This enables an external tool to use the SPDX information to disregard | ||
8794 | vulnerabilities that are not compiled in the packages. | ||
8795 | |||
8796 | Enable this option as follows:: | ||
8797 | |||
8798 | SPDX_INCLUDE_COMPILED_SOURCES = "1" | ||
8799 | |||
8800 | According to our tests, building ``core-image-minimal`` for the | ||
8801 | ``qemux86-64`` machine, enabling this option compared with the | ||
8802 | :term:`SPDX_INCLUDE_SOURCES` reduces the size of the ``tmp/deploy/spdx`` | ||
8803 | directory from 2GB to 1.6GB. | ||
8804 | |||
8767 | :term:`SPDX_NAMESPACE_PREFIX` | 8805 | :term:`SPDX_NAMESPACE_PREFIX` |
8768 | This option could be used in order to change the prefix of ``spdxDocument`` | 8806 | This option could be used in order to change the prefix of ``spdxDocument`` |
8769 | and the prefix of ``documentNamespace``. It is set by default to | 8807 | and the prefix of ``documentNamespace``. It is set by default to |
@@ -10321,13 +10359,13 @@ system and gives an overview of their function and contents. | |||
10321 | :term:`UBOOT_DTB_LOADADDRESS` | 10359 | :term:`UBOOT_DTB_LOADADDRESS` |
10322 | Specifies the load address for the dtb image used by U-Boot. During FIT | 10360 | Specifies the load address for the dtb image used by U-Boot. During FIT |
10323 | image creation, the :term:`UBOOT_DTB_LOADADDRESS` variable is used in | 10361 | image creation, the :term:`UBOOT_DTB_LOADADDRESS` variable is used in |
10324 | :ref:`ref-classes-kernel-fitimage` class to specify the load address to be | 10362 | :ref:`ref-classes-kernel-fit-image` class to specify the load address to be |
10325 | used in creating the dtb sections of Image Tree Source for the FIT image. | 10363 | used in creating the dtb sections of Image Tree Source for the FIT image. |
10326 | 10364 | ||
10327 | :term:`UBOOT_DTBO_LOADADDRESS` | 10365 | :term:`UBOOT_DTBO_LOADADDRESS` |
10328 | Specifies the load address for the dtbo image used by U-Boot. During FIT | 10366 | Specifies the load address for the dtbo image used by U-Boot. During FIT |
10329 | image creation, the :term:`UBOOT_DTBO_LOADADDRESS` variable is used in | 10367 | image creation, the :term:`UBOOT_DTBO_LOADADDRESS` variable is used in |
10330 | :ref:`ref-classes-kernel-fitimage` class to specify the load address to be | 10368 | :ref:`ref-classes-kernel-fit-image` class to specify the load address to be |
10331 | used in creating the dtbo sections of Image Tree Source for the FIT image. | 10369 | used in creating the dtbo sections of Image Tree Source for the FIT image. |
10332 | 10370 | ||
10333 | :term:`UBOOT_ENTRYPOINT` | 10371 | :term:`UBOOT_ENTRYPOINT` |
@@ -10339,7 +10377,7 @@ system and gives an overview of their function and contents. | |||
10339 | - The :term:`FIT_ADDRESS_CELLS` variable for FIT image creation. | 10377 | - The :term:`FIT_ADDRESS_CELLS` variable for FIT image creation. |
10340 | - The :term:`UBOOT_FIT_ADDRESS_CELLS` variable for U-Boot FIT image creation. | 10378 | - The :term:`UBOOT_FIT_ADDRESS_CELLS` variable for U-Boot FIT image creation. |
10341 | 10379 | ||
10342 | This variable is used by the :ref:`ref-classes-kernel-fitimage`, | 10380 | This variable is used by the :ref:`ref-classes-kernel-fit-image`, |
10343 | :ref:`ref-classes-kernel-uimage`, :ref:`ref-classes-kernel`, | 10381 | :ref:`ref-classes-kernel-uimage`, :ref:`ref-classes-kernel`, |
10344 | :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign` | 10382 | :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign` |
10345 | classes. | 10383 | classes. |
@@ -10616,7 +10654,7 @@ system and gives an overview of their function and contents. | |||
10616 | - The :term:`FIT_ADDRESS_CELLS` variable for FIT image creation. | 10654 | - The :term:`FIT_ADDRESS_CELLS` variable for FIT image creation. |
10617 | - The :term:`UBOOT_FIT_ADDRESS_CELLS` variable for U-Boot FIT image creation. | 10655 | - The :term:`UBOOT_FIT_ADDRESS_CELLS` variable for U-Boot FIT image creation. |
10618 | 10656 | ||
10619 | This variable is used by the :ref:`ref-classes-kernel-fitimage`, | 10657 | This variable is used by the :ref:`ref-classes-kernel-fit-image`, |
10620 | :ref:`ref-classes-kernel-uimage`, :ref:`ref-classes-kernel`, | 10658 | :ref:`ref-classes-kernel-uimage`, :ref:`ref-classes-kernel`, |
10621 | :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign` | 10659 | :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign` |
10622 | classes. | 10660 | classes. |
@@ -10644,15 +10682,15 @@ system and gives an overview of their function and contents. | |||
10644 | 10682 | ||
10645 | :term:`UBOOT_MKIMAGE` | 10683 | :term:`UBOOT_MKIMAGE` |
10646 | Specifies the name of the mkimage command as used by the | 10684 | Specifies the name of the mkimage command as used by the |
10647 | :ref:`ref-classes-kernel-fitimage` class to assemble | 10685 | :ref:`ref-classes-kernel-fit-image` class to assemble |
10648 | the FIT image. This can be used to substitute an alternative command, wrapper | 10686 | the FIT image. This can be used to substitute an alternative command, wrapper |
10649 | script or function if desired. The default is "uboot-mkimage". | 10687 | script or function if desired. The default is "uboot-mkimage". |
10650 | 10688 | ||
10651 | :term:`UBOOT_MKIMAGE_DTCOPTS` | 10689 | :term:`UBOOT_MKIMAGE_DTCOPTS` |
10652 | Options for the device tree compiler passed to ``mkimage -D`` feature | 10690 | Options for the device tree compiler passed to ``mkimage -D`` feature |
10653 | while creating a FIT image with the :ref:`ref-classes-kernel-fitimage` | 10691 | while creating a FIT image with the :ref:`ref-classes-kernel-fit-image` |
10654 | class. If :term:`UBOOT_MKIMAGE_DTCOPTS` is not set then the | 10692 | class. If :term:`UBOOT_MKIMAGE_DTCOPTS` is not set then the |
10655 | :ref:`ref-classes-kernel-fitimage` class will not pass the ``-D`` option | 10693 | :ref:`ref-classes-kernel-fit-image` class will not pass the ``-D`` option |
10656 | to ``mkimage``. | 10694 | to ``mkimage``. |
10657 | 10695 | ||
10658 | This variable is also used by the :ref:`ref-classes-uboot-sign` class. | 10696 | This variable is also used by the :ref:`ref-classes-uboot-sign` class. |
@@ -10663,42 +10701,42 @@ system and gives an overview of their function and contents. | |||
10663 | 10701 | ||
10664 | :term:`UBOOT_MKIMAGE_SIGN` | 10702 | :term:`UBOOT_MKIMAGE_SIGN` |
10665 | Specifies the name of the mkimage command as used by the | 10703 | Specifies the name of the mkimage command as used by the |
10666 | :ref:`ref-classes-kernel-fitimage` class to sign | 10704 | :ref:`ref-classes-kernel-fit-image` class to sign |
10667 | the FIT image after it has been assembled (if enabled). This can be used | 10705 | the FIT image after it has been assembled (if enabled). This can be used |
10668 | to substitute an alternative command, wrapper script or function if | 10706 | to substitute an alternative command, wrapper script or function if |
10669 | desired. The default is "${:term:`UBOOT_MKIMAGE`}". | 10707 | desired. The default is "${:term:`UBOOT_MKIMAGE`}". |
10670 | 10708 | ||
10671 | :term:`UBOOT_MKIMAGE_SIGN_ARGS` | 10709 | :term:`UBOOT_MKIMAGE_SIGN_ARGS` |
10672 | Optionally specifies additional arguments for the | 10710 | Optionally specifies additional arguments for the |
10673 | :ref:`ref-classes-kernel-fitimage` class to pass to the | 10711 | :ref:`ref-classes-kernel-fit-image` class to pass to the |
10674 | mkimage command when signing the FIT image. | 10712 | mkimage command when signing the FIT image. |
10675 | 10713 | ||
10676 | :term:`UBOOT_RD_ENTRYPOINT` | 10714 | :term:`UBOOT_RD_ENTRYPOINT` |
10677 | Specifies the entrypoint for the RAM disk image. During FIT image | 10715 | Specifies the entrypoint for the RAM disk image. During FIT image |
10678 | creation, the :term:`UBOOT_RD_ENTRYPOINT` variable is used in | 10716 | creation, the :term:`UBOOT_RD_ENTRYPOINT` variable is used in |
10679 | :ref:`ref-classes-kernel-fitimage` class to specify the entrypoint to be | 10717 | :ref:`ref-classes-kernel-fit-image` class to specify the entrypoint to be |
10680 | used in creating the Image Tree Source for the FIT image. | 10718 | used in creating the Image Tree Source for the FIT image. |
10681 | 10719 | ||
10682 | :term:`UBOOT_RD_LOADADDRESS` | 10720 | :term:`UBOOT_RD_LOADADDRESS` |
10683 | Specifies the load address for the RAM disk image. During FIT image | 10721 | Specifies the load address for the RAM disk image. During FIT image |
10684 | creation, the :term:`UBOOT_RD_LOADADDRESS` variable is used in | 10722 | creation, the :term:`UBOOT_RD_LOADADDRESS` variable is used in |
10685 | :ref:`ref-classes-kernel-fitimage` class to specify the load address to | 10723 | :ref:`ref-classes-kernel-fit-image` class to specify the load address to |
10686 | be used in creating the Image Tree Source for the FIT image. | 10724 | be used in creating the Image Tree Source for the FIT image. |
10687 | 10725 | ||
10688 | :term:`UBOOT_SIGN_ENABLE` | 10726 | :term:`UBOOT_SIGN_ENABLE` |
10689 | Enable signing of FIT image. The default value is "0". | 10727 | Enable signing of FIT image. The default value is "0". |
10690 | 10728 | ||
10691 | This variable is used by the :ref:`ref-classes-kernel-fitimage`, | 10729 | This variable is used by the :ref:`ref-classes-kernel-fit-image`, |
10692 | :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign` | 10730 | :ref:`ref-classes-uboot-config` and :ref:`ref-classes-uboot-sign` |
10693 | classes. | 10731 | classes. |
10694 | 10732 | ||
10695 | :term:`UBOOT_SIGN_KEYDIR` | 10733 | :term:`UBOOT_SIGN_KEYDIR` |
10696 | Location of the directory containing the RSA key and certificate used for | 10734 | Location of the directory containing the RSA key and certificate used for |
10697 | signing FIT image, used by the :ref:`ref-classes-kernel-fitimage` and | 10735 | signing FIT image, used by the :ref:`ref-classes-kernel-fit-image` and |
10698 | :ref:`ref-classes-uboot-sign` classes. | 10736 | :ref:`ref-classes-uboot-sign` classes. |
10699 | 10737 | ||
10700 | :term:`UBOOT_SIGN_KEYNAME` | 10738 | :term:`UBOOT_SIGN_KEYNAME` |
10701 | The name of keys used by the :ref:`ref-classes-kernel-fitimage` class | 10739 | The name of keys used by the :ref:`ref-classes-kernel-fit-image` class |
10702 | for signing U-Boot FIT image stored in the :term:`UBOOT_SIGN_KEYDIR` | 10740 | for signing U-Boot FIT image stored in the :term:`UBOOT_SIGN_KEYDIR` |
10703 | directory. If we have for example a ``dev.key`` key and a ``dev.crt`` | 10741 | directory. If we have for example a ``dev.key`` key and a ``dev.crt`` |
10704 | certificate stored in the :term:`UBOOT_SIGN_KEYDIR` directory, you will | 10742 | certificate stored in the :term:`UBOOT_SIGN_KEYDIR` directory, you will |
diff --git a/documentation/ref-manual/yocto-project-supported-features.rst b/documentation/ref-manual/yocto-project-supported-features.rst index 345280d67d..283c79d4cc 100644 --- a/documentation/ref-manual/yocto-project-supported-features.rst +++ b/documentation/ref-manual/yocto-project-supported-features.rst | |||
@@ -92,10 +92,10 @@ Below is a list of primary tested features, their maintainer(s) and builder(s): | |||
92 | - meta-exein layer testing | 92 | - meta-exein layer testing |
93 | - TBD | 93 | - TBD |
94 | - meta-exein | 94 | - meta-exein |
95 | * - `meta-virtualization <https://git.yoctoproject.org/meta-virtualization/>`__ | 95 | * - `meta-webosose <https://github.com/webosose/meta-webosose>`__ |
96 | - meta-virtualization layer testing | 96 | - meta-webosose layer testing |
97 | - TBD | 97 | - TBD |
98 | - meta-virt | 98 | - meta-webosose |
99 | * - :ref:`Multilib <dev-manual/libraries:Combining Multiple Versions of Library Files into One Image>` | 99 | * - :ref:`Multilib <dev-manual/libraries:Combining Multiple Versions of Library Files into One Image>` |
100 | - Multilib feature testing | 100 | - Multilib feature testing |
101 | - Collective effort | 101 | - Collective effort |
@@ -114,7 +114,7 @@ Below is a list of primary tested features, their maintainer(s) and builder(s): | |||
114 | - pkgman-non-rpm (other builders use RPM by default) | 114 | - pkgman-non-rpm (other builders use RPM by default) |
115 | * - :ref:`Patchtest <contributor-guide/submit-changes:Validating Patches with Patchtest>` | 115 | * - :ref:`Patchtest <contributor-guide/submit-changes:Validating Patches with Patchtest>` |
116 | - Patchtest tool selftests | 116 | - Patchtest tool selftests |
117 | - TBD | 117 | - Collective effort |
118 | - patchtest-selftest | 118 | - patchtest-selftest |
119 | * - :wikipedia:`RISC-V (64-bit) <RISC-V>` | 119 | * - :wikipedia:`RISC-V (64-bit) <RISC-V>` |
120 | - RISC-V architecture testing (64-bit) | 120 | - RISC-V architecture testing (64-bit) |
@@ -209,25 +209,25 @@ builder(s): | |||
209 | - Builder(s) | 209 | - Builder(s) |
210 | * - :wikipedia:`PowerPC (32-bit) <PowerPC>` | 210 | * - :wikipedia:`PowerPC (32-bit) <PowerPC>` |
211 | - PowerPC architecture testing (32-bit) | 211 | - PowerPC architecture testing (32-bit) |
212 | - TBD | 212 | - Peter Marko, |
213 | Adrian Freihofer | ||
213 | - qemuppc, | 214 | - qemuppc, |
214 | qemuppc-alt, | ||
215 | qemuppc-tc | 215 | qemuppc-tc |
216 | * - :oe_git:`meta-openembedded </meta-openembedded>` | 216 | * - :oe_git:`meta-openembedded </meta-openembedded>` |
217 | - meta-openembedded layer testing | 217 | - meta-openembedded layer testing |
218 | - TBD | 218 | - Collective effort / openembedded-devel mailing list <openebedded-devel@lists.openembedded.org> |
219 | - meta-oe | 219 | - meta-oe |
220 | * - `meta-mingw <https://git.yoctoproject.org/meta-mingw>`__ | 220 | * - `meta-mingw <https://git.yoctoproject.org/meta-mingw>`__ |
221 | - mingw based SDKs testing | 221 | - mingw based SDKs testing |
222 | - TBD | 222 | - TBD |
223 | - meta-mingw | 223 | - meta-mingw |
224 | * - `meta-webosose <https://github.com/webosose/meta-webosose>`__ | 224 | * - `meta-virtualization <https://git.yoctoproject.org/meta-virtualization/>`__ |
225 | - meta-webosose layer testing | 225 | - meta-virtualization layer testing |
226 | - TBD | 226 | - meta-virtualization mailing list <meta-virtualization@lists.yoctoproject.org> |
227 | - meta-webosose | 227 | - meta-virt |
228 | * - :wikipedia:`RISC-V (32-bit) <RISC-V>` | 228 | * - :wikipedia:`RISC-V (32-bit) <RISC-V>` |
229 | - RISC-V architecture testing (32-bit) | 229 | - RISC-V architecture testing (32-bit) |
230 | - Collective effort | 230 | - TBD |
231 | - qemuriscv32, | 231 | - qemuriscv32, |
232 | qemuriscv32, | 232 | qemuriscv32, |
233 | qemuriscv32-tc | 233 | qemuriscv32-tc |
@@ -256,6 +256,10 @@ it is on a best effort only basis. | |||
256 | qemumips-alt, | 256 | qemumips-alt, |
257 | qemumips-tc, | 257 | qemumips-tc, |
258 | qemumips64-tc | 258 | qemumips64-tc |
259 | * - :wikipedia:`PowerPC (32-bit) <PowerPC>` Systemd | ||
260 | - PowerPC architecture testing (32-bit) with systemd | ||
261 | - No maintainers | ||
262 | - qemuppc-alt | ||
259 | * - :wikipedia:`PowerPC (64-bit) <PowerPC>` | 263 | * - :wikipedia:`PowerPC (64-bit) <PowerPC>` |
260 | - PowerPC architecture testing (64-bit) | 264 | - PowerPC architecture testing (64-bit) |
261 | - No maintainers | 265 | - No maintainers |
diff --git a/documentation/standards.md b/documentation/standards.md index 8300d813dc..801efe3457 100644 --- a/documentation/standards.md +++ b/documentation/standards.md | |||
@@ -126,7 +126,16 @@ that most themes only style these two admonitions. | |||
126 | 126 | ||
127 | ## ReStructured Text Syntax standards | 127 | ## ReStructured Text Syntax standards |
128 | 128 | ||
129 | This section has not been filled yet | 129 | ### doc directive |
130 | |||
131 | The [doc directive](https://www.sphinx-doc.org/en/master/usage/referencing.html#role-doc) | ||
132 | allows to refer to another document within yocto-docs, like: | ||
133 | |||
134 | For more information, read :doc:`/bsp-guide/index`. | ||
135 | |||
136 | Note that only "absolute" paths (starting with a '/') are allowed. The root | ||
137 | directory of that path is documentation/, that is, :doc:`/bsp-guide/index` | ||
138 | points at documentation/bsp-guide/index.rst. | ||
130 | 139 | ||
131 | ## Adding screenshots | 140 | ## Adding screenshots |
132 | 141 | ||
diff --git a/documentation/test-manual/ptest.rst b/documentation/test-manual/ptest.rst index 2c021af515..4e6be35df5 100644 --- a/documentation/test-manual/ptest.rst +++ b/documentation/test-manual/ptest.rst | |||
@@ -46,13 +46,19 @@ Running ptest | |||
46 | ============= | 46 | ============= |
47 | 47 | ||
48 | The ``ptest-runner`` package installs a shell script that loops through | 48 | The ``ptest-runner`` package installs a shell script that loops through |
49 | all installed ptest test suites and runs them in sequence. Consequently, | 49 | all installed ptest test suites and runs them in sequence. |
50 | you might want to add this package to your image. | 50 | |
51 | During the execution ``ptest-runner`` keeps count of total and failed | ||
52 | ``ptests``. At end the execution summary is written to the console. | ||
53 | If any of the ``run-ptest`` fails, ``ptest-runner`` returns '1'. | ||
54 | |||
55 | Consequently, you might want to add ``ptest-runner`` to your image. | ||
56 | |||
51 | 57 | ||
52 | Getting Your Package Ready | 58 | Getting Your Package Ready |
53 | ========================== | 59 | ========================== |
54 | 60 | ||
55 | In order to enable a recipe to run installed ptests on target hardware, | 61 | In order to enable a recipe to run installed ``ptests`` on target hardware, |
56 | you need to prepare the recipes that build the packages you want to | 62 | you need to prepare the recipes that build the packages you want to |
57 | test. Here is what you have to do for each recipe: | 63 | test. Here is what you have to do for each recipe: |
58 | 64 | ||
@@ -77,8 +83,9 @@ test. Here is what you have to do for each recipe: | |||
77 | 83 | ||
78 | - *Create run-ptest:* This script starts your test. Locate the | 84 | - *Create run-ptest:* This script starts your test. Locate the |
79 | script where you will refer to it using | 85 | script where you will refer to it using |
80 | :term:`SRC_URI`. Here is an | 86 | :term:`SRC_URI`. Be sure ``run-ptest`` exits with 0 to mark it |
81 | example that starts a test for ``dbus``:: | 87 | as successfully executed otherwise will be marked as fail. |
88 | Here is an example that starts a test for ``dbus``:: | ||
82 | 89 | ||
83 | #!/bin/sh | 90 | #!/bin/sh |
84 | cd test | 91 | cd test |
diff --git a/documentation/transitioning-to-a-custom-environment.rst b/documentation/transitioning-to-a-custom-environment.rst index 6ff55e5619..a5f55c567a 100644 --- a/documentation/transitioning-to-a-custom-environment.rst +++ b/documentation/transitioning-to-a-custom-environment.rst | |||
@@ -8,8 +8,8 @@ Transitioning to a custom environment for systems development | |||
8 | 8 | ||
9 | .. note:: | 9 | .. note:: |
10 | 10 | ||
11 | So you've finished the :doc:`brief-yoctoprojectqs/index` and | 11 | So you've finished the :doc:`/brief-yoctoprojectqs/index` and |
12 | glanced over the document :doc:`what-i-wish-id-known`, the latter contains | 12 | glanced over the document :doc:`/what-i-wish-id-known`, the latter contains |
13 | important information learned from other users. You're well prepared. But | 13 | important information learned from other users. You're well prepared. But |
14 | now, as you are starting your own project, it isn't exactly straightforward what | 14 | now, as you are starting your own project, it isn't exactly straightforward what |
15 | to do. And, the documentation is daunting. We've put together a few hints to | 15 | to do. And, the documentation is daunting. We've put together a few hints to |
diff --git a/documentation/what-i-wish-id-known.rst b/documentation/what-i-wish-id-known.rst index 836097910d..ddee6ad749 100644 --- a/documentation/what-i-wish-id-known.rst +++ b/documentation/what-i-wish-id-known.rst | |||
@@ -49,7 +49,7 @@ contact us with other suggestions. | |||
49 | their silicon. These layers have names such as "meta-intel" or "meta-ti". Try | 49 | their silicon. These layers have names such as "meta-intel" or "meta-ti". Try |
50 | not to build layers from scratch. If you do have custom silicon, use one of | 50 | not to build layers from scratch. If you do have custom silicon, use one of |
51 | these layers as a guide or template and familiarize yourself with the | 51 | these layers as a guide or template and familiarize yourself with the |
52 | :doc:`bsp-guide/index`. | 52 | :doc:`/bsp-guide/index`. |
53 | 53 | ||
54 | #. **Do not put everything into one layer:** | 54 | #. **Do not put everything into one layer:** |
55 | Use different layers to logically separate information in your build. As an | 55 | Use different layers to logically separate information in your build. As an |
@@ -127,7 +127,7 @@ contact us with other suggestions. | |||
127 | You can build and run a specific task for a specific package (including | 127 | You can build and run a specific task for a specific package (including |
128 | devshell) or even a single recipe. When developers first start using the | 128 | devshell) or even a single recipe. When developers first start using the |
129 | Yocto Project, the instructions found in the | 129 | Yocto Project, the instructions found in the |
130 | :doc:`brief-yoctoprojectqs/index` show how to create an image | 130 | :doc:`/brief-yoctoprojectqs/index` show how to create an image |
131 | and then run or flash that image. However, you can actually build just a | 131 | and then run or flash that image. However, you can actually build just a |
132 | single recipe. Thus, if some dependency or recipe isn't working, you can just | 132 | single recipe. Thus, if some dependency or recipe isn't working, you can just |
133 | say "bitbake foo" where "foo" is the name for a specific recipe. As you | 133 | say "bitbake foo" where "foo" is the name for a specific recipe. As you |
diff --git a/meta-poky/conf/distro/poky.conf b/meta-poky/conf/distro/poky.conf index 56817450a6..483684ccdf 100644 --- a/meta-poky/conf/distro/poky.conf +++ b/meta-poky/conf/distro/poky.conf | |||
@@ -1,7 +1,7 @@ | |||
1 | DISTRO = "poky" | 1 | DISTRO = "poky" |
2 | DISTRO_NAME = "Poky (Yocto Project Reference Distro)" | 2 | DISTRO_NAME = "Poky (Yocto Project Reference Distro)" |
3 | DISTRO_VERSION = "5.2" | 3 | DISTRO_VERSION = "5.2.99+snapshot-${METADATA_REVISION}" |
4 | DISTRO_CODENAME = "walnascar" | 4 | DISTRO_CODENAME = "whinlatter" |
5 | SDK_VENDOR = "-pokysdk" | 5 | SDK_VENDOR = "-pokysdk" |
6 | SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}" | 6 | SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}" |
7 | SDK_VERSION[vardepvalue] = "${SDK_VERSION}" | 7 | SDK_VERSION[vardepvalue] = "${SDK_VERSION}" |
diff --git a/meta-poky/conf/layer.conf b/meta-poky/conf/layer.conf index 483046b6d3..9057670088 100644 --- a/meta-poky/conf/layer.conf +++ b/meta-poky/conf/layer.conf | |||
@@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "yocto" | |||
9 | BBFILE_PATTERN_yocto = "^${LAYERDIR}/" | 9 | BBFILE_PATTERN_yocto = "^${LAYERDIR}/" |
10 | BBFILE_PRIORITY_yocto = "5" | 10 | BBFILE_PRIORITY_yocto = "5" |
11 | 11 | ||
12 | LAYERSERIES_COMPAT_yocto = "walnascar" | 12 | LAYERSERIES_COMPAT_yocto = "whinlatter" |
13 | 13 | ||
14 | # This should only be incremented on significant changes that will | 14 | # This should only be incremented on significant changes that will |
15 | # cause compatibility issues with other layers | 15 | # cause compatibility issues with other layers |
diff --git a/meta-poky/conf/templates/default/local.conf.sample b/meta-poky/conf/templates/default/local.conf.sample index 0a33288cf0..3d830d5b76 100644 --- a/meta-poky/conf/templates/default/local.conf.sample +++ b/meta-poky/conf/templates/default/local.conf.sample | |||
@@ -21,9 +21,7 @@ | |||
21 | # | 21 | # |
22 | #MACHINE ?= "qemuarm" | 22 | #MACHINE ?= "qemuarm" |
23 | #MACHINE ?= "qemuarm64" | 23 | #MACHINE ?= "qemuarm64" |
24 | #MACHINE ?= "qemumips" | 24 | #MACHINE ?= "qemuriscv64" |
25 | #MACHINE ?= "qemumips64" | ||
26 | #MACHINE ?= "qemuppc" | ||
27 | #MACHINE ?= "qemux86" | 25 | #MACHINE ?= "qemux86" |
28 | #MACHINE ?= "qemux86-64" | 26 | #MACHINE ?= "qemux86-64" |
29 | # | 27 | # |
diff --git a/meta/lib/oeqa/selftest/cases/pokybleeding.py b/meta-poky/lib/oeqa/selftest/cases/pokybleeding.py index d0940d680d..d0940d680d 100644 --- a/meta/lib/oeqa/selftest/cases/pokybleeding.py +++ b/meta-poky/lib/oeqa/selftest/cases/pokybleeding.py | |||
diff --git a/meta-poky/recipes-core/tiny-init/tiny-init.bb b/meta-poky/recipes-core/tiny-init/tiny-init.bb index 586596259b..3a774fecc4 100644 --- a/meta-poky/recipes-core/tiny-init/tiny-init.bb +++ b/meta-poky/recipes-core/tiny-init/tiny-init.bb | |||
@@ -11,8 +11,7 @@ SRC_URI = "file://init \ | |||
11 | file://rc.local.sample \ | 11 | file://rc.local.sample \ |
12 | " | 12 | " |
13 | 13 | ||
14 | S = "${WORKDIR}/sources" | 14 | S = "${UNPACKDIR}" |
15 | UNPACKDIR = "${S}" | ||
16 | 15 | ||
17 | do_configure() { | 16 | do_configure() { |
18 | : | 17 | : |
diff --git a/meta-selftest/conf/layer.conf b/meta-selftest/conf/layer.conf index c2767eb605..ecc45ded8c 100644 --- a/meta-selftest/conf/layer.conf +++ b/meta-selftest/conf/layer.conf | |||
@@ -11,4 +11,4 @@ BBFILE_PRIORITY_selftest = "5" | |||
11 | 11 | ||
12 | addpylib ${LAYERDIR}/lib oeqa | 12 | addpylib ${LAYERDIR}/lib oeqa |
13 | 13 | ||
14 | LAYERSERIES_COMPAT_selftest = "walnascar" | 14 | LAYERSERIES_COMPAT_selftest = "whinlatter" |
diff --git a/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb b/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb index ca2141c972..82019e2224 100644 --- a/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb +++ b/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb | |||
@@ -18,8 +18,6 @@ SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master \ | |||
18 | file://0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch \ | 18 | file://0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch \ |
19 | " | 19 | " |
20 | 20 | ||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | # xattr support creates an additional compile-time dependency on acl because | 21 | # xattr support creates an additional compile-time dependency on acl because |
24 | # the sys/acl.h header is needed. libacl is not needed and thus enabling xattr | 22 | # the sys/acl.h header is needed. libacl is not needed and thus enabling xattr |
25 | # regardless whether acl is enabled or disabled in the distro should be okay. | 23 | # regardless whether acl is enabled or disabled in the distro should be okay. |
diff --git a/meta-selftest/recipes-devtools/python/python3-guessing-game_git.bb b/meta-selftest/recipes-devtools/python/python3-guessing-game_git.bb index 50246a8a11..12afec8b1b 100644 --- a/meta-selftest/recipes-devtools/python/python3-guessing-game_git.bb +++ b/meta-selftest/recipes-devtools/python/python3-guessing-game_git.bb | |||
@@ -12,8 +12,6 @@ SRC_URI = "git://git.yoctoproject.org/guessing-game.git;protocol=https;branch=ma | |||
12 | PV = "0.1.0" | 12 | PV = "0.1.0" |
13 | SRCREV = "469c9e2230ca4fa9e391c94be6e697733e769500" | 13 | SRCREV = "469c9e2230ca4fa9e391c94be6e697733e769500" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit python_maturin cargo-update-recipe-crates | 15 | inherit python_maturin cargo-update-recipe-crates |
18 | 16 | ||
19 | require ${BPN}-crates.inc | 17 | require ${BPN}-crates.inc |
diff --git a/meta-selftest/recipes-devtools/python/python3-guessing-game_git.bb.upgraded b/meta-selftest/recipes-devtools/python/python3-guessing-game_git.bb.upgraded index f60a62718d..194a8efe83 100644 --- a/meta-selftest/recipes-devtools/python/python3-guessing-game_git.bb.upgraded +++ b/meta-selftest/recipes-devtools/python/python3-guessing-game_git.bb.upgraded | |||
@@ -12,8 +12,6 @@ SRC_URI = "git://git.yoctoproject.org/guessing-game.git;protocol=https;branch=ma | |||
12 | PV = "0.2.0" | 12 | PV = "0.2.0" |
13 | SRCREV = "40cf004c2772ffa20ea803fa3be1528a75be3e98" | 13 | SRCREV = "40cf004c2772ffa20ea803fa3be1528a75be3e98" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit python_maturin cargo-update-recipe-crates | 15 | inherit python_maturin cargo-update-recipe-crates |
18 | 16 | ||
19 | require ${BPN}-crates.inc | 17 | require ${BPN}-crates.inc |
diff --git a/meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb b/meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb index 47d878597a..890dbbbe8d 100644 --- a/meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb +++ b/meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb | |||
@@ -8,7 +8,6 @@ SRC_URI = " \ | |||
8 | " | 8 | " |
9 | 9 | ||
10 | SRCREV = "fc53c457f69aa5221ec1f8619a007e8150db5e60" | 10 | SRCREV = "fc53c457f69aa5221ec1f8619a007e8150db5e60" |
11 | S = "${WORKDIR}/git" | ||
12 | 11 | ||
13 | DEPENDS = "rust-c-lib-example" | 12 | DEPENDS = "rust-c-lib-example" |
14 | 13 | ||
diff --git a/meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb b/meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb index 6e7c250b92..0217d1718f 100644 --- a/meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb +++ b/meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb | |||
@@ -8,7 +8,6 @@ SRC_URI = " \ | |||
8 | " | 8 | " |
9 | 9 | ||
10 | SRCREV = "fc53c457f69aa5221ec1f8619a007e8150db5e60" | 10 | SRCREV = "fc53c457f69aa5221ec1f8619a007e8150db5e60" |
11 | S = "${WORKDIR}/git" | ||
12 | 11 | ||
13 | inherit cargo_c | 12 | inherit cargo_c |
14 | 13 | ||
diff --git a/meta-selftest/recipes-extended/hello-rs/hello-rs_0.1.0.bb b/meta-selftest/recipes-extended/hello-rs/hello-rs_0.1.0.bb index 9a136f2978..f6555a31dd 100644 --- a/meta-selftest/recipes-extended/hello-rs/hello-rs_0.1.0.bb +++ b/meta-selftest/recipes-extended/hello-rs/hello-rs_0.1.0.bb | |||
@@ -12,7 +12,7 @@ SRCREV = "d3d096eda182644868f8e7458dcfa538ff637db3" | |||
12 | SRCREV_FORMAT .= "_hello-lib" | 12 | SRCREV_FORMAT .= "_hello-lib" |
13 | SRCREV_hello-lib = "59c84574e844617043cf337bc8fa537cf87ad8ae" | 13 | SRCREV_hello-lib = "59c84574e844617043cf337bc8fa537cf87ad8ae" |
14 | 14 | ||
15 | S = "${WORKDIR}/rust" | 15 | S = "${UNPACKDIR}/rust" |
16 | 16 | ||
17 | inherit cargo cargo-update-recipe-crates ptest-cargo | 17 | inherit cargo cargo-update-recipe-crates ptest-cargo |
18 | 18 | ||
diff --git a/meta-selftest/recipes-extended/sysdig/sysdig-selftest_0.28.0.bb b/meta-selftest/recipes-extended/sysdig/sysdig-selftest_0.28.0.bb index 819f65409d..ea9a78dd1b 100644 --- a/meta-selftest/recipes-extended/sysdig/sysdig-selftest_0.28.0.bb +++ b/meta-selftest/recipes-extended/sysdig/sysdig-selftest_0.28.0.bb | |||
@@ -23,7 +23,7 @@ JIT:powerpc64 = "" | |||
23 | RDEPENDS:${PN} = "bash" | 23 | RDEPENDS:${PN} = "bash" |
24 | 24 | ||
25 | SRC_URI = "git://github.com/draios/sysdig.git;branch=dev;protocol=https;name=sysdig \ | 25 | SRC_URI = "git://github.com/draios/sysdig.git;branch=dev;protocol=https;name=sysdig \ |
26 | git://github.com/falcosecurity/libs;protocol=https;branch=master;name=falco;subdir=git/falcosecurity-libs \ | 26 | git://github.com/falcosecurity/libs;protocol=https;branch=master;name=falco;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/falcosecurity-libs \ |
27 | file://0055-Add-cstdint-for-uintXX_t-types.patch;patchdir=./falcosecurity-libs \ | 27 | file://0055-Add-cstdint-for-uintXX_t-types.patch;patchdir=./falcosecurity-libs \ |
28 | file://0099-cmake-Pass-PROBE_NAME-via-CFLAGS.patch \ | 28 | file://0099-cmake-Pass-PROBE_NAME-via-CFLAGS.patch \ |
29 | " | 29 | " |
@@ -32,8 +32,6 @@ SRCREV_falco = "caa0e4d0044fdaaebab086592a97f0c7f32aeaa9" | |||
32 | 32 | ||
33 | SRCREV_FORMAT = "sysdig_falco" | 33 | SRCREV_FORMAT = "sysdig_falco" |
34 | 34 | ||
35 | S = "${WORKDIR}/git" | ||
36 | |||
37 | EXTRA_OECMAKE = "\ | 35 | EXTRA_OECMAKE = "\ |
38 | -DBUILD_DRIVER=OFF \ | 36 | -DBUILD_DRIVER=OFF \ |
39 | -DMINIMAL_BUILD=ON \ | 37 | -DMINIMAL_BUILD=ON \ |
diff --git a/meta-selftest/recipes-test/cpp/cpp-example.inc b/meta-selftest/recipes-test/cpp/cpp-example.inc index 41aaa7219a..76ff64e87f 100644 --- a/meta-selftest/recipes-test/cpp/cpp-example.inc +++ b/meta-selftest/recipes-test/cpp/cpp-example.inc | |||
@@ -19,7 +19,6 @@ SRC_URI = "\ | |||
19 | file://run-ptest \ | 19 | file://run-ptest \ |
20 | " | 20 | " |
21 | 21 | ||
22 | S = "${WORKDIR}/sources" | 22 | S = "${UNPACKDIR}" |
23 | UNPACKDIR = "${S}" | ||
24 | 23 | ||
25 | inherit ptest | 24 | inherit ptest |
diff --git a/meta-selftest/recipes-test/devtool/devtool-test-ignored.bb b/meta-selftest/recipes-test/devtool/devtool-test-ignored.bb index 6a3d58c884..c7740eb118 100644 --- a/meta-selftest/recipes-test/devtool/devtool-test-ignored.bb +++ b/meta-selftest/recipes-test/devtool/devtool-test-ignored.bb | |||
@@ -4,6 +4,6 @@ INHIBIT_DEFAULT_DEPS = "1" | |||
4 | SRC_URI = "file://${BPN}.tar.gz \ | 4 | SRC_URI = "file://${BPN}.tar.gz \ |
5 | file://${BPN}.patch" | 5 | file://${BPN}.patch" |
6 | 6 | ||
7 | S = "${WORKDIR}/${BPN}" | 7 | S = "${UNPACKDIR}/${BPN}" |
8 | 8 | ||
9 | EXCLUDE_FROM_WORLD = "1" | 9 | EXCLUDE_FROM_WORLD = "1" |
diff --git a/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb b/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb index d0fd697978..03e082e83f 100644 --- a/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb +++ b/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb | |||
@@ -12,7 +12,7 @@ SRC_URI:append:class-native = " file://file3" | |||
12 | SRC_URI[md5sum] = "92a253df9211e9c20172796ecf388f13" | 12 | SRC_URI[md5sum] = "92a253df9211e9c20172796ecf388f13" |
13 | SRC_URI[sha256sum] = "26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e" | 13 | SRC_URI[sha256sum] = "26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e" |
14 | 14 | ||
15 | S = "${WORKDIR}/syslinux-${PV}" | 15 | S = "${UNPACKDIR}/syslinux-${PV}" |
16 | 16 | ||
17 | EXCLUDE_FROM_WORLD = "1" | 17 | EXCLUDE_FROM_WORLD = "1" |
18 | BBCLASSEXTEND = "native" | 18 | BBCLASSEXTEND = "native" |
diff --git a/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb b/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb index 446c51f09b..54463fed98 100644 --- a/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb +++ b/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb | |||
@@ -6,8 +6,7 @@ SRC_URI = "file://file1 \ | |||
6 | 6 | ||
7 | SRC_URI:append:class-native = " file://file3" | 7 | SRC_URI:append:class-native = " file://file3" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | 9 | S = "${UNPACKDIR}" |
10 | UNPACKDIR = "${S}" | ||
11 | 10 | ||
12 | EXCLUDE_FROM_WORLD = "1" | 11 | EXCLUDE_FROM_WORLD = "1" |
13 | BBCLASSEXTEND = "native" | 12 | BBCLASSEXTEND = "native" |
diff --git a/meta-selftest/recipes-test/devtool/devtool-test-long-filename.bb b/meta-selftest/recipes-test/devtool/devtool-test-long-filename.bb index 3ec22cae7f..3653403a2e 100644 --- a/meta-selftest/recipes-test/devtool/devtool-test-long-filename.bb +++ b/meta-selftest/recipes-test/devtool/devtool-test-long-filename.bb | |||
@@ -4,6 +4,6 @@ INHIBIT_DEFAULT_DEPS = "1" | |||
4 | SRC_URI = "file://${BPN}.tar.gz \ | 4 | SRC_URI = "file://${BPN}.tar.gz \ |
5 | file://0001-I-ll-patch-you-only-if-devtool-lets-me-to-do-it-corr.patch" | 5 | file://0001-I-ll-patch-you-only-if-devtool-lets-me-to-do-it-corr.patch" |
6 | 6 | ||
7 | S = "${WORKDIR}/${BPN}" | 7 | S = "${UNPACKDIR}/${BPN}" |
8 | 8 | ||
9 | EXCLUDE_FROM_WORLD = "1" | 9 | EXCLUDE_FROM_WORLD = "1" |
diff --git a/meta-selftest/recipes-test/devtool/devtool-test-patch-gz.bb b/meta-selftest/recipes-test/devtool/devtool-test-patch-gz.bb index e25b3d9747..f6960320db 100644 --- a/meta-selftest/recipes-test/devtool/devtool-test-patch-gz.bb +++ b/meta-selftest/recipes-test/devtool/devtool-test-patch-gz.bb | |||
@@ -8,7 +8,7 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/xrestop/xrestop-0.4.tar.gz | |||
8 | " | 8 | " |
9 | UPSTREAM_VERSION_UNKNOWN = "1" | 9 | UPSTREAM_VERSION_UNKNOWN = "1" |
10 | 10 | ||
11 | S = "${WORKDIR}/xrestop-0.4" | 11 | S = "${UNPACKDIR}/xrestop-0.4" |
12 | 12 | ||
13 | SRC_URI[md5sum] = "d8a54596cbaf037e62b80c4585a3ca9b" | 13 | SRC_URI[md5sum] = "d8a54596cbaf037e62b80c4585a3ca9b" |
14 | SRC_URI[sha256sum] = "67c2fc94a7ecedbaae0d1837e82e93d1d98f4a6d759828860e552119af3ce257" | 14 | SRC_URI[sha256sum] = "67c2fc94a7ecedbaae0d1837e82e93d1d98f4a6d759828860e552119af3ce257" |
diff --git a/meta-selftest/recipes-test/devtool/devtool-test-reset-re++.bb b/meta-selftest/recipes-test/devtool/devtool-test-reset-re++.bb index 35672a5265..0146be4c52 100644 --- a/meta-selftest/recipes-test/devtool/devtool-test-reset-re++.bb +++ b/meta-selftest/recipes-test/devtool/devtool-test-reset-re++.bb | |||
@@ -3,7 +3,6 @@ INHIBIT_DEFAULT_DEPS = "1" | |||
3 | 3 | ||
4 | SRC_URI = "file://file1" | 4 | SRC_URI = "file://file1" |
5 | 5 | ||
6 | S = "${WORKDIR}/sources" | 6 | S = "${UNPACKDIR}" |
7 | UNPACKDIR = "${S}" | ||
8 | 7 | ||
9 | EXCLUDE_FROM_WORLD = "1" | 8 | EXCLUDE_FROM_WORLD = "1" |
diff --git a/meta-selftest/recipes-test/devtool/devtool-test-subdir.bb b/meta-selftest/recipes-test/devtool/devtool-test-subdir.bb index 3f6956524b..966142431b 100644 --- a/meta-selftest/recipes-test/devtool/devtool-test-subdir.bb +++ b/meta-selftest/recipes-test/devtool/devtool-test-subdir.bb | |||
@@ -4,6 +4,6 @@ INHIBIT_DEFAULT_DEPS = "1" | |||
4 | SRC_URI = "file://devtool-test-subdir.tar.gz \ | 4 | SRC_URI = "file://devtool-test-subdir.tar.gz \ |
5 | file://testfile;subdir=${BPN}" | 5 | file://testfile;subdir=${BPN}" |
6 | 6 | ||
7 | S = "${WORKDIR}/${BPN}" | 7 | S = "${UNPACKDIR}/${BPN}" |
8 | 8 | ||
9 | EXCLUDE_FROM_WORLD = "1" | 9 | EXCLUDE_FROM_WORLD = "1" |
diff --git a/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb b/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb index fee5bee739..254ea45708 100644 --- a/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb +++ b/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb | |||
@@ -14,7 +14,7 @@ SRC_URI[sha256sum] = "681bcca9784bf3cb2207e68236d1f68e2aa7b80f999b5750dc77dcd756 | |||
14 | 14 | ||
15 | PR = "r5" | 15 | PR = "r5" |
16 | 16 | ||
17 | S = "${WORKDIR}/pv-${PV}" | 17 | S = "${UNPACKDIR}/pv-${PV}" |
18 | 18 | ||
19 | EXCLUDE_FROM_WORLD = "1" | 19 | EXCLUDE_FROM_WORLD = "1" |
20 | 20 | ||
diff --git a/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb.upgraded b/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb.upgraded index d75df0c8c7..f80744e14b 100644 --- a/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb.upgraded +++ b/meta-selftest/recipes-test/devtool/devtool-upgrade-test1_1.5.3.bb.upgraded | |||
@@ -11,7 +11,7 @@ RECIPE_NO_UPDATE_REASON = "This recipe is used to test devtool upgrade feature" | |||
11 | 11 | ||
12 | SRC_URI[sha256sum] = "9dd45391806b0ed215abee4c5ac1597d018c386fe9c1f5afd2f6bc3b07fd82c3" | 12 | SRC_URI[sha256sum] = "9dd45391806b0ed215abee4c5ac1597d018c386fe9c1f5afd2f6bc3b07fd82c3" |
13 | 13 | ||
14 | S = "${WORKDIR}/pv-${PV}" | 14 | S = "${UNPACKDIR}/pv-${PV}" |
15 | 15 | ||
16 | EXCLUDE_FROM_WORLD = "1" | 16 | EXCLUDE_FROM_WORLD = "1" |
17 | 17 | ||
diff --git a/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb b/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb index 2558a22ce5..66d66e95e2 100644 --- a/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb +++ b/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb | |||
@@ -15,8 +15,6 @@ SRC_URI = "git://git.yoctoproject.org/dbus-wait;branch=master" | |||
15 | UPSTREAM_CHECK_COMMITS = "1" | 15 | UPSTREAM_CHECK_COMMITS = "1" |
16 | RECIPE_NO_UPDATE_REASON = "This recipe is used to test devtool upgrade feature" | 16 | RECIPE_NO_UPDATE_REASON = "This recipe is used to test devtool upgrade feature" |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | EXCLUDE_FROM_WORLD = "1" | 18 | EXCLUDE_FROM_WORLD = "1" |
21 | 19 | ||
22 | inherit autotools pkgconfig | 20 | inherit autotools pkgconfig |
diff --git a/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb.upgraded b/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb.upgraded index eaa8bd898d..d3256ef5df 100644 --- a/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb.upgraded +++ b/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb.upgraded | |||
@@ -14,8 +14,6 @@ SRC_URI = "git://git.yoctoproject.org/dbus-wait;branch=master" | |||
14 | UPSTREAM_CHECK_COMMITS = "1" | 14 | UPSTREAM_CHECK_COMMITS = "1" |
15 | RECIPE_NO_UPDATE_REASON = "This recipe is used to test devtool upgrade feature" | 15 | RECIPE_NO_UPDATE_REASON = "This recipe is used to test devtool upgrade feature" |
16 | 16 | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | EXCLUDE_FROM_WORLD = "1" | 17 | EXCLUDE_FROM_WORLD = "1" |
20 | 18 | ||
21 | inherit autotools pkgconfig | 19 | inherit autotools pkgconfig |
diff --git a/meta-selftest/recipes-test/devtool/devtool-upgrade-test3_1.5.3.bb b/meta-selftest/recipes-test/devtool/devtool-upgrade-test3_1.5.3.bb index 69c0d351ec..0501e2025f 100644 --- a/meta-selftest/recipes-test/devtool/devtool-upgrade-test3_1.5.3.bb +++ b/meta-selftest/recipes-test/devtool/devtool-upgrade-test3_1.5.3.bb | |||
@@ -8,7 +8,7 @@ RECIPE_NO_UPDATE_REASON = "This recipe is used to test devtool upgrade feature" | |||
8 | 8 | ||
9 | SRC_URI[md5sum] = "9365d86bd884222b4bf1039b5a9ed1bd" | 9 | SRC_URI[md5sum] = "9365d86bd884222b4bf1039b5a9ed1bd" |
10 | 10 | ||
11 | S = "${WORKDIR}/pv-${PV}" | 11 | S = "${UNPACKDIR}/pv-${PV}" |
12 | 12 | ||
13 | EXCLUDE_FROM_WORLD = "1" | 13 | EXCLUDE_FROM_WORLD = "1" |
14 | 14 | ||
diff --git a/meta-selftest/recipes-test/devtool/devtool-upgrade-test3_1.5.3.bb.upgraded b/meta-selftest/recipes-test/devtool/devtool-upgrade-test3_1.5.3.bb.upgraded index 3ce7e85e10..2ba7c8213e 100644 --- a/meta-selftest/recipes-test/devtool/devtool-upgrade-test3_1.5.3.bb.upgraded +++ b/meta-selftest/recipes-test/devtool/devtool-upgrade-test3_1.5.3.bb.upgraded | |||
@@ -7,7 +7,7 @@ SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.gz" | |||
7 | UPSTREAM_CHECK_URI = "http://www.ivarch.com/programs/pv.shtml" | 7 | UPSTREAM_CHECK_URI = "http://www.ivarch.com/programs/pv.shtml" |
8 | RECIPE_NO_UPDATE_REASON = "This recipe is used to test devtool upgrade feature" | 8 | RECIPE_NO_UPDATE_REASON = "This recipe is used to test devtool upgrade feature" |
9 | 9 | ||
10 | S = "${WORKDIR}/pv-${PV}" | 10 | S = "${UNPACKDIR}/pv-${PV}" |
11 | 11 | ||
12 | EXCLUDE_FROM_WORLD = "1" | 12 | EXCLUDE_FROM_WORLD = "1" |
13 | 13 | ||
diff --git a/meta-selftest/recipes-test/devtool/devtool-upgrade-test4_1.5.3.bb b/meta-selftest/recipes-test/devtool/devtool-upgrade-test4_1.5.3.bb index 9abf80e6ed..71c03653f7 100644 --- a/meta-selftest/recipes-test/devtool/devtool-upgrade-test4_1.5.3.bb +++ b/meta-selftest/recipes-test/devtool/devtool-upgrade-test4_1.5.3.bb | |||
@@ -14,7 +14,7 @@ SRC_URI[sha512sum] = "32efe7071a363f547afc74e96774f711795edda1d2702823a347d0f995 | |||
14 | 14 | ||
15 | PR = "r5" | 15 | PR = "r5" |
16 | 16 | ||
17 | S = "${WORKDIR}/pv-${PV}" | 17 | S = "${UNPACKDIR}/pv-${PV}" |
18 | 18 | ||
19 | EXCLUDE_FROM_WORLD = "1" | 19 | EXCLUDE_FROM_WORLD = "1" |
20 | 20 | ||
diff --git a/meta-selftest/recipes-test/devtool/devtool-upgrade-test4_1.5.3.bb.upgraded b/meta-selftest/recipes-test/devtool/devtool-upgrade-test4_1.5.3.bb.upgraded index cd2a0842f4..0bc9f71da6 100644 --- a/meta-selftest/recipes-test/devtool/devtool-upgrade-test4_1.5.3.bb.upgraded +++ b/meta-selftest/recipes-test/devtool/devtool-upgrade-test4_1.5.3.bb.upgraded | |||
@@ -11,7 +11,7 @@ SRC_URI[sha256sum] = "9dd45391806b0ed215abee4c5ac1597d018c386fe9c1f5afd2f6bc3b07 | |||
11 | SRC_URI[sha384sum] = "218c8d2d097aeba5310be759bc20573f18ffa0b11701eac6dd2e7e14ddf13c6e0e094ca7ca026eaa05ef92a056402e36" | 11 | SRC_URI[sha384sum] = "218c8d2d097aeba5310be759bc20573f18ffa0b11701eac6dd2e7e14ddf13c6e0e094ca7ca026eaa05ef92a056402e36" |
12 | SRC_URI[sha512sum] = "1cf9d7376fceefcd594d0a8b591afc8e11ce89f7210d10ad74438974ecebe9cc5d9ec4db9cc79e0566bfd2b0278c0cc263c07547803e7536432cd1ffd32d8a45" | 12 | SRC_URI[sha512sum] = "1cf9d7376fceefcd594d0a8b591afc8e11ce89f7210d10ad74438974ecebe9cc5d9ec4db9cc79e0566bfd2b0278c0cc263c07547803e7536432cd1ffd32d8a45" |
13 | 13 | ||
14 | S = "${WORKDIR}/pv-${PV}" | 14 | S = "${UNPACKDIR}/pv-${PV}" |
15 | 15 | ||
16 | EXCLUDE_FROM_WORLD = "1" | 16 | EXCLUDE_FROM_WORLD = "1" |
17 | 17 | ||
diff --git a/meta-selftest/recipes-test/fortran/fortran-helloworld.bb b/meta-selftest/recipes-test/fortran/fortran-helloworld.bb index 11928dc95a..240ed473cc 100644 --- a/meta-selftest/recipes-test/fortran/fortran-helloworld.bb +++ b/meta-selftest/recipes-test/fortran/fortran-helloworld.bb | |||
@@ -6,8 +6,7 @@ DEPENDS = "libgfortran" | |||
6 | 6 | ||
7 | SRC_URI = "file://hello.f95" | 7 | SRC_URI = "file://hello.f95" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | 9 | S = "${UNPACKDIR}" |
10 | UNPACKDIR = "${S}" | ||
11 | 10 | ||
12 | # These set flags that Fortran doesn't support | 11 | # These set flags that Fortran doesn't support |
13 | SECURITY_CFLAGS = "" | 12 | SECURITY_CFLAGS = "" |
diff --git a/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb b/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb index 90d9b66b2c..1c0886dcbe 100644 --- a/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb +++ b/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb | |||
@@ -10,8 +10,6 @@ UPSTREAM_VERSION_UNKNOWN = "1" | |||
10 | SRC_URI = "gitsm://git.yoctoproject.org/git-submodule-test;branch=master" | 10 | SRC_URI = "gitsm://git.yoctoproject.org/git-submodule-test;branch=master" |
11 | SRCREV = "a2885dd7d25380d23627e7544b7bbb55014b16ee" | 11 | SRCREV = "a2885dd7d25380d23627e7544b7bbb55014b16ee" |
12 | 12 | ||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | do_test_git_as_user() { | 13 | do_test_git_as_user() { |
16 | cd ${S} | 14 | cd ${S} |
17 | git status | 15 | git status |
diff --git a/meta-selftest/recipes-test/gitrepotest/gitrepotest.bb b/meta-selftest/recipes-test/gitrepotest/gitrepotest.bb index c4806793ee..756c01cb09 100644 --- a/meta-selftest/recipes-test/gitrepotest/gitrepotest.bb +++ b/meta-selftest/recipes-test/gitrepotest/gitrepotest.bb | |||
@@ -13,4 +13,3 @@ SRC_URI = "git://git.yoctoproject.org/git/matchbox-panel-2;branch=master;protoco | |||
13 | 13 | ||
14 | SRCREV = "f82ca3f42510fb3ef10f598b393eb373a2c34ca7" | 14 | SRCREV = "f82ca3f42510fb3ef10f598b393eb373a2c34ca7" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
diff --git a/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline.inc b/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline.inc index 602e895199..59b383800c 100644 --- a/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline.inc +++ b/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline.inc | |||
@@ -13,4 +13,3 @@ SRC_URI:append:gitunpack-enable-recipe = ";tag=${TAGVALUE}" | |||
13 | SRCREV = "f82ca3f42510fb3ef10f598b393eb373a2c34ca7" | 13 | SRCREV = "f82ca3f42510fb3ef10f598b393eb373a2c34ca7" |
14 | SRCREV:gitunpack-enable-recipe = "" | 14 | SRCREV:gitunpack-enable-recipe = "" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
diff --git a/meta-selftest/recipes-test/images/wic-image-minimal.bb b/meta-selftest/recipes-test/images/wic-image-minimal.bb index 84d3721885..89843d9b3c 100644 --- a/meta-selftest/recipes-test/images/wic-image-minimal.bb +++ b/meta-selftest/recipes-test/images/wic-image-minimal.bb | |||
@@ -16,3 +16,5 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
16 | IMAGE_ROOTFS_EXTRA_SPACE = "2000" | 16 | IMAGE_ROOTFS_EXTRA_SPACE = "2000" |
17 | 17 | ||
18 | inherit image | 18 | inherit image |
19 | |||
20 | include test_recipe.inc | ||
diff --git a/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb b/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb index 8b314d396e..dfaf67c938 100644 --- a/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb +++ b/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb | |||
@@ -6,8 +6,7 @@ LICENSE = "HPND" | |||
6 | LIC_FILES_CHKSUM = "file://${UNPACKDIR}/somefile;md5=d41d8cd98f00b204e9800998ecf8427e" | 6 | LIC_FILES_CHKSUM = "file://${UNPACKDIR}/somefile;md5=d41d8cd98f00b204e9800998ecf8427e" |
7 | DEPENDS += "zlib" | 7 | DEPENDS += "zlib" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | 9 | S = "${UNPACKDIR}" |
10 | UNPACKDIR = "${S}" | ||
11 | 10 | ||
12 | BBCLASSEXTEND = "native nativesdk" | 11 | BBCLASSEXTEND = "native nativesdk" |
13 | 12 | ||
diff --git a/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb b/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb index a0eeb4f223..ca22e1e19c 100644 --- a/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb +++ b/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb | |||
@@ -5,8 +5,7 @@ LICENSE = "MIT" | |||
5 | 5 | ||
6 | DEPENDS += "coreutils-native" | 6 | DEPENDS += "coreutils-native" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | inherit useradd allarch | 10 | inherit useradd allarch |
12 | 11 | ||
diff --git a/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.20.2.bb b/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.20.2.bb index d4232b72ee..e183d2d4e5 100644 --- a/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.20.2.bb +++ b/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.20.2.bb | |||
@@ -21,7 +21,7 @@ UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/" | |||
21 | 21 | ||
22 | SRC_URI[sha256sum] = "65fec7318f48c2ca17f334ac0f4703defe62037bb13cc23920de077b5fa24523" | 22 | SRC_URI[sha256sum] = "65fec7318f48c2ca17f334ac0f4703defe62037bb13cc23920de077b5fa24523" |
23 | 23 | ||
24 | S = "${WORKDIR}/ed-${PV}" | 24 | S = "${UNPACKDIR}/ed-${PV}" |
25 | 25 | ||
26 | EXTRA_OEMAKE = "-e MAKEFLAGS=" | 26 | EXTRA_OEMAKE = "-e MAKEFLAGS=" |
27 | 27 | ||
diff --git a/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.21.1.bb b/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.21.1.bb index acd1ce5907..6b8ce6e23b 100644 --- a/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.21.1.bb +++ b/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.21.1.bb | |||
@@ -22,7 +22,7 @@ UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/" | |||
22 | 22 | ||
23 | SRC_URI[sha256sum] = "d6d0c7192b02b0519c902a93719053e865ade5a784a3b327d93d888457b23c4b" | 23 | SRC_URI[sha256sum] = "d6d0c7192b02b0519c902a93719053e865ade5a784a3b327d93d888457b23c4b" |
24 | 24 | ||
25 | S = "${WORKDIR}/ed-${PV}" | 25 | S = "${UNPACKDIR}/ed-${PV}" |
26 | 26 | ||
27 | EXTRA_OEMAKE = "-e MAKEFLAGS=" | 27 | EXTRA_OEMAKE = "-e MAKEFLAGS=" |
28 | 28 | ||
diff --git a/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb index 64fea8ed95..8b2aa6c737 100644 --- a/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb +++ b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb | |||
@@ -6,8 +6,7 @@ SRC_URI = "file://hello.c \ | |||
6 | file://gdb.sh \ | 6 | file://gdb.sh \ |
7 | " | 7 | " |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | 9 | S = "${UNPACKDIR}" |
10 | UNPACKDIR = "${S}" | ||
11 | 10 | ||
12 | do_compile () { | 11 | do_compile () { |
13 | ${CC} hello.c -o hello1 ${CFLAGS} ${LDFLAGS} | 12 | ${CC} hello.c -o hello1 ${CFLAGS} ${LDFLAGS} |
diff --git a/meta-selftest/recipes-test/selftest-hello/selftest-hello_1.0.bb b/meta-selftest/recipes-test/selftest-hello/selftest-hello_1.0.bb index 2dc352d479..0ffe7308ba 100644 --- a/meta-selftest/recipes-test/selftest-hello/selftest-hello_1.0.bb +++ b/meta-selftest/recipes-test/selftest-hello/selftest-hello_1.0.bb | |||
@@ -5,8 +5,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
5 | 5 | ||
6 | SRC_URI = "file://helloworld.c" | 6 | SRC_URI = "file://helloworld.c" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | do_compile() { | 10 | do_compile() { |
12 | ${CC} ${CFLAGS} ${LDFLAGS} helloworld.c -o helloworld | 11 | ${CC} ${CFLAGS} ${LDFLAGS} helloworld.c -o helloworld |
diff --git a/meta-selftest/recipes-test/selftest-users/acreategroup.bb b/meta-selftest/recipes-test/selftest-users/acreategroup.bb index a970c41134..07771ecf40 100644 --- a/meta-selftest/recipes-test/selftest-users/acreategroup.bb +++ b/meta-selftest/recipes-test/selftest-users/acreategroup.bb | |||
@@ -3,8 +3,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
3 | 3 | ||
4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
5 | 5 | ||
6 | S = "${WORKDIR}/sources" | 6 | S = "${UNPACKDIR}" |
7 | UNPACKDIR = "${S}" | ||
8 | 7 | ||
9 | EXCLUDE_FROM_WORLD = "1" | 8 | EXCLUDE_FROM_WORLD = "1" |
10 | 9 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/bcreategroup.bb b/meta-selftest/recipes-test/selftest-users/bcreategroup.bb index 08106dab7c..0071fcc331 100644 --- a/meta-selftest/recipes-test/selftest-users/bcreategroup.bb +++ b/meta-selftest/recipes-test/selftest-users/bcreategroup.bb | |||
@@ -7,8 +7,7 @@ LICENSE = "MIT" | |||
7 | 7 | ||
8 | USERADD_DEPENDS = "acreategroup ccreategroup" | 8 | USERADD_DEPENDS = "acreategroup ccreategroup" |
9 | 9 | ||
10 | S = "${WORKDIR}/sources" | 10 | S = "${UNPACKDIR}" |
11 | UNPACKDIR = "${S}" | ||
12 | 11 | ||
13 | EXCLUDE_FROM_WORLD = "1" | 12 | EXCLUDE_FROM_WORLD = "1" |
14 | 13 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/ccreategroup.bb b/meta-selftest/recipes-test/selftest-users/ccreategroup.bb index c82ced8481..1685916630 100644 --- a/meta-selftest/recipes-test/selftest-users/ccreategroup.bb +++ b/meta-selftest/recipes-test/selftest-users/ccreategroup.bb | |||
@@ -5,8 +5,7 @@ LICENSE = "MIT" | |||
5 | 5 | ||
6 | USERADD_DEPENDS = "acreategroup" | 6 | USERADD_DEPENDS = "acreategroup" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | EXCLUDE_FROM_WORLD = "1" | 10 | EXCLUDE_FROM_WORLD = "1" |
12 | 11 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/creategroup1.bb b/meta-selftest/recipes-test/selftest-users/creategroup1.bb index 4ab278f589..28651d3ed7 100644 --- a/meta-selftest/recipes-test/selftest-users/creategroup1.bb +++ b/meta-selftest/recipes-test/selftest-users/creategroup1.bb | |||
@@ -3,8 +3,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
3 | 3 | ||
4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
5 | 5 | ||
6 | S = "${WORKDIR}/sources" | 6 | S = "${UNPACKDIR}" |
7 | UNPACKDIR = "${S}" | ||
8 | 7 | ||
9 | inherit useradd allarch | 8 | inherit useradd allarch |
10 | 9 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/creategroup2.bb b/meta-selftest/recipes-test/selftest-users/creategroup2.bb index 179aba9bfc..2840c92106 100644 --- a/meta-selftest/recipes-test/selftest-users/creategroup2.bb +++ b/meta-selftest/recipes-test/selftest-users/creategroup2.bb | |||
@@ -5,8 +5,7 @@ LICENSE = "MIT" | |||
5 | 5 | ||
6 | USERADD_DEPENDS = "creategroup1" | 6 | USERADD_DEPENDS = "creategroup1" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | inherit useradd allarch | 10 | inherit useradd allarch |
12 | 11 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/dcreategroup.bb b/meta-selftest/recipes-test/selftest-users/dcreategroup.bb index 0030e81ee0..eba91fe63d 100644 --- a/meta-selftest/recipes-test/selftest-users/dcreategroup.bb +++ b/meta-selftest/recipes-test/selftest-users/dcreategroup.bb | |||
@@ -5,8 +5,7 @@ LICENSE = "MIT" | |||
5 | 5 | ||
6 | USERADD_DEPENDS = "bcreategroup" | 6 | USERADD_DEPENDS = "bcreategroup" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | EXCLUDE_FROM_WORLD = "1" | 10 | EXCLUDE_FROM_WORLD = "1" |
12 | 11 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/useraddbadtask.bb b/meta-selftest/recipes-test/selftest-users/useraddbadtask.bb index 2863541010..7ba7ec85fe 100644 --- a/meta-selftest/recipes-test/selftest-users/useraddbadtask.bb +++ b/meta-selftest/recipes-test/selftest-users/useraddbadtask.bb | |||
@@ -5,8 +5,7 @@ LICENSE = "MIT" | |||
5 | 5 | ||
6 | DEPENDS:append = "coreutils-native" | 6 | DEPENDS:append = "coreutils-native" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | inherit useradd allarch | 10 | inherit useradd allarch |
12 | 11 | ||
diff --git a/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb b/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb index db674d0efc..17ab7af0ab 100644 --- a/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb +++ b/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb | |||
@@ -6,8 +6,7 @@ LICENSE = "MIT" | |||
6 | SRC_URI = "file://testfile.txt" | 6 | SRC_URI = "file://testfile.txt" |
7 | INHIBIT_DEFAULT_DEPS = "1" | 7 | INHIBIT_DEFAULT_DEPS = "1" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | 9 | S = "${UNPACKDIR}" |
10 | UNPACKDIR = "${S}" | ||
11 | 10 | ||
12 | do_compile(){ | 11 | do_compile(){ |
13 | echo "testdata" > ${B}/"file with [brackets].txt" | 12 | echo "testdata" > ${B}/"file with [brackets].txt" |
diff --git a/meta-skeleton/conf/layer.conf b/meta-skeleton/conf/layer.conf index ad62721e41..43ef90a9f0 100644 --- a/meta-skeleton/conf/layer.conf +++ b/meta-skeleton/conf/layer.conf | |||
@@ -14,4 +14,4 @@ LAYERVERSION_skeleton = "1" | |||
14 | 14 | ||
15 | LAYERDEPENDS_skeleton = "core" | 15 | LAYERDEPENDS_skeleton = "core" |
16 | 16 | ||
17 | LAYERSERIES_COMPAT_skeleton = "walnascar" | 17 | LAYERSERIES_COMPAT_skeleton = "whinlatter" |
diff --git a/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb b/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb index 79f2e8a092..e5f0ca1023 100644 --- a/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb +++ b/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb | |||
@@ -10,8 +10,7 @@ SRC_URI = "file://Makefile \ | |||
10 | file://COPYING \ | 10 | file://COPYING \ |
11 | " | 11 | " |
12 | 12 | ||
13 | S = "${WORKDIR}/sources" | 13 | S = "${UNPACKDIR}" |
14 | UNPACKDIR = "${S}" | ||
15 | 14 | ||
16 | # The inherit of module.bbclass will automatically name module packages with | 15 | # The inherit of module.bbclass will automatically name module packages with |
17 | # "kernel-module-" prefix as required by the oe-core build environment. | 16 | # "kernel-module-" prefix as required by the oe-core build environment. |
diff --git a/meta-skeleton/recipes-skeleton/hello-single/hello_1.0.bb b/meta-skeleton/recipes-skeleton/hello-single/hello_1.0.bb index 8be7980919..cb07b13974 100644 --- a/meta-skeleton/recipes-skeleton/hello-single/hello_1.0.bb +++ b/meta-skeleton/recipes-skeleton/hello-single/hello_1.0.bb | |||
@@ -5,8 +5,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
5 | 5 | ||
6 | SRC_URI = "file://helloworld.c" | 6 | SRC_URI = "file://helloworld.c" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | do_compile() { | 10 | do_compile() { |
12 | ${CC} ${LDFLAGS} helloworld.c -o helloworld | 11 | ${CC} ${LDFLAGS} helloworld.c -o helloworld |
diff --git a/meta-skeleton/recipes-skeleton/service/service_0.1.bb b/meta-skeleton/recipes-skeleton/service/service_0.1.bb index 54b834d45f..f249579310 100644 --- a/meta-skeleton/recipes-skeleton/service/service_0.1.bb +++ b/meta-skeleton/recipes-skeleton/service/service_0.1.bb | |||
@@ -9,8 +9,7 @@ SRC_URI = "file://skeleton \ | |||
9 | file://COPYRIGHT \ | 9 | file://COPYRIGHT \ |
10 | " | 10 | " |
11 | 11 | ||
12 | S = "${WORKDIR}/sources" | 12 | S = "${UNPACKDIR}" |
13 | UNPACKDIR = "${S}" | ||
14 | 13 | ||
15 | do_compile () { | 14 | do_compile () { |
16 | ${CC} ${CFLAGS} ${LDFLAGS} ${S}/skeleton_test.c -o ${B}/skeleton-test | 15 | ${CC} ${CFLAGS} ${LDFLAGS} ${S}/skeleton_test.c -o ${B}/skeleton-test |
diff --git a/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb b/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb index b0d96e7f71..5783d9e245 100644 --- a/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb +++ b/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb | |||
@@ -9,8 +9,7 @@ SRC_URI = "file://file1 \ | |||
9 | file://file3 \ | 9 | file://file3 \ |
10 | file://file4" | 10 | file://file4" |
11 | 11 | ||
12 | S = "${WORKDIR}/sources" | 12 | S = "${UNPACKDIR}" |
13 | UNPACKDIR = "${S}" | ||
14 | 13 | ||
15 | PACKAGES =+ "${PN}-user3" | 14 | PACKAGES =+ "${PN}-user3" |
16 | 15 | ||
diff --git a/meta-yocto-bsp/conf/layer.conf b/meta-yocto-bsp/conf/layer.conf index f229cdec5e..cb36037aa2 100644 --- a/meta-yocto-bsp/conf/layer.conf +++ b/meta-yocto-bsp/conf/layer.conf | |||
@@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "yoctobsp" | |||
9 | BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/" | 9 | BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/" |
10 | BBFILE_PRIORITY_yoctobsp = "5" | 10 | BBFILE_PRIORITY_yoctobsp = "5" |
11 | LAYERVERSION_yoctobsp = "4" | 11 | LAYERVERSION_yoctobsp = "4" |
12 | LAYERSERIES_COMPAT_yoctobsp = "walnascar" | 12 | LAYERSERIES_COMPAT_yoctobsp = "whinlatter" |
diff --git a/meta/classes-global/base.bbclass b/meta/classes-global/base.bbclass index e55a538e36..b86f50e283 100644 --- a/meta/classes-global/base.bbclass +++ b/meta/classes-global/base.bbclass | |||
@@ -183,23 +183,16 @@ python base_do_unpack() { | |||
183 | 183 | ||
184 | basedir = None | 184 | basedir = None |
185 | unpackdir = d.getVar('UNPACKDIR') | 185 | unpackdir = d.getVar('UNPACKDIR') |
186 | workdir = d.getVar('WORKDIR') | 186 | if sourcedir.startswith(unpackdir): |
187 | if sourcedir.startswith(workdir) and not sourcedir.startswith(unpackdir): | 187 | basedir = sourcedir.replace(unpackdir, '').strip("/").split('/')[0] |
188 | basedir = sourcedir.replace(workdir, '').strip("/").split('/')[0] | ||
189 | if basedir: | 188 | if basedir: |
190 | bb.utils.remove(workdir + '/' + basedir, True) | 189 | d.setVar("SOURCE_BASEDIR", unpackdir + '/' + basedir) |
191 | d.setVar("SOURCE_BASEDIR", workdir + '/' + basedir) | ||
192 | 190 | ||
193 | try: | 191 | try: |
194 | fetcher = bb.fetch2.Fetch(src_uri, d) | 192 | fetcher = bb.fetch2.Fetch(src_uri, d) |
195 | fetcher.unpack(d.getVar('UNPACKDIR')) | 193 | fetcher.unpack(d.getVar('UNPACKDIR')) |
196 | except bb.fetch2.BBFetchException as e: | 194 | except bb.fetch2.BBFetchException as e: |
197 | bb.fatal("Bitbake Fetcher Error: " + repr(e)) | 195 | bb.fatal("Bitbake Fetcher Error: " + repr(e)) |
198 | |||
199 | if basedir and os.path.exists(unpackdir + '/' + basedir): | ||
200 | # Compatibility magic to ensure ${WORKDIR}/git and ${WORKDIR}/${BP} | ||
201 | # as often used in S work as expected. | ||
202 | shutil.move(unpackdir + '/' + basedir, workdir + '/' + basedir) | ||
203 | } | 196 | } |
204 | 197 | ||
205 | SSTATETASKS += "do_deploy_source_date_epoch" | 198 | SSTATETASKS += "do_deploy_source_date_epoch" |
diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass index c45650291f..4ef664b3ce 100644 --- a/meta/classes-global/insane.bbclass +++ b/meta/classes-global/insane.bbclass | |||
@@ -1431,6 +1431,14 @@ Rerun configure task after fixing this.""" | |||
1431 | python do_qa_unpack() { | 1431 | python do_qa_unpack() { |
1432 | src_uri = d.getVar('SRC_URI') | 1432 | src_uri = d.getVar('SRC_URI') |
1433 | s_dir = d.getVar('S') | 1433 | s_dir = d.getVar('S') |
1434 | s_dir_orig = d.getVar('S', False) | ||
1435 | |||
1436 | if s_dir_orig == '${WORKDIR}/git' or s_dir_orig == '${UNPACKDIR}/git': | ||
1437 | bb.fatal('Recipes that set S = "${WORKDIR}/git" or S = "${UNPACKDIR}/git" should remove that assignment, as S set by bitbake.conf in oe-core now works.') | ||
1438 | |||
1439 | if '${WORKDIR}' in s_dir_orig: | ||
1440 | bb.fatal('S should be set relative to UNPACKDIR, e.g. replace WORKDIR with UNPACKDIR in "S = {}"'.format(s_dir_orig)) | ||
1441 | |||
1434 | if src_uri and not os.path.exists(s_dir): | 1442 | if src_uri and not os.path.exists(s_dir): |
1435 | bb.warn('%s: the directory %s (%s) pointed to by the S variable doesn\'t exist - please set S within the recipe to point to where the source has been unpacked to' % (d.getVar('PN'), d.getVar('S', False), s_dir)) | 1443 | bb.warn('%s: the directory %s (%s) pointed to by the S variable doesn\'t exist - please set S within the recipe to point to where the source has been unpacked to' % (d.getVar('PN'), d.getVar('S', False), s_dir)) |
1436 | } | 1444 | } |
diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass index 1d7b033b80..2968cc4c2e 100644 --- a/meta/classes-global/sstate.bbclass +++ b/meta/classes-global/sstate.bbclass | |||
@@ -726,7 +726,6 @@ def pstaging_fetch(sstatefetch, d): | |||
726 | localdata = bb.data.createCopy(d) | 726 | localdata = bb.data.createCopy(d) |
727 | 727 | ||
728 | dldir = localdata.expand("${SSTATE_DIR}") | 728 | dldir = localdata.expand("${SSTATE_DIR}") |
729 | bb.utils.mkdirhier(dldir) | ||
730 | 729 | ||
731 | localdata.delVar('MIRRORS') | 730 | localdata.delVar('MIRRORS') |
732 | localdata.setVar('FILESPATH', dldir) | 731 | localdata.setVar('FILESPATH', dldir) |
@@ -746,16 +745,19 @@ def pstaging_fetch(sstatefetch, d): | |||
746 | if bb.utils.to_boolean(d.getVar("SSTATE_VERIFY_SIG"), False): | 745 | if bb.utils.to_boolean(d.getVar("SSTATE_VERIFY_SIG"), False): |
747 | uris += ['file://{0}.sig;downloadfilename={0}.sig'.format(sstatefetch)] | 746 | uris += ['file://{0}.sig;downloadfilename={0}.sig'.format(sstatefetch)] |
748 | 747 | ||
749 | for srcuri in uris: | 748 | with bb.utils.umask(0o002): |
750 | localdata.delVar('SRC_URI') | 749 | bb.utils.mkdirhier(dldir) |
751 | localdata.setVar('SRC_URI', srcuri) | ||
752 | try: | ||
753 | fetcher = bb.fetch2.Fetch([srcuri], localdata, cache=False) | ||
754 | fetcher.checkstatus() | ||
755 | fetcher.download() | ||
756 | 750 | ||
757 | except bb.fetch2.BBFetchException: | 751 | for srcuri in uris: |
758 | pass | 752 | localdata.delVar('SRC_URI') |
753 | localdata.setVar('SRC_URI', srcuri) | ||
754 | try: | ||
755 | fetcher = bb.fetch2.Fetch([srcuri], localdata, cache=False) | ||
756 | fetcher.checkstatus() | ||
757 | fetcher.download() | ||
758 | |||
759 | except bb.fetch2.BBFetchException: | ||
760 | pass | ||
759 | 761 | ||
760 | def sstate_setscene(d): | 762 | def sstate_setscene(d): |
761 | shared_state = sstate_state_fromvars(d) | 763 | shared_state = sstate_state_fromvars(d) |
diff --git a/meta/classes-recipe/barebox.bbclass b/meta/classes-recipe/barebox.bbclass index a562dce169..ece8fb6485 100644 --- a/meta/classes-recipe/barebox.bbclass +++ b/meta/classes-recipe/barebox.bbclass | |||
@@ -14,7 +14,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" | |||
14 | 14 | ||
15 | DEPENDS += "bison-native flex-native lz4-native" | 15 | DEPENDS += "bison-native flex-native lz4-native" |
16 | 16 | ||
17 | S = "${WORKDIR}/barebox-${PV}" | 17 | S = "${UNPACKDIR}/barebox-${PV}" |
18 | B = "${WORKDIR}/build" | 18 | B = "${WORKDIR}/build" |
19 | 19 | ||
20 | require conf/image-uefi.conf | 20 | require conf/image-uefi.conf |
diff --git a/meta/classes-recipe/devicetree.bbclass b/meta/classes-recipe/devicetree.bbclass index 2a2ac93e9b..ce9d008aac 100644 --- a/meta/classes-recipe/devicetree.bbclass +++ b/meta/classes-recipe/devicetree.bbclass | |||
@@ -40,8 +40,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" | |||
40 | SYSROOT_DIRS += "/boot/devicetree" | 40 | SYSROOT_DIRS += "/boot/devicetree" |
41 | FILES:${PN} = "/boot/devicetree/*.dtb /boot/devicetree/*.dtbo" | 41 | FILES:${PN} = "/boot/devicetree/*.dtb /boot/devicetree/*.dtbo" |
42 | 42 | ||
43 | S = "${WORKDIR}/sources" | 43 | S = "${UNPACKDIR}" |
44 | UNPACKDIR = "${S}" | ||
45 | B = "${WORKDIR}/build" | 44 | B = "${WORKDIR}/build" |
46 | 45 | ||
47 | # Default kernel includes, these represent what are normally used for in-kernel | 46 | # Default kernel includes, these represent what are normally used for in-kernel |
diff --git a/meta/classes-recipe/devupstream.bbclass b/meta/classes-recipe/devupstream.bbclass index d941763fb7..60026a527f 100644 --- a/meta/classes-recipe/devupstream.bbclass +++ b/meta/classes-recipe/devupstream.bbclass | |||
@@ -13,9 +13,6 @@ | |||
13 | # SRC_URI:class-devupstream = "git://git.example.com/example;branch=master" | 13 | # SRC_URI:class-devupstream = "git://git.example.com/example;branch=master" |
14 | # SRCREV:class-devupstream = "abcdef" | 14 | # SRCREV:class-devupstream = "abcdef" |
15 | # | 15 | # |
16 | # If the first entry in SRC_URI is a git: URL then S is rewritten to | ||
17 | # WORKDIR/git. | ||
18 | # | ||
19 | # There are a few caveats that remain to be solved: | 16 | # There are a few caveats that remain to be solved: |
20 | # - You can't build native or nativesdk recipes using for example | 17 | # - You can't build native or nativesdk recipes using for example |
21 | # devupstream:native, you can only build target recipes. | 18 | # devupstream:native, you can only build target recipes. |
@@ -39,9 +36,6 @@ python devupstream_virtclass_handler () { | |||
39 | src_uri = d.getVar("SRC_URI:class-devupstream") or d.getVar("SRC_URI") | 36 | src_uri = d.getVar("SRC_URI:class-devupstream") or d.getVar("SRC_URI") |
40 | uri = bb.fetch2.URI(src_uri.split()[0]) | 37 | uri = bb.fetch2.URI(src_uri.split()[0]) |
41 | 38 | ||
42 | if uri.scheme == "git" and not d.getVar("S:class-devupstream"): | ||
43 | d.setVar("S", "${WORKDIR}/git") | ||
44 | |||
45 | # Modify the PV if the recipe hasn't already overridden it | 39 | # Modify the PV if the recipe hasn't already overridden it |
46 | pv = d.getVar("PV") | 40 | pv = d.getVar("PV") |
47 | proto_marker = "+" + uri.scheme | 41 | proto_marker = "+" + uri.scheme |
diff --git a/meta/classes-recipe/image-live.bbclass b/meta/classes-recipe/image-live.bbclass index d2e95ef51c..c3054be630 100644 --- a/meta/classes-recipe/image-live.bbclass +++ b/meta/classes-recipe/image-live.bbclass | |||
@@ -147,7 +147,10 @@ build_iso() { | |||
147 | isohybrid_args="-u" | 147 | isohybrid_args="-u" |
148 | fi | 148 | fi |
149 | 149 | ||
150 | isohybrid $isohybrid_args ${IMGDEPLOYDIR}/${IMAGE_NAME}.iso | 150 | # EFI only does not need isohybrid |
151 | if [ "${PCBIOS}" = "1" ] || [ "${EFI}" != "1" ]; then | ||
152 | isohybrid $isohybrid_args ${IMGDEPLOYDIR}/${IMAGE_NAME}.iso | ||
153 | fi | ||
151 | } | 154 | } |
152 | 155 | ||
153 | build_fat_img() { | 156 | build_fat_img() { |
diff --git a/meta/classes-recipe/image_types_wic.bbclass b/meta/classes-recipe/image_types_wic.bbclass index 740ed946f8..6180874a4c 100644 --- a/meta/classes-recipe/image_types_wic.bbclass +++ b/meta/classes-recipe/image_types_wic.bbclass | |||
@@ -57,6 +57,16 @@ def wks_search(files, search_path): | |||
57 | if searched: | 57 | if searched: |
58 | return searched | 58 | return searched |
59 | 59 | ||
60 | def wks_checksums(files, search_path): | ||
61 | ret = "" | ||
62 | for f in files: | ||
63 | found, hist = bb.utils.which(search_path, f, history=True) | ||
64 | ret = ret + " " + " ".join(h + ":False" for h in hist[:-1]) | ||
65 | if found: | ||
66 | ret = ret + " " + found + ":True" | ||
67 | return ret | ||
68 | |||
69 | |||
60 | WIC_CREATE_EXTRA_ARGS ?= "" | 70 | WIC_CREATE_EXTRA_ARGS ?= "" |
61 | 71 | ||
62 | IMAGE_CMD:wic () { | 72 | IMAGE_CMD:wic () { |
@@ -98,7 +108,7 @@ do_image_wic[cleandirs] = "${WORKDIR}/build-wic" | |||
98 | 108 | ||
99 | # Rebuild when the wks file or vars in WICVARS change | 109 | # Rebuild when the wks file or vars in WICVARS change |
100 | USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}" | 110 | USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}" |
101 | WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}') if '${USING_WIC}' else ''}" | 111 | WKS_FILE_CHECKSUM = "${@wks_checksums(d.getVar('WKS_FILES').split(), d.getVar('WKS_SEARCH_PATH')) if '${USING_WIC}' else ''}" |
102 | do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}" | 112 | do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}" |
103 | do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r in ('parted', 'gptfdisk', 'dosfstools', 'mtools'))}" | 113 | do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r in ('parted', 'gptfdisk', 'dosfstools', 'mtools'))}" |
104 | 114 | ||
diff --git a/meta/classes-recipe/kernel-fit-image.bbclass b/meta/classes-recipe/kernel-fit-image.bbclass index d2eebb88bc..39845997ed 100644 --- a/meta/classes-recipe/kernel-fit-image.bbclass +++ b/meta/classes-recipe/kernel-fit-image.bbclass | |||
@@ -2,8 +2,7 @@ | |||
2 | inherit kernel-arch kernel-artifact-names uboot-config deploy | 2 | inherit kernel-arch kernel-artifact-names uboot-config deploy |
3 | require conf/image-fitimage.conf | 3 | require conf/image-fitimage.conf |
4 | 4 | ||
5 | S = "${WORKDIR}/sources" | 5 | S = "${UNPACKDIR}" |
6 | UNPACKDIR = "${S}" | ||
7 | 6 | ||
8 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 7 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
9 | 8 | ||
diff --git a/meta/classes-recipe/kernel-yocto.bbclass b/meta/classes-recipe/kernel-yocto.bbclass index ba93145fd3..e53bf15194 100644 --- a/meta/classes-recipe/kernel-yocto.bbclass +++ b/meta/classes-recipe/kernel-yocto.bbclass | |||
@@ -388,19 +388,19 @@ do_kernel_checkout() { | |||
388 | set +e | 388 | set +e |
389 | 389 | ||
390 | source_dir=`echo ${S} | sed 's%/$%%'` | 390 | source_dir=`echo ${S} | sed 's%/$%%'` |
391 | source_workdir="${UNPACKDIR}/git" | 391 | source_unpackdir="${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}" |
392 | if [ -d "${UNPACKDIR}/git/" ]; then | 392 | if [ -d "${source_unpackdir}" ]; then |
393 | # case: git repository | 393 | # case: git repository |
394 | # if S is WORKDIR/git, then we shouldn't be moving or deleting the tree. | 394 | # if S is UNPACKDIR/BB_GIT_DEFAULT_DESTSUFFIX, then we shouldn't be moving or deleting the tree. |
395 | if [ "${source_dir}" != "${source_workdir}" ]; then | 395 | if [ "${source_dir}" != "${source_unpackdir}" ]; then |
396 | if [ -d "${source_workdir}/.git" ]; then | 396 | if [ -d "${source_unpackdir}/.git" ]; then |
397 | # regular git repository with .git | 397 | # regular git repository with .git |
398 | rm -rf ${S} | 398 | rm -rf ${S} |
399 | mv ${UNPACKDIR}/git ${S} | 399 | mv ${source_unpackdir} ${S} |
400 | else | 400 | else |
401 | # create source for bare cloned git repository | 401 | # create source for bare cloned git repository |
402 | git clone ${WORKDIR}/git ${S} | 402 | git clone ${source_unpackdir} ${S} |
403 | rm -rf ${UNPACKDIR}/git | 403 | rm -rf ${source_unpackdir} |
404 | fi | 404 | fi |
405 | fi | 405 | fi |
406 | cd ${S} | 406 | cd ${S} |
diff --git a/meta/classes-recipe/pypi.bbclass b/meta/classes-recipe/pypi.bbclass index b0bc167cdf..eb30004a0f 100644 --- a/meta/classes-recipe/pypi.bbclass +++ b/meta/classes-recipe/pypi.bbclass | |||
@@ -41,7 +41,7 @@ PYPI_SRC_URI ?= "${@pypi_src_uri(d)}" | |||
41 | HOMEPAGE ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/" | 41 | HOMEPAGE ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/" |
42 | SECTION = "devel/python" | 42 | SECTION = "devel/python" |
43 | SRC_URI:prepend = "${PYPI_SRC_URI} " | 43 | SRC_URI:prepend = "${PYPI_SRC_URI} " |
44 | S = "${WORKDIR}/${PYPI_PACKAGE}-${PV}" | 44 | S = "${UNPACKDIR}/${PYPI_PACKAGE}-${PV}" |
45 | 45 | ||
46 | # Replace any '_' characters in the pypi URI with '-'s to follow the PyPi website naming conventions | 46 | # Replace any '_' characters in the pypi URI with '-'s to follow the PyPi website naming conventions |
47 | UPSTREAM_CHECK_PYPI_PACKAGE ?= "${@pypi_normalize(d)}" | 47 | UPSTREAM_CHECK_PYPI_PACKAGE ?= "${@pypi_normalize(d)}" |
diff --git a/meta/classes-recipe/rust-target-config.bbclass b/meta/classes-recipe/rust-target-config.bbclass index c04940ce54..cac6e90a9e 100644 --- a/meta/classes-recipe/rust-target-config.bbclass +++ b/meta/classes-recipe/rust-target-config.bbclass | |||
@@ -77,8 +77,33 @@ def llvm_features_from_tune(d): | |||
77 | f.append("+a15") | 77 | f.append("+a15") |
78 | if 'cortexa17' in feat: | 78 | if 'cortexa17' in feat: |
79 | f.append("+a17") | 79 | f.append("+a17") |
80 | if ('riscv64' in feat) or ('riscv32' in feat): | 80 | if 'rv' in feat: |
81 | f.append("+a,+c,+d,+f,+m") | 81 | if 'm' in feat: |
82 | f.append("+m") | ||
83 | if 'a' in feat: | ||
84 | f.append("+a") | ||
85 | if 'f' in feat: | ||
86 | f.append("+f") | ||
87 | if 'd' in feat: | ||
88 | f.append("+d") | ||
89 | if 'c' in feat: | ||
90 | f.append("+c") | ||
91 | if 'v' in feat: | ||
92 | f.append("+v") | ||
93 | if 'zicbom' in feat: | ||
94 | f.append("+zicbom") | ||
95 | if 'zicsr' in feat: | ||
96 | f.append("+zicsr") | ||
97 | if 'zifencei' in feat: | ||
98 | f.append("+zifencei") | ||
99 | if 'zba' in feat: | ||
100 | f.append("+zba") | ||
101 | if 'zbb' in feat: | ||
102 | f.append("+zbb") | ||
103 | if 'zbc' in feat: | ||
104 | f.append("+zbc") | ||
105 | if 'zbs' in feat: | ||
106 | f.append("+zbs") | ||
82 | return f | 107 | return f |
83 | llvm_features_from_tune[vardepvalue] = "${@llvm_features_from_tune(d)}" | 108 | llvm_features_from_tune[vardepvalue] = "${@llvm_features_from_tune(d)}" |
84 | 109 | ||
@@ -146,7 +171,7 @@ MAX_ATOMIC_WIDTH[armv7-eabi] = "64" | |||
146 | FEATURES[armv7-eabi] = "+v7,+vfp2,+thumb2" | 171 | FEATURES[armv7-eabi] = "+v7,+vfp2,+thumb2" |
147 | 172 | ||
148 | ## aarch64-unknown-linux-{gnu, musl} | 173 | ## aarch64-unknown-linux-{gnu, musl} |
149 | DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" | 174 | DATA_LAYOUT[aarch64] = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" |
150 | TARGET_ENDIAN[aarch64] = "little" | 175 | TARGET_ENDIAN[aarch64] = "little" |
151 | TARGET_POINTER_WIDTH[aarch64] = "64" | 176 | TARGET_POINTER_WIDTH[aarch64] = "64" |
152 | TARGET_C_INT_WIDTH[aarch64] = "32" | 177 | TARGET_C_INT_WIDTH[aarch64] = "32" |
@@ -236,19 +261,19 @@ TARGET_POINTER_WIDTH[powerpc64le] = "64" | |||
236 | TARGET_C_INT_WIDTH[powerpc64le] = "32" | 261 | TARGET_C_INT_WIDTH[powerpc64le] = "32" |
237 | MAX_ATOMIC_WIDTH[powerpc64le] = "64" | 262 | MAX_ATOMIC_WIDTH[powerpc64le] = "64" |
238 | 263 | ||
239 | ## riscv32gc-unknown-linux-{gnu, musl} | 264 | ## riscv32-unknown-linux-{gnu, musl} |
240 | DATA_LAYOUT[riscv32gc] = "e-m:e-p:32:32-i64:64-n32-S128" | 265 | DATA_LAYOUT[riscv32] = "e-m:e-p:32:32-i64:64-n32-S128" |
241 | TARGET_ENDIAN[riscv32gc] = "little" | 266 | TARGET_ENDIAN[riscv32] = "little" |
242 | TARGET_POINTER_WIDTH[riscv32gc] = "32" | 267 | TARGET_POINTER_WIDTH[riscv32] = "32" |
243 | TARGET_C_INT_WIDTH[riscv32gc] = "32" | 268 | TARGET_C_INT_WIDTH[riscv32] = "32" |
244 | MAX_ATOMIC_WIDTH[riscv32gc] = "32" | 269 | MAX_ATOMIC_WIDTH[riscv32] = "32" |
245 | 270 | ||
246 | ## riscv64gc-unknown-linux-{gnu, musl} | 271 | ## riscv64-unknown-linux-{gnu, musl} |
247 | DATA_LAYOUT[riscv64gc] = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128" | 272 | DATA_LAYOUT[riscv64] = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128" |
248 | TARGET_ENDIAN[riscv64gc] = "little" | 273 | TARGET_ENDIAN[riscv64] = "little" |
249 | TARGET_POINTER_WIDTH[riscv64gc] = "64" | 274 | TARGET_POINTER_WIDTH[riscv64] = "64" |
250 | TARGET_C_INT_WIDTH[riscv64gc] = "32" | 275 | TARGET_C_INT_WIDTH[riscv64] = "32" |
251 | MAX_ATOMIC_WIDTH[riscv64gc] = "64" | 276 | MAX_ATOMIC_WIDTH[riscv64] = "64" |
252 | 277 | ||
253 | ## loongarch64-unknown-linux-{gnu, musl} | 278 | ## loongarch64-unknown-linux-{gnu, musl} |
254 | DATA_LAYOUT[loongarch64] = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128" | 279 | DATA_LAYOUT[loongarch64] = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128" |
@@ -271,19 +296,11 @@ def arch_to_rust_target_arch(arch): | |||
271 | return "arm" | 296 | return "arm" |
272 | elif arch == "powerpc64le": | 297 | elif arch == "powerpc64le": |
273 | return "powerpc64" | 298 | return "powerpc64" |
274 | elif arch == "riscv32gc": | ||
275 | return "riscv32" | ||
276 | elif arch == "riscv64gc": | ||
277 | return "riscv64" | ||
278 | else: | 299 | else: |
279 | return arch | 300 | return arch |
280 | 301 | ||
281 | # Convert a rust target string to a llvm-compatible triplet | 302 | # Convert a rust target string to a llvm-compatible triplet |
282 | def rust_sys_to_llvm_target(sys): | 303 | def rust_sys_to_llvm_target(sys): |
283 | if sys.startswith('riscv32gc-'): | ||
284 | return sys.replace('riscv32gc-', 'riscv32-', 1) | ||
285 | if sys.startswith('riscv64gc-'): | ||
286 | return sys.replace('riscv64gc-', 'riscv64-', 1) | ||
287 | return sys | 304 | return sys |
288 | 305 | ||
289 | # generates our target CPU value | 306 | # generates our target CPU value |
@@ -380,9 +397,9 @@ def rust_gen_target(d, thing, wd, arch): | |||
380 | else: | 397 | else: |
381 | tspec['env'] = "gnu" | 398 | tspec['env'] = "gnu" |
382 | if "riscv64" in tspec['llvm-target']: | 399 | if "riscv64" in tspec['llvm-target']: |
383 | tspec['llvm-abiname'] = "lp64d" | 400 | tspec['llvm-abiname'] = d.getVar('TUNE_RISCV_ABI') |
384 | if "riscv32" in tspec['llvm-target']: | 401 | if "riscv32" in tspec['llvm-target']: |
385 | tspec['llvm-abiname'] = "ilp32d" | 402 | tspec['llvm-abiname'] = d.getVar('TUNE_RISCV_ABI') |
386 | if "loongarch64" in tspec['llvm-target']: | 403 | if "loongarch64" in tspec['llvm-target']: |
387 | tspec['llvm-abiname'] = "lp64d" | 404 | tspec['llvm-abiname'] = "lp64d" |
388 | tspec['vendor'] = "unknown" | 405 | tspec['vendor'] = "unknown" |
diff --git a/meta/classes-recipe/uboot-config.bbclass b/meta/classes-recipe/uboot-config.bbclass index f44605cb6a..bc20913f73 100644 --- a/meta/classes-recipe/uboot-config.bbclass +++ b/meta/classes-recipe/uboot-config.bbclass | |||
@@ -22,12 +22,17 @@ def removesuffix(s, suffix): | |||
22 | UBOOT_ENTRYPOINT ?= "0x20008000" | 22 | UBOOT_ENTRYPOINT ?= "0x20008000" |
23 | UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}" | 23 | UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}" |
24 | 24 | ||
25 | # When naming the files we install/deploy, the package version and revision | ||
26 | # are part of the filename. Create a single variable to represent this and | ||
27 | # allow it to be customized if desired. | ||
28 | UBOOT_VERSION ?= "${PV}-${PR}" | ||
29 | |||
25 | # Some versions of u-boot use .bin and others use .img. By default use .bin | 30 | # Some versions of u-boot use .bin and others use .img. By default use .bin |
26 | # but enable individual recipes to change this value. | 31 | # but enable individual recipes to change this value. |
27 | UBOOT_SUFFIX ??= "bin" | 32 | UBOOT_SUFFIX ??= "bin" |
28 | UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" | 33 | UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" |
29 | UBOOT_BINARYNAME ?= "${@os.path.splitext(d.getVar("UBOOT_BINARY"))[0]}" | 34 | UBOOT_BINARYNAME ?= "${@os.path.splitext(d.getVar("UBOOT_BINARY"))[0]}" |
30 | UBOOT_IMAGE ?= "${UBOOT_BINARYNAME}-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}" | 35 | UBOOT_IMAGE ?= "${UBOOT_BINARYNAME}-${MACHINE}-${UBOOT_VERSION}.${UBOOT_SUFFIX}" |
31 | UBOOT_SYMLINK ?= "${UBOOT_BINARYNAME}-${MACHINE}.${UBOOT_SUFFIX}" | 36 | UBOOT_SYMLINK ?= "${UBOOT_BINARYNAME}-${MACHINE}.${UBOOT_SUFFIX}" |
32 | UBOOT_MAKE_TARGET ?= "all" | 37 | UBOOT_MAKE_TARGET ?= "all" |
33 | 38 | ||
@@ -36,7 +41,7 @@ UBOOT_MAKE_TARGET ?= "all" | |||
36 | # purposes. | 41 | # purposes. |
37 | UBOOT_ELF ?= "" | 42 | UBOOT_ELF ?= "" |
38 | UBOOT_ELF_SUFFIX ?= "elf" | 43 | UBOOT_ELF_SUFFIX ?= "elf" |
39 | UBOOT_ELF_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}" | 44 | UBOOT_ELF_IMAGE ?= "u-boot-${MACHINE}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX}" |
40 | UBOOT_ELF_BINARY ?= "u-boot.${UBOOT_ELF_SUFFIX}" | 45 | UBOOT_ELF_BINARY ?= "u-boot.${UBOOT_ELF_SUFFIX}" |
41 | UBOOT_ELF_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_ELF_SUFFIX}" | 46 | UBOOT_ELF_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_ELF_SUFFIX}" |
42 | 47 | ||
@@ -49,7 +54,7 @@ SPL_BINARY ?= "" | |||
49 | SPL_DELIMITER ?= "${@'.' if d.getVar("SPL_SUFFIX") else ''}" | 54 | SPL_DELIMITER ?= "${@'.' if d.getVar("SPL_SUFFIX") else ''}" |
50 | SPL_BINARYFILE ?= "${@os.path.basename(d.getVar("SPL_BINARY"))}" | 55 | SPL_BINARYFILE ?= "${@os.path.basename(d.getVar("SPL_BINARY"))}" |
51 | SPL_BINARYNAME ?= "${@removesuffix(d.getVar("SPL_BINARYFILE"), "." + d.getVar("SPL_SUFFIX"))}" | 56 | SPL_BINARYNAME ?= "${@removesuffix(d.getVar("SPL_BINARYFILE"), "." + d.getVar("SPL_SUFFIX"))}" |
52 | SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX}" | 57 | SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX}" |
53 | SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}${SPL_DELIMITER}${SPL_SUFFIX}" | 58 | SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}${SPL_DELIMITER}${SPL_SUFFIX}" |
54 | 59 | ||
55 | # Additional environment variables or a script can be installed alongside | 60 | # Additional environment variables or a script can be installed alongside |
@@ -62,14 +67,14 @@ UBOOT_ENV ?= "" | |||
62 | UBOOT_ENV_SRC_SUFFIX ?= "cmd" | 67 | UBOOT_ENV_SRC_SUFFIX ?= "cmd" |
63 | UBOOT_ENV_SRC ?= "${UBOOT_ENV}.${UBOOT_ENV_SRC_SUFFIX}" | 68 | UBOOT_ENV_SRC ?= "${UBOOT_ENV}.${UBOOT_ENV_SRC_SUFFIX}" |
64 | UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}" | 69 | UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}" |
65 | UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}" | 70 | UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${UBOOT_VERSION}.${UBOOT_ENV_SUFFIX}" |
66 | UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}" | 71 | UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}" |
67 | 72 | ||
68 | # U-Boot EXTLINUX variables. U-Boot searches for /boot/extlinux/extlinux.conf | 73 | # U-Boot EXTLINUX variables. U-Boot searches for /boot/extlinux/extlinux.conf |
69 | # to find EXTLINUX conf file. | 74 | # to find EXTLINUX conf file. |
70 | UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux" | 75 | UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux" |
71 | UBOOT_EXTLINUX_CONF_NAME ?= "extlinux.conf" | 76 | UBOOT_EXTLINUX_CONF_NAME ?= "extlinux.conf" |
72 | UBOOT_EXTLINUX_SYMLINK ?= "${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}-${PR}" | 77 | UBOOT_EXTLINUX_SYMLINK ?= "${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}-${UBOOT_VERSION}" |
73 | 78 | ||
74 | # Options for the device tree compiler passed to mkimage '-D' feature: | 79 | # Options for the device tree compiler passed to mkimage '-D' feature: |
75 | UBOOT_MKIMAGE_DTCOPTS ??= "" | 80 | UBOOT_MKIMAGE_DTCOPTS ??= "" |
diff --git a/meta/classes-recipe/uboot-sign.bbclass b/meta/classes-recipe/uboot-sign.bbclass index 73e9ce3f11..0f387a3a3e 100644 --- a/meta/classes-recipe/uboot-sign.bbclass +++ b/meta/classes-recipe/uboot-sign.bbclass | |||
@@ -50,6 +50,8 @@ UBOOT_FITIMAGE_BINARY ?= "u-boot-fitImage" | |||
50 | UBOOT_FITIMAGE_SYMLINK ?= "u-boot-fitImage-${MACHINE}" | 50 | UBOOT_FITIMAGE_SYMLINK ?= "u-boot-fitImage-${MACHINE}" |
51 | SPL_DIR ?= "spl" | 51 | SPL_DIR ?= "spl" |
52 | SPL_DTB_IMAGE ?= "u-boot-spl-${MACHINE}-${PV}-${PR}.dtb" | 52 | SPL_DTB_IMAGE ?= "u-boot-spl-${MACHINE}-${PV}-${PR}.dtb" |
53 | # When SPL is not used, set SPL_DTB_BINARY ?= "" to explicitly indicate | ||
54 | # that no SPL DTB should be created or signed. | ||
53 | SPL_DTB_BINARY ?= "u-boot-spl.dtb" | 55 | SPL_DTB_BINARY ?= "u-boot-spl.dtb" |
54 | SPL_DTB_SIGNED ?= "${SPL_DTB_BINARY}-signed" | 56 | SPL_DTB_SIGNED ?= "${SPL_DTB_BINARY}-signed" |
55 | SPL_DTB_SYMLINK ?= "u-boot-spl-${MACHINE}.dtb" | 57 | SPL_DTB_SYMLINK ?= "u-boot-spl-${MACHINE}.dtb" |
@@ -196,21 +198,23 @@ concat_dtb() { | |||
196 | # If we're not using a signed u-boot fit, concatenate SPL w/o DTB & U-Boot DTB | 198 | # If we're not using a signed u-boot fit, concatenate SPL w/o DTB & U-Boot DTB |
197 | # with public key (otherwise U-Boot will be packaged by uboot_fitimage_assemble) | 199 | # with public key (otherwise U-Boot will be packaged by uboot_fitimage_assemble) |
198 | if [ "${SPL_SIGN_ENABLE}" != "1" ] ; then | 200 | if [ "${SPL_SIGN_ENABLE}" != "1" ] ; then |
199 | if [ "x${UBOOT_SUFFIX}" = "ximg" -o "x${UBOOT_SUFFIX}" = "xrom" ] && \ | 201 | if [ ! -e "${UBOOT_DTB_BINARY}" ]; then |
200 | [ -e "${UBOOT_DTB_BINARY}" ]; then | 202 | bbwarn "Failure while adding public key to u-boot binary. Verified boot won't be available." |
203 | return | ||
204 | fi | ||
205 | |||
206 | if [ "x${UBOOT_SUFFIX}" = "ximg" ] || [ "x${UBOOT_SUFFIX}" = "xrom" ]; then | ||
201 | oe_runmake EXT_DTB="${UBOOT_DTB_SIGNED}" ${UBOOT_MAKE_TARGET} | 207 | oe_runmake EXT_DTB="${UBOOT_DTB_SIGNED}" ${UBOOT_MAKE_TARGET} |
202 | if [ -n "${binary}" ]; then | 208 | if [ -n "${binary}" ]; then |
203 | cp ${binary} ${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} | 209 | cp ${binary} ${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} |
204 | fi | 210 | fi |
205 | elif [ -e "${UBOOT_NODTB_BINARY}" -a -e "${UBOOT_DTB_BINARY}" ]; then | 211 | elif [ -e "${UBOOT_NODTB_BINARY}" ]; then |
206 | if [ -n "${binary}" ]; then | 212 | if [ -n "${binary}" ]; then |
207 | cat ${UBOOT_NODTB_BINARY} ${UBOOT_DTB_SIGNED} | tee ${binary} > \ | 213 | cat ${UBOOT_NODTB_BINARY} ${UBOOT_DTB_SIGNED} | tee ${binary} > \ |
208 | ${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} | 214 | ${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} |
209 | else | 215 | else |
210 | cat ${UBOOT_NODTB_BINARY} ${UBOOT_DTB_SIGNED} > ${UBOOT_BINARY} | 216 | cat ${UBOOT_NODTB_BINARY} ${UBOOT_DTB_SIGNED} > ${UBOOT_BINARY} |
211 | fi | 217 | fi |
212 | else | ||
213 | bbwarn "Failure while adding public key to u-boot binary. Verified boot won't be available." | ||
214 | fi | 218 | fi |
215 | fi | 219 | fi |
216 | } | 220 | } |
@@ -242,7 +246,7 @@ deploy_dtb() { | |||
242 | } | 246 | } |
243 | 247 | ||
244 | concat_spl_dtb() { | 248 | concat_spl_dtb() { |
245 | if [ -e "${SPL_DIR}/${SPL_NODTB_BINARY}" -a -e "${SPL_DIR}/${SPL_DTB_BINARY}" ] ; then | 249 | if [ -e "${SPL_DIR}/${SPL_NODTB_BINARY}" ] && [ -e "${SPL_DIR}/${SPL_DTB_BINARY}" ] ; then |
246 | cat ${SPL_DIR}/${SPL_NODTB_BINARY} ${SPL_DIR}/${SPL_DTB_SIGNED} > "${SPL_BINARY}" | 250 | cat ${SPL_DIR}/${SPL_NODTB_BINARY} ${SPL_DIR}/${SPL_DTB_SIGNED} > "${SPL_BINARY}" |
247 | else | 251 | else |
248 | bbwarn "Failure while adding public key to spl binary. Verified U-Boot boot won't be available." | 252 | bbwarn "Failure while adding public key to spl binary. Verified U-Boot boot won't be available." |
@@ -466,25 +470,31 @@ EOF | |||
466 | ${UBOOT_FITIMAGE_BINARY} | 470 | ${UBOOT_FITIMAGE_BINARY} |
467 | 471 | ||
468 | if [ "${SPL_SIGN_ENABLE}" = "1" ] ; then | 472 | if [ "${SPL_SIGN_ENABLE}" = "1" ] ; then |
469 | # | 473 | if [ -n "${SPL_DTB_BINARY}" ] ; then |
470 | # Sign the U-boot FIT image and add public key to SPL dtb | 474 | # |
471 | # | 475 | # Sign the U-boot FIT image and add public key to SPL dtb |
472 | ${UBOOT_MKIMAGE_SIGN} \ | 476 | # |
473 | ${@'-D "${SPL_MKIMAGE_DTCOPTS}"' if len('${SPL_MKIMAGE_DTCOPTS}') else ''} \ | 477 | ${UBOOT_MKIMAGE_SIGN} \ |
474 | -F -k "${SPL_SIGN_KEYDIR}" \ | 478 | ${@'-D "${SPL_MKIMAGE_DTCOPTS}"' if len('${SPL_MKIMAGE_DTCOPTS}') else ''} \ |
475 | -K "${SPL_DIR}/${SPL_DTB_BINARY}" \ | 479 | -F -k "${SPL_SIGN_KEYDIR}" \ |
476 | -r ${UBOOT_FITIMAGE_BINARY} \ | 480 | -K "${SPL_DIR}/${SPL_DTB_BINARY}" \ |
477 | ${SPL_MKIMAGE_SIGN_ARGS} | 481 | -r ${UBOOT_FITIMAGE_BINARY} \ |
478 | # | 482 | ${SPL_MKIMAGE_SIGN_ARGS} |
479 | # Verify the U-boot FIT image and SPL dtb | 483 | |
480 | # | 484 | # Verify the U-boot FIT image and SPL dtb |
481 | ${UBOOT_FIT_CHECK_SIGN} \ | 485 | ${UBOOT_FIT_CHECK_SIGN} \ |
482 | -k "${SPL_DIR}/${SPL_DTB_BINARY}" \ | 486 | -k "${SPL_DIR}/${SPL_DTB_BINARY}" \ |
483 | -f ${UBOOT_FITIMAGE_BINARY} | 487 | -f ${UBOOT_FITIMAGE_BINARY} |
484 | fi | ||
485 | 488 | ||
486 | if [ -e "${SPL_DIR}/${SPL_DTB_BINARY}" ]; then | 489 | cp ${SPL_DIR}/${SPL_DTB_BINARY} ${SPL_DIR}/${SPL_DTB_SIGNED} |
487 | cp ${SPL_DIR}/${SPL_DTB_BINARY} ${SPL_DIR}/${SPL_DTB_SIGNED} | 490 | else |
491 | # Sign the U-boot FIT image | ||
492 | ${UBOOT_MKIMAGE_SIGN} \ | ||
493 | ${@'-D "${SPL_MKIMAGE_DTCOPTS}"' if len('${SPL_MKIMAGE_DTCOPTS}') else ''} \ | ||
494 | -F -k "${SPL_SIGN_KEYDIR}" \ | ||
495 | -r ${UBOOT_FITIMAGE_BINARY} \ | ||
496 | ${SPL_MKIMAGE_SIGN_ARGS} | ||
497 | fi | ||
488 | fi | 498 | fi |
489 | } | 499 | } |
490 | 500 | ||
@@ -492,15 +502,15 @@ uboot_assemble_fitimage_helper() { | |||
492 | type="$1" | 502 | type="$1" |
493 | binary="$2" | 503 | binary="$2" |
494 | 504 | ||
495 | if [ "${UBOOT_SIGN_ENABLE}" = "1" -a -n "${UBOOT_DTB_BINARY}" ] ; then | 505 | if [ "${UBOOT_SIGN_ENABLE}" = "1" ] && [ -n "${UBOOT_DTB_BINARY}" ] ; then |
496 | concat_dtb "$type" "$binary" | 506 | concat_dtb "$type" "$binary" |
497 | fi | 507 | fi |
498 | 508 | ||
499 | if [ "${UBOOT_FITIMAGE_ENABLE}" = "1" -a -n "${SPL_DTB_BINARY}" ]; then | 509 | if [ "${UBOOT_FITIMAGE_ENABLE}" = "1" ]; then |
500 | uboot_fitimage_assemble | 510 | uboot_fitimage_assemble |
501 | fi | 511 | fi |
502 | 512 | ||
503 | if [ "${SPL_SIGN_ENABLE}" = "1" -a -n "${SPL_DTB_BINARY}" ] ; then | 513 | if [ "${SPL_SIGN_ENABLE}" = "1" ] && [ -n "${SPL_DTB_BINARY}" ] ; then |
504 | concat_spl_dtb | 514 | concat_spl_dtb |
505 | fi | 515 | fi |
506 | } | 516 | } |
@@ -539,11 +549,11 @@ addtask uboot_assemble_fitimage before do_install do_deploy after do_compile | |||
539 | deploy_helper() { | 549 | deploy_helper() { |
540 | type="$1" | 550 | type="$1" |
541 | 551 | ||
542 | if [ "${UBOOT_SIGN_ENABLE}" = "1" -a -n "${UBOOT_DTB_SIGNED}" ] ; then | 552 | if [ "${UBOOT_SIGN_ENABLE}" = "1" ] && [ -n "${UBOOT_DTB_SIGNED}" ] ; then |
543 | deploy_dtb $type | 553 | deploy_dtb $type |
544 | fi | 554 | fi |
545 | 555 | ||
546 | if [ "${UBOOT_FITIMAGE_ENABLE}" = "1" -a -n "${SPL_DTB_BINARY}" ]; then | 556 | if [ "${UBOOT_FITIMAGE_ENABLE}" = "1" ]; then |
547 | if [ -n "${type}" ]; then | 557 | if [ -n "${type}" ]; then |
548 | uboot_its_image="u-boot-its-${type}-${PV}-${PR}" | 558 | uboot_its_image="u-boot-its-${type}-${PV}-${PR}" |
549 | uboot_fitimage_image="u-boot-fitImage-${type}-${PV}-${PR}" | 559 | uboot_fitimage_image="u-boot-fitImage-${type}-${PV}-${PR}" |
@@ -561,7 +571,7 @@ deploy_helper() { | |||
561 | fi | 571 | fi |
562 | fi | 572 | fi |
563 | 573 | ||
564 | if [ "${SPL_SIGN_ENABLE}" = "1" -a -n "${SPL_DTB_SIGNED}" ] ; then | 574 | if [ "${SPL_SIGN_ENABLE}" = "1" ] && [ -n "${SPL_DTB_BINARY}" ] ; then |
565 | deploy_spl_dtb $type | 575 | deploy_spl_dtb $type |
566 | fi | 576 | fi |
567 | } | 577 | } |
@@ -586,7 +596,7 @@ do_deploy:prepend() { | |||
586 | deploy_helper "" | 596 | deploy_helper "" |
587 | fi | 597 | fi |
588 | 598 | ||
589 | if [ "${UBOOT_SIGN_ENABLE}" = "1" -a -n "${UBOOT_DTB_BINARY}" ] ; then | 599 | if [ "${UBOOT_SIGN_ENABLE}" = "1" ] && [ -n "${UBOOT_DTB_BINARY}" ] ; then |
590 | ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_BINARY} | 600 | ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_BINARY} |
591 | ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_SYMLINK} | 601 | ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_SYMLINK} |
592 | ln -sf ${UBOOT_NODTB_IMAGE} ${DEPLOYDIR}/${UBOOT_NODTB_SYMLINK} | 602 | ln -sf ${UBOOT_NODTB_IMAGE} ${DEPLOYDIR}/${UBOOT_NODTB_SYMLINK} |
@@ -600,7 +610,7 @@ do_deploy:prepend() { | |||
600 | ln -sf ${UBOOT_FITIMAGE_IMAGE} ${DEPLOYDIR}/${UBOOT_FITIMAGE_SYMLINK} | 610 | ln -sf ${UBOOT_FITIMAGE_IMAGE} ${DEPLOYDIR}/${UBOOT_FITIMAGE_SYMLINK} |
601 | fi | 611 | fi |
602 | 612 | ||
603 | if [ "${SPL_SIGN_ENABLE}" = "1" -a -n "${SPL_DTB_BINARY}" ] ; then | 613 | if [ "${SPL_SIGN_ENABLE}" = "1" ] && [ -n "${SPL_DTB_BINARY}" ] ; then |
604 | ln -sf ${SPL_DTB_IMAGE} ${DEPLOYDIR}/${SPL_DTB_SYMLINK} | 614 | ln -sf ${SPL_DTB_IMAGE} ${DEPLOYDIR}/${SPL_DTB_SYMLINK} |
605 | ln -sf ${SPL_DTB_IMAGE} ${DEPLOYDIR}/${SPL_DTB_BINARY} | 615 | ln -sf ${SPL_DTB_IMAGE} ${DEPLOYDIR}/${SPL_DTB_BINARY} |
606 | ln -sf ${SPL_NODTB_IMAGE} ${DEPLOYDIR}/${SPL_NODTB_SYMLINK} | 616 | ln -sf ${SPL_NODTB_IMAGE} ${DEPLOYDIR}/${SPL_NODTB_SYMLINK} |
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass index e970182620..4a380c10c6 100644 --- a/meta/classes/buildhistory.bbclass +++ b/meta/classes/buildhistory.bbclass | |||
@@ -16,28 +16,6 @@ BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory" | |||
16 | BUILDHISTORY_DIR_IMAGE = "${BUILDHISTORY_DIR}/images/${MACHINE_ARCH}/${TCLIBC}/${IMAGE_BASENAME}" | 16 | BUILDHISTORY_DIR_IMAGE = "${BUILDHISTORY_DIR}/images/${MACHINE_ARCH}/${TCLIBC}/${IMAGE_BASENAME}" |
17 | BUILDHISTORY_DIR_PACKAGE = "${BUILDHISTORY_DIR}/packages/${MULTIMACH_TARGET_SYS}/${PN}" | 17 | BUILDHISTORY_DIR_PACKAGE = "${BUILDHISTORY_DIR}/packages/${MULTIMACH_TARGET_SYS}/${PN}" |
18 | 18 | ||
19 | # Setting this to non-empty will remove the old content of the buildhistory as part of | ||
20 | # the current bitbake invocation and replace it with information about what was built | ||
21 | # during the build. | ||
22 | # | ||
23 | # This is meant to be used in continuous integration (CI) systems when invoking bitbake | ||
24 | # for full world builds. The effect in that case is that information about packages | ||
25 | # that no longer get build also gets removed from the buildhistory, which is not | ||
26 | # the case otherwise. | ||
27 | # | ||
28 | # The advantage over manually cleaning the buildhistory outside of bitbake is that | ||
29 | # the "version-going-backwards" check still works. When relying on that, be careful | ||
30 | # about failed world builds: they will lead to incomplete information in the | ||
31 | # buildhistory because information about packages that could not be built will | ||
32 | # also get removed. A CI system should handle that by discarding the buildhistory | ||
33 | # of failed builds. | ||
34 | # | ||
35 | # The expected usage is via auto.conf, but passing via the command line also works | ||
36 | # with: BB_ENV_PASSTHROUGH_ADDITIONS=BUILDHISTORY_RESET BUILDHISTORY_RESET=1 | ||
37 | BUILDHISTORY_RESET ?= "" | ||
38 | |||
39 | BUILDHISTORY_OLD_DIR = "${BUILDHISTORY_DIR}/${@ "old" if "${BUILDHISTORY_RESET}" else ""}" | ||
40 | BUILDHISTORY_OLD_DIR_PACKAGE = "${BUILDHISTORY_OLD_DIR}/packages/${MULTIMACH_TARGET_SYS}/${PN}" | ||
41 | BUILDHISTORY_DIR_SDK = "${BUILDHISTORY_DIR}/sdk/${SDK_NAME}${SDK_EXT}/${IMAGE_BASENAME}" | 19 | BUILDHISTORY_DIR_SDK = "${BUILDHISTORY_DIR}/sdk/${SDK_NAME}${SDK_EXT}/${IMAGE_BASENAME}" |
42 | BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group" | 20 | BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group" |
43 | BUILDHISTORY_SDK_FILES ?= "conf/local.conf conf/bblayers.conf conf/auto.conf conf/locked-sigs.inc conf/devtool.conf" | 21 | BUILDHISTORY_SDK_FILES ?= "conf/local.conf conf/bblayers.conf conf/auto.conf conf/locked-sigs.inc conf/devtool.conf" |
@@ -70,9 +48,10 @@ SSTATEPOSTUNPACKFUNCS[vardepvalueexclude] .= "| buildhistory_emit_outputsigs" | |||
70 | # necessary because some of these items (package directories, files that | 48 | # necessary because some of these items (package directories, files that |
71 | # we no longer emit) might be obsolete. | 49 | # we no longer emit) might be obsolete. |
72 | # | 50 | # |
73 | # When extending build history, derive your class from buildhistory.bbclass | 51 | # The files listed here are either written by tasks that aren't do_package (e.g. |
74 | # and extend this list here with the additional files created by the derived | 52 | # latest_srcrev from do_fetch) so do_package must not remove them, or, they're |
75 | # class. | 53 | # used to read values in do_package before always being overwritten, e.g. latest, |
54 | # for version backwards checks. | ||
76 | BUILDHISTORY_PRESERVE = "latest latest_srcrev sysroot" | 55 | BUILDHISTORY_PRESERVE = "latest latest_srcrev sysroot" |
77 | 56 | ||
78 | PATCH_GIT_USER_EMAIL ?= "buildhistory@oe" | 57 | PATCH_GIT_USER_EMAIL ?= "buildhistory@oe" |
@@ -108,7 +87,6 @@ python buildhistory_emit_pkghistory() { | |||
108 | return 0 | 87 | return 0 |
109 | 88 | ||
110 | pkghistdir = d.getVar('BUILDHISTORY_DIR_PACKAGE') | 89 | pkghistdir = d.getVar('BUILDHISTORY_DIR_PACKAGE') |
111 | oldpkghistdir = d.getVar('BUILDHISTORY_OLD_DIR_PACKAGE') | ||
112 | 90 | ||
113 | class RecipeInfo: | 91 | class RecipeInfo: |
114 | def __init__(self, name): | 92 | def __init__(self, name): |
@@ -203,7 +181,7 @@ python buildhistory_emit_pkghistory() { | |||
203 | 181 | ||
204 | def getlastpkgversion(pkg): | 182 | def getlastpkgversion(pkg): |
205 | try: | 183 | try: |
206 | histfile = os.path.join(oldpkghistdir, pkg, "latest") | 184 | histfile = os.path.join(pkghistdir, pkg, "latest") |
207 | return readPackageInfo(pkg, histfile) | 185 | return readPackageInfo(pkg, histfile) |
208 | except EnvironmentError: | 186 | except EnvironmentError: |
209 | return None | 187 | return None |
@@ -219,20 +197,6 @@ python buildhistory_emit_pkghistory() { | |||
219 | items.sort() | 197 | items.sort() |
220 | return ' '.join(items) | 198 | return ' '.join(items) |
221 | 199 | ||
222 | def preservebuildhistoryfiles(pkg, preserve): | ||
223 | if os.path.exists(os.path.join(oldpkghistdir, pkg)): | ||
224 | listofobjs = os.listdir(os.path.join(oldpkghistdir, pkg)) | ||
225 | for obj in listofobjs: | ||
226 | if obj not in preserve: | ||
227 | continue | ||
228 | try: | ||
229 | bb.utils.mkdirhier(os.path.join(pkghistdir, pkg)) | ||
230 | shutil.copyfile(os.path.join(oldpkghistdir, pkg, obj), os.path.join(pkghistdir, pkg, obj)) | ||
231 | except IOError as e: | ||
232 | bb.note("Unable to copy file. %s" % e) | ||
233 | except EnvironmentError as e: | ||
234 | bb.note("Unable to copy file. %s" % e) | ||
235 | |||
236 | pn = d.getVar('PN') | 200 | pn = d.getVar('PN') |
237 | pe = d.getVar('PE') or "0" | 201 | pe = d.getVar('PE') or "0" |
238 | pv = d.getVar('PV') | 202 | pv = d.getVar('PV') |
@@ -260,14 +224,6 @@ python buildhistory_emit_pkghistory() { | |||
260 | if not os.path.exists(pkghistdir): | 224 | if not os.path.exists(pkghistdir): |
261 | bb.utils.mkdirhier(pkghistdir) | 225 | bb.utils.mkdirhier(pkghistdir) |
262 | else: | 226 | else: |
263 | # We need to make sure that all files kept in | ||
264 | # buildhistory/old are restored successfully | ||
265 | # otherwise next block of code wont have files to | ||
266 | # check and purge | ||
267 | if d.getVar("BUILDHISTORY_RESET"): | ||
268 | for pkg in packagelist: | ||
269 | preservebuildhistoryfiles(pkg, preserve) | ||
270 | |||
271 | # Remove files for packages that no longer exist | 227 | # Remove files for packages that no longer exist |
272 | for item in os.listdir(pkghistdir): | 228 | for item in os.listdir(pkghistdir): |
273 | if item not in preserve: | 229 | if item not in preserve: |
@@ -887,25 +843,7 @@ END | |||
887 | 843 | ||
888 | python buildhistory_eventhandler() { | 844 | python buildhistory_eventhandler() { |
889 | if (e.data.getVar('BUILDHISTORY_FEATURES') or "").strip(): | 845 | if (e.data.getVar('BUILDHISTORY_FEATURES') or "").strip(): |
890 | reset = e.data.getVar("BUILDHISTORY_RESET") | 846 | if isinstance(e, bb.event.BuildCompleted): |
891 | olddir = e.data.getVar("BUILDHISTORY_OLD_DIR") | ||
892 | if isinstance(e, bb.event.BuildStarted): | ||
893 | if reset: | ||
894 | import shutil | ||
895 | # Clean up after potentially interrupted build. | ||
896 | if os.path.isdir(olddir): | ||
897 | shutil.rmtree(olddir) | ||
898 | rootdir = e.data.getVar("BUILDHISTORY_DIR") | ||
899 | bb.utils.mkdirhier(rootdir) | ||
900 | entries = [ x for x in os.listdir(rootdir) if not x.startswith('.') ] | ||
901 | bb.utils.mkdirhier(olddir) | ||
902 | for entry in entries: | ||
903 | bb.utils.rename(os.path.join(rootdir, entry), | ||
904 | os.path.join(olddir, entry)) | ||
905 | elif isinstance(e, bb.event.BuildCompleted): | ||
906 | if reset: | ||
907 | import shutil | ||
908 | shutil.rmtree(olddir) | ||
909 | if e.data.getVar("BUILDHISTORY_COMMIT") == "1": | 847 | if e.data.getVar("BUILDHISTORY_COMMIT") == "1": |
910 | bb.note("Writing buildhistory") | 848 | bb.note("Writing buildhistory") |
911 | bb.build.exec_func("buildhistory_write_sigs", d) | 849 | bb.build.exec_func("buildhistory_write_sigs", d) |
diff --git a/meta/classes/create-spdx-2.2.bbclass b/meta/classes/create-spdx-2.2.bbclass index 7e8f8b9ff5..6fc60a1d97 100644 --- a/meta/classes/create-spdx-2.2.bbclass +++ b/meta/classes/create-spdx-2.2.bbclass | |||
@@ -137,6 +137,11 @@ def add_package_files(d, doc, spdx_pkg, topdir, get_spdxid, get_types, *, archiv | |||
137 | spdx_files = [] | 137 | spdx_files = [] |
138 | 138 | ||
139 | file_counter = 1 | 139 | file_counter = 1 |
140 | |||
141 | check_compiled_sources = d.getVar("SPDX_INCLUDE_COMPILED_SOURCES") == "1" | ||
142 | if check_compiled_sources: | ||
143 | compiled_sources, types = oe.spdx_common.get_compiled_sources(d) | ||
144 | bb.debug(1, f"Total compiled files: {len(compiled_sources)}") | ||
140 | for subdir, dirs, files in os.walk(topdir): | 145 | for subdir, dirs, files in os.walk(topdir): |
141 | dirs[:] = [d for d in dirs if d not in ignore_dirs] | 146 | dirs[:] = [d for d in dirs if d not in ignore_dirs] |
142 | if subdir == str(topdir): | 147 | if subdir == str(topdir): |
@@ -147,6 +152,10 @@ def add_package_files(d, doc, spdx_pkg, topdir, get_spdxid, get_types, *, archiv | |||
147 | filename = str(filepath.relative_to(topdir)) | 152 | filename = str(filepath.relative_to(topdir)) |
148 | 153 | ||
149 | if not filepath.is_symlink() and filepath.is_file(): | 154 | if not filepath.is_symlink() and filepath.is_file(): |
155 | # Check if file is compiled | ||
156 | if check_compiled_sources: | ||
157 | if not oe.spdx_common.is_compiled_source(filename, compiled_sources, types): | ||
158 | continue | ||
150 | spdx_file = oe.spdx.SPDXFile() | 159 | spdx_file = oe.spdx.SPDXFile() |
151 | spdx_file.SPDXID = get_spdxid(file_counter) | 160 | spdx_file.SPDXID = get_spdxid(file_counter) |
152 | for t in get_types(filepath): | 161 | for t in get_types(filepath): |
diff --git a/meta/classes/devtool-source.bbclass b/meta/classes/devtool-source.bbclass index 9762003ba7..2e0070486b 100644 --- a/meta/classes/devtool-source.bbclass +++ b/meta/classes/devtool-source.bbclass | |||
@@ -92,9 +92,9 @@ python devtool_post_unpack() { | |||
92 | for fname in local_files: | 92 | for fname in local_files: |
93 | f.write('%s\n' % fname) | 93 | f.write('%s\n' % fname) |
94 | 94 | ||
95 | if os.path.dirname(srcsubdir) != workdir: | 95 | if srcsubdir.startswith(unpackdir) and os.path.dirname(srcsubdir) != unpackdir: |
96 | # Handle if S is set to a subdirectory of the source | 96 | # Handle if S is set to a subdirectory of the source |
97 | srcsubdir = os.path.join(workdir, os.path.relpath(srcsubdir, workdir).split(os.sep)[0]) | 97 | srcsubdir = os.path.normpath(os.path.join(unpackdir, os.path.relpath(srcsubdir, unpackdir).split(os.sep)[0])) |
98 | 98 | ||
99 | scriptutils.git_convert_standalone_clone(srcsubdir) | 99 | scriptutils.git_convert_standalone_clone(srcsubdir) |
100 | 100 | ||
diff --git a/meta/classes/spdx-common.bbclass b/meta/classes/spdx-common.bbclass index 713a7fc651..ca0416d1c7 100644 --- a/meta/classes/spdx-common.bbclass +++ b/meta/classes/spdx-common.bbclass | |||
@@ -26,6 +26,7 @@ SPDX_TOOL_VERSION ??= "1.0" | |||
26 | SPDXRUNTIMEDEPLOY = "${SPDXDIR}/runtime-deploy" | 26 | SPDXRUNTIMEDEPLOY = "${SPDXDIR}/runtime-deploy" |
27 | 27 | ||
28 | SPDX_INCLUDE_SOURCES ??= "0" | 28 | SPDX_INCLUDE_SOURCES ??= "0" |
29 | SPDX_INCLUDE_COMPILED_SOURCES ??= "0" | ||
29 | 30 | ||
30 | SPDX_UUID_NAMESPACE ??= "sbom.openembedded.org" | 31 | SPDX_UUID_NAMESPACE ??= "sbom.openembedded.org" |
31 | SPDX_NAMESPACE_PREFIX ??= "http://spdx.org/spdxdocs" | 32 | SPDX_NAMESPACE_PREFIX ??= "http://spdx.org/spdxdocs" |
@@ -40,6 +41,8 @@ SPDX_MULTILIB_SSTATE_ARCHS ??= "${SSTATE_ARCHS}" | |||
40 | python () { | 41 | python () { |
41 | from oe.cve_check import extend_cve_status | 42 | from oe.cve_check import extend_cve_status |
42 | extend_cve_status(d) | 43 | extend_cve_status(d) |
44 | if d.getVar("SPDX_INCLUDE_COMPILED_SOURCES") == "1": | ||
45 | d.setVar("SPDX_INCLUDE_SOURCES", "1") | ||
43 | } | 46 | } |
44 | 47 | ||
45 | def create_spdx_source_deps(d): | 48 | def create_spdx_source_deps(d): |
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 54d6bebc39..a3300fc172 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf | |||
@@ -407,10 +407,11 @@ STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${PV}" | |||
407 | STAMPCLEAN = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/*-*" | 407 | STAMPCLEAN = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/*-*" |
408 | BASE_WORKDIR ?= "${TMPDIR}/work" | 408 | BASE_WORKDIR ?= "${TMPDIR}/work" |
409 | WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${PV}" | 409 | WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${PV}" |
410 | UNPACKDIR ??= "${WORKDIR}/sources-unpack" | 410 | UNPACKDIR ??= "${WORKDIR}/sources" |
411 | BB_GIT_DEFAULT_DESTSUFFIX = "${BP}" | ||
411 | T = "${WORKDIR}/temp" | 412 | T = "${WORKDIR}/temp" |
412 | D = "${WORKDIR}/image" | 413 | D = "${WORKDIR}/image" |
413 | S = "${WORKDIR}/${BP}" | 414 | S = "${UNPACKDIR}/${BP}" |
414 | B = "${S}" | 415 | B = "${S}" |
415 | 416 | ||
416 | STAGING_DIR = "${TMPDIR}/sysroots" | 417 | STAGING_DIR = "${TMPDIR}/sysroots" |
@@ -821,7 +822,8 @@ include conf/local.conf | |||
821 | 822 | ||
822 | OE_FRAGMENTS_PREFIX ?= "conf/fragments" | 823 | OE_FRAGMENTS_PREFIX ?= "conf/fragments" |
823 | OE_FRAGMENTS_METADATA_VARS ?= "BB_CONF_FRAGMENT_SUMMARY BB_CONF_FRAGMENT_DESCRIPTION" | 824 | OE_FRAGMENTS_METADATA_VARS ?= "BB_CONF_FRAGMENT_SUMMARY BB_CONF_FRAGMENT_DESCRIPTION" |
824 | addfragments ${OE_FRAGMENTS_PREFIX} OE_FRAGMENTS OE_FRAGMENTS_METADATA_VARS | 825 | OE_FRAGMENTS_BUILTIN ?= "machine:MACHINE distro:DISTRO" |
826 | addfragments ${OE_FRAGMENTS_PREFIX} OE_FRAGMENTS OE_FRAGMENTS_METADATA_VARS OE_FRAGMENTS_BUILTIN | ||
825 | 827 | ||
826 | require ${@"conf/multiconfig/${BB_CURRENT_MC}.conf" if "${BB_CURRENT_MC}" != "" else ""} | 828 | require ${@"conf/multiconfig/${BB_CURRENT_MC}.conf" if "${BB_CURRENT_MC}" != "" else ""} |
827 | include conf/machine/${MACHINE}.conf | 829 | include conf/machine/${MACHINE}.conf |
diff --git a/meta/conf/distro/include/default-providers.inc b/meta/conf/distro/include/default-providers.inc index 4f09416354..3f113543cd 100644 --- a/meta/conf/distro/include/default-providers.inc +++ b/meta/conf/distro/include/default-providers.inc | |||
@@ -6,15 +6,13 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | |||
6 | PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg" | 6 | PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg" |
7 | PREFERRED_PROVIDER_virtual/libsdl2 ?= "libsdl2" | 7 | PREFERRED_PROVIDER_virtual/libsdl2 ?= "libsdl2" |
8 | PREFERRED_PROVIDER_virtual/libsdl2-native ?= "libsdl2-native" | 8 | PREFERRED_PROVIDER_virtual/libsdl2-native ?= "libsdl2-native" |
9 | PREFERRED_PROVIDER_virtual/egl ?= "mesa" | 9 | PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}" |
10 | PREFERRED_PROVIDER_virtual/libegl-icd ?= "mesa" | 10 | PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}" |
11 | PREFERRED_PROVIDER_virtual/libgl ?= "mesa" | 11 | PREFERRED_PROVIDER_virtual/libgl-native ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd-native', 'mesa-native',d)}" |
12 | PREFERRED_PROVIDER_virtual/libglx-icd ?= "mesa" | 12 | PREFERRED_PROVIDER_virtual/nativesdk-libgl ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'nativesdk-libglvnd', 'nativesdk-mesa',d)}" |
13 | PREFERRED_PROVIDER_virtual/libgl-native ?= "mesa-native" | 13 | PREFERRED_PROVIDER_virtual/libgles1 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}" |
14 | PREFERRED_PROVIDER_virtual/nativesdk-libgl ?= "nativesdk-mesa" | 14 | PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}" |
15 | PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" | 15 | PREFERRED_PROVIDER_virtual/libgles3 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}" |
16 | PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" | ||
17 | PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa" | ||
18 | PREFERRED_PROVIDER_virtual/mesa ?= "mesa" | 16 | PREFERRED_PROVIDER_virtual/mesa ?= "mesa" |
19 | PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg-utils" | 17 | PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg-utils" |
20 | PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-utils-native" | 18 | PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-utils-native" |
@@ -68,4 +66,6 @@ PREFERRED_RPROVIDER_initd-functions ?= "initscripts" | |||
68 | PREFERRED_PROVIDER_nativesdk-mesa ?= "nativesdk-mesa" | 66 | PREFERRED_PROVIDER_nativesdk-mesa ?= "nativesdk-mesa" |
69 | PREFERRED_PROVIDER_virtual/nativesdk-libsdl2 ?= "nativesdk-libsdl2" | 67 | PREFERRED_PROVIDER_virtual/nativesdk-libsdl2 ?= "nativesdk-libsdl2" |
70 | 68 | ||
69 | PREFERRED_RPROVIDER_virtual-libegl-icd ?= "mesa" | ||
70 | PREFERRED_RPROVIDER_virtual-libglx-icd ?= "mesa" | ||
71 | PREFERRED_RPROVIDER_virtual-x-terminal-emulator ?= "rxvt-unicode" | 71 | PREFERRED_RPROVIDER_virtual-x-terminal-emulator ?= "rxvt-unicode" |
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index b6cf4b7cfa..d94fb693e3 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc | |||
@@ -353,6 +353,7 @@ RECIPE_MAINTAINER:pn-libgcrypt = "Hongxu Jia <hongxu.jia@windriver.com>" | |||
353 | RECIPE_MAINTAINER:pn-libgfortran = "Khem Raj <raj.khem@gmail.com>" | 353 | RECIPE_MAINTAINER:pn-libgfortran = "Khem Raj <raj.khem@gmail.com>" |
354 | RECIPE_MAINTAINER:pn-libgit2 = "Unassigned <unassigned@yoctoproject.org>" | 354 | RECIPE_MAINTAINER:pn-libgit2 = "Unassigned <unassigned@yoctoproject.org>" |
355 | RECIPE_MAINTAINER:pn-libgloss = "Alejandro Hernandez <alejandro@enedino.org>" | 355 | RECIPE_MAINTAINER:pn-libgloss = "Alejandro Hernandez <alejandro@enedino.org>" |
356 | RECIPE_MAINTAINER:pn-libglvnd = "Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>" | ||
356 | RECIPE_MAINTAINER:pn-libglu = "Ross Burton <ross.burton@arm.com>" | 357 | RECIPE_MAINTAINER:pn-libglu = "Ross Burton <ross.burton@arm.com>" |
357 | RECIPE_MAINTAINER:pn-libgpg-error = "Hongxu Jia <hongxu.jia@windriver.com>" | 358 | RECIPE_MAINTAINER:pn-libgpg-error = "Hongxu Jia <hongxu.jia@windriver.com>" |
358 | RECIPE_MAINTAINER:pn-libgudev = "Ross Burton <ross.burton@arm.com>" | 359 | RECIPE_MAINTAINER:pn-libgudev = "Ross Burton <ross.burton@arm.com>" |
@@ -627,6 +628,7 @@ RECIPE_MAINTAINER:pn-python3-certifi = "Tim Orling <tim.orling@konsulko.com>" | |||
627 | RECIPE_MAINTAINER:pn-python3-cffi = "Tim Orling <tim.orling@konsulko.com>" | 628 | RECIPE_MAINTAINER:pn-python3-cffi = "Tim Orling <tim.orling@konsulko.com>" |
628 | RECIPE_MAINTAINER:pn-python3-chardet = "Tim Orling <tim.orling@konsulko.com>" | 629 | RECIPE_MAINTAINER:pn-python3-chardet = "Tim Orling <tim.orling@konsulko.com>" |
629 | RECIPE_MAINTAINER:pn-python3-click = "Wang Mingyu <wangmy@fujitsu.com>" | 630 | RECIPE_MAINTAINER:pn-python3-click = "Wang Mingyu <wangmy@fujitsu.com>" |
631 | RECIPE_MAINTAINER:pn-python3-colorama = "Trevor Gamblin <tgamblin@baylibre.com>" | ||
630 | RECIPE_MAINTAINER:pn-python3-cryptography = "Tim Orling <tim.orling@konsulko.com>" | 632 | RECIPE_MAINTAINER:pn-python3-cryptography = "Tim Orling <tim.orling@konsulko.com>" |
631 | RECIPE_MAINTAINER:pn-python3-cryptography-vectors = "Tim Orling <tim.orling@konsulko.com>" | 633 | RECIPE_MAINTAINER:pn-python3-cryptography-vectors = "Tim Orling <tim.orling@konsulko.com>" |
632 | RECIPE_MAINTAINER:pn-python3-cython = "Trevor Gamblin <tgamblin@baylibre.com>" | 634 | RECIPE_MAINTAINER:pn-python3-cython = "Trevor Gamblin <tgamblin@baylibre.com>" |
@@ -637,29 +639,25 @@ RECIPE_MAINTAINER:pn-python3-dtc = "Trevor Gamblin <tgamblin@baylibre.com>" | |||
637 | RECIPE_MAINTAINER:pn-python3-dtschema = "Bruce Ashfield <bruce.ashfield@gmail.com>" | 639 | RECIPE_MAINTAINER:pn-python3-dtschema = "Bruce Ashfield <bruce.ashfield@gmail.com>" |
638 | RECIPE_MAINTAINER:pn-python3-dtschema-wrapper = "Bruce Ashfield <bruce.ashfield@gmail.com>" | 640 | RECIPE_MAINTAINER:pn-python3-dtschema-wrapper = "Bruce Ashfield <bruce.ashfield@gmail.com>" |
639 | RECIPE_MAINTAINER:pn-python3-editables = "Ross Burton <ross.burton@arm.com>" | 641 | RECIPE_MAINTAINER:pn-python3-editables = "Ross Burton <ross.burton@arm.com>" |
640 | RECIPE_MAINTAINER:pn-python3-pycryptodome = "Joshua Watt <JPEWhacker@gmail.com>" | ||
641 | RECIPE_MAINTAINER:pn-python3-pycryptodomex = "Joshua Watt <JPEWhacker@gmail.com>" | ||
642 | RECIPE_MAINTAINER:pn-python3-pyproject-metadata = "Trevor Gamblin <tgamblin@baylibre.com>" | ||
643 | RECIPE_MAINTAINER:pn-python3-pyrsistent = "Bruce Ashfield <bruce.ashfield@gmail.com>" | ||
644 | RECIPE_MAINTAINER:pn-python3-extras = "Trevor Gamblin <tgamblin@baylibre.com>" | 642 | RECIPE_MAINTAINER:pn-python3-extras = "Trevor Gamblin <tgamblin@baylibre.com>" |
645 | RECIPE_MAINTAINER:pn-python3-flit-core = "Tim Orling <tim.orling@konsulko.com>" | 643 | RECIPE_MAINTAINER:pn-python3-flit-core = "Tim Orling <tim.orling@konsulko.com>" |
646 | RECIPE_MAINTAINER:pn-python3-git = "Trevor Gamblin <tgamblin@baylibre.com>" | 644 | RECIPE_MAINTAINER:pn-python3-git = "Trevor Gamblin <tgamblin@baylibre.com>" |
647 | RECIPE_MAINTAINER:pn-python3-gitdb = "Trevor Gamblin <tgamblin@baylibre.com>" | 645 | RECIPE_MAINTAINER:pn-python3-gitdb = "Trevor Gamblin <tgamblin@baylibre.com>" |
648 | RECIPE_MAINTAINER:pn-python3-hatchling = "Ross Burton <ross.burton@arm.com>" | ||
649 | RECIPE_MAINTAINER:pn-python3-hatch-fancy-pypi-readme = "Ross Burton <ross.burton@arm.com>" | 646 | RECIPE_MAINTAINER:pn-python3-hatch-fancy-pypi-readme = "Ross Burton <ross.burton@arm.com>" |
650 | RECIPE_MAINTAINER:pn-python3-hatch-vcs = "Ross Burton <ross.burton@arm.com>" | 647 | RECIPE_MAINTAINER:pn-python3-hatch-vcs = "Ross Burton <ross.burton@arm.com>" |
648 | RECIPE_MAINTAINER:pn-python3-hatchling = "Ross Burton <ross.burton@arm.com>" | ||
651 | RECIPE_MAINTAINER:pn-python3-hypothesis = "Trevor Gamblin <tgamblin@baylibre.com>" | 649 | RECIPE_MAINTAINER:pn-python3-hypothesis = "Trevor Gamblin <tgamblin@baylibre.com>" |
652 | RECIPE_MAINTAINER:pn-python3-idna = "Bruce Ashfield <bruce.ashfield@gmail.com>" | 650 | RECIPE_MAINTAINER:pn-python3-idna = "Bruce Ashfield <bruce.ashfield@gmail.com>" |
653 | RECIPE_MAINTAINER:pn-python3-imagesize = "Tim Orling <tim.orling@konsulko.com>" | 651 | RECIPE_MAINTAINER:pn-python3-imagesize = "Tim Orling <tim.orling@konsulko.com>" |
654 | RECIPE_MAINTAINER:pn-python3-iniconfig = "Tim Orling <tim.orling@konsulko.com>" | 652 | RECIPE_MAINTAINER:pn-python3-iniconfig = "Tim Orling <tim.orling@konsulko.com>" |
655 | RECIPE_MAINTAINER:pn-python3-iso8601 = "Tim Orling <tim.orling@konsulko.com>" | ||
656 | RECIPE_MAINTAINER:pn-python3-installer = "Ross Burton <ross.burton@arm.com>" | 653 | RECIPE_MAINTAINER:pn-python3-installer = "Ross Burton <ross.burton@arm.com>" |
654 | RECIPE_MAINTAINER:pn-python3-iso8601 = "Tim Orling <tim.orling@konsulko.com>" | ||
657 | RECIPE_MAINTAINER:pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfoundation.org>" | 655 | RECIPE_MAINTAINER:pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfoundation.org>" |
658 | RECIPE_MAINTAINER:pn-python3-jsonpointer = "Bruce Ashfield <bruce.ashfield@gmail.com>" | 656 | RECIPE_MAINTAINER:pn-python3-jsonpointer = "Bruce Ashfield <bruce.ashfield@gmail.com>" |
659 | RECIPE_MAINTAINER:pn-python3-jsonschema = "Bruce Ashfield <bruce.ashfield@gmail.com>" | 657 | RECIPE_MAINTAINER:pn-python3-jsonschema = "Bruce Ashfield <bruce.ashfield@gmail.com>" |
660 | RECIPE_MAINTAINER:pn-python3-jsonschema-specifications = "Bruce Ashfield <bruce.ashfield@gmail.com>" | 658 | RECIPE_MAINTAINER:pn-python3-jsonschema-specifications = "Bruce Ashfield <bruce.ashfield@gmail.com>" |
661 | RECIPE_MAINTAINER:pn-python3-license-expression = "Wang Mingyu <wangmy@fujitsu.com>" | ||
662 | RECIPE_MAINTAINER:pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>" | 659 | RECIPE_MAINTAINER:pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>" |
660 | RECIPE_MAINTAINER:pn-python3-license-expression = "Wang Mingyu <wangmy@fujitsu.com>" | ||
663 | RECIPE_MAINTAINER:pn-python3-lxml = "Khem Raj <raj.khem@gmail.com>" | 661 | RECIPE_MAINTAINER:pn-python3-lxml = "Khem Raj <raj.khem@gmail.com>" |
664 | RECIPE_MAINTAINER:pn-python3-magic = "Joshua Watt <JPEWhacker@gmail.com>" | 662 | RECIPE_MAINTAINER:pn-python3-magic = "Joshua Watt <JPEWhacker@gmail.com>" |
665 | RECIPE_MAINTAINER:pn-python3-mako = "Trevor Gamblin <tgamblin@baylibre.com>" | 663 | RECIPE_MAINTAINER:pn-python3-mako = "Trevor Gamblin <tgamblin@baylibre.com>" |
@@ -685,12 +683,16 @@ RECIPE_MAINTAINER:pn-python3-psutil = "Tim Orling <tim.orling@konsulko.com>" | |||
685 | RECIPE_MAINTAINER:pn-python3-pyasn1 = "Tim Orling <tim.orling@konsulko.com>" | 683 | RECIPE_MAINTAINER:pn-python3-pyasn1 = "Tim Orling <tim.orling@konsulko.com>" |
686 | RECIPE_MAINTAINER:pn-python3-pycairo = "Zang Ruochen <zangruochen@loongson.cn>" | 684 | RECIPE_MAINTAINER:pn-python3-pycairo = "Zang Ruochen <zangruochen@loongson.cn>" |
687 | RECIPE_MAINTAINER:pn-python3-pycparser = "Tim Orling <tim.orling@konsulko.com>" | 685 | RECIPE_MAINTAINER:pn-python3-pycparser = "Tim Orling <tim.orling@konsulko.com>" |
686 | RECIPE_MAINTAINER:pn-python3-pycryptodome = "Joshua Watt <JPEWhacker@gmail.com>" | ||
687 | RECIPE_MAINTAINER:pn-python3-pycryptodomex = "Joshua Watt <JPEWhacker@gmail.com>" | ||
688 | RECIPE_MAINTAINER:pn-python3-pyelftools = "Joshua Watt <JPEWhacker@gmail.com>" | 688 | RECIPE_MAINTAINER:pn-python3-pyelftools = "Joshua Watt <JPEWhacker@gmail.com>" |
689 | RECIPE_MAINTAINER:pn-python3-pygments = "Trevor Gamblin <tgamblin@baylibre.com>" | 689 | RECIPE_MAINTAINER:pn-python3-pygments = "Trevor Gamblin <tgamblin@baylibre.com>" |
690 | RECIPE_MAINTAINER:pn-python3-pygobject = "Zang Ruochen <zangruochen@loongson.cn>" | 690 | RECIPE_MAINTAINER:pn-python3-pygobject = "Zang Ruochen <zangruochen@loongson.cn>" |
691 | RECIPE_MAINTAINER:pn-python3-pyopenssl = "Tim Orling <tim.orling@konsulko.com>" | 691 | RECIPE_MAINTAINER:pn-python3-pyopenssl = "Tim Orling <tim.orling@konsulko.com>" |
692 | RECIPE_MAINTAINER:pn-python3-pyparsing = "Trevor Gamblin <tgamblin@baylibre.com>" | 692 | RECIPE_MAINTAINER:pn-python3-pyparsing = "Trevor Gamblin <tgamblin@baylibre.com>" |
693 | RECIPE_MAINTAINER:pn-python3-pyproject-hooks = "Ross Burton <ross.burton@arm.com>" | 693 | RECIPE_MAINTAINER:pn-python3-pyproject-hooks = "Ross Burton <ross.burton@arm.com>" |
694 | RECIPE_MAINTAINER:pn-python3-pyproject-metadata = "Trevor Gamblin <tgamblin@baylibre.com>" | ||
695 | RECIPE_MAINTAINER:pn-python3-pyrsistent = "Bruce Ashfield <bruce.ashfield@gmail.com>" | ||
694 | RECIPE_MAINTAINER:pn-python3-pysocks = "Tim Orling <tim.orling@konsulko.com>" | 696 | RECIPE_MAINTAINER:pn-python3-pysocks = "Tim Orling <tim.orling@konsulko.com>" |
695 | RECIPE_MAINTAINER:pn-python3-pytest = "Trevor Gamblin <tgamblin@baylibre.com>" | 697 | RECIPE_MAINTAINER:pn-python3-pytest = "Trevor Gamblin <tgamblin@baylibre.com>" |
696 | RECIPE_MAINTAINER:pn-python3-pytest-subtests = "Tim Orling <tim.orling@konsulko.com>" | 698 | RECIPE_MAINTAINER:pn-python3-pytest-subtests = "Tim Orling <tim.orling@konsulko.com>" |
@@ -716,14 +718,14 @@ RECIPE_MAINTAINER:pn-python3-snowballstemmer = "Tim Orling <tim.orling@konsulko. | |||
716 | RECIPE_MAINTAINER:pn-python3-sortedcontainers = "Tim Orling <tim.orling@konsulko.com>" | 718 | RECIPE_MAINTAINER:pn-python3-sortedcontainers = "Tim Orling <tim.orling@konsulko.com>" |
717 | RECIPE_MAINTAINER:pn-python3-spdx-tools = "Marta Rybczynska <marta.rybczynska@ygreky.com>" | 719 | RECIPE_MAINTAINER:pn-python3-spdx-tools = "Marta Rybczynska <marta.rybczynska@ygreky.com>" |
718 | RECIPE_MAINTAINER:pn-python3-sphinx = "Trevor Gamblin <tgamblin@baylibre.com>" | 720 | RECIPE_MAINTAINER:pn-python3-sphinx = "Trevor Gamblin <tgamblin@baylibre.com>" |
721 | RECIPE_MAINTAINER:pn-python3-sphinx-rtd-theme = "Tim Orling <tim.orling@konsulko.com>" | ||
719 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-applehelp = "Tim Orling <tim.orling@konsulko.com>" | 722 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-applehelp = "Tim Orling <tim.orling@konsulko.com>" |
720 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-devhelp = "Tim Orling <tim.orling@konsulko.com>" | 723 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-devhelp = "Tim Orling <tim.orling@konsulko.com>" |
721 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-htmlhelp = "Tim Orling <tim.orling@konsulko.com>" | 724 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-htmlhelp = "Tim Orling <tim.orling@konsulko.com>" |
722 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jsmath = "Tim Orling <tim.orling@konsulko.com>" | ||
723 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jquery = "Tim Orling <tim.orling@konsulko.com>" | 725 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jquery = "Tim Orling <tim.orling@konsulko.com>" |
726 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jsmath = "Tim Orling <tim.orling@konsulko.com>" | ||
724 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-qthelp = "Tim Orling <tim.orling@konsulko.com>" | 727 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-qthelp = "Tim Orling <tim.orling@konsulko.com>" |
725 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-serializinghtml = "Tim Orling <tim.orling@konsulko.com>" | 728 | RECIPE_MAINTAINER:pn-python3-sphinxcontrib-serializinghtml = "Tim Orling <tim.orling@konsulko.com>" |
726 | RECIPE_MAINTAINER:pn-python3-sphinx-rtd-theme = "Tim Orling <tim.orling@konsulko.com>" | ||
727 | RECIPE_MAINTAINER:pn-python3-subunit = "Trevor Gamblin <tgamblin@baylibre.com>" | 729 | RECIPE_MAINTAINER:pn-python3-subunit = "Trevor Gamblin <tgamblin@baylibre.com>" |
728 | RECIPE_MAINTAINER:pn-python3-testtools = "Trevor Gamblin <tgamblin@baylibre.com>" | 730 | RECIPE_MAINTAINER:pn-python3-testtools = "Trevor Gamblin <tgamblin@baylibre.com>" |
729 | RECIPE_MAINTAINER:pn-python3-trove-classifiers = "Trevor Gamblin <tgamblin@baylibre.com>" | 731 | RECIPE_MAINTAINER:pn-python3-trove-classifiers = "Trevor Gamblin <tgamblin@baylibre.com>" |
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc index 9cd7928154..e06731ece7 100644 --- a/meta/conf/distro/include/ptest-packagelists.inc +++ b/meta/conf/distro/include/ptest-packagelists.inc | |||
@@ -108,6 +108,7 @@ PTESTS_SLOW = "\ | |||
108 | libevent \ | 108 | libevent \ |
109 | libgcrypt \ | 109 | libgcrypt \ |
110 | libmodule-build-perl \ | 110 | libmodule-build-perl \ |
111 | libpng \ | ||
111 | libseccomp \ | 112 | libseccomp \ |
112 | lttng-tools \ | 113 | lttng-tools \ |
113 | lz4 \ | 114 | lz4 \ |
diff --git a/meta/conf/distro/include/tclibc-picolibc.inc b/meta/conf/distro/include/tclibc-picolibc.inc index 203765dfcb..2cd26cfd7d 100644 --- a/meta/conf/distro/include/tclibc-picolibc.inc +++ b/meta/conf/distro/include/tclibc-picolibc.inc | |||
@@ -37,4 +37,3 @@ TOOLCHAIN_NEED_CONFIGSITE_CACHE:remove = "zlib ncurses" | |||
37 | SECURITY_CFLAGS:libc-picolibc:qemuriscv32 = "${SECURITY_NOPIE_CFLAGS}" | 37 | SECURITY_CFLAGS:libc-picolibc:qemuriscv32 = "${SECURITY_NOPIE_CFLAGS}" |
38 | SECURITY_CFLAGS:libc-picolibc:qemuriscv64 = "${SECURITY_NOPIE_CFLAGS}" | 38 | SECURITY_CFLAGS:libc-picolibc:qemuriscv64 = "${SECURITY_NOPIE_CFLAGS}" |
39 | 39 | ||
40 | |||
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc index e943ca77d1..c506bb3ad5 100644 --- a/meta/conf/distro/include/tcmode-default.inc +++ b/meta/conf/distro/include/tcmode-default.inc | |||
@@ -12,7 +12,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext" | |||
12 | GCCVERSION ?= "15.%" | 12 | GCCVERSION ?= "15.%" |
13 | SDKGCCVERSION ?= "${GCCVERSION}" | 13 | SDKGCCVERSION ?= "${GCCVERSION}" |
14 | GLIBCVERSION ?= "2.41%" | 14 | GLIBCVERSION ?= "2.41%" |
15 | RUSTVERSION ?= "1.86.0%" | 15 | RUSTVERSION ?= "1.87.0%" |
16 | 16 | ||
17 | PREFERRED_VERSION_gcc ?= "${GCCVERSION}" | 17 | PREFERRED_VERSION_gcc ?= "${GCCVERSION}" |
18 | PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}" | 18 | PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}" |
diff --git a/meta/conf/distro/include/yocto-uninative.inc b/meta/conf/distro/include/yocto-uninative.inc index 3d0f1fdccd..dabd604e8e 100644 --- a/meta/conf/distro/include/yocto-uninative.inc +++ b/meta/conf/distro/include/yocto-uninative.inc | |||
@@ -7,9 +7,9 @@ | |||
7 | # | 7 | # |
8 | 8 | ||
9 | UNINATIVE_MAXGLIBCVERSION = "2.41" | 9 | UNINATIVE_MAXGLIBCVERSION = "2.41" |
10 | UNINATIVE_VERSION = "4.7" | 10 | UNINATIVE_VERSION = "4.8" |
11 | 11 | ||
12 | UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/" | 12 | UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/" |
13 | UNINATIVE_CHECKSUM[aarch64] ?= "ac440e4fc80665c79f9718c665c6e28d771e51609c088c3c97ba3ad5cfed197a" | 13 | UNINATIVE_CHECKSUM[aarch64] ?= "0d75ae3cc6e8245be40f55d48612285248ad331896ca3f4c772ed2fb34239fcf" |
14 | UNINATIVE_CHECKSUM[i686] ?= "c5efa31450f3bbd63ea961d4e7c747ae41317937d429f65e1d5cf2050338e27a" | 14 | UNINATIVE_CHECKSUM[i686] ?= "2cbfd7ad3e1362538764999dd4962eb2511211867ae17a327b65631f64f38e31" |
15 | UNINATIVE_CHECKSUM[x86_64] ?= "5800d4e9a129d1be09cf548918d25f74e91a7c1193ae5239d5b0c9246c486d2c" | 15 | UNINATIVE_CHECKSUM[x86_64] ?= "6d5e28258176c52b9eecf882d4553033fa700902e60ba80d4b7ce0edacbe41d6" |
diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf index 44267ce8e2..54fa04e213 100644 --- a/meta/conf/layer.conf +++ b/meta/conf/layer.conf | |||
@@ -7,12 +7,12 @@ BBFILE_COLLECTIONS += "core" | |||
7 | BBFILE_PATTERN_core = "^${LAYERDIR}/" | 7 | BBFILE_PATTERN_core = "^${LAYERDIR}/" |
8 | BBFILE_PRIORITY_core = "5" | 8 | BBFILE_PRIORITY_core = "5" |
9 | 9 | ||
10 | LAYERSERIES_CORENAMES = "walnascar" | 10 | LAYERSERIES_CORENAMES = "whinlatter" |
11 | 11 | ||
12 | # This should only be incremented on significant changes that will | 12 | # This should only be incremented on significant changes that will |
13 | # cause compatibility issues with other layers | 13 | # cause compatibility issues with other layers |
14 | LAYERVERSION_core = "15" | 14 | LAYERVERSION_core = "15" |
15 | LAYERSERIES_COMPAT_core = "walnascar" | 15 | LAYERSERIES_COMPAT_core = "whinlatter" |
16 | 16 | ||
17 | BBLAYERS_LAYERINDEX_NAME_core = "openembedded-core" | 17 | BBLAYERS_LAYERINDEX_NAME_core = "openembedded-core" |
18 | 18 | ||
diff --git a/meta/conf/machine/include/mips/tune-mips-24k.inc b/meta/conf/machine/include/mips/tune-mips-24k.inc index ec4e53f63f..5dc2a8a115 100644 --- a/meta/conf/machine/include/mips/tune-mips-24k.inc +++ b/meta/conf/machine/include/mips/tune-mips-24k.inc | |||
@@ -5,13 +5,11 @@ MIPSPKGSFX_MIPS16E ??= "" | |||
5 | require conf/machine/include/mips/tune-mips32r2.inc | 5 | require conf/machine/include/mips/tune-mips32r2.inc |
6 | require conf/machine/include/mips/feature-mips-mips16e.inc | 6 | require conf/machine/include/mips/feature-mips-mips16e.inc |
7 | 7 | ||
8 | |||
9 | TUNEVALID[24kc] = "Enable MIPS 24Kc processor optimizations" | 8 | TUNEVALID[24kc] = "Enable MIPS 24Kc processor optimizations" |
10 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "24kc", " -mtune=24kc", "", d)}" | 9 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "24kc", " -mtune=24kc", "", d)}" |
11 | TUNEVALID[24kec] = "Enable MIPS 24KEc processor optimizations, including DSP" | 10 | TUNEVALID[24kec] = "Enable MIPS 24KEc processor optimizations, including DSP" |
12 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "24kec", " -mtune=24kec -mdsp", "", d)}" | 11 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "24kec", " -mtune=24kec -mdsp", "", d)}" |
13 | 12 | ||
14 | |||
15 | AVAILTUNES += "mips32r2-24kc mips32r2-24kec mips32r2-24kec-m16" | 13 | AVAILTUNES += "mips32r2-24kc mips32r2-24kec mips32r2-24kec-m16" |
16 | AVAILTUNES += "mips32r2el-24kc mips32r2el-24kec mips32r2el-24kec-m16" | 14 | AVAILTUNES += "mips32r2el-24kc mips32r2el-24kec mips32r2el-24kec-m16" |
17 | 15 | ||
@@ -32,7 +30,6 @@ MIPSPKGSFX_VARIANT:tune-mips32r2-24kec-m16 = "mips32r2-24kec${MIPSPKGSFX_MIPS16E | |||
32 | PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec} mips32r2-24kec-m16-nf" | 30 | PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec} mips32r2-24kec-m16-nf" |
33 | QEMU_EXTRAOPTIONS:tune-mips32r2-24kec-m16-nf = " -cpu 24KEc" | 31 | QEMU_EXTRAOPTIONS:tune-mips32r2-24kec-m16-nf = " -cpu 24KEc" |
34 | 32 | ||
35 | |||
36 | # little endian: kc, kc+dsp=kec, kc+dsp+mips16e=kec-m16 | 33 | # little endian: kc, kc+dsp=kec, kc+dsp+mips16e=kec-m16 |
37 | TUNE_FEATURES:tune-mips32r2el-24kc = "${TUNE_FEATURES:tune-mips32r2el-nf} 24kc" | 34 | TUNE_FEATURES:tune-mips32r2el-24kc = "${TUNE_FEATURES:tune-mips32r2el-nf} 24kc" |
38 | TUNE_FEATURES:tune-mips32r2el-24kec = "${TUNE_FEATURES:tune-mips32r2el-nf} 24kec" | 35 | TUNE_FEATURES:tune-mips32r2el-24kec = "${TUNE_FEATURES:tune-mips32r2el-nf} 24kec" |
diff --git a/meta/conf/machine/include/mips/tune-mips-74k.inc b/meta/conf/machine/include/mips/tune-mips-74k.inc index 0ec90ca076..e328b3b490 100644 --- a/meta/conf/machine/include/mips/tune-mips-74k.inc +++ b/meta/conf/machine/include/mips/tune-mips-74k.inc | |||
@@ -5,7 +5,6 @@ MIPSPKGSFX_MIPS16E ??= "" | |||
5 | require conf/machine/include/mips/tune-mips32r2.inc | 5 | require conf/machine/include/mips/tune-mips32r2.inc |
6 | require conf/machine/include/mips/feature-mips-mips16e.inc | 6 | require conf/machine/include/mips/feature-mips-mips16e.inc |
7 | 7 | ||
8 | |||
9 | TUNEVALID[74kc] = "Enable MIPS 74K with DSPr2 processor optimizations" | 8 | TUNEVALID[74kc] = "Enable MIPS 74K with DSPr2 processor optimizations" |
10 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "74kc", " -mtune=74kc", "", d)}" | 9 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "74kc", " -mtune=74kc", "", d)}" |
11 | 10 | ||
diff --git a/meta/conf/machine/include/mips/tune-octeon.inc b/meta/conf/machine/include/mips/tune-octeon.inc index d4670e3259..0004190c34 100644 --- a/meta/conf/machine/include/mips/tune-octeon.inc +++ b/meta/conf/machine/include/mips/tune-octeon.inc | |||
@@ -17,7 +17,6 @@ BASE_LIB:tune-octeon2_64 = "lib64" | |||
17 | MIPSPKGSFX_VARIANT:tune-octeon2_64 = "octeon2_64" | 17 | MIPSPKGSFX_VARIANT:tune-octeon2_64 = "octeon2_64" |
18 | PACKAGE_EXTRA_ARCHS:tune-octeon2_64 = "mips64 octeon2_64" | 18 | PACKAGE_EXTRA_ARCHS:tune-octeon2_64 = "mips64 octeon2_64" |
19 | 19 | ||
20 | |||
21 | TUNEVALID[octeon3] = "Enable optimization related to octeon3 support" | 20 | TUNEVALID[octeon3] = "Enable optimization related to octeon3 support" |
22 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'octeon3', ' -march=octeon3 ', '',d)}" | 21 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'octeon3', ' -march=octeon3 ', '',d)}" |
23 | 22 | ||
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc index d7392d4762..c143e37f71 100644 --- a/meta/conf/machine/include/qemu.inc +++ b/meta/conf/machine/include/qemu.inc | |||
@@ -1,10 +1,3 @@ | |||
1 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | ||
2 | PREFERRED_PROVIDER_virtual/egl ?= "mesa" | ||
3 | PREFERRED_PROVIDER_virtual/libgl ?= "mesa" | ||
4 | PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" | ||
5 | PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" | ||
6 | PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa" | ||
7 | |||
8 | XSERVER ?= "xserver-xorg \ | 1 | XSERVER ?= "xserver-xorg \ |
9 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \ | 2 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \ |
10 | xf86-video-fbdev \ | 3 | xf86-video-fbdev \ |
diff --git a/meta/conf/machine/include/riscv/README b/meta/conf/machine/include/riscv/README new file mode 100644 index 0000000000..beef68f523 --- /dev/null +++ b/meta/conf/machine/include/riscv/README | |||
@@ -0,0 +1,122 @@ | |||
1 | 2025/06/08 - Mark Hatle <mark.hatle@amd.com> | ||
2 | - Initial Revision | ||
3 | |||
4 | The RISC-V ISA is broken into two parts, a base ISA and extensions. As | ||
5 | of the writing of this document these are documented at: | ||
6 | |||
7 | https://lf-riscv.atlassian.net/wiki/spaces/HOME/pages/16154769/RISC-V+Technical+Specifications | ||
8 | |||
9 | Specifically "The RISC-V Instruction Set Manual Volume I: Unprivileged ISA" | ||
10 | was used to create this implementation. | ||
11 | |||
12 | Requirements | ||
13 | ------------ | ||
14 | As RISC-V is a “variable” ISA (a base isa plus numerous extensions), a | ||
15 | mechanism is required to specify a series of ISA features that a user or | ||
16 | tune can use to specify a specific CPU instantiation. | ||
17 | |||
18 | Not all ratified or draft features should or can be implemented with the | ||
19 | available resources. | ||
20 | |||
21 | The implementation should work for Linux, baremetal (newlib), zephyr and | ||
22 | other operating systems. Supported extensions should be based on | ||
23 | real-world examples. | ||
24 | |||
25 | Linux | ||
26 | ----- | ||
27 | Linux required base and support extensions should be available. Linux | ||
28 | requires: | ||
29 | * Base: rv32ima & rv64ima | ||
30 | * Optional FPU: fd | ||
31 | * Optional RISCV_ISA_C: c | ||
32 | * Optiona RISCV_ISA_V: v | ||
33 | * Required additional: _zicsr_zifencei | ||
34 | * Optional RISCV_ISA_ZBA: _zba | ||
35 | * Optional RISCV_ISA_ZBB: _zbb | ||
36 | * Optional RISCV_ISA_ZBC: _zbc (not supported by current QEMU design) | ||
37 | |||
38 | See: https://git.yoctoproject.org/linux-yocto/tree/arch/riscv/Makefile?h=v6.12/base | ||
39 | |||
40 | Baremetal | ||
41 | --------- | ||
42 | AMD Microblaze-V FPGA support uses the following static configurations: | ||
43 | Base: rv32e, rv32i, rv64i | ||
44 | Extensions: m, a, f, d, c, b, zicsr, zifencei | ||
45 | |||
46 | Zephyr | ||
47 | ------ | ||
48 | AMD Microblaze-V development for Zephyr is the same as Baremetal, with a | ||
49 | few additional extensions: zbc, zicbom | ||
50 | |||
51 | ABI | ||
52 | --- | ||
53 | The following ABIs are supported GNU tools and some combination of systems. | ||
54 | * ilp32 - Integer, long and pointer are 32-bit | ||
55 | * lp64 - Long and pointer are 64-bit (integer is 32-bit) | ||
56 | |||
57 | The ABI is dependent upon the core system implementation, as ilp32 can | ||
58 | only used on an ‘rv32’ system, while lp64 can only be used on an ‘rv64’ | ||
59 | system. | ||
60 | |||
61 | There are additional variations of each ABI: | ||
62 | * e - used with the Reduced register extension | ||
63 | * f - used when single precision floating point (but not double precision) is | ||
64 | enabled | ||
65 | * d - used when both single and double precision floating point is enabled | ||
66 | |||
67 | Based on the above, the ABI should be automatically determined based on | ||
68 | the selected Base ISA and Extensions. | ||
69 | |||
70 | Implementation | ||
71 | -------------- | ||
72 | To make it easier to generate the RISC-V canonical arch, ISA based -march, | ||
73 | and the ABI string, a few new variables are added for specific RISC-V items. | ||
74 | |||
75 | TUNE_RISCV_ARCH - This contains the canonical GNU style arch, generally this | ||
76 | will evaluate to "riscv32" or "riscv64". | ||
77 | |||
78 | TUNE_RISCV_MARCH - This will contain an ISA based -march string compatible | ||
79 | with gcc and similar toolchains. For example: | ||
80 | rv32imacfd_zicsr_zifencei | ||
81 | |||
82 | TUNE_RISCV_ABI - This is the generated ABI that corresponds to the ARCH and | ||
83 | MARCH/ISA values. For riscv32, the value will be ilp32 | ||
84 | (int, long and pointer is 32-bit) with the ISA | ||
85 | variation. For riscv64, the value will be lp64 (long | ||
86 | and pointer are 64-bit bit, while int is 32-bit) with the | ||
87 | ISA variation. The ISA affects the ABI when the 'e', 'f' | ||
88 | and 'd' extension are used. | ||
89 | |||
90 | TUNE_RISCV_PKGARCH - This is the generated PKGARCH value. | ||
91 | |||
92 | The standard variables are defined as: | ||
93 | |||
94 | TUNE_CCARGS = "${@ '-march=${TUNE_RISCV_MARCH} -mabi=${TUNE_RISCV_ABI}' if not d.getVar('TUNE_CCARGS:tune-${DEFAULTTUNE}') else 'TUNE_CCARGS:tune-${DEFAULTTUNE}'}" | ||
95 | |||
96 | The above will allow the user to specify an implementation specific | ||
97 | TUNE_CCARGS for a given processor tune if the default implementtion is | ||
98 | not adequate for some reason. It is expected that most, if not all, | ||
99 | implementations will use the default behavior. | ||
100 | |||
101 | TUNE_ARCH = "${TUNE_RISCV_ARCH}" | ||
102 | TUNE_PKGARCH = "${TUNE_RISCV_PKGARCH}" | ||
103 | |||
104 | The above two will always base their setting off the standard TUNE_FEATURES. | ||
105 | |||
106 | Ratified and draft extensions should be implemented as TUNE_FEATURES in | ||
107 | the arch-riscv.inc file. | ||
108 | |||
109 | Vendor specific extensions and processor specific settings should go | ||
110 | into a 'tune-<vendor>.inc' file, with tune-riscv.inc being reserved for | ||
111 | general purpose tunes. | ||
112 | |||
113 | TUNE_FEATURE Helper | ||
114 | ------------------- | ||
115 | A special helper function has been written that will convert RISC-V ISA | ||
116 | notation into TUNE_FEATURE notion, for example: | ||
117 | |||
118 | rv32g -> rv 32 i m a f d zicsr zifencei | ||
119 | |||
120 | The helper can be called using oe.tune.riscv_isa_to_tune("<ISA>") such as | ||
121 | oe.tune.riscv_isa_to_tune("rv64gc") which would return: | ||
122 | rv 64 i m a f d c zicsr zifencei | ||
diff --git a/meta/conf/machine/include/riscv/arch-riscv.inc b/meta/conf/machine/include/riscv/arch-riscv.inc index b34064e78f..99bed8fde5 100644 --- a/meta/conf/machine/include/riscv/arch-riscv.inc +++ b/meta/conf/machine/include/riscv/arch-riscv.inc | |||
@@ -1,14 +1,140 @@ | |||
1 | # RISCV Architecture definition | 1 | # RISCV Architecture definition |
2 | 2 | ||
3 | DEFAULTTUNE ?= "riscv64" | 3 | # Based on the RISC-V Instruction Set Manual Volume I: Unprivileged ISA from May 2025 |
4 | # As well as the RISC-V options for using GCC (as of June 2025) | ||
4 | 5 | ||
5 | TUNE_ARCH = "${TUNE_ARCH:tune-${DEFAULTTUNE}}" | 6 | # Note: the following should be implemented in the order that GCC expects |
6 | TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}" | 7 | # -march= values to be defined in. |
7 | TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nf', ' -mabi=lp64', ' ', d)}" | ||
8 | TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32nf', ' -mabi=ilp32', ' ', d)}" | ||
9 | 8 | ||
10 | TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nc', ' -march=rv64imafd', ' ', d)}" | 9 | # Base ISA |
10 | # All supported march strings must start with rv32 or rv64 | ||
11 | TUNEVALID[rv] = "RISC-V" | ||
12 | TUNE_RISCV_ARCH = "${@bb.utils.contains("TUNE_FEATURES", "rv", "riscv", "", d)}" | ||
13 | TUNE_RISCV_MARCH = "${@bb.utils.contains("TUNE_FEATURES", "rv", "rv", "", d)}" | ||
14 | TUNE_RISCV_ABI = "" | ||
11 | 15 | ||
16 | # There are two primary ABIs, ilp32 and lp64 | ||
17 | # There are variants of both, that appears to be based on extensions above | ||
18 | # For example: | ||
19 | # rv32i uses ilp32, rv32e uses ilp32e, rv32f uses ilp32f | ||
20 | # rv64i uses lp64, rv64if uses lp64f, rv64id uses lp64d | ||
21 | TUNEVALID[32] = "ISA XLEN - 32-bit" | ||
22 | TUNECONFLICTS[32] = "64" | ||
23 | TUNE_RISCV_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "32", "32", "", d)}" | ||
24 | TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "32", "32", "", d)}" | ||
25 | TUNE_RISCV_ABI .= "${@bb.utils.contains("TUNE_FEATURES", "32", "ilp32", "", d)}" | ||
26 | |||
27 | TUNEVALID[64] = "ISA XLEN - 64-bit" | ||
28 | TUNECONFLICTS[64] = "32" | ||
29 | TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "64", "64", "", d)}" | ||
30 | TUNE_RISCV_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "64", "64", "", d)}" | ||
31 | TUNE_RISCV_ABI .= "${@bb.utils.contains("TUNE_FEATURES", "64", "lp64", "", d)}" | ||
32 | |||
33 | # The package arch starts with the canonical arch, but adds some extensions to make | ||
34 | # package compatibility clear | ||
35 | TUNE_RISCV_PKGARCH = "${TUNE_RISCV_ARCH}" | ||
36 | |||
37 | # i, e, or g are defined by gcc, but 'g' refers to 'i' + extensions 'MAFD Zicsr Zifencei' | ||
38 | # So 'g' will not be defined here as it is an abbreviation of the expanded version | ||
39 | TUNEVALID[e] = "Reduced register base integer extension" | ||
40 | TUNECONFLICTS[e] = "i" | ||
41 | TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "e", "e", "", d)}" | ||
42 | TUNE_RISCV_ABI .= "${@bb.utils.contains("TUNE_FEATURES", "e", "e", "", d)}" | ||
43 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "e", "e", "", d)}" | ||
44 | |||
45 | TUNEVALID[i] = "Base integer extension" | ||
46 | TUNECONFLICTS[i] = "e" | ||
47 | TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "i", "i", "", d)}" | ||
48 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "i", "i", "", d)}" | ||
49 | |||
50 | # Extensions | ||
51 | TUNEVALID[m] = "Integer multiplication and division extension" | ||
52 | TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m", "m", "", d)}" | ||
53 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m", "m", "", d)}" | ||
54 | |||
55 | TUNEVALID[a] = "Atomic extension" | ||
56 | TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a", "a", "", d)}" | ||
57 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a", "a", "", d)}" | ||
58 | |||
59 | TUNEVALID[f] = "Single-precision floating-point extension" | ||
60 | TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "f d", "f", "", d)}" | ||
61 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "f d", "f", "", d)}" | ||
62 | |||
63 | TUNEVALID[d] = "Double-precision floating-point extension" | ||
64 | TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "d", "d", "", d)}" | ||
65 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "d", "d", "", d)}" | ||
66 | |||
67 | # Only f OR d, but just one | ||
68 | TUNE_RISCV_ABI .= "${@bb.utils.contains("TUNE_FEATURES", "d", "d", bb.utils.contains("TUNE_FEATURES", "f", "f", "", d), d)}" | ||
69 | |||
70 | TUNEVALID[c] = "Compressed extension" | ||
71 | TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c", "c", "", d)}" | ||
72 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c", "c", "", d)}" | ||
73 | |||
74 | TUNEVALID[b] = "Bit Manipulation extension" | ||
75 | # Handled below via zba, zbb, zbs | ||
76 | # This matches current Linux kernel behavior | ||
77 | #TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "b", "b", "", d)}" | ||
78 | #TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "b", "b", "", d)}" | ||
79 | |||
80 | TUNEVALID[v] = "Vector operations extension" | ||
81 | TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "v", "v", "", d)}" | ||
82 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "v", "v", "", d)}" | ||
83 | |||
84 | # Now the special Z extensions | ||
85 | TUNEVALID[zicbom] = "Cache-block management extension" | ||
86 | TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbom", "_zicbom", "", d)}" | ||
87 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbom", "_zicbom", "", d)}" | ||
88 | |||
89 | TUNEVALID[zicsr] = "Control and status register access extension" | ||
90 | TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" | ||
91 | # If zicsr (or zifencei) is in the path, OpenSBI fails to use the extensions, do to (Makefile): | ||
92 | # # Check whether the assembler and the compiler support the Zicsr and Zifencei extensions | ||
93 | # CC_SUPPORT_ZICSR_ZIFENCEI := $(shell $(CC) $(CLANG_TARGET) $(RELAX_FLAG) -nostdlib -march=rv$(OPENSBI_CC_XLEN)imafd_zicsr_zifencei -x c /dev/null -o /dev/null 2>&1 | grep -e "zicsr" -e "zifencei" > /dev/null && echo n || echo y) | ||
94 | # this will match on the path containing zicsr or zifencei when an error is reported, which | ||
95 | # will always happens in this check. | ||
96 | # | ||
97 | # Yocto Project Bugzilla 15897 | ||
98 | # | ||
99 | #TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" | ||
100 | |||
101 | TUNEVALID[zifencei] = "Instruction-fetch fence extension" | ||
102 | TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" | ||
103 | # See above Bug 15897 | ||
104 | #TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" | ||
105 | |||
106 | TUNEVALID[zba] = "Address bit manipulation extension" | ||
107 | TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zba", "_zba", "", d)}" | ||
108 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zba", "_zba", "", d)}" | ||
109 | |||
110 | TUNEVALID[zbb] = "Basic bit manipulation extension" | ||
111 | TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbb", "_zbb", "", d)}" | ||
112 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbb", "_zbb", "", d)}" | ||
113 | |||
114 | TUNEVALID[zbc] = "Carry-less multiplication extension" | ||
115 | TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zbc", "_zbc", "", d)}" | ||
116 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zbc", "_zbc", "", d)}" | ||
117 | |||
118 | TUNEVALID[zbs] = "Single-bit manipulation extension" | ||
119 | TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbs", "_zbs", "", d)}" | ||
120 | TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbs", "_zbs", "", d)}" | ||
121 | |||
122 | # Construct TUNE_CCARGS | ||
123 | # This should result in a CCARG similar to: | ||
124 | # -march=rv32imac -mabi=ilp32 | ||
125 | TUNE_CCARGS = "${@ '-march=${TUNE_RISCV_MARCH} -mabi=${TUNE_RISCV_ABI}' if not d.getVar('TUNE_CCARGS:tune-${DEFAULTTUNE}') else 'TUNE_CCARGS:tune-${DEFAULTTUNE}'}" | ||
126 | |||
127 | # Construct TUNE_ARCH | ||
128 | # This should result in an arch string similar to: | ||
129 | # riscv32 | ||
130 | TUNE_ARCH = "${TUNE_RISCV_ARCH}" | ||
131 | |||
132 | # Construct TUNE_PKGARCH | ||
133 | # This should result in a package are like: | ||
134 | # riscv32imac | ||
135 | TUNE_PKGARCH = "${TUNE_RISCV_PKGARCH}" | ||
136 | |||
137 | # Misc settings | ||
12 | # Fix: ld: unrecognized option '--hash-style=sysv' | 138 | # Fix: ld: unrecognized option '--hash-style=sysv' |
13 | LINKER_HASH_STYLE:libc-newlib = "" | 139 | LINKER_HASH_STYLE:libc-newlib = "" |
14 | LINKER_HASH_STYLE:libc-picolibc = "" | 140 | LINKER_HASH_STYLE:libc-picolibc = "" |
diff --git a/meta/conf/machine/include/riscv/tune-riscv.inc b/meta/conf/machine/include/riscv/tune-riscv.inc index 804712077e..12c1125c8b 100644 --- a/meta/conf/machine/include/riscv/tune-riscv.inc +++ b/meta/conf/machine/include/riscv/tune-riscv.inc | |||
@@ -1,41 +1,23 @@ | |||
1 | require conf/machine/include/riscv/arch-riscv.inc | 1 | require conf/machine/include/riscv/arch-riscv.inc |
2 | 2 | ||
3 | TUNEVALID[riscv64] = "Enable 64-bit RISC-V optimizations" | 3 | DEFAULTTUNE ?= "riscv64" |
4 | TUNEVALID[riscv32] = "Enable 32-bit RISC-V optimizations" | ||
5 | |||
6 | TUNEVALID[riscv64nf] = "Enable 64-bit RISC-V optimizations no floating point" | ||
7 | TUNEVALID[riscv32nf] = "Enable 32-bit RISC-V optimizations no floating point" | ||
8 | |||
9 | TUNEVALID[riscv64nc] = "Enable 64-bit RISC-V optimizations without compressed instructions" | ||
10 | |||
11 | TUNEVALID[bigendian] = "Big endian mode" | ||
12 | 4 | ||
13 | AVAILTUNES += "riscv64 riscv32 riscv64nc riscv64nf riscv32nf" | 5 | AVAILTUNES += "riscv64 riscv32 riscv64nc riscv64nf riscv32nf" |
14 | 6 | ||
15 | # Default | 7 | # Default |
16 | TUNE_FEATURES:tune-riscv64 = "riscv64" | 8 | TUNE_FEATURES:tune-riscv64 := "${@oe.tune.riscv_isa_to_tune("rv64gc")}" |
17 | TUNE_ARCH:tune-riscv64 = "riscv64" | 9 | PACKAGE_EXTRA_ARCHS:tune-riscv64 = "${TUNE_RISCV_PKGARCH}" |
18 | TUNE_PKGARCH:tune-riscv64 = "riscv64" | ||
19 | PACKAGE_EXTRA_ARCHS:tune-riscv64 = "riscv64" | ||
20 | 10 | ||
21 | TUNE_FEATURES:tune-riscv32 = "riscv32" | 11 | TUNE_FEATURES:tune-riscv32 := "${@oe.tune.riscv_isa_to_tune("rv32gc")}" |
22 | TUNE_ARCH:tune-riscv32 = "riscv32" | 12 | PACKAGE_EXTRA_ARCHS:tune-riscv32 = "${TUNE_RISCV_PKGARCH}" |
23 | TUNE_PKGARCH:tune-riscv32 = "riscv32" | ||
24 | PACKAGE_EXTRA_ARCHS:tune-riscv32 = "riscv32" | ||
25 | 13 | ||
26 | # No float | 14 | # No float |
27 | TUNE_FEATURES:tune-riscv64nf = "${TUNE_FEATURES:tune-riscv64} riscv64nf" | 15 | TUNE_FEATURES:tune-riscv64nf := "${@oe.tune.riscv_isa_to_tune("rv64imac_zicsr_zifencei")}" |
28 | TUNE_ARCH:tune-riscv64nf = "riscv64" | 16 | PACKAGE_EXTRA_ARCHS:tune-riscv64nf = "${TUNE_RISCV_PKGARCH}" |
29 | TUNE_PKGARCH:tune-riscv64nf = "riscv64nf" | ||
30 | PACKAGE_EXTRA_ARCHS:tune-riscv64nf = "riscv64nf" | ||
31 | 17 | ||
32 | TUNE_FEATURES:tune-riscv32nf = "${TUNE_FEATURES:tune-riscv32} riscv32nf" | 18 | TUNE_FEATURES:tune-riscv32nf := "${@oe.tune.riscv_isa_to_tune("rv32imac_zicsr_zifencei")}" |
33 | TUNE_ARCH:tune-riscv32nf = "riscv32" | 19 | PACKAGE_EXTRA_ARCHS:tune-riscv32nf = "${TUNE_RISCV_PKGARCH}" |
34 | TUNE_PKGARCH:tune-riscv32nf = "riscv32nf" | ||
35 | PACKAGE_EXTRA_ARCHS:tune-riscv32nf = "riscv32nf" | ||
36 | 20 | ||
37 | # no compressed | 21 | # no compressed |
38 | TUNE_FEATURES:tune-riscv64nc = "${TUNE_FEATURES:tune-riscv64} riscv64nc" | 22 | TUNE_FEATURES:tune-riscv64nc := "${@oe.tune.riscv_isa_to_tune("rv64imafd_zicsr_zifencei")}" |
39 | TUNE_ARCH:tune-riscv64nc = "riscv64" | 23 | PACKAGE_EXTRA_ARCHS:tune-riscv64nc = "${TUNE_RISCV_PKGARCH}" |
40 | TUNE_PKGARCH:tune-riscv64nc = "riscv64nc" | ||
41 | PACKAGE_EXTRA_ARCHS:tune-riscv64nc = "riscv64nc" | ||
diff --git a/meta/conf/machine/qemuriscv32.conf b/meta/conf/machine/qemuriscv32.conf index d3858dc051..aff36c28a5 100644 --- a/meta/conf/machine/qemuriscv32.conf +++ b/meta/conf/machine/qemuriscv32.conf | |||
@@ -2,9 +2,9 @@ | |||
2 | #@NAME: generic riscv32 machine | 2 | #@NAME: generic riscv32 machine |
3 | #@DESCRIPTION: Machine configuration for running a generic riscv32 | 3 | #@DESCRIPTION: Machine configuration for running a generic riscv32 |
4 | 4 | ||
5 | require conf/machine/include/riscv/qemuriscv.inc | 5 | DEFAULTTUNE ?= "riscv32" |
6 | 6 | ||
7 | DEFAULTTUNE = "riscv32" | 7 | require conf/machine/include/riscv/qemuriscv.inc |
8 | 8 | ||
9 | PREFERRED_VERSION_openocd-native = "riscv" | 9 | PREFERRED_VERSION_openocd-native = "riscv" |
10 | PREFERRED_VERSION_openocd = "riscv" | 10 | PREFERRED_VERSION_openocd = "riscv" |
diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf index 4a9c6d364b..62108b703b 100644 --- a/meta/conf/machine/qemux86-64.conf +++ b/meta/conf/machine/qemux86-64.conf | |||
@@ -2,12 +2,6 @@ | |||
2 | #@NAME: QEMU x86-64 machine | 2 | #@NAME: QEMU x86-64 machine |
3 | #@DESCRIPTION: Machine configuration for running an x86-64 system on QEMU | 3 | #@DESCRIPTION: Machine configuration for running an x86-64 system on QEMU |
4 | 4 | ||
5 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | ||
6 | PREFERRED_PROVIDER_virtual/libgl ?= "mesa" | ||
7 | PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" | ||
8 | PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" | ||
9 | PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa" | ||
10 | |||
11 | require conf/machine/include/qemu.inc | 5 | require conf/machine/include/qemu.inc |
12 | DEFAULTTUNE ?= "core2-64" | 6 | DEFAULTTUNE ?= "core2-64" |
13 | require conf/machine/include/x86/tune-x86-64-v3.inc | 7 | require conf/machine/include/x86/tune-x86-64-v3.inc |
diff --git a/meta/conf/machine/qemux86.conf b/meta/conf/machine/qemux86.conf index 1e072e1ae2..51f080bd2a 100644 --- a/meta/conf/machine/qemux86.conf +++ b/meta/conf/machine/qemux86.conf | |||
@@ -2,12 +2,6 @@ | |||
2 | #@NAME: QEMU x86 machine | 2 | #@NAME: QEMU x86 machine |
3 | #@DESCRIPTION: Machine configuration for running an x86 system on QEMU | 3 | #@DESCRIPTION: Machine configuration for running an x86 system on QEMU |
4 | 4 | ||
5 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | ||
6 | PREFERRED_PROVIDER_virtual/libgl ?= "mesa" | ||
7 | PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" | ||
8 | PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" | ||
9 | PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa" | ||
10 | |||
11 | require conf/machine/include/qemu.inc | 5 | require conf/machine/include/qemu.inc |
12 | DEFAULTTUNE ?= "core2-32" | 6 | DEFAULTTUNE ?= "core2-32" |
13 | require conf/machine/include/x86/tune-corei7.inc | 7 | require conf/machine/include/x86/tune-corei7.inc |
diff --git a/meta/files/license-hashes.csv b/meta/files/license-hashes.csv index 906660b85d..5e81dbcdec 100644 --- a/meta/files/license-hashes.csv +++ b/meta/files/license-hashes.csv | |||
@@ -3,7 +3,8 @@ | |||
3 | 0636e73ff0215e8d672dc4c32c317bb3,GPL-2.0-only | 3 | 0636e73ff0215e8d672dc4c32c317bb3,GPL-2.0-only |
4 | 063b5c3ebb5f3aa4c85a2ed18a31fbe7,GPL-2.0-only | 4 | 063b5c3ebb5f3aa4c85a2ed18a31fbe7,GPL-2.0-only |
5 | 0a97f8e4cbaf889d6fa51f84b89a79f6,ISC | 5 | 0a97f8e4cbaf889d6fa51f84b89a79f6,ISC |
6 | 0ceb9ff3b27d3a8cf451ca3785d73c71,BSD-3-Clause & MIT | 6 | 0c241922fc69330e2e5590de114f3bf5,BSD-3-Clause |
7 | 0ceb9ff3b27d3a8cf451ca3785d73c71,MIT | ||
7 | 0dd48ae8103725bd7b401261520cdfbb,BSD-3-Clause | 8 | 0dd48ae8103725bd7b401261520cdfbb,BSD-3-Clause |
8 | 0e46634a01bfef056892949acaea85b1,BSD-3-Clause | 9 | 0e46634a01bfef056892949acaea85b1,BSD-3-Clause |
9 | 1034431802e57486b393d00c5d262b8a,Apache-2.0 | 10 | 1034431802e57486b393d00c5d262b8a,Apache-2.0 |
@@ -13,16 +14,22 @@ | |||
13 | 201414b6610203caed355323b1ab3116,BSD-3-Clause | 14 | 201414b6610203caed355323b1ab3116,BSD-3-Clause |
14 | 252890d9eee26aab7b432e8b8a616475,LGPL-2.0-only | 15 | 252890d9eee26aab7b432e8b8a616475,LGPL-2.0-only |
15 | 2b8c039b2b9a25f0feb4410c4542d346,BSD-2-Clause | 16 | 2b8c039b2b9a25f0feb4410c4542d346,BSD-2-Clause |
17 | 2d1c30374313ae40df7772dc92ef9fd5,GPL-3.0-only | ||
16 | 2d5025d4aa3495befef8f17206a5b0a1,LGPL-2.1-only | 18 | 2d5025d4aa3495befef8f17206a5b0a1,LGPL-2.1-only |
17 | 3214f080875748938ba060314b4f727d,LGPL-2.0-only | 19 | 3214f080875748938ba060314b4f727d,LGPL-2.0-only |
20 | 37acb030ba070680be4a9fcb57f2735a,MIT | ||
18 | 385c55653886acac3821999a3ccd17b3,Artistic-1.0 | GPL-2.0-only | 21 | 385c55653886acac3821999a3ccd17b3,Artistic-1.0 | GPL-2.0-only |
22 | 38be95f95200434dc208e2ee3dab5081,BSD-3-Clause | ||
19 | 393a5ca445f6965873eca0259a17f833,GPL-2.0-only | 23 | 393a5ca445f6965873eca0259a17f833,GPL-2.0-only |
20 | 3b83ef96387f14655fc854ddc3c6bd57,Apache-2.0 | 24 | 3b83ef96387f14655fc854ddc3c6bd57,Apache-2.0 |
21 | 3bf50002aefd002f49e7bb854063f7e7,LGPL-2.0-only | 25 | 3bf50002aefd002f49e7bb854063f7e7,LGPL-2.0-only |
26 | 3c91c17266710e16afdbb2b6d15c761c,Apache-2.0 | ||
22 | 3debde09238a8c8e1f6a847e1ec9055b,LGPL-2.1-only | 27 | 3debde09238a8c8e1f6a847e1ec9055b,LGPL-2.1-only |
23 | 4325afd396febcb659c36b49533135d4,GPL-2.0-only | 28 | 4325afd396febcb659c36b49533135d4,GPL-2.0-only |
24 | 4c641f2d995c47f5cb08bdb4b5b6ea05,BSD-2-Clause | 29 | 4c641f2d995c47f5cb08bdb4b5b6ea05,BSD-2-Clause |
30 | 4e2a8d8f9935d6a766a5879a77ddc24d,Apache-2.0 | ||
25 | 4ee4feb2b545c2231749e5c54ace343e,BSD-3-Clause | 31 | 4ee4feb2b545c2231749e5c54ace343e,BSD-3-Clause |
32 | 4efd8bdbab9cff00dcd75f2c3ee4e190,BSD-2-Clause | ||
26 | 4fbd65380cdd255951079008b364516c,LGPL-2.1-only | 33 | 4fbd65380cdd255951079008b364516c,LGPL-2.1-only |
27 | 50fab24ce589d69af8964fdbfe414c60,BSD-2-Clause | 34 | 50fab24ce589d69af8964fdbfe414c60,BSD-2-Clause |
28 | 54c7042be62e169199200bc6477f04d1,BSD-3-Clause | 35 | 54c7042be62e169199200bc6477f04d1,BSD-3-Clause |
@@ -30,6 +37,7 @@ | |||
30 | 59530bdf33659b29e73d4adb9f9f6552,GPL-2.0-only | 37 | 59530bdf33659b29e73d4adb9f9f6552,GPL-2.0-only |
31 | 5d4950ecb7b26d2c5e4e7b4e0dd74707,BSD-3-Clause | 38 | 5d4950ecb7b26d2c5e4e7b4e0dd74707,BSD-3-Clause |
32 | 5f30f0716dfdd0d91eb439ebec522ec2,LGPL-2.0-only | 39 | 5f30f0716dfdd0d91eb439ebec522ec2,LGPL-2.0-only |
40 | 6551d79bf661eed41a50157513ee4ad6,BSD-3-Clause | ||
33 | 6a6a8e020838b23406c81b19c1d46df6,LGPL-3.0-only | 41 | 6a6a8e020838b23406c81b19c1d46df6,LGPL-3.0-only |
34 | 721f23a96ff4161ca3a5f071bbe18108,MIT | 42 | 721f23a96ff4161ca3a5f071bbe18108,MIT |
35 | 7364d1e4653d3584181e9d22d81f275f,CC0-1.0 | 43 | 7364d1e4653d3584181e9d22d81f275f,CC0-1.0 |
@@ -41,8 +49,10 @@ | |||
41 | 7fbc338309ac38fefcd64b04bb903e34,LGPL-2.1-only | 49 | 7fbc338309ac38fefcd64b04bb903e34,LGPL-2.1-only |
42 | 80fa7b56a28e8c902e6af194003220a5,BSD-2-Clause | 50 | 80fa7b56a28e8c902e6af194003220a5,BSD-2-Clause |
43 | 85d8a977ee9d7c5ab4ac03c9b95431c4,MIT-0 | 51 | 85d8a977ee9d7c5ab4ac03c9b95431c4,MIT-0 |
52 | 88073b6dd8ec00fe09da59e0b6dfded1,BSD-3-Clause | ||
44 | 88a4355858a1433fea99fae34a44da88,GPL-2.0-only | 53 | 88a4355858a1433fea99fae34a44da88,GPL-2.0-only |
45 | 8bd23871802951c9ad63855151204c2c,BSD-2-Clause | 54 | 8bd23871802951c9ad63855151204c2c,BSD-2-Clause |
55 | 8c6127b79304a5e0a5756d03c7a58766,MIT | ||
46 | 8ca43cbc842c2336e835926c2166c28b,GPL-2.0-only | 56 | 8ca43cbc842c2336e835926c2166c28b,GPL-2.0-only |
47 | 939cce1ec101726fa754e698ac871622,BSD-3-Clause | 57 | 939cce1ec101726fa754e698ac871622,BSD-3-Clause |
48 | 94d55d512a9ba36caa9b7df079bae19f,GPL-2.0-only | 58 | 94d55d512a9ba36caa9b7df079bae19f,GPL-2.0-only |
@@ -53,8 +63,10 @@ a54a1a6a39e7f9dbb4a23a42f5c7fd1c,Apache-2.0 | |||
53 | a651bb3d8b1c412632e28823bb432b40,BSD-3-Clause | 63 | a651bb3d8b1c412632e28823bb432b40,BSD-3-Clause |
54 | a6f89e2100d9b6cdffcea4f398e37343,LGPL-2.1-only | 64 | a6f89e2100d9b6cdffcea4f398e37343,LGPL-2.1-only |
55 | ad4e9d34a2e966dfe9837f18de03266d,GFDL-1.1-only | 65 | ad4e9d34a2e966dfe9837f18de03266d,GFDL-1.1-only |
66 | ae6de3dee02712a1e55b280671be53bf,BSD-3-Clause | ||
56 | b234ee4d69f5fce4486a80fdaf4a4263,GPL-2.0-only | 67 | b234ee4d69f5fce4486a80fdaf4a4263,GPL-2.0-only |
57 | b27575459e02221ccef97ec0bfd457ae,Apache-2.0 | 68 | b27575459e02221ccef97ec0bfd457ae,Apache-2.0 |
69 | b278a92d2c1509760384428817710378,MPL-2.0 | ||
58 | b376d29a53c9573006b9970709231431,MIT | 70 | b376d29a53c9573006b9970709231431,MIT |
59 | b5f72aef53d3b2b432702c30b0215666,BSD-3-Clause | 71 | b5f72aef53d3b2b432702c30b0215666,BSD-3-Clause |
60 | b66384e7137e41a9b1904ef4d39703b6,Apache-2.0 | 72 | b66384e7137e41a9b1904ef4d39703b6,Apache-2.0 |
@@ -63,12 +75,16 @@ bfe1f75d606912a4111c90743d6c7325,MPL-1.1-only | |||
63 | c93c0550bd3173f4504b2cbd8991e50b,GPL-2.0-only | 75 | c93c0550bd3173f4504b2cbd8991e50b,GPL-2.0-only |
64 | d014fb11a34eb67dc717fdcfc97e60ed,GFDL-1.2-only | 76 | d014fb11a34eb67dc717fdcfc97e60ed,GFDL-1.2-only |
65 | d0b68be4a2dc957aaf09144970bc6696,MIT | 77 | d0b68be4a2dc957aaf09144970bc6696,MIT |
78 | d0fd9ebda39468b51ff4539c9fbb13a8,BSD-3-Clause | ||
66 | d32239bcb673463ab874e80d47fae504,GPL-3.0-only | 79 | d32239bcb673463ab874e80d47fae504,GPL-3.0-only |
80 | d44fdeb607e2d2614db9464dbedd4094,MPL-2.0 | ||
81 | d4eb2084b3083d2c275ec52ef4ba9ac1,BSD-3-Clause | ||
67 | d7810fab7487fb0aad327b76f1be7cd7,GPL-2.0-only | 82 | d7810fab7487fb0aad327b76f1be7cd7,GPL-2.0-only |
68 | d8045f3b8f929c1cb29a1e3fd737b499,LGPL-2.1-only | 83 | d8045f3b8f929c1cb29a1e3fd737b499,LGPL-2.1-only |
69 | db979804f025cf55aabec7129cb671ed,LGPL-2.0-only | 84 | db979804f025cf55aabec7129cb671ed,LGPL-2.0-only |
70 | e020ca655b06c112def28e597ab844f1,GFDL-1.3-only | 85 | e020ca655b06c112def28e597ab844f1,GFDL-1.3-only |
71 | e659f77bfd9002659e112d0d3d59b2c1,BSD-2-Clause | 86 | e659f77bfd9002659e112d0d3d59b2c1,BSD-2-Clause |
87 | eb1e647870add0502f8f010b19de32af,AGPL-3.0-or-later | ||
72 | eb723b61539feef013de476e68b5c50a,GPL-2.0-only | 88 | eb723b61539feef013de476e68b5c50a,GPL-2.0-only |
73 | ebb5c50ab7cab4baeffba14977030c07,GPL-2.0-only | 89 | ebb5c50ab7cab4baeffba14977030c07,GPL-2.0-only |
74 | efe2cb9a35826992b9df68224e3c2628,EPL-1.0 | 90 | efe2cb9a35826992b9df68224e3c2628,EPL-1.0 |
diff --git a/meta/lib/bbconfigbuild/configfragments.py b/meta/lib/bbconfigbuild/configfragments.py index c1dddc3e4c..61c33ac316 100644 --- a/meta/lib/bbconfigbuild/configfragments.py +++ b/meta/lib/bbconfigbuild/configfragments.py | |||
@@ -62,7 +62,22 @@ class ConfigFragmentsPlugin(LayerPlugin): | |||
62 | else: | 62 | else: |
63 | print('Name: {}\nPath: {}\nEnabled: {}\nSummary: {}\nDescription:\n{}\n'.format(f['name'], f['path'], 'yes' if is_enabled else 'no', f['summary'],''.join(f['description']))) | 63 | print('Name: {}\nPath: {}\nEnabled: {}\nSummary: {}\nDescription:\n{}\n'.format(f['name'], f['path'], 'yes' if is_enabled else 'no', f['summary'],''.join(f['description']))) |
64 | 64 | ||
65 | def print_builtin_fragments(builtin, enabled): | ||
66 | print('Available built-in fragments:') | ||
67 | builtin_dict = {i[0]:i[1] for i in [f.split(':') for f in builtin]} | ||
68 | for prefix,var in builtin_dict.items(): | ||
69 | print('{}/...\tSets {} = ...'.format(prefix, var)) | ||
70 | print('') | ||
71 | enabled_builtin_fragments = [f for f in enabled if self.builtin_fragment_exists(f)] | ||
72 | print('Enabled built-in fragments:') | ||
73 | for f in enabled_builtin_fragments: | ||
74 | prefix, value = f.split('/', 1) | ||
75 | print('{}\tSets {} = "{}"'.format(f, builtin_dict[prefix], value)) | ||
76 | print('') | ||
77 | |||
65 | all_enabled_fragments = (self.tinfoil.config_data.getVar('OE_FRAGMENTS') or "").split() | 78 | all_enabled_fragments = (self.tinfoil.config_data.getVar('OE_FRAGMENTS') or "").split() |
79 | all_builtin_fragments = (self.tinfoil.config_data.getVar('OE_FRAGMENTS_BUILTIN') or "").split() | ||
80 | print_builtin_fragments(all_builtin_fragments, all_enabled_fragments) | ||
66 | 81 | ||
67 | for layername, layerdata in self.discover_fragments().items(): | 82 | for layername, layerdata in self.discover_fragments().items(): |
68 | layerdir = layerdata['layerdir'] | 83 | layerdir = layerdata['layerdir'] |
@@ -89,6 +104,11 @@ class ConfigFragmentsPlugin(LayerPlugin): | |||
89 | return True | 104 | return True |
90 | return False | 105 | return False |
91 | 106 | ||
107 | def builtin_fragment_exists(self, fragmentname): | ||
108 | fragment_prefix = fragmentname.split("/",1)[0] | ||
109 | fragment_prefix_defs = set([f.split(':')[0] for f in self.tinfoil.config_data.getVar('OE_FRAGMENTS_BUILTIN').split()]) | ||
110 | return fragment_prefix in fragment_prefix_defs | ||
111 | |||
92 | def create_conf(self, confpath): | 112 | def create_conf(self, confpath): |
93 | if not os.path.exists(confpath): | 113 | if not os.path.exists(confpath): |
94 | with open(confpath, 'w') as f: | 114 | with open(confpath, 'w') as f: |
@@ -112,7 +132,7 @@ class ConfigFragmentsPlugin(LayerPlugin): | |||
112 | return " ".join(enabled_fragments), None, 0, True | 132 | return " ".join(enabled_fragments), None, 0, True |
113 | 133 | ||
114 | for f in args.fragmentname: | 134 | for f in args.fragmentname: |
115 | if not self.fragment_exists(f): | 135 | if not self.fragment_exists(f) and not self.builtin_fragment_exists(f): |
116 | raise Exception("Fragment {} does not exist; use 'list-fragments' to see the full list.".format(f)) | 136 | raise Exception("Fragment {} does not exist; use 'list-fragments' to see the full list.".format(f)) |
117 | 137 | ||
118 | self.create_conf(args.confpath) | 138 | self.create_conf(args.confpath) |
diff --git a/meta/lib/oe/__init__.py b/meta/lib/oe/__init__.py index dd094a874a..73de774266 100644 --- a/meta/lib/oe/__init__.py +++ b/meta/lib/oe/__init__.py | |||
@@ -12,4 +12,4 @@ __path__ = extend_path(__path__, __name__) | |||
12 | BBIMPORTS = ["qa", "data", "path", "utils", "types", "package", "packagedata", \ | 12 | BBIMPORTS = ["qa", "data", "path", "utils", "types", "package", "packagedata", \ |
13 | "packagegroup", "sstatesig", "lsb", "cachedpath", "license", "qemu", \ | 13 | "packagegroup", "sstatesig", "lsb", "cachedpath", "license", "qemu", \ |
14 | "reproducible", "rust", "buildcfg", "go", "spdx30_tasks", "spdx_common", \ | 14 | "reproducible", "rust", "buildcfg", "go", "spdx30_tasks", "spdx_common", \ |
15 | "cve_check"] | 15 | "cve_check", "tune"] |
diff --git a/meta/lib/oe/go.py b/meta/lib/oe/go.py index dfd957d157..4559dc63b2 100644 --- a/meta/lib/oe/go.py +++ b/meta/lib/oe/go.py | |||
@@ -7,6 +7,10 @@ | |||
7 | import re | 7 | import re |
8 | 8 | ||
9 | def map_arch(a): | 9 | def map_arch(a): |
10 | """ | ||
11 | Map our architecture names to Go's GOARCH names. | ||
12 | See https://github.com/golang/go/blob/master/src/internal/syslist/syslist.go for the complete list. | ||
13 | """ | ||
10 | if re.match('i.86', a): | 14 | if re.match('i.86', a): |
11 | return '386' | 15 | return '386' |
12 | elif a == 'x86_64': | 16 | elif a == 'x86_64': |
@@ -31,4 +35,4 @@ def map_arch(a): | |||
31 | return 'riscv64' | 35 | return 'riscv64' |
32 | elif a == 'loongarch64': | 36 | elif a == 'loongarch64': |
33 | return 'loong64' | 37 | return 'loong64' |
34 | return '' | 38 | raise KeyError(f"Cannot map architecture {a}") |
diff --git a/meta/lib/oe/reproducible.py b/meta/lib/oe/reproducible.py index cdb38d5aa4..0270024a83 100644 --- a/meta/lib/oe/reproducible.py +++ b/meta/lib/oe/reproducible.py | |||
@@ -75,10 +75,11 @@ def get_source_date_epoch_from_known_files(d, sourcedir): | |||
75 | return source_date_epoch | 75 | return source_date_epoch |
76 | 76 | ||
77 | def find_git_folder(d, sourcedir): | 77 | def find_git_folder(d, sourcedir): |
78 | # First guess: UNPACKDIR/git | 78 | # First guess: UNPACKDIR/BB_GIT_DEFAULT_DESTSUFFIX |
79 | # This is the default git fetcher unpack path | 79 | # This is the default git fetcher unpack path |
80 | unpackdir = d.getVar('UNPACKDIR') | 80 | unpackdir = d.getVar('UNPACKDIR') |
81 | gitpath = os.path.join(unpackdir, "git/.git") | 81 | default_destsuffix = d.getVar('BB_GIT_DEFAULT_DESTSUFFIX') |
82 | gitpath = os.path.join(unpackdir, default_destsuffix, ".git") | ||
82 | if os.path.isdir(gitpath): | 83 | if os.path.isdir(gitpath): |
83 | return gitpath | 84 | return gitpath |
84 | 85 | ||
diff --git a/meta/lib/oe/rust.py b/meta/lib/oe/rust.py index 185553eeeb..1dc9cf150d 100644 --- a/meta/lib/oe/rust.py +++ b/meta/lib/oe/rust.py | |||
@@ -8,6 +8,4 @@ | |||
8 | def arch_to_rust_arch(arch): | 8 | def arch_to_rust_arch(arch): |
9 | if arch == "ppc64le": | 9 | if arch == "ppc64le": |
10 | return "powerpc64le" | 10 | return "powerpc64le" |
11 | if arch in ('riscv32', 'riscv64'): | ||
12 | return arch + 'gc' | ||
13 | return arch | 11 | return arch |
diff --git a/meta/lib/oe/spdx30_tasks.py b/meta/lib/oe/spdx30_tasks.py index 61d7ba45e3..5d9f3168d9 100644 --- a/meta/lib/oe/spdx30_tasks.py +++ b/meta/lib/oe/spdx30_tasks.py | |||
@@ -156,6 +156,11 @@ def add_package_files( | |||
156 | bb.note(f"Skip {topdir}") | 156 | bb.note(f"Skip {topdir}") |
157 | return spdx_files | 157 | return spdx_files |
158 | 158 | ||
159 | check_compiled_sources = d.getVar("SPDX_INCLUDE_COMPILED_SOURCES") == "1" | ||
160 | if check_compiled_sources: | ||
161 | compiled_sources, types = oe.spdx_common.get_compiled_sources(d) | ||
162 | bb.debug(1, f"Total compiled files: {len(compiled_sources)}") | ||
163 | |||
159 | for subdir, dirs, files in os.walk(topdir, onerror=walk_error): | 164 | for subdir, dirs, files in os.walk(topdir, onerror=walk_error): |
160 | dirs[:] = [d for d in dirs if d not in ignore_dirs] | 165 | dirs[:] = [d for d in dirs if d not in ignore_dirs] |
161 | if subdir == str(topdir): | 166 | if subdir == str(topdir): |
@@ -171,6 +176,11 @@ def add_package_files( | |||
171 | filename = str(filepath.relative_to(topdir)) | 176 | filename = str(filepath.relative_to(topdir)) |
172 | file_purposes = get_purposes(filepath) | 177 | file_purposes = get_purposes(filepath) |
173 | 178 | ||
179 | # Check if file is compiled | ||
180 | if check_compiled_sources: | ||
181 | if not oe.spdx_common.is_compiled_source(filename, compiled_sources, types): | ||
182 | continue | ||
183 | |||
174 | spdx_file = objset.new_file( | 184 | spdx_file = objset.new_file( |
175 | get_spdxid(file_counter), | 185 | get_spdxid(file_counter), |
176 | filename, | 186 | filename, |
@@ -542,7 +552,7 @@ def create_spdx(d): | |||
542 | ) | 552 | ) |
543 | build_objset.new_relationship( | 553 | build_objset.new_relationship( |
544 | source_files, | 554 | source_files, |
545 | oe.spdx30.RelationshipType.hasConcludedLicense, | 555 | oe.spdx30.RelationshipType.hasDeclaredLicense, |
546 | [oe.sbom30.get_element_link_id(recipe_spdx_license)], | 556 | [oe.sbom30.get_element_link_id(recipe_spdx_license)], |
547 | ) | 557 | ) |
548 | 558 | ||
diff --git a/meta/lib/oe/spdx_common.py b/meta/lib/oe/spdx_common.py index 4caefc7673..c2dec65563 100644 --- a/meta/lib/oe/spdx_common.py +++ b/meta/lib/oe/spdx_common.py | |||
@@ -242,3 +242,44 @@ def fetch_data_to_uri(fd, name): | |||
242 | uri = uri + "@" + fd.revision | 242 | uri = uri + "@" + fd.revision |
243 | 243 | ||
244 | return uri | 244 | return uri |
245 | |||
246 | def is_compiled_source (filename, compiled_sources, types): | ||
247 | """ | ||
248 | Check if the file is a compiled file | ||
249 | """ | ||
250 | import os | ||
251 | # If we don't have compiled source, we assume all are compiled. | ||
252 | if not compiled_sources: | ||
253 | return True | ||
254 | |||
255 | # We return always true if the file type is not in the list of compiled files. | ||
256 | # Some files in the source directory are not compiled, for example, Makefiles, | ||
257 | # but also python .py file. We need to include them in the SPDX. | ||
258 | basename = os.path.basename(filename) | ||
259 | ext = basename.partition(".")[2] | ||
260 | if ext not in types: | ||
261 | return True | ||
262 | # Check that the file is in the list | ||
263 | return filename in compiled_sources | ||
264 | |||
265 | def get_compiled_sources(d): | ||
266 | """ | ||
267 | Get list of compiled sources from debug information and normalize the paths | ||
268 | """ | ||
269 | import itertools | ||
270 | source_info = oe.package.read_debugsources_info(d) | ||
271 | if not source_info: | ||
272 | bb.debug(1, "Do not have debugsources.list. Skipping") | ||
273 | return [], [] | ||
274 | |||
275 | # Sources are not split now in SPDX, so we aggregate them | ||
276 | sources = set(itertools.chain.from_iterable(source_info.values())) | ||
277 | # Check extensions of files | ||
278 | types = set() | ||
279 | for src in sources: | ||
280 | basename = os.path.basename(src) | ||
281 | ext = basename.partition(".")[2] | ||
282 | if ext not in types and ext: | ||
283 | types.add(ext) | ||
284 | bb.debug(1, f"Num of sources: {len(sources)} and types: {len(types)} {str(types)}") | ||
285 | return sources, types | ||
diff --git a/meta/lib/oe/tune.py b/meta/lib/oe/tune.py new file mode 100644 index 0000000000..7fda19430d --- /dev/null +++ b/meta/lib/oe/tune.py | |||
@@ -0,0 +1,81 @@ | |||
1 | # | ||
2 | # Copyright OpenEmbedded Contributors | ||
3 | # | ||
4 | # SPDX-License-Identifier: GPL-2.0-only | ||
5 | # | ||
6 | |||
7 | # riscv_isa_to_tune(isa) | ||
8 | # | ||
9 | # Automatically translate a RISC-V ISA string to TUNE_FEATURES | ||
10 | # | ||
11 | # Abbreviations, such as rv32g -> rv32imaffd_zicsr_zifencei are supported. | ||
12 | # | ||
13 | # Profiles, such as rva22u64, are NOT supported, you must use ISA strings. | ||
14 | # | ||
15 | def riscv_isa_to_tune(isa): | ||
16 | _isa = isa.lower() | ||
17 | |||
18 | feature = [] | ||
19 | iter = 0 | ||
20 | |||
21 | # rv or riscv | ||
22 | if _isa[iter:].startswith('rv'): | ||
23 | feature.append('rv') | ||
24 | iter = iter + 2 | ||
25 | elif _isa[iter:].startswith('riscv'): | ||
26 | feature.append('rv') | ||
27 | iter = iter + 5 | ||
28 | else: | ||
29 | # Not a risc-v ISA! | ||
30 | return _isa | ||
31 | |||
32 | while (_isa[iter:]): | ||
33 | # Skip _ and whitespace | ||
34 | if _isa[iter] == '_' or _isa[iter].isspace(): | ||
35 | iter = iter + 1 | ||
36 | continue | ||
37 | |||
38 | # Length, just capture numbers here | ||
39 | if _isa[iter].isdigit(): | ||
40 | iter_end = iter | ||
41 | while iter_end < len(_isa) and _isa[iter_end].isdigit(): | ||
42 | iter_end = iter_end + 1 | ||
43 | |||
44 | feature.append(_isa[iter:iter_end]) | ||
45 | iter = iter_end | ||
46 | continue | ||
47 | |||
48 | # Typically i, e or g is next, followed by extensions. | ||
49 | # Extensions are single character, except for Z, Ss, Sh, Sm, Sv, and X | ||
50 | |||
51 | # If the extension starts with 'Z', 'S' or 'X' use the name until the next _, whitespace or end | ||
52 | if _isa[iter] in ['z', 's', 'x']: | ||
53 | ext_type = _isa[iter] | ||
54 | iter_end = iter + 1 | ||
55 | |||
56 | # Multicharacter extension, these are supposed to have a _ before the next multicharacter extension | ||
57 | # See 37.4 and 37.5: | ||
58 | # 37.4: Underscores "_" may be used to separate ISA extensions... | ||
59 | # 37.5: All multi-letter extensions ... must be separated from other multi-letter extensions by an underscore... | ||
60 | # Some extensions permit only alphabetic characters, while others allow alphanumeric chartacters | ||
61 | while iter_end < len(_isa) and _isa[iter_end] != "_" and not _isa[iter_end].isspace(): | ||
62 | iter_end = iter_end + 1 | ||
63 | |||
64 | feature.append(_isa[iter:iter_end]) | ||
65 | iter = iter_end | ||
66 | continue | ||
67 | |||
68 | # 'g' is special, it's an abbreviation for imafd_zicsr_zifencei | ||
69 | # When expanding the abbreviation, any additional letters must appear before the _z* extensions | ||
70 | if _isa[iter] == 'g': | ||
71 | _isa = 'imafd' + _isa[iter+1:] + '_zicsr_zifencei' | ||
72 | iter = 0 | ||
73 | continue | ||
74 | |||
75 | feature.append(_isa[iter]) | ||
76 | iter = iter + 1 | ||
77 | continue | ||
78 | |||
79 | # Eliminate duplicates, but preserve the order | ||
80 | feature = list(dict.fromkeys(feature)) | ||
81 | return ' '.join(feature) | ||
diff --git a/meta/lib/oeqa/core/case.py b/meta/lib/oeqa/core/case.py index bc4446a938..ad5524a714 100644 --- a/meta/lib/oeqa/core/case.py +++ b/meta/lib/oeqa/core/case.py | |||
@@ -5,6 +5,7 @@ | |||
5 | # | 5 | # |
6 | 6 | ||
7 | import base64 | 7 | import base64 |
8 | import os | ||
8 | import zlib | 9 | import zlib |
9 | import unittest | 10 | import unittest |
10 | 11 | ||
@@ -57,6 +58,13 @@ class OETestCase(unittest.TestCase): | |||
57 | d.tearDownDecorator() | 58 | d.tearDownDecorator() |
58 | self.tearDownMethod() | 59 | self.tearDownMethod() |
59 | 60 | ||
61 | def assertFileExists(self, filename, msg=None): | ||
62 | """ | ||
63 | Test that filename exists. If it does not, the test will fail. | ||
64 | """ | ||
65 | if not os.path.exists(filename): | ||
66 | self.fail(msg or "%s does not exist" % filename) | ||
67 | |||
60 | class OEPTestResultTestCase: | 68 | class OEPTestResultTestCase: |
61 | """ | 69 | """ |
62 | Mix-in class to provide functions to make interacting with extraresults for | 70 | Mix-in class to provide functions to make interacting with extraresults for |
diff --git a/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py b/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py index 4e671ec0cc..c3be60f006 100644 --- a/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py +++ b/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py | |||
@@ -10,7 +10,6 @@ from oeqa.core.decorator.data import skipIfQemu | |||
10 | class Ethernet_Test(OERuntimeTestCase): | 10 | class Ethernet_Test(OERuntimeTestCase): |
11 | 11 | ||
12 | @skipIfQemu() | 12 | @skipIfQemu() |
13 | @OETestDepends(['ethernet_ip_connman.Ethernet_Test.test_set_virtual_ip']) | ||
14 | def test_get_ip_from_dhcp(self): | 13 | def test_get_ip_from_dhcp(self): |
15 | (status, output) = self.target.run("connmanctl services | grep -E '*AO Wired|*AR Wired' | awk '{print $3}'") | 14 | (status, output) = self.target.run("connmanctl services | grep -E '*AO Wired|*AR Wired' | awk '{print $3}'") |
16 | self.assertEqual(status, 0, msg='No wired interfaces are detected, output: %s' % output) | 15 | self.assertEqual(status, 0, msg='No wired interfaces are detected, output: %s' % output) |
diff --git a/meta/lib/oeqa/runtime/cases/stap.py b/meta/lib/oeqa/runtime/cases/stap.py index 3be4162108..6b55e7de50 100644 --- a/meta/lib/oeqa/runtime/cases/stap.py +++ b/meta/lib/oeqa/runtime/cases/stap.py | |||
@@ -21,11 +21,12 @@ class StapTest(OERuntimeTestCase): | |||
21 | status, output = self.target.run(cmd, 900) | 21 | status, output = self.target.run(cmd, 900) |
22 | self.assertEqual(status, 0, msg='\n'.join([cmd, output])) | 22 | self.assertEqual(status, 0, msg='\n'.join([cmd, output])) |
23 | 23 | ||
24 | cmd = 'stap -v -p4 -m stap-hello --disable-cache -DSTP_NO_VERREL_CHECK -e \'probe oneshot { print("Hello, "); println("SystemTap!") }\'' | 24 | cmd = 'stap -v -p4 -m stap_hello --disable-cache -DSTP_NO_VERREL_CHECK -e \'probe oneshot { print("Hello, "); println("SystemTap!") }\'' |
25 | status, output = self.target.run(cmd, 900) | 25 | status, output = self.target.run(cmd, 900) |
26 | self.assertEqual(status, 0, msg='\n'.join([cmd, output])) | 26 | self.assertEqual(status, 0, msg='\n'.join([cmd, output])) |
27 | 27 | ||
28 | cmd = 'staprun -v -R -b1 stap-hello.ko' | 28 | cmd = 'staprun -v -R -b1 stap_hello.ko' |
29 | status, output = self.target.run(cmd, 60) | ||
29 | self.assertEqual(status, 0, msg='\n'.join([cmd, output])) | 30 | self.assertEqual(status, 0, msg='\n'.join([cmd, output])) |
30 | self.assertIn('Hello, SystemTap!', output, msg='\n'.join([cmd, output])) | 31 | self.assertIn('Hello, SystemTap!', output, msg='\n'.join([cmd, output])) |
31 | except: | 32 | except: |
diff --git a/meta/lib/oeqa/selftest/cases/buildhistory.py b/meta/lib/oeqa/selftest/cases/buildhistory.py index 2d55994916..511c666554 100644 --- a/meta/lib/oeqa/selftest/cases/buildhistory.py +++ b/meta/lib/oeqa/selftest/cases/buildhistory.py | |||
@@ -9,10 +9,10 @@ import re | |||
9 | import datetime | 9 | import datetime |
10 | 10 | ||
11 | from oeqa.selftest.case import OESelftestTestCase | 11 | from oeqa.selftest.case import OESelftestTestCase |
12 | from oeqa.utils.commands import bitbake, get_bb_vars | 12 | from oeqa.utils.commands import bitbake, get_bb_vars, get_bb_var, runCmd |
13 | 13 | ||
14 | 14 | ||
15 | class BuildhistoryBase(OESelftestTestCase): | 15 | class BuildhistoryTests(OESelftestTestCase): |
16 | 16 | ||
17 | def config_buildhistory(self, tmp_bh_location=False): | 17 | def config_buildhistory(self, tmp_bh_location=False): |
18 | bb_vars = get_bb_vars(['USER_CLASSES', 'INHERIT']) | 18 | bb_vars = get_bb_vars(['USER_CLASSES', 'INHERIT']) |
@@ -48,5 +48,58 @@ class BuildhistoryBase(OESelftestTestCase): | |||
48 | else: | 48 | else: |
49 | self.assertEqual(result.status, 0, msg="Command 'bitbake %s' has failed unexpectedly: %s" % (target, result.output)) | 49 | self.assertEqual(result.status, 0, msg="Command 'bitbake %s' has failed unexpectedly: %s" % (target, result.output)) |
50 | 50 | ||
51 | # No tests should be added to the base class. | 51 | |
52 | # Please create a new class that inherit this one, or use one of those already available for adding tests. | 52 | def test_buildhistory_basic(self): |
53 | self.run_buildhistory_operation('xcursor-transparent-theme') | ||
54 | self.assertTrue(os.path.isdir(get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.") | ||
55 | |||
56 | def test_buildhistory_buildtime_pr_backwards(self): | ||
57 | target = 'xcursor-transparent-theme' | ||
58 | error = "ERROR:.*QA Issue: Package version for package %s went backwards which would break package feeds \(from .*-r1.* to .*-r0.*\)" % target | ||
59 | self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) | ||
60 | self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error) | ||
61 | |||
62 | def test_fileinfo(self): | ||
63 | self.config_buildhistory() | ||
64 | bitbake('hicolor-icon-theme') | ||
65 | history_dir = get_bb_var('BUILDHISTORY_DIR_PACKAGE', 'hicolor-icon-theme') | ||
66 | self.assertTrue(os.path.isdir(history_dir), 'buildhistory dir was not created.') | ||
67 | |||
68 | def load_bh(f): | ||
69 | d = {} | ||
70 | for line in open(f): | ||
71 | split = [s.strip() for s in line.split('=', 1)] | ||
72 | if len(split) > 1: | ||
73 | d[split[0]] = split[1] | ||
74 | return d | ||
75 | |||
76 | data = load_bh(os.path.join(history_dir, 'hicolor-icon-theme', 'latest')) | ||
77 | self.assertIn('FILELIST', data) | ||
78 | self.assertEqual(data['FILELIST'], '/usr/share/icons/hicolor/index.theme') | ||
79 | self.assertGreater(int(data['PKGSIZE']), 0) | ||
80 | |||
81 | data = load_bh(os.path.join(history_dir, 'hicolor-icon-theme-dev', 'latest')) | ||
82 | if 'FILELIST' in data: | ||
83 | self.assertEqual(data['FILELIST'], '/usr/share/pkgconfig/default-icon-theme.pc') | ||
84 | self.assertGreater(int(data['PKGSIZE']), 0) | ||
85 | |||
86 | def test_buildhistory_diff(self): | ||
87 | target = 'xcursor-transparent-theme' | ||
88 | self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) | ||
89 | self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True) | ||
90 | result = runCmd("oe-pkgdata-util read-value PKGV %s" % target) | ||
91 | pkgv = result.output.rstrip() | ||
92 | result = runCmd("buildhistory-diff -p %s" % get_bb_var('BUILDHISTORY_DIR')) | ||
93 | expected_endlines = [ | ||
94 | "xcursor-transparent-theme-dev: RRECOMMENDS: removed \"xcursor-transparent-theme (['= %s-r1'])\", added \"xcursor-transparent-theme (['= %s-r0'])\"" % (pkgv, pkgv), | ||
95 | "xcursor-transparent-theme-staticdev: RDEPENDS: removed \"xcursor-transparent-theme-dev (['= %s-r1'])\", added \"xcursor-transparent-theme-dev (['= %s-r0'])\"" % (pkgv, pkgv) | ||
96 | ] | ||
97 | for line in result.output.splitlines(): | ||
98 | for el in expected_endlines: | ||
99 | if line.endswith(el): | ||
100 | expected_endlines.remove(el) | ||
101 | break | ||
102 | else: | ||
103 | self.fail('Unexpected line:\n%s\nExpected line endings:\n %s' % (line, '\n '.join(expected_endlines))) | ||
104 | if expected_endlines: | ||
105 | self.fail('Missing expected line endings:\n %s' % '\n '.join(expected_endlines)) \ No newline at end of file | ||
diff --git a/meta/lib/oeqa/selftest/cases/buildoptions.py b/meta/lib/oeqa/selftest/cases/buildoptions.py index b509bcf951..767e19bd88 100644 --- a/meta/lib/oeqa/selftest/cases/buildoptions.py +++ b/meta/lib/oeqa/selftest/cases/buildoptions.py | |||
@@ -10,7 +10,6 @@ import glob as g | |||
10 | import shutil | 10 | import shutil |
11 | import tempfile | 11 | import tempfile |
12 | from oeqa.selftest.case import OESelftestTestCase | 12 | from oeqa.selftest.case import OESelftestTestCase |
13 | from oeqa.selftest.cases.buildhistory import BuildhistoryBase | ||
14 | from oeqa.core.decorator.data import skipIfMachine | 13 | from oeqa.core.decorator.data import skipIfMachine |
15 | from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars | 14 | from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars |
16 | import oeqa.utils.ftools as ftools | 15 | import oeqa.utils.ftools as ftools |
@@ -139,43 +138,6 @@ class SanityOptionsTest(OESelftestTestCase): | |||
139 | 138 | ||
140 | self.assertNotIn(err, ret.output) | 139 | self.assertNotIn(err, ret.output) |
141 | 140 | ||
142 | |||
143 | class BuildhistoryTests(BuildhistoryBase): | ||
144 | |||
145 | def test_buildhistory_basic(self): | ||
146 | self.run_buildhistory_operation('xcursor-transparent-theme') | ||
147 | self.assertTrue(os.path.isdir(get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.") | ||
148 | |||
149 | def test_buildhistory_buildtime_pr_backwards(self): | ||
150 | target = 'xcursor-transparent-theme' | ||
151 | error = "ERROR:.*QA Issue: Package version for package %s went backwards which would break package feeds \(from .*-r1.* to .*-r0.*\)" % target | ||
152 | self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) | ||
153 | self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error) | ||
154 | |||
155 | def test_fileinfo(self): | ||
156 | self.config_buildhistory() | ||
157 | bitbake('hicolor-icon-theme') | ||
158 | history_dir = get_bb_var('BUILDHISTORY_DIR_PACKAGE', 'hicolor-icon-theme') | ||
159 | self.assertTrue(os.path.isdir(history_dir), 'buildhistory dir was not created.') | ||
160 | |||
161 | def load_bh(f): | ||
162 | d = {} | ||
163 | for line in open(f): | ||
164 | split = [s.strip() for s in line.split('=', 1)] | ||
165 | if len(split) > 1: | ||
166 | d[split[0]] = split[1] | ||
167 | return d | ||
168 | |||
169 | data = load_bh(os.path.join(history_dir, 'hicolor-icon-theme', 'latest')) | ||
170 | self.assertIn('FILELIST', data) | ||
171 | self.assertEqual(data['FILELIST'], '/usr/share/icons/hicolor/index.theme') | ||
172 | self.assertGreater(int(data['PKGSIZE']), 0) | ||
173 | |||
174 | data = load_bh(os.path.join(history_dir, 'hicolor-icon-theme-dev', 'latest')) | ||
175 | if 'FILELIST' in data: | ||
176 | self.assertEqual(data['FILELIST'], '/usr/share/pkgconfig/default-icon-theme.pc') | ||
177 | self.assertGreater(int(data['PKGSIZE']), 0) | ||
178 | |||
179 | class ArchiverTest(OESelftestTestCase): | 141 | class ArchiverTest(OESelftestTestCase): |
180 | def test_arch_work_dir_and_export_source(self): | 142 | def test_arch_work_dir_and_export_source(self): |
181 | """ | 143 | """ |
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 0155ee62ee..74a7727cc0 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py | |||
@@ -469,7 +469,7 @@ class DevtoolAddTests(DevtoolBase): | |||
469 | checkvars = {} | 469 | checkvars = {} |
470 | checkvars['LICENSE'] = 'GPL-2.0-only' | 470 | checkvars['LICENSE'] = 'GPL-2.0-only' |
471 | checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263' | 471 | checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263' |
472 | checkvars['S'] = '${WORKDIR}/git' | 472 | checkvars['S'] = None |
473 | checkvars['PV'] = '0.1+git' | 473 | checkvars['PV'] = '0.1+git' |
474 | checkvars['SRC_URI'] = 'git://git.yoctoproject.org/git/dbus-wait;protocol=https;branch=master' | 474 | checkvars['SRC_URI'] = 'git://git.yoctoproject.org/git/dbus-wait;protocol=https;branch=master' |
475 | checkvars['SRCREV'] = srcrev | 475 | checkvars['SRCREV'] = srcrev |
@@ -565,7 +565,7 @@ class DevtoolAddTests(DevtoolBase): | |||
565 | recipefile = get_bb_var('FILE', testrecipe) | 565 | recipefile = get_bb_var('FILE', testrecipe) |
566 | self.assertIn('%s_%s.bb' % (testrecipe, testver), recipefile, 'Recipe file incorrectly named') | 566 | self.assertIn('%s_%s.bb' % (testrecipe, testver), recipefile, 'Recipe file incorrectly named') |
567 | checkvars = {} | 567 | checkvars = {} |
568 | checkvars['S'] = '${WORKDIR}/MarkupSafe-${PV}' | 568 | checkvars['S'] = '${UNPACKDIR}/MarkupSafe-${PV}' |
569 | checkvars['SRC_URI'] = url.replace(testver, '${PV}') | 569 | checkvars['SRC_URI'] = url.replace(testver, '${PV}') |
570 | self._test_recipe_contents(recipefile, checkvars, []) | 570 | self._test_recipe_contents(recipefile, checkvars, []) |
571 | # Try with version specified | 571 | # Try with version specified |
@@ -582,7 +582,7 @@ class DevtoolAddTests(DevtoolBase): | |||
582 | recipefile = get_bb_var('FILE', testrecipe) | 582 | recipefile = get_bb_var('FILE', testrecipe) |
583 | self.assertIn('%s_%s.bb' % (testrecipe, fakever), recipefile, 'Recipe file incorrectly named') | 583 | self.assertIn('%s_%s.bb' % (testrecipe, fakever), recipefile, 'Recipe file incorrectly named') |
584 | checkvars = {} | 584 | checkvars = {} |
585 | checkvars['S'] = '${WORKDIR}/MarkupSafe-%s' % testver | 585 | checkvars['S'] = '${UNPACKDIR}/MarkupSafe-%s' % testver |
586 | checkvars['SRC_URI'] = url | 586 | checkvars['SRC_URI'] = url |
587 | self._test_recipe_contents(recipefile, checkvars, []) | 587 | self._test_recipe_contents(recipefile, checkvars, []) |
588 | 588 | ||
@@ -609,7 +609,7 @@ class DevtoolAddTests(DevtoolBase): | |||
609 | recipefile = get_bb_var('FILE', testrecipe) | 609 | recipefile = get_bb_var('FILE', testrecipe) |
610 | self.assertIn('_git.bb', recipefile, 'Recipe file incorrectly named') | 610 | self.assertIn('_git.bb', recipefile, 'Recipe file incorrectly named') |
611 | checkvars = {} | 611 | checkvars = {} |
612 | checkvars['S'] = '${WORKDIR}/git' | 612 | checkvars['S'] = None |
613 | checkvars['PV'] = '1.0+git' | 613 | checkvars['PV'] = '1.0+git' |
614 | checkvars['SRC_URI'] = url_branch | 614 | checkvars['SRC_URI'] = url_branch |
615 | checkvars['SRCREV'] = '${AUTOREV}' | 615 | checkvars['SRCREV'] = '${AUTOREV}' |
@@ -628,7 +628,7 @@ class DevtoolAddTests(DevtoolBase): | |||
628 | recipefile = get_bb_var('FILE', testrecipe) | 628 | recipefile = get_bb_var('FILE', testrecipe) |
629 | self.assertIn('_git.bb', recipefile, 'Recipe file incorrectly named') | 629 | self.assertIn('_git.bb', recipefile, 'Recipe file incorrectly named') |
630 | checkvars = {} | 630 | checkvars = {} |
631 | checkvars['S'] = '${WORKDIR}/git' | 631 | checkvars['S'] = None |
632 | checkvars['PV'] = '1.5+git' | 632 | checkvars['PV'] = '1.5+git' |
633 | checkvars['SRC_URI'] = url_branch | 633 | checkvars['SRC_URI'] = url_branch |
634 | checkvars['SRCREV'] = checkrev | 634 | checkvars['SRCREV'] = checkrev |
@@ -1627,12 +1627,12 @@ class DevtoolUpdateTests(DevtoolBase): | |||
1627 | # Check preconditions | 1627 | # Check preconditions |
1628 | testrecipe = 'dos2unix' | 1628 | testrecipe = 'dos2unix' |
1629 | self.append_config('ERROR_QA:remove:pn-dos2unix = "patch-status"\n') | 1629 | self.append_config('ERROR_QA:remove:pn-dos2unix = "patch-status"\n') |
1630 | bb_vars = get_bb_vars(['SRC_URI', 'S', 'WORKDIR', 'FILE'], testrecipe) | 1630 | bb_vars = get_bb_vars(['SRC_URI', 'S', 'UNPACKDIR', 'FILE', 'BB_GIT_DEFAULT_DESTSUFFIX'], testrecipe) |
1631 | self.assertIn('git://', bb_vars['SRC_URI'], 'This test expects the %s recipe to be a git recipe' % testrecipe) | 1631 | self.assertIn('git://', bb_vars['SRC_URI'], 'This test expects the %s recipe to be a git recipe' % testrecipe) |
1632 | workdir_git = '%s/git/' % bb_vars['WORKDIR'] | 1632 | unpackdir_git = '%s/%s/' % (bb_vars['UNPACKDIR'], bb_vars['BB_GIT_DEFAULT_DESTSUFFIX']) |
1633 | if not bb_vars['S'].startswith(workdir_git): | 1633 | if not bb_vars['S'].startswith(unpackdir_git): |
1634 | self.fail('This test expects the %s recipe to be building from a subdirectory of the git repo' % testrecipe) | 1634 | self.fail('This test expects the %s recipe to be building from a subdirectory of the git repo' % testrecipe) |
1635 | subdir = bb_vars['S'].split(workdir_git, 1)[1] | 1635 | subdir = bb_vars['S'].split(unpackdir_git, 1)[1] |
1636 | # Clean up anything in the workdir/sysroot/sstate cache | 1636 | # Clean up anything in the workdir/sysroot/sstate cache |
1637 | bitbake('%s -c cleansstate' % testrecipe) | 1637 | bitbake('%s -c cleansstate' % testrecipe) |
1638 | # Try modifying a recipe | 1638 | # Try modifying a recipe |
@@ -2414,7 +2414,7 @@ class DevtoolUpgradeTests(DevtoolBase): | |||
2414 | newsrctree = os.path.join(self.workspacedir, 'sources', newrecipename) | 2414 | newsrctree = os.path.join(self.workspacedir, 'sources', newrecipename) |
2415 | self.assertExists(newsrctree, 'Source directory not renamed') | 2415 | self.assertExists(newsrctree, 'Source directory not renamed') |
2416 | checkvars = {} | 2416 | checkvars = {} |
2417 | checkvars['S'] = '${WORKDIR}/%s-%s' % (recipename, recipever) | 2417 | checkvars['S'] = '${UNPACKDIR}/%s-%s' % (recipename, recipever) |
2418 | checkvars['SRC_URI'] = url | 2418 | checkvars['SRC_URI'] = url |
2419 | self._test_recipe_contents(newrecipefile, checkvars, []) | 2419 | self._test_recipe_contents(newrecipefile, checkvars, []) |
2420 | # Try again - change just name this time | 2420 | # Try again - change just name this time |
@@ -2426,7 +2426,7 @@ class DevtoolUpgradeTests(DevtoolBase): | |||
2426 | self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipename), 'Old recipe directory still exists') | 2426 | self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipename), 'Old recipe directory still exists') |
2427 | self.assertExists(os.path.join(self.workspacedir, 'sources', newrecipename), 'Source directory not renamed') | 2427 | self.assertExists(os.path.join(self.workspacedir, 'sources', newrecipename), 'Source directory not renamed') |
2428 | checkvars = {} | 2428 | checkvars = {} |
2429 | checkvars['S'] = '${WORKDIR}/%s-${PV}' % recipename | 2429 | checkvars['S'] = '${UNPACKDIR}/%s-${PV}' % recipename |
2430 | checkvars['SRC_URI'] = url.replace(recipever, '${PV}') | 2430 | checkvars['SRC_URI'] = url.replace(recipever, '${PV}') |
2431 | self._test_recipe_contents(newrecipefile, checkvars, []) | 2431 | self._test_recipe_contents(newrecipefile, checkvars, []) |
2432 | # Try again - change just version this time | 2432 | # Try again - change just version this time |
@@ -2437,7 +2437,7 @@ class DevtoolUpgradeTests(DevtoolBase): | |||
2437 | self.assertExists(newrecipefile, 'Recipe file not renamed') | 2437 | self.assertExists(newrecipefile, 'Recipe file not renamed') |
2438 | self.assertExists(os.path.join(self.workspacedir, 'sources', recipename), 'Source directory no longer exists') | 2438 | self.assertExists(os.path.join(self.workspacedir, 'sources', recipename), 'Source directory no longer exists') |
2439 | checkvars = {} | 2439 | checkvars = {} |
2440 | checkvars['S'] = '${WORKDIR}/${BPN}-%s' % recipever | 2440 | checkvars['S'] = '${UNPACKDIR}/${BPN}-%s' % recipever |
2441 | checkvars['SRC_URI'] = url | 2441 | checkvars['SRC_URI'] = url |
2442 | self._test_recipe_contents(newrecipefile, checkvars, []) | 2442 | self._test_recipe_contents(newrecipefile, checkvars, []) |
2443 | 2443 | ||
diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py b/meta/lib/oeqa/selftest/cases/distrodata.py index 1e88ea82e6..f2c6124d70 100644 --- a/meta/lib/oeqa/selftest/cases/distrodata.py +++ b/meta/lib/oeqa/selftest/cases/distrodata.py | |||
@@ -56,7 +56,7 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re | |||
56 | 56 | ||
57 | def is_maintainer_exception(entry): | 57 | def is_maintainer_exception(entry): |
58 | exceptions = ["musl", "newlib", "picolibc", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran", "libx11-compose-data", | 58 | exceptions = ["musl", "newlib", "picolibc", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran", "libx11-compose-data", |
59 | "cve-update-nvd2-native", "barebox"] | 59 | "cve-update-nvd2-native", "barebox", "libglvnd"] |
60 | for i in exceptions: | 60 | for i in exceptions: |
61 | if i in entry: | 61 | if i in entry: |
62 | return True | 62 | return True |
diff --git a/meta/lib/oeqa/selftest/cases/esdk.py b/meta/lib/oeqa/selftest/cases/esdk.py index 9f5de2cde7..7a5fe00a08 100644 --- a/meta/lib/oeqa/selftest/cases/esdk.py +++ b/meta/lib/oeqa/selftest/cases/esdk.py | |||
@@ -27,11 +27,7 @@ class oeSDKExtSelfTest(OESelftestTestCase): | |||
27 | return glob.glob(pattern)[0] | 27 | return glob.glob(pattern)[0] |
28 | 28 | ||
29 | @staticmethod | 29 | @staticmethod |
30 | def run_esdk_cmd(env_eSDK, tmpdir_eSDKQA, cmd, postconfig=None, **options): | 30 | def run_esdk_cmd(env_eSDK, tmpdir_eSDKQA, cmd, **options): |
31 | if postconfig: | ||
32 | esdk_conf_file = os.path.join(tmpdir_eSDKQA, 'conf', 'local.conf') | ||
33 | with open(esdk_conf_file, 'a+') as f: | ||
34 | f.write(postconfig) | ||
35 | if not options: | 31 | if not options: |
36 | options = {} | 32 | options = {} |
37 | if not 'shell' in options: | 33 | if not 'shell' in options: |
diff --git a/meta/lib/oeqa/selftest/cases/fitimage.py b/meta/lib/oeqa/selftest/cases/fitimage.py index ca4724d1ae..3c40857747 100644 --- a/meta/lib/oeqa/selftest/cases/fitimage.py +++ b/meta/lib/oeqa/selftest/cases/fitimage.py | |||
@@ -1692,3 +1692,40 @@ FIT_SIGN_INDIVIDUAL = "1" | |||
1692 | 1692 | ||
1693 | # Just check the DTB of u-boot since there is no u-boot FIT image | 1693 | # Just check the DTB of u-boot since there is no u-boot FIT image |
1694 | self._check_kernel_dtb(bb_vars) | 1694 | self._check_kernel_dtb(bb_vars) |
1695 | |||
1696 | |||
1697 | def test_sign_uboot_fit_image_without_spl(self): | ||
1698 | """ | ||
1699 | Summary: Check if U-Boot FIT image and Image Tree Source (its) are | ||
1700 | created and signed correctly for the scenario where only | ||
1701 | the U-Boot proper fitImage is being created and signed | ||
1702 | (no SPL included). | ||
1703 | Expected: 1) U-Boot its and FIT image are built successfully | ||
1704 | 2) Scanning the its file indicates signing is enabled | ||
1705 | as requested by SPL_SIGN_ENABLE (using keys generated | ||
1706 | via UBOOT_FIT_GENERATE_KEYS) | ||
1707 | 3) Dumping the FIT image indicates signature values | ||
1708 | are present | ||
1709 | 4) Examination of the do_uboot_assemble_fitimage | ||
1710 | runfile/logfile indicate that UBOOT_MKIMAGE and | ||
1711 | UBOOT_MKIMAGE_SIGN are working as expected. | ||
1712 | Product: oe-core | ||
1713 | Author: Jamin Lin <jamin_lin@aspeedtech.com> | ||
1714 | """ | ||
1715 | config = """ | ||
1716 | # There's no U-boot defconfig with CONFIG_FIT_SIGNATURE yet, so we need at | ||
1717 | # least CONFIG_SPL_LOAD_FIT and CONFIG_SPL_OF_CONTROL set | ||
1718 | MACHINE = "qemuarm" | ||
1719 | UBOOT_MACHINE = "am57xx_evm_defconfig" | ||
1720 | # Enable creation and signing of the U-Boot fitImage (no SPL) | ||
1721 | UBOOT_FITIMAGE_ENABLE = "1" | ||
1722 | SPL_DTB_BINARY = "" | ||
1723 | SPL_SIGN_ENABLE = "1" | ||
1724 | SPL_SIGN_KEYNAME = "spl-oe-selftest" | ||
1725 | SPL_SIGN_KEYDIR = "${TOPDIR}/signing-keys" | ||
1726 | UBOOT_FIT_GENERATE_KEYS = "1" | ||
1727 | """ | ||
1728 | self.write_config(config) | ||
1729 | bb_vars = self._fit_get_bb_vars() | ||
1730 | self._test_fitimage(bb_vars) | ||
1731 | |||
diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py index bfbc33b08d..3f9899b289 100644 --- a/meta/lib/oeqa/selftest/cases/oescripts.py +++ b/meta/lib/oeqa/selftest/cases/oescripts.py | |||
@@ -9,33 +9,9 @@ import shutil | |||
9 | import importlib | 9 | import importlib |
10 | import unittest | 10 | import unittest |
11 | from oeqa.selftest.case import OESelftestTestCase | 11 | from oeqa.selftest.case import OESelftestTestCase |
12 | from oeqa.selftest.cases.buildhistory import BuildhistoryBase | ||
13 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var | 12 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var |
14 | from oeqa.utils import CommandError | 13 | from oeqa.utils import CommandError |
15 | 14 | ||
16 | class BuildhistoryDiffTests(BuildhistoryBase): | ||
17 | |||
18 | def test_buildhistory_diff(self): | ||
19 | target = 'xcursor-transparent-theme' | ||
20 | self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) | ||
21 | self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True) | ||
22 | result = runCmd("oe-pkgdata-util read-value PKGV %s" % target) | ||
23 | pkgv = result.output.rstrip() | ||
24 | result = runCmd("buildhistory-diff -p %s" % get_bb_var('BUILDHISTORY_DIR')) | ||
25 | expected_endlines = [ | ||
26 | "xcursor-transparent-theme-dev: RRECOMMENDS: removed \"xcursor-transparent-theme (['= %s-r1'])\", added \"xcursor-transparent-theme (['= %s-r0'])\"" % (pkgv, pkgv), | ||
27 | "xcursor-transparent-theme-staticdev: RDEPENDS: removed \"xcursor-transparent-theme-dev (['= %s-r1'])\", added \"xcursor-transparent-theme-dev (['= %s-r0'])\"" % (pkgv, pkgv) | ||
28 | ] | ||
29 | for line in result.output.splitlines(): | ||
30 | for el in expected_endlines: | ||
31 | if line.endswith(el): | ||
32 | expected_endlines.remove(el) | ||
33 | break | ||
34 | else: | ||
35 | self.fail('Unexpected line:\n%s\nExpected line endings:\n %s' % (line, '\n '.join(expected_endlines))) | ||
36 | if expected_endlines: | ||
37 | self.fail('Missing expected line endings:\n %s' % '\n '.join(expected_endlines)) | ||
38 | |||
39 | @unittest.skipUnless(importlib.util.find_spec("cairo"), "Python cairo module is not present") | 15 | @unittest.skipUnless(importlib.util.find_spec("cairo"), "Python cairo module is not present") |
40 | class OEPybootchartguyTests(OESelftestTestCase): | 16 | class OEPybootchartguyTests(OESelftestTestCase): |
41 | 17 | ||
diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py index 36557f270f..2a91f6c7ae 100644 --- a/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/meta/lib/oeqa/selftest/cases/recipetool.py | |||
@@ -385,7 +385,7 @@ class RecipetoolCreateTests(RecipetoolBase): | |||
385 | checkvars = {} | 385 | checkvars = {} |
386 | checkvars['LICENSE'] = 'LGPL-2.1-only' | 386 | checkvars['LICENSE'] = 'LGPL-2.1-only' |
387 | checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34' | 387 | checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34' |
388 | checkvars['S'] = '${WORKDIR}/git' | 388 | checkvars['S'] = None |
389 | checkvars['PV'] = '1.11+git' | 389 | checkvars['PV'] = '1.11+git' |
390 | checkvars['SRC_URI'] = srcuri + ';branch=master' | 390 | checkvars['SRC_URI'] = srcuri + ';branch=master' |
391 | checkvars['DEPENDS'] = set(['libcheck', 'libjpeg-turbo', 'libpng', 'libx11', 'libxext', 'pango']) | 391 | checkvars['DEPENDS'] = set(['libcheck', 'libjpeg-turbo', 'libpng', 'libx11', 'libxext', 'pango']) |
@@ -1144,10 +1144,10 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): | |||
1144 | 1144 | ||
1145 | def test_recipetool_appendsrcfile_srcdir_basic(self): | 1145 | def test_recipetool_appendsrcfile_srcdir_basic(self): |
1146 | testrecipe = 'bash' | 1146 | testrecipe = 'bash' |
1147 | bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe) | 1147 | bb_vars = get_bb_vars(['S', 'UNPACKDIR'], testrecipe) |
1148 | srcdir = bb_vars['S'] | 1148 | srcdir = bb_vars['S'] |
1149 | workdir = bb_vars['WORKDIR'] | 1149 | unpackdir = bb_vars['UNPACKDIR'] |
1150 | subdir = os.path.relpath(srcdir, workdir) | 1150 | subdir = os.path.relpath(srcdir, unpackdir) |
1151 | self._test_appendsrcfile(testrecipe, 'a-file', srcdir=subdir) | 1151 | self._test_appendsrcfile(testrecipe, 'a-file', srcdir=subdir) |
1152 | 1152 | ||
1153 | def test_recipetool_appendsrcfile_existing_in_src_uri(self): | 1153 | def test_recipetool_appendsrcfile_existing_in_src_uri(self): |
@@ -1196,10 +1196,10 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): | |||
1196 | def test_recipetool_appendsrcfile_replace_file_srcdir(self): | 1196 | def test_recipetool_appendsrcfile_replace_file_srcdir(self): |
1197 | testrecipe = 'bash' | 1197 | testrecipe = 'bash' |
1198 | filepath = 'Makefile.in' | 1198 | filepath = 'Makefile.in' |
1199 | bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe) | 1199 | bb_vars = get_bb_vars(['S', 'UNPACKDIR'], testrecipe) |
1200 | srcdir = bb_vars['S'] | 1200 | srcdir = bb_vars['S'] |
1201 | workdir = bb_vars['WORKDIR'] | 1201 | unpackdir = bb_vars['UNPACKDIR'] |
1202 | subdir = os.path.relpath(srcdir, workdir) | 1202 | subdir = os.path.relpath(srcdir, unpackdir) |
1203 | 1203 | ||
1204 | self._test_appendsrcfile(testrecipe, filepath, srcdir=subdir) | 1204 | self._test_appendsrcfile(testrecipe, filepath, srcdir=subdir) |
1205 | bitbake('%s:do_unpack' % testrecipe) | 1205 | bitbake('%s:do_unpack' % testrecipe) |
diff --git a/meta/lib/oeqa/selftest/cases/recipeutils.py b/meta/lib/oeqa/selftest/cases/recipeutils.py index 9949737172..e697fd2920 100644 --- a/meta/lib/oeqa/selftest/cases/recipeutils.py +++ b/meta/lib/oeqa/selftest/cases/recipeutils.py | |||
@@ -72,7 +72,7 @@ class RecipeUtilsTests(OESelftestTestCase): | |||
72 | expected_patch = """ | 72 | expected_patch = """ |
73 | --- a/recipes-test/recipeutils/recipeutils-test_1.2.bb | 73 | --- a/recipes-test/recipeutils/recipeutils-test_1.2.bb |
74 | +++ b/recipes-test/recipeutils/recipeutils-test_1.2.bb | 74 | +++ b/recipes-test/recipeutils/recipeutils-test_1.2.bb |
75 | @@ -11,6 +11,4 @@ | 75 | @@ -10,6 +10,4 @@ |
76 | 76 | ||
77 | BBCLASSEXTEND = "native nativesdk" | 77 | BBCLASSEXTEND = "native nativesdk" |
78 | 78 | ||
@@ -97,7 +97,7 @@ class RecipeUtilsTests(OESelftestTestCase): | |||
97 | expected_patch = """ | 97 | expected_patch = """ |
98 | --- a/recipes-test/recipeutils/recipeutils-test_1.2.bb | 98 | --- a/recipes-test/recipeutils/recipeutils-test_1.2.bb |
99 | +++ b/recipes-test/recipeutils/recipeutils-test_1.2.bb | 99 | +++ b/recipes-test/recipeutils/recipeutils-test_1.2.bb |
100 | @@ -11,6 +11,3 @@ | 100 | @@ -10,6 +10,3 @@ |
101 | 101 | ||
102 | BBCLASSEXTEND = "native nativesdk" | 102 | BBCLASSEXTEND = "native nativesdk" |
103 | 103 | ||
diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py index 487995acc3..08f94b168a 100644 --- a/meta/lib/oeqa/selftest/cases/sstatetests.py +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py | |||
@@ -27,17 +27,15 @@ class SStateBase(OESelftestTestCase): | |||
27 | def setUpLocal(self): | 27 | def setUpLocal(self): |
28 | super(SStateBase, self).setUpLocal() | 28 | super(SStateBase, self).setUpLocal() |
29 | self.temp_sstate_location = None | 29 | self.temp_sstate_location = None |
30 | needed_vars = ['SSTATE_DIR', 'NATIVELSBSTRING', 'TCLIBC', 'TUNE_ARCH', | 30 | needed_vars = ['SSTATE_DIR', 'TCLIBC', 'TUNE_ARCH', |
31 | 'TOPDIR', 'TARGET_VENDOR', 'TARGET_OS'] | 31 | 'TOPDIR', 'TARGET_VENDOR', 'TARGET_OS'] |
32 | bb_vars = get_bb_vars(needed_vars) | 32 | bb_vars = get_bb_vars(needed_vars) |
33 | self.sstate_path = bb_vars['SSTATE_DIR'] | 33 | self.sstate_path = bb_vars['SSTATE_DIR'] |
34 | self.hostdistro = bb_vars['NATIVELSBSTRING'] | ||
35 | self.tclibc = bb_vars['TCLIBC'] | 34 | self.tclibc = bb_vars['TCLIBC'] |
36 | self.tune_arch = bb_vars['TUNE_ARCH'] | 35 | self.tune_arch = bb_vars['TUNE_ARCH'] |
37 | self.topdir = bb_vars['TOPDIR'] | 36 | self.topdir = bb_vars['TOPDIR'] |
38 | self.target_vendor = bb_vars['TARGET_VENDOR'] | 37 | self.target_vendor = bb_vars['TARGET_VENDOR'] |
39 | self.target_os = bb_vars['TARGET_OS'] | 38 | self.target_os = bb_vars['TARGET_OS'] |
40 | self.distro_specific_sstate = os.path.join(self.sstate_path, self.hostdistro) | ||
41 | 39 | ||
42 | def track_for_cleanup(self, path): | 40 | def track_for_cleanup(self, path): |
43 | if not keep_temp_files: | 41 | if not keep_temp_files: |
@@ -52,10 +50,7 @@ class SStateBase(OESelftestTestCase): | |||
52 | config_temp_sstate = "SSTATE_DIR = \"%s\"" % temp_sstate_path | 50 | config_temp_sstate = "SSTATE_DIR = \"%s\"" % temp_sstate_path |
53 | self.append_config(config_temp_sstate) | 51 | self.append_config(config_temp_sstate) |
54 | self.track_for_cleanup(temp_sstate_path) | 52 | self.track_for_cleanup(temp_sstate_path) |
55 | bb_vars = get_bb_vars(['SSTATE_DIR', 'NATIVELSBSTRING']) | 53 | self.sstate_path = get_bb_var('SSTATE_DIR') |
56 | self.sstate_path = bb_vars['SSTATE_DIR'] | ||
57 | self.hostdistro = bb_vars['NATIVELSBSTRING'] | ||
58 | self.distro_specific_sstate = os.path.join(self.sstate_path, self.hostdistro) | ||
59 | 54 | ||
60 | if add_local_mirrors: | 55 | if add_local_mirrors: |
61 | config_set_sstate_if_not_set = 'SSTATE_MIRRORS ?= ""' | 56 | config_set_sstate_if_not_set = 'SSTATE_MIRRORS ?= ""' |
@@ -65,8 +60,16 @@ class SStateBase(OESelftestTestCase): | |||
65 | config_sstate_mirror = "SSTATE_MIRRORS += \"file://.* file:///%s/PATH\"" % local_mirror | 60 | config_sstate_mirror = "SSTATE_MIRRORS += \"file://.* file:///%s/PATH\"" % local_mirror |
66 | self.append_config(config_sstate_mirror) | 61 | self.append_config(config_sstate_mirror) |
67 | 62 | ||
63 | def set_hostdistro(self): | ||
64 | # This needs to be read after a BuildStarted event in case it gets changed by event | ||
65 | # handling in uninative.bbclass | ||
66 | self.hostdistro = get_bb_var('NATIVELSBSTRING') | ||
67 | self.distro_specific_sstate = os.path.join(self.sstate_path, self.hostdistro) | ||
68 | |||
68 | # Returns a list containing sstate files | 69 | # Returns a list containing sstate files |
69 | def search_sstate(self, filename_regex, distro_specific=True, distro_nonspecific=True): | 70 | def search_sstate(self, filename_regex, distro_specific=True, distro_nonspecific=True): |
71 | self.set_hostdistro() | ||
72 | |||
70 | result = [] | 73 | result = [] |
71 | for root, dirs, files in os.walk(self.sstate_path): | 74 | for root, dirs, files in os.walk(self.sstate_path): |
72 | if distro_specific and re.search(r"%s/%s/[a-z0-9]{2}/[a-z0-9]{2}$" % (self.sstate_path, self.hostdistro), root): | 75 | if distro_specific and re.search(r"%s/%s/[a-z0-9]{2}/[a-z0-9]{2}$" % (self.sstate_path, self.hostdistro), root): |
@@ -80,55 +83,43 @@ class SStateBase(OESelftestTestCase): | |||
80 | return result | 83 | return result |
81 | 84 | ||
82 | # Test sstate files creation and their location and directory perms | 85 | # Test sstate files creation and their location and directory perms |
83 | def run_test_sstate_creation(self, targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True, should_pass=True): | 86 | def run_test_sstate_creation(self, targets, hostdistro_specific): |
84 | self.config_sstate(temp_sstate_location, [self.sstate_path]) | 87 | self.config_sstate(True, [self.sstate_path]) |
88 | |||
89 | bitbake(['-cclean'] + targets) | ||
85 | 90 | ||
86 | if self.temp_sstate_location: | ||
87 | bitbake(['-cclean'] + targets) | ||
88 | else: | ||
89 | bitbake(['-ccleansstate'] + targets) | ||
90 | |||
91 | # We need to test that the env umask have does not effect sstate directory creation | ||
92 | # So, first, we'll get the current umask and set it to something we know incorrect | ||
93 | # See: sstate_task_postfunc for correct umask of os.umask(0o002) | ||
94 | import os | ||
95 | def current_umask(): | ||
96 | current_umask = os.umask(0) | ||
97 | os.umask(current_umask) | ||
98 | return current_umask | ||
99 | |||
100 | orig_umask = current_umask() | ||
101 | # Set it to a umask we know will be 'wrong' | 91 | # Set it to a umask we know will be 'wrong' |
102 | os.umask(0o022) | 92 | with bb.utils.umask(0o022): |
93 | bitbake(targets) | ||
103 | 94 | ||
104 | bitbake(targets) | 95 | # Distro specific files |
105 | file_tracker = [] | 96 | distro_specific_files = self.search_sstate('|'.join(map(str, targets)), True, False) |
106 | results = self.search_sstate('|'.join(map(str, targets)), distro_specific, distro_nonspecific) | 97 | |
107 | if distro_nonspecific: | 98 | # Distro non-specific |
108 | for r in results: | 99 | distro_non_specific_files = [] |
109 | if r.endswith(("_populate_lic.tar.zst", "_populate_lic.tar.zst.siginfo", "_fetch.tar.zst.siginfo", "_unpack.tar.zst.siginfo", "_patch.tar.zst.siginfo")): | 100 | results = self.search_sstate('|'.join(map(str, targets)), False, True) |
110 | continue | 101 | for r in results: |
111 | file_tracker.append(r) | 102 | if r.endswith(("_populate_lic.tar.zst", "_populate_lic.tar.zst.siginfo", "_fetch.tar.zst.siginfo", "_unpack.tar.zst.siginfo", "_patch.tar.zst.siginfo")): |
112 | else: | 103 | continue |
113 | file_tracker = results | 104 | distro_non_specific_files.append(r) |
114 | 105 | ||
115 | if should_pass: | 106 | if hostdistro_specific: |
116 | self.assertTrue(file_tracker , msg="Could not find sstate files for: %s" % ', '.join(map(str, targets))) | 107 | self.assertTrue(distro_specific_files , msg="Could not find sstate files for: %s" % ', '.join(map(str, targets))) |
108 | self.assertFalse(distro_non_specific_files, msg="Found sstate files in the wrong place for: %s (found %s)" % (', '.join(map(str, targets)), str(distro_non_specific_files))) | ||
117 | else: | 109 | else: |
118 | self.assertTrue(not file_tracker , msg="Found sstate files in the wrong place for: %s (found %s)" % (', '.join(map(str, targets)), str(file_tracker))) | 110 | self.assertTrue(distro_non_specific_files , msg="Could not find sstate files for: %s" % ', '.join(map(str, targets))) |
111 | self.assertFalse(distro_specific_files, msg="Found sstate files in the wrong place for: %s (found %s)" % (', '.join(map(str, targets)), str(distro_specific_files))) | ||
119 | 112 | ||
120 | # Now we'll walk the tree to check the mode and see if things are incorrect. | 113 | # Now we'll walk the tree to check the mode and see if things are incorrect. |
121 | badperms = [] | 114 | badperms = [] |
122 | for root, dirs, files in os.walk(self.sstate_path): | 115 | for root, dirs, files in os.walk(self.sstate_path): |
123 | for directory in dirs: | 116 | for directory in dirs: |
124 | if (os.stat(os.path.join(root, directory)).st_mode & 0o777) != 0o775: | 117 | mode = os.stat(os.path.join(root, directory)).st_mode & 0o777 |
125 | badperms.append(os.path.join(root, directory)) | 118 | if mode != 0o775: |
126 | 119 | badperms.append("%s: %s vs %s" % (os.path.join(root, directory), mode, 0o775)) | |
127 | # Return to original umask | ||
128 | os.umask(orig_umask) | ||
129 | 120 | ||
130 | if should_pass: | 121 | # Check badperms is empty |
131 | self.assertTrue(badperms , msg="Found sstate directories with the wrong permissions: %s (found %s)" % (', '.join(map(str, targets)), str(badperms))) | 122 | self.assertFalse(badperms , msg="Found sstate directories with the wrong permissions: %s (found %s)" % (', '.join(map(str, targets)), str(badperms))) |
132 | 123 | ||
133 | # Test the sstate files deletion part of the do_cleansstate task | 124 | # Test the sstate files deletion part of the do_cleansstate task |
134 | def run_test_cleansstate_task(self, targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True): | 125 | def run_test_cleansstate_task(self, targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True): |
@@ -153,6 +144,8 @@ class SStateBase(OESelftestTestCase): | |||
153 | 144 | ||
154 | bitbake(['-ccleansstate'] + targets) | 145 | bitbake(['-ccleansstate'] + targets) |
155 | 146 | ||
147 | self.set_hostdistro() | ||
148 | |||
156 | bitbake(targets) | 149 | bitbake(targets) |
157 | results = self.search_sstate('|'.join(map(str, [s + r'.*?\.tar.zst$' for s in targets])), distro_specific=False, distro_nonspecific=True) | 150 | results = self.search_sstate('|'.join(map(str, [s + r'.*?\.tar.zst$' for s in targets])), distro_specific=False, distro_nonspecific=True) |
158 | filtered_results = [] | 151 | filtered_results = [] |
@@ -251,17 +244,11 @@ class SStateTests(SStateBase): | |||
251 | bitbake("dbus-wait-test -c unpack") | 244 | bitbake("dbus-wait-test -c unpack") |
252 | 245 | ||
253 | class SStateCreation(SStateBase): | 246 | class SStateCreation(SStateBase): |
254 | def test_sstate_creation_distro_specific_pass(self): | 247 | def test_sstate_creation_distro_specific(self): |
255 | self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True) | 248 | self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], hostdistro_specific=True) |
256 | |||
257 | def test_sstate_creation_distro_specific_fail(self): | ||
258 | self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True, should_pass=False) | ||
259 | |||
260 | def test_sstate_creation_distro_nonspecific_pass(self): | ||
261 | self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True) | ||
262 | 249 | ||
263 | def test_sstate_creation_distro_nonspecific_fail(self): | 250 | def test_sstate_creation_distro_nonspecific(self): |
264 | self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True, should_pass=False) | 251 | self.run_test_sstate_creation(['linux-libc-headers'], hostdistro_specific=False) |
265 | 252 | ||
266 | class SStateCleanup(SStateBase): | 253 | class SStateCleanup(SStateBase): |
267 | def test_cleansstate_task_distro_specific_nonspecific(self): | 254 | def test_cleansstate_task_distro_specific_nonspecific(self): |
diff --git a/meta/lib/oeqa/selftest/cases/toolchain.py b/meta/lib/oeqa/selftest/cases/toolchain.py new file mode 100644 index 0000000000..b4b280d037 --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/toolchain.py | |||
@@ -0,0 +1,71 @@ | |||
1 | # | ||
2 | # Copyright OpenEmbedded Contributors | ||
3 | # | ||
4 | # SPDX-License-Identifier: MIT | ||
5 | # | ||
6 | |||
7 | import shutil | ||
8 | import subprocess | ||
9 | import tempfile | ||
10 | from types import SimpleNamespace | ||
11 | |||
12 | import oe.path | ||
13 | from oeqa.selftest.case import OESelftestTestCase | ||
14 | from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars | ||
15 | |||
16 | class ToolchainTests(OESelftestTestCase): | ||
17 | |||
18 | def test_toolchain_switching(self): | ||
19 | """ | ||
20 | Test that a configuration that uses GCC by default but clang for one | ||
21 | specific recipe does infact do that. | ||
22 | """ | ||
23 | |||
24 | def extract_comment(objcopy, filename): | ||
25 | """ | ||
26 | Using the specified `objcopy`, return the .comment segment from | ||
27 | `filename` as a bytes(). | ||
28 | """ | ||
29 | with tempfile.NamedTemporaryFile(prefix="comment-") as f: | ||
30 | cmd = [objcopy, "--dump-section", ".comment=" + f.name, filename] | ||
31 | subprocess.run(cmd, check=True) | ||
32 | # clang's objcopy writes to a temporary file and renames, so we need to re-open. | ||
33 | with open(f.name, "rb") as f2: | ||
34 | return f2.read() | ||
35 | |||
36 | def check_recipe(recipe, filename, override, comment_present, comment_absent=None): | ||
37 | """ | ||
38 | Check that `filename` in `recipe`'s bindir contains `comment`, and | ||
39 | the overrides contain `override`. | ||
40 | """ | ||
41 | d = SimpleNamespace(**get_bb_vars(("D", "bindir", "OBJCOPY", "OVERRIDES", "PATH"), target=recipe)) | ||
42 | |||
43 | self.assertIn(override, d.OVERRIDES) | ||
44 | |||
45 | binary = oe.path.join(d.D, d.bindir, filename) | ||
46 | |||
47 | objcopy = shutil.which(d.OBJCOPY, path=d.PATH) | ||
48 | self.assertIsNotNone(objcopy) | ||
49 | |||
50 | comment = extract_comment(objcopy, binary) | ||
51 | self.assertIn(comment_present, comment) | ||
52 | if comment_absent: | ||
53 | self.assertNotIn(comment_absent, comment) | ||
54 | |||
55 | |||
56 | # GCC by default, clang for selftest-hello. | ||
57 | self.write_config(""" | ||
58 | TOOLCHAIN = "gcc" | ||
59 | TOOLCHAIN:pn-selftest-hello = "clang" | ||
60 | """) | ||
61 | |||
62 | # Force these recipes to re-install so we can extract the .comments from | ||
63 | # the install directory, as they're stripped out of the final packages. | ||
64 | bitbake("m4 selftest-hello -C install") | ||
65 | |||
66 | # m4 should be built with GCC and only GCC | ||
67 | check_recipe("m4", "m4", "toolchain-gcc", b"GCC: (GNU)", b"clang") | ||
68 | |||
69 | # helloworld should be built with clang. We can't assert that GCC is not | ||
70 | # present as it will be linked against glibc which is built with GCC. | ||
71 | check_recipe("selftest-hello", "helloworld", "toolchain-clang", b"clang version") | ||
diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index f45608172f..680f99d381 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py | |||
@@ -1021,6 +1021,18 @@ class Wic2(WicTestCase): | |||
1021 | """Test building wic images by bitbake""" | 1021 | """Test building wic images by bitbake""" |
1022 | config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "wic-image-minimal"\n'\ | 1022 | config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "wic-image-minimal"\n'\ |
1023 | 'MACHINE_FEATURES:append = " efi"\n' | 1023 | 'MACHINE_FEATURES:append = " efi"\n' |
1024 | image_recipe_append = """ | ||
1025 | do_image_wic[postfuncs] += "run_wic_cmd" | ||
1026 | run_wic_cmd() { | ||
1027 | echo "test" >> ${WORKDIR}/test.wic-cp | ||
1028 | wic cp --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" ${WORKDIR}/test.wic-cp ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic:1/ | ||
1029 | wic ls --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic:1/ | ||
1030 | wic rm --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic:1/test.wic-cp | ||
1031 | wic cp --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" ${WORKDIR}/test.wic-cp ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic:1/ | ||
1032 | } | ||
1033 | """ | ||
1034 | self.write_recipeinc('images', image_recipe_append) | ||
1035 | |||
1024 | self.append_config(config) | 1036 | self.append_config(config) |
1025 | image = 'wic-image-minimal' | 1037 | image = 'wic-image-minimal' |
1026 | bitbake(image) | 1038 | bitbake(image) |
@@ -1029,6 +1041,11 @@ class Wic2(WicTestCase): | |||
1029 | bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) | 1041 | bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image) |
1030 | prefix = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], '%s.' % bb_vars['IMAGE_LINK_NAME']) | 1042 | prefix = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], '%s.' % bb_vars['IMAGE_LINK_NAME']) |
1031 | 1043 | ||
1044 | sysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools') | ||
1045 | # check if file is there | ||
1046 | result = runCmd("wic ls %s:1/ -n %s" % (prefix+"wic", sysroot)) | ||
1047 | self.assertIn("test.wic-cp", result.output) | ||
1048 | |||
1032 | # check if we have result image and manifests symlinks | 1049 | # check if we have result image and manifests symlinks |
1033 | # pointing to existing files | 1050 | # pointing to existing files |
1034 | for suffix in ('wic', 'manifest'): | 1051 | for suffix in ('wic', 'manifest'): |
@@ -1044,7 +1061,25 @@ class Wic2(WicTestCase): | |||
1044 | config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "wic-image-minimal"\n'\ | 1061 | config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "wic-image-minimal"\n'\ |
1045 | 'MACHINE_FEATURES:append = " efi"\n' | 1062 | 'MACHINE_FEATURES:append = " efi"\n' |
1046 | self.append_config(config) | 1063 | self.append_config(config) |
1064 | image_recipe_append = """ | ||
1065 | do_image_wic[postfuncs] += "run_wic_cmd" | ||
1066 | run_wic_cmd() { | ||
1067 | echo "test" >> ${WORKDIR}/test.wic-cp | ||
1068 | wic cp --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" ${WORKDIR}/test.wic-cp ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic:1/ | ||
1069 | wic ls --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic:1/ | ||
1070 | wic rm --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic:1/test.wic-cp | ||
1071 | wic cp --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" ${WORKDIR}/test.wic-cp ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic:1/ | ||
1072 | } | ||
1073 | """ | ||
1074 | self.write_recipeinc('images', image_recipe_append) | ||
1047 | bitbake('wic-image-minimal') | 1075 | bitbake('wic-image-minimal') |
1076 | |||
1077 | sysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools') | ||
1078 | bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], "wic-image-minimal") | ||
1079 | image_path = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], bb_vars['IMAGE_LINK_NAME']) | ||
1080 | # check if file is there | ||
1081 | result = runCmd("wic ls %s:1/ -n %s" % (image_path+".wic", sysroot)) | ||
1082 | self.assertIn("test.wic-cp", result.output) | ||
1048 | self.remove_config(config) | 1083 | self.remove_config(config) |
1049 | 1084 | ||
1050 | runqemu_params = get_bb_var('TEST_RUNQEMUPARAMS', 'wic-image-minimal') or "" | 1085 | runqemu_params = get_bb_var('TEST_RUNQEMUPARAMS', 'wic-image-minimal') or "" |
diff --git a/meta/lib/oeqa/utils/commands.py b/meta/lib/oeqa/utils/commands.py index 2a47f90e32..b60a6e6c38 100644 --- a/meta/lib/oeqa/utils/commands.py +++ b/meta/lib/oeqa/utils/commands.py | |||
@@ -285,7 +285,20 @@ def get_bb_vars(variables=None, target=None, postconfig=None): | |||
285 | return values | 285 | return values |
286 | 286 | ||
287 | def get_bb_var(var, target=None, postconfig=None): | 287 | def get_bb_var(var, target=None, postconfig=None): |
288 | return get_bb_vars([var], target, postconfig)[var] | 288 | if postconfig: |
289 | return bitbake("-e %s" % target or "", postconfig=postconfig).output | ||
290 | else: | ||
291 | # Fast-path for the non-postconfig case | ||
292 | cmd = ["bitbake-getvar", "--quiet", "--value", var] | ||
293 | if target: | ||
294 | cmd.extend(["--recipe", target]) | ||
295 | try: | ||
296 | return subprocess.run(cmd, check=True, text=True, stdout=subprocess.PIPE).stdout.strip() | ||
297 | except subprocess.CalledProcessError as e: | ||
298 | # We need to return None not the empty string if the variable hasn't been set. | ||
299 | if e.returncode == 1: | ||
300 | return None | ||
301 | raise | ||
289 | 302 | ||
290 | def get_test_layer(bblayers=None): | 303 | def get_test_layer(bblayers=None): |
291 | if bblayers is None: | 304 | if bblayers is None: |
diff --git a/meta/recipes-bsp/alsa-state/alsa-state.bb b/meta/recipes-bsp/alsa-state/alsa-state.bb index 099fbd3b9d..9452a1a4ce 100644 --- a/meta/recipes-bsp/alsa-state/alsa-state.bb +++ b/meta/recipes-bsp/alsa-state/alsa-state.bb | |||
@@ -21,8 +21,7 @@ SRC_URI = "\ | |||
21 | file://alsa-state-init \ | 21 | file://alsa-state-init \ |
22 | " | 22 | " |
23 | 23 | ||
24 | S = "${WORKDIR}/sources" | 24 | S = "${UNPACKDIR}" |
25 | UNPACKDIR = "${S}" | ||
26 | 25 | ||
27 | # As the recipe doesn't inherit systemd.bbclass, we need to set this variable | 26 | # As the recipe doesn't inherit systemd.bbclass, we need to set this variable |
28 | # manually to avoid unnecessary postinst/preinst generated. | 27 | # manually to avoid unnecessary postinst/preinst generated. |
diff --git a/meta/recipes-bsp/barebox/barebox-common.inc b/meta/recipes-bsp/barebox/barebox-common.inc index d6ea1eedfe..67bc964188 100644 --- a/meta/recipes-bsp/barebox/barebox-common.inc +++ b/meta/recipes-bsp/barebox/barebox-common.inc | |||
@@ -3,6 +3,6 @@ SECTION = "bootloaders" | |||
3 | 3 | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=f5125d13e000b9ca1f0d3364286c4192" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=f5125d13e000b9ca1f0d3364286c4192" |
5 | 5 | ||
6 | PV = "2025.04.0" | 6 | PV = "2025.06.0" |
7 | SRC_URI = "https://barebox.org/download/barebox-${PV}.tar.bz2" | 7 | SRC_URI = "https://barebox.org/download/barebox-${PV}.tar.bz2" |
8 | SRC_URI[sha256sum] = "3124f3c2b69d9ce0512b2d40fa17cace9c356f65f005a63da0474387b8839c41" | 8 | SRC_URI[sha256sum] = "d05bc1f85dc1d95b0b6b6a52cac0a469148fbb8f1edb0d352c3ca3b632426941" |
diff --git a/meta/recipes-bsp/barebox/barebox-tools.bb b/meta/recipes-bsp/barebox/barebox-tools.bb index 2a117bc9c0..e519796c1d 100644 --- a/meta/recipes-bsp/barebox/barebox-tools.bb +++ b/meta/recipes-bsp/barebox/barebox-tools.bb | |||
@@ -6,7 +6,7 @@ LICENSE = "GPL-2.0-only" | |||
6 | 6 | ||
7 | DEPENDS = "bison-native flex-native libusb1" | 7 | DEPENDS = "bison-native flex-native libusb1" |
8 | 8 | ||
9 | S = "${WORKDIR}/barebox-${PV}" | 9 | S = "${UNPACKDIR}/barebox-${PV}" |
10 | B = "${WORKDIR}/build" | 10 | B = "${WORKDIR}/build" |
11 | 11 | ||
12 | inherit pkgconfig | 12 | inherit pkgconfig |
diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb b/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb index fbd2f5dbc8..6f4178216b 100644 --- a/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb +++ b/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb | |||
@@ -13,8 +13,6 @@ COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" | |||
13 | SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https;branch=main" | 13 | SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https;branch=main" |
14 | SRCREV = "c3f9f0534e32158f62c43564036878b93b9e0fd6" | 14 | SRCREV = "c3f9f0534e32158f62c43564036878b93b9e0fd6" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit pkgconfig | 16 | inherit pkgconfig |
19 | 17 | ||
20 | # The directory under the ESP that the default bootloader is found in. When | 18 | # The directory under the ESP that the default bootloader is found in. When |
diff --git a/meta/recipes-bsp/efivar/efivar_39.bb b/meta/recipes-bsp/efivar/efivar_39.bb index b052e3838f..fb6b6b3821 100644 --- a/meta/recipes-bsp/efivar/efivar_39.bb +++ b/meta/recipes-bsp/efivar/efivar_39.bb | |||
@@ -12,8 +12,6 @@ SRC_URI = "git://github.com/rhinstaller/efivar.git;branch=main;protocol=https \ | |||
12 | " | 12 | " |
13 | SRCREV = "c47820c37ac26286559ec004de07d48d05f3308c" | 13 | SRCREV = "c47820c37ac26286559ec004de07d48d05f3308c" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit pkgconfig | 15 | inherit pkgconfig |
18 | 16 | ||
19 | export CCLD_FOR_BUILD = "${BUILD_CCLD}" | 17 | export CCLD_FOR_BUILD = "${BUILD_CCLD}" |
diff --git a/meta/recipes-bsp/formfactor/formfactor_0.0.bb b/meta/recipes-bsp/formfactor/formfactor_0.0.bb index 4714bb2e5e..f8d5613ffa 100644 --- a/meta/recipes-bsp/formfactor/formfactor_0.0.bb +++ b/meta/recipes-bsp/formfactor/formfactor_0.0.bb | |||
@@ -8,8 +8,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
8 | 8 | ||
9 | SRC_URI = "file://config file://machconfig" | 9 | SRC_URI = "file://config file://machconfig" |
10 | 10 | ||
11 | S = "${WORKDIR}/sources" | 11 | S = "${UNPACKDIR}" |
12 | UNPACKDIR = "${S}" | ||
13 | 12 | ||
14 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 13 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
15 | INHIBIT_DEFAULT_DEPS = "1" | 14 | INHIBIT_DEFAULT_DEPS = "1" |
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.1.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.1.bb index c93e06b96c..10a4ab6800 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.1.bb +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.1.bb | |||
@@ -20,8 +20,6 @@ SRC_URI = "git://github.com/ncroxon/gnu-efi;protocol=https;branch=master \ | |||
20 | " | 20 | " |
21 | SRCREV = "00cdfa66e923ab2f6683bb52cab0d0d1a9083b16" | 21 | SRCREV = "00cdfa66e923ab2f6683bb52cab0d0d1a9083b16" |
22 | 22 | ||
23 | S = "${WORKDIR}/git" | ||
24 | |||
25 | # llvm-objcopy fails | 23 | # llvm-objcopy fails |
26 | # arm-poky-linux-gnueabi-llvm-objcopy: error: 't8.so': section '.dynstr' cannot be removed because it is referenced by the section '.dynamic' | 24 | # arm-poky-linux-gnueabi-llvm-objcopy: error: 't8.so': section '.dynstr' cannot be removed because it is referenced by the section '.dynamic' |
27 | OBJCOPY:toolchain-clang = "${HOST_PREFIX}objcopy" | 25 | OBJCOPY:toolchain-clang = "${HOST_PREFIX}objcopy" |
diff --git a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb index a004e3a3b2..0b4005e5bf 100644 --- a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb +++ b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb | |||
@@ -11,8 +11,7 @@ inherit grub-efi-cfg | |||
11 | 11 | ||
12 | require conf/image-uefi.conf | 12 | require conf/image-uefi.conf |
13 | 13 | ||
14 | S = "${WORKDIR}/sources" | 14 | S = "${UNPACKDIR}" |
15 | UNPACKDIR = "${S}" | ||
16 | 15 | ||
17 | GRUB_CFG = "${S}/grub-bootconf" | 16 | GRUB_CFG = "${S}/grub-bootconf" |
18 | LABELS = "boot" | 17 | LABELS = "boot" |
diff --git a/meta/recipes-bsp/grub/grub-efi_2.12.bb b/meta/recipes-bsp/grub/grub-efi_2.12.bb index 5b435245ee..6354b43989 100644 --- a/meta/recipes-bsp/grub/grub-efi_2.12.bb +++ b/meta/recipes-bsp/grub/grub-efi_2.12.bb | |||
@@ -11,7 +11,7 @@ SRC_URI += " \ | |||
11 | file://cfg \ | 11 | file://cfg \ |
12 | " | 12 | " |
13 | 13 | ||
14 | S = "${WORKDIR}/grub-${PV}" | 14 | S = "${UNPACKDIR}/grub-${PV}" |
15 | 15 | ||
16 | # Determine the target arch for the grub modules | 16 | # Determine the target arch for the grub modules |
17 | python __anonymous () { | 17 | python __anonymous () { |
diff --git a/meta/recipes-bsp/keymaps/keymaps_1.0.bb b/meta/recipes-bsp/keymaps/keymaps_1.0.bb index 0425197c98..ab2d68d6a1 100644 --- a/meta/recipes-bsp/keymaps/keymaps_1.0.bb +++ b/meta/recipes-bsp/keymaps/keymaps_1.0.bb | |||
@@ -24,8 +24,7 @@ SRC_URI = "file://keymap.sh" | |||
24 | INITSCRIPT_NAME = "keymap.sh" | 24 | INITSCRIPT_NAME = "keymap.sh" |
25 | INITSCRIPT_PARAMS = "start 01 S ." | 25 | INITSCRIPT_PARAMS = "start 01 S ." |
26 | 26 | ||
27 | S = "${WORKDIR}/sources" | 27 | S = "${UNPACKDIR}" |
28 | UNPACKDIR = "${S}" | ||
29 | 28 | ||
30 | do_install () { | 29 | do_install () { |
31 | # Only install the script if 'sysvinit' is in DISTRO_FEATURES | 30 | # Only install the script if 'sysvinit' is in DISTRO_FEATURES |
diff --git a/meta/recipes-bsp/opensbi/opensbi_1.6.bb b/meta/recipes-bsp/opensbi/opensbi_1.6.bb index c9dfcfbe4f..308ac43ac8 100644 --- a/meta/recipes-bsp/opensbi/opensbi_1.6.bb +++ b/meta/recipes-bsp/opensbi/opensbi_1.6.bb | |||
@@ -12,7 +12,6 @@ SRCREV = "bd613dd92113f683052acfb23d9dc8ba60029e0a" | |||
12 | SRC_URI = "git://github.com/riscv/opensbi.git;branch=master;protocol=https \ | 12 | SRC_URI = "git://github.com/riscv/opensbi.git;branch=master;protocol=https \ |
13 | file://0001-Makefile-Add-flag-for-reprodubility-compiler-flags.patch \ | 13 | file://0001-Makefile-Add-flag-for-reprodubility-compiler-flags.patch \ |
14 | " | 14 | " |
15 | S = "${WORKDIR}/git" | ||
16 | 15 | ||
17 | TARGET_DBGSRC_DIR = "/share/opensbi/*/generic/firmware/" | 16 | TARGET_DBGSRC_DIR = "/share/opensbi/*/generic/firmware/" |
18 | 17 | ||
diff --git a/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb b/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb index b252ae45d2..8756511c17 100644 --- a/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb +++ b/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb | |||
@@ -6,7 +6,6 @@ LICENSE = "GPL-2.0-only" | |||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ |
7 | file://src/pm-pmu.c;beginline=1;endline=22;md5=3c1ddbc54e735fb4a0386e14c78a3147" | 7 | file://src/pm-pmu.c;beginline=1;endline=22;md5=3c1ddbc54e735fb4a0386e14c78a3147" |
8 | 8 | ||
9 | |||
10 | SRC_URI = "http://pm-utils.freedesktop.org/releases/pm-utils-${PV}.tar.gz" | 9 | SRC_URI = "http://pm-utils.freedesktop.org/releases/pm-utils-${PV}.tar.gz" |
11 | 10 | ||
12 | SRC_URI[sha256sum] = "8ed899032866d88b2933a1d34cc75e8ae42dcde20e1cc21836baaae3d4370c0b" | 11 | SRC_URI[sha256sum] = "8ed899032866d88b2933a1d34cc75e8ae42dcde20e1cc21836baaae3d4370c0b" |
diff --git a/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb b/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb index 8c7a59ba96..35678e2361 100644 --- a/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb +++ b/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb | |||
@@ -13,8 +13,6 @@ SECTION = "libs" | |||
13 | SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https;branch=master" | 13 | SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https;branch=master" |
14 | SRCREV = "5507339628b5caf244e1ff9d58cb3fa534b16beb" | 14 | SRCREV = "5507339628b5caf244e1ff9d58cb3fa534b16beb" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit cmake lib_package | 16 | inherit cmake lib_package |
19 | 17 | ||
20 | EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release" | 18 | EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release" |
diff --git a/meta/recipes-bsp/u-boot/u-boot-common.inc b/meta/recipes-bsp/u-boot/u-boot-common.inc index fd1eab5cdd..617f5a60bb 100644 --- a/meta/recipes-bsp/u-boot/u-boot-common.inc +++ b/meta/recipes-bsp/u-boot/u-boot-common.inc | |||
@@ -16,7 +16,6 @@ SRCREV = "34820924edbc4ec7803eb89d9852f4b870fa760a" | |||
16 | 16 | ||
17 | SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}" | 17 | SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | B = "${WORKDIR}/build" | 19 | B = "${WORKDIR}/build" |
21 | 20 | ||
22 | inherit pkgconfig | 21 | inherit pkgconfig |
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc index 9464736b84..b7242de5de 100644 --- a/meta/recipes-bsp/u-boot/u-boot.inc +++ b/meta/recipes-bsp/u-boot/u-boot.inc | |||
@@ -192,16 +192,16 @@ uboot_install_config () { | |||
192 | config=$1 | 192 | config=$1 |
193 | type=$2 | 193 | type=$2 |
194 | 194 | ||
195 | install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} | 195 | install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} |
196 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} | 196 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} |
197 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY} | 197 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY} |
198 | 198 | ||
199 | # Install the uboot-initial-env | 199 | # Install the uboot-initial-env |
200 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then | 200 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then |
201 | install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} | 201 | install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} |
202 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type} | 202 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type} |
203 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${type} | 203 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${type} |
204 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV} | 204 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV} |
205 | fi | 205 | fi |
206 | } | 206 | } |
207 | 207 | ||
@@ -211,9 +211,9 @@ uboot_install () { | |||
211 | 211 | ||
212 | # Install the uboot-initial-env | 212 | # Install the uboot-initial-env |
213 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then | 213 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then |
214 | install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} | 214 | install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} |
215 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE} | 215 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE} |
216 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV} | 216 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV} |
217 | fi | 217 | fi |
218 | } | 218 | } |
219 | 219 | ||
@@ -221,9 +221,9 @@ uboot_install_elf_config () { | |||
221 | config=$1 | 221 | config=$1 |
222 | type=$2 | 222 | type=$2 |
223 | 223 | ||
224 | install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} | 224 | install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} |
225 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} | 225 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} |
226 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY} | 226 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY} |
227 | } | 227 | } |
228 | 228 | ||
229 | uboot_install_elf () { | 229 | uboot_install_elf () { |
@@ -235,9 +235,9 @@ uboot_install_spl_config () { | |||
235 | config=$1 | 235 | config=$1 |
236 | type=$2 | 236 | type=$2 |
237 | 237 | ||
238 | install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} | 238 | install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} |
239 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE}-${type} | 239 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE}-${type} |
240 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE} | 240 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE} |
241 | } | 241 | } |
242 | 242 | ||
243 | uboot_install_spl () { | 243 | uboot_install_spl () { |
@@ -282,10 +282,10 @@ do_deploy () { | |||
282 | fi | 282 | fi |
283 | 283 | ||
284 | if [ -e ${UNPACKDIR}/fw_env.config ] ; then | 284 | if [ -e ${UNPACKDIR}/fw_env.config ] ; then |
285 | install -D -m 644 ${UNPACKDIR}/fw_env.config ${DEPLOYDIR}/fw_env.config-${MACHINE}-${PV}-${PR} | 285 | install -D -m 644 ${UNPACKDIR}/fw_env.config ${DEPLOYDIR}/fw_env.config-${MACHINE}-${UBOOT_VERSION} |
286 | cd ${DEPLOYDIR} | 286 | cd ${DEPLOYDIR} |
287 | ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config-${MACHINE} | 287 | ln -sf fw_env.config-${MACHINE}-${UBOOT_VERSION} fw_env.config-${MACHINE} |
288 | ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config | 288 | ln -sf fw_env.config-${MACHINE}-${UBOOT_VERSION} fw_env.config |
289 | fi | 289 | fi |
290 | 290 | ||
291 | if [ -n "${UBOOT_ELF}" ] | 291 | if [ -n "${UBOOT_ELF}" ] |
@@ -309,7 +309,6 @@ do_deploy () { | |||
309 | fi | 309 | fi |
310 | fi | 310 | fi |
311 | 311 | ||
312 | |||
313 | if [ -n "${SPL_BINARY}" ] | 312 | if [ -n "${SPL_BINARY}" ] |
314 | then | 313 | then |
315 | if [ -n "${UBOOT_CONFIG}" ] | 314 | if [ -n "${UBOOT_CONFIG}" ] |
@@ -355,19 +354,19 @@ uboot_deploy_config () { | |||
355 | config=$1 | 354 | config=$1 |
356 | type=$2 | 355 | type=$2 |
357 | 356 | ||
358 | install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} | 357 | install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} |
359 | cd ${DEPLOYDIR} | 358 | cd ${DEPLOYDIR} |
360 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type} | 359 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type} |
361 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK} | 360 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK} |
362 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type} | 361 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type} |
363 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY} | 362 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_BINARY} |
364 | 363 | ||
365 | # Deploy the uboot-initial-env | 364 | # Deploy the uboot-initial-env |
366 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then | 365 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then |
367 | install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} | 366 | install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} |
368 | cd ${DEPLOYDIR} | 367 | cd ${DEPLOYDIR} |
369 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE}-${type} | 368 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV}-${MACHINE}-${type} |
370 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${type} | 369 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV}-${type} |
371 | fi | 370 | fi |
372 | } | 371 | } |
373 | 372 | ||
@@ -381,10 +380,10 @@ uboot_deploy () { | |||
381 | 380 | ||
382 | # Deploy the uboot-initial-env | 381 | # Deploy the uboot-initial-env |
383 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then | 382 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then |
384 | install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} | 383 | install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} |
385 | cd ${DEPLOYDIR} | 384 | cd ${DEPLOYDIR} |
386 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE} | 385 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV}-${MACHINE} |
387 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV} | 386 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV} |
388 | fi | 387 | fi |
389 | } | 388 | } |
390 | 389 | ||
@@ -392,11 +391,11 @@ uboot_deploy_elf_config () { | |||
392 | config=$1 | 391 | config=$1 |
393 | type=$2 | 392 | type=$2 |
394 | 393 | ||
395 | install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} | 394 | install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} |
396 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type} | 395 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type} |
397 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY} | 396 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY} |
398 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type} | 397 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type} |
399 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK} | 398 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK} |
400 | } | 399 | } |
401 | 400 | ||
402 | uboot_deploy_elf () { | 401 | uboot_deploy_elf () { |
@@ -409,12 +408,12 @@ uboot_deploy_spl_config () { | |||
409 | config=$1 | 408 | config=$1 |
410 | type=$2 | 409 | type=$2 |
411 | 410 | ||
412 | install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} | 411 | install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} |
413 | rm -f ${DEPLOYDIR}/${SPL_BINARYFILE} ${DEPLOYDIR}/${SPL_SYMLINK} | 412 | rm -f ${DEPLOYDIR}/${SPL_BINARYFILE} ${DEPLOYDIR}/${SPL_SYMLINK} |
414 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE}-${type} | 413 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE}-${type} |
415 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE} | 414 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE} |
416 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK}-${type} | 415 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK}-${type} |
417 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK} | 416 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK} |
418 | } | 417 | } |
419 | 418 | ||
420 | uboot_deploy_spl () { | 419 | uboot_deploy_spl () { |
diff --git a/meta/recipes-connectivity/avahi/avahi-libnss-mdns_0.15.1.bb b/meta/recipes-connectivity/avahi/avahi-libnss-mdns_0.15.1.bb index 9b8275b113..d45c06357d 100644 --- a/meta/recipes-connectivity/avahi/avahi-libnss-mdns_0.15.1.bb +++ b/meta/recipes-connectivity/avahi/avahi-libnss-mdns_0.15.1.bb | |||
@@ -13,8 +13,6 @@ SRC_URI = "git://github.com/lathiat/nss-mdns;branch=master;protocol=https \ | |||
13 | 13 | ||
14 | SRCREV = "4b3cfe818bf72d99a02b8ca8b8813cb2d6b40633" | 14 | SRCREV = "4b3cfe818bf72d99a02b8ca8b8813cb2d6b40633" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit autotools pkgconfig | 16 | inherit autotools pkgconfig |
19 | 17 | ||
20 | COMPATIBLE_HOST:libc-musl = 'null' | 18 | COMPATIBLE_HOST:libc-musl = 'null' |
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index 7bae968094..287ebf658e 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc | |||
@@ -69,7 +69,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ | |||
69 | file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \ | 69 | file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \ |
70 | file://0001-bluez5-disable-aics-tests.patch \ | 70 | file://0001-bluez5-disable-aics-tests.patch \ |
71 | " | 71 | " |
72 | S = "${WORKDIR}/bluez-${PV}" | 72 | S = "${UNPACKDIR}/bluez-${PV}" |
73 | 73 | ||
74 | CVE_PRODUCT = "bluez" | 74 | CVE_PRODUCT = "bluez" |
75 | 75 | ||
diff --git a/meta/recipes-connectivity/connman/connman-conf.bb b/meta/recipes-connectivity/connman/connman-conf.bb index 73c54cddae..854e1f1f29 100644 --- a/meta/recipes-connectivity/connman/connman-conf.bb +++ b/meta/recipes-connectivity/connman/connman-conf.bb | |||
@@ -4,12 +4,10 @@ network interface inside qemu machines." | |||
4 | LICENSE = "GPL-2.0-only" | 4 | LICENSE = "GPL-2.0-only" |
5 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" | 5 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" |
6 | 6 | ||
7 | |||
8 | SRC_URI = "file://main.conf \ | 7 | SRC_URI = "file://main.conf \ |
9 | " | 8 | " |
10 | 9 | ||
11 | S = "${WORKDIR}/sources" | 10 | S = "${UNPACKDIR}" |
12 | UNPACKDIR = "${S}" | ||
13 | 11 | ||
14 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 12 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
15 | 13 | ||
diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb index 46b3f854c5..8bfc1540b3 100644 --- a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb +++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb | |||
@@ -18,8 +18,6 @@ SRC_URI = "git://github.com/connectivity/connman-gnome.git;branch=master;protoco | |||
18 | file://0001-Port-to-Gtk3.patch \ | 18 | file://0001-Port-to-Gtk3.patch \ |
19 | " | 19 | " |
20 | 20 | ||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | inherit autotools-brokensep gtk-icon-cache pkgconfig features_check | 21 | inherit autotools-brokensep gtk-icon-cache pkgconfig features_check |
24 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" | 22 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" |
25 | 23 | ||
diff --git a/meta/recipes-connectivity/dhcpcd/dhcpcd_10.2.4.bb b/meta/recipes-connectivity/dhcpcd/dhcpcd_10.2.4.bb index dee921d21c..bfb24aa58c 100644 --- a/meta/recipes-connectivity/dhcpcd/dhcpcd_10.2.4.bb +++ b/meta/recipes-connectivity/dhcpcd/dhcpcd_10.2.4.bb | |||
@@ -18,7 +18,6 @@ SRC_URI = "git://github.com/NetworkConfiguration/dhcpcd;protocol=https;branch=ma | |||
18 | " | 18 | " |
19 | 19 | ||
20 | SRCREV = "93df2b254caf9639f9ffb66e0fe2b584eeba6220" | 20 | SRCREV = "93df2b254caf9639f9ffb66e0fe2b584eeba6220" |
21 | S = "${WORKDIR}/git" | ||
22 | 21 | ||
23 | # Doesn't use automake so we can't do out-of-tree builds | 22 | # Doesn't use automake so we can't do out-of-tree builds |
24 | inherit pkgconfig autotools-brokensep systemd useradd | 23 | inherit pkgconfig autotools-brokensep systemd useradd |
diff --git a/meta/recipes-connectivity/inetutils/inetutils_2.6.bb b/meta/recipes-connectivity/inetutils/inetutils_2.6.bb index ef453d3bb2..6e03195f2d 100644 --- a/meta/recipes-connectivity/inetutils/inetutils_2.6.bb +++ b/meta/recipes-connectivity/inetutils/inetutils_2.6.bb | |||
@@ -165,7 +165,6 @@ ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping" | |||
165 | ALTERNATIVE:${PN}-ping6 = "${@bb.utils.filter('PACKAGECONFIG', 'ping6', d)}" | 165 | ALTERNATIVE:${PN}-ping6 = "${@bb.utils.filter('PACKAGECONFIG', 'ping6', d)}" |
166 | ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6" | 166 | ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6" |
167 | 167 | ||
168 | |||
169 | FILES:${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug" | 168 | FILES:${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug" |
170 | FILES:${PN}-ping = "${base_bindir}/ping.${BPN}" | 169 | FILES:${PN}-ping = "${base_bindir}/ping.${BPN}" |
171 | FILES:${PN}-ping6 = "${base_bindir}/ping6.${BPN}" | 170 | FILES:${PN}-ping6 = "${base_bindir}/ping6.${BPN}" |
diff --git a/meta/recipes-connectivity/libuv/libuv_1.51.0.bb b/meta/recipes-connectivity/libuv/libuv_1.51.0.bb index 569bff1439..9ff9cf35e2 100644 --- a/meta/recipes-connectivity/libuv/libuv_1.51.0.bb +++ b/meta/recipes-connectivity/libuv/libuv_1.51.0.bb | |||
@@ -10,8 +10,6 @@ SRCREV = "5152db2cbfeb5582e9c27c5ea1dba2cd9e10759b" | |||
10 | SRC_URI = "git://github.com/libuv/libuv.git;branch=v1.x;protocol=https;tag=v${PV}" | 10 | SRC_URI = "git://github.com/libuv/libuv.git;branch=v1.x;protocol=https;tag=v${PV}" |
11 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | 11 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" |
12 | 12 | ||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | inherit autotools | 13 | inherit autotools |
16 | 14 | ||
17 | do_configure() { | 15 | do_configure() { |
diff --git a/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_20240407.bb b/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_20240407.bb index e07b93d695..2e8702a045 100644 --- a/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_20240407.bb +++ b/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_20240407.bb | |||
@@ -10,8 +10,6 @@ PE = "1" | |||
10 | SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https;branch=main" | 10 | SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https;branch=main" |
11 | SRCREV = "55ba955d53305df96123534488fd160ea882b4dd" | 11 | SRCREV = "55ba955d53305df96123534488fd160ea882b4dd" |
12 | 12 | ||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | inherit meson | 13 | inherit meson |
16 | 14 | ||
17 | DEPENDS += "libxslt-native" | 15 | DEPENDS += "libxslt-native" |
diff --git a/meta/recipes-connectivity/neard/neard_0.19.bb b/meta/recipes-connectivity/neard/neard_0.19.bb index 9e0ac6aa69..41c7e55f44 100644 --- a/meta/recipes-connectivity/neard/neard_0.19.bb +++ b/meta/recipes-connectivity/neard/neard_0.19.bb | |||
@@ -17,8 +17,6 @@ SRC_URI = "git://git.kernel.org/pub/scm/network/nfc/neard.git;protocol=https;bra | |||
17 | 17 | ||
18 | SRCREV = "a1dc8a75cba999728e154a0f811ab9dd50c809f7" | 18 | SRCREV = "a1dc8a75cba999728e154a0f811ab9dd50c809f7" |
19 | 19 | ||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | inherit autotools pkgconfig systemd update-rc.d | 20 | inherit autotools pkgconfig systemd update-rc.d |
23 | 21 | ||
24 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" | 22 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" |
diff --git a/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb index 0ee47d47c2..5c9c8219d7 100644 --- a/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb +++ b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb | |||
@@ -11,8 +11,7 @@ SRC_URI = "file://host-peer \ | |||
11 | 11 | ||
12 | inherit allarch useradd | 12 | inherit allarch useradd |
13 | 13 | ||
14 | S = "${WORKDIR}/sources" | 14 | S = "${UNPACKDIR}" |
15 | UNPACKDIR = "${S}" | ||
16 | 15 | ||
17 | do_install() { | 16 | do_install() { |
18 | install -d ${D}${sysconfdir}/ppp/peers | 17 | install -d ${D}${sysconfdir}/ppp/peers |
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.93.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.93.bb index 93e5a944d1..c10c57267a 100644 --- a/meta/recipes-connectivity/resolvconf/resolvconf_1.93.bb +++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.93.bb | |||
@@ -17,8 +17,6 @@ SRC_URI = "git://salsa.debian.org/debian/resolvconf.git;protocol=https;branch=un | |||
17 | 17 | ||
18 | SRCREV = "ab766fa31f7939f6d879123236b4275320b7ff64" | 18 | SRCREV = "ab766fa31f7939f6d879123236b4275320b7ff64" |
19 | 19 | ||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | # the package is taken from snapshots.debian.org; that source is static and goes stale | 20 | # the package is taken from snapshots.debian.org; that source is static and goes stale |
23 | # so we check the latest upstream from a directory that does get updated | 21 | # so we check the latest upstream from a directory that does get updated |
24 | UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/" | 22 | UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/" |
diff --git a/meta/recipes-connectivity/slirp/libslirp_4.9.1.bb b/meta/recipes-connectivity/slirp/libslirp_4.9.1.bb index 568bac389f..9f7005d709 100644 --- a/meta/recipes-connectivity/slirp/libslirp_4.9.1.bb +++ b/meta/recipes-connectivity/slirp/libslirp_4.9.1.bb | |||
@@ -7,8 +7,6 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bca0186b14e6b05e338e729f106db727" | |||
7 | SRC_URI = "git://gitlab.freedesktop.org/slirp/libslirp.git;protocol=https;branch=master" | 7 | SRC_URI = "git://gitlab.freedesktop.org/slirp/libslirp.git;protocol=https;branch=master" |
8 | SRCREV = "9c744e1e52aa0d9646ed91d789d588696292c21e" | 8 | SRCREV = "9c744e1e52aa0d9646ed91d789d588696292c21e" |
9 | 9 | ||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | DEPENDS = "glib-2.0" | 10 | DEPENDS = "glib-2.0" |
13 | 11 | ||
14 | inherit meson pkgconfig | 12 | inherit meson pkgconfig |
diff --git a/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb b/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb index db5a0eb8ce..57b0534929 100644 --- a/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb +++ b/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb | |||
@@ -6,8 +6,7 @@ SRC_URI = "file://dropbear_rsa_host_key \ | |||
6 | LICENSE = "MIT" | 6 | LICENSE = "MIT" |
7 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" | 7 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | 9 | S = "${UNPACKDIR}" |
10 | UNPACKDIR = "${S}" | ||
11 | 10 | ||
12 | INHIBIT_DEFAULT_DEPS = "1" | 11 | INHIBIT_DEFAULT_DEPS = "1" |
13 | 12 | ||
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.11.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.11.bb index ac99d0db49..6dc76494f7 100644 --- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.11.bb +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.11.bb | |||
@@ -19,7 +19,7 @@ SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \ | |||
19 | " | 19 | " |
20 | SRC_URI[sha256sum] = "912ea06f74e30a8e36fbb68064d6cdff218d8d591db0fc5d75dee6c81ac7fc0a" | 20 | SRC_URI[sha256sum] = "912ea06f74e30a8e36fbb68064d6cdff218d8d591db0fc5d75dee6c81ac7fc0a" |
21 | 21 | ||
22 | S = "${WORKDIR}/wpa_supplicant-${PV}" | 22 | S = "${UNPACKDIR}/wpa_supplicant-${PV}" |
23 | 23 | ||
24 | inherit pkgconfig systemd | 24 | inherit pkgconfig systemd |
25 | 25 | ||
diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb index 59b084d141..3f01bb35d9 100644 --- a/meta/recipes-core/base-files/base-files_3.0.14.bb +++ b/meta/recipes-core/base-files/base-files_3.0.14.bb | |||
@@ -25,8 +25,7 @@ SRC_URI = "file://rotation \ | |||
25 | file://licenses/GPL-2 \ | 25 | file://licenses/GPL-2 \ |
26 | " | 26 | " |
27 | 27 | ||
28 | S = "${WORKDIR}/sources" | 28 | S = "${UNPACKDIR}" |
29 | UNPACKDIR = "${S}" | ||
30 | 29 | ||
31 | INHIBIT_DEFAULT_DEPS = "1" | 30 | INHIBIT_DEFAULT_DEPS = "1" |
32 | 31 | ||
diff --git a/meta/recipes-core/base-passwd/base-passwd_3.6.7.bb b/meta/recipes-core/base-passwd/base-passwd_3.6.7.bb index 3d5247ee87..177927d674 100644 --- a/meta/recipes-core/base-passwd/base-passwd_3.6.7.bb +++ b/meta/recipes-core/base-passwd/base-passwd_3.6.7.bb | |||
@@ -21,7 +21,7 @@ SRC_URI[sha256sum] = "cf869870fed7862b57bfa9e99cd5cd6f365e2349705a1b65af7fc18262 | |||
21 | # so we check the latest upstream from a directory that does get updated | 21 | # so we check the latest upstream from a directory that does get updated |
22 | UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/" | 22 | UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/" |
23 | 23 | ||
24 | S = "${WORKDIR}/work" | 24 | S = "${UNPACKDIR}/work" |
25 | 25 | ||
26 | PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" | 26 | PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" |
27 | PACKAGECONFIG[selinux] = "--enable-selinux, --disable-selinux, libselinux" | 27 | PACKAGECONFIG[selinux] = "--enable-selinux, --disable-selinux, libselinux" |
diff --git a/meta/recipes-core/busybox/busybox-inittab_1.37.0.bb b/meta/recipes-core/busybox/busybox-inittab_1.37.0.bb index 4ffc44c808..8b46b5763e 100644 --- a/meta/recipes-core/busybox/busybox-inittab_1.37.0.bb +++ b/meta/recipes-core/busybox/busybox-inittab_1.37.0.bb | |||
@@ -4,8 +4,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;m | |||
4 | 4 | ||
5 | SRC_URI = "file://inittab" | 5 | SRC_URI = "file://inittab" |
6 | 6 | ||
7 | S = "${WORKDIR}/sources" | 7 | S = "${UNPACKDIR}" |
8 | UNPACKDIR = "${S}" | ||
9 | 8 | ||
10 | INHIBIT_DEFAULT_DEPS = "1" | 9 | INHIBIT_DEFAULT_DEPS = "1" |
11 | 10 | ||
@@ -49,7 +48,6 @@ EOF | |||
49 | 48 | ||
50 | } | 49 | } |
51 | 50 | ||
52 | |||
53 | # SERIAL_CONSOLES is generally defined by the MACHINE .conf. | 51 | # SERIAL_CONSOLES is generally defined by the MACHINE .conf. |
54 | # Set PACKAGE_ARCH appropriately. | 52 | # Set PACKAGE_ARCH appropriately. |
55 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 53 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
diff --git a/meta/recipes-core/coreutils/coreutils/0001-sort-fix-buffer-under-read-CWE-127.patch b/meta/recipes-core/coreutils/coreutils/0001-sort-fix-buffer-under-read-CWE-127.patch new file mode 100644 index 0000000000..41be1635b5 --- /dev/null +++ b/meta/recipes-core/coreutils/coreutils/0001-sort-fix-buffer-under-read-CWE-127.patch | |||
@@ -0,0 +1,112 @@ | |||
1 | From 8763c305c29d0abb7e2be4695212b42917d054b2 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com> | ||
3 | Date: Tue, 20 May 2025 16:03:44 +0100 | ||
4 | Subject: [PATCH] sort: fix buffer under-read (CWE-127) | ||
5 | |||
6 | * src/sort.c (begfield): Check pointer adjustment | ||
7 | to avoid Out-of-range pointer offset (CWE-823). | ||
8 | (limfield): Likewise. | ||
9 | * tests/sort/sort-field-limit.sh: Add a new test, | ||
10 | which triggers with ASAN or Valgrind. | ||
11 | * tests/local.mk: Reference the new test. | ||
12 | * NEWS: Mention bug fix introduced in v7.2 (2009). | ||
13 | Fixes https://bugs.gnu.org/78507 | ||
14 | |||
15 | CVE: CVE-2025-5278 | ||
16 | |||
17 | Upstream-Status: Backport [https://cgit.git.savannah.gnu.org/cgit/coreutils.git/commit/?id=8c9602e3a145e9596dc1a63c6ed67865814b6633] | ||
18 | |||
19 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
20 | --- | ||
21 | src/sort.c | 12 ++++++++++-- | ||
22 | tests/local.mk | 1 + | ||
23 | tests/sort/sort-field-limit.sh | 35 ++++++++++++++++++++++++++++++++++ | ||
24 | 3 files changed, 46 insertions(+), 2 deletions(-) | ||
25 | create mode 100755 tests/sort/sort-field-limit.sh | ||
26 | |||
27 | diff --git a/src/sort.c b/src/sort.c | ||
28 | index b10183b6f..7af1a2512 100644 | ||
29 | --- a/src/sort.c | ||
30 | +++ b/src/sort.c | ||
31 | @@ -1644,7 +1644,11 @@ begfield (struct line const *line, struct keyfield const *key) | ||
32 | ++ptr; | ||
33 | |||
34 | /* Advance PTR by SCHAR (if possible), but no further than LIM. */ | ||
35 | - ptr = MIN (lim, ptr + schar); | ||
36 | + size_t remaining_bytes = lim - ptr; | ||
37 | + if (schar < remaining_bytes) | ||
38 | + ptr += schar; | ||
39 | + else | ||
40 | + ptr = lim; | ||
41 | |||
42 | return ptr; | ||
43 | } | ||
44 | @@ -1746,7 +1750,11 @@ limfield (struct line const *line, struct keyfield const *key) | ||
45 | ++ptr; | ||
46 | |||
47 | /* Advance PTR by ECHAR (if possible), but no further than LIM. */ | ||
48 | - ptr = MIN (lim, ptr + echar); | ||
49 | + size_t remaining_bytes = lim - ptr; | ||
50 | + if (echar < remaining_bytes) | ||
51 | + ptr += echar; | ||
52 | + else | ||
53 | + ptr = lim; | ||
54 | } | ||
55 | |||
56 | return ptr; | ||
57 | diff --git a/tests/local.mk b/tests/local.mk | ||
58 | index 4da6756ac..642d225fa 100644 | ||
59 | --- a/tests/local.mk | ||
60 | +++ b/tests/local.mk | ||
61 | @@ -388,6 +388,7 @@ all_tests = \ | ||
62 | tests/sort/sort-debug-keys.sh \ | ||
63 | tests/sort/sort-debug-warn.sh \ | ||
64 | tests/sort/sort-discrim.sh \ | ||
65 | + tests/sort/sort-field-limit.sh \ | ||
66 | tests/sort/sort-files0-from.pl \ | ||
67 | tests/sort/sort-float.sh \ | ||
68 | tests/sort/sort-h-thousands-sep.sh \ | ||
69 | diff --git a/tests/sort/sort-field-limit.sh b/tests/sort/sort-field-limit.sh | ||
70 | new file mode 100755 | ||
71 | index 000000000..52d8e1d17 | ||
72 | --- /dev/null | ||
73 | +++ b/tests/sort/sort-field-limit.sh | ||
74 | @@ -0,0 +1,35 @@ | ||
75 | +#!/bin/sh | ||
76 | +# From 7.2-9.7, this would trigger an out of bounds mem read | ||
77 | + | ||
78 | +# Copyright (C) 2025 Free Software Foundation, Inc. | ||
79 | + | ||
80 | +# This program is free software: you can redistribute it and/or modify | ||
81 | +# it under the terms of the GNU General Public License as published by | ||
82 | +# the Free Software Foundation, either version 3 of the License, or | ||
83 | +# (at your option) any later version. | ||
84 | + | ||
85 | +# This program is distributed in the hope that it will be useful, | ||
86 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
87 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
88 | +# GNU General Public License for more details. | ||
89 | + | ||
90 | +# You should have received a copy of the GNU General Public License | ||
91 | +# along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
92 | + | ||
93 | +. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src | ||
94 | +print_ver_ sort | ||
95 | +getlimits_ | ||
96 | + | ||
97 | +# This issue triggers with valgrind or ASAN | ||
98 | +valgrind --error-exitcode=1 sort --version 2>/dev/null && | ||
99 | + VALGRIND='valgrind --error-exitcode=1' | ||
100 | + | ||
101 | +{ printf '%s\n' aa bb; } > in || framework_failure_ | ||
102 | + | ||
103 | +_POSIX2_VERSION=200809 $VALGRIND sort +0.${SIZE_MAX}R in > out || fail=1 | ||
104 | +compare in out || fail=1 | ||
105 | + | ||
106 | +_POSIX2_VERSION=200809 $VALGRIND sort +1 -1.${SIZE_MAX}R in > out || fail=1 | ||
107 | +compare in out || fail=1 | ||
108 | + | ||
109 | +Exit $fail | ||
110 | -- | ||
111 | 2.34.1 | ||
112 | |||
diff --git a/meta/recipes-core/coreutils/coreutils_9.7.bb b/meta/recipes-core/coreutils/coreutils_9.7.bb index dc9dfae26b..5a6456d65e 100644 --- a/meta/recipes-core/coreutils/coreutils_9.7.bb +++ b/meta/recipes-core/coreutils/coreutils_9.7.bb | |||
@@ -15,6 +15,7 @@ inherit autotools gettext texinfo | |||
15 | 15 | ||
16 | SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ | 16 | SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ |
17 | file://remove-usr-local-lib-from-m4.patch \ | 17 | file://remove-usr-local-lib-from-m4.patch \ |
18 | file://0001-sort-fix-buffer-under-read-CWE-127.patch \ | ||
18 | file://run-ptest \ | 19 | file://run-ptest \ |
19 | " | 20 | " |
20 | SRC_URI[sha256sum] = "e8bb26ad0293f9b5a1fc43fb42ba970e312c66ce92c1b0b16713d7500db251bf" | 21 | SRC_URI[sha256sum] = "e8bb26ad0293f9b5a1fc43fb42ba970e312c66ce92c1b0b16713d7500db251bf" |
diff --git a/meta/recipes-core/dbus-wait/dbus-wait_git.bb b/meta/recipes-core/dbus-wait/dbus-wait_git.bb index 39363b9b3a..c6a9abde63 100644 --- a/meta/recipes-core/dbus-wait/dbus-wait_git.bb +++ b/meta/recipes-core/dbus-wait/dbus-wait_git.bb | |||
@@ -13,6 +13,4 @@ PV = "0.1+git" | |||
13 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https" | 13 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https" |
14 | UPSTREAM_CHECK_COMMITS = "1" | 14 | UPSTREAM_CHECK_COMMITS = "1" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit autotools pkgconfig | 16 | inherit autotools pkgconfig |
diff --git a/meta/recipes-core/dbus/dbus_1.16.2.bb b/meta/recipes-core/dbus/dbus_1.16.2.bb index caff4c079b..65f7028b4f 100644 --- a/meta/recipes-core/dbus/dbus_1.16.2.bb +++ b/meta/recipes-core/dbus/dbus_1.16.2.bb | |||
@@ -148,7 +148,6 @@ do_install:append:class-target() { | |||
148 | ln -fs ../dbus.service ${D}${systemd_system_unitdir}/multi-user.target.wants/dbus.service | 148 | ln -fs ../dbus.service ${D}${systemd_system_unitdir}/multi-user.target.wants/dbus.service |
149 | fi | 149 | fi |
150 | 150 | ||
151 | |||
152 | mkdir -p ${D}${localstatedir}/lib/dbus | 151 | mkdir -p ${D}${localstatedir}/lib/dbus |
153 | 152 | ||
154 | chown messagebus:messagebus ${D}${localstatedir}/lib/dbus | 153 | chown messagebus:messagebus ${D}${localstatedir}/lib/dbus |
diff --git a/meta/recipes-core/dropbear/dropbear_2025.88.bb b/meta/recipes-core/dropbear/dropbear_2025.88.bb index f203763b17..72a886d907 100644 --- a/meta/recipes-core/dropbear/dropbear_2025.88.bb +++ b/meta/recipes-core/dropbear/dropbear_2025.88.bb | |||
@@ -48,10 +48,10 @@ SBINCOMMANDS = "dropbear dropbearkey dropbearconvert" | |||
48 | BINCOMMANDS = "dbclient ssh scp" | 48 | BINCOMMANDS = "dbclient ssh scp" |
49 | EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"' | 49 | EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"' |
50 | 50 | ||
51 | PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" | 51 | PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam x11', d)}" |
52 | PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam,${PAM_PLUGINS}" | 52 | PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam,${PAM_PLUGINS}" |
53 | PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt" | 53 | PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt" |
54 | PACKAGECONFIG[enable-x11-forwarding] = "" | 54 | PACKAGECONFIG[x11] = ",,,,xauth" |
55 | 55 | ||
56 | # This option appends to CFLAGS and LDFLAGS from OE | 56 | # This option appends to CFLAGS and LDFLAGS from OE |
57 | # This is causing [textrel] QA warning | 57 | # This is causing [textrel] QA warning |
@@ -62,7 +62,7 @@ EXTRA_OECONF:append:libc-musl = " --disable-wtmp --disable-lastlog" | |||
62 | 62 | ||
63 | do_configure:append() { | 63 | do_configure:append() { |
64 | echo "/* Dropbear features */" > ${B}/localoptions.h | 64 | echo "/* Dropbear features */" > ${B}/localoptions.h |
65 | if ${@bb.utils.contains('PACKAGECONFIG', 'enable-x11-forwarding', 'true', 'false', d)}; then | 65 | if ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'true', 'false', d)}; then |
66 | echo "#define DROPBEAR_X11FWD 1" >> ${B}/localoptions.h | 66 | echo "#define DROPBEAR_X11FWD 1" >> ${B}/localoptions.h |
67 | fi | 67 | fi |
68 | } | 68 | } |
diff --git a/meta/recipes-core/fts/fts_1.2.7.bb b/meta/recipes-core/fts/fts_1.2.7.bb index 10103830af..699dc5ddd3 100644 --- a/meta/recipes-core/fts/fts_1.2.7.bb +++ b/meta/recipes-core/fts/fts_1.2.7.bb | |||
@@ -12,8 +12,6 @@ SRCREV = "0bde52df588e8969879a2cae51c3a4774ec62472" | |||
12 | 12 | ||
13 | SRC_URI = "git://github.com/pullmoll/musl-fts.git;branch=master;protocol=https" | 13 | SRC_URI = "git://github.com/pullmoll/musl-fts.git;branch=master;protocol=https" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit autotools pkgconfig | 15 | inherit autotools pkgconfig |
18 | # | 16 | # |
19 | # We will skip parsing for non-musl systems | 17 | # We will skip parsing for non-musl systems |
diff --git a/meta/recipes-core/gettext/gettext-minimal-native_0.23.1.bb b/meta/recipes-core/gettext/gettext-minimal-native_0.23.1.bb index e443b6b34f..941896ec48 100644 --- a/meta/recipes-core/gettext/gettext-minimal-native_0.23.1.bb +++ b/meta/recipes-core/gettext/gettext-minimal-native_0.23.1.bb | |||
@@ -17,7 +17,7 @@ LIC_FILES_CHKSUM = "file://${UNPACKDIR}/COPYING;md5=4bd090a20bfcd1a18f1f79837b5e | |||
17 | 17 | ||
18 | inherit native | 18 | inherit native |
19 | 19 | ||
20 | S = "${WORKDIR}/gettext-${PV}" | 20 | S = "${UNPACKDIR}/gettext-${PV}" |
21 | 21 | ||
22 | python get_aclocal_files() { | 22 | python get_aclocal_files() { |
23 | fpath = oe.path.join(d.getVar("S"), "/gettext-tools/m4/Makefile.am") | 23 | fpath = oe.path.join(d.getVar("S"), "/gettext-tools/m4/Makefile.am") |
diff --git a/meta/recipes-core/gettext/gettext_0.23.1.bb b/meta/recipes-core/gettext/gettext_0.23.1.bb index cbc3e48890..c704a3b6d7 100644 --- a/meta/recipes-core/gettext/gettext_0.23.1.bb +++ b/meta/recipes-core/gettext/gettext_0.23.1.bb | |||
@@ -13,7 +13,6 @@ LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', | |||
13 | # without glib in PACKAGECONFIG vendor copy of the lib will be used | 13 | # without glib in PACKAGECONFIG vendor copy of the lib will be used |
14 | LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'glib', '', 'file://libtextstyle/lib/glib/ghash.c;md5=e3159f5ac38dfe77af5cc0ee104dab2d;beginline=10;endline=27', d)}" | 14 | LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'glib', '', 'file://libtextstyle/lib/glib/ghash.c;md5=e3159f5ac38dfe77af5cc0ee104dab2d;beginline=10;endline=27', d)}" |
15 | 15 | ||
16 | |||
17 | DEPENDS = "gettext-native virtual/libiconv" | 16 | DEPENDS = "gettext-native virtual/libiconv" |
18 | DEPENDS:class-native = "gettext-minimal-native" | 17 | DEPENDS:class-native = "gettext-minimal-native" |
19 | PROVIDES = "virtual/libintl virtual/gettext" | 18 | PROVIDES = "virtual/libintl virtual/gettext" |
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index 38e75aab61..ba7763c841 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc | |||
@@ -30,7 +30,7 @@ LEAD_SONAME = "libglib-2.0.*" | |||
30 | 30 | ||
31 | inherit meson gettext gi-docgen pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data | 31 | inherit meson gettext gi-docgen pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data |
32 | 32 | ||
33 | S = "${WORKDIR}/glib-${PV}" | 33 | S = "${UNPACKDIR}/glib-${PV}" |
34 | 34 | ||
35 | GIDOCGEN_MESON_OPTION = "documentation" | 35 | GIDOCGEN_MESON_OPTION = "documentation" |
36 | 36 | ||
diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.41.bb b/meta/recipes-core/glibc/cross-localedef-native_2.41.bb index 5aeb84ac80..95acb3fc56 100644 --- a/meta/recipes-core/glibc/cross-localedef-native_2.41.bb +++ b/meta/recipes-core/glibc/cross-localedef-native_2.41.bb | |||
@@ -20,7 +20,7 @@ inherit native | |||
20 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" | 20 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" |
21 | 21 | ||
22 | SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ | 22 | SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ |
23 | git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef;protocol=https \ | 23 | git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/localedef;protocol=https \ |
24 | \ | 24 | \ |
25 | file://0001-localedef-Add-hardlink-resolver-from-util-linux.patch \ | 25 | file://0001-localedef-Add-hardlink-resolver-from-util-linux.patch \ |
26 | file://0002-localedef-fix-ups-hardlink-to-make-it-compile.patch \ | 26 | file://0002-localedef-fix-ups-hardlink-to-make-it-compile.patch \ |
@@ -37,8 +37,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ | |||
37 | # | 37 | # |
38 | SRCREV_FORMAT = "glibc_localedef" | 38 | SRCREV_FORMAT = "glibc_localedef" |
39 | 39 | ||
40 | S = "${WORKDIR}/git" | ||
41 | |||
42 | EXTRA_OECONF = "--with-glibc=${S}" | 40 | EXTRA_OECONF = "--with-glibc=${S}" |
43 | 41 | ||
44 | # We do not need bash to run tzselect script, the default is to use | 42 | # We do not need bash to run tzselect script, the default is to use |
diff --git a/meta/recipes-core/glibc/glibc-version.inc b/meta/recipes-core/glibc/glibc-version.inc index d84106fb95..2d31131e03 100644 --- a/meta/recipes-core/glibc/glibc-version.inc +++ b/meta/recipes-core/glibc/glibc-version.inc | |||
@@ -1,6 +1,6 @@ | |||
1 | SRCBRANCH ?= "release/2.41/master" | 1 | SRCBRANCH ?= "release/2.41/master" |
2 | PV = "2.41+git" | 2 | PV = "2.41+git" |
3 | SRCREV_glibc ?= "5b4c4617016d28569106549dff6f9fec73eed5ce" | 3 | SRCREV_glibc ?= "0c76c951620f9e12df2a89b2c684878b55bb6795" |
4 | SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc" | 4 | SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc" |
5 | 5 | ||
6 | GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https" | 6 | GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https" |
diff --git a/meta/recipes-core/glibc/glibc/0001-Propagate-ffile-prefix-map-from-CFLAGS-to-ASFLAGS.patch b/meta/recipes-core/glibc/glibc/0001-Propagate-ffile-prefix-map-from-CFLAGS-to-ASFLAGS.patch index 862c7b9086..b42b186418 100644 --- a/meta/recipes-core/glibc/glibc/0001-Propagate-ffile-prefix-map-from-CFLAGS-to-ASFLAGS.patch +++ b/meta/recipes-core/glibc/glibc/0001-Propagate-ffile-prefix-map-from-CFLAGS-to-ASFLAGS.patch | |||
@@ -13,7 +13,7 @@ diff --git a/Makeconfig b/Makeconfig | |||
13 | index e35c5cfe4e..7a19c731c6 100644 | 13 | index e35c5cfe4e..7a19c731c6 100644 |
14 | --- a/Makeconfig | 14 | --- a/Makeconfig |
15 | +++ b/Makeconfig | 15 | +++ b/Makeconfig |
16 | @@ -1176,7 +1176,7 @@ endif | 16 | @@ -1172,7 +1172,7 @@ endif |
17 | 17 | ||
18 | # The assembler can generate debug information too. | 18 | # The assembler can generate debug information too. |
19 | ifndef ASFLAGS | 19 | ifndef ASFLAGS |
diff --git a/meta/recipes-core/glibc/glibc/0023-tests-Skip-2-qemu-tests-that-can-hang-in-oe-selftest.patch b/meta/recipes-core/glibc/glibc/0023-tests-Skip-2-qemu-tests-that-can-hang-in-oe-selftest.patch index 71777d3f2c..50d80ed577 100644 --- a/meta/recipes-core/glibc/glibc/0023-tests-Skip-2-qemu-tests-that-can-hang-in-oe-selftest.patch +++ b/meta/recipes-core/glibc/glibc/0023-tests-Skip-2-qemu-tests-that-can-hang-in-oe-selftest.patch | |||
@@ -40,7 +40,7 @@ index 8a755293b3..22dafcaad1 100644 | |||
40 | # tests | 40 | # tests |
41 | 41 | ||
42 | # process_madvise requires CAP_SYS_ADMIN. | 42 | # process_madvise requires CAP_SYS_ADMIN. |
43 | @@ -277,9 +278,10 @@ tests-time64 += \ | 43 | @@ -282,9 +283,10 @@ tests-time64 += \ |
44 | tst-ntp_gettimex-time64 \ | 44 | tst-ntp_gettimex-time64 \ |
45 | tst-ppoll-time64 \ | 45 | tst-ppoll-time64 \ |
46 | tst-prctl-time64 \ | 46 | tst-prctl-time64 \ |
diff --git a/meta/recipes-core/glibc/glibc_2.41.bb b/meta/recipes-core/glibc/glibc_2.41.bb index 82dcf08fcd..7771fac041 100644 --- a/meta/recipes-core/glibc/glibc_2.41.bb +++ b/meta/recipes-core/glibc/glibc_2.41.bb | |||
@@ -17,7 +17,7 @@ Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, m | |||
17 | easier access for another. 'ASLR bypass itself is not a vulnerability.'" | 17 | easier access for another. 'ASLR bypass itself is not a vulnerability.'" |
18 | 18 | ||
19 | CVE_STATUS_GROUPS += "CVE_STATUS_STABLE_BACKPORTS" | 19 | CVE_STATUS_GROUPS += "CVE_STATUS_STABLE_BACKPORTS" |
20 | CVE_STATUS_STABLE_BACKPORTS = "" | 20 | CVE_STATUS_STABLE_BACKPORTS = "CVE-2025-4802 CVE-2025-5702 CVE-2025-5745" |
21 | CVE_STATUS_STABLE_BACKPORTS[status] = "cpe-stable-backport: fix available in used git hash" | 21 | CVE_STATUS_STABLE_BACKPORTS[status] = "cpe-stable-backport: fix available in used git hash" |
22 | 22 | ||
23 | DEPENDS += "gperf-native bison-native" | 23 | DEPENDS += "gperf-native bison-native" |
@@ -56,7 +56,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ | |||
56 | file://0001-stdlib-Add-single-threaded-fast-path-to-rand.patch \ | 56 | file://0001-stdlib-Add-single-threaded-fast-path-to-rand.patch \ |
57 | file://0001-Propagate-ffile-prefix-map-from-CFLAGS-to-ASFLAGS.patch \ | 57 | file://0001-Propagate-ffile-prefix-map-from-CFLAGS-to-ASFLAGS.patch \ |
58 | " | 58 | " |
59 | S = "${WORKDIR}/git" | ||
60 | B = "${WORKDIR}/build-${TARGET_SYS}" | 59 | B = "${WORKDIR}/build-${TARGET_SYS}" |
61 | 60 | ||
62 | PACKAGES_DYNAMIC = "" | 61 | PACKAGES_DYNAMIC = "" |
diff --git a/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb b/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb index 9ca95d1e52..1c475eeb8a 100644 --- a/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb +++ b/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb | |||
@@ -19,12 +19,11 @@ SRC_URI = "file://ldconfig-native-2.12.1.tar.bz2 \ | |||
19 | file://ldconfig-handle-.dynstr-located-in-separate-segment.patch \ | 19 | file://ldconfig-handle-.dynstr-located-in-separate-segment.patch \ |
20 | " | 20 | " |
21 | 21 | ||
22 | |||
23 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/${P}:" | 22 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/${P}:" |
24 | 23 | ||
25 | inherit native | 24 | inherit native |
26 | 25 | ||
27 | S = "${WORKDIR}/${PN}-${PV}" | 26 | S = "${UNPACKDIR}/${PN}-${PV}" |
28 | 27 | ||
29 | do_compile () { | 28 | do_compile () { |
30 | $CC ldconfig.c -std=gnu99 chroot_canon.c xmalloc.c xstrdup.c cache.c readlib.c -I. dl-cache.c -o ldconfig | 29 | $CC ldconfig.c -std=gnu99 chroot_canon.c xmalloc.c xstrdup.c cache.c readlib.c -I. dl-cache.c -o ldconfig |
diff --git a/meta/recipes-core/ifupdown/ifupdown_0.8.44.bb b/meta/recipes-core/ifupdown/ifupdown_0.8.44.bb index 3e7bece41b..8a8f477361 100644 --- a/meta/recipes-core/ifupdown/ifupdown_0.8.44.bb +++ b/meta/recipes-core/ifupdown/ifupdown_0.8.44.bb | |||
@@ -18,9 +18,6 @@ SRC_URI = "git://salsa.debian.org/debian/ifupdown.git;protocol=https;branch=mast | |||
18 | " | 18 | " |
19 | SRCREV = "7d44f9ce6717a4a496fd46f28c52e12dbf5bafdd" | 19 | SRCREV = "7d44f9ce6717a4a496fd46f28c52e12dbf5bafdd" |
20 | 20 | ||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | |||
24 | inherit ptest update-alternatives | 21 | inherit ptest update-alternatives |
25 | 22 | ||
26 | do_compile () { | 23 | do_compile () { |
diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb index 03f02d14ae..4daedfb43c 100644 --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb | |||
@@ -26,8 +26,8 @@ inherit core-image setuptools3 features_check | |||
26 | 26 | ||
27 | REQUIRED_DISTRO_FEATURES += "xattr" | 27 | REQUIRED_DISTRO_FEATURES += "xattr" |
28 | 28 | ||
29 | SRCREV ?= "52b5f6a95de7228a12a9156a4aaa932daf54456f" | 29 | SRCREV ?= "b1b3318eff36d4d9b2d3a935dee607c4f012f992" |
30 | SRC_URI = "git://git.yoctoproject.org/poky;branch=master \ | 30 | SRC_URI = "git://git.yoctoproject.org/poky;branch=master;destsuffix=poky \ |
31 | file://Yocto_Build_Appliance.vmx \ | 31 | file://Yocto_Build_Appliance.vmx \ |
32 | file://Yocto_Build_Appliance.vmxf \ | 32 | file://Yocto_Build_Appliance.vmxf \ |
33 | file://README_VirtualBox_Guest_Additions.txt \ | 33 | file://README_VirtualBox_Guest_Additions.txt \ |
@@ -44,10 +44,10 @@ IMAGE_CMD:ext4:append () { | |||
44 | fakeroot do_populate_poky_src () { | 44 | fakeroot do_populate_poky_src () { |
45 | # Because fetch2's git's unpack uses -s cloneflag, the unpacked git repo | 45 | # Because fetch2's git's unpack uses -s cloneflag, the unpacked git repo |
46 | # will become invalid in the target. | 46 | # will become invalid in the target. |
47 | rm -rf ${UNPACKDIR}/git/.git | 47 | rm -rf ${UNPACKDIR}/poky/.git |
48 | rm -f ${UNPACKDIR}/git/.gitignore | 48 | rm -f ${UNPACKDIR}/poky/.gitignore |
49 | 49 | ||
50 | cp -R ${UNPACKDIR}/git ${IMAGE_ROOTFS}/home/builder/poky | 50 | cp -R ${UNPACKDIR}/poky ${IMAGE_ROOTFS}/home/builder/poky |
51 | 51 | ||
52 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/conf | 52 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/conf |
53 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/downloads | 53 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/downloads |
diff --git a/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb index ddf9d1b311..da594d00b7 100644 --- a/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb +++ b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb | |||
@@ -15,8 +15,7 @@ SRC_URI = "file://copyright \ | |||
15 | file://interfaces \ | 15 | file://interfaces \ |
16 | file://nfsroot" | 16 | file://nfsroot" |
17 | 17 | ||
18 | S = "${WORKDIR}/sources" | 18 | S = "${UNPACKDIR}" |
19 | UNPACKDIR = "${S}" | ||
20 | 19 | ||
21 | do_install () { | 20 | do_install () { |
22 | install -d ${D}${sysconfdir}/init.d \ | 21 | install -d ${D}${sysconfdir}/init.d \ |
diff --git a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb index ec3544c67a..e0a6319ccf 100644 --- a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb | |||
@@ -3,8 +3,7 @@ LICENSE = "MIT" | |||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
4 | SRC_URI = "file://init-boot.sh" | 4 | SRC_URI = "file://init-boot.sh" |
5 | 5 | ||
6 | S = "${WORKDIR}/sources" | 6 | S = "${UNPACKDIR}" |
7 | UNPACKDIR = "${S}" | ||
8 | 7 | ||
9 | do_install() { | 8 | do_install() { |
10 | install -m 0755 ${S}/init-boot.sh ${D}/init | 9 | install -m 0755 ${S}/init-boot.sh ${D}/init |
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/nfsrootfs b/meta/recipes-core/initrdscripts/initramfs-framework/nfsrootfs index e67ee4c25d..30555aef55 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework/nfsrootfs +++ b/meta/recipes-core/initrdscripts/initramfs-framework/nfsrootfs | |||
@@ -1,7 +1,7 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | nfsrootfs_enabled() { | 3 | nfsrootfs_enabled() { |
4 | if [ ${bootparam_root} != "/dev/nfs" ] || [ -z ${bootparam_nfsroot} ]; then | 4 | if [ "${bootparam_root}" != "/dev/nfs" ] || [ -z ${bootparam_nfsroot} ]; then |
5 | return 1 | 5 | return 1 |
6 | fi | 6 | fi |
7 | return 0 | 7 | return 0 |
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index bb4984366d..2ec03bc34c 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb | |||
@@ -4,7 +4,6 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
4 | RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}" | 4 | RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}" |
5 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | 5 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
6 | 6 | ||
7 | |||
8 | inherit allarch | 7 | inherit allarch |
9 | 8 | ||
10 | SRC_URI = "file://init \ | 9 | SRC_URI = "file://init \ |
@@ -20,8 +19,7 @@ SRC_URI = "file://init \ | |||
20 | file://overlayroot \ | 19 | file://overlayroot \ |
21 | " | 20 | " |
22 | 21 | ||
23 | S = "${WORKDIR}/sources" | 22 | S = "${UNPACKDIR}" |
24 | UNPACKDIR = "${S}" | ||
25 | 23 | ||
26 | do_install() { | 24 | do_install() { |
27 | install -d ${D}/init.d | 25 | install -d ${D}/init.d |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb index 40046f30a7..6b99ab1843 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb | |||
@@ -5,8 +5,7 @@ DEPENDS = "virtual/kernel" | |||
5 | RDEPENDS:${PN} = "busybox-mdev" | 5 | RDEPENDS:${PN} = "busybox-mdev" |
6 | SRC_URI = "file://init-live.sh" | 6 | SRC_URI = "file://init-live.sh" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | do_install() { | 10 | do_install() { |
12 | install -m 0755 ${S}/init-live.sh ${D}/init | 11 | install -m 0755 ${S}/init-live.sh ${D}/init |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb index 7851cc9605..8c8355a53e 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb | |||
@@ -5,8 +5,7 @@ DEPENDS = "virtual/kernel" | |||
5 | RDEPENDS:${PN} = "udev udev-extraconf" | 5 | RDEPENDS:${PN} = "udev udev-extraconf" |
6 | SRC_URI = "file://init-live.sh" | 6 | SRC_URI = "file://init-live.sh" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | do_install() { | 10 | do_install() { |
12 | install -m 0755 ${S}/init-live.sh ${D}/init | 11 | install -m 0755 ${S}/init-live.sh ${D}/init |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb index 31291bcdf2..e308727320 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb | |||
@@ -5,8 +5,7 @@ SRC_URI = "file://init-install-efi-testfs.sh" | |||
5 | 5 | ||
6 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools" | 6 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | do_install() { | 10 | do_install() { |
12 | install -m 0755 ${S}/init-install-efi-testfs.sh ${D}/install-efi.sh | 11 | install -m 0755 ${S}/init-install-efi-testfs.sh ${D}/install-efi.sh |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb index ff3b5622db..77462f4425 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb | |||
@@ -6,8 +6,7 @@ SRC_URI = "file://init-install-efi.sh" | |||
6 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" | 6 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" |
7 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | 7 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | 9 | S = "${UNPACKDIR}" |
10 | UNPACKDIR = "${S}" | ||
11 | 10 | ||
12 | do_install() { | 11 | do_install() { |
13 | install -m 0755 ${S}/init-install-efi.sh ${D}/install-efi.sh | 12 | install -m 0755 ${S}/init-install-efi.sh ${D}/install-efi.sh |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb index 19f05f9fec..05f92203cd 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb | |||
@@ -5,8 +5,7 @@ SRC_URI = "file://init-install-testfs.sh" | |||
5 | 5 | ||
6 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs" | 6 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | do_install() { | 10 | do_install() { |
12 | install -m 0755 ${S}/init-install-testfs.sh ${D}/install.sh | 11 | install -m 0755 ${S}/init-install-testfs.sh ${D}/install.sh |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb index 1d489e2b64..791bd57171 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb | |||
@@ -3,8 +3,7 @@ LICENSE = "MIT" | |||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
4 | SRC_URI = "file://init-install.sh" | 4 | SRC_URI = "file://init-install.sh" |
5 | 5 | ||
6 | S = "${WORKDIR}/sources" | 6 | S = "${UNPACKDIR}" |
7 | UNPACKDIR = "${S}" | ||
8 | 7 | ||
9 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" | 8 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" |
10 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | 9 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb index bb3f275f26..0283149899 100644 --- a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb | |||
@@ -4,11 +4,9 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
4 | RDEPENDS:${PN} = "initramfs-framework-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" | 4 | RDEPENDS:${PN} = "initramfs-framework-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" |
5 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | 5 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
6 | 6 | ||
7 | |||
8 | SRC_URI = "file://init-install-efi.sh" | 7 | SRC_URI = "file://init-install-efi.sh" |
9 | 8 | ||
10 | S = "${WORKDIR}/sources" | 9 | S = "${UNPACKDIR}" |
11 | UNPACKDIR = "${S}" | ||
12 | 10 | ||
13 | do_install() { | 11 | do_install() { |
14 | install -d ${D}/init.d | 12 | install -d ${D}/init.d |
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb index d6d8348731..f44c753da0 100644 --- a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb | |||
@@ -9,11 +9,9 @@ COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)' | |||
9 | COMPATIBLE_HOST:armv7a = 'null' | 9 | COMPATIBLE_HOST:armv7a = 'null' |
10 | COMPATIBLE_HOST:armv7ve = 'null' | 10 | COMPATIBLE_HOST:armv7ve = 'null' |
11 | 11 | ||
12 | |||
13 | SRC_URI = "file://init-install.sh" | 12 | SRC_URI = "file://init-install.sh" |
14 | 13 | ||
15 | S = "${WORKDIR}/sources" | 14 | S = "${UNPACKDIR}" |
16 | UNPACKDIR = "${S}" | ||
17 | 15 | ||
18 | do_install() { | 16 | do_install() { |
19 | install -d ${D}/init.d | 17 | install -d ${D}/init.d |
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb index 4d9ef79a63..3afbd5d47d 100644 --- a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb | |||
@@ -3,14 +3,12 @@ LICENSE = "MIT" | |||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
4 | RDEPENDS:${PN} = "initramfs-framework-base udev-extraconf" | 4 | RDEPENDS:${PN} = "initramfs-framework-base udev-extraconf" |
5 | 5 | ||
6 | |||
7 | inherit allarch | 6 | inherit allarch |
8 | 7 | ||
9 | FILESEXTRAPATHS:prepend := "${THISDIR}/initramfs-framework:" | 8 | FILESEXTRAPATHS:prepend := "${THISDIR}/initramfs-framework:" |
10 | SRC_URI = "file://setup-live" | 9 | SRC_URI = "file://setup-live" |
11 | 10 | ||
12 | S = "${WORKDIR}/sources" | 11 | S = "${UNPACKDIR}" |
13 | UNPACKDIR = "${S}" | ||
14 | 12 | ||
15 | do_install() { | 13 | do_install() { |
16 | install -d ${D}/init.d | 14 | install -d ${D}/init.d |
diff --git a/meta/recipes-core/initscripts/init-system-helpers_1.68.bb b/meta/recipes-core/initscripts/init-system-helpers_1.68.bb index 036c86a536..48ac7792d3 100644 --- a/meta/recipes-core/initscripts/init-system-helpers_1.68.bb +++ b/meta/recipes-core/initscripts/init-system-helpers_1.68.bb | |||
@@ -20,8 +20,6 @@ SRCREV = "78486a4a2a305170b66ce4d907bedadbaed10daf" | |||
20 | SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https;branch=master" | 20 | SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https;branch=master" |
21 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))(?!_exp)" | 21 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))(?!_exp)" |
22 | 22 | ||
23 | S = "${WORKDIR}/git" | ||
24 | |||
25 | do_configure[noexec] = "1" | 23 | do_configure[noexec] = "1" |
26 | do_compile[noexec] = "1" | 24 | do_compile[noexec] = "1" |
27 | 25 | ||
diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb index 0bc078c5eb..c984257c5c 100644 --- a/meta/recipes-core/initscripts/initscripts_1.0.bb +++ b/meta/recipes-core/initscripts/initscripts_1.0.bb | |||
@@ -35,8 +35,7 @@ SRC_URI = "file://functions \ | |||
35 | ${@bb.utils.contains('DISTRO_FEATURES','selinux','file://sushell','',d)} \ | 35 | ${@bb.utils.contains('DISTRO_FEATURES','selinux','file://sushell','',d)} \ |
36 | " | 36 | " |
37 | 37 | ||
38 | S = "${WORKDIR}/sources" | 38 | S = "${UNPACKDIR}" |
39 | UNPACKDIR = "${S}" | ||
40 | 39 | ||
41 | SRC_URI:append:arm = " file://alignment.sh" | 40 | SRC_URI:append:arm = " file://alignment.sh" |
42 | SRC_URI:append:armeb = " file://alignment.sh" | 41 | SRC_URI:append:armeb = " file://alignment.sh" |
diff --git a/meta/recipes-core/libxcrypt/libxcrypt.inc b/meta/recipes-core/libxcrypt/libxcrypt.inc index 55619daef7..77fec83234 100644 --- a/meta/recipes-core/libxcrypt/libxcrypt.inc +++ b/meta/recipes-core/libxcrypt/libxcrypt.inc | |||
@@ -16,8 +16,6 @@ SRCBRANCH ?= "master" | |||
16 | 16 | ||
17 | PROVIDES = "virtual/crypt" | 17 | PROVIDES = "virtual/crypt" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" | 19 | BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" |
22 | TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error" | 20 | TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error" |
23 | CPPFLAGS:append:class-nativesdk = " -Wno-error" | 21 | CPPFLAGS:append:class-nativesdk = " -Wno-error" |
diff --git a/meta/recipes-core/meta/cve-update-db-native.bb b/meta/recipes-core/meta/cve-update-db-native.bb index 792252f510..86cd1a1a21 100644 --- a/meta/recipes-core/meta/cve-update-db-native.bb +++ b/meta/recipes-core/meta/cve-update-db-native.bb | |||
@@ -393,7 +393,6 @@ def update_db_fkie(conn, jsondata): | |||
393 | for node in config["nodes"]: | 393 | for node in config["nodes"]: |
394 | parse_node_and_insert(conn, node, cveId, False) | 394 | parse_node_and_insert(conn, node, cveId, False) |
395 | 395 | ||
396 | |||
397 | def update_db(d, conn, jsondata): | 396 | def update_db(d, conn, jsondata): |
398 | if (d.getVar("NVD_DB_VERSION") == "FKIE"): | 397 | if (d.getVar("NVD_DB_VERSION") == "FKIE"): |
399 | return update_db_fkie(conn, jsondata) | 398 | return update_db_fkie(conn, jsondata) |
diff --git a/meta/recipes-core/meta/meta-toolchain.bb b/meta/recipes-core/meta/meta-toolchain.bb index 260e03934e..1b108f0a1c 100644 --- a/meta/recipes-core/meta/meta-toolchain.bb +++ b/meta/recipes-core/meta/meta-toolchain.bb | |||
@@ -1,5 +1,4 @@ | |||
1 | SUMMARY = "Meta package for building a installable toolchain" | 1 | SUMMARY = "Meta package for building a installable toolchain" |
2 | LICENSE = "MIT" | 2 | LICENSE = "MIT" |
3 | 3 | ||
4 | |||
5 | inherit populate_sdk | 4 | inherit populate_sdk |
diff --git a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb index 2813fbc397..0ba1ca6e42 100644 --- a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb +++ b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb | |||
@@ -41,7 +41,6 @@ DUMMYPROVIDES = "\ | |||
41 | /usr/bin/perl \ | 41 | /usr/bin/perl \ |
42 | " | 42 | " |
43 | 43 | ||
44 | |||
45 | require dummy-sdk-package.inc | 44 | require dummy-sdk-package.inc |
46 | 45 | ||
47 | inherit nativesdk | 46 | inherit nativesdk |
diff --git a/meta/recipes-core/meta/signing-keys.bb b/meta/recipes-core/meta/signing-keys.bb index 107a39d658..94f4032911 100644 --- a/meta/recipes-core/meta/signing-keys.bb +++ b/meta/recipes-core/meta/signing-keys.bb | |||
@@ -4,7 +4,6 @@ | |||
4 | SUMMARY = "Makes public keys of the signing keys available" | 4 | SUMMARY = "Makes public keys of the signing keys available" |
5 | LICENSE = "MIT" | 5 | LICENSE = "MIT" |
6 | 6 | ||
7 | |||
8 | inherit allarch deploy | 7 | inherit allarch deploy |
9 | 8 | ||
10 | EXCLUDE_FROM_WORLD = "1" | 9 | EXCLUDE_FROM_WORLD = "1" |
diff --git a/meta/recipes-core/meta/uninative-tarball.bb b/meta/recipes-core/meta/uninative-tarball.bb index 0fd01fdb64..0dbc698ccd 100644 --- a/meta/recipes-core/meta/uninative-tarball.bb +++ b/meta/recipes-core/meta/uninative-tarball.bb | |||
@@ -51,7 +51,6 @@ fakeroot create_sdk_files() { | |||
51 | sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py | 51 | sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py |
52 | } | 52 | } |
53 | 53 | ||
54 | |||
55 | fakeroot archive_sdk() { | 54 | fakeroot archive_sdk() { |
56 | cd ${SDK_OUTPUT}/${SDKPATH} | 55 | cd ${SDK_OUTPUT}/${SDKPATH} |
57 | 56 | ||
diff --git a/meta/recipes-core/musl/bsd-headers.bb b/meta/recipes-core/musl/bsd-headers.bb index 7d0bdee870..ad9ba81e4f 100644 --- a/meta/recipes-core/musl/bsd-headers.bb +++ b/meta/recipes-core/musl/bsd-headers.bb | |||
@@ -15,8 +15,7 @@ do_compile[noexec] = "1" | |||
15 | 15 | ||
16 | INHIBIT_DEFAULT_DEPS = "1" | 16 | INHIBIT_DEFAULT_DEPS = "1" |
17 | 17 | ||
18 | S = "${WORKDIR}/sources" | 18 | S = "${UNPACKDIR}" |
19 | UNPACKDIR = "${S}" | ||
20 | 19 | ||
21 | do_install() { | 20 | do_install() { |
22 | install -Dm 0644 ${S}/sys-queue.h ${D}${includedir}/sys/queue.h | 21 | install -Dm 0644 ${S}/sys-queue.h ${D}${includedir}/sys/queue.h |
diff --git a/meta/recipes-core/musl/gcompat_git.bb b/meta/recipes-core/musl/gcompat_git.bb index 40fe8c6a5f..6f9710e71a 100644 --- a/meta/recipes-core/musl/gcompat_git.bb +++ b/meta/recipes-core/musl/gcompat_git.bb | |||
@@ -16,8 +16,6 @@ SRC_URI:append:powerpc = "\ | |||
16 | PV = "1.1.0" | 16 | PV = "1.1.0" |
17 | SRCREV = "b7bfe0b08c52fdc72e0c1d9d4dcb2129f1642bd6" | 17 | SRCREV = "b7bfe0b08c52fdc72e0c1d9d4dcb2129f1642bd6" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | inherit pkgconfig linuxloader siteinfo | 19 | inherit pkgconfig linuxloader siteinfo |
22 | 20 | ||
23 | DEPENDS += "musl-obstack" | 21 | DEPENDS += "musl-obstack" |
diff --git a/meta/recipes-core/musl/libc-test_git.bb b/meta/recipes-core/musl/libc-test_git.bb index f55a125a89..71a111cfa4 100644 --- a/meta/recipes-core/musl/libc-test_git.bb +++ b/meta/recipes-core/musl/libc-test_git.bb | |||
@@ -18,8 +18,6 @@ SRC_URI = " \ | |||
18 | 18 | ||
19 | PV = "0+git" | 19 | PV = "0+git" |
20 | 20 | ||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | # libc-test 'make' or 'make run' command is designed to build and run tests. It | 21 | # libc-test 'make' or 'make run' command is designed to build and run tests. It |
24 | # reports both build and test failures. The commands should be run on target. | 22 | # reports both build and test failures. The commands should be run on target. |
25 | do_compile() { | 23 | do_compile() { |
diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb index fde3bc97b4..4bcbaef7ea 100644 --- a/meta/recipes-core/musl/libssp-nonshared.bb +++ b/meta/recipes-core/musl/libssp-nonshared.bb | |||
@@ -17,8 +17,7 @@ DEPENDS = "virtual/cross-binutils \ | |||
17 | 17 | ||
18 | do_configure[noexec] = "1" | 18 | do_configure[noexec] = "1" |
19 | 19 | ||
20 | S = "${WORKDIR}/sources" | 20 | S = "${UNPACKDIR}" |
21 | UNPACKDIR = "${S}" | ||
22 | 21 | ||
23 | do_compile() { | 22 | do_compile() { |
24 | ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c stack_chk.c -o stack_chk.o | 23 | ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c stack_chk.c -o stack_chk.o |
diff --git a/meta/recipes-core/musl/libucontext_1.3.2.bb b/meta/recipes-core/musl/libucontext_1.3.2.bb index 65ee77d06e..2362cba5c8 100644 --- a/meta/recipes-core/musl/libucontext_1.3.2.bb +++ b/meta/recipes-core/musl/libucontext_1.3.2.bb | |||
@@ -12,8 +12,6 @@ SRCREV = "a0323579ac50b9a9d4033754d089f1fed0f59a00" | |||
12 | SRC_URI = "git://github.com/kaniini/libucontext;branch=master;protocol=https \ | 12 | SRC_URI = "git://github.com/kaniini/libucontext;branch=master;protocol=https \ |
13 | " | 13 | " |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | COMPATIBLE_HOST = ".*-musl.*" | 15 | COMPATIBLE_HOST = ".*-musl.*" |
18 | 16 | ||
19 | valid_archs = " \ | 17 | valid_archs = " \ |
diff --git a/meta/recipes-core/musl/musl-legacy-error.bb b/meta/recipes-core/musl/musl-legacy-error.bb index 11a838a6e8..b40075c0b6 100644 --- a/meta/recipes-core/musl/musl-legacy-error.bb +++ b/meta/recipes-core/musl/musl-legacy-error.bb | |||
@@ -13,8 +13,7 @@ do_compile[noexec] = "1" | |||
13 | 13 | ||
14 | INHIBIT_DEFAULT_DEPS = "1" | 14 | INHIBIT_DEFAULT_DEPS = "1" |
15 | 15 | ||
16 | S = "${WORKDIR}/sources" | 16 | S = "${UNPACKDIR}" |
17 | UNPACKDIR = "${S}" | ||
18 | 17 | ||
19 | do_install() { | 18 | do_install() { |
20 | install -Dm 0644 ${S}/error.h -t ${D}${includedir} | 19 | install -Dm 0644 ${S}/error.h -t ${D}${includedir} |
diff --git a/meta/recipes-core/musl/musl-locales_git.bb b/meta/recipes-core/musl/musl-locales_git.bb index 2815e2ddf0..c8510596cf 100644 --- a/meta/recipes-core/musl/musl-locales_git.bb +++ b/meta/recipes-core/musl/musl-locales_git.bb | |||
@@ -12,8 +12,6 @@ SRC_URI = "git://git.adelielinux.org/adelie/musl-locales;protocol=https;branch=m | |||
12 | PV = "1.0+git" | 12 | PV = "1.0+git" |
13 | SRCREV = "5663f5bfd30bf9e1e0ba3fc5fe2da6725969f30e" | 13 | SRCREV = "5663f5bfd30bf9e1e0ba3fc5fe2da6725969f30e" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | DEPENDS = "virtual/libintl gettext-native" | 15 | DEPENDS = "virtual/libintl gettext-native" |
18 | 16 | ||
19 | PROVIDES = "virtual/libc-locale" | 17 | PROVIDES = "virtual/libc-locale" |
diff --git a/meta/recipes-core/musl/musl-obstack.bb b/meta/recipes-core/musl/musl-obstack.bb index 4c71a141b2..d8a5ae8d82 100644 --- a/meta/recipes-core/musl/musl-obstack.bb +++ b/meta/recipes-core/musl/musl-obstack.bb | |||
@@ -16,7 +16,5 @@ UPSTREAM_CHECK_COMMITS = "1" | |||
16 | 16 | ||
17 | inherit autotools pkgconfig | 17 | inherit autotools pkgconfig |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | COMPATIBLE_HOST = ".*-musl.*" | 19 | COMPATIBLE_HOST = ".*-musl.*" |
22 | 20 | ||
diff --git a/meta/recipes-core/musl/musl-utils.bb b/meta/recipes-core/musl/musl-utils.bb index 8280333daf..4b685640c8 100644 --- a/meta/recipes-core/musl/musl-utils.bb +++ b/meta/recipes-core/musl/musl-utils.bb | |||
@@ -17,8 +17,6 @@ UPSTREAM_CHECK_COMMITS = "1" | |||
17 | 17 | ||
18 | inherit autotools | 18 | inherit autotools |
19 | 19 | ||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | PACKAGES =+ "${PN}-iconv" | 20 | PACKAGES =+ "${PN}-iconv" |
23 | 21 | ||
24 | FILES:${PN}-iconv = "${bindir}/iconv" | 22 | FILES:${PN}-iconv = "${bindir}/iconv" |
diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb index afc459bf1c..51e429b093 100644 --- a/meta/recipes-core/musl/musl_git.bb +++ b/meta/recipes-core/musl/musl_git.bb | |||
@@ -16,8 +16,6 @@ SRC_URI = "git://git.musl-libc.org/musl;branch=master \ | |||
16 | file://0001-Update-syscalls-for-r32-rv64-from-kernel-6.4-through.patch \ | 16 | file://0001-Update-syscalls-for-r32-rv64-from-kernel-6.4-through.patch \ |
17 | " | 17 | " |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | PROVIDES += "virtual/libc virtual/libiconv virtual/libintl virtual/crypt" | 19 | PROVIDES += "virtual/libc virtual/libiconv virtual/libintl virtual/crypt" |
22 | 20 | ||
23 | DEPENDS = "virtual/cross-binutils \ | 21 | DEPENDS = "virtual/cross-binutils \ |
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc index 1e9ec38cea..951f96beb5 100644 --- a/meta/recipes-core/ncurses/ncurses.inc +++ b/meta/recipes-core/ncurses/ncurses.inc | |||
@@ -175,7 +175,6 @@ do_install() { | |||
175 | oe_runmake -C narrowc ${_install_cfgs} \ | 175 | oe_runmake -C narrowc ${_install_cfgs} \ |
176 | install.data | 176 | install.data |
177 | 177 | ||
178 | |||
179 | ! ${ENABLE_WIDEC} || \ | 178 | ! ${ENABLE_WIDEC} || \ |
180 | oe_runmake -C widec ${_install_cfgs} ${_install_opts} | 179 | oe_runmake -C widec ${_install_cfgs} ${_install_opts} |
181 | 180 | ||
@@ -263,7 +262,6 @@ python populate_packages:prepend () { | |||
263 | do_split_packages(d, base_libdir, r'^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True) | 262 | do_split_packages(d, base_libdir, r'^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True) |
264 | } | 263 | } |
265 | 264 | ||
266 | |||
267 | inherit update-alternatives | 265 | inherit update-alternatives |
268 | 266 | ||
269 | ALTERNATIVE_PRIORITY = "100" | 267 | ALTERNATIVE_PRIORITY = "100" |
diff --git a/meta/recipes-core/ncurses/ncurses_6.5.bb b/meta/recipes-core/ncurses/ncurses_6.5.bb index 2e3ee337ea..bba3495266 100644 --- a/meta/recipes-core/ncurses/ncurses_6.5.bb +++ b/meta/recipes-core/ncurses/ncurses_6.5.bb | |||
@@ -7,7 +7,6 @@ SRC_URI += "file://0001-tic-hang.patch \ | |||
7 | " | 7 | " |
8 | # commit id corresponds to the revision in package version | 8 | # commit id corresponds to the revision in package version |
9 | SRCREV = "1c55d64d9d3e00399a21f04e9cac1e472ab5f70a" | 9 | SRCREV = "1c55d64d9d3e00399a21f04e9cac1e472ab5f70a" |
10 | S = "${WORKDIR}/git" | ||
11 | EXTRA_OECONF += "--with-abi-version=5" | 10 | EXTRA_OECONF += "--with-abi-version=5" |
12 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+_\d+)$" | 11 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+_\d+)$" |
13 | 12 | ||
diff --git a/meta/recipes-core/netbase/netbase_6.5.bb b/meta/recipes-core/netbase/netbase_6.5.bb index d273dbfe66..c6cf798421 100644 --- a/meta/recipes-core/netbase/netbase_6.5.bb +++ b/meta/recipes-core/netbase/netbase_6.5.bb | |||
@@ -22,4 +22,4 @@ do_install () { | |||
22 | install -m 0644 ${S}/etc/ethertypes ${D}${sysconfdir}/ethertypes | 22 | install -m 0644 ${S}/etc/ethertypes ${D}${sysconfdir}/ethertypes |
23 | } | 23 | } |
24 | 24 | ||
25 | S = "${WORKDIR}/netbase" | 25 | S = "${UNPACKDIR}/netbase" |
diff --git a/meta/recipes-core/newlib/newlib.inc b/meta/recipes-core/newlib/newlib.inc index 5b5025148e..a8794dd1d9 100644 --- a/meta/recipes-core/newlib/newlib.inc +++ b/meta/recipes-core/newlib/newlib.inc | |||
@@ -22,7 +22,6 @@ SRCREV = "5e5e51f1dc56a99eb4648c28e00d73b6ea44a8b0" | |||
22 | INHIBIT_DEFAULT_DEPS = "1" | 22 | INHIBIT_DEFAULT_DEPS = "1" |
23 | DEPENDS = "virtual/cross-cc" | 23 | DEPENDS = "virtual/cross-cc" |
24 | 24 | ||
25 | S = "${WORKDIR}/git" | ||
26 | B = "${WORKDIR}/build" | 25 | B = "${WORKDIR}/build" |
27 | 26 | ||
28 | ## disable stdlib | 27 | ## disable stdlib |
@@ -35,7 +34,6 @@ TARGET_CC_ARCH:append = " -nostdlib" | |||
35 | # Keep RISC-V 32 using -mcmodel=medlow (symbols lie between -2GB:2GB) | 34 | # Keep RISC-V 32 using -mcmodel=medlow (symbols lie between -2GB:2GB) |
36 | TARGET_CFLAGS:append:qemuriscv64 = " -mcmodel=medany" | 35 | TARGET_CFLAGS:append:qemuriscv64 = " -mcmodel=medany" |
37 | 36 | ||
38 | |||
39 | EXTRA_OECONF = " \ | 37 | EXTRA_OECONF = " \ |
40 | --build=${BUILD_SYS} \ | 38 | --build=${BUILD_SYS} \ |
41 | --target=${TARGET_SYS} \ | 39 | --target=${TARGET_SYS} \ |
diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ovmf_git.bb index ab6c580722..08879966c3 100644 --- a/meta/recipes-core/ovmf/ovmf_git.bb +++ b/meta/recipes-core/ovmf/ovmf_git.bb | |||
@@ -16,7 +16,6 @@ PACKAGECONFIG[debug] = ",,," | |||
16 | PACKAGECONFIG[secureboot] = ",,," | 16 | PACKAGECONFIG[secureboot] = ",,," |
17 | PACKAGECONFIG[tpm] = "-D TPM_ENABLE=TRUE,-D TPM_ENABLE=FALSE,," | 17 | PACKAGECONFIG[tpm] = "-D TPM_ENABLE=TRUE,-D TPM_ENABLE=FALSE,," |
18 | 18 | ||
19 | |||
20 | # GCC12 trips on it | 19 | # GCC12 trips on it |
21 | #see https://src.fedoraproject.org/rpms/edk2/blob/rawhide/f/0032-Basetools-turn-off-gcc12-warning.patch | 20 | #see https://src.fedoraproject.org/rpms/edk2/blob/rawhide/f/0032-Basetools-turn-off-gcc12-warning.patch |
22 | BUILD_CFLAGS += "-Wno-error=stringop-overflow" | 21 | BUILD_CFLAGS += "-Wno-error=stringop-overflow" |
@@ -55,8 +54,6 @@ inherit deploy | |||
55 | 54 | ||
56 | PARALLEL_MAKE = "" | 55 | PARALLEL_MAKE = "" |
57 | 56 | ||
58 | S = "${WORKDIR}/git" | ||
59 | |||
60 | DEPENDS = "nasm-native acpica-native ovmf-native util-linux-native" | 57 | DEPENDS = "nasm-native acpica-native ovmf-native util-linux-native" |
61 | 58 | ||
62 | EDK_TOOLS_DIR = "edk2_basetools" | 59 | EDK_TOOLS_DIR = "edk2_basetools" |
diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb index 2e051dba33..fd61ba4437 100644 --- a/meta/recipes-core/packagegroups/packagegroup-base.bb +++ b/meta/recipes-core/packagegroups/packagegroup-base.bb | |||
@@ -72,7 +72,6 @@ RDEPENDS:packagegroup-base = "\ | |||
72 | ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'packagegroup-base-zeroconf', '',d)} \ | 72 | ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'packagegroup-base-zeroconf', '',d)} \ |
73 | " | 73 | " |
74 | 74 | ||
75 | |||
76 | RRECOMMENDS:packagegroup-base = "\ | 75 | RRECOMMENDS:packagegroup-base = "\ |
77 | kernel-module-nls-utf8 \ | 76 | kernel-module-nls-utf8 \ |
78 | kernel-module-input \ | 77 | kernel-module-input \ |
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb index 56ff1d2b06..f19fd64ec1 100644 --- a/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb +++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb | |||
@@ -8,7 +8,6 @@ PACKAGE_ARCH = "${TUNE_PKGARCH}" | |||
8 | 8 | ||
9 | inherit packagegroup | 9 | inherit packagegroup |
10 | 10 | ||
11 | |||
12 | MTRACE = "" | 11 | MTRACE = "" |
13 | MTRACE:libc-glibc = "libc-mtrace" | 12 | MTRACE:libc-glibc = "libc-mtrace" |
14 | 13 | ||
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb index 4e324caa96..54915e4f0c 100644 --- a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb +++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb | |||
@@ -4,7 +4,6 @@ | |||
4 | 4 | ||
5 | SUMMARY = "Profiling tools" | 5 | SUMMARY = "Profiling tools" |
6 | 6 | ||
7 | |||
8 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 7 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
9 | 8 | ||
10 | inherit packagegroup | 9 | inherit packagegroup |
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb index d7ea8e937f..25561f6878 100644 --- a/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb +++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb | |||
@@ -4,7 +4,6 @@ | |||
4 | 4 | ||
5 | SUMMARY = "Testing tools/applications" | 5 | SUMMARY = "Testing tools/applications" |
6 | 6 | ||
7 | |||
8 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 7 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
9 | 8 | ||
10 | inherit packagegroup | 9 | inherit packagegroup |
diff --git a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb index df71695a97..c386267781 100644 --- a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb +++ b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb | |||
@@ -107,7 +107,6 @@ RDEPENDS:packagegroup-self-hosted-debug = " \ | |||
107 | ${STRACE} \ | 107 | ${STRACE} \ |
108 | tcf-agent" | 108 | tcf-agent" |
109 | 109 | ||
110 | |||
111 | RDEPENDS:packagegroup-self-hosted-extended = "\ | 110 | RDEPENDS:packagegroup-self-hosted-extended = "\ |
112 | bzip2 \ | 111 | bzip2 \ |
113 | chrpath \ | 112 | chrpath \ |
@@ -178,7 +177,6 @@ RDEPENDS:packagegroup-self-hosted-extended = "\ | |||
178 | zstd \ | 177 | zstd \ |
179 | " | 178 | " |
180 | 179 | ||
181 | |||
182 | RDEPENDS:packagegroup-self-hosted-graphics = "\ | 180 | RDEPENDS:packagegroup-self-hosted-graphics = "\ |
183 | adwaita-icon-theme \ | 181 | adwaita-icon-theme \ |
184 | builder \ | 182 | builder \ |
diff --git a/meta/recipes-core/picolibc/picolibc.inc b/meta/recipes-core/picolibc/picolibc.inc index 640be819a3..68c32894a7 100644 --- a/meta/recipes-core/picolibc/picolibc.inc +++ b/meta/recipes-core/picolibc/picolibc.inc | |||
@@ -17,5 +17,4 @@ PV = "${BASEVER}+git" | |||
17 | SRC_URI = "git://github.com/picolibc/picolibc.git;protocol=https;branch=main" | 17 | SRC_URI = "git://github.com/picolibc/picolibc.git;protocol=https;branch=main" |
18 | SRCREV = "764ef4e401a8f4c6a86ab723533841f072885a5b" | 18 | SRCREV = "764ef4e401a8f4c6a86ab723533841f072885a5b" |
19 | 19 | ||
20 | S = "${WORKDIR}/git" | ||
21 | B = "${WORKDIR}/build" | 20 | B = "${WORKDIR}/build" |
diff --git a/meta/recipes-core/picolibc/picolibc_git.bb b/meta/recipes-core/picolibc/picolibc_git.bb index e6735184cd..eaa6c8de1e 100644 --- a/meta/recipes-core/picolibc/picolibc_git.bb +++ b/meta/recipes-core/picolibc/picolibc_git.bb | |||
@@ -28,7 +28,6 @@ PACKAGECONFIG ??= " specsdir" | |||
28 | # Install GCC specs on libdir | 28 | # Install GCC specs on libdir |
29 | PACKAGECONFIG[specsdir] = "-Dspecsdir=${libdir},-Dspecsdir=none" | 29 | PACKAGECONFIG[specsdir] = "-Dspecsdir=${libdir},-Dspecsdir=none" |
30 | 30 | ||
31 | |||
32 | FILES:${PN}-dev:append = " ${libdir}/*.specs ${libdir}/*.ld" | 31 | FILES:${PN}-dev:append = " ${libdir}/*.specs ${libdir}/*.ld" |
33 | 32 | ||
34 | # No rpm package is actually created but -dev depends on it, avoid dnf error | 33 | # No rpm package is actually created but -dev depends on it, avoid dnf error |
diff --git a/meta/recipes-core/psplash/psplash_git.bb b/meta/recipes-core/psplash/psplash_git.bb index f3647d389d..3be0e26a0c 100644 --- a/meta/recipes-core/psplash/psplash_git.bb +++ b/meta/recipes-core/psplash/psplash_git.bb | |||
@@ -62,8 +62,6 @@ python __anonymous() { | |||
62 | d.appendVar("RDEPENDS:%s" % pn, " %s" % ep) | 62 | d.appendVar("RDEPENDS:%s" % pn, " %s" % ep) |
63 | } | 63 | } |
64 | 64 | ||
65 | S = "${WORKDIR}/git" | ||
66 | |||
67 | inherit autotools pkgconfig update-rc.d update-alternatives systemd | 65 | inherit autotools pkgconfig update-rc.d update-alternatives systemd |
68 | 66 | ||
69 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} progress-bar fullscreen" | 67 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} progress-bar fullscreen" |
diff --git a/meta/recipes-core/seatd/seatd_0.9.1.bb b/meta/recipes-core/seatd/seatd_0.9.1.bb index 3b4b3bae4c..3be27dda9d 100644 --- a/meta/recipes-core/seatd/seatd_0.9.1.bb +++ b/meta/recipes-core/seatd/seatd_0.9.1.bb | |||
@@ -9,7 +9,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=715a99d2dd552e6188e74d4ed2914d5a" | |||
9 | SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;branch=master \ | 9 | SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;branch=master \ |
10 | file://init" | 10 | file://init" |
11 | SRCREV = "566ffeb032af42865dc1210e48cec08368059bb9" | 11 | SRCREV = "566ffeb032af42865dc1210e48cec08368059bb9" |
12 | S = "${WORKDIR}/git" | ||
13 | 12 | ||
14 | inherit meson pkgconfig systemd update-rc.d useradd | 13 | inherit meson pkgconfig systemd update-rc.d useradd |
15 | 14 | ||
diff --git a/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb b/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb index d99039b6f8..5040d8864e 100644 --- a/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb +++ b/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb | |||
@@ -15,8 +15,6 @@ SRC_URI = "git://github.com/linux-ras/sysfsutils.git;protocol=https;branch=maste | |||
15 | 15 | ||
16 | SRCREV = "da2f1f8500c0af6663a56ce2bff07f67e60a92e0" | 16 | SRCREV = "da2f1f8500c0af6663a56ce2bff07f67e60a92e0" |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | inherit autotools | 18 | inherit autotools |
21 | 19 | ||
22 | PACKAGES =+ "libsysfs" | 20 | PACKAGES =+ "libsysfs" |
diff --git a/meta/recipes-core/systemd/systemd-bootconf_1.00.bb b/meta/recipes-core/systemd/systemd-bootconf_1.00.bb index 0ec49365d0..5efac3e410 100644 --- a/meta/recipes-core/systemd/systemd-bootconf_1.00.bb +++ b/meta/recipes-core/systemd/systemd-bootconf_1.00.bb | |||
@@ -7,8 +7,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" | |||
7 | 7 | ||
8 | inherit systemd-boot-cfg | 8 | inherit systemd-boot-cfg |
9 | 9 | ||
10 | S = "${WORKDIR}/sources" | 10 | S = "${UNPACKDIR}" |
11 | UNPACKDIR = "${S}" | ||
12 | 11 | ||
13 | LABELS = "boot" | 12 | LABELS = "boot" |
14 | 13 | ||
diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb index 3325739544..d6da34e9b8 100644 --- a/meta/recipes-core/systemd/systemd-compat-units.bb +++ b/meta/recipes-core/systemd/systemd-compat-units.bb | |||
@@ -2,11 +2,9 @@ SUMMARY = "Enhances systemd compatilibity with existing SysVinit scripts" | |||
2 | HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd" | 2 | HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd" |
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | 4 | ||
5 | |||
6 | PACKAGE_WRITE_DEPS += "systemd-systemctl-native" | 5 | PACKAGE_WRITE_DEPS += "systemd-systemctl-native" |
7 | 6 | ||
8 | S = "${WORKDIR}/sources" | 7 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 8 | ||
11 | inherit features_check | 9 | inherit features_check |
12 | 10 | ||
diff --git a/meta/recipes-core/systemd/systemd-conf_1.0.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb index b8bea0c25b..60066cd60a 100644 --- a/meta/recipes-core/systemd/systemd-conf_1.0.bb +++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb | |||
@@ -21,8 +21,7 @@ SRC_URI = "\ | |||
21 | file://wired.network \ | 21 | file://wired.network \ |
22 | " | 22 | " |
23 | 23 | ||
24 | S = "${WORKDIR}/sources" | 24 | S = "${UNPACKDIR}" |
25 | UNPACKDIR = "${S}" | ||
26 | 25 | ||
27 | do_install() { | 26 | do_install() { |
28 | install -D -m0644 ${S}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf | 27 | install -D -m0644 ${S}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf |
diff --git a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb index 8df7ff7cf1..a366f199ee 100644 --- a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb +++ b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb | |||
@@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
5 | 5 | ||
6 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 6 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
7 | 7 | ||
8 | |||
9 | inherit systemd features_check | 8 | inherit systemd features_check |
10 | REQUIRED_DISTRO_FEATURES += "usrmerge" | 9 | REQUIRED_DISTRO_FEATURES += "usrmerge" |
11 | SYSTEMD_SERVICE:${PN} = "" | 10 | SYSTEMD_SERVICE:${PN} = "" |
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc index 5ed84757f3..101457140f 100644 --- a/meta/recipes-core/systemd/systemd.inc +++ b/meta/recipes-core/systemd/systemd.inc | |||
@@ -19,6 +19,4 @@ SRCREV = "00a12c234e2506f5cab683460199575f13c454db" | |||
19 | SRCBRANCH = "v257-stable" | 19 | SRCBRANCH = "v257-stable" |
20 | SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}" | 20 | SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}" |
21 | 21 | ||
22 | S = "${WORKDIR}/git" | ||
23 | |||
24 | CVE_PRODUCT = "systemd" | 22 | CVE_PRODUCT = "systemd" |
diff --git a/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch index f0aa3a0bd8..1443c5082b 100644 --- a/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch +++ b/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch | |||
@@ -15,8 +15,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
15 | src/shared/base-filesystem.c | 1 + | 15 | src/shared/base-filesystem.c | 1 + |
16 | 2 files changed, 7 insertions(+) | 16 | 2 files changed, 7 insertions(+) |
17 | 17 | ||
18 | diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h | ||
19 | index e2cd8b4e35..f2fe489de7 100644 | ||
20 | --- a/src/basic/missing_syscall.h | 18 | --- a/src/basic/missing_syscall.h |
21 | +++ b/src/basic/missing_syscall.h | 19 | +++ b/src/basic/missing_syscall.h |
22 | @@ -20,6 +20,12 @@ | 20 | @@ -20,6 +20,12 @@ |
@@ -32,8 +30,6 @@ index e2cd8b4e35..f2fe489de7 100644 | |||
32 | #include "macro.h" | 30 | #include "macro.h" |
33 | #include "missing_keyctl.h" | 31 | #include "missing_keyctl.h" |
34 | #include "missing_sched.h" | 32 | #include "missing_sched.h" |
35 | diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c | ||
36 | index 389c77eee0..e3627c4603 100644 | ||
37 | --- a/src/shared/base-filesystem.c | 33 | --- a/src/shared/base-filesystem.c |
38 | +++ b/src/shared/base-filesystem.c | 34 | +++ b/src/shared/base-filesystem.c |
39 | @@ -20,6 +20,7 @@ | 35 | @@ -20,6 +20,7 @@ |
@@ -42,8 +38,5 @@ index 389c77eee0..e3627c4603 100644 | |||
42 | #include "user-util.h" | 38 | #include "user-util.h" |
43 | +#include "missing_syscall.h" | 39 | +#include "missing_syscall.h" |
44 | 40 | ||
45 | typedef struct BaseFilesystem { | 41 | typedef enum BaseFilesystemFlags { |
46 | const char *dir; /* directory or symlink to create */ | 42 | BASE_FILESYSTEM_IGNORE_ON_FAILURE = 1 << 0, |
47 | -- | ||
48 | 2.34.1 | ||
49 | |||
diff --git a/meta/recipes-core/systemd/systemd_257.6.bb b/meta/recipes-core/systemd/systemd_257.6.bb index 995b55580e..5f7f20c434 100644 --- a/meta/recipes-core/systemd/systemd_257.6.bb +++ b/meta/recipes-core/systemd/systemd_257.6.bb | |||
@@ -519,7 +519,6 @@ RRECOMMENDS:${PN}-binfmt = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', 'ker | |||
519 | 519 | ||
520 | RDEPENDS:${PN}-vconsole-setup = "${@bb.utils.contains('PACKAGECONFIG', 'vconsole', 'kbd kbd-consolefonts kbd-keymaps', '', d)}" | 520 | RDEPENDS:${PN}-vconsole-setup = "${@bb.utils.contains('PACKAGECONFIG', 'vconsole', 'kbd kbd-consolefonts kbd-keymaps', '', d)}" |
521 | 521 | ||
522 | |||
523 | FILES:${PN}-journal-gatewayd = "${nonarch_libdir}/systemd/systemd-journal-gatewayd \ | 522 | FILES:${PN}-journal-gatewayd = "${nonarch_libdir}/systemd/systemd-journal-gatewayd \ |
524 | ${systemd_system_unitdir}/systemd-journal-gatewayd.service \ | 523 | ${systemd_system_unitdir}/systemd-journal-gatewayd.service \ |
525 | ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \ | 524 | ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \ |
@@ -542,7 +541,6 @@ FILES:${PN}-journal-remote = "${nonarch_libdir}/systemd/systemd-journal-remote \ | |||
542 | " | 541 | " |
543 | SYSTEMD_SERVICE:${PN}-journal-remote = "systemd-journal-remote.socket" | 542 | SYSTEMD_SERVICE:${PN}-journal-remote = "systemd-journal-remote.socket" |
544 | 543 | ||
545 | |||
546 | FILES:${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ | 544 | FILES:${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ |
547 | ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ | 545 | ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ |
548 | ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \ | 546 | ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \ |
diff --git a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb index 6ff2ca1bf4..c77266e71e 100644 --- a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb +++ b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb | |||
@@ -2,12 +2,10 @@ SUMMARY = "Inittab configuration for SysVinit" | |||
2 | LICENSE = "GPL-2.0-only" | 2 | LICENSE = "GPL-2.0-only" |
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" |
4 | 4 | ||
5 | |||
6 | SRC_URI = "file://inittab \ | 5 | SRC_URI = "file://inittab \ |
7 | file://start_getty" | 6 | file://start_getty" |
8 | 7 | ||
9 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
10 | UNPACKDIR = "${S}" | ||
11 | 9 | ||
12 | INHIBIT_DEFAULT_DEPS = "1" | 10 | INHIBIT_DEFAULT_DEPS = "1" |
13 | 11 | ||
diff --git a/meta/recipes-core/sysvinit/sysvinit_3.14.bb b/meta/recipes-core/sysvinit/sysvinit_3.14.bb index 521eda0bfb..d4bb797624 100644 --- a/meta/recipes-core/sysvinit/sysvinit_3.14.bb +++ b/meta/recipes-core/sysvinit/sysvinit_3.14.bb | |||
@@ -20,7 +20,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.xz \ | |||
20 | " | 20 | " |
21 | SRC_URI[sha256sum] = "c90874b8c054a35991fb8c4d30c443ed1e9b1815ff6165c7b483f558be4e4b53" | 21 | SRC_URI[sha256sum] = "c90874b8c054a35991fb8c4d30c443ed1e9b1815ff6165c7b483f558be4e4b53" |
22 | 22 | ||
23 | S = "${WORKDIR}/sysvinit-${PV}" | 23 | S = "${UNPACKDIR}/sysvinit-${PV}" |
24 | 24 | ||
25 | inherit update-alternatives features_check github-releases | 25 | inherit update-alternatives features_check github-releases |
26 | DEPENDS:append = " update-rc.d-native base-passwd virtual/crypt" | 26 | DEPENDS:append = " update-rc.d-native base-passwd virtual/crypt" |
diff --git a/meta/recipes-core/ttyrun/ttyrun_2.37.0.bb b/meta/recipes-core/ttyrun/ttyrun_2.37.0.bb index e8fb4831e2..507ad1b09e 100644 --- a/meta/recipes-core/ttyrun/ttyrun_2.37.0.bb +++ b/meta/recipes-core/ttyrun/ttyrun_2.37.0.bb | |||
@@ -11,8 +11,6 @@ SRCREV = "793c037ded98cd001075cdb55a9c58e122380256" | |||
11 | 11 | ||
12 | CVE_PRODUCT = "s390-tools" | 12 | CVE_PRODUCT = "s390-tools" |
13 | 13 | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | EXTRA_OEMAKE = "\ | 14 | EXTRA_OEMAKE = "\ |
17 | V=1 \ | 15 | V=1 \ |
18 | CC="${CC}" \ | 16 | CC="${CC}" \ |
diff --git a/meta/recipes-core/udev/udev-extraconf_1.1.bb b/meta/recipes-core/udev/udev-extraconf_1.1.bb index 0d7e4f4f36..2ba6606c05 100644 --- a/meta/recipes-core/udev/udev-extraconf_1.1.bb +++ b/meta/recipes-core/udev/udev-extraconf_1.1.bb | |||
@@ -13,8 +13,7 @@ SRC_URI = " \ | |||
13 | file://localextra.rules \ | 13 | file://localextra.rules \ |
14 | " | 14 | " |
15 | 15 | ||
16 | S = "${WORKDIR}/sources" | 16 | S = "${UNPACKDIR}" |
17 | UNPACKDIR = "${S}" | ||
18 | 17 | ||
19 | MOUNT_BASE = "/run/media" | 18 | MOUNT_BASE = "/run/media" |
20 | MOUNT_GROUP ?= "disk" | 19 | MOUNT_GROUP ?= "disk" |
diff --git a/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb b/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb index 27723c88ef..124b7d32a2 100644 --- a/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb +++ b/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb | |||
@@ -12,8 +12,6 @@ PV .= "+git" | |||
12 | 12 | ||
13 | UPSTREAM_CHECK_COMMITS = "1" | 13 | UPSTREAM_CHECK_COMMITS = "1" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit allarch | 15 | inherit allarch |
18 | 16 | ||
19 | do_compile() { | 17 | do_compile() { |
diff --git a/meta/recipes-core/util-linux/util-linux-libuuid_2.41.bb b/meta/recipes-core/util-linux/util-linux-libuuid_2.41.bb index ad0bfa1d12..5ad2997c27 100644 --- a/meta/recipes-core/util-linux/util-linux-libuuid_2.41.bb +++ b/meta/recipes-core/util-linux/util-linux-libuuid_2.41.bb | |||
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://libuuid/COPYING;md5=6d2cafc999feb2c2de84d4d24b23290c | |||
9 | 9 | ||
10 | inherit autotools gettext pkgconfig | 10 | inherit autotools gettext pkgconfig |
11 | 11 | ||
12 | S = "${WORKDIR}/util-linux-${PV}" | 12 | S = "${UNPACKDIR}/util-linux-${PV}" |
13 | 13 | ||
14 | EXTRA_AUTORECONF += "--exclude=gtkdocize" | 14 | EXTRA_AUTORECONF += "--exclude=gtkdocize" |
15 | EXTRA_OECONF += "--disable-all-programs --enable-libuuid" | 15 | EXTRA_OECONF += "--disable-all-programs --enable-libuuid" |
diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index 6611ec0fe7..111f29cb92 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc | |||
@@ -19,8 +19,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin | |||
19 | file://fcntl-lock.c \ | 19 | file://fcntl-lock.c \ |
20 | file://0001-tests-ts-kill-decode-avoid-using-shell-built-in-kill.patch \ | 20 | file://0001-tests-ts-kill-decode-avoid-using-shell-built-in-kill.patch \ |
21 | file://0001-lsfd-mkfds-foreign-sockets-skip-when-lacking-sock_di.patch \ | 21 | file://0001-lsfd-mkfds-foreign-sockets-skip-when-lacking-sock_di.patch \ |
22 | file://0001-test_sysinfo.c-print-out-SIGRTMIN.patch \ | 22 | file://0001-ts-kill-decode-use-RTMIN-from-kill-L-instead-of-hard.patch \ |
23 | file://0002-ts-kill-decode-use-SIGRTMIN-from-test_sysinfo-instea.patch \ | ||
24 | " | 23 | " |
25 | 24 | ||
26 | SRC_URI[sha256sum] = "81ee93b3cfdfeb7d7c4090cedeba1d7bbce9141fd0b501b686b3fe475ddca4c6" | 25 | SRC_URI[sha256sum] = "81ee93b3cfdfeb7d7c4090cedeba1d7bbce9141fd0b501b686b3fe475ddca4c6" |
diff --git a/meta/recipes-core/util-linux/util-linux/0001-test_sysinfo.c-print-out-SIGRTMIN.patch b/meta/recipes-core/util-linux/util-linux/0001-test_sysinfo.c-print-out-SIGRTMIN.patch deleted file mode 100644 index ee9f220842..0000000000 --- a/meta/recipes-core/util-linux/util-linux/0001-test_sysinfo.c-print-out-SIGRTMIN.patch +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | From 50774e34fee0cd528b195a863bcd4e3a04fbfc4b Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Wed, 4 Jun 2025 10:52:18 +0800 | ||
4 | Subject: [PATCH 1/2] test_sysinfo.c: print out SIGRTMIN | ||
5 | |||
6 | This will be used by ts/kill/decode. | ||
7 | |||
8 | Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/3605] | ||
9 | |||
10 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
11 | --- | ||
12 | tests/helpers/test_sysinfo.c | 8 ++++++++ | ||
13 | 1 file changed, 8 insertions(+) | ||
14 | |||
15 | diff --git a/tests/helpers/test_sysinfo.c b/tests/helpers/test_sysinfo.c | ||
16 | index 1559d471f..3a791e7f1 100644 | ||
17 | --- a/tests/helpers/test_sysinfo.c | ||
18 | +++ b/tests/helpers/test_sysinfo.c | ||
19 | @@ -27,6 +27,7 @@ | ||
20 | #include <errno.h> | ||
21 | #include <time.h> | ||
22 | #include <sys/ioctl.h> | ||
23 | +#include <signal.h> | ||
24 | |||
25 | #include "c.h" | ||
26 | |||
27 | @@ -116,6 +117,12 @@ static int hlp_ulong_max32(void) | ||
28 | return 0; | ||
29 | } | ||
30 | |||
31 | +static int hlp_sigrtmin(void) | ||
32 | +{ | ||
33 | + printf("%d\n", SIGRTMIN); | ||
34 | + return 0; | ||
35 | +} | ||
36 | + | ||
37 | static int hlp_wcsspn_ok(void) | ||
38 | { | ||
39 | printf("%d\n", wcsspn(L"FOO", L"F") == 1); | ||
40 | @@ -229,6 +236,7 @@ static const mntHlpfnc hlps[] = | ||
41 | { "ULONG_MAX", hlp_ulong_max }, | ||
42 | { "ULONG_MAX32",hlp_ulong_max32 }, | ||
43 | { "UINT64_MAX", hlp_u64_max }, | ||
44 | + { "SIGRTMIN", hlp_sigrtmin }, | ||
45 | { "byte-order", hlp_endianness }, | ||
46 | { "wcsspn-ok", hlp_wcsspn_ok }, | ||
47 | { "enotty-ok", hlp_enotty_ok }, | ||
48 | -- | ||
49 | 2.34.1 | ||
50 | |||
diff --git a/meta/recipes-core/util-linux/util-linux/0002-ts-kill-decode-use-SIGRTMIN-from-test_sysinfo-instea.patch b/meta/recipes-core/util-linux/util-linux/0001-ts-kill-decode-use-RTMIN-from-kill-L-instead-of-hard.patch index 5a00c9037a..f4e2f9e745 100644 --- a/meta/recipes-core/util-linux/util-linux/0002-ts-kill-decode-use-SIGRTMIN-from-test_sysinfo-instea.patch +++ b/meta/recipes-core/util-linux/util-linux/0001-ts-kill-decode-use-RTMIN-from-kill-L-instead-of-hard.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 9848b0d8c90d9a24275bf402f6d76e97f62b3ba4 Mon Sep 17 00:00:00 2001 | 1 | From c5d5e8873029d170fcab38a6fbd5d5a355574b9f Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Wed, 4 Jun 2025 16:27:19 +0800 | 3 | Date: Wed, 4 Jun 2025 16:27:19 +0800 |
4 | Subject: [PATCH 2/2] ts/kill/decode: use SIGRTMIN from test_sysinfo instead of | 4 | Subject: [PATCH] ts/kill/decode: use RTMIN from 'kill -L' instead of |
5 | hardcoding 34 | 5 | hardcoding 34 |
6 | 6 | ||
7 | glibc uses 34 as the value of SIGRTMIN: | 7 | glibc uses 34 as the value of SIGRTMIN: |
@@ -16,9 +16,11 @@ With the hardcoded 34, test case fails with the following difference: | |||
16 | -Ignored: HUP QUIT TRAP PIPE ALRM | 16 | -Ignored: HUP QUIT TRAP PIPE ALRM |
17 | +Ignored: HUP QUIT TRAP PIPE ALRM 34 | 17 | +Ignored: HUP QUIT TRAP PIPE ALRM 34 |
18 | 18 | ||
19 | Use SIGRTMIN got from test_sysinfo to fix this issue. | 19 | Extract the value of RTMIN from 'kill -L' to avoid such hardcoding. |
20 | 20 | ||
21 | Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/3605] | 21 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> |
22 | |||
23 | Upstream-Status: Backport [https://github.com/util-linux/util-linux/commit/c5d5e8873029d170fcab38a6fbd5d5a355574b9f] | ||
22 | 24 | ||
23 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | 25 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> |
24 | --- | 26 | --- |
@@ -26,15 +28,15 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
26 | 1 file changed, 7 insertions(+), 2 deletions(-) | 28 | 1 file changed, 7 insertions(+), 2 deletions(-) |
27 | 29 | ||
28 | diff --git a/tests/ts/kill/decode b/tests/ts/kill/decode | 30 | diff --git a/tests/ts/kill/decode b/tests/ts/kill/decode |
29 | index 03bc25ff6..dd34aacef 100755 | 31 | index 57149899e..524b4e5e2 100755 |
30 | --- a/tests/ts/kill/decode | 32 | --- a/tests/ts/kill/decode |
31 | +++ b/tests/ts/kill/decode | 33 | +++ b/tests/ts/kill/decode |
32 | @@ -48,14 +48,19 @@ ACK= | 34 | @@ -53,14 +53,19 @@ ACK= |
33 | # Sending one more USR1 is for making the signal pending state. | 35 | # Sending one more USR1 is for making the signal pending state. |
34 | "$TS_CMD_KILL" -USR1 "$PID" | 36 | "$TS_CMD_KILL" -USR1 "$PID" |
35 | "$TS_CMD_KILL" -d "$PID" | { | 37 | "$TS_CMD_KILL" -d "$PID" | { |
36 | - if [[ $("$TS_CMD_KILL" --list=34) == RT0 ]]; then | 38 | - if [[ $("$TS_CMD_KILL" --list=34) == RT0 ]]; then |
37 | + SIGRTMIN=$($TS_HELPER_SYSINFO SIGRTMIN) | 39 | + SIGRTMIN=$("$TS_CMD_KILL" -L | grep -o '[0-9]\+ RTMIN' | cut -d " " -f 1) |
38 | + if [[ $("$TS_CMD_KILL" --list=$SIGRTMIN) == RT0 ]]; then | 40 | + if [[ $("$TS_CMD_KILL" --list=$SIGRTMIN) == RT0 ]]; then |
39 | # See man signal(7). | 41 | # See man signal(7). |
40 | # The Linux kernel supports a range of 33 different real-time signals, | 42 | # The Linux kernel supports a range of 33 different real-time signals, |
diff --git a/meta/recipes-core/volatile-binds/volatile-binds.bb b/meta/recipes-core/volatile-binds/volatile-binds.bb index 3597ec7356..857bcc93ff 100644 --- a/meta/recipes-core/volatile-binds/volatile-binds.bb +++ b/meta/recipes-core/volatile-binds/volatile-binds.bb | |||
@@ -9,8 +9,7 @@ SRC_URI = "\ | |||
9 | file://volatile-binds.service.in \ | 9 | file://volatile-binds.service.in \ |
10 | " | 10 | " |
11 | 11 | ||
12 | S = "${WORKDIR}/sources" | 12 | S = "${UNPACKDIR}" |
13 | UNPACKDIR = "${S}" | ||
14 | 13 | ||
15 | inherit allarch systemd features_check | 14 | inherit allarch systemd features_check |
16 | 15 | ||
diff --git a/meta/recipes-devtools/bindgen-cli/bindgen-cli_0.71.1.bb b/meta/recipes-devtools/bindgen-cli/bindgen-cli_0.71.1.bb index 5578fb3d18..79f2488727 100644 --- a/meta/recipes-devtools/bindgen-cli/bindgen-cli_0.71.1.bb +++ b/meta/recipes-devtools/bindgen-cli/bindgen-cli_0.71.1.bb | |||
@@ -8,7 +8,6 @@ inherit rust cargo cargo-update-recipe-crates | |||
8 | 8 | ||
9 | SRC_URI += "git://github.com/rust-lang/rust-bindgen.git;protocol=https;branch=main" | 9 | SRC_URI += "git://github.com/rust-lang/rust-bindgen.git;protocol=https;branch=main" |
10 | SRCREV = "af7fd38d5e80514406fb6a8bba2d407d252c30b9" | 10 | SRCREV = "af7fd38d5e80514406fb6a8bba2d407d252c30b9" |
11 | S = "${WORKDIR}/git" | ||
12 | 11 | ||
13 | require ${BPN}-crates.inc | 12 | require ${BPN}-crates.inc |
14 | 13 | ||
diff --git a/meta/recipes-devtools/binutils/binutils-2.44.inc b/meta/recipes-devtools/binutils/binutils-2.44.inc index 90546a0cfa..18bff2816a 100644 --- a/meta/recipes-devtools/binutils/binutils-2.44.inc +++ b/meta/recipes-devtools/binutils/binutils-2.44.inc | |||
@@ -44,4 +44,3 @@ SRC_URI = "\ | |||
44 | file://0019-CVE-2025-5244.patch \ | 44 | file://0019-CVE-2025-5244.patch \ |
45 | file://0019-CVE-2025-3198.patch \ | 45 | file://0019-CVE-2025-3198.patch \ |
46 | " | 46 | " |
47 | S = "${WORKDIR}/git" | ||
diff --git a/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb b/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb index 06625d099e..922e665028 100644 --- a/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb +++ b/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb | |||
@@ -98,10 +98,8 @@ SRC_URI = "git://github.com/xrmx/bootchart.git;branch=master;protocol=https \ | |||
98 | file://0002-Makefile-Add-n-to-gzip.patch \ | 98 | file://0002-Makefile-Add-n-to-gzip.patch \ |
99 | " | 99 | " |
100 | 100 | ||
101 | S = "${WORKDIR}/git" | ||
102 | SRCREV = "868a2afab9da34f32c007d773b77253c93104636" | 101 | SRCREV = "868a2afab9da34f32c007d773b77253c93104636" |
103 | 102 | ||
104 | |||
105 | inherit systemd update-rc.d python3native update-alternatives | 103 | inherit systemd update-rc.d python3native update-alternatives |
106 | 104 | ||
107 | ALTERNATIVE:${PN} = "bootchartd" | 105 | ALTERNATIVE:${PN} = "bootchartd" |
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.14.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.14.bb index d3d320e107..982d4830b5 100644 --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.14.bb +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.14.bb | |||
@@ -19,7 +19,6 @@ SRC_URI = "git://github.com/kdave/btrfs-progs.git;branch=master;protocol=https;t | |||
19 | file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ | 19 | file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ |
20 | " | 20 | " |
21 | SRCREV = "5ad147c9ec00e657393c85b195c9bcc0f4c35a54" | 21 | SRCREV = "5ad147c9ec00e657393c85b195c9bcc0f4c35a54" |
22 | S = "${WORKDIR}/git" | ||
23 | 22 | ||
24 | PACKAGECONFIG ??= " \ | 23 | PACKAGECONFIG ??= " \ |
25 | programs \ | 24 | programs \ |
@@ -60,7 +59,6 @@ do_configure:prepend() { | |||
60 | cp -f $(automake --print-libdir)/install-sh ${S}/config/ | 59 | cp -f $(automake --print-libdir)/install-sh ${S}/config/ |
61 | } | 60 | } |
62 | 61 | ||
63 | |||
64 | do_install:append() { | 62 | do_install:append() { |
65 | if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then | 63 | if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then |
66 | oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python | 64 | oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python |
diff --git a/meta/recipes-devtools/chrpath/chrpath_0.18.bb b/meta/recipes-devtools/chrpath/chrpath_0.18.bb index 653c1115d0..3d89fd2c92 100644 --- a/meta/recipes-devtools/chrpath/chrpath_0.18.bb +++ b/meta/recipes-devtools/chrpath/chrpath_0.18.bb | |||
@@ -12,7 +12,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/c/${BPN}/${BPN}_${PV}.orig.tar.gz \ | |||
12 | SRC_URI[sha256sum] = "f09c49f0618660ca11fc6d9580ddde904c7224d4c6d0f6f2d1f9bcdc9102c9aa" | 12 | SRC_URI[sha256sum] = "f09c49f0618660ca11fc6d9580ddde904c7224d4c6d0f6f2d1f9bcdc9102c9aa" |
13 | 13 | ||
14 | inherit autotools | 14 | inherit autotools |
15 | S = "${WORKDIR}/chrpath" | 15 | S = "${UNPACKDIR}/chrpath" |
16 | 16 | ||
17 | # We don't have a staged chrpath-native for ensuring our binary is | 17 | # We don't have a staged chrpath-native for ensuring our binary is |
18 | # relocatable, so use the one we've just built | 18 | # relocatable, so use the one we've just built |
diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb index f958b72414..23dfbb5deb 100644 --- a/meta/recipes-devtools/clang/clang_git.bb +++ b/meta/recipes-devtools/clang/clang_git.bb | |||
@@ -22,7 +22,7 @@ INHIBIT_DEFAULT_DEPS:class-native = "1" | |||
22 | LDFLAGS:append:class-target:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed" | 22 | LDFLAGS:append:class-target:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed" |
23 | LDFLAGS:append:class-target:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed" | 23 | LDFLAGS:append:class-target:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed" |
24 | 24 | ||
25 | inherit cmake pkgconfig python3native python3targetconfig | 25 | inherit cmake pkgconfig python3native python3targetconfig multilib_header |
26 | 26 | ||
27 | OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" | 27 | OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" |
28 | 28 | ||
@@ -237,6 +237,9 @@ do_install:append() { | |||
237 | install -Dm 0755 ${B}${BINPATHPREFIX}/bin/$t ${D}${bindir}/$t | 237 | install -Dm 0755 ${B}${BINPATHPREFIX}/bin/$t ${D}${bindir}/$t |
238 | fi | 238 | fi |
239 | done | 239 | done |
240 | |||
241 | oe_multilib_header llvm/Config/llvm-config.h | ||
242 | oe_multilib_header clang/Config/config.h | ||
240 | } | 243 | } |
241 | 244 | ||
242 | do_install:append:class-target () { | 245 | do_install:append:class-target () { |
@@ -316,7 +319,6 @@ PROVIDES:append:class-nativesdk = " nativesdk-llvm nativesdk-libclc" | |||
316 | PACKAGES =+ "${PN}-libllvm ${PN}-lldb-python ${PN}-libclang-python ${PN}-libclang-cpp ${PN}-tidy ${PN}-format ${PN}-tools ${PN}-clc \ | 319 | PACKAGES =+ "${PN}-libllvm ${PN}-lldb-python ${PN}-libclang-python ${PN}-libclang-cpp ${PN}-tidy ${PN}-format ${PN}-tools ${PN}-clc \ |
317 | libclang lldb lldb-server liblldb llvm-linker-tools" | 320 | libclang lldb lldb-server liblldb llvm-linker-tools" |
318 | 321 | ||
319 | |||
320 | BBCLASSEXTEND = "native nativesdk" | 322 | BBCLASSEXTEND = "native nativesdk" |
321 | 323 | ||
322 | RDEPENDS:lldb += "${PN}-lldb-python lldb-server" | 324 | RDEPENDS:lldb += "${PN}-lldb-python lldb-server" |
diff --git a/meta/recipes-devtools/clang/common.inc b/meta/recipes-devtools/clang/common.inc index 5244298dfb..0684e648cc 100644 --- a/meta/recipes-devtools/clang/common.inc +++ b/meta/recipes-devtools/clang/common.inc | |||
@@ -63,7 +63,8 @@ SRC_URI = "\ | |||
63 | # Fallback to no-PIE if not set | 63 | # Fallback to no-PIE if not set |
64 | GCCPIE ??= "" | 64 | GCCPIE ??= "" |
65 | 65 | ||
66 | S = "${TMPDIR}/work-shared/llvm-project-source-${PV}-${PR}/${SOURCEDIR}" | 66 | UNPACKDIR = "${TMPDIR}/work-shared/llvm-project-source-${PV}-${PR}/sources" |
67 | S = "${UNPACKDIR}/${SOURCEDIR}" | ||
67 | B ?= "${WORKDIR}/llvm-project-source-${PV}/build.${HOST_SYS}.${TARGET_SYS}" | 68 | B ?= "${WORKDIR}/llvm-project-source-${PV}/build.${HOST_SYS}.${TARGET_SYS}" |
68 | 69 | ||
69 | # We need to ensure that for the shared work directory, the do_patch signatures match | 70 | # We need to ensure that for the shared work directory, the do_patch signatures match |
diff --git a/meta/recipes-devtools/clang/compiler-rt_git.bb b/meta/recipes-devtools/clang/compiler-rt_git.bb index 7b442183ef..ff6cc29bf3 100644 --- a/meta/recipes-devtools/clang/compiler-rt_git.bb +++ b/meta/recipes-devtools/clang/compiler-rt_git.bb | |||
@@ -16,7 +16,6 @@ BPN = "compiler-rt" | |||
16 | 16 | ||
17 | inherit cmake pkgconfig python3native | 17 | inherit cmake pkgconfig python3native |
18 | 18 | ||
19 | |||
20 | LIC_FILES_CHKSUM = "file://compiler-rt/LICENSE.TXT;md5=d846d1d65baf322d4c485d6ee54e877a" | 19 | LIC_FILES_CHKSUM = "file://compiler-rt/LICENSE.TXT;md5=d846d1d65baf322d4c485d6ee54e877a" |
21 | 20 | ||
22 | LIBCPLUSPLUS = "" | 21 | LIBCPLUSPLUS = "" |
diff --git a/meta/recipes-devtools/clang/llvm-project-source.inc b/meta/recipes-devtools/clang/llvm-project-source.inc index 0820dd3492..13e54efbc2 100644 --- a/meta/recipes-devtools/clang/llvm-project-source.inc +++ b/meta/recipes-devtools/clang/llvm-project-source.inc | |||
@@ -66,7 +66,6 @@ python do_preconfigure() { | |||
66 | cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_VENDORS_CASES#%s#g' -i ${S}/llvm/lib/TargetParser/Triple.cpp" % (case)) | 66 | cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_VENDORS_CASES#%s#g' -i ${S}/llvm/lib/TargetParser/Triple.cpp" % (case)) |
67 | subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) | 67 | subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) |
68 | 68 | ||
69 | |||
70 | case = "" | 69 | case = "" |
71 | triple = "" | 70 | triple = "" |
72 | name = "" | 71 | name = "" |
diff --git a/meta/recipes-devtools/cmake/cmake-native_3.31.6.bb b/meta/recipes-devtools/cmake/cmake-native_3.31.6.bb index e285a17681..b940abb3fd 100644 --- a/meta/recipes-devtools/cmake/cmake-native_3.31.6.bb +++ b/meta/recipes-devtools/cmake/cmake-native_3.31.6.bb | |||
@@ -51,7 +51,7 @@ do_compile() { | |||
51 | do_install() { | 51 | do_install() { |
52 | oe_runmake 'DESTDIR=${D}' install | 52 | oe_runmake 'DESTDIR=${D}' install |
53 | 53 | ||
54 | # The following codes are here because eSDK needs to provide compatibilty | 54 | # The following codes are here because eSDK needs to provide compatibility |
55 | # for SDK. That is, eSDK could also be used like traditional SDK. | 55 | # for SDK. That is, eSDK could also be used like traditional SDK. |
56 | mkdir -p ${D}${datadir}/cmake | 56 | mkdir -p ${D}${datadir}/cmake |
57 | install -m 644 ${UNPACKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ | 57 | install -m 644 ${UNPACKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ |
diff --git a/meta/recipes-devtools/cmake/cmake/0001-ctest-Allow-arbitrary-characters-in-test-names-of-CT.patch b/meta/recipes-devtools/cmake/cmake/0001-ctest-Allow-arbitrary-characters-in-test-names-of-CT.patch new file mode 100644 index 0000000000..31f6148cac --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/0001-ctest-Allow-arbitrary-characters-in-test-names-of-CT.patch | |||
@@ -0,0 +1,202 @@ | |||
1 | From c7e8b03324883760a2d6fab86ae034beb82af651 Mon Sep 17 00:00:00 2001 | ||
2 | From: John Drouhard <john@drouhard.dev> | ||
3 | Date: Thu, 9 Jan 2025 20:34:42 -0600 | ||
4 | Subject: [PATCH] ctest: Allow arbitrary characters in test names of | ||
5 | CTestCostData.txt | ||
6 | |||
7 | This changes the way lines in CTestCostData.txt are parsed to allow for | ||
8 | spaces in the test name. | ||
9 | |||
10 | It does so by looking for space characters from the end; and once two | ||
11 | have been found, assumes everything from the beginning up to that | ||
12 | second-to-last-space is the test name. | ||
13 | |||
14 | Additionally, parsing the file should be much more efficient since there | ||
15 | is no string or vector heap allocation per line. The std::string used by | ||
16 | the parse function to convert the int and float should be within most | ||
17 | standard libraries' small string optimization. | ||
18 | |||
19 | Fixes: #26594 | ||
20 | |||
21 | Upstream-Status: Backport [4.0.0, 040da7d83216ace59710407e8ce35d5fd38e1340] | ||
22 | Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de> | ||
23 | --- | ||
24 | Source/CTest/cmCTestMultiProcessHandler.cxx | 77 +++++++++++++++------ | ||
25 | Source/CTest/cmCTestMultiProcessHandler.h | 3 +- | ||
26 | Tests/CTestTestScheduler/CMakeLists.txt | 4 +- | ||
27 | 3 files changed, 61 insertions(+), 23 deletions(-) | ||
28 | |||
29 | diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx | ||
30 | index 84ea32b84d40025ec333a90d30c42eeaf7adc9ef..231e7b5f39b1d8aa75f4e59a890a099b53fcdaac 100644 | ||
31 | --- a/Source/CTest/cmCTestMultiProcessHandler.cxx | ||
32 | +++ b/Source/CTest/cmCTestMultiProcessHandler.cxx | ||
33 | @@ -20,6 +20,7 @@ | ||
34 | |||
35 | #include <cm/memory> | ||
36 | #include <cm/optional> | ||
37 | +#include <cm/string_view> | ||
38 | #include <cmext/algorithm> | ||
39 | |||
40 | #include <cm3p/json/value.h> | ||
41 | @@ -52,6 +53,48 @@ constexpr unsigned long kParallelLevelMinimum = 2u; | ||
42 | // Under a job server, parallelism is effectively limited | ||
43 | // only by available job server tokens. | ||
44 | constexpr unsigned long kParallelLevelUnbounded = 0x10000u; | ||
45 | + | ||
46 | +struct CostEntry | ||
47 | +{ | ||
48 | + cm::string_view name; | ||
49 | + int prevRuns; | ||
50 | + float cost; | ||
51 | +}; | ||
52 | + | ||
53 | +cm::optional<CostEntry> splitCostLine(cm::string_view line) | ||
54 | +{ | ||
55 | + std::string part; | ||
56 | + cm::string_view::size_type pos1 = line.size(); | ||
57 | + cm::string_view::size_type pos2 = line.find_last_of(' ', pos1); | ||
58 | + auto findNext = [line, &part, &pos1, &pos2]() -> bool { | ||
59 | + if (pos2 != cm::string_view::npos) { | ||
60 | + cm::string_view sub = line.substr(pos2 + 1, pos1 - pos2 - 1); | ||
61 | + part.assign(sub.begin(), sub.end()); | ||
62 | + pos1 = pos2; | ||
63 | + if (pos1 > 0) { | ||
64 | + pos2 = line.find_last_of(' ', pos1 - 1); | ||
65 | + } | ||
66 | + return true; | ||
67 | + } | ||
68 | + return false; | ||
69 | + }; | ||
70 | + | ||
71 | + // parse the cost | ||
72 | + if (!findNext()) { | ||
73 | + return cm::nullopt; | ||
74 | + } | ||
75 | + float cost = static_cast<float>(atof(part.c_str())); | ||
76 | + | ||
77 | + // parse the previous runs | ||
78 | + if (!findNext()) { | ||
79 | + return cm::nullopt; | ||
80 | + } | ||
81 | + int prev = atoi(part.c_str()); | ||
82 | + | ||
83 | + // from start to the last found space is the name | ||
84 | + return CostEntry{ line.substr(0, pos1), prev, cost }; | ||
85 | +} | ||
86 | + | ||
87 | } | ||
88 | |||
89 | namespace cmsys { | ||
90 | @@ -797,24 +840,21 @@ void cmCTestMultiProcessHandler::UpdateCostData() | ||
91 | if (line == "---") { | ||
92 | break; | ||
93 | } | ||
94 | - std::vector<std::string> parts = cmSystemTools::SplitString(line, ' '); | ||
95 | // Format: <name> <previous_runs> <avg_cost> | ||
96 | - if (parts.size() < 3) { | ||
97 | + cm::optional<CostEntry> entry = splitCostLine(line); | ||
98 | + if (!entry) { | ||
99 | break; | ||
100 | } | ||
101 | |||
102 | - std::string name = parts[0]; | ||
103 | - int prev = atoi(parts[1].c_str()); | ||
104 | - float cost = static_cast<float>(atof(parts[2].c_str())); | ||
105 | - | ||
106 | - int index = this->SearchByName(name); | ||
107 | + int index = this->SearchByName(entry->name); | ||
108 | if (index == -1) { | ||
109 | // This test is not in memory. We just rewrite the entry | ||
110 | - fout << name << " " << prev << " " << cost << "\n"; | ||
111 | + fout << entry->name << " " << entry->prevRuns << " " << entry->cost | ||
112 | + << "\n"; | ||
113 | } else { | ||
114 | // Update with our new average cost | ||
115 | - fout << name << " " << this->Properties[index]->PreviousRuns << " " | ||
116 | - << this->Properties[index]->Cost << "\n"; | ||
117 | + fout << entry->name << " " << this->Properties[index]->PreviousRuns | ||
118 | + << " " << this->Properties[index]->Cost << "\n"; | ||
119 | temp.erase(index); | ||
120 | } | ||
121 | } | ||
122 | @@ -850,28 +890,25 @@ void cmCTestMultiProcessHandler::ReadCostData() | ||
123 | break; | ||
124 | } | ||
125 | |||
126 | - std::vector<std::string> parts = cmSystemTools::SplitString(line, ' '); | ||
127 | + // Format: <name> <previous_runs> <avg_cost> | ||
128 | + cm::optional<CostEntry> entry = splitCostLine(line); | ||
129 | |||
130 | // Probably an older version of the file, will be fixed next run | ||
131 | - if (parts.size() < 3) { | ||
132 | + if (!entry) { | ||
133 | fin.close(); | ||
134 | return; | ||
135 | } | ||
136 | |||
137 | - std::string name = parts[0]; | ||
138 | - int prev = atoi(parts[1].c_str()); | ||
139 | - float cost = static_cast<float>(atof(parts[2].c_str())); | ||
140 | - | ||
141 | - int index = this->SearchByName(name); | ||
142 | + int index = this->SearchByName(entry->name); | ||
143 | if (index == -1) { | ||
144 | continue; | ||
145 | } | ||
146 | |||
147 | - this->Properties[index]->PreviousRuns = prev; | ||
148 | + this->Properties[index]->PreviousRuns = entry->prevRuns; | ||
149 | // When not running in parallel mode, don't use cost data | ||
150 | if (this->GetParallelLevel() > 1 && this->Properties[index] && | ||
151 | this->Properties[index]->Cost == 0) { | ||
152 | - this->Properties[index]->Cost = cost; | ||
153 | + this->Properties[index]->Cost = entry->cost; | ||
154 | } | ||
155 | } | ||
156 | // Next part of the file is the failed tests | ||
157 | @@ -884,7 +921,7 @@ void cmCTestMultiProcessHandler::ReadCostData() | ||
158 | } | ||
159 | } | ||
160 | |||
161 | -int cmCTestMultiProcessHandler::SearchByName(std::string const& name) | ||
162 | +int cmCTestMultiProcessHandler::SearchByName(cm::string_view name) | ||
163 | { | ||
164 | int index = -1; | ||
165 | |||
166 | diff --git a/Source/CTest/cmCTestMultiProcessHandler.h b/Source/CTest/cmCTestMultiProcessHandler.h | ||
167 | index fd6c17f2fac06949c20f3792dd3eae442b15850b..811be613c3387240c0181f8372b24cf09219621f 100644 | ||
168 | --- a/Source/CTest/cmCTestMultiProcessHandler.h | ||
169 | +++ b/Source/CTest/cmCTestMultiProcessHandler.h | ||
170 | @@ -13,6 +13,7 @@ | ||
171 | #include <vector> | ||
172 | |||
173 | #include <cm/optional> | ||
174 | +#include <cm/string_view> | ||
175 | |||
176 | #include "cmCTest.h" | ||
177 | #include "cmCTestResourceAllocator.h" | ||
178 | @@ -110,7 +111,7 @@ protected: | ||
179 | void UpdateCostData(); | ||
180 | void ReadCostData(); | ||
181 | // Return index of a test based on its name | ||
182 | - int SearchByName(std::string const& name); | ||
183 | + int SearchByName(cm::string_view name); | ||
184 | |||
185 | void CreateTestCostList(); | ||
186 | |||
187 | diff --git a/Tests/CTestTestScheduler/CMakeLists.txt b/Tests/CTestTestScheduler/CMakeLists.txt | ||
188 | index 6f8cb4dbc0de35984540e1868788e0a02124e819..daf6ce2b23d8c048334ae1047759130b246dccef 100644 | ||
189 | --- a/Tests/CTestTestScheduler/CMakeLists.txt | ||
190 | +++ b/Tests/CTestTestScheduler/CMakeLists.txt | ||
191 | @@ -1,9 +1,9 @@ | ||
192 | -cmake_minimum_required(VERSION 3.10) | ||
193 | +cmake_minimum_required(VERSION 3.19) | ||
194 | project (CTestTestScheduler) | ||
195 | include (CTest) | ||
196 | |||
197 | add_executable (Sleep sleep.c) | ||
198 | |||
199 | foreach (time RANGE 1 4) | ||
200 | - add_test (TestSleep${time} Sleep ${time}) | ||
201 | + add_test ("TestSleep ${time}" Sleep ${time}) | ||
202 | endforeach () | ||
diff --git a/meta/recipes-devtools/cmake/cmake_3.31.6.bb b/meta/recipes-devtools/cmake/cmake_3.31.6.bb index 7d8b8cac65..2d343d6f52 100644 --- a/meta/recipes-devtools/cmake/cmake_3.31.6.bb +++ b/meta/recipes-devtools/cmake/cmake_3.31.6.bb | |||
@@ -5,6 +5,7 @@ inherit cmake bash-completion | |||
5 | DEPENDS += "curl expat zlib libarchive xz ncurses bzip2" | 5 | DEPENDS += "curl expat zlib libarchive xz ncurses bzip2" |
6 | 6 | ||
7 | SRC_URI:append:class-nativesdk = " \ | 7 | SRC_URI:append:class-nativesdk = " \ |
8 | file://0001-ctest-Allow-arbitrary-characters-in-test-names-of-CT.patch \ | ||
8 | file://OEToolchainConfig.cmake \ | 9 | file://OEToolchainConfig.cmake \ |
9 | file://SDKToolchainConfig.cmake.template \ | 10 | file://SDKToolchainConfig.cmake.template \ |
10 | file://cmake-setup.py \ | 11 | file://cmake-setup.py \ |
diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c_1.2.1.bb b/meta/recipes-devtools/createrepo-c/createrepo-c_1.2.1.bb index d12e3184a0..63a717726c 100644 --- a/meta/recipes-devtools/createrepo-c/createrepo-c_1.2.1.bb +++ b/meta/recipes-devtools/createrepo-c/createrepo-c_1.2.1.bb | |||
@@ -11,8 +11,6 @@ SRC_URI = "git://github.com/rpm-software-management/createrepo_c;branch=master;p | |||
11 | 11 | ||
12 | SRCREV = "8c6e6f88df86d1e34ca26d3835d77a2816326414" | 12 | SRCREV = "8c6e6f88df86d1e34ca26d3835d77a2816326414" |
13 | 13 | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm" | 14 | DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm" |
17 | DEPENDS:append:class-native = " file-replacement-native" | 15 | DEPENDS:append:class-native = " file-replacement-native" |
18 | 16 | ||
diff --git a/meta/recipes-devtools/devel-config/distcc-config.bb b/meta/recipes-devtools/devel-config/distcc-config.bb index 2c30488b82..f5b2f0f246 100644 --- a/meta/recipes-devtools/devel-config/distcc-config.bb +++ b/meta/recipes-devtools/devel-config/distcc-config.bb | |||
@@ -6,8 +6,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
6 | 6 | ||
7 | SRC_URI = "file://distcc.sh" | 7 | SRC_URI = "file://distcc.sh" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | 9 | S = "${UNPACKDIR}" |
10 | UNPACKDIR = "${S}" | ||
11 | 10 | ||
12 | # Default to the host machine for a running qemu session | 11 | # Default to the host machine for a running qemu session |
13 | DISTCC_HOSTS ?= "192.168.7.1" | 12 | DISTCC_HOSTS ?= "192.168.7.1" |
diff --git a/meta/recipes-devtools/devel-config/nfs-export-root.bb b/meta/recipes-devtools/devel-config/nfs-export-root.bb index ad5486aa87..a827bb58ee 100644 --- a/meta/recipes-devtools/devel-config/nfs-export-root.bb +++ b/meta/recipes-devtools/devel-config/nfs-export-root.bb | |||
@@ -5,8 +5,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
5 | 5 | ||
6 | SRC_URI = "file://exports" | 6 | SRC_URI = "file://exports" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | do_install() { | 10 | do_install() { |
12 | install -d ${D}${sysconfdir} | 11 | install -d ${D}${sysconfdir} |
diff --git a/meta/recipes-devtools/distcc/distcc_3.4.bb b/meta/recipes-devtools/distcc/distcc_3.4.bb index ab138b3ab6..392f4ae272 100644 --- a/meta/recipes-devtools/distcc/distcc_3.4.bb +++ b/meta/recipes-devtools/distcc/distcc_3.4.bb | |||
@@ -21,7 +21,6 @@ SRC_URI = "git://github.com/distcc/distcc.git;branch=master;protocol=https \ | |||
21 | file://distcc.service \ | 21 | file://distcc.service \ |
22 | " | 22 | " |
23 | SRCREV = "50d821efe99cae82c05be0a4ab3b4035ef0d3883" | 23 | SRCREV = "50d821efe99cae82c05be0a4ab3b4035ef0d3883" |
24 | S = "${WORKDIR}/git" | ||
25 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | 24 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" |
26 | 25 | ||
27 | inherit autotools pkgconfig update-rc.d useradd systemd | 26 | inherit autotools pkgconfig update-rc.d useradd systemd |
diff --git a/meta/recipes-devtools/dnf/dnf_4.22.0.bb b/meta/recipes-devtools/dnf/dnf_4.23.0.bb index e5ac3c9824..927a8d8930 100644 --- a/meta/recipes-devtools/dnf/dnf_4.22.0.bb +++ b/meta/recipes-devtools/dnf/dnf_4.23.0.bb | |||
@@ -20,11 +20,9 @@ SRC_URI = "git://github.com/rpm-software-management/dnf.git;branch=master;protoc | |||
20 | 20 | ||
21 | SRC_URI:append:class-native = " file://0001-dnf-write-the-log-lock-to-root.patch" | 21 | SRC_URI:append:class-native = " file://0001-dnf-write-the-log-lock-to-root.patch" |
22 | 22 | ||
23 | SRCREV = "da9a7066be8e1628d9453428d33685225cd9c90d" | 23 | SRCREV = "8fa4bb94a99eadaed91ad2ee51f27a4baafcebed" |
24 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" | 24 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" |
25 | 25 | ||
26 | S = "${WORKDIR}/git" | ||
27 | |||
28 | inherit cmake gettext bash-completion setuptools3-base systemd | 26 | inherit cmake gettext bash-completion setuptools3-base systemd |
29 | 27 | ||
30 | DEPENDS += "libdnf librepo libcomps" | 28 | DEPENDS += "libdnf librepo libcomps" |
@@ -37,6 +35,7 @@ BBCLASSEXTEND = "native nativesdk" | |||
37 | RDEPENDS:${PN} += " \ | 35 | RDEPENDS:${PN} += " \ |
38 | python3-core \ | 36 | python3-core \ |
39 | python3-codecs \ | 37 | python3-codecs \ |
38 | python3-ctypes \ | ||
40 | python3-netclient \ | 39 | python3-netclient \ |
41 | python3-email \ | 40 | python3-email \ |
42 | python3-threading \ | 41 | python3-threading \ |
diff --git a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb b/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb index 58e9b6659e..1148d53694 100644 --- a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb +++ b/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb | |||
@@ -26,8 +26,7 @@ SRC_URI[payloadPV.sha256sum] = "4e4e037a2b83c98c6c94818390d4bdd3f6e10f6ec62dd791 | |||
26 | 26 | ||
27 | UPSTREAM_CHECK_REGEX = "docbook-xml-(?P<pver>4(\.\d+)).zip" | 27 | UPSTREAM_CHECK_REGEX = "docbook-xml-(?P<pver>4(\.\d+)).zip" |
28 | 28 | ||
29 | S = "${WORKDIR}/sources" | 29 | S = "${UNPACKDIR}" |
30 | UNPACKDIR = "${S}" | ||
31 | 30 | ||
32 | do_configure (){ | 31 | do_configure (){ |
33 | : | 32 | : |
diff --git a/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb b/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb index ea81bf9507..7e4730b5e9 100644 --- a/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb +++ b/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb | |||
@@ -13,7 +13,7 @@ UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/docbook/files/docbook-xsl/ | |||
13 | # Reject versions ending in .0 as those are release candidates | 13 | # Reject versions ending in .0 as those are release candidates |
14 | UPSTREAM_CHECK_REGEX = "/docbook-xsl/(?P<pver>(\d+[\.\-_]*)+(?!\.0)\.\d+)/" | 14 | UPSTREAM_CHECK_REGEX = "/docbook-xsl/(?P<pver>(\d+[\.\-_]*)+(?!\.0)\.\d+)/" |
15 | 15 | ||
16 | S = "${WORKDIR}/docbook-xsl-${PV}" | 16 | S = "${UNPACKDIR}/docbook-xsl-${PV}" |
17 | 17 | ||
18 | inherit allarch xmlcatalog | 18 | inherit allarch xmlcatalog |
19 | 19 | ||
diff --git a/meta/recipes-devtools/dpkg/dpkg.inc b/meta/recipes-devtools/dpkg/dpkg.inc index 45b67bf168..f87d0739ad 100644 --- a/meta/recipes-devtools/dpkg/dpkg.inc +++ b/meta/recipes-devtools/dpkg/dpkg.inc | |||
@@ -33,7 +33,6 @@ EXTRA_OECONF:append:class-nativesdk = " --disable-update-alternatives DEB_HOST_A | |||
33 | PACKAGECONFIG = "liblzma" | 33 | PACKAGECONFIG = "liblzma" |
34 | PACKAGECONFIG[liblzma] = "--with-liblzma,--without-liblzma, xz" | 34 | PACKAGECONFIG[liblzma] = "--with-liblzma,--without-liblzma, xz" |
35 | 35 | ||
36 | |||
37 | #autotools.bbclass default AUTOTOOLS_AUXDIR is ${S}, we need to under ${S}/build-aux | 36 | #autotools.bbclass default AUTOTOOLS_AUXDIR is ${S}, we need to under ${S}/build-aux |
38 | AUTOTOOLS_AUXDIR = "${S}/build-aux" | 37 | AUTOTOOLS_AUXDIR = "${S}/build-aux" |
39 | 38 | ||
diff --git a/meta/recipes-devtools/dpkg/dpkg_1.22.11.bb b/meta/recipes-devtools/dpkg/dpkg_1.22.11.bb index 47a8d5d5ea..adceebf8e6 100644 --- a/meta/recipes-devtools/dpkg/dpkg_1.22.11.bb +++ b/meta/recipes-devtools/dpkg/dpkg_1.22.11.bb | |||
@@ -19,4 +19,3 @@ SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar- | |||
19 | 19 | ||
20 | SRCREV = "ee7e9118d0a9581cb00c5ce02dccd561b3096387" | 20 | SRCREV = "ee7e9118d0a9581cb00c5ce02dccd561b3096387" |
21 | 21 | ||
22 | S = "${WORKDIR}/git" | ||
diff --git a/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb b/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb index 8e42b12b77..c1eca13107 100644 --- a/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb +++ b/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb | |||
@@ -8,8 +8,7 @@ BBCLASSEXTEND = "native" | |||
8 | DEPENDS = "elfutils" | 8 | DEPENDS = "elfutils" |
9 | DEPENDS:append:libc-musl = " argp-standalone" | 9 | DEPENDS:append:libc-musl = " argp-standalone" |
10 | 10 | ||
11 | S = "${WORKDIR}/sources" | 11 | S = "${UNPACKDIR}" |
12 | UNPACKDIR = "${S}" | ||
13 | 12 | ||
14 | do_compile () { | 13 | do_compile () { |
15 | ${CC} ${CFLAGS} ${LDFLAGS} -o dwarfsrcfiles ${S}/dwarfsrcfiles.c -lelf -ldw | 14 | ${CC} ${CFLAGS} ${LDFLAGS} -o dwarfsrcfiles ${S}/dwarfsrcfiles.c -lelf -ldw |
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc index 0cb3f0e6a6..cce6e5f1ac 100644 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc | |||
@@ -20,7 +20,6 @@ SECTION = "base" | |||
20 | DEPENDS = "util-linux attr autoconf-archive-native" | 20 | DEPENDS = "util-linux attr autoconf-archive-native" |
21 | 21 | ||
22 | SRC_URI = "git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git;branch=master;protocol=https" | 22 | SRC_URI = "git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git;branch=master;protocol=https" |
23 | S = "${WORKDIR}/git" | ||
24 | 23 | ||
25 | inherit autotools gettext texinfo pkgconfig multilib_header update-alternatives ptest | 24 | inherit autotools gettext texinfo pkgconfig multilib_header update-alternatives ptest |
26 | 25 | ||
diff --git a/meta/recipes-devtools/erofs-utils/erofs-utils_1.8.5.bb b/meta/recipes-devtools/erofs-utils/erofs-utils_1.8.5.bb index 54ead294fb..2bedd6e16b 100644 --- a/meta/recipes-devtools/erofs-utils/erofs-utils_1.8.5.bb +++ b/meta/recipes-devtools/erofs-utils/erofs-utils_1.8.5.bb | |||
@@ -10,8 +10,6 @@ SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git;b | |||
10 | 10 | ||
11 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))" | 11 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))" |
12 | 12 | ||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | DEPENDS = "util-linux-libuuid" | 13 | DEPENDS = "util-linux-libuuid" |
16 | 14 | ||
17 | inherit pkgconfig autotools | 15 | inherit pkgconfig autotools |
diff --git a/meta/recipes-devtools/expect/expect_5.45.4.bb b/meta/recipes-devtools/expect/expect_5.45.4.bb index e3ecf4b25e..48b5b0d934 100644 --- a/meta/recipes-devtools/expect/expect_5.45.4.bb +++ b/meta/recipes-devtools/expect/expect_5.45.4.bb | |||
@@ -37,7 +37,7 @@ SRC_URI[sha256sum] = "49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760 | |||
37 | UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/expect/files/Expect/" | 37 | UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/expect/files/Expect/" |
38 | UPSTREAM_CHECK_REGEX = "/Expect/(?P<pver>(\d+[\.\-_]*)+)/" | 38 | UPSTREAM_CHECK_REGEX = "/Expect/(?P<pver>(\d+[\.\-_]*)+)/" |
39 | 39 | ||
40 | S = "${WORKDIR}/${BPN}${PV}" | 40 | S = "${UNPACKDIR}/${BPN}${PV}" |
41 | 41 | ||
42 | EXTRA_AUTORECONF += "--exclude=aclocal" | 42 | EXTRA_AUTORECONF += "--exclude=aclocal" |
43 | 43 | ||
diff --git a/meta/recipes-devtools/fastfloat/fastfloat_8.0.2.bb b/meta/recipes-devtools/fastfloat/fastfloat_8.0.2.bb index b3f45ccef4..ca69a4238f 100644 --- a/meta/recipes-devtools/fastfloat/fastfloat_8.0.2.bb +++ b/meta/recipes-devtools/fastfloat/fastfloat_8.0.2.bb | |||
@@ -10,6 +10,5 @@ LIC_FILES_CHKSUM = " \ | |||
10 | SRC_URI = "git://github.com/fastfloat/fast_float.git;protocol=https;branch=main" | 10 | SRC_URI = "git://github.com/fastfloat/fast_float.git;protocol=https;branch=main" |
11 | 11 | ||
12 | SRCREV = "50a80a73ab2ab256ba1c3bf86923ddd8b4202bc7" | 12 | SRCREV = "50a80a73ab2ab256ba1c3bf86923ddd8b4202bc7" |
13 | S = "${WORKDIR}/git" | ||
14 | 13 | ||
15 | inherit cmake | 14 | inherit cmake |
diff --git a/meta/recipes-devtools/file/file_5.46.bb b/meta/recipes-devtools/file/file_5.46.bb index e97fac99f2..c035e0b11d 100644 --- a/meta/recipes-devtools/file/file_5.46.bb +++ b/meta/recipes-devtools/file/file_5.46.bb | |||
@@ -17,7 +17,6 @@ SRC_URI = "git://github.com/file/file.git;branch=master;protocol=https \ | |||
17 | " | 17 | " |
18 | 18 | ||
19 | SRCREV = "c5aa4f7f8d5063fb3c37ad57bf54bb67ec641a09" | 19 | SRCREV = "c5aa4f7f8d5063fb3c37ad57bf54bb67ec641a09" |
20 | S = "${WORKDIR}/git" | ||
21 | 20 | ||
22 | inherit autotools update-alternatives | 21 | inherit autotools update-alternatives |
23 | 22 | ||
diff --git a/meta/recipes-devtools/fmt/fmt_11.2.0.bb b/meta/recipes-devtools/fmt/fmt_11.2.0.bb index b2b8c575c8..d0d4cea23e 100644 --- a/meta/recipes-devtools/fmt/fmt_11.2.0.bb +++ b/meta/recipes-devtools/fmt/fmt_11.2.0.bb | |||
@@ -8,8 +8,6 @@ SRC_URI = "git://github.com/fmtlib/fmt;branch=master;protocol=https;tag=${PV}\ | |||
8 | file://0001-Workaround-an-ABI-issue-in-spdlog.patch" | 8 | file://0001-Workaround-an-ABI-issue-in-spdlog.patch" |
9 | SRCREV = "40626af88bd7df9a5fb80be7b25ac85b122d6c21" | 9 | SRCREV = "40626af88bd7df9a5fb80be7b25ac85b122d6c21" |
10 | 10 | ||
11 | S = "${WORKDIR}/git" | ||
12 | |||
13 | inherit cmake | 11 | inherit cmake |
14 | 12 | ||
15 | EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON" | 13 | EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON" |
diff --git a/meta/recipes-devtools/gcc/gcc-15.1.inc b/meta/recipes-devtools/gcc/gcc-15.1.inc index 18f8cae5ca..af29db8e5b 100644 --- a/meta/recipes-devtools/gcc/gcc-15.1.inc +++ b/meta/recipes-devtools/gcc/gcc-15.1.inc | |||
@@ -75,7 +75,8 @@ SRC_URI = "${BASEURI} \ | |||
75 | file://0026-fix-incorrect-preprocessor-line-numbers.patch \ | 75 | file://0026-fix-incorrect-preprocessor-line-numbers.patch \ |
76 | " | 76 | " |
77 | 77 | ||
78 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}" | 78 | UNPACKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/sources" |
79 | S = "${UNPACKDIR}/${SOURCEDIR}" | ||
79 | B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" | 80 | B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" |
80 | 81 | ||
81 | # Language Overrides | 82 | # Language Overrides |
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc index de559eb9c3..8d95698743 100644 --- a/meta/recipes-devtools/gcc/gcc-common.inc +++ b/meta/recipes-devtools/gcc/gcc-common.inc | |||
@@ -104,7 +104,8 @@ MIRRORS =+ "\ | |||
104 | gcclibdir = "${libdir}/gcc" | 104 | gcclibdir = "${libdir}/gcc" |
105 | BINV = "${PV}" | 105 | BINV = "${PV}" |
106 | #S = "${WORKDIR}/gcc-${PV}" | 106 | #S = "${WORKDIR}/gcc-${PV}" |
107 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" | 107 | UNPACKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/sources" |
108 | S = "${UNPACKDIR}/gcc-${PV}" | ||
108 | 109 | ||
109 | B ?= "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" | 110 | B ?= "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" |
110 | 111 | ||
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc index e3fb48c030..50ff0d2e82 100644 --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc | |||
@@ -116,6 +116,5 @@ do_configure () { | |||
116 | export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}" | 116 | export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}" |
117 | export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}" | 117 | export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}" |
118 | 118 | ||
119 | |||
120 | oe_runconf | 119 | oe_runconf |
121 | } | 120 | } |
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_15.1.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_15.1.bb index bf53c5cd78..355757c656 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-canadian_15.1.bb +++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_15.1.bb | |||
@@ -1,5 +1,3 @@ | |||
1 | require recipes-devtools/gcc/gcc-${PV}.inc | 1 | require recipes-devtools/gcc/gcc-${PV}.inc |
2 | require gcc-cross-canadian.inc | 2 | require gcc-cross-canadian.inc |
3 | 3 | ||
4 | |||
5 | |||
diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc index 54a1d3d85c..80b85fb054 100644 --- a/meta/recipes-devtools/gcc/gcc-cross.inc +++ b/meta/recipes-devtools/gcc/gcc-cross.inc | |||
@@ -44,7 +44,6 @@ EXTRA_OECONF_PATHS = "\ | |||
44 | 44 | ||
45 | ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_DIR_TARGET}${target_includedir}" | 45 | ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_DIR_TARGET}${target_includedir}" |
46 | 46 | ||
47 | |||
48 | do_configure:prepend () { | 47 | do_configure:prepend () { |
49 | install -d ${RECIPE_SYSROOT}${target_includedir} | 48 | install -d ${RECIPE_SYSROOT}${target_includedir} |
50 | touch ${RECIPE_SYSROOT}${target_includedir}/limits.h | 49 | touch ${RECIPE_SYSROOT}${target_includedir}/limits.h |
diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/meta/recipes-devtools/gcc/gcc-multilib-config.inc index 1a4169f91a..2afd8f6f2a 100644 --- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc +++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc | |||
@@ -59,7 +59,6 @@ python gcc_multilib_setup() { | |||
59 | if ('%sgcc' % mlprefix) != pn and (not pn.startswith('gcc-cross-canadian')) and pn != "nativesdk-gcc": | 59 | if ('%sgcc' % mlprefix) != pn and (not pn.startswith('gcc-cross-canadian')) and pn != "nativesdk-gcc": |
60 | return | 60 | return |
61 | 61 | ||
62 | |||
63 | def write_config(root, files, options, dirnames, osdirnames): | 62 | def write_config(root, files, options, dirnames, osdirnames): |
64 | for ml_conf_file in files: | 63 | for ml_conf_file in files: |
65 | with open(root + '/' + ml_conf_file, 'r') as f: | 64 | with open(root + '/' + ml_conf_file, 'r') as f: |
@@ -142,7 +141,6 @@ python gcc_multilib_setup() { | |||
142 | with open(root + '/' + ml_conf_file, 'w') as f: | 141 | with open(root + '/' + ml_conf_file, 'w') as f: |
143 | f.write(''.join(filelines)) | 142 | f.write(''.join(filelines)) |
144 | 143 | ||
145 | |||
146 | gcc_target_config_files = { | 144 | gcc_target_config_files = { |
147 | 'x86_64' : ['gcc/config/i386/t-linux64'], | 145 | 'x86_64' : ['gcc/config/i386/t-linux64'], |
148 | 'i586' : ['gcc/config/i386/t-linux64'], | 146 | 'i586' : ['gcc/config/i386/t-linux64'], |
@@ -176,7 +174,6 @@ python gcc_multilib_setup() { | |||
176 | libdirx32 = 'SYSTEMLIBS_DIR' | 174 | libdirx32 = 'SYSTEMLIBS_DIR' |
177 | libdirn32 = 'SYSTEMLIBS_DIR' | 175 | libdirn32 = 'SYSTEMLIBS_DIR' |
178 | 176 | ||
179 | |||
180 | target_arch = (d.getVar('TARGET_ARCH_MULTILIB_ORIGINAL') if mlprefix | 177 | target_arch = (d.getVar('TARGET_ARCH_MULTILIB_ORIGINAL') if mlprefix |
181 | else d.getVar('TARGET_ARCH')) | 178 | else d.getVar('TARGET_ARCH')) |
182 | if pn == "nativesdk-gcc": | 179 | if pn == "nativesdk-gcc": |
diff --git a/meta/recipes-devtools/gcc/gcc-shared-source.inc b/meta/recipes-devtools/gcc/gcc-shared-source.inc index 03f520b093..c01410b47a 100644 --- a/meta/recipes-devtools/gcc/gcc-shared-source.inc +++ b/meta/recipes-devtools/gcc/gcc-shared-source.inc | |||
@@ -16,6 +16,6 @@ do_deploy_source_date_epoch () { | |||
16 | sde_file=${SDE_FILE} | 16 | sde_file=${SDE_FILE} |
17 | sde_file=${sde_file#${WORKDIR}/} | 17 | sde_file=${sde_file#${WORKDIR}/} |
18 | mkdir -p ${SDE_DEPLOYDIR} $(dirname ${SDE_FILE}) | 18 | mkdir -p ${SDE_DEPLOYDIR} $(dirname ${SDE_FILE}) |
19 | cp -p $(dirname ${S})/$sde_file ${SDE_DEPLOYDIR} | 19 | cp -p $(dirname ${UNPACKDIR})/$sde_file ${SDE_DEPLOYDIR} |
20 | cp -p $(dirname ${S})/$sde_file ${SDE_FILE} | 20 | cp -p $(dirname ${UNPACKDIR})/$sde_file ${SDE_FILE} |
21 | } | 21 | } |
diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc index e3db17d700..65bcd24bc7 100644 --- a/meta/recipes-devtools/gcc/libgcc-common.inc +++ b/meta/recipes-devtools/gcc/libgcc-common.inc | |||
@@ -104,7 +104,6 @@ fakeroot python do_multilib_install() { | |||
104 | os.symlink(src, dest) | 104 | os.symlink(src, dest) |
105 | return | 105 | return |
106 | 106 | ||
107 | |||
108 | for ml in multilibs.split(): | 107 | for ml in multilibs.split(): |
109 | tune = d.getVar('DEFAULTTUNE:virtclass-multilib-' + ml) | 108 | tune = d.getVar('DEFAULTTUNE:virtclass-multilib-' + ml) |
110 | if not tune: | 109 | if not tune: |
diff --git a/meta/recipes-devtools/gcc/libgcc.inc b/meta/recipes-devtools/gcc/libgcc.inc index 9554475382..a3f0f947f7 100644 --- a/meta/recipes-devtools/gcc/libgcc.inc +++ b/meta/recipes-devtools/gcc/libgcc.inc | |||
@@ -36,7 +36,6 @@ LICENSE:${PN} = "GPL-3.0-with-GCC-exception" | |||
36 | LICENSE:${PN}-dev = "GPL-3.0-with-GCC-exception" | 36 | LICENSE:${PN}-dev = "GPL-3.0-with-GCC-exception" |
37 | LICENSE:${PN}-dbg = "GPL-3.0-with-GCC-exception" | 37 | LICENSE:${PN}-dbg = "GPL-3.0-with-GCC-exception" |
38 | 38 | ||
39 | |||
40 | FILES:${PN}-dev = "\ | 39 | FILES:${PN}-dev = "\ |
41 | ${base_libdir}/libgcc*.so \ | 40 | ${base_libdir}/libgcc*.so \ |
42 | ${@oe.utils.conditional('BASETARGET_SYS', '${TARGET_SYS}', '', '${libdir}/${BASETARGET_SYS}', d)} \ | 41 | ${@oe.utils.conditional('BASETARGET_SYS', '${TARGET_SYS}', '', '${libdir}/${BASETARGET_SYS}', d)} \ |
diff --git a/meta/recipes-devtools/git/git_2.49.0.bb b/meta/recipes-devtools/git/git_2.49.0.bb index 3538170d08..e1b501d62b 100644 --- a/meta/recipes-devtools/git/git_2.49.0.bb +++ b/meta/recipes-devtools/git/git_2.49.0.bb | |||
@@ -16,7 +16,7 @@ SRC_URI:append:class-nativesdk = " \ | |||
16 | file://environment.d-git.sh \ | 16 | file://environment.d-git.sh \ |
17 | " | 17 | " |
18 | 18 | ||
19 | S = "${WORKDIR}/git-${PV}" | 19 | S = "${UNPACKDIR}/git-${PV}" |
20 | 20 | ||
21 | LIC_FILES_CHKSUM = "\ | 21 | LIC_FILES_CHKSUM = "\ |
22 | file://COPYING;md5=7c0d7ef03a7eb04ce795b0f60e68e7e1 \ | 22 | file://COPYING;md5=7c0d7ef03a7eb04ce795b0f60e68e7e1 \ |
diff --git a/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/meta/recipes-devtools/gnu-config/gnu-config_git.bb index 60601d23e2..515777caf4 100644 --- a/meta/recipes-devtools/gnu-config/gnu-config_git.bb +++ b/meta/recipes-devtools/gnu-config/gnu-config_git.bb | |||
@@ -14,7 +14,6 @@ PV = "20240823+git" | |||
14 | 14 | ||
15 | SRC_URI = "git://git.savannah.gnu.org/git/config.git;protocol=https;branch=master \ | 15 | SRC_URI = "git://git.savannah.gnu.org/git/config.git;protocol=https;branch=master \ |
16 | file://gnu-configize.in" | 16 | file://gnu-configize.in" |
17 | S = "${WORKDIR}/git" | ||
18 | UPSTREAM_CHECK_COMMITS = "1" | 17 | UPSTREAM_CHECK_COMMITS = "1" |
19 | 18 | ||
20 | CLEANBROKEN = "1" | 19 | CLEANBROKEN = "1" |
diff --git a/meta/recipes-devtools/go/go-binary-native_1.24.4.bb b/meta/recipes-devtools/go/go-binary-native_1.24.4.bb index 9f788536c4..ae85d3e266 100644 --- a/meta/recipes-devtools/go/go-binary-native_1.24.4.bb +++ b/meta/recipes-devtools/go/go-binary-native_1.24.4.bb | |||
@@ -17,8 +17,9 @@ UPSTREAM_CHECK_URI = "https://golang.org/dl/" | |||
17 | UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux" | 17 | UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux" |
18 | 18 | ||
19 | CVE_PRODUCT = "golang:go" | 19 | CVE_PRODUCT = "golang:go" |
20 | CVE_STATUS[CVE-2024-3566] = "not-applicable-platform: Issue only applies on Windows" | ||
20 | 21 | ||
21 | S = "${WORKDIR}/go" | 22 | S = "${UNPACKDIR}/go" |
22 | 23 | ||
23 | inherit goarch native | 24 | inherit goarch native |
24 | 25 | ||
diff --git a/meta/recipes-devtools/go/go-common.inc b/meta/recipes-devtools/go/go-common.inc index ca8469dbd9..061db4296c 100644 --- a/meta/recipes-devtools/go/go-common.inc +++ b/meta/recipes-devtools/go/go-common.inc | |||
@@ -15,12 +15,13 @@ LICENSE = "BSD-3-Clause" | |||
15 | inherit goarch | 15 | inherit goarch |
16 | 16 | ||
17 | SRC_URI = "https://golang.org/dl/go${PV}.src.tar.gz;name=main" | 17 | SRC_URI = "https://golang.org/dl/go${PV}.src.tar.gz;name=main" |
18 | S = "${WORKDIR}/go" | 18 | S = "${UNPACKDIR}/go" |
19 | B = "${S}" | 19 | B = "${S}" |
20 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.src\.tar" | 20 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.src\.tar" |
21 | 21 | ||
22 | # all recipe variants are created from the same product | 22 | # all recipe variants are created from the same product |
23 | CVE_PRODUCT = "golang:go" | 23 | CVE_PRODUCT = "golang:go" |
24 | CVE_STATUS[CVE-2024-3566] = "not-applicable-platform: Issue only applies on Windows" | ||
24 | 25 | ||
25 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | 26 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" |
26 | SSTATE_SCAN_CMD = "true" | 27 | SSTATE_SCAN_CMD = "true" |
diff --git a/meta/recipes-devtools/go/go-cross-canadian.inc b/meta/recipes-devtools/go/go-cross-canadian.inc index ff6c063d69..39330fc98b 100644 --- a/meta/recipes-devtools/go/go-cross-canadian.inc +++ b/meta/recipes-devtools/go/go-cross-canadian.inc | |||
@@ -29,7 +29,6 @@ do_compile() { | |||
29 | } | 29 | } |
30 | do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg" | 30 | do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg" |
31 | 31 | ||
32 | |||
33 | make_wrapper() { | 32 | make_wrapper() { |
34 | rm -f ${D}${bindir}/$2 | 33 | rm -f ${D}${bindir}/$2 |
35 | cat <<END >${D}${bindir}/$2 | 34 | cat <<END >${D}${bindir}/$2 |
diff --git a/meta/recipes-devtools/json-c/json-c_0.18.bb b/meta/recipes-devtools/json-c/json-c_0.18.bb index 2fd1897ba8..ece320d66c 100644 --- a/meta/recipes-devtools/json-c/json-c_0.18.bb +++ b/meta/recipes-devtools/json-c/json-c_0.18.bb | |||
@@ -19,8 +19,11 @@ UPSTREAM_CHECK_REGEX = "json-c-(?P<pver>\d+(\.\d+)+)-\d+" | |||
19 | 19 | ||
20 | RPROVIDES:${PN} = "libjson" | 20 | RPROVIDES:${PN} = "libjson" |
21 | 21 | ||
22 | # Required for ICECC builds | 22 | # - '-Werror' must be disabled for ICECC builds |
23 | EXTRA_OECMAKE = "-DDISABLE_WERROR=ON" | 23 | # - Apps aren't needed/packaged and their CMakeLists.txt is incompatible with CMake 4+. |
24 | EXTRA_OECMAKE = "-DDISABLE_WERROR=ON \ | ||
25 | -DBUILD_APPS=OFF \ | ||
26 | " | ||
24 | 27 | ||
25 | inherit cmake ptest | 28 | inherit cmake ptest |
26 | 29 | ||
diff --git a/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb b/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb index 91170dfbed..5709f3e69f 100644 --- a/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb +++ b/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb | |||
@@ -10,8 +10,6 @@ SRC_URI = "git://github.com/rpm-software-management/libcomps.git;branch=master;p | |||
10 | 10 | ||
11 | SRCREV = "2e973ce22698dd64f472180e3a689755268fb06b" | 11 | SRCREV = "2e973ce22698dd64f472180e3a689755268fb06b" |
12 | 12 | ||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | inherit cmake setuptools3-base | 13 | inherit cmake setuptools3-base |
16 | 14 | ||
17 | DEPENDS = "expat libxml2 zlib" | 15 | DEPENDS = "expat libxml2 zlib" |
diff --git a/meta/recipes-devtools/libdnf/libdnf_0.74.0.bb b/meta/recipes-devtools/libdnf/libdnf_0.74.0.bb index 5a2d4d9364..6ac518564b 100644 --- a/meta/recipes-devtools/libdnf/libdnf_0.74.0.bb +++ b/meta/recipes-devtools/libdnf/libdnf_0.74.0.bb | |||
@@ -16,8 +16,6 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master;p | |||
16 | SRCREV = "91a0bf9aada36a722855051526f012e0b5ab1af9" | 16 | SRCREV = "91a0bf9aada36a722855051526f012e0b5ab1af9" |
17 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)" | 17 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native util-linux" | 19 | DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native util-linux" |
22 | 20 | ||
23 | inherit gtk-doc gobject-introspection cmake pkgconfig setuptools3-base | 21 | inherit gtk-doc gobject-introspection cmake pkgconfig setuptools3-base |
diff --git a/meta/recipes-devtools/libmodulemd/libmodulemd_2.15.1.bb b/meta/recipes-devtools/libmodulemd/libmodulemd_2.15.1.bb index c31fc44ce4..6504414387 100644 --- a/meta/recipes-devtools/libmodulemd/libmodulemd_2.15.1.bb +++ b/meta/recipes-devtools/libmodulemd/libmodulemd_2.15.1.bb | |||
@@ -8,8 +8,6 @@ SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https;branch= | |||
8 | 8 | ||
9 | SRCREV = "e7f179eeeb6eee1403f090fc43a3c80bb08b5bfd" | 9 | SRCREV = "e7f179eeeb6eee1403f090fc43a3c80bb08b5bfd" |
10 | 10 | ||
11 | S = "${WORKDIR}/git" | ||
12 | |||
13 | inherit meson gobject-introspection pkgconfig manpages | 11 | inherit meson gobject-introspection pkgconfig manpages |
14 | 12 | ||
15 | EXTRA_OEMESON = "-Dwith_py3=false -Dwith_docs=false -Drpmio=disabled -Dgobject_overrides_dir_py3=${PYTHON_SITEPACKAGES_DIR}/gi/overrides" | 13 | EXTRA_OEMESON = "-Dwith_py3=false -Dwith_docs=false -Drpmio=disabled -Dgobject_overrides_dir_py3=${PYTHON_SITEPACKAGES_DIR}/gi/overrides" |
diff --git a/meta/recipes-devtools/librepo/librepo_1.19.0.bb b/meta/recipes-devtools/librepo/librepo_1.19.0.bb index 634967fcbc..ba66c8ef68 100644 --- a/meta/recipes-devtools/librepo/librepo_1.19.0.bb +++ b/meta/recipes-devtools/librepo/librepo_1.19.0.bb | |||
@@ -12,8 +12,6 @@ SRC_URI = "git://github.com/rpm-software-management/librepo.git;branch=master;pr | |||
12 | 12 | ||
13 | SRCREV = "7955987e33ba98dddb3fc2c63bb6dc892e3505fa" | 13 | SRCREV = "7955987e33ba98dddb3fc2c63bb6dc892e3505fa" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2" | 15 | DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2" |
18 | 16 | ||
19 | inherit cmake setuptools3-base pkgconfig | 17 | inherit cmake setuptools3-base pkgconfig |
diff --git a/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.4.bb b/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.4.bb index 2e39a1e1d7..de556a5d81 100644 --- a/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.4.bb +++ b/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.4.bb | |||
@@ -7,7 +7,7 @@ SRC_URI += "file://0008-libtool-Avoid-relinking-when-cross-compiling-its-poi.pat | |||
7 | 7 | ||
8 | inherit nativesdk | 8 | inherit nativesdk |
9 | 9 | ||
10 | S = "${WORKDIR}/libtool-${PV}" | 10 | S = "${UNPACKDIR}/libtool-${PV}" |
11 | FILES:${PN} += "${datadir}/libtool/*" | 11 | FILES:${PN} += "${datadir}/libtool/*" |
12 | 12 | ||
13 | do_install () { | 13 | do_install () { |
diff --git a/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb b/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb index 7b11093364..deed684537 100644 --- a/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb +++ b/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb | |||
@@ -5,8 +5,7 @@ LIC_FILES_CHKSUM = "file://makedevs.c;beginline=2;endline=2;md5=c3817b10013a3007 | |||
5 | SECTION = "base" | 5 | SECTION = "base" |
6 | SRC_URI = "file://makedevs.c" | 6 | SRC_URI = "file://makedevs.c" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | FILES:${PN}:append:class-nativesdk = " ${datadir}" | 10 | FILES:${PN}:append:class-nativesdk = " ${datadir}" |
12 | 11 | ||
diff --git a/meta/recipes-devtools/mmc/mmc-utils_git.bb b/meta/recipes-devtools/mmc/mmc-utils_git.bb index 1f287a8df9..f3944aebf0 100644 --- a/meta/recipes-devtools/mmc/mmc-utils_git.bb +++ b/meta/recipes-devtools/mmc/mmc-utils_git.bb | |||
@@ -15,8 +15,6 @@ UPSTREAM_CHECK_COMMITS = "1" | |||
15 | DEPENDS = "python3-sphinx-native" | 15 | DEPENDS = "python3-sphinx-native" |
16 | EXTRA_OEMAKE = "C=" | 16 | EXTRA_OEMAKE = "C=" |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__" | 18 | CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__" |
21 | CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" | 19 | CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" |
22 | CFLAGS:append:mipsarchn32 = " -D__SANE_USERSPACE_TYPES__" | 20 | CFLAGS:append:mipsarchn32 = " -D__SANE_USERSPACE_TYPES__" |
diff --git a/meta/recipes-devtools/mtd/mtd-utils_2.3.0.bb b/meta/recipes-devtools/mtd/mtd-utils_2.3.0.bb index 2f7043b977..47f0b01abe 100644 --- a/meta/recipes-devtools/mtd/mtd-utils_2.3.0.bb +++ b/meta/recipes-devtools/mtd/mtd-utils_2.3.0.bb | |||
@@ -19,8 +19,6 @@ SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master \ | |||
19 | file://0004-ubifs-utils-extract_files-Include-linux-limits.h.patch \ | 19 | file://0004-ubifs-utils-extract_files-Include-linux-limits.h.patch \ |
20 | file://0001-Improve-check-for-GCC-compiler-version.patch" | 20 | file://0001-Improve-check-for-GCC-compiler-version.patch" |
21 | 21 | ||
22 | S = "${WORKDIR}/git" | ||
23 | |||
24 | # xattr support creates an additional compile-time dependency on acl because | 22 | # xattr support creates an additional compile-time dependency on acl because |
25 | # the sys/acl.h header is needed. libacl is not needed and thus enabling xattr | 23 | # the sys/acl.h header is needed. libacl is not needed and thus enabling xattr |
26 | # regardless whether acl is enabled or disabled in the distro should be okay. | 24 | # regardless whether acl is enabled or disabled in the distro should be okay. |
diff --git a/meta/recipes-devtools/ninja/ninja_1.12.1.bb b/meta/recipes-devtools/ninja/ninja_1.12.1.bb index 9f5c014b9b..5aff82edec 100644 --- a/meta/recipes-devtools/ninja/ninja_1.12.1.bb +++ b/meta/recipes-devtools/ninja/ninja_1.12.1.bb | |||
@@ -11,8 +11,6 @@ SRCREV = "2daa09ba270b0a43e1929d29b073348aa985dfaa" | |||
11 | SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https" | 11 | SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https" |
12 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" | 12 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" |
13 | 13 | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | do_configure[noexec] = "1" | 14 | do_configure[noexec] = "1" |
17 | 15 | ||
18 | do_compile:class-native() { | 16 | do_compile:class-native() { |
diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_0.7.0.bb b/meta/recipes-devtools/opkg-utils/opkg-utils_0.7.0.bb index 44958b442e..9f1a91e1d3 100644 --- a/meta/recipes-devtools/opkg-utils/opkg-utils_0.7.0.bb +++ b/meta/recipes-devtools/opkg-utils/opkg-utils_0.7.0.bb | |||
@@ -12,8 +12,6 @@ SRC_URI = "git://git.yoctoproject.org/opkg-utils;protocol=https;branch=master \ | |||
12 | " | 12 | " |
13 | SRCREV = "68a969f0e867ace0d94faf8ebe7c7bb67f59d386" | 13 | SRCREV = "68a969f0e867ace0d94faf8ebe7c7bb67f59d386" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | TARGET_CC_ARCH += "${LDFLAGS}" | 15 | TARGET_CC_ARCH += "${LDFLAGS}" |
18 | 16 | ||
19 | RDEPENDS:${PN} += "bash" | 17 | RDEPENDS:${PN} += "bash" |
diff --git a/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb b/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb index 4db35c1092..9e9e70209e 100644 --- a/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb +++ b/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb | |||
@@ -3,8 +3,7 @@ HOMEPAGE = "https://git.yoctoproject.org/opkg/" | |||
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 4 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
5 | 5 | ||
6 | S = "${WORKDIR}/sources" | 6 | S = "${UNPACKDIR}" |
7 | UNPACKDIR = "${S}" | ||
8 | 7 | ||
9 | do_compile() { | 8 | do_compile() { |
10 | mkdir -p ${S}/${sysconfdir}/opkg/ | 9 | mkdir -p ${S}/${sysconfdir}/opkg/ |
@@ -20,7 +19,6 @@ do_compile() { | |||
20 | done | 19 | done |
21 | } | 20 | } |
22 | 21 | ||
23 | |||
24 | do_install () { | 22 | do_install () { |
25 | install -d ${D}${sysconfdir}/opkg | 23 | install -d ${D}${sysconfdir}/opkg |
26 | install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/ | 24 | install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/ |
diff --git a/meta/recipes-devtools/opkg/opkg_0.7.0.bb b/meta/recipes-devtools/opkg/opkg_0.7.0.bb index 0a54247c5b..95480b4716 100644 --- a/meta/recipes-devtools/opkg/opkg_0.7.0.bb +++ b/meta/recipes-devtools/opkg/opkg_0.7.0.bb | |||
@@ -68,7 +68,6 @@ def qa_check_solver_deprecation (pn, d): | |||
68 | if "libsolv" not in pkgconfig: | 68 | if "libsolv" not in pkgconfig: |
69 | oe.qa.handle_error("internal-solver-deprecation", "The opkg internal solver will be deprecated in future opkg releases. Consider enabling \"libsolv\" in PACKAGECONFIG.", d) | 69 | oe.qa.handle_error("internal-solver-deprecation", "The opkg internal solver will be deprecated in future opkg releases. Consider enabling \"libsolv\" in PACKAGECONFIG.", d) |
70 | 70 | ||
71 | |||
72 | RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive" | 71 | RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive" |
73 | RDEPENDS:${PN}:class-native = "" | 72 | RDEPENDS:${PN}:class-native = "" |
74 | RDEPENDS:${PN}:class-nativesdk = "" | 73 | RDEPENDS:${PN}:class-nativesdk = "" |
diff --git a/meta/recipes-devtools/patch/patch.inc b/meta/recipes-devtools/patch/patch.inc index a12d426b2c..44d3046fd8 100644 --- a/meta/recipes-devtools/patch/patch.inc +++ b/meta/recipes-devtools/patch/patch.inc | |||
@@ -6,7 +6,7 @@ SECTION = "utils" | |||
6 | HOMEPAGE = "http://savannah.gnu.org/projects/patch/" | 6 | HOMEPAGE = "http://savannah.gnu.org/projects/patch/" |
7 | 7 | ||
8 | SRC_URI = "${GNU_MIRROR}/patch/patch-${PV}.tar.gz" | 8 | SRC_URI = "${GNU_MIRROR}/patch/patch-${PV}.tar.gz" |
9 | S = "${WORKDIR}/patch-${PV}" | 9 | S = "${UNPACKDIR}/patch-${PV}" |
10 | 10 | ||
11 | inherit autotools update-alternatives | 11 | inherit autotools update-alternatives |
12 | 12 | ||
diff --git a/meta/recipes-devtools/patchelf/patchelf_0.18.0.bb b/meta/recipes-devtools/patchelf/patchelf_0.18.0.bb index dece34240c..6e86ddbde6 100644 --- a/meta/recipes-devtools/patchelf/patchelf_0.18.0.bb +++ b/meta/recipes-devtools/patchelf/patchelf_0.18.0.bb | |||
@@ -11,8 +11,6 @@ SRC_URI = "git://github.com/NixOS/patchelf;protocol=https;branch=master \ | |||
11 | " | 11 | " |
12 | SRCREV = "99c24238981b7b1084313aca8f5c493bb46f302c" | 12 | SRCREV = "99c24238981b7b1084313aca8f5c493bb46f302c" |
13 | 13 | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | 14 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" |
17 | 15 | ||
18 | inherit autotools | 16 | inherit autotools |
diff --git a/meta/recipes-devtools/perl-cross/perlcross_1.6.2.bb b/meta/recipes-devtools/perl-cross/perlcross_1.6.2.bb index 42ba15a572..debf2717ce 100644 --- a/meta/recipes-devtools/perl-cross/perlcross_1.6.2.bb +++ b/meta/recipes-devtools/perl-cross/perlcross_1.6.2.bb | |||
@@ -20,7 +20,7 @@ GITHUB_BASE_URI = "https://github.com/arsv/perl-cross/releases/" | |||
20 | 20 | ||
21 | SRC_URI[perl-cross.sha256sum] = "131f7496152ee32067dbac2bc9b44b2f582fc778140e545701b3b2faee782f1d" | 21 | SRC_URI[perl-cross.sha256sum] = "131f7496152ee32067dbac2bc9b44b2f582fc778140e545701b3b2faee782f1d" |
22 | 22 | ||
23 | S = "${WORKDIR}/perl-cross-${PV}" | 23 | S = "${UNPACKDIR}/perl-cross-${PV}" |
24 | 24 | ||
25 | do_configure () { | 25 | do_configure () { |
26 | } | 26 | } |
diff --git a/meta/recipes-devtools/perl/libmodule-build-perl_0.4234.bb b/meta/recipes-devtools/perl/libmodule-build-perl_0.4234.bb index b57618724d..b27a8c15e6 100644 --- a/meta/recipes-devtools/perl/libmodule-build-perl_0.4234.bb +++ b/meta/recipes-devtools/perl/libmodule-build-perl_0.4234.bb | |||
@@ -18,7 +18,7 @@ SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-${PV}.tar.gz \ | |||
18 | " | 18 | " |
19 | SRC_URI[sha256sum] = "66aeac6127418be5e471ead3744648c766bd01482825c5b66652675f2bc86a8f" | 19 | SRC_URI[sha256sum] = "66aeac6127418be5e471ead3744648c766bd01482825c5b66652675f2bc86a8f" |
20 | 20 | ||
21 | S = "${WORKDIR}/Module-Build-${PV}" | 21 | S = "${UNPACKDIR}/Module-Build-${PV}" |
22 | 22 | ||
23 | inherit cpan_build ptest-perl | 23 | inherit cpan_build ptest-perl |
24 | 24 | ||
diff --git a/meta/recipes-devtools/perl/libtest-fatal-perl_0.017.bb b/meta/recipes-devtools/perl/libtest-fatal-perl_0.017.bb index 1c3a7e5136..eae128b0cc 100644 --- a/meta/recipes-devtools/perl/libtest-fatal-perl_0.017.bb +++ b/meta/recipes-devtools/perl/libtest-fatal-perl_0.017.bb | |||
@@ -13,7 +13,7 @@ SRC_URI = "${CPAN_MIRROR}/authors/id/R/RJ/RJBS/Test-Fatal-${PV}.tar.gz" | |||
13 | 13 | ||
14 | SRC_URI[sha256sum] = "37dfffdafb84b762efe96b02fb2aa41f37026c73e6b83590db76229697f3c4a6" | 14 | SRC_URI[sha256sum] = "37dfffdafb84b762efe96b02fb2aa41f37026c73e6b83590db76229697f3c4a6" |
15 | 15 | ||
16 | S = "${WORKDIR}/Test-Fatal-${PV}" | 16 | S = "${UNPACKDIR}/Test-Fatal-${PV}" |
17 | 17 | ||
18 | inherit cpan ptest-perl | 18 | inherit cpan ptest-perl |
19 | 19 | ||
diff --git a/meta/recipes-devtools/perl/libtest-needs-perl_0.002010.bb b/meta/recipes-devtools/perl/libtest-needs-perl_0.002010.bb index 79a06170e0..0045e575af 100644 --- a/meta/recipes-devtools/perl/libtest-needs-perl_0.002010.bb +++ b/meta/recipes-devtools/perl/libtest-needs-perl_0.002010.bb | |||
@@ -19,7 +19,7 @@ SRC_URI = "https://cpan.metacpan.org/authors/id/H/HA/${CPAN_AUTHOR}/${CPAN_NAME} | |||
19 | 19 | ||
20 | SRC_URI[sha256sum] = "923ffdc78fcba96609753e4bae26b0ba0186893de4a63cd5236e012c7c90e208" | 20 | SRC_URI[sha256sum] = "923ffdc78fcba96609753e4bae26b0ba0186893de4a63cd5236e012c7c90e208" |
21 | 21 | ||
22 | S = "${WORKDIR}/${CPAN_NAME}-${PV}" | 22 | S = "${UNPACKDIR}/${CPAN_NAME}-${PV}" |
23 | 23 | ||
24 | inherit cpan ptest-perl | 24 | inherit cpan ptest-perl |
25 | 25 | ||
diff --git a/meta/recipes-devtools/perl/libtest-warnings-perl_0.038.bb b/meta/recipes-devtools/perl/libtest-warnings-perl_0.038.bb index 656b38f2d8..2eccf40999 100644 --- a/meta/recipes-devtools/perl/libtest-warnings-perl_0.038.bb +++ b/meta/recipes-devtools/perl/libtest-warnings-perl_0.038.bb | |||
@@ -17,7 +17,7 @@ SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETHER/Test-Warnings-${PV}.tar.gz" | |||
17 | 17 | ||
18 | SRC_URI[sha256sum] = "3da27e003a3c3cafed3c09b42be05cf9bdbff0bee5c8590a731b02853880a273" | 18 | SRC_URI[sha256sum] = "3da27e003a3c3cafed3c09b42be05cf9bdbff0bee5c8590a731b02853880a273" |
19 | 19 | ||
20 | S = "${WORKDIR}/Test-Warnings-${PV}" | 20 | S = "${UNPACKDIR}/Test-Warnings-${PV}" |
21 | 21 | ||
22 | inherit cpan ptest-perl | 22 | inherit cpan ptest-perl |
23 | 23 | ||
diff --git a/meta/recipes-devtools/perl/libtry-tiny-perl_0.32.bb b/meta/recipes-devtools/perl/libtry-tiny-perl_0.32.bb index d0714695b8..e924b3bd64 100644 --- a/meta/recipes-devtools/perl/libtry-tiny-perl_0.32.bb +++ b/meta/recipes-devtools/perl/libtry-tiny-perl_0.32.bb | |||
@@ -13,7 +13,7 @@ SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETHER/Try-Tiny-${PV}.tar.gz" | |||
13 | 13 | ||
14 | SRC_URI[sha256sum] = "ef2d6cab0bad18e3ab1c4e6125cc5f695c7e459899f512451c8fa3ef83fa7fc0" | 14 | SRC_URI[sha256sum] = "ef2d6cab0bad18e3ab1c4e6125cc5f695c7e459899f512451c8fa3ef83fa7fc0" |
15 | 15 | ||
16 | S = "${WORKDIR}/Try-Tiny-${PV}" | 16 | S = "${UNPACKDIR}/Try-Tiny-${PV}" |
17 | 17 | ||
18 | inherit cpan ptest-perl | 18 | inherit cpan ptest-perl |
19 | 19 | ||
diff --git a/meta/recipes-devtools/perl/libxml-parser-perl_2.47.bb b/meta/recipes-devtools/perl/libxml-parser-perl_2.47.bb index 1f312b00e1..b6d28c4bb3 100644 --- a/meta/recipes-devtools/perl/libxml-parser-perl_2.47.bb +++ b/meta/recipes-devtools/perl/libxml-parser-perl_2.47.bb | |||
@@ -12,7 +12,7 @@ SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz \ | |||
12 | 12 | ||
13 | SRC_URI[sha256sum] = "ad4aae643ec784f489b956abe952432871a622d4e2b5c619e8855accbfc4d1d8" | 13 | SRC_URI[sha256sum] = "ad4aae643ec784f489b956abe952432871a622d4e2b5c619e8855accbfc4d1d8" |
14 | 14 | ||
15 | S = "${WORKDIR}/XML-Parser-${PV}" | 15 | S = "${UNPACKDIR}/XML-Parser-${PV}" |
16 | 16 | ||
17 | EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR} CC='${CC}' LD='${CCLD}' FULL_AR='${AR}'" | 17 | EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR} CC='${CC}' LD='${CCLD}' FULL_AR='${AR}'" |
18 | 18 | ||
diff --git a/meta/recipes-devtools/perl/libxml-simple-perl_2.25.bb b/meta/recipes-devtools/perl/libxml-simple-perl_2.25.bb index dff0f84aab..a4f08433e7 100644 --- a/meta/recipes-devtools/perl/libxml-simple-perl_2.25.bb +++ b/meta/recipes-devtools/perl/libxml-simple-perl_2.25.bb | |||
@@ -14,7 +14,7 @@ SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Simple-${PV}.tar.gz" | |||
14 | 14 | ||
15 | SRC_URI[sha256sum] = "531fddaebea2416743eb5c4fdfab028f502123d9a220405a4100e68fc480dbf8" | 15 | SRC_URI[sha256sum] = "531fddaebea2416743eb5c4fdfab028f502123d9a220405a4100e68fc480dbf8" |
16 | 16 | ||
17 | S = "${WORKDIR}/XML-Simple-${PV}" | 17 | S = "${UNPACKDIR}/XML-Simple-${PV}" |
18 | 18 | ||
19 | EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}" | 19 | EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}" |
20 | 20 | ||
diff --git a/meta/recipes-devtools/perl/perl_5.40.2.bb b/meta/recipes-devtools/perl/perl_5.40.2.bb index 95c230060d..c3bcbf053d 100644 --- a/meta/recipes-devtools/perl/perl_5.40.2.bb +++ b/meta/recipes-devtools/perl/perl_5.40.2.bb | |||
@@ -7,7 +7,6 @@ LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \ | |||
7 | file://Artistic;md5=71a4d5d9acc18c0952a6df2218bb68da \ | 7 | file://Artistic;md5=71a4d5d9acc18c0952a6df2218bb68da \ |
8 | " | 8 | " |
9 | 9 | ||
10 | |||
11 | SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ | 10 | SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ |
12 | file://perl-rdepends.txt \ | 11 | file://perl-rdepends.txt \ |
13 | file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \ | 12 | file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \ |
diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb index af512a42b4..f537c635ef 100644 --- a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb +++ b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | |||
@@ -18,8 +18,6 @@ SRC_URI = "git://gitlab.freedesktop.org/pkg-config/pkg-config.git;branch=master; | |||
18 | file://0001-Do-not-use-bool-as-a-field-name.patch \ | 18 | file://0001-Do-not-use-bool-as-a-field-name.patch \ |
19 | " | 19 | " |
20 | 20 | ||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | inherit autotools | 21 | inherit autotools |
24 | 22 | ||
25 | # Because of a faulty test, the current auto mode always evaluates to no, | 23 | # Because of a faulty test, the current auto mode always evaluates to no, |
diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index 36283ffa74..22c934977d 100644 --- a/meta/recipes-devtools/pseudo/pseudo.inc +++ b/meta/recipes-devtools/pseudo/pseudo.inc | |||
@@ -124,7 +124,6 @@ do_compile:append:class-native () { | |||
124 | fi | 124 | fi |
125 | } | 125 | } |
126 | 126 | ||
127 | |||
128 | do_install () { | 127 | do_install () { |
129 | oe_runmake 'DESTDIR=${D}' ${MAKEOPTS} 'LIB=lib/pseudo/lib$(MARK64)' install | 128 | oe_runmake 'DESTDIR=${D}' ${MAKEOPTS} 'LIB=lib/pseudo/lib$(MARK64)' install |
130 | } | 129 | } |
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb index 4693afcaf6..385b6f34d9 100644 --- a/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/meta/recipes-devtools/pseudo/pseudo_git.bb | |||
@@ -5,15 +5,14 @@ SRC_URI = "git://git.yoctoproject.org/pseudo;branch=master;protocol=https \ | |||
5 | file://fallback-group \ | 5 | file://fallback-group \ |
6 | " | 6 | " |
7 | SRC_URI:append:class-native = " \ | 7 | SRC_URI:append:class-native = " \ |
8 | http://downloads.yoctoproject.org/mirror/sources/pseudo-prebuilt-2.33.tar.xz;subdir=git/prebuilt;name=prebuilt \ | 8 | http://downloads.yoctoproject.org/mirror/sources/pseudo-prebuilt-2.33.tar.xz;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/prebuilt;name=prebuilt \ |
9 | file://older-glibc-symbols.patch" | 9 | file://older-glibc-symbols.patch" |
10 | SRC_URI:append:class-nativesdk = " \ | 10 | SRC_URI:append:class-nativesdk = " \ |
11 | http://downloads.yoctoproject.org/mirror/sources/pseudo-prebuilt-2.33.tar.xz;subdir=git/prebuilt;name=prebuilt \ | 11 | http://downloads.yoctoproject.org/mirror/sources/pseudo-prebuilt-2.33.tar.xz;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/prebuilt;name=prebuilt \ |
12 | file://older-glibc-symbols.patch" | 12 | file://older-glibc-symbols.patch" |
13 | SRC_URI[prebuilt.sha256sum] = "ed9f456856e9d86359f169f46a70ad7be4190d6040282b84c8d97b99072485aa" | 13 | SRC_URI[prebuilt.sha256sum] = "ed9f456856e9d86359f169f46a70ad7be4190d6040282b84c8d97b99072485aa" |
14 | 14 | ||
15 | SRCREV = "2c43381180f9cfef4c0a8bb0c1658a86c3fcc876" | 15 | SRCREV = "2c43381180f9cfef4c0a8bb0c1658a86c3fcc876" |
16 | S = "${WORKDIR}/git" | ||
17 | PV = "1.9.0+git" | 16 | PV = "1.9.0+git" |
18 | 17 | ||
19 | # largefile and 64bit time_t support adds these macros via compiler flags globally | 18 | # largefile and 64bit time_t support adds these macros via compiler flags globally |
diff --git a/meta/recipes-devtools/python/python3-babel_2.17.0.bb b/meta/recipes-devtools/python/python3-babel_2.17.0.bb index f7ffbccdac..adffaa044c 100644 --- a/meta/recipes-devtools/python/python3-babel_2.17.0.bb +++ b/meta/recipes-devtools/python/python3-babel_2.17.0.bb | |||
@@ -7,7 +7,7 @@ SRC_URI[sha256sum] = "0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf | |||
7 | 7 | ||
8 | inherit pypi setuptools3 | 8 | inherit pypi setuptools3 |
9 | 9 | ||
10 | S = "${WORKDIR}/babel-${PV}" | 10 | S = "${UNPACKDIR}/babel-${PV}" |
11 | 11 | ||
12 | CLEANBROKEN = "1" | 12 | CLEANBROKEN = "1" |
13 | 13 | ||
diff --git a/meta/recipes-devtools/python/python3-calver_2025.04.17.bb b/meta/recipes-devtools/python/python3-calver_2025.04.17.bb index 290be21ce2..85ad18701c 100644 --- a/meta/recipes-devtools/python/python3-calver_2025.04.17.bb +++ b/meta/recipes-devtools/python/python3-calver_2025.04.17.bb | |||
@@ -8,8 +8,6 @@ SRCREV = "3b74bdce35f2814eb2b65db39a133d5c849ddea7" | |||
8 | 8 | ||
9 | inherit python_setuptools_build_meta ptest-python-pytest | 9 | inherit python_setuptools_build_meta ptest-python-pytest |
10 | 10 | ||
11 | S = "${WORKDIR}/git" | ||
12 | |||
13 | RDEPENDS:${PN}-ptest += " \ | 11 | RDEPENDS:${PN}-ptest += " \ |
14 | python3-pretend \ | 12 | python3-pretend \ |
15 | " | 13 | " |
diff --git a/meta/recipes-devtools/python/python3-certifi_2025.4.26.bb b/meta/recipes-devtools/python/python3-certifi_2025.6.15.bb index 07f9f3bfc8..e8ad8da486 100644 --- a/meta/recipes-devtools/python/python3-certifi_2025.4.26.bb +++ b/meta/recipes-devtools/python/python3-certifi_2025.6.15.bb | |||
@@ -7,9 +7,9 @@ HOMEPAGE = " http://certifi.io/" | |||
7 | LICENSE = "ISC" | 7 | LICENSE = "ISC" |
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=11618cb6a975948679286b1211bd573c" | 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=11618cb6a975948679286b1211bd573c" |
9 | 9 | ||
10 | SRC_URI[sha256sum] = "0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6" | 10 | SRC_URI[sha256sum] = "d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b" |
11 | 11 | ||
12 | inherit pypi setuptools3 | 12 | inherit pypi python_setuptools_build_meta |
13 | 13 | ||
14 | BBCLASSEXTEND = "native nativesdk" | 14 | BBCLASSEXTEND = "native nativesdk" |
15 | 15 | ||
diff --git a/meta/recipes-devtools/python/python3-colorama_0.4.6.bb b/meta/recipes-devtools/python/python3-colorama_0.4.6.bb new file mode 100644 index 0000000000..c33310b969 --- /dev/null +++ b/meta/recipes-devtools/python/python3-colorama_0.4.6.bb | |||
@@ -0,0 +1,10 @@ | |||
1 | SUMMARY = "Cross-platform colored terminal text." | ||
2 | HOMEPAGE = "https://github.com/tartley/colorama" | ||
3 | LICENSE = "BSD-3-Clause" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26" | ||
5 | |||
6 | inherit pypi python_hatchling | ||
7 | |||
8 | SRC_URI[sha256sum] = "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" | ||
9 | |||
10 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-cryptography-common.inc b/meta/recipes-devtools/python/python3-cryptography-common.inc index 3018d967b2..5ce2485ed5 100644 --- a/meta/recipes-devtools/python/python3-cryptography-common.inc +++ b/meta/recipes-devtools/python/python3-cryptography-common.inc | |||
@@ -3,4 +3,4 @@ | |||
3 | # | 3 | # |
4 | # Additionally AUH will detect that they share this .inc file and | 4 | # Additionally AUH will detect that they share this .inc file and |
5 | # perform a lockstep upgrade for both. | 5 | # perform a lockstep upgrade for both. |
6 | PV = "45.0.3" | 6 | PV = "45.0.4" |
diff --git a/meta/recipes-devtools/python/python3-cryptography-vectors.bb b/meta/recipes-devtools/python/python3-cryptography-vectors.bb index 46597134b6..a8f8d0cd17 100644 --- a/meta/recipes-devtools/python/python3-cryptography-vectors.bb +++ b/meta/recipes-devtools/python/python3-cryptography-vectors.bb | |||
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4 \ | |||
9 | # NOTE: Make sure to keep this recipe at the same version as python3-cryptography | 9 | # NOTE: Make sure to keep this recipe at the same version as python3-cryptography |
10 | # Upgrade both recipes at the same time | 10 | # Upgrade both recipes at the same time |
11 | require python3-cryptography-common.inc | 11 | require python3-cryptography-common.inc |
12 | SRC_URI[sha256sum] = "b65cebdc334c6b9db8c79081a08253fddf262d009d2c914398edd24a4321db21" | 12 | SRC_URI[sha256sum] = "fbb0408df8ff2d2b3dbd2928bc5b7feebfdd36fb092fa8790d5778a9b9a1f9ef" |
13 | 13 | ||
14 | PYPI_PACKAGE = "cryptography_vectors" | 14 | PYPI_PACKAGE = "cryptography_vectors" |
15 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | 15 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" |
diff --git a/meta/recipes-devtools/python/python3-cryptography.bb b/meta/recipes-devtools/python/python3-cryptography.bb index e40e62f626..f41e13f4a1 100644 --- a/meta/recipes-devtools/python/python3-cryptography.bb +++ b/meta/recipes-devtools/python/python3-cryptography.bb | |||
@@ -11,7 +11,7 @@ LDSHARED += "-pthread" | |||
11 | # NOTE: Make sure to keep this recipe at the same version as python3-cryptography-vectors | 11 | # NOTE: Make sure to keep this recipe at the same version as python3-cryptography-vectors |
12 | # Upgrade both recipes at the same time | 12 | # Upgrade both recipes at the same time |
13 | require python3-cryptography-common.inc | 13 | require python3-cryptography-common.inc |
14 | SRC_URI[sha256sum] = "ec21313dd335c51d7877baf2972569f40a4291b76a0ce51391523ae358d05899" | 14 | SRC_URI[sha256sum] = "7405ade85c83c37682c8fe65554759800a4a8c54b2d96e0f8ad114d31b808d57" |
15 | 15 | ||
16 | SRC_URI += "file://0001-pyproject.toml-remove-benchmark-disable-option.patch \ | 16 | SRC_URI += "file://0001-pyproject.toml-remove-benchmark-disable-option.patch \ |
17 | file://check-memfree.py \ | 17 | file://check-memfree.py \ |
diff --git a/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch b/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch index 42876e3489..e238717208 100644 --- a/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch +++ b/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 7da554d52bfed4370766d5afd94bc7865791231d Mon Sep 17 00:00:00 2001 | 1 | From baa3c56b87ceaea331811a0a4642991cbb12e6ea Mon Sep 17 00:00:00 2001 |
2 | From: Mingli Yu <mingli.yu@windriver.com> | 2 | From: Mingli Yu <mingli.yu@windriver.com> |
3 | Date: Tue, 17 May 2022 17:22:48 +0800 | 3 | Date: Tue, 17 May 2022 17:22:48 +0800 |
4 | Subject: [PATCH] pyproject.toml: remove --benchmark-disable option | 4 | Subject: [PATCH] pyproject.toml: remove --benchmark-disable option |
@@ -26,7 +26,7 @@ Signed-off-by: Tim Orling <tim.orling@konsulko.com> | |||
26 | 1 file changed, 1 insertion(+), 1 deletion(-) | 26 | 1 file changed, 1 insertion(+), 1 deletion(-) |
27 | 27 | ||
28 | diff --git a/pyproject.toml b/pyproject.toml | 28 | diff --git a/pyproject.toml b/pyproject.toml |
29 | index d94a1f5..c0f87a7 100644 | 29 | index d9ef704..878b720 100644 |
30 | --- a/pyproject.toml | 30 | --- a/pyproject.toml |
31 | +++ b/pyproject.toml | 31 | +++ b/pyproject.toml |
32 | @@ -129,7 +129,7 @@ exclude = [ | 32 | @@ -129,7 +129,7 @@ exclude = [ |
diff --git a/meta/recipes-devtools/python/python3-dbus_1.4.0.bb b/meta/recipes-devtools/python/python3-dbus_1.4.0.bb index 057c97f656..2854eda30a 100644 --- a/meta/recipes-devtools/python/python3-dbus_1.4.0.bb +++ b/meta/recipes-devtools/python/python3-dbus_1.4.0.bb | |||
@@ -9,7 +9,7 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.ta | |||
9 | 9 | ||
10 | SRC_URI[sha256sum] = "c36b28f10ffcc8f1f798aca973bcc132f91f33eb9b6b8904381b4077766043d5" | 10 | SRC_URI[sha256sum] = "c36b28f10ffcc8f1f798aca973bcc132f91f33eb9b6b8904381b4077766043d5" |
11 | 11 | ||
12 | S = "${WORKDIR}/dbus-python-${PV}" | 12 | S = "${UNPACKDIR}/dbus-python-${PV}" |
13 | 13 | ||
14 | inherit setuptools3-base meson pkgconfig | 14 | inherit setuptools3-base meson pkgconfig |
15 | 15 | ||
diff --git a/meta/recipes-devtools/python/python3-dtc_1.7.2.bb b/meta/recipes-devtools/python/python3-dtc_1.7.2.bb index 99ff0cca87..9525c340cd 100644 --- a/meta/recipes-devtools/python/python3-dtc_1.7.2.bb +++ b/meta/recipes-devtools/python/python3-dtc_1.7.2.bb | |||
@@ -15,8 +15,6 @@ LIC_FILES_CHKSUM = "file://pylibfdt/libfdt.i;beginline=1;endline=6;md5=afda088c9 | |||
15 | 15 | ||
16 | SRCREV = "2d10aa2afe35527728db30b35ec491ecb6959e5c" | 16 | SRCREV = "2d10aa2afe35527728db30b35ec491ecb6959e5c" |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | PYPA_WHEEL = "${S}/dist/libfdt-1.6.2*.whl" | 18 | PYPA_WHEEL = "${S}/dist/libfdt-1.6.2*.whl" |
21 | 19 | ||
22 | inherit setuptools3 pkgconfig | 20 | inherit setuptools3 pkgconfig |
diff --git a/meta/recipes-devtools/python/python3-mako_1.3.10.bb b/meta/recipes-devtools/python/python3-mako_1.3.10.bb index 4facce9233..2d937dc184 100644 --- a/meta/recipes-devtools/python/python3-mako_1.3.10.bb +++ b/meta/recipes-devtools/python/python3-mako_1.3.10.bb | |||
@@ -8,8 +8,6 @@ PYPI_PACKAGE = "mako" | |||
8 | 8 | ||
9 | inherit pypi python_setuptools_build_meta ptest-python-pytest | 9 | inherit pypi python_setuptools_build_meta ptest-python-pytest |
10 | 10 | ||
11 | |||
12 | |||
13 | SRC_URI[sha256sum] = "99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28" | 11 | SRC_URI[sha256sum] = "99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28" |
14 | 12 | ||
15 | RDEPENDS:${PN} = "python3-html \ | 13 | RDEPENDS:${PN} = "python3-html \ |
diff --git a/meta/recipes-devtools/python/python3-maturin-crates.inc b/meta/recipes-devtools/python/python3-maturin-crates.inc index 5c939a09a8..28551ff4ca 100644 --- a/meta/recipes-devtools/python/python3-maturin-crates.inc +++ b/meta/recipes-devtools/python/python3-maturin-crates.inc | |||
@@ -33,10 +33,10 @@ SRC_URI += " \ | |||
33 | crate://crates.io/cargo-config2/0.1.26 \ | 33 | crate://crates.io/cargo-config2/0.1.26 \ |
34 | crate://crates.io/cargo-options/0.7.4 \ | 34 | crate://crates.io/cargo-options/0.7.4 \ |
35 | crate://crates.io/cargo-platform/0.1.8 \ | 35 | crate://crates.io/cargo-platform/0.1.8 \ |
36 | crate://crates.io/cargo-xwin/0.18.4 \ | 36 | crate://crates.io/cargo-xwin/0.18.6 \ |
37 | crate://crates.io/cargo-zigbuild/0.20.0 \ | 37 | crate://crates.io/cargo-zigbuild/0.20.0 \ |
38 | crate://crates.io/cargo_metadata/0.19.0 \ | 38 | crate://crates.io/cargo_metadata/0.19.0 \ |
39 | crate://crates.io/cbindgen/0.28.0 \ | 39 | crate://crates.io/cbindgen/0.29.0 \ |
40 | crate://crates.io/cc/1.2.16 \ | 40 | crate://crates.io/cc/1.2.16 \ |
41 | crate://crates.io/cfb/0.10.0 \ | 41 | crate://crates.io/cfb/0.10.0 \ |
42 | crate://crates.io/cfg-if/1.0.0 \ | 42 | crate://crates.io/cfg-if/1.0.0 \ |
@@ -105,12 +105,12 @@ SRC_URI += " \ | |||
105 | crate://crates.io/futures-util/0.3.31 \ | 105 | crate://crates.io/futures-util/0.3.31 \ |
106 | crate://crates.io/generic-array/0.14.7 \ | 106 | crate://crates.io/generic-array/0.14.7 \ |
107 | crate://crates.io/getrandom/0.2.15 \ | 107 | crate://crates.io/getrandom/0.2.15 \ |
108 | crate://crates.io/getrandom/0.3.3 \ | ||
108 | crate://crates.io/glob/0.3.1 \ | 109 | crate://crates.io/glob/0.3.1 \ |
109 | crate://crates.io/globset/0.4.15 \ | 110 | crate://crates.io/globset/0.4.16 \ |
110 | crate://crates.io/goblin/0.9.2 \ | 111 | crate://crates.io/goblin/0.9.2 \ |
111 | crate://crates.io/hashbrown/0.14.5 \ | 112 | crate://crates.io/hashbrown/0.14.5 \ |
112 | crate://crates.io/hashbrown/0.15.2 \ | 113 | crate://crates.io/hashbrown/0.15.2 \ |
113 | crate://crates.io/heck/0.4.1 \ | ||
114 | crate://crates.io/heck/0.5.0 \ | 114 | crate://crates.io/heck/0.5.0 \ |
115 | crate://crates.io/home/0.5.9 \ | 115 | crate://crates.io/home/0.5.9 \ |
116 | crate://crates.io/humantime/2.1.0 \ | 116 | crate://crates.io/humantime/2.1.0 \ |
@@ -131,15 +131,17 @@ SRC_URI += " \ | |||
131 | crate://crates.io/indexmap/2.6.0 \ | 131 | crate://crates.io/indexmap/2.6.0 \ |
132 | crate://crates.io/indicatif/0.17.9 \ | 132 | crate://crates.io/indicatif/0.17.9 \ |
133 | crate://crates.io/indoc/2.0.5 \ | 133 | crate://crates.io/indoc/2.0.5 \ |
134 | crate://crates.io/insta/1.43.1 \ | ||
134 | crate://crates.io/is_terminal_polyfill/1.70.0 \ | 135 | crate://crates.io/is_terminal_polyfill/1.70.0 \ |
135 | crate://crates.io/itertools/0.12.1 \ | 136 | crate://crates.io/itertools/0.12.1 \ |
136 | crate://crates.io/itertools/0.13.0 \ | 137 | crate://crates.io/itertools/0.13.0 \ |
137 | crate://crates.io/itoa/1.0.11 \ | 138 | crate://crates.io/itoa/1.0.11 \ |
139 | crate://crates.io/jobserver/0.1.33 \ | ||
138 | crate://crates.io/js-sys/0.3.73 \ | 140 | crate://crates.io/js-sys/0.3.73 \ |
139 | crate://crates.io/keyring/2.3.3 \ | 141 | crate://crates.io/keyring/2.3.3 \ |
140 | crate://crates.io/lazy_static/1.4.0 \ | 142 | crate://crates.io/lazy_static/1.4.0 \ |
141 | crate://crates.io/lddtree/0.3.7 \ | 143 | crate://crates.io/lddtree/0.3.7 \ |
142 | crate://crates.io/libc/0.2.167 \ | 144 | crate://crates.io/libc/0.2.172 \ |
143 | crate://crates.io/libmimalloc-sys/0.1.39 \ | 145 | crate://crates.io/libmimalloc-sys/0.1.39 \ |
144 | crate://crates.io/libredox/0.1.3 \ | 146 | crate://crates.io/libredox/0.1.3 \ |
145 | crate://crates.io/linux-keyutils/0.2.4 \ | 147 | crate://crates.io/linux-keyutils/0.2.4 \ |
@@ -148,6 +150,7 @@ SRC_URI += " \ | |||
148 | crate://crates.io/lock_api/0.4.12 \ | 150 | crate://crates.io/lock_api/0.4.12 \ |
149 | crate://crates.io/lockfree-object-pool/0.1.6 \ | 151 | crate://crates.io/lockfree-object-pool/0.1.6 \ |
150 | crate://crates.io/log/0.4.22 \ | 152 | crate://crates.io/log/0.4.22 \ |
153 | crate://crates.io/lzma-rs/0.3.0 \ | ||
151 | crate://crates.io/lzma-sys/0.1.20 \ | 154 | crate://crates.io/lzma-sys/0.1.20 \ |
152 | crate://crates.io/lzxd/0.2.5 \ | 155 | crate://crates.io/lzxd/0.2.5 \ |
153 | crate://crates.io/mailparse/0.15.0 \ | 156 | crate://crates.io/mailparse/0.15.0 \ |
@@ -187,7 +190,7 @@ SRC_URI += " \ | |||
187 | crate://crates.io/pin-utils/0.1.0 \ | 190 | crate://crates.io/pin-utils/0.1.0 \ |
188 | crate://crates.io/pkg-config/0.3.30 \ | 191 | crate://crates.io/pkg-config/0.3.30 \ |
189 | crate://crates.io/plain/0.2.3 \ | 192 | crate://crates.io/plain/0.2.3 \ |
190 | crate://crates.io/platform-info/2.0.3 \ | 193 | crate://crates.io/platform-info/2.0.5 \ |
191 | crate://crates.io/portable-atomic/1.6.0 \ | 194 | crate://crates.io/portable-atomic/1.6.0 \ |
192 | crate://crates.io/powerfmt/0.2.0 \ | 195 | crate://crates.io/powerfmt/0.2.0 \ |
193 | crate://crates.io/ppv-lite86/0.2.17 \ | 196 | crate://crates.io/ppv-lite86/0.2.17 \ |
@@ -195,10 +198,11 @@ SRC_URI += " \ | |||
195 | crate://crates.io/proc-macro-crate/3.1.0 \ | 198 | crate://crates.io/proc-macro-crate/3.1.0 \ |
196 | crate://crates.io/proc-macro2/1.0.92 \ | 199 | crate://crates.io/proc-macro2/1.0.92 \ |
197 | crate://crates.io/psm/0.1.21 \ | 200 | crate://crates.io/psm/0.1.21 \ |
198 | crate://crates.io/pyproject-toml/0.13.4 \ | 201 | crate://crates.io/pyproject-toml/0.13.5 \ |
199 | crate://crates.io/python-pkginfo/0.6.5 \ | 202 | crate://crates.io/python-pkginfo/0.6.5 \ |
200 | crate://crates.io/quote/1.0.37 \ | 203 | crate://crates.io/quote/1.0.37 \ |
201 | crate://crates.io/quoted_printable/0.5.0 \ | 204 | crate://crates.io/quoted_printable/0.5.0 \ |
205 | crate://crates.io/r-efi/5.2.0 \ | ||
202 | crate://crates.io/rand/0.8.5 \ | 206 | crate://crates.io/rand/0.8.5 \ |
203 | crate://crates.io/rand_chacha/0.3.1 \ | 207 | crate://crates.io/rand_chacha/0.3.1 \ |
204 | crate://crates.io/rand_core/0.6.4 \ | 208 | crate://crates.io/rand_core/0.6.4 \ |
@@ -268,9 +272,9 @@ SRC_URI += " \ | |||
268 | crate://crates.io/terminal_size/0.3.0 \ | 272 | crate://crates.io/terminal_size/0.3.0 \ |
269 | crate://crates.io/textwrap/0.16.1 \ | 273 | crate://crates.io/textwrap/0.16.1 \ |
270 | crate://crates.io/thiserror/1.0.69 \ | 274 | crate://crates.io/thiserror/1.0.69 \ |
271 | crate://crates.io/thiserror/2.0.3 \ | 275 | crate://crates.io/thiserror/2.0.12 \ |
272 | crate://crates.io/thiserror-impl/1.0.69 \ | 276 | crate://crates.io/thiserror-impl/1.0.69 \ |
273 | crate://crates.io/thiserror-impl/2.0.3 \ | 277 | crate://crates.io/thiserror-impl/2.0.12 \ |
274 | crate://crates.io/thread_local/1.1.8 \ | 278 | crate://crates.io/thread_local/1.1.8 \ |
275 | crate://crates.io/time/0.3.36 \ | 279 | crate://crates.io/time/0.3.36 \ |
276 | crate://crates.io/time-core/0.1.2 \ | 280 | crate://crates.io/time-core/0.1.2 \ |
@@ -312,6 +316,7 @@ SRC_URI += " \ | |||
312 | crate://crates.io/wait-timeout/0.2.0 \ | 316 | crate://crates.io/wait-timeout/0.2.0 \ |
313 | crate://crates.io/walkdir/2.5.0 \ | 317 | crate://crates.io/walkdir/2.5.0 \ |
314 | crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ | 318 | crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ |
319 | crate://crates.io/wasi/0.14.2+wasi-0.2.4 \ | ||
315 | crate://crates.io/wasm-bindgen/0.2.96 \ | 320 | crate://crates.io/wasm-bindgen/0.2.96 \ |
316 | crate://crates.io/wasm-bindgen-backend/0.2.96 \ | 321 | crate://crates.io/wasm-bindgen-backend/0.2.96 \ |
317 | crate://crates.io/wasm-bindgen-macro/0.2.96 \ | 322 | crate://crates.io/wasm-bindgen-macro/0.2.96 \ |
@@ -347,6 +352,7 @@ SRC_URI += " \ | |||
347 | crate://crates.io/winnow/0.5.40 \ | 352 | crate://crates.io/winnow/0.5.40 \ |
348 | crate://crates.io/winnow/0.6.20 \ | 353 | crate://crates.io/winnow/0.6.20 \ |
349 | crate://crates.io/winsafe/0.0.19 \ | 354 | crate://crates.io/winsafe/0.0.19 \ |
355 | crate://crates.io/wit-bindgen-rt/0.39.0 \ | ||
350 | crate://crates.io/write16/1.0.0 \ | 356 | crate://crates.io/write16/1.0.0 \ |
351 | crate://crates.io/writeable/0.5.5 \ | 357 | crate://crates.io/writeable/0.5.5 \ |
352 | crate://crates.io/xattr/1.3.1 \ | 358 | crate://crates.io/xattr/1.3.1 \ |
@@ -364,6 +370,9 @@ SRC_URI += " \ | |||
364 | crate://crates.io/zerovec-derive/0.10.3 \ | 370 | crate://crates.io/zerovec-derive/0.10.3 \ |
365 | crate://crates.io/zip/2.3.0 \ | 371 | crate://crates.io/zip/2.3.0 \ |
366 | crate://crates.io/zopfli/0.8.1 \ | 372 | crate://crates.io/zopfli/0.8.1 \ |
373 | crate://crates.io/zstd/0.13.3 \ | ||
374 | crate://crates.io/zstd-safe/7.2.4 \ | ||
375 | crate://crates.io/zstd-sys/2.0.15+zstd.1.5.7 \ | ||
367 | " | 376 | " |
368 | 377 | ||
369 | SRC_URI[adler2-2.0.0.sha256sum] = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" | 378 | SRC_URI[adler2-2.0.0.sha256sum] = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" |
@@ -397,10 +406,10 @@ SRC_URI[camino-1.1.9.sha256sum] = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc39808 | |||
397 | SRC_URI[cargo-config2-0.1.26.sha256sum] = "d83ce0be8bd1479e5de6202def660e6c7e27e4e0599bffa4fed05bd380ec2ede" | 406 | SRC_URI[cargo-config2-0.1.26.sha256sum] = "d83ce0be8bd1479e5de6202def660e6c7e27e4e0599bffa4fed05bd380ec2ede" |
398 | SRC_URI[cargo-options-0.7.4.sha256sum] = "f3540247c0a37a76eb324acc238dc617786ea22c43b95da560c82a8f2714321f" | 407 | SRC_URI[cargo-options-0.7.4.sha256sum] = "f3540247c0a37a76eb324acc238dc617786ea22c43b95da560c82a8f2714321f" |
399 | SRC_URI[cargo-platform-0.1.8.sha256sum] = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" | 408 | SRC_URI[cargo-platform-0.1.8.sha256sum] = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" |
400 | SRC_URI[cargo-xwin-0.18.4.sha256sum] = "60f1954e4ffa0f4c47b3df5e6e9508706d8dcaa56152cd672dcee02930ba0326" | 409 | SRC_URI[cargo-xwin-0.18.6.sha256sum] = "5dff83aad332bd6ee29072dd874b48892cd22c58e233c25735eb4417b3999685" |
401 | SRC_URI[cargo-zigbuild-0.20.0.sha256sum] = "3f6e9e856390d5b0a859acaeda16528f8a61c964bdb894c3216c254908f1c2ea" | 410 | SRC_URI[cargo-zigbuild-0.20.0.sha256sum] = "3f6e9e856390d5b0a859acaeda16528f8a61c964bdb894c3216c254908f1c2ea" |
402 | SRC_URI[cargo_metadata-0.19.0.sha256sum] = "afc309ed89476c8957c50fb818f56fe894db857866c3e163335faa91dc34eb85" | 411 | SRC_URI[cargo_metadata-0.19.0.sha256sum] = "afc309ed89476c8957c50fb818f56fe894db857866c3e163335faa91dc34eb85" |
403 | SRC_URI[cbindgen-0.28.0.sha256sum] = "eadd868a2ce9ca38de7eeafdcec9c7065ef89b42b32f0839278d55f35c54d1ff" | 412 | SRC_URI[cbindgen-0.29.0.sha256sum] = "975982cdb7ad6a142be15bdf84aea7ec6a9e5d4d797c004d43185b24cfe4e684" |
404 | SRC_URI[cc-1.2.16.sha256sum] = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" | 413 | SRC_URI[cc-1.2.16.sha256sum] = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" |
405 | SRC_URI[cfb-0.10.0.sha256sum] = "d8a4f8e55be323b378facfcf1f06aa97f6ec17cf4ac84fb17325093aaf62da41" | 414 | SRC_URI[cfb-0.10.0.sha256sum] = "d8a4f8e55be323b378facfcf1f06aa97f6ec17cf4ac84fb17325093aaf62da41" |
406 | SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" | 415 | SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" |
@@ -469,12 +478,12 @@ SRC_URI[futures-timer-3.0.3.sha256sum] = "f288b0a4f20f9a56b5d1da57e2227c661b7b16 | |||
469 | SRC_URI[futures-util-0.3.31.sha256sum] = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" | 478 | SRC_URI[futures-util-0.3.31.sha256sum] = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" |
470 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" | 479 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" |
471 | SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" | 480 | SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" |
481 | SRC_URI[getrandom-0.3.3.sha256sum] = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" | ||
472 | SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" | 482 | SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" |
473 | SRC_URI[globset-0.4.15.sha256sum] = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" | 483 | SRC_URI[globset-0.4.16.sha256sum] = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5" |
474 | SRC_URI[goblin-0.9.2.sha256sum] = "53ab3f32d1d77146981dea5d6b1e8fe31eedcb7013e5e00d6ccd1259a4b4d923" | 484 | SRC_URI[goblin-0.9.2.sha256sum] = "53ab3f32d1d77146981dea5d6b1e8fe31eedcb7013e5e00d6ccd1259a4b4d923" |
475 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" | 485 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" |
476 | SRC_URI[hashbrown-0.15.2.sha256sum] = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" | 486 | SRC_URI[hashbrown-0.15.2.sha256sum] = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" |
477 | SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" | ||
478 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | 487 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" |
479 | SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" | 488 | SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" |
480 | SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" | 489 | SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" |
@@ -495,15 +504,17 @@ SRC_URI[ignore-0.4.23.sha256sum] = "6d89fd380afde86567dfba715db065673989d6253f42 | |||
495 | SRC_URI[indexmap-2.6.0.sha256sum] = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" | 504 | SRC_URI[indexmap-2.6.0.sha256sum] = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" |
496 | SRC_URI[indicatif-0.17.9.sha256sum] = "cbf675b85ed934d3c67b5c5469701eec7db22689d0a2139d856e0925fa28b281" | 505 | SRC_URI[indicatif-0.17.9.sha256sum] = "cbf675b85ed934d3c67b5c5469701eec7db22689d0a2139d856e0925fa28b281" |
497 | SRC_URI[indoc-2.0.5.sha256sum] = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" | 506 | SRC_URI[indoc-2.0.5.sha256sum] = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" |
507 | SRC_URI[insta-1.43.1.sha256sum] = "154934ea70c58054b556dd430b99a98c2a7ff5309ac9891597e339b5c28f4371" | ||
498 | SRC_URI[is_terminal_polyfill-1.70.0.sha256sum] = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" | 508 | SRC_URI[is_terminal_polyfill-1.70.0.sha256sum] = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" |
499 | SRC_URI[itertools-0.12.1.sha256sum] = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" | 509 | SRC_URI[itertools-0.12.1.sha256sum] = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" |
500 | SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" | 510 | SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" |
501 | SRC_URI[itoa-1.0.11.sha256sum] = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" | 511 | SRC_URI[itoa-1.0.11.sha256sum] = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" |
512 | SRC_URI[jobserver-0.1.33.sha256sum] = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" | ||
502 | SRC_URI[js-sys-0.3.73.sha256sum] = "fb15147158e79fd8b8afd0252522769c4f48725460b37338544d8379d94fc8f9" | 513 | SRC_URI[js-sys-0.3.73.sha256sum] = "fb15147158e79fd8b8afd0252522769c4f48725460b37338544d8379d94fc8f9" |
503 | SRC_URI[keyring-2.3.3.sha256sum] = "363387f0019d714aa60cc30ab4fe501a747f4c08fc58f069dd14be971bd495a0" | 514 | SRC_URI[keyring-2.3.3.sha256sum] = "363387f0019d714aa60cc30ab4fe501a747f4c08fc58f069dd14be971bd495a0" |
504 | SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" | 515 | SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" |
505 | SRC_URI[lddtree-0.3.7.sha256sum] = "e0779ac94bd7b6ab781fa12388dbf79ac45ec1fa433e7d25521753be8227b08e" | 516 | SRC_URI[lddtree-0.3.7.sha256sum] = "e0779ac94bd7b6ab781fa12388dbf79ac45ec1fa433e7d25521753be8227b08e" |
506 | SRC_URI[libc-0.2.167.sha256sum] = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" | 517 | SRC_URI[libc-0.2.172.sha256sum] = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" |
507 | SRC_URI[libmimalloc-sys-0.1.39.sha256sum] = "23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44" | 518 | SRC_URI[libmimalloc-sys-0.1.39.sha256sum] = "23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44" |
508 | SRC_URI[libredox-0.1.3.sha256sum] = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" | 519 | SRC_URI[libredox-0.1.3.sha256sum] = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" |
509 | SRC_URI[linux-keyutils-0.2.4.sha256sum] = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e" | 520 | SRC_URI[linux-keyutils-0.2.4.sha256sum] = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e" |
@@ -512,6 +523,7 @@ SRC_URI[litemap-0.7.3.sha256sum] = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e | |||
512 | SRC_URI[lock_api-0.4.12.sha256sum] = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" | 523 | SRC_URI[lock_api-0.4.12.sha256sum] = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" |
513 | SRC_URI[lockfree-object-pool-0.1.6.sha256sum] = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" | 524 | SRC_URI[lockfree-object-pool-0.1.6.sha256sum] = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" |
514 | SRC_URI[log-0.4.22.sha256sum] = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" | 525 | SRC_URI[log-0.4.22.sha256sum] = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" |
526 | SRC_URI[lzma-rs-0.3.0.sha256sum] = "297e814c836ae64db86b36cf2a557ba54368d03f6afcd7d947c266692f71115e" | ||
515 | SRC_URI[lzma-sys-0.1.20.sha256sum] = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" | 527 | SRC_URI[lzma-sys-0.1.20.sha256sum] = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" |
516 | SRC_URI[lzxd-0.2.5.sha256sum] = "5de7336a183103429ad66d11d56d8bdc9c4a2916f6b85a8f11e5b127bde12001" | 528 | SRC_URI[lzxd-0.2.5.sha256sum] = "5de7336a183103429ad66d11d56d8bdc9c4a2916f6b85a8f11e5b127bde12001" |
517 | SRC_URI[mailparse-0.15.0.sha256sum] = "3da03d5980411a724e8aaf7b61a7b5e386ec55a7fb49ee3d0ff79efc7e5e7c7e" | 529 | SRC_URI[mailparse-0.15.0.sha256sum] = "3da03d5980411a724e8aaf7b61a7b5e386ec55a7fb49ee3d0ff79efc7e5e7c7e" |
@@ -551,7 +563,7 @@ SRC_URI[pin-project-lite-0.2.15.sha256sum] = "915a1e146535de9163f3987b8944ed8cf4 | |||
551 | SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" | 563 | SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" |
552 | SRC_URI[pkg-config-0.3.30.sha256sum] = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" | 564 | SRC_URI[pkg-config-0.3.30.sha256sum] = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" |
553 | SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" | 565 | SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" |
554 | SRC_URI[platform-info-2.0.3.sha256sum] = "d5ff316b9c4642feda973c18f0decd6c8b0919d4722566f6e4337cce0dd88217" | 566 | SRC_URI[platform-info-2.0.5.sha256sum] = "7539aeb3fdd8cb4f6a331307cf71a1039cee75e94e8a71725b9484f4a0d9451a" |
555 | SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" | 567 | SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" |
556 | SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" | 568 | SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" |
557 | SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" | 569 | SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" |
@@ -559,10 +571,11 @@ SRC_URI[pretty_assertions-1.4.1.sha256sum] = "3ae130e2f271fbc2ac3a40fb1d07180839 | |||
559 | SRC_URI[proc-macro-crate-3.1.0.sha256sum] = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" | 571 | SRC_URI[proc-macro-crate-3.1.0.sha256sum] = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" |
560 | SRC_URI[proc-macro2-1.0.92.sha256sum] = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" | 572 | SRC_URI[proc-macro2-1.0.92.sha256sum] = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" |
561 | SRC_URI[psm-0.1.21.sha256sum] = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" | 573 | SRC_URI[psm-0.1.21.sha256sum] = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" |
562 | SRC_URI[pyproject-toml-0.13.4.sha256sum] = "643af57c3f36ba90a8b53e972727d8092f7408a9ebfbaf4c3d2c17b07c58d835" | 574 | SRC_URI[pyproject-toml-0.13.5.sha256sum] = "7b0f6160dc48298b9260d9b958ad1d7f96f6cd0b9df200b22329204e09334663" |
563 | SRC_URI[python-pkginfo-0.6.5.sha256sum] = "c21f58880fc45e91d29b2f639ab4051aaa6a2b054534c2d343a953347d0dd600" | 575 | SRC_URI[python-pkginfo-0.6.5.sha256sum] = "c21f58880fc45e91d29b2f639ab4051aaa6a2b054534c2d343a953347d0dd600" |
564 | SRC_URI[quote-1.0.37.sha256sum] = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" | 576 | SRC_URI[quote-1.0.37.sha256sum] = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" |
565 | SRC_URI[quoted_printable-0.5.0.sha256sum] = "79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0" | 577 | SRC_URI[quoted_printable-0.5.0.sha256sum] = "79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0" |
578 | SRC_URI[r-efi-5.2.0.sha256sum] = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" | ||
566 | SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" | 579 | SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" |
567 | SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" | 580 | SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" |
568 | SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" | 581 | SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" |
@@ -632,9 +645,9 @@ SRC_URI[termcolor-1.4.1.sha256sum] = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c7 | |||
632 | SRC_URI[terminal_size-0.3.0.sha256sum] = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" | 645 | SRC_URI[terminal_size-0.3.0.sha256sum] = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" |
633 | SRC_URI[textwrap-0.16.1.sha256sum] = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" | 646 | SRC_URI[textwrap-0.16.1.sha256sum] = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" |
634 | SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" | 647 | SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" |
635 | SRC_URI[thiserror-2.0.3.sha256sum] = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" | 648 | SRC_URI[thiserror-2.0.12.sha256sum] = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" |
636 | SRC_URI[thiserror-impl-1.0.69.sha256sum] = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" | 649 | SRC_URI[thiserror-impl-1.0.69.sha256sum] = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" |
637 | SRC_URI[thiserror-impl-2.0.3.sha256sum] = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" | 650 | SRC_URI[thiserror-impl-2.0.12.sha256sum] = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" |
638 | SRC_URI[thread_local-1.1.8.sha256sum] = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" | 651 | SRC_URI[thread_local-1.1.8.sha256sum] = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" |
639 | SRC_URI[time-0.3.36.sha256sum] = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" | 652 | SRC_URI[time-0.3.36.sha256sum] = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" |
640 | SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" | 653 | SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" |
@@ -676,6 +689,7 @@ SRC_URI[versions-6.2.0.sha256sum] = "38a8931f8d167b6448076020e70b9de46dcf5ea1731 | |||
676 | SRC_URI[wait-timeout-0.2.0.sha256sum] = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" | 689 | SRC_URI[wait-timeout-0.2.0.sha256sum] = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" |
677 | SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" | 690 | SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" |
678 | SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" | 691 | SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" |
692 | SRC_URI[wasi-0.14.2+wasi-0.2.4.sha256sum] = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" | ||
679 | SRC_URI[wasm-bindgen-0.2.96.sha256sum] = "21d3b25c3ea1126a2ad5f4f9068483c2af1e64168f847abe863a526b8dbfe00b" | 693 | SRC_URI[wasm-bindgen-0.2.96.sha256sum] = "21d3b25c3ea1126a2ad5f4f9068483c2af1e64168f847abe863a526b8dbfe00b" |
680 | SRC_URI[wasm-bindgen-backend-0.2.96.sha256sum] = "52857d4c32e496dc6537646b5b117081e71fd2ff06de792e3577a150627db283" | 694 | SRC_URI[wasm-bindgen-backend-0.2.96.sha256sum] = "52857d4c32e496dc6537646b5b117081e71fd2ff06de792e3577a150627db283" |
681 | SRC_URI[wasm-bindgen-macro-0.2.96.sha256sum] = "920b0ffe069571ebbfc9ddc0b36ba305ef65577c94b06262ed793716a1afd981" | 695 | SRC_URI[wasm-bindgen-macro-0.2.96.sha256sum] = "920b0ffe069571ebbfc9ddc0b36ba305ef65577c94b06262ed793716a1afd981" |
@@ -711,6 +725,7 @@ SRC_URI[windows_x86_64_msvc-0.52.5.sha256sum] = "bec47e5bfd1bff0eeaf6d8b485cc107 | |||
711 | SRC_URI[winnow-0.5.40.sha256sum] = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" | 725 | SRC_URI[winnow-0.5.40.sha256sum] = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" |
712 | SRC_URI[winnow-0.6.20.sha256sum] = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" | 726 | SRC_URI[winnow-0.6.20.sha256sum] = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" |
713 | SRC_URI[winsafe-0.0.19.sha256sum] = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" | 727 | SRC_URI[winsafe-0.0.19.sha256sum] = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" |
728 | SRC_URI[wit-bindgen-rt-0.39.0.sha256sum] = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" | ||
714 | SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" | 729 | SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" |
715 | SRC_URI[writeable-0.5.5.sha256sum] = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" | 730 | SRC_URI[writeable-0.5.5.sha256sum] = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" |
716 | SRC_URI[xattr-1.3.1.sha256sum] = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" | 731 | SRC_URI[xattr-1.3.1.sha256sum] = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" |
@@ -728,3 +743,6 @@ SRC_URI[zerovec-0.10.4.sha256sum] = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c | |||
728 | SRC_URI[zerovec-derive-0.10.3.sha256sum] = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" | 743 | SRC_URI[zerovec-derive-0.10.3.sha256sum] = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" |
729 | SRC_URI[zip-2.3.0.sha256sum] = "84e9a772a54b54236b9b744aaaf8d7be01b4d6e99725523cb82cb32d1c81b1d7" | 744 | SRC_URI[zip-2.3.0.sha256sum] = "84e9a772a54b54236b9b744aaaf8d7be01b4d6e99725523cb82cb32d1c81b1d7" |
730 | SRC_URI[zopfli-0.8.1.sha256sum] = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" | 745 | SRC_URI[zopfli-0.8.1.sha256sum] = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" |
746 | SRC_URI[zstd-0.13.3.sha256sum] = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" | ||
747 | SRC_URI[zstd-safe-7.2.4.sha256sum] = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" | ||
748 | SRC_URI[zstd-sys-2.0.15+zstd.1.5.7.sha256sum] = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" | ||
diff --git a/meta/recipes-devtools/python/python3-maturin/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch b/meta/recipes-devtools/python/python3-maturin/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch deleted file mode 100644 index aceefa7967..0000000000 --- a/meta/recipes-devtools/python/python3-maturin/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch +++ /dev/null | |||
@@ -1,110 +0,0 @@ | |||
1 | From 4b439b0953573e0383da7e092b1f516ba21f3398 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dan Gohman <dev@sunfishcode.online> | ||
3 | Date: Sun, 6 Apr 2025 05:22:49 -0700 | ||
4 | Subject: [PATCH] Define Linux ioctl codes on more architectures. | ||
5 | |||
6 | Define ioctl codes including `FICLONE` and `FS_IOC32_GETVERSION` using | ||
7 | `_IOR` and `_IOW` so that they're automatically supported on all | ||
8 | architectures, including riscv32gc-unknown-linux-gnu. | ||
9 | |||
10 | Upstream-Status: Backport [https://github.com/rust-lang/libc/pull/4382/] | ||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | --- | ||
13 | src/unix/linux_like/linux/arch/generic/mod.rs | 75 ++++--------------- | ||
14 | 1 file changed, 15 insertions(+), 60 deletions(-) | ||
15 | |||
16 | --- a/src/unix/linux_like/linux/arch/generic/mod.rs | ||
17 | +++ b/src/unix/linux_like/linux/arch/generic/mod.rs | ||
18 | @@ -1,5 +1,5 @@ | ||
19 | use crate::prelude::*; | ||
20 | -use crate::Ioctl; | ||
21 | +use crate::{Ioctl, _IOR, _IOW}; | ||
22 | |||
23 | s! { | ||
24 | pub struct termios2 { | ||
25 | @@ -116,21 +116,8 @@ cfg_if! { | ||
26 | // pub const SO_PREFER_BUSY_POLL: c_int = 69; | ||
27 | // pub const SO_BUSY_POLL_BUDGET: c_int = 70; | ||
28 | |||
29 | -cfg_if! { | ||
30 | - if #[cfg(any( | ||
31 | - target_arch = "x86", | ||
32 | - target_arch = "x86_64", | ||
33 | - target_arch = "arm", | ||
34 | - target_arch = "aarch64", | ||
35 | - target_arch = "riscv64", | ||
36 | - target_arch = "s390x", | ||
37 | - target_arch = "csky", | ||
38 | - target_arch = "loongarch64" | ||
39 | - ))] { | ||
40 | - pub const FICLONE: c_ulong = 0x40049409; | ||
41 | - pub const FICLONERANGE: c_ulong = 0x4020940D; | ||
42 | - } | ||
43 | -} | ||
44 | +pub const FICLONE: Ioctl = _IOW::<c_int>(0x94, 9) as Ioctl; | ||
45 | +pub const FICLONERANGE: Ioctl = _IOW::<crate::file_clone_range>(0x94, 13) as Ioctl; | ||
46 | |||
47 | // Defined in unix/linux_like/mod.rs | ||
48 | // pub const SCM_TIMESTAMP: c_int = SO_TIMESTAMP; | ||
49 | @@ -248,49 +235,18 @@ pub const TUNGETVNETBE: Ioctl = 0x800454 | ||
50 | pub const TUNSETSTEERINGEBPF: Ioctl = 0x800454e0; | ||
51 | pub const TUNSETFILTEREBPF: Ioctl = 0x800454e1; | ||
52 | |||
53 | -cfg_if! { | ||
54 | - // Those type are constructed using the _IOC macro | ||
55 | - // DD-SS_SSSS_SSSS_SSSS-TTTT_TTTT-NNNN_NNNN | ||
56 | - // where D stands for direction (either None (00), Read (01) or Write (11)) | ||
57 | - // where S stands for size (int, long, struct...) | ||
58 | - // where T stands for type ('f','v','X'...) | ||
59 | - // where N stands for NR (NumbeR) | ||
60 | - if #[cfg(any( | ||
61 | - target_arch = "x86", | ||
62 | - target_arch = "arm", | ||
63 | - target_arch = "csky" | ||
64 | - ))] { | ||
65 | - pub const FS_IOC_GETFLAGS: Ioctl = 0x80046601; | ||
66 | - pub const FS_IOC_SETFLAGS: Ioctl = 0x40046602; | ||
67 | - pub const FS_IOC_GETVERSION: Ioctl = 0x80047601; | ||
68 | - pub const FS_IOC_SETVERSION: Ioctl = 0x40047602; | ||
69 | - pub const FS_IOC32_GETFLAGS: Ioctl = 0x80046601; | ||
70 | - pub const FS_IOC32_SETFLAGS: Ioctl = 0x40046602; | ||
71 | - pub const FS_IOC32_GETVERSION: Ioctl = 0x80047601; | ||
72 | - pub const FS_IOC32_SETVERSION: Ioctl = 0x40047602; | ||
73 | - pub const TUNATTACHFILTER: Ioctl = 0x400854d5; | ||
74 | - pub const TUNDETACHFILTER: Ioctl = 0x400854d6; | ||
75 | - pub const TUNGETFILTER: Ioctl = 0x800854db; | ||
76 | - } else if #[cfg(any( | ||
77 | - target_arch = "x86_64", | ||
78 | - target_arch = "riscv64", | ||
79 | - target_arch = "aarch64", | ||
80 | - target_arch = "s390x", | ||
81 | - target_arch = "loongarch64" | ||
82 | - ))] { | ||
83 | - pub const FS_IOC_GETFLAGS: Ioctl = 0x80086601; | ||
84 | - pub const FS_IOC_SETFLAGS: Ioctl = 0x40086602; | ||
85 | - pub const FS_IOC_GETVERSION: Ioctl = 0x80087601; | ||
86 | - pub const FS_IOC_SETVERSION: Ioctl = 0x40087602; | ||
87 | - pub const FS_IOC32_GETFLAGS: Ioctl = 0x80046601; | ||
88 | - pub const FS_IOC32_SETFLAGS: Ioctl = 0x40046602; | ||
89 | - pub const FS_IOC32_GETVERSION: Ioctl = 0x80047601; | ||
90 | - pub const FS_IOC32_SETVERSION: Ioctl = 0x40047602; | ||
91 | - pub const TUNATTACHFILTER: Ioctl = 0x401054d5; | ||
92 | - pub const TUNDETACHFILTER: Ioctl = 0x401054d6; | ||
93 | - pub const TUNGETFILTER: Ioctl = 0x801054db; | ||
94 | - } | ||
95 | -} | ||
96 | +pub const FS_IOC_GETFLAGS: Ioctl = _IOR::<c_long>('f' as u32, 1) as Ioctl; | ||
97 | +pub const FS_IOC_SETFLAGS: Ioctl = _IOW::<c_long>('f' as u32, 2) as Ioctl; | ||
98 | +pub const FS_IOC_GETVERSION: Ioctl = _IOR::<c_long>('v' as u32, 1) as Ioctl; | ||
99 | +pub const FS_IOC_SETVERSION: Ioctl = _IOW::<c_long>('v' as u32, 2) as Ioctl; | ||
100 | +pub const FS_IOC32_GETFLAGS: Ioctl = _IOR::<c_int>('f' as u32, 1) as Ioctl; | ||
101 | +pub const FS_IOC32_SETFLAGS: Ioctl = _IOW::<c_int>('f' as u32, 2) as Ioctl; | ||
102 | +pub const FS_IOC32_GETVERSION: Ioctl = _IOR::<c_int>('v' as u32, 1) as Ioctl; | ||
103 | +pub const FS_IOC32_SETVERSION: Ioctl = _IOW::<c_int>('v' as u32, 2) as Ioctl; | ||
104 | + | ||
105 | +pub const TUNATTACHFILTER: Ioctl = _IOW::<crate::sock_fprog>('T' as u32, 213) as Ioctl; | ||
106 | +pub const TUNDETACHFILTER: Ioctl = _IOW::<crate::sock_fprog>('T' as u32, 214) as Ioctl; | ||
107 | +pub const TUNGETFILTER: Ioctl = _IOR::<crate::sock_fprog>('T' as u32, 219) as Ioctl; | ||
108 | |||
109 | cfg_if! { | ||
110 | if #[cfg(any(target_arch = "arm", target_arch = "s390x"))] { | ||
diff --git a/meta/recipes-devtools/python/python3-maturin_1.8.6.bb b/meta/recipes-devtools/python/python3-maturin_1.9.0.bb index ab509331c3..e4147b9321 100644 --- a/meta/recipes-devtools/python/python3-maturin_1.8.6.bb +++ b/meta/recipes-devtools/python/python3-maturin_1.9.0.bb | |||
@@ -5,11 +5,9 @@ LICENSE = "MIT | Apache-2.0" | |||
5 | LIC_FILES_CHKSUM = "file://license-apache;md5=1836efb2eb779966696f473ee8540542 \ | 5 | LIC_FILES_CHKSUM = "file://license-apache;md5=1836efb2eb779966696f473ee8540542 \ |
6 | file://license-mit;md5=85fd3b67069cff784d98ebfc7d5c0797" | 6 | file://license-mit;md5=85fd3b67069cff784d98ebfc7d5c0797" |
7 | 7 | ||
8 | # This is needed until Cargo.lock has libc-0.2.172+ | 8 | SRC_URI[sha256sum] = "ccb9cb87f8df88d1bab8f49efe3fc77f0abb0639ea4b4ebf4f35549200d16b9e" |
9 | SRC_URI += "file://0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch;patchdir=${CARGO_VENDORING_DIRECTORY}/libc-0.2.167" | ||
10 | SRC_URI[sha256sum] = "0e0dc2e0bfaa2e1bd238e0236cf8a2b7e2250ccaa29c1aa8d0e61fa664b0289d" | ||
11 | 9 | ||
12 | S = "${WORKDIR}/maturin-${PV}" | 10 | S = "${UNPACKDIR}/maturin-${PV}" |
13 | 11 | ||
14 | CFLAGS += "-ffile-prefix-map=${CARGO_HOME}=${TARGET_DBGSRC_DIR}/cargo_home" | 12 | CFLAGS += "-ffile-prefix-map=${CARGO_HOME}=${TARGET_DBGSRC_DIR}/cargo_home" |
15 | 13 | ||
diff --git a/meta/recipes-devtools/python/python3-numpy_2.3.0.bb b/meta/recipes-devtools/python/python3-numpy_2.3.0.bb index e77a4ba5c3..34a14f7ca6 100644 --- a/meta/recipes-devtools/python/python3-numpy_2.3.0.bb +++ b/meta/recipes-devtools/python/python3-numpy_2.3.0.bb | |||
@@ -19,7 +19,7 @@ UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$" | |||
19 | 19 | ||
20 | inherit pkgconfig ptest python_mesonpy github-releases cython | 20 | inherit pkgconfig ptest python_mesonpy github-releases cython |
21 | 21 | ||
22 | S = "${WORKDIR}/numpy-${PV}" | 22 | S = "${UNPACKDIR}/numpy-${PV}" |
23 | 23 | ||
24 | PACKAGECONFIG[svml] = "-Ddisable-svml=false,-Ddisable-svml=true" | 24 | PACKAGECONFIG[svml] = "-Ddisable-svml=false,-Ddisable-svml=true" |
25 | 25 | ||
diff --git a/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb b/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb index 6e72c93741..11765b3cb3 100644 --- a/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb +++ b/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb | |||
@@ -8,7 +8,6 @@ inherit setuptools3 ptest-python-pytest | |||
8 | SRCREV = "4b3b1e2e568a88d4f1897d694d684f23d9e270c4" | 8 | SRCREV = "4b3b1e2e568a88d4f1897d694d684f23d9e270c4" |
9 | SRC_URI = "git://github.com/erocarrera/pefile;branch=master;protocol=https \ | 9 | SRC_URI = "git://github.com/erocarrera/pefile;branch=master;protocol=https \ |
10 | file://run-ptest" | 10 | file://run-ptest" |
11 | S = "${WORKDIR}/git" | ||
12 | 11 | ||
13 | BBCLASSEXTEND = "native nativesdk" | 12 | BBCLASSEXTEND = "native nativesdk" |
14 | 13 | ||
diff --git a/meta/recipes-devtools/python/python3-psutil_7.0.0.bb b/meta/recipes-devtools/python/python3-psutil_7.0.0.bb index 22ead67ad9..a2af198083 100644 --- a/meta/recipes-devtools/python/python3-psutil_7.0.0.bb +++ b/meta/recipes-devtools/python/python3-psutil_7.0.0.bb | |||
@@ -14,7 +14,6 @@ FILES:${PN}-tests += " \ | |||
14 | ${PYTHON_SITEPACKAGES_DIR}/psutil/__pycache__/test* \ | 14 | ${PYTHON_SITEPACKAGES_DIR}/psutil/__pycache__/test* \ |
15 | " | 15 | " |
16 | 16 | ||
17 | |||
18 | RDEPENDS:${PN} += " \ | 17 | RDEPENDS:${PN} += " \ |
19 | python3-shell \ | 18 | python3-shell \ |
20 | python3-threading \ | 19 | python3-threading \ |
diff --git a/meta/recipes-devtools/python/python3-pycairo_1.28.0.bb b/meta/recipes-devtools/python/python3-pycairo_1.28.0.bb index c610f3eae9..498c4db586 100644 --- a/meta/recipes-devtools/python/python3-pycairo_1.28.0.bb +++ b/meta/recipes-devtools/python/python3-pycairo_1.28.0.bb | |||
@@ -15,7 +15,7 @@ GITHUB_BASE_URI = "https://github.com/pygobject/pycairo/releases/" | |||
15 | 15 | ||
16 | SRC_URI[sha256sum] = "26ec5c6126781eb167089a123919f87baa2740da2cca9098be8b3a6b91cc5fbc" | 16 | SRC_URI[sha256sum] = "26ec5c6126781eb167089a123919f87baa2740da2cca9098be8b3a6b91cc5fbc" |
17 | 17 | ||
18 | S = "${WORKDIR}/pycairo-${PV}" | 18 | S = "${UNPACKDIR}/pycairo-${PV}" |
19 | 19 | ||
20 | inherit meson pkgconfig python3targetconfig github-releases | 20 | inherit meson pkgconfig python3targetconfig github-releases |
21 | 21 | ||
diff --git a/meta/recipes-devtools/python/python3-pygobject_3.52.3.bb b/meta/recipes-devtools/python/python3-pygobject_3.52.3.bb index d0384fcce1..42b071ca08 100644 --- a/meta/recipes-devtools/python/python3-pygobject_3.52.3.bb +++ b/meta/recipes-devtools/python/python3-pygobject_3.52.3.bb | |||
@@ -21,7 +21,7 @@ SRCNAME = "pygobject" | |||
21 | SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.gz" | 21 | SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.gz" |
22 | SRC_URI[sha256sum] = "00e427d291e957462a8fad659a9f9c8be776ff82a8b76bdf402f1eaeec086d82" | 22 | SRC_URI[sha256sum] = "00e427d291e957462a8fad659a9f9c8be776ff82a8b76bdf402f1eaeec086d82" |
23 | 23 | ||
24 | S = "${WORKDIR}/${SRCNAME}-${PV}" | 24 | S = "${UNPACKDIR}/${SRCNAME}-${PV}" |
25 | 25 | ||
26 | PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wayland', 'x11' ], 'cairo', '', d)}" | 26 | PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wayland', 'x11' ], 'cairo', '', d)}" |
27 | 27 | ||
diff --git a/meta/recipes-devtools/python/python3-pytest-subtests_0.14.1.bb b/meta/recipes-devtools/python/python3-pytest-subtests_0.14.2.bb index 56cec25b86..58212bfb1c 100644 --- a/meta/recipes-devtools/python/python3-pytest-subtests_0.14.1.bb +++ b/meta/recipes-devtools/python/python3-pytest-subtests_0.14.2.bb | |||
@@ -7,7 +7,7 @@ BUGTRACKER = "https://github.com/pytest-dev/pytest-subtests/issues" | |||
7 | LICENSE = "MIT" | 7 | LICENSE = "MIT" |
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1" | 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1" |
9 | 9 | ||
10 | SRC_URI[sha256sum] = "350c00adc36c3aff676a66135c81aed9e2182e15f6c3ec8721366918bbbf7580" | 10 | SRC_URI[sha256sum] = "7154a8665fd528ee70a76d00216a44d139dc3c9c83521a0f779f7b0ad4f800de" |
11 | 11 | ||
12 | PYPI_PACKAGE = "pytest_subtests" | 12 | PYPI_PACKAGE = "pytest_subtests" |
13 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | 13 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" |
diff --git a/meta/recipes-devtools/python/python3-pytest_8.3.5.bb b/meta/recipes-devtools/python/python3-pytest_8.4.1.bb index 4d4e8b8511..1f98b6d87e 100644 --- a/meta/recipes-devtools/python/python3-pytest_8.3.5.bb +++ b/meta/recipes-devtools/python/python3-pytest_8.4.1.bb | |||
@@ -5,21 +5,23 @@ DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scal | |||
5 | LICENSE = "MIT" | 5 | LICENSE = "MIT" |
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c" | 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c" |
7 | 7 | ||
8 | SRC_URI[sha256sum] = "f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845" | 8 | SRC_URI[sha256sum] = "7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c" |
9 | 9 | ||
10 | DEPENDS += "python3-setuptools-scm-native" | 10 | DEPENDS += "python3-setuptools-scm-native" |
11 | 11 | ||
12 | inherit update-alternatives pypi python_setuptools_build_meta | 12 | inherit update-alternatives pypi python_setuptools_build_meta |
13 | 13 | ||
14 | RDEPENDS:${PN} += " \ | 14 | RDEPENDS:${PN} += " \ |
15 | python3-xml \ | 15 | python3-colorama \ |
16 | python3-debugger \ | 16 | python3-debugger \ |
17 | python3-doctest \ | 17 | python3-doctest \ |
18 | python3-iniconfig \ | 18 | python3-iniconfig \ |
19 | python3-json \ | 19 | python3-json \ |
20 | python3-packaging \ | 20 | python3-packaging \ |
21 | python3-pluggy \ | 21 | python3-pluggy \ |
22 | python3-pygments \ | ||
22 | python3-tomllib \ | 23 | python3-tomllib \ |
24 | python3-xml \ | ||
23 | " | 25 | " |
24 | 26 | ||
25 | ALTERNATIVE:${PN} += "py.test pytest" | 27 | ALTERNATIVE:${PN} += "py.test pytest" |
diff --git a/meta/recipes-devtools/python/python3-scons_4.9.1.bb b/meta/recipes-devtools/python/python3-scons_4.9.1.bb index c849667970..1eac1ce5a9 100644 --- a/meta/recipes-devtools/python/python3-scons_4.9.1.bb +++ b/meta/recipes-devtools/python/python3-scons_4.9.1.bb | |||
@@ -8,7 +8,7 @@ SRC_URI[sha256sum] = "bacac880ba2e86d6a156c116e2f8f2bfa82b257046f3ac2666c85c53c6 | |||
8 | 8 | ||
9 | inherit pypi python_setuptools_build_meta | 9 | inherit pypi python_setuptools_build_meta |
10 | 10 | ||
11 | S = "${WORKDIR}/scons-${PV}" | 11 | S = "${UNPACKDIR}/scons-${PV}" |
12 | 12 | ||
13 | RDEPENDS:${PN}:class-target = "\ | 13 | RDEPENDS:${PN}:class-target = "\ |
14 | python3-core \ | 14 | python3-core \ |
diff --git a/meta/recipes-devtools/python/python3-setuptools-scm_8.2.1.bb b/meta/recipes-devtools/python/python3-setuptools-scm_8.3.1.bb index e35ef7c25e..70eaf312d3 100644 --- a/meta/recipes-devtools/python/python3-setuptools-scm_8.2.1.bb +++ b/meta/recipes-devtools/python/python3-setuptools-scm_8.3.1.bb | |||
@@ -6,7 +6,7 @@ argument or in a SCM managed file." | |||
6 | LICENSE = "MIT" | 6 | LICENSE = "MIT" |
7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2" | 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2" |
8 | 8 | ||
9 | SRC_URI[sha256sum] = "51cfdd1deefc9b8c08d1a61e940a59c4dec39eb6c285d33fa2f1b4be26c7874d" | 9 | SRC_URI[sha256sum] = "3d555e92b75dacd037d32bafdf94f97af51ea29ae8c7b234cf94b7a5bd242a63" |
10 | 10 | ||
11 | PYPI_PACKAGE = "setuptools_scm" | 11 | PYPI_PACKAGE = "setuptools_scm" |
12 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | 12 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" |
diff --git a/meta/recipes-devtools/python/python3-smartypants/0001-Change-hash-bang-to-python3.patch b/meta/recipes-devtools/python/python3-smartypants/0001-Change-hash-bang-to-python3.patch index aab16eaab4..63bd523cb7 100644 --- a/meta/recipes-devtools/python/python3-smartypants/0001-Change-hash-bang-to-python3.patch +++ b/meta/recipes-devtools/python/python3-smartypants/0001-Change-hash-bang-to-python3.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From e299bcb05405ff49450307bf3002c1fac14a866c Mon Sep 17 00:00:00 2001 | 1 | From 7425e49166e6f16743ec9528697d06bc4103dc5e Mon Sep 17 00:00:00 2001 |
2 | From: Tim Orling <tim.orling@konsulko.com> | 2 | From: Tim Orling <tim.orling@konsulko.com> |
3 | Date: Sun, 20 Feb 2022 18:55:50 -0800 | 3 | Date: Sun, 20 Feb 2022 18:55:50 -0800 |
4 | Subject: [PATCH] Change hash bang to python3 | 4 | Subject: [PATCH] Change hash bang to python3 |
@@ -9,6 +9,9 @@ Upstream-Status: Inappropriate [oe-core specific] | |||
9 | 9 | ||
10 | Signed-off-by: Tim Orling <tim.orling@konsulko.com> | 10 | Signed-off-by: Tim Orling <tim.orling@konsulko.com> |
11 | 11 | ||
12 | Update to apply on v2.0.2. | ||
13 | |||
14 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> | ||
12 | --- | 15 | --- |
13 | setup.py | 2 +- | 16 | setup.py | 2 +- |
14 | smartypants | 2 +- | 17 | smartypants | 2 +- |
@@ -16,32 +19,35 @@ Signed-off-by: Tim Orling <tim.orling@konsulko.com> | |||
16 | 3 files changed, 3 insertions(+), 3 deletions(-) | 19 | 3 files changed, 3 insertions(+), 3 deletions(-) |
17 | 20 | ||
18 | diff --git a/setup.py b/setup.py | 21 | diff --git a/setup.py b/setup.py |
19 | index ff1ea76..96a8b73 100755 | 22 | index c183fc0..e10d757 100755 |
20 | --- a/setup.py | 23 | --- a/setup.py |
21 | +++ b/setup.py | 24 | +++ b/setup.py |
22 | @@ -1,4 +1,4 @@ | 25 | @@ -1,4 +1,4 @@ |
23 | -#!/usr/bin/env python | 26 | -#!/usr/bin/env python |
24 | +#!/usr/bin/env python3 | 27 | +#!/usr/bin/env python3 |
25 | # Copyright (C) 2013, 2014 by Yu-Jie Lin | 28 | # Copyright (c) 2025–present Justin Mayer |
26 | # For detail license information, See COPYING | 29 | # For detail license information, See COPYING |
27 | 30 | ||
28 | diff --git a/smartypants b/smartypants | 31 | diff --git a/smartypants b/smartypants |
29 | index 189adf5..0cca568 100755 | 32 | index 1dabf7d..20c130e 100755 |
30 | --- a/smartypants | 33 | --- a/smartypants |
31 | +++ b/smartypants | 34 | +++ b/smartypants |
32 | @@ -1,4 +1,4 @@ | 35 | @@ -1,4 +1,4 @@ |
33 | -#!/usr/bin/env python | 36 | -#!/usr/bin/env python |
34 | +#!/usr/bin/env python3 | 37 | +#!/usr/bin/env python3 |
35 | # Copyright (c) 2013, 2014 Yu-Jie Lin | 38 | # Copyright (c) 2025–present Justin Mayer |
36 | # Licensed under the BSD License, for detailed license information, see COPYING | 39 | # Licensed under the BSD License, for detailed license information, see COPYING |
37 | 40 | ||
38 | diff --git a/smartypants.py b/smartypants.py | 41 | diff --git a/smartypants.py b/smartypants.py |
39 | index a70575b..e53bd87 100755 | 42 | index 62c1472..a440d14 100755 |
40 | --- a/smartypants.py | 43 | --- a/smartypants.py |
41 | +++ b/smartypants.py | 44 | +++ b/smartypants.py |
42 | @@ -1,4 +1,4 @@ | 45 | @@ -1,4 +1,4 @@ |
43 | -#!/usr/bin/python | 46 | -#!/usr/bin/python |
44 | +#!/usr/bin/env python3 | 47 | +#!/usr/bin/python3 |
45 | # -*- coding: utf-8 -*- | 48 | # Copyright (c) 2025–present Justin Mayer |
49 | # Copyright (c) 2017 Leo Hemsted | ||
46 | # Copyright (c) 2013, 2014, 2016 Yu-Jie Lin | 50 | # Copyright (c) 2013, 2014, 2016 Yu-Jie Lin |
47 | # Copyright (c) 2004, 2005, 2007, 2013 Chad Miller | 51 | -- |
52 | 2.49.0 | ||
53 | |||
diff --git a/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb b/meta/recipes-devtools/python/python3-smartypants_2.0.2.bb index 9bb07eab52..a439f8a880 100644 --- a/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb +++ b/meta/recipes-devtools/python/python3-smartypants_2.0.2.bb | |||
@@ -1,12 +1,12 @@ | |||
1 | SUMMARY = "Translator of plain ASCII punctuation characters into 'smart' typographic punctuation HTML entities" | 1 | SUMMARY = "Translator of plain ASCII punctuation characters into 'smart' typographic punctuation HTML entities" |
2 | HOMEPAGE = "https://pythonhosted.org/smartypants/" | 2 | HOMEPAGE = "https://pythonhosted.org/smartypants/" |
3 | LICENSE = "BSD-3-Clause" | 3 | LICENSE = "BSD-3-Clause" |
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=977036977591ac666c728921ecc54c4f" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=ca325788d94ee694fef2a308c5073454" |
5 | 5 | ||
6 | inherit pypi setuptools3 | 6 | inherit pypi setuptools3 |
7 | 7 | ||
8 | PYPI_PACKAGE = "smartypants" | 8 | PYPI_PACKAGE = "smartypants" |
9 | SRC_URI += "file://0001-Change-hash-bang-to-python3.patch" | 9 | SRC_URI += "file://0001-Change-hash-bang-to-python3.patch" |
10 | SRC_URI[sha256sum] = "7812353a32022699a1aa8cd5626e01c94a946dcaeedaee2d0b382bae4c4cbf36" | 10 | SRC_URI[sha256sum] = "39d64ce1d7cc6964b698297bdf391bc12c3251b7f608e6e55d857cd7c5f800c6" |
11 | 11 | ||
12 | BBCLASSEXTEND = "native nativesdk" | 12 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-devtools/python/python3-unittest-automake-output_0.2.bb b/meta/recipes-devtools/python/python3-unittest-automake-output_0.2.bb index a8b834a126..216fea2b93 100644 --- a/meta/recipes-devtools/python/python3-unittest-automake-output_0.2.bb +++ b/meta/recipes-devtools/python/python3-unittest-automake-output_0.2.bb | |||
@@ -8,8 +8,6 @@ SRC_URI = "git://gitlab.com/rossburton/python-unittest-automake-output;protocol= | |||
8 | 8 | ||
9 | SRCREV = "aebdfb188e368c690ea55cf6c9c9ffa1a52def65" | 9 | SRCREV = "aebdfb188e368c690ea55cf6c9c9ffa1a52def65" |
10 | 10 | ||
11 | S = "${WORKDIR}/git" | ||
12 | |||
13 | inherit python_flit_core | 11 | inherit python_flit_core |
14 | 12 | ||
15 | RDEPENDS:${PN} += "python3-unittest" | 13 | RDEPENDS:${PN} += "python3-unittest" |
diff --git a/meta/recipes-devtools/python/python3_3.13.4.bb b/meta/recipes-devtools/python/python3_3.13.5.bb index 5b49fee3bf..f9ae534213 100644 --- a/meta/recipes-devtools/python/python3_3.13.4.bb +++ b/meta/recipes-devtools/python/python3_3.13.5.bb | |||
@@ -36,7 +36,7 @@ SRC_URI:append:class-native = " \ | |||
36 | file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \ | 36 | file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \ |
37 | " | 37 | " |
38 | 38 | ||
39 | SRC_URI[sha256sum] = "27b15a797562a2971dce3ffe31bb216042ce0b995b39d768cf15f784cc757365" | 39 | SRC_URI[sha256sum] = "93e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640" |
40 | 40 | ||
41 | # exclude pre-releases for both python 2.x and 3.x | 41 | # exclude pre-releases for both python 2.x and 3.x |
42 | UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" | 42 | UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" |
@@ -53,7 +53,7 @@ CVE_STATUS[CVE-2023-36632] = "disputed: Not an issue, in fact expected behaviour | |||
53 | 53 | ||
54 | PYTHON_MAJMIN = "3.13" | 54 | PYTHON_MAJMIN = "3.13" |
55 | 55 | ||
56 | S = "${WORKDIR}/Python-${PV}" | 56 | S = "${UNPACKDIR}/Python-${PV}" |
57 | 57 | ||
58 | BBCLASSEXTEND = "native nativesdk" | 58 | BBCLASSEXTEND = "native nativesdk" |
59 | 59 | ||
@@ -65,7 +65,6 @@ ALTERNATIVE:${PN}-dev = "python3-config" | |||
65 | ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config" | 65 | ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config" |
66 | ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}" | 66 | ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}" |
67 | 67 | ||
68 | |||
69 | DEPENDS = "\ | 68 | DEPENDS = "\ |
70 | autoconf-archive-native \ | 69 | autoconf-archive-native \ |
71 | bzip2 \ | 70 | bzip2 \ |
diff --git a/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb b/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb index 90bba84b03..35735c1e15 100644 --- a/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb +++ b/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb | |||
@@ -4,10 +4,8 @@ RDEPENDS:${PN} = "nativesdk-qemu nativesdk-unfs3 nativesdk-pseudo \ | |||
4 | nativesdk-python3-shell nativesdk-python3-fcntl nativesdk-python3-logging \ | 4 | nativesdk-python3-shell nativesdk-python3-fcntl nativesdk-python3-logging \ |
5 | " | 5 | " |
6 | 6 | ||
7 | |||
8 | LIC_FILES_CHKSUM = "file://${COREBASE}/scripts/runqemu;beginline=5;endline=10;md5=ac2b489a58739c7628a2604698db5e7f" | 7 | LIC_FILES_CHKSUM = "file://${COREBASE}/scripts/runqemu;beginline=5;endline=10;md5=ac2b489a58739c7628a2604698db5e7f" |
9 | 8 | ||
10 | |||
11 | SRC_URI = "file://${COREBASE}/scripts/runqemu \ | 9 | SRC_URI = "file://${COREBASE}/scripts/runqemu \ |
12 | file://${COREBASE}/scripts/runqemu-addptable2image \ | 10 | file://${COREBASE}/scripts/runqemu-addptable2image \ |
13 | file://${COREBASE}/scripts/runqemu-gen-tapdevs \ | 11 | file://${COREBASE}/scripts/runqemu-gen-tapdevs \ |
@@ -18,8 +16,7 @@ SRC_URI = "file://${COREBASE}/scripts/runqemu \ | |||
18 | file://${COREBASE}/scripts/runqemu-export-rootfs \ | 16 | file://${COREBASE}/scripts/runqemu-export-rootfs \ |
19 | " | 17 | " |
20 | 18 | ||
21 | S = "${WORKDIR}/sources" | 19 | S = "${UNPACKDIR}" |
22 | UNPACKDIR = "${S}" | ||
23 | 20 | ||
24 | inherit nativesdk | 21 | inherit nativesdk |
25 | 22 | ||
diff --git a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb index 28a3b95c4e..30108e76df 100644 --- a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb +++ b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb | |||
@@ -6,8 +6,7 @@ LIC_FILES_CHKSUM = "file://${S}/qemu-oe-bridge-helper.c;endline=4;md5=ae00a3bab8 | |||
6 | 6 | ||
7 | SRC_URI = "file://qemu-oe-bridge-helper.c" | 7 | SRC_URI = "file://qemu-oe-bridge-helper.c" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | 9 | S = "${UNPACKDIR}" |
10 | UNPACKDIR = "${S}" | ||
11 | 10 | ||
12 | inherit native | 11 | inherit native |
13 | 12 | ||
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 0aba6d8276..7893df0df2 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc | |||
@@ -92,7 +92,6 @@ do_install_ptest() { | |||
92 | # QEMU_TARGETS is overridable variable | 92 | # QEMU_TARGETS is overridable variable |
93 | QEMU_TARGETS ?= "arm aarch64 i386 loongarch64 mips mipsel mips64 mips64el ppc ppc64 ppc64le riscv32 riscv64 sh4 x86_64" | 93 | QEMU_TARGETS ?= "arm aarch64 i386 loongarch64 mips mipsel mips64 mips64el ppc ppc64 ppc64le riscv32 riscv64 sh4 x86_64" |
94 | 94 | ||
95 | |||
96 | EXTRA_OECONF = " \ | 95 | EXTRA_OECONF = " \ |
97 | --prefix=${prefix} \ | 96 | --prefix=${prefix} \ |
98 | --bindir=${bindir} \ | 97 | --bindir=${bindir} \ |
diff --git a/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb b/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb index 6d0e7883ad..752ff3198d 100644 --- a/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb +++ b/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb | |||
@@ -2,8 +2,7 @@ SUMMARY = "QEMU wrapper script" | |||
2 | HOMEPAGE = "http://qemu.org" | 2 | HOMEPAGE = "http://qemu.org" |
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | 4 | ||
5 | S = "${WORKDIR}/sources" | 5 | S = "${UNPACKDIR}" |
6 | UNPACKDIR = "${S}" | ||
7 | 6 | ||
8 | DEPENDS += "qemu-native" | 7 | DEPENDS += "qemu-native" |
9 | 8 | ||
@@ -27,7 +26,6 @@ if [ ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', | |||
27 | exit 1 | 26 | exit 1 |
28 | fi | 27 | fi |
29 | 28 | ||
30 | |||
31 | $qemu_binary $qemu_options "\$@" | 29 | $qemu_binary $qemu_options "\$@" |
32 | EOF | 30 | EOF |
33 | 31 | ||
diff --git a/meta/recipes-devtools/repo/repo_2.55.2.bb b/meta/recipes-devtools/repo/repo_2.55.2.bb index 9cff3c0b7c..882f3e6312 100644 --- a/meta/recipes-devtools/repo/repo_2.55.2.bb +++ b/meta/recipes-devtools/repo/repo_2.55.2.bb | |||
@@ -15,8 +15,6 @@ SRCREV = "b262d0e4619c406a2708856ed312091d21c5bf39" | |||
15 | 15 | ||
16 | MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git" | 16 | MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git" |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | do_configure:prepend() { | 18 | do_configure:prepend() { |
21 | sed -Ei "s/REPO_REV\s*=\s*('|\")stable('|\")/REPO_REV = '${SRCREV}'/g" ${S}/repo | 19 | sed -Ei "s/REPO_REV\s*=\s*('|\")stable('|\")/REPO_REV = '${SRCREV}'/g" ${S}/repo |
22 | } | 20 | } |
diff --git a/meta/recipes-devtools/rpm-sequoia/rpm-sequoia-crypto-policy_git.bb b/meta/recipes-devtools/rpm-sequoia/rpm-sequoia-crypto-policy_git.bb index 4ccfc95c33..658b9ab36a 100644 --- a/meta/recipes-devtools/rpm-sequoia/rpm-sequoia-crypto-policy_git.bb +++ b/meta/recipes-devtools/rpm-sequoia/rpm-sequoia-crypto-policy_git.bb | |||
@@ -16,8 +16,6 @@ SRC_URI = " \ | |||
16 | SRCREV = "032b418a6db842f0eab330eb5909e4604e888728" | 16 | SRCREV = "032b418a6db842f0eab330eb5909e4604e888728" |
17 | UPSTREAM_CHECK_COMMITS = "1" | 17 | UPSTREAM_CHECK_COMMITS = "1" |
18 | 18 | ||
19 | S = "${UNPACKDIR}/git" | ||
20 | |||
21 | do_compile () { | 19 | do_compile () { |
22 | # Remove most policy variants, leave DEFAULT.pol | 20 | # Remove most policy variants, leave DEFAULT.pol |
23 | # It speeds up the build and we only need DEFAULT/rpm-sequoia. | 21 | # It speeds up the build and we only need DEFAULT/rpm-sequoia. |
diff --git a/meta/recipes-devtools/rpm-sequoia/rpm-sequoia_1.7.0.bb b/meta/recipes-devtools/rpm-sequoia/rpm-sequoia_1.7.0.bb index 6ef626e466..17d5a747ff 100644 --- a/meta/recipes-devtools/rpm-sequoia/rpm-sequoia_1.7.0.bb +++ b/meta/recipes-devtools/rpm-sequoia/rpm-sequoia_1.7.0.bb | |||
@@ -16,11 +16,8 @@ SRC_URI = "git://github.com/rpm-software-management/rpm-sequoia.git;protocol=htt | |||
16 | file://0001-Use-optional-env-vars-to-force-runtime-paths-in-test.patch \ | 16 | file://0001-Use-optional-env-vars-to-force-runtime-paths-in-test.patch \ |
17 | " | 17 | " |
18 | 18 | ||
19 | |||
20 | SRCREV = "0667e04ae7fb8cf0490919978d69883d16400e41" | 19 | SRCREV = "0667e04ae7fb8cf0490919978d69883d16400e41" |
21 | 20 | ||
22 | S = "${UNPACKDIR}/git" | ||
23 | |||
24 | require ${BPN}-crates.inc | 21 | require ${BPN}-crates.inc |
25 | 22 | ||
26 | CARGO_BUILD_FLAGS += "--no-default-features --features crypto-openssl" | 23 | CARGO_BUILD_FLAGS += "--no-default-features --features crypto-openssl" |
diff --git a/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch b/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch index ed270a5704..412e1c146d 100644 --- a/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch +++ b/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch | |||
@@ -1,18 +1,9 @@ | |||
1 | From 19f7ef341f19ac5594c7d0113f9eb8224934464a Mon Sep 17 00:00:00 2001 | 1 | From e14502834fe6a9c6c9a439401ac3d2c8fd979267 Mon Sep 17 00:00:00 2001 |
2 | From: Robert Yang <liezhi.yang@windriver.com> | 2 | From: Robert Yang <liezhi.yang@windriver.com> |
3 | Date: Sun, 8 Jun 2025 00:19:06 -0700 | 3 | Date: Sun, 8 Jun 2025 00:36:38 -0700 |
4 | Subject: [PATCH] CMakeLists.txt: Fix checking for CFLAGS | 4 | Subject: [PATCH] CMakeLists.txt: Improve checking for CFLAGS |
5 | 5 | ||
6 | The previous code doesn't work because the check_c_compiler_flag() only ran | 6 | The previous log wasn't clear: |
7 | once because 'found' is in CACHE, here is log: | ||
8 | -- Performing Test found | ||
9 | -- Performing Test found - Success | ||
10 | |||
11 | That would result in: | ||
12 | * All the flags are added when the first one works | ||
13 | * None of the flags is added when the first one doesn't work | ||
14 | |||
15 | We can use "unset(found CACHE)" to fix that, but the log is still not clear: | ||
16 | -- Performing Test found | 7 | -- Performing Test found |
17 | -- Performing Test found - Success | 8 | -- Performing Test found - Success |
18 | -- Performing Test found | 9 | -- Performing Test found |
@@ -20,15 +11,15 @@ We can use "unset(found CACHE)" to fix that, but the log is still not clear: | |||
20 | -- Performing Test found | 11 | -- Performing Test found |
21 | -- Performing Test found - Failed | 12 | -- Performing Test found - Failed |
22 | 13 | ||
23 | Use a new var SUPPORTS_${flag} will make it more clear: | 14 | Use a new var compiler-supports${flag} will make it more clear: |
24 | -- Performing Test SUPPORTS_-fno-strict-overflow | 15 | -- Performing Test compiler-supports-fno-strict-overflow |
25 | -- Performing Test SUPPORTS_-fno-strict-overflow - Success | 16 | -- Performing Test compiler-supports-fno-strict-overflow - Success |
26 | -- Performing Test SUPPORTS_-fno-delete-null-pointer-checks | 17 | -- Performing Test compiler-supports-fno-delete-null-pointer-checks |
27 | -- Performing Test SUPPORTS_-fno-delete-null-pointer-checks - Success | 18 | -- Performing Test compiler-supports-fno-delete-null-pointer-checks - Success |
28 | -- Performing Test SUPPORTS_-fhardened | 19 | -- Performing Test compiler-supports-fhardened |
29 | -- Performing Test SUPPORTS_-fhardened - Failed | 20 | -- Performing Test compiler-supports-fhardened - Failed |
30 | 21 | ||
31 | Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/3796] | 22 | Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/e14502834fe6a9c6c9a439401ac3d2c8fd979267] |
32 | 23 | ||
33 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | 24 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> |
34 | --- | 25 | --- |
@@ -36,7 +27,7 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | |||
36 | 1 file changed, 2 insertions(+), 3 deletions(-) | 27 | 1 file changed, 2 insertions(+), 3 deletions(-) |
37 | 28 | ||
38 | diff --git a/CMakeLists.txt b/CMakeLists.txt | 29 | diff --git a/CMakeLists.txt b/CMakeLists.txt |
39 | index 08e3e5274..a7566ab5a 100644 | 30 | index 08e3e5274..f275c396b 100644 |
40 | --- a/CMakeLists.txt | 31 | --- a/CMakeLists.txt |
41 | +++ b/CMakeLists.txt | 32 | +++ b/CMakeLists.txt |
42 | @@ -416,11 +416,10 @@ endif() | 33 | @@ -416,11 +416,10 @@ endif() |
@@ -45,14 +36,11 @@ index 08e3e5274..a7566ab5a 100644 | |||
45 | foreach (flag -fno-strict-overflow -fno-delete-null-pointer-checks -fhardened) | 36 | foreach (flag -fno-strict-overflow -fno-delete-null-pointer-checks -fhardened) |
46 | - check_c_compiler_flag(${flag} found) | 37 | - check_c_compiler_flag(${flag} found) |
47 | - if (found) | 38 | - if (found) |
48 | + check_c_compiler_flag(${flag} SUPPORTS_${flag}) | 39 | + check_c_compiler_flag(${flag} compiler-supports${flag}) |
49 | + if (SUPPORTS_${flag}) | 40 | + if (compiler-supports${flag}) |
50 | add_compile_options(${flag}) | 41 | add_compile_options(${flag}) |
51 | endif() | 42 | endif() |
52 | - unset(found) | 43 | - unset(found) |
53 | endforeach() | 44 | endforeach() |
54 | 45 | ||
55 | # generated sources | 46 | # generated sources |
56 | -- | ||
57 | 2.49.0 | ||
58 | |||
diff --git a/meta/recipes-devtools/rpm/rpm_4.20.1.bb b/meta/recipes-devtools/rpm/rpm_4.20.1.bb index 7bb6993811..dc4cfd4abb 100644 --- a/meta/recipes-devtools/rpm/rpm_4.20.1.bb +++ b/meta/recipes-devtools/rpm/rpm_4.20.1.bb | |||
@@ -44,8 +44,6 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.20.x;protoc | |||
44 | PE = "1" | 44 | PE = "1" |
45 | SRCREV = "c8dc5ea575a2e9c1488036d12f4b75f6a5a49120" | 45 | SRCREV = "c8dc5ea575a2e9c1488036d12f4b75f6a5a49120" |
46 | 46 | ||
47 | S = "${WORKDIR}/git" | ||
48 | |||
49 | DEPENDS = "lua libgcrypt file popt xz bzip2 elfutils python3 sqlite3 zstd" | 47 | DEPENDS = "lua libgcrypt file popt xz bzip2 elfutils python3 sqlite3 zstd" |
50 | DEPENDS:append:class-native = " file-replacement-native bzip2-replacement-native" | 48 | DEPENDS:append:class-native = " file-replacement-native bzip2-replacement-native" |
51 | 49 | ||
diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb index f571e61921..5486f89ae7 100644 --- a/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb +++ b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb | |||
@@ -8,8 +8,7 @@ SRC_URI = "file://run-postinsts \ | |||
8 | file://run-postinsts.init \ | 8 | file://run-postinsts.init \ |
9 | file://run-postinsts.service" | 9 | file://run-postinsts.service" |
10 | 10 | ||
11 | S = "${WORKDIR}/sources" | 11 | S = "${UNPACKDIR}" |
12 | UNPACKDIR = "${S}" | ||
13 | 12 | ||
14 | inherit allarch systemd update-rc.d | 13 | inherit allarch systemd update-rc.d |
15 | 14 | ||
diff --git a/meta/recipes-devtools/rust/cargo-c-crates.inc b/meta/recipes-devtools/rust/cargo-c-crates.inc index 8f4a223065..ab0b0d09e1 100644 --- a/meta/recipes-devtools/rust/cargo-c-crates.inc +++ b/meta/recipes-devtools/rust/cargo-c-crates.inc | |||
@@ -3,315 +3,345 @@ | |||
3 | # from Cargo.lock | 3 | # from Cargo.lock |
4 | SRC_URI += " \ | 4 | SRC_URI += " \ |
5 | crate://crates.io/adler2/2.0.0 \ | 5 | crate://crates.io/adler2/2.0.0 \ |
6 | crate://crates.io/ahash/0.8.11 \ | 6 | crate://crates.io/ahash/0.8.12 \ |
7 | crate://crates.io/aho-corasick/1.1.3 \ | 7 | crate://crates.io/aho-corasick/1.1.3 \ |
8 | crate://crates.io/allocator-api2/0.2.18 \ | 8 | crate://crates.io/allocator-api2/0.2.21 \ |
9 | crate://crates.io/annotate-snippets/0.11.4 \ | 9 | crate://crates.io/annotate-snippets/0.11.5 \ |
10 | crate://crates.io/anstream/0.6.15 \ | 10 | crate://crates.io/anstream/0.6.18 \ |
11 | crate://crates.io/anstyle/1.0.8 \ | 11 | crate://crates.io/anstyle/1.0.10 \ |
12 | crate://crates.io/anstyle-parse/0.2.5 \ | 12 | crate://crates.io/anstyle-parse/0.2.6 \ |
13 | crate://crates.io/anstyle-query/1.1.1 \ | 13 | crate://crates.io/anstyle-query/1.1.2 \ |
14 | crate://crates.io/anstyle-wincon/3.0.4 \ | 14 | crate://crates.io/anstyle-wincon/3.0.7 \ |
15 | crate://crates.io/anyhow/1.0.89 \ | 15 | crate://crates.io/anyhow/1.0.98 \ |
16 | crate://crates.io/arc-swap/1.7.1 \ | 16 | crate://crates.io/arc-swap/1.7.1 \ |
17 | crate://crates.io/arrayref/0.3.9 \ | ||
18 | crate://crates.io/arrayvec/0.7.6 \ | ||
17 | crate://crates.io/autocfg/1.4.0 \ | 19 | crate://crates.io/autocfg/1.4.0 \ |
18 | crate://crates.io/base16ct/0.2.0 \ | 20 | crate://crates.io/base16ct/0.2.0 \ |
19 | crate://crates.io/base64/0.22.1 \ | 21 | crate://crates.io/base64/0.22.1 \ |
20 | crate://crates.io/base64ct/1.6.0 \ | 22 | crate://crates.io/base64ct/1.7.3 \ |
21 | crate://crates.io/bitflags/2.6.0 \ | 23 | crate://crates.io/bitflags/2.9.1 \ |
22 | crate://crates.io/bitmaps/2.1.0 \ | 24 | crate://crates.io/bitmaps/2.1.0 \ |
25 | crate://crates.io/blake3/1.8.2 \ | ||
23 | crate://crates.io/block-buffer/0.10.4 \ | 26 | crate://crates.io/block-buffer/0.10.4 \ |
24 | crate://crates.io/bstr/1.10.0 \ | 27 | crate://crates.io/bstr/1.12.0 \ |
25 | crate://crates.io/bumpalo/3.16.0 \ | 28 | crate://crates.io/bumpalo/3.17.0 \ |
26 | crate://crates.io/byteorder/1.5.0 \ | 29 | crate://crates.io/bytes/1.10.1 \ |
27 | crate://crates.io/bytes/1.7.2 \ | 30 | crate://crates.io/cargo/0.88.0 \ |
28 | crate://crates.io/bytesize/1.3.0 \ | 31 | crate://crates.io/cargo-credential/0.4.8 \ |
29 | crate://crates.io/cargo/0.83.0 \ | 32 | crate://crates.io/cargo-credential-libsecret/0.4.13 \ |
30 | crate://crates.io/cargo-credential/0.4.6 \ | 33 | crate://crates.io/cargo-credential-macos-keychain/0.4.13 \ |
31 | crate://crates.io/cargo-credential-libsecret/0.4.8 \ | 34 | crate://crates.io/cargo-credential-wincred/0.4.13 \ |
32 | crate://crates.io/cargo-credential-macos-keychain/0.4.8 \ | 35 | crate://crates.io/cargo-platform/0.2.0 \ |
33 | crate://crates.io/cargo-credential-wincred/0.4.8 \ | 36 | crate://crates.io/cargo-util/0.2.20 \ |
34 | crate://crates.io/cargo-platform/0.1.8 \ | 37 | crate://crates.io/cargo-util-schemas/0.8.1 \ |
35 | crate://crates.io/cargo-util/0.2.15 \ | 38 | crate://crates.io/cbindgen/0.28.0 \ |
36 | crate://crates.io/cargo-util-schemas/0.6.0 \ | 39 | crate://crates.io/cc/1.2.22 \ |
37 | crate://crates.io/cbindgen/0.27.0 \ | ||
38 | crate://crates.io/cc/1.1.30 \ | ||
39 | crate://crates.io/cfg-if/1.0.0 \ | 40 | crate://crates.io/cfg-if/1.0.0 \ |
40 | crate://crates.io/clap/4.5.20 \ | 41 | crate://crates.io/clap/4.5.38 \ |
41 | crate://crates.io/clap_builder/4.5.20 \ | 42 | crate://crates.io/clap_builder/4.5.38 \ |
42 | crate://crates.io/clap_derive/4.5.18 \ | 43 | crate://crates.io/clap_complete/4.5.50 \ |
43 | crate://crates.io/clap_lex/0.7.2 \ | 44 | crate://crates.io/clap_derive/4.5.32 \ |
45 | crate://crates.io/clap_lex/0.7.4 \ | ||
44 | crate://crates.io/clru/0.6.2 \ | 46 | crate://crates.io/clru/0.6.2 \ |
45 | crate://crates.io/color-print/0.3.6 \ | 47 | crate://crates.io/color-print/0.3.7 \ |
46 | crate://crates.io/color-print-proc-macro/0.3.6 \ | 48 | crate://crates.io/color-print-proc-macro/0.3.7 \ |
47 | crate://crates.io/colorchoice/1.0.2 \ | 49 | crate://crates.io/colorchoice/1.0.3 \ |
48 | crate://crates.io/const-oid/0.9.6 \ | 50 | crate://crates.io/const-oid/0.9.6 \ |
49 | crate://crates.io/core-foundation/0.9.4 \ | 51 | crate://crates.io/constant_time_eq/0.3.1 \ |
52 | crate://crates.io/core-foundation/0.10.0 \ | ||
50 | crate://crates.io/core-foundation-sys/0.8.7 \ | 53 | crate://crates.io/core-foundation-sys/0.8.7 \ |
51 | crate://crates.io/cpufeatures/0.2.14 \ | 54 | crate://crates.io/cpufeatures/0.2.17 \ |
52 | crate://crates.io/crates-io/0.40.5 \ | 55 | crate://crates.io/crates-io/0.40.10 \ |
53 | crate://crates.io/crc32fast/1.4.2 \ | 56 | crate://crates.io/crc32fast/1.4.2 \ |
54 | crate://crates.io/crossbeam-channel/0.5.13 \ | 57 | crate://crates.io/crossbeam-channel/0.5.15 \ |
55 | crate://crates.io/crossbeam-deque/0.8.5 \ | 58 | crate://crates.io/crossbeam-deque/0.8.6 \ |
56 | crate://crates.io/crossbeam-epoch/0.9.18 \ | 59 | crate://crates.io/crossbeam-epoch/0.9.18 \ |
57 | crate://crates.io/crossbeam-utils/0.8.20 \ | 60 | crate://crates.io/crossbeam-utils/0.8.21 \ |
58 | crate://crates.io/crypto-bigint/0.5.5 \ | 61 | crate://crates.io/crypto-bigint/0.5.5 \ |
59 | crate://crates.io/crypto-common/0.1.6 \ | 62 | crate://crates.io/crypto-common/0.1.6 \ |
60 | crate://crates.io/ct-codecs/1.1.2 \ | 63 | crate://crates.io/ct-codecs/1.1.5 \ |
61 | crate://crates.io/curl/0.4.47 \ | 64 | crate://crates.io/curl/0.4.47 \ |
62 | crate://crates.io/curl-sys/0.4.77+curl-8.10.1 \ | 65 | crate://crates.io/curl-sys/0.4.80+curl-8.12.1 \ |
63 | crate://crates.io/dbus/0.9.7 \ | 66 | crate://crates.io/dbus/0.9.7 \ |
64 | crate://crates.io/der/0.7.9 \ | 67 | crate://crates.io/der/0.7.10 \ |
65 | crate://crates.io/deranged/0.3.11 \ | 68 | crate://crates.io/deranged/0.4.0 \ |
66 | crate://crates.io/digest/0.10.7 \ | 69 | crate://crates.io/digest/0.10.7 \ |
70 | crate://crates.io/displaydoc/0.2.5 \ | ||
67 | crate://crates.io/dunce/1.0.5 \ | 71 | crate://crates.io/dunce/1.0.5 \ |
68 | crate://crates.io/ecdsa/0.16.9 \ | 72 | crate://crates.io/ecdsa/0.16.9 \ |
69 | crate://crates.io/ed25519-compact/2.1.1 \ | 73 | crate://crates.io/ed25519-compact/2.1.1 \ |
70 | crate://crates.io/either/1.13.0 \ | 74 | crate://crates.io/either/1.15.0 \ |
71 | crate://crates.io/elliptic-curve/0.13.8 \ | 75 | crate://crates.io/elliptic-curve/0.13.8 \ |
72 | crate://crates.io/encoding_rs/0.8.34 \ | 76 | crate://crates.io/encoding_rs/0.8.35 \ |
73 | crate://crates.io/equivalent/1.0.1 \ | 77 | crate://crates.io/equivalent/1.0.2 \ |
74 | crate://crates.io/erased-serde/0.4.5 \ | 78 | crate://crates.io/erased-serde/0.4.6 \ |
75 | crate://crates.io/errno/0.3.9 \ | 79 | crate://crates.io/errno/0.3.12 \ |
76 | crate://crates.io/fallible-iterator/0.3.0 \ | 80 | crate://crates.io/fallible-iterator/0.3.0 \ |
77 | crate://crates.io/fallible-streaming-iterator/0.1.9 \ | 81 | crate://crates.io/fallible-streaming-iterator/0.1.9 \ |
78 | crate://crates.io/faster-hex/0.9.0 \ | 82 | crate://crates.io/faster-hex/0.9.0 \ |
79 | crate://crates.io/fastrand/2.1.1 \ | 83 | crate://crates.io/fastrand/2.3.0 \ |
80 | crate://crates.io/ff/0.13.0 \ | 84 | crate://crates.io/ff/0.13.1 \ |
81 | crate://crates.io/fiat-crypto/0.2.9 \ | 85 | crate://crates.io/fiat-crypto/0.2.9 \ |
82 | crate://crates.io/filetime/0.2.25 \ | 86 | crate://crates.io/filetime/0.2.25 \ |
83 | crate://crates.io/flate2/1.0.34 \ | 87 | crate://crates.io/flate2/1.1.1 \ |
84 | crate://crates.io/fnv/1.0.7 \ | 88 | crate://crates.io/fnv/1.0.7 \ |
85 | crate://crates.io/foldhash/0.1.3 \ | 89 | crate://crates.io/foldhash/0.1.5 \ |
86 | crate://crates.io/foreign-types/0.3.2 \ | 90 | crate://crates.io/foreign-types/0.3.2 \ |
87 | crate://crates.io/foreign-types-shared/0.1.1 \ | 91 | crate://crates.io/foreign-types-shared/0.1.1 \ |
88 | crate://crates.io/form_urlencoded/1.2.1 \ | 92 | crate://crates.io/form_urlencoded/1.2.1 \ |
89 | crate://crates.io/generic-array/0.14.7 \ | 93 | crate://crates.io/generic-array/0.14.7 \ |
90 | crate://crates.io/getrandom/0.2.15 \ | 94 | crate://crates.io/getrandom/0.2.16 \ |
91 | crate://crates.io/git2/0.19.0 \ | 95 | crate://crates.io/getrandom/0.3.3 \ |
92 | crate://crates.io/git2-curl/0.20.0 \ | 96 | crate://crates.io/git2/0.20.2 \ |
93 | crate://crates.io/gix/0.64.0 \ | 97 | crate://crates.io/git2-curl/0.21.0 \ |
94 | crate://crates.io/gix-actor/0.31.5 \ | 98 | crate://crates.io/gix/0.70.0 \ |
95 | crate://crates.io/gix-attributes/0.22.5 \ | 99 | crate://crates.io/gix-actor/0.33.2 \ |
96 | crate://crates.io/gix-bitmap/0.2.11 \ | 100 | crate://crates.io/gix-attributes/0.24.0 \ |
97 | crate://crates.io/gix-chunk/0.4.8 \ | 101 | crate://crates.io/gix-bitmap/0.2.14 \ |
98 | crate://crates.io/gix-command/0.3.9 \ | 102 | crate://crates.io/gix-chunk/0.4.11 \ |
99 | crate://crates.io/gix-commitgraph/0.24.3 \ | 103 | crate://crates.io/gix-command/0.4.1 \ |
100 | crate://crates.io/gix-config/0.38.0 \ | 104 | crate://crates.io/gix-commitgraph/0.26.0 \ |
101 | crate://crates.io/gix-config-value/0.14.8 \ | 105 | crate://crates.io/gix-config/0.43.0 \ |
102 | crate://crates.io/gix-credentials/0.24.5 \ | 106 | crate://crates.io/gix-config-value/0.14.12 \ |
103 | crate://crates.io/gix-date/0.8.7 \ | 107 | crate://crates.io/gix-credentials/0.27.0 \ |
104 | crate://crates.io/gix-date/0.9.0 \ | 108 | crate://crates.io/gix-date/0.9.4 \ |
105 | crate://crates.io/gix-diff/0.44.1 \ | 109 | crate://crates.io/gix-diff/0.50.0 \ |
106 | crate://crates.io/gix-dir/0.6.0 \ | 110 | crate://crates.io/gix-dir/0.12.0 \ |
107 | crate://crates.io/gix-discover/0.33.0 \ | 111 | crate://crates.io/gix-discover/0.38.0 \ |
108 | crate://crates.io/gix-features/0.38.2 \ | 112 | crate://crates.io/gix-features/0.40.0 \ |
109 | crate://crates.io/gix-filter/0.11.3 \ | 113 | crate://crates.io/gix-filter/0.17.0 \ |
110 | crate://crates.io/gix-fs/0.11.3 \ | 114 | crate://crates.io/gix-fs/0.13.0 \ |
111 | crate://crates.io/gix-glob/0.16.5 \ | 115 | crate://crates.io/gix-glob/0.18.0 \ |
112 | crate://crates.io/gix-hash/0.14.2 \ | 116 | crate://crates.io/gix-hash/0.16.0 \ |
113 | crate://crates.io/gix-hashtable/0.5.2 \ | 117 | crate://crates.io/gix-hashtable/0.7.0 \ |
114 | crate://crates.io/gix-ignore/0.11.4 \ | 118 | crate://crates.io/gix-ignore/0.13.0 \ |
115 | crate://crates.io/gix-index/0.33.1 \ | 119 | crate://crates.io/gix-index/0.38.0 \ |
116 | crate://crates.io/gix-lock/14.0.0 \ | 120 | crate://crates.io/gix-lock/16.0.0 \ |
117 | crate://crates.io/gix-macros/0.1.5 \ | 121 | crate://crates.io/gix-negotiate/0.18.0 \ |
118 | crate://crates.io/gix-negotiate/0.13.2 \ | 122 | crate://crates.io/gix-object/0.47.0 \ |
119 | crate://crates.io/gix-object/0.42.3 \ | 123 | crate://crates.io/gix-odb/0.67.0 \ |
120 | crate://crates.io/gix-odb/0.61.1 \ | 124 | crate://crates.io/gix-pack/0.57.0 \ |
121 | crate://crates.io/gix-pack/0.51.1 \ | 125 | crate://crates.io/gix-packetline/0.18.4 \ |
122 | crate://crates.io/gix-packetline/0.17.6 \ | 126 | crate://crates.io/gix-packetline-blocking/0.18.3 \ |
123 | crate://crates.io/gix-packetline-blocking/0.17.5 \ | 127 | crate://crates.io/gix-path/0.10.18 \ |
124 | crate://crates.io/gix-path/0.10.11 \ | 128 | crate://crates.io/gix-pathspec/0.9.0 \ |
125 | crate://crates.io/gix-pathspec/0.7.7 \ | 129 | crate://crates.io/gix-prompt/0.9.1 \ |
126 | crate://crates.io/gix-prompt/0.8.7 \ | 130 | crate://crates.io/gix-protocol/0.48.0 \ |
127 | crate://crates.io/gix-protocol/0.45.3 \ | 131 | crate://crates.io/gix-quote/0.4.15 \ |
128 | crate://crates.io/gix-quote/0.4.12 \ | 132 | crate://crates.io/gix-ref/0.50.0 \ |
129 | crate://crates.io/gix-ref/0.45.0 \ | 133 | crate://crates.io/gix-refspec/0.28.0 \ |
130 | crate://crates.io/gix-refspec/0.23.1 \ | 134 | crate://crates.io/gix-revision/0.32.0 \ |
131 | crate://crates.io/gix-revision/0.27.2 \ | 135 | crate://crates.io/gix-revwalk/0.18.0 \ |
132 | crate://crates.io/gix-revwalk/0.13.2 \ | 136 | crate://crates.io/gix-sec/0.10.12 \ |
133 | crate://crates.io/gix-sec/0.10.8 \ | 137 | crate://crates.io/gix-shallow/0.2.0 \ |
134 | crate://crates.io/gix-submodule/0.12.0 \ | 138 | crate://crates.io/gix-submodule/0.17.0 \ |
135 | crate://crates.io/gix-tempfile/14.0.2 \ | 139 | crate://crates.io/gix-tempfile/16.0.0 \ |
136 | crate://crates.io/gix-trace/0.1.10 \ | 140 | crate://crates.io/gix-trace/0.1.12 \ |
137 | crate://crates.io/gix-transport/0.42.3 \ | 141 | crate://crates.io/gix-transport/0.45.0 \ |
138 | crate://crates.io/gix-traverse/0.39.2 \ | 142 | crate://crates.io/gix-traverse/0.44.0 \ |
139 | crate://crates.io/gix-url/0.27.5 \ | 143 | crate://crates.io/gix-url/0.29.0 \ |
140 | crate://crates.io/gix-utils/0.1.12 \ | 144 | crate://crates.io/gix-utils/0.1.14 \ |
141 | crate://crates.io/gix-validate/0.8.5 \ | 145 | crate://crates.io/gix-validate/0.9.4 \ |
142 | crate://crates.io/gix-worktree/0.34.1 \ | 146 | crate://crates.io/gix-validate/0.10.0 \ |
143 | crate://crates.io/glob/0.3.1 \ | 147 | crate://crates.io/gix-worktree/0.39.0 \ |
144 | crate://crates.io/globset/0.4.15 \ | 148 | crate://crates.io/glob/0.3.2 \ |
149 | crate://crates.io/globset/0.4.16 \ | ||
145 | crate://crates.io/group/0.13.0 \ | 150 | crate://crates.io/group/0.13.0 \ |
146 | crate://crates.io/hashbrown/0.14.5 \ | 151 | crate://crates.io/hashbrown/0.14.5 \ |
147 | crate://crates.io/hashbrown/0.15.0 \ | 152 | crate://crates.io/hashbrown/0.15.3 \ |
148 | crate://crates.io/hashlink/0.9.1 \ | 153 | crate://crates.io/hashlink/0.10.0 \ |
149 | crate://crates.io/heck/0.4.1 \ | 154 | crate://crates.io/heck/0.4.1 \ |
150 | crate://crates.io/heck/0.5.0 \ | 155 | crate://crates.io/heck/0.5.0 \ |
151 | crate://crates.io/hex/0.4.3 \ | 156 | crate://crates.io/hex/0.4.3 \ |
152 | crate://crates.io/hkdf/0.12.4 \ | 157 | crate://crates.io/hkdf/0.12.4 \ |
153 | crate://crates.io/hmac/0.12.1 \ | 158 | crate://crates.io/hmac/0.12.1 \ |
154 | crate://crates.io/home/0.5.9 \ | 159 | crate://crates.io/home/0.5.11 \ |
155 | crate://crates.io/http-auth/0.1.10 \ | 160 | crate://crates.io/http-auth/0.1.10 \ |
156 | crate://crates.io/humantime/2.1.0 \ | 161 | crate://crates.io/icu_collections/2.0.0 \ |
157 | crate://crates.io/idna/0.5.0 \ | 162 | crate://crates.io/icu_locale_core/2.0.0 \ |
163 | crate://crates.io/icu_normalizer/2.0.0 \ | ||
164 | crate://crates.io/icu_normalizer_data/2.0.0 \ | ||
165 | crate://crates.io/icu_properties/2.0.0 \ | ||
166 | crate://crates.io/icu_properties_data/2.0.0 \ | ||
167 | crate://crates.io/icu_provider/2.0.0 \ | ||
168 | crate://crates.io/idna/1.0.3 \ | ||
169 | crate://crates.io/idna_adapter/1.2.1 \ | ||
158 | crate://crates.io/ignore/0.4.23 \ | 170 | crate://crates.io/ignore/0.4.23 \ |
159 | crate://crates.io/im-rc/15.1.0 \ | 171 | crate://crates.io/im-rc/15.1.0 \ |
160 | crate://crates.io/implib/0.3.3 \ | 172 | crate://crates.io/implib/0.3.5 \ |
161 | crate://crates.io/indexmap/2.6.0 \ | 173 | crate://crates.io/indexmap/2.9.0 \ |
174 | crate://crates.io/is_executable/1.0.4 \ | ||
162 | crate://crates.io/is_terminal_polyfill/1.70.1 \ | 175 | crate://crates.io/is_terminal_polyfill/1.70.1 \ |
163 | crate://crates.io/itertools/0.13.0 \ | 176 | crate://crates.io/itertools/0.14.0 \ |
164 | crate://crates.io/itoa/1.0.11 \ | 177 | crate://crates.io/itoa/1.0.15 \ |
165 | crate://crates.io/jiff/0.1.13 \ | 178 | crate://crates.io/jiff/0.2.13 \ |
166 | crate://crates.io/jiff-tzdb/0.1.1 \ | 179 | crate://crates.io/jiff-static/0.2.13 \ |
167 | crate://crates.io/jiff-tzdb-platform/0.1.1 \ | 180 | crate://crates.io/jiff-tzdb/0.1.4 \ |
168 | crate://crates.io/jobserver/0.1.32 \ | 181 | crate://crates.io/jiff-tzdb-platform/0.1.3 \ |
169 | crate://crates.io/js-sys/0.3.72 \ | 182 | crate://crates.io/jobserver/0.1.33 \ |
183 | crate://crates.io/js-sys/0.3.77 \ | ||
170 | crate://crates.io/kstring/2.0.2 \ | 184 | crate://crates.io/kstring/2.0.2 \ |
171 | crate://crates.io/lazy_static/1.5.0 \ | 185 | crate://crates.io/lazy_static/1.5.0 \ |
172 | crate://crates.io/lazycell/1.3.0 \ | 186 | crate://crates.io/lazycell/1.3.0 \ |
173 | crate://crates.io/libc/0.2.161 \ | 187 | crate://crates.io/libc/0.2.172 \ |
174 | crate://crates.io/libdbus-sys/0.2.5 \ | 188 | crate://crates.io/libdbus-sys/0.2.5 \ |
175 | crate://crates.io/libgit2-sys/0.17.0+1.8.1 \ | 189 | crate://crates.io/libgit2-sys/0.18.1+1.9.0 \ |
176 | crate://crates.io/libloading/0.8.5 \ | 190 | crate://crates.io/libloading/0.8.7 \ |
177 | crate://crates.io/libnghttp2-sys/0.1.10+1.61.0 \ | 191 | crate://crates.io/libnghttp2-sys/0.1.11+1.64.0 \ |
178 | crate://crates.io/libredox/0.1.3 \ | 192 | crate://crates.io/libredox/0.1.3 \ |
179 | crate://crates.io/libsqlite3-sys/0.30.1 \ | 193 | crate://crates.io/libsqlite3-sys/0.31.0 \ |
180 | crate://crates.io/libssh2-sys/0.3.0 \ | 194 | crate://crates.io/libssh2-sys/0.3.1 \ |
181 | crate://crates.io/libz-sys/1.1.20 \ | 195 | crate://crates.io/libz-sys/1.1.22 \ |
182 | crate://crates.io/linux-raw-sys/0.4.14 \ | 196 | crate://crates.io/linux-raw-sys/0.4.15 \ |
197 | crate://crates.io/linux-raw-sys/0.9.4 \ | ||
198 | crate://crates.io/litemap/0.8.0 \ | ||
183 | crate://crates.io/lock_api/0.4.12 \ | 199 | crate://crates.io/lock_api/0.4.12 \ |
184 | crate://crates.io/log/0.4.22 \ | 200 | crate://crates.io/log/0.4.27 \ |
185 | crate://crates.io/matchers/0.1.0 \ | 201 | crate://crates.io/matchers/0.1.0 \ |
186 | crate://crates.io/maybe-async/0.2.10 \ | 202 | crate://crates.io/maybe-async/0.2.10 \ |
187 | crate://crates.io/memchr/2.7.4 \ | 203 | crate://crates.io/memchr/2.7.4 \ |
188 | crate://crates.io/memmap2/0.9.5 \ | 204 | crate://crates.io/memmap2/0.9.5 \ |
189 | crate://crates.io/memoffset/0.9.1 \ | 205 | crate://crates.io/memoffset/0.9.1 \ |
190 | crate://crates.io/minimal-lexical/0.2.1 \ | 206 | crate://crates.io/minimal-lexical/0.2.1 \ |
191 | crate://crates.io/miniz_oxide/0.8.0 \ | 207 | crate://crates.io/miniz_oxide/0.8.8 \ |
192 | crate://crates.io/miow/0.6.0 \ | 208 | crate://crates.io/miow/0.6.0 \ |
193 | crate://crates.io/nom/7.1.3 \ | 209 | crate://crates.io/nom/7.1.3 \ |
194 | crate://crates.io/normpath/1.3.0 \ | 210 | crate://crates.io/normpath/1.3.0 \ |
195 | crate://crates.io/nu-ansi-term/0.46.0 \ | 211 | crate://crates.io/nu-ansi-term/0.46.0 \ |
196 | crate://crates.io/num-conv/0.1.0 \ | 212 | crate://crates.io/num-conv/0.1.0 \ |
197 | crate://crates.io/num-traits/0.2.19 \ | 213 | crate://crates.io/num-traits/0.2.19 \ |
198 | crate://crates.io/num_threads/0.1.7 \ | 214 | crate://crates.io/object/0.36.7 \ |
199 | crate://crates.io/object/0.36.5 \ | 215 | crate://crates.io/once_cell/1.21.3 \ |
200 | crate://crates.io/once_cell/1.20.2 \ | ||
201 | crate://crates.io/opener/0.7.2 \ | 216 | crate://crates.io/opener/0.7.2 \ |
202 | crate://crates.io/openssl/0.10.57 \ | 217 | crate://crates.io/openssl/0.10.57 \ |
203 | crate://crates.io/openssl-macros/0.1.1 \ | 218 | crate://crates.io/openssl-macros/0.1.1 \ |
204 | crate://crates.io/openssl-probe/0.1.5 \ | 219 | crate://crates.io/openssl-probe/0.1.6 \ |
205 | crate://crates.io/openssl-src/300.3.2+3.3.2 \ | 220 | crate://crates.io/openssl-src/300.5.0+3.5.0 \ |
206 | crate://crates.io/openssl-sys/0.9.104 \ | 221 | crate://crates.io/openssl-sys/0.9.108 \ |
207 | crate://crates.io/ordered-float/2.10.1 \ | 222 | crate://crates.io/ordered-float/2.10.1 \ |
208 | crate://crates.io/orion/0.17.7 \ | 223 | crate://crates.io/orion/0.17.10 \ |
209 | crate://crates.io/os_info/3.8.2 \ | 224 | crate://crates.io/os_info/3.11.0 \ |
210 | crate://crates.io/overload/0.1.1 \ | 225 | crate://crates.io/overload/0.1.1 \ |
211 | crate://crates.io/p384/0.13.0 \ | 226 | crate://crates.io/p384/0.13.1 \ |
212 | crate://crates.io/parking_lot/0.12.3 \ | 227 | crate://crates.io/parking_lot/0.12.3 \ |
213 | crate://crates.io/parking_lot_core/0.9.10 \ | 228 | crate://crates.io/parking_lot_core/0.9.10 \ |
214 | crate://crates.io/pasetors/0.6.8 \ | 229 | crate://crates.io/pasetors/0.7.4 \ |
215 | crate://crates.io/pathdiff/0.2.2 \ | 230 | crate://crates.io/pathdiff/0.2.3 \ |
216 | crate://crates.io/pem-rfc7468/0.7.0 \ | 231 | crate://crates.io/pem-rfc7468/0.7.0 \ |
217 | crate://crates.io/percent-encoding/2.3.1 \ | 232 | crate://crates.io/percent-encoding/2.3.1 \ |
218 | crate://crates.io/pin-project-lite/0.2.14 \ | 233 | crate://crates.io/pin-project-lite/0.2.16 \ |
219 | crate://crates.io/pkcs8/0.10.2 \ | 234 | crate://crates.io/pkcs8/0.10.2 \ |
220 | crate://crates.io/pkg-config/0.3.31 \ | 235 | crate://crates.io/pkg-config/0.3.32 \ |
236 | crate://crates.io/portable-atomic/1.11.0 \ | ||
237 | crate://crates.io/portable-atomic-util/0.2.4 \ | ||
238 | crate://crates.io/potential_utf/0.1.2 \ | ||
221 | crate://crates.io/powerfmt/0.2.0 \ | 239 | crate://crates.io/powerfmt/0.2.0 \ |
222 | crate://crates.io/ppv-lite86/0.2.20 \ | 240 | crate://crates.io/ppv-lite86/0.2.21 \ |
223 | crate://crates.io/primeorder/0.13.6 \ | 241 | crate://crates.io/primeorder/0.13.6 \ |
224 | crate://crates.io/proc-macro2/1.0.88 \ | 242 | crate://crates.io/proc-macro2/1.0.95 \ |
225 | crate://crates.io/prodash/28.0.0 \ | 243 | crate://crates.io/prodash/29.0.2 \ |
226 | crate://crates.io/quote/1.0.37 \ | 244 | crate://crates.io/quote/1.0.40 \ |
227 | crate://crates.io/rand/0.8.5 \ | 245 | crate://crates.io/r-efi/5.2.0 \ |
228 | crate://crates.io/rand_chacha/0.3.1 \ | 246 | crate://crates.io/rand/0.9.1 \ |
247 | crate://crates.io/rand_chacha/0.9.0 \ | ||
229 | crate://crates.io/rand_core/0.6.4 \ | 248 | crate://crates.io/rand_core/0.6.4 \ |
249 | crate://crates.io/rand_core/0.9.3 \ | ||
230 | crate://crates.io/rand_xoshiro/0.6.0 \ | 250 | crate://crates.io/rand_xoshiro/0.6.0 \ |
231 | crate://crates.io/redox_syscall/0.5.7 \ | 251 | crate://crates.io/redox_syscall/0.5.12 \ |
232 | crate://crates.io/regex/1.11.0 \ | 252 | crate://crates.io/regex/1.11.1 \ |
233 | crate://crates.io/regex-automata/0.1.10 \ | 253 | crate://crates.io/regex-automata/0.1.10 \ |
234 | crate://crates.io/regex-automata/0.4.8 \ | 254 | crate://crates.io/regex-automata/0.4.9 \ |
235 | crate://crates.io/regex-syntax/0.6.29 \ | 255 | crate://crates.io/regex-syntax/0.6.29 \ |
236 | crate://crates.io/regex-syntax/0.8.5 \ | 256 | crate://crates.io/regex-syntax/0.8.5 \ |
237 | crate://crates.io/rfc6979/0.4.0 \ | 257 | crate://crates.io/rfc6979/0.4.0 \ |
238 | crate://crates.io/rusqlite/0.32.1 \ | 258 | crate://crates.io/rusqlite/0.33.0 \ |
239 | crate://crates.io/rustfix/0.8.6 \ | 259 | crate://crates.io/rustc-hash/2.1.1 \ |
240 | crate://crates.io/rustix/0.38.37 \ | 260 | crate://crates.io/rustc-stable-hash/0.1.2 \ |
241 | crate://crates.io/ryu/1.0.18 \ | 261 | crate://crates.io/rustfix/0.9.0 \ |
262 | crate://crates.io/rustix/0.38.44 \ | ||
263 | crate://crates.io/rustix/1.0.7 \ | ||
264 | crate://crates.io/ryu/1.0.20 \ | ||
242 | crate://crates.io/same-file/1.0.6 \ | 265 | crate://crates.io/same-file/1.0.6 \ |
243 | crate://crates.io/schannel/0.1.26 \ | 266 | crate://crates.io/schannel/0.1.27 \ |
244 | crate://crates.io/scopeguard/1.2.0 \ | 267 | crate://crates.io/scopeguard/1.2.0 \ |
245 | crate://crates.io/sec1/0.7.3 \ | 268 | crate://crates.io/sec1/0.7.3 \ |
246 | crate://crates.io/security-framework/2.11.1 \ | 269 | crate://crates.io/security-framework/3.2.0 \ |
247 | crate://crates.io/security-framework-sys/2.12.0 \ | 270 | crate://crates.io/security-framework-sys/2.14.0 \ |
248 | crate://crates.io/semver/1.0.23 \ | 271 | crate://crates.io/semver/1.0.26 \ |
249 | crate://crates.io/serde/1.0.210 \ | 272 | crate://crates.io/serde/1.0.219 \ |
250 | crate://crates.io/serde-untagged/0.1.6 \ | 273 | crate://crates.io/serde-untagged/0.1.7 \ |
251 | crate://crates.io/serde-value/0.7.0 \ | 274 | crate://crates.io/serde-value/0.7.0 \ |
252 | crate://crates.io/serde_derive/1.0.210 \ | 275 | crate://crates.io/serde_derive/1.0.219 \ |
253 | crate://crates.io/serde_ignored/0.1.10 \ | 276 | crate://crates.io/serde_ignored/0.1.12 \ |
254 | crate://crates.io/serde_json/1.0.129 \ | 277 | crate://crates.io/serde_json/1.0.140 \ |
255 | crate://crates.io/serde_spanned/0.6.8 \ | 278 | crate://crates.io/serde_spanned/0.6.8 \ |
256 | crate://crates.io/sha1/0.10.6 \ | 279 | crate://crates.io/sha1/0.10.6 \ |
257 | crate://crates.io/sha1_smol/1.0.1 \ | 280 | crate://crates.io/sha1_smol/1.0.1 \ |
258 | crate://crates.io/sha2/0.10.8 \ | 281 | crate://crates.io/sha2/0.10.9 \ |
259 | crate://crates.io/sharded-slab/0.1.7 \ | 282 | crate://crates.io/sharded-slab/0.1.7 \ |
260 | crate://crates.io/shell-escape/0.1.5 \ | 283 | crate://crates.io/shell-escape/0.1.5 \ |
261 | crate://crates.io/shell-words/1.1.0 \ | 284 | crate://crates.io/shell-words/1.1.0 \ |
262 | crate://crates.io/shlex/1.3.0 \ | 285 | crate://crates.io/shlex/1.3.0 \ |
263 | crate://crates.io/signature/2.2.0 \ | 286 | crate://crates.io/signature/2.2.0 \ |
264 | crate://crates.io/sized-chunks/0.6.5 \ | 287 | crate://crates.io/sized-chunks/0.6.5 \ |
265 | crate://crates.io/smallvec/1.13.2 \ | 288 | crate://crates.io/smallvec/1.15.0 \ |
266 | crate://crates.io/socket2/0.5.7 \ | 289 | crate://crates.io/socket2/0.5.9 \ |
267 | crate://crates.io/spki/0.7.3 \ | 290 | crate://crates.io/spki/0.7.3 \ |
291 | crate://crates.io/stable_deref_trait/1.2.0 \ | ||
268 | crate://crates.io/static_assertions/1.1.0 \ | 292 | crate://crates.io/static_assertions/1.1.0 \ |
269 | crate://crates.io/strsim/0.11.1 \ | 293 | crate://crates.io/strsim/0.11.1 \ |
270 | crate://crates.io/subtle/2.6.1 \ | 294 | crate://crates.io/subtle/2.6.1 \ |
271 | crate://crates.io/supports-hyperlinks/3.0.0 \ | 295 | crate://crates.io/supports-hyperlinks/3.1.0 \ |
272 | crate://crates.io/supports-unicode/3.0.0 \ | 296 | crate://crates.io/supports-unicode/3.0.0 \ |
273 | crate://crates.io/syn/2.0.79 \ | 297 | crate://crates.io/syn/2.0.101 \ |
274 | crate://crates.io/tar/0.4.42 \ | 298 | crate://crates.io/synstructure/0.13.2 \ |
275 | crate://crates.io/tempfile/3.13.0 \ | 299 | crate://crates.io/tar/0.4.44 \ |
276 | crate://crates.io/terminal_size/0.4.0 \ | 300 | crate://crates.io/tempfile/3.20.0 \ |
277 | crate://crates.io/thiserror/1.0.64 \ | 301 | crate://crates.io/terminal_size/0.4.2 \ |
278 | crate://crates.io/thiserror-impl/1.0.64 \ | 302 | crate://crates.io/thiserror/1.0.69 \ |
303 | crate://crates.io/thiserror/2.0.12 \ | ||
304 | crate://crates.io/thiserror-impl/1.0.69 \ | ||
305 | crate://crates.io/thiserror-impl/2.0.12 \ | ||
279 | crate://crates.io/thread_local/1.1.8 \ | 306 | crate://crates.io/thread_local/1.1.8 \ |
280 | crate://crates.io/time/0.3.36 \ | 307 | crate://crates.io/time/0.3.41 \ |
281 | crate://crates.io/time-core/0.1.2 \ | 308 | crate://crates.io/time-core/0.1.4 \ |
282 | crate://crates.io/time-macros/0.2.18 \ | 309 | crate://crates.io/time-macros/0.2.22 \ |
283 | crate://crates.io/tinyvec/1.8.0 \ | 310 | crate://crates.io/tinystr/0.8.1 \ |
311 | crate://crates.io/tinyvec/1.9.0 \ | ||
284 | crate://crates.io/tinyvec_macros/0.1.1 \ | 312 | crate://crates.io/tinyvec_macros/0.1.1 \ |
285 | crate://crates.io/toml/0.8.19 \ | 313 | crate://crates.io/toml/0.8.22 \ |
286 | crate://crates.io/toml_datetime/0.6.8 \ | 314 | crate://crates.io/toml_datetime/0.6.9 \ |
287 | crate://crates.io/toml_edit/0.22.22 \ | 315 | crate://crates.io/toml_edit/0.22.26 \ |
288 | crate://crates.io/tracing/0.1.40 \ | 316 | crate://crates.io/toml_write/0.1.1 \ |
289 | crate://crates.io/tracing-attributes/0.1.27 \ | 317 | crate://crates.io/tracing/0.1.41 \ |
318 | crate://crates.io/tracing-attributes/0.1.28 \ | ||
290 | crate://crates.io/tracing-chrome/0.7.2 \ | 319 | crate://crates.io/tracing-chrome/0.7.2 \ |
291 | crate://crates.io/tracing-core/0.1.32 \ | 320 | crate://crates.io/tracing-core/0.1.33 \ |
292 | crate://crates.io/tracing-log/0.2.0 \ | 321 | crate://crates.io/tracing-log/0.2.0 \ |
293 | crate://crates.io/tracing-subscriber/0.3.18 \ | 322 | crate://crates.io/tracing-subscriber/0.3.19 \ |
294 | crate://crates.io/typeid/1.0.2 \ | 323 | crate://crates.io/typeid/1.0.3 \ |
295 | crate://crates.io/typenum/1.17.0 \ | 324 | crate://crates.io/typenum/1.18.0 \ |
296 | crate://crates.io/unicase/2.7.0 \ | 325 | crate://crates.io/unicase/2.8.1 \ |
297 | crate://crates.io/unicode-bidi/0.3.17 \ | ||
298 | crate://crates.io/unicode-bom/2.0.3 \ | 326 | crate://crates.io/unicode-bom/2.0.3 \ |
299 | crate://crates.io/unicode-ident/1.0.13 \ | 327 | crate://crates.io/unicode-ident/1.0.18 \ |
300 | crate://crates.io/unicode-normalization/0.1.24 \ | 328 | crate://crates.io/unicode-normalization/0.1.24 \ |
301 | crate://crates.io/unicode-width/0.1.14 \ | 329 | crate://crates.io/unicode-width/0.2.0 \ |
302 | crate://crates.io/unicode-xid/0.2.6 \ | 330 | crate://crates.io/unicode-xid/0.2.6 \ |
303 | crate://crates.io/url/2.5.2 \ | 331 | crate://crates.io/url/2.5.4 \ |
332 | crate://crates.io/utf8_iter/1.0.4 \ | ||
304 | crate://crates.io/utf8parse/0.2.2 \ | 333 | crate://crates.io/utf8parse/0.2.2 \ |
305 | crate://crates.io/valuable/0.1.0 \ | 334 | crate://crates.io/valuable/0.1.1 \ |
306 | crate://crates.io/vcpkg/0.2.15 \ | 335 | crate://crates.io/vcpkg/0.2.15 \ |
307 | crate://crates.io/version_check/0.9.5 \ | 336 | crate://crates.io/version_check/0.9.5 \ |
308 | crate://crates.io/walkdir/2.5.0 \ | 337 | crate://crates.io/walkdir/2.5.0 \ |
309 | crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ | 338 | crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ |
310 | crate://crates.io/wasm-bindgen/0.2.95 \ | 339 | crate://crates.io/wasi/0.14.2+wasi-0.2.4 \ |
311 | crate://crates.io/wasm-bindgen-backend/0.2.95 \ | 340 | crate://crates.io/wasm-bindgen/0.2.100 \ |
312 | crate://crates.io/wasm-bindgen-macro/0.2.95 \ | 341 | crate://crates.io/wasm-bindgen-backend/0.2.100 \ |
313 | crate://crates.io/wasm-bindgen-macro-support/0.2.95 \ | 342 | crate://crates.io/wasm-bindgen-macro/0.2.100 \ |
314 | crate://crates.io/wasm-bindgen-shared/0.2.95 \ | 343 | crate://crates.io/wasm-bindgen-macro-support/0.2.100 \ |
344 | crate://crates.io/wasm-bindgen-shared/0.2.100 \ | ||
315 | crate://crates.io/winapi/0.3.9 \ | 345 | crate://crates.io/winapi/0.3.9 \ |
316 | crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ | 346 | crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ |
317 | crate://crates.io/winapi-util/0.1.9 \ | 347 | crate://crates.io/winapi-util/0.1.9 \ |
@@ -321,337 +351,386 @@ SRC_URI += " \ | |||
321 | crate://crates.io/windows-sys/0.59.0 \ | 351 | crate://crates.io/windows-sys/0.59.0 \ |
322 | crate://crates.io/windows-targets/0.48.5 \ | 352 | crate://crates.io/windows-targets/0.48.5 \ |
323 | crate://crates.io/windows-targets/0.52.6 \ | 353 | crate://crates.io/windows-targets/0.52.6 \ |
354 | crate://crates.io/windows-targets/0.53.0 \ | ||
324 | crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ | 355 | crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ |
325 | crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ | 356 | crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ |
357 | crate://crates.io/windows_aarch64_gnullvm/0.53.0 \ | ||
326 | crate://crates.io/windows_aarch64_msvc/0.48.5 \ | 358 | crate://crates.io/windows_aarch64_msvc/0.48.5 \ |
327 | crate://crates.io/windows_aarch64_msvc/0.52.6 \ | 359 | crate://crates.io/windows_aarch64_msvc/0.52.6 \ |
360 | crate://crates.io/windows_aarch64_msvc/0.53.0 \ | ||
328 | crate://crates.io/windows_i686_gnu/0.48.5 \ | 361 | crate://crates.io/windows_i686_gnu/0.48.5 \ |
329 | crate://crates.io/windows_i686_gnu/0.52.6 \ | 362 | crate://crates.io/windows_i686_gnu/0.52.6 \ |
363 | crate://crates.io/windows_i686_gnu/0.53.0 \ | ||
330 | crate://crates.io/windows_i686_gnullvm/0.52.6 \ | 364 | crate://crates.io/windows_i686_gnullvm/0.52.6 \ |
365 | crate://crates.io/windows_i686_gnullvm/0.53.0 \ | ||
331 | crate://crates.io/windows_i686_msvc/0.48.5 \ | 366 | crate://crates.io/windows_i686_msvc/0.48.5 \ |
332 | crate://crates.io/windows_i686_msvc/0.52.6 \ | 367 | crate://crates.io/windows_i686_msvc/0.52.6 \ |
368 | crate://crates.io/windows_i686_msvc/0.53.0 \ | ||
333 | crate://crates.io/windows_x86_64_gnu/0.48.5 \ | 369 | crate://crates.io/windows_x86_64_gnu/0.48.5 \ |
334 | crate://crates.io/windows_x86_64_gnu/0.52.6 \ | 370 | crate://crates.io/windows_x86_64_gnu/0.52.6 \ |
371 | crate://crates.io/windows_x86_64_gnu/0.53.0 \ | ||
335 | crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ | 372 | crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ |
336 | crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ | 373 | crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ |
374 | crate://crates.io/windows_x86_64_gnullvm/0.53.0 \ | ||
337 | crate://crates.io/windows_x86_64_msvc/0.48.5 \ | 375 | crate://crates.io/windows_x86_64_msvc/0.48.5 \ |
338 | crate://crates.io/windows_x86_64_msvc/0.52.6 \ | 376 | crate://crates.io/windows_x86_64_msvc/0.52.6 \ |
339 | crate://crates.io/winnow/0.6.20 \ | 377 | crate://crates.io/windows_x86_64_msvc/0.53.0 \ |
340 | crate://crates.io/zerocopy/0.7.35 \ | 378 | crate://crates.io/winnow/0.6.26 \ |
341 | crate://crates.io/zerocopy-derive/0.7.35 \ | 379 | crate://crates.io/winnow/0.7.10 \ |
380 | crate://crates.io/wit-bindgen-rt/0.39.0 \ | ||
381 | crate://crates.io/writeable/0.6.1 \ | ||
382 | crate://crates.io/yoke/0.8.0 \ | ||
383 | crate://crates.io/yoke-derive/0.8.0 \ | ||
384 | crate://crates.io/zerocopy/0.8.25 \ | ||
385 | crate://crates.io/zerocopy-derive/0.8.25 \ | ||
386 | crate://crates.io/zerofrom/0.1.6 \ | ||
387 | crate://crates.io/zerofrom-derive/0.1.6 \ | ||
342 | crate://crates.io/zeroize/1.8.1 \ | 388 | crate://crates.io/zeroize/1.8.1 \ |
389 | crate://crates.io/zerotrie/0.2.2 \ | ||
390 | crate://crates.io/zerovec/0.11.2 \ | ||
391 | crate://crates.io/zerovec-derive/0.11.1 \ | ||
343 | " | 392 | " |
344 | 393 | ||
345 | SRC_URI[adler2-2.0.0.sha256sum] = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" | 394 | SRC_URI[adler2-2.0.0.sha256sum] = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" |
346 | SRC_URI[ahash-0.8.11.sha256sum] = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" | 395 | SRC_URI[ahash-0.8.12.sha256sum] = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" |
347 | SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" | 396 | SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" |
348 | SRC_URI[allocator-api2-0.2.18.sha256sum] = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" | 397 | SRC_URI[allocator-api2-0.2.21.sha256sum] = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" |
349 | SRC_URI[annotate-snippets-0.11.4.sha256sum] = "24e35ed54e5ea7997c14ed4c70ba043478db1112e98263b3b035907aa197d991" | 398 | SRC_URI[annotate-snippets-0.11.5.sha256sum] = "710e8eae58854cdc1790fcb56cca04d712a17be849eeb81da2a724bf4bae2bc4" |
350 | SRC_URI[anstream-0.6.15.sha256sum] = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" | 399 | SRC_URI[anstream-0.6.18.sha256sum] = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" |
351 | SRC_URI[anstyle-1.0.8.sha256sum] = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" | 400 | SRC_URI[anstyle-1.0.10.sha256sum] = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" |
352 | SRC_URI[anstyle-parse-0.2.5.sha256sum] = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" | 401 | SRC_URI[anstyle-parse-0.2.6.sha256sum] = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" |
353 | SRC_URI[anstyle-query-1.1.1.sha256sum] = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" | 402 | SRC_URI[anstyle-query-1.1.2.sha256sum] = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" |
354 | SRC_URI[anstyle-wincon-3.0.4.sha256sum] = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" | 403 | SRC_URI[anstyle-wincon-3.0.7.sha256sum] = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" |
355 | SRC_URI[anyhow-1.0.89.sha256sum] = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" | 404 | SRC_URI[anyhow-1.0.98.sha256sum] = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" |
356 | SRC_URI[arc-swap-1.7.1.sha256sum] = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" | 405 | SRC_URI[arc-swap-1.7.1.sha256sum] = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" |
406 | SRC_URI[arrayref-0.3.9.sha256sum] = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" | ||
407 | SRC_URI[arrayvec-0.7.6.sha256sum] = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" | ||
357 | SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" | 408 | SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" |
358 | SRC_URI[base16ct-0.2.0.sha256sum] = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" | 409 | SRC_URI[base16ct-0.2.0.sha256sum] = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" |
359 | SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" | 410 | SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" |
360 | SRC_URI[base64ct-1.6.0.sha256sum] = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" | 411 | SRC_URI[base64ct-1.7.3.sha256sum] = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" |
361 | SRC_URI[bitflags-2.6.0.sha256sum] = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" | 412 | SRC_URI[bitflags-2.9.1.sha256sum] = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" |
362 | SRC_URI[bitmaps-2.1.0.sha256sum] = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" | 413 | SRC_URI[bitmaps-2.1.0.sha256sum] = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" |
414 | SRC_URI[blake3-1.8.2.sha256sum] = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" | ||
363 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" | 415 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" |
364 | SRC_URI[bstr-1.10.0.sha256sum] = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" | 416 | SRC_URI[bstr-1.12.0.sha256sum] = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" |
365 | SRC_URI[bumpalo-3.16.0.sha256sum] = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" | 417 | SRC_URI[bumpalo-3.17.0.sha256sum] = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" |
366 | SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" | 418 | SRC_URI[bytes-1.10.1.sha256sum] = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" |
367 | SRC_URI[bytes-1.7.2.sha256sum] = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" | 419 | SRC_URI[cargo-0.88.0.sha256sum] = "e3266d7f10870d970f22fd244b5d4bb017f723247e6743f2283f6fe63a4f6084" |
368 | SRC_URI[bytesize-1.3.0.sha256sum] = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" | 420 | SRC_URI[cargo-credential-0.4.8.sha256sum] = "ac1ef5080adde1db190e901884d2c400990856c2a23201c5a181b910a6dbdf2a" |
369 | SRC_URI[cargo-0.83.0.sha256sum] = "82921fd88b95a7c1a66106437f00f701169c656e221bba9f76f9d983e01e6b7b" | 421 | SRC_URI[cargo-credential-libsecret-0.4.13.sha256sum] = "02d4e8e593dd3967cf90d6ae8e0e820abbb9ba168c4015dc04d90abc80477b8b" |
370 | SRC_URI[cargo-credential-0.4.6.sha256sum] = "3a3e7c625670eacbefd48f552588c491eccc79a85a96898af13af7b312d1c4cd" | 422 | SRC_URI[cargo-credential-macos-keychain-0.4.13.sha256sum] = "4037e5af4bd682580c82143a0a22d9fd2ae6e57ee8b9ea7110dabcf1160828cc" |
371 | SRC_URI[cargo-credential-libsecret-0.4.8.sha256sum] = "7f83dd22c4024559012dd1f05b4391aa07c7765a935a4a6fc44ef34ba6cd6193" | 423 | SRC_URI[cargo-credential-wincred-0.4.13.sha256sum] = "320491fd2d43703fe8685cc844af75eba650d32f51a26a9f37ec8fd0d426a738" |
372 | SRC_URI[cargo-credential-macos-keychain-0.4.8.sha256sum] = "8ace02b644d20964a5e62067ed931600a1bdf88e43890bd881941643d56465d5" | 424 | SRC_URI[cargo-platform-0.2.0.sha256sum] = "84982c6c0ae343635a3a4ee6dedef965513735c8b183caa7289fa6e27399ebd4" |
373 | SRC_URI[cargo-credential-wincred-0.4.8.sha256sum] = "5bfc1351f7d7a121209e9ac65622abd8605cd411b502f7d9c88a8dfce26ebec5" | 425 | SRC_URI[cargo-util-0.2.20.sha256sum] = "d767bc85f367f6483a6072430b56f5c0d6ee7636751a21a800526d0711753d76" |
374 | SRC_URI[cargo-platform-0.1.8.sha256sum] = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" | 426 | SRC_URI[cargo-util-schemas-0.8.1.sha256sum] = "ea8b01266e95c3cf839fe626e651fa36a9171033caa917a773d7a0ba1d5ce6be" |
375 | SRC_URI[cargo-util-0.2.15.sha256sum] = "b6dd67a24439ca5260a08128b6cbf4b0f4453497a2f60508163ab9d5b534b122" | 427 | SRC_URI[cbindgen-0.28.0.sha256sum] = "eadd868a2ce9ca38de7eeafdcec9c7065ef89b42b32f0839278d55f35c54d1ff" |
376 | SRC_URI[cargo-util-schemas-0.6.0.sha256sum] = "3c052794544a1be7decd4bbfbe08440f9331bf2df90f95c3a731bdf21c4b7d98" | 428 | SRC_URI[cc-1.2.22.sha256sum] = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1" |
377 | SRC_URI[cbindgen-0.27.0.sha256sum] = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb" | ||
378 | SRC_URI[cc-1.1.30.sha256sum] = "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945" | ||
379 | SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" | 429 | SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" |
380 | SRC_URI[clap-4.5.20.sha256sum] = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" | 430 | SRC_URI[clap-4.5.38.sha256sum] = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" |
381 | SRC_URI[clap_builder-4.5.20.sha256sum] = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" | 431 | SRC_URI[clap_builder-4.5.38.sha256sum] = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" |
382 | SRC_URI[clap_derive-4.5.18.sha256sum] = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" | 432 | SRC_URI[clap_complete-4.5.50.sha256sum] = "c91d3baa3bcd889d60e6ef28874126a0b384fd225ab83aa6d8a801c519194ce1" |
383 | SRC_URI[clap_lex-0.7.2.sha256sum] = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" | 433 | SRC_URI[clap_derive-4.5.32.sha256sum] = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" |
434 | SRC_URI[clap_lex-0.7.4.sha256sum] = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" | ||
384 | SRC_URI[clru-0.6.2.sha256sum] = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" | 435 | SRC_URI[clru-0.6.2.sha256sum] = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" |
385 | SRC_URI[color-print-0.3.6.sha256sum] = "1ee543c60ff3888934877a5671f45494dd27ed4ba25c6670b9a7576b7ed7a8c0" | 436 | SRC_URI[color-print-0.3.7.sha256sum] = "3aa954171903797d5623e047d9ab69d91b493657917bdfb8c2c80ecaf9cdb6f4" |
386 | SRC_URI[color-print-proc-macro-0.3.6.sha256sum] = "77ff1a80c5f3cb1ca7c06ffdd71b6a6dd6d8f896c42141fbd43f50ed28dcdb93" | 437 | SRC_URI[color-print-proc-macro-0.3.7.sha256sum] = "692186b5ebe54007e45a59aea47ece9eb4108e141326c304cdc91699a7118a22" |
387 | SRC_URI[colorchoice-1.0.2.sha256sum] = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" | 438 | SRC_URI[colorchoice-1.0.3.sha256sum] = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" |
388 | SRC_URI[const-oid-0.9.6.sha256sum] = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" | 439 | SRC_URI[const-oid-0.9.6.sha256sum] = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" |
389 | SRC_URI[core-foundation-0.9.4.sha256sum] = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" | 440 | SRC_URI[constant_time_eq-0.3.1.sha256sum] = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" |
441 | SRC_URI[core-foundation-0.10.0.sha256sum] = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" | ||
390 | SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" | 442 | SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" |
391 | SRC_URI[cpufeatures-0.2.14.sha256sum] = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" | 443 | SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" |
392 | SRC_URI[crates-io-0.40.5.sha256sum] = "5c1f3f1277728b222abe5d05f2683e6643344de0ed563eb46d3574b6cd3cf1c3" | 444 | SRC_URI[crates-io-0.40.10.sha256sum] = "9c15b946f2bbd53f5be858ed02fcacfeb3646f3ca67b24defc276a01edd10de6" |
393 | SRC_URI[crc32fast-1.4.2.sha256sum] = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" | 445 | SRC_URI[crc32fast-1.4.2.sha256sum] = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" |
394 | SRC_URI[crossbeam-channel-0.5.13.sha256sum] = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" | 446 | SRC_URI[crossbeam-channel-0.5.15.sha256sum] = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" |
395 | SRC_URI[crossbeam-deque-0.8.5.sha256sum] = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" | 447 | SRC_URI[crossbeam-deque-0.8.6.sha256sum] = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" |
396 | SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" | 448 | SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" |
397 | SRC_URI[crossbeam-utils-0.8.20.sha256sum] = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" | 449 | SRC_URI[crossbeam-utils-0.8.21.sha256sum] = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" |
398 | SRC_URI[crypto-bigint-0.5.5.sha256sum] = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" | 450 | SRC_URI[crypto-bigint-0.5.5.sha256sum] = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" |
399 | SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" | 451 | SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" |
400 | SRC_URI[ct-codecs-1.1.2.sha256sum] = "026ac6ceace6298d2c557ef5ed798894962296469ec7842288ea64674201a2d1" | 452 | SRC_URI[ct-codecs-1.1.5.sha256sum] = "dd0d274c65cbc1c34703d2fc2ce0fb892ff68f4516b677671a2f238a30b9b2b2" |
401 | SRC_URI[curl-0.4.47.sha256sum] = "d9fb4d13a1be2b58f14d60adba57c9834b78c62fd86c3e76a148f732686e9265" | 453 | SRC_URI[curl-0.4.47.sha256sum] = "d9fb4d13a1be2b58f14d60adba57c9834b78c62fd86c3e76a148f732686e9265" |
402 | SRC_URI[curl-sys-0.4.77+curl-8.10.1.sha256sum] = "f469e8a5991f277a208224f6c7ad72ecb5f986e36d09ae1f2c1bb9259478a480" | 454 | SRC_URI[curl-sys-0.4.80+curl-8.12.1.sha256sum] = "55f7df2eac63200c3ab25bde3b2268ef2ee56af3d238e76d61f01c3c49bff734" |
403 | SRC_URI[dbus-0.9.7.sha256sum] = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b" | 455 | SRC_URI[dbus-0.9.7.sha256sum] = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b" |
404 | SRC_URI[der-0.7.9.sha256sum] = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" | 456 | SRC_URI[der-0.7.10.sha256sum] = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" |
405 | SRC_URI[deranged-0.3.11.sha256sum] = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" | 457 | SRC_URI[deranged-0.4.0.sha256sum] = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" |
406 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" | 458 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" |
459 | SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" | ||
407 | SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" | 460 | SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" |
408 | SRC_URI[ecdsa-0.16.9.sha256sum] = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" | 461 | SRC_URI[ecdsa-0.16.9.sha256sum] = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" |
409 | SRC_URI[ed25519-compact-2.1.1.sha256sum] = "e9b3460f44bea8cd47f45a0c70892f1eff856d97cd55358b2f73f663789f6190" | 462 | SRC_URI[ed25519-compact-2.1.1.sha256sum] = "e9b3460f44bea8cd47f45a0c70892f1eff856d97cd55358b2f73f663789f6190" |
410 | SRC_URI[either-1.13.0.sha256sum] = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" | 463 | SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" |
411 | SRC_URI[elliptic-curve-0.13.8.sha256sum] = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" | 464 | SRC_URI[elliptic-curve-0.13.8.sha256sum] = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" |
412 | SRC_URI[encoding_rs-0.8.34.sha256sum] = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" | 465 | SRC_URI[encoding_rs-0.8.35.sha256sum] = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" |
413 | SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" | 466 | SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" |
414 | SRC_URI[erased-serde-0.4.5.sha256sum] = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" | 467 | SRC_URI[erased-serde-0.4.6.sha256sum] = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" |
415 | SRC_URI[errno-0.3.9.sha256sum] = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" | 468 | SRC_URI[errno-0.3.12.sha256sum] = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" |
416 | SRC_URI[fallible-iterator-0.3.0.sha256sum] = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" | 469 | SRC_URI[fallible-iterator-0.3.0.sha256sum] = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" |
417 | SRC_URI[fallible-streaming-iterator-0.1.9.sha256sum] = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" | 470 | SRC_URI[fallible-streaming-iterator-0.1.9.sha256sum] = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" |
418 | SRC_URI[faster-hex-0.9.0.sha256sum] = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" | 471 | SRC_URI[faster-hex-0.9.0.sha256sum] = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" |
419 | SRC_URI[fastrand-2.1.1.sha256sum] = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" | 472 | SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" |
420 | SRC_URI[ff-0.13.0.sha256sum] = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" | 473 | SRC_URI[ff-0.13.1.sha256sum] = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" |
421 | SRC_URI[fiat-crypto-0.2.9.sha256sum] = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" | 474 | SRC_URI[fiat-crypto-0.2.9.sha256sum] = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" |
422 | SRC_URI[filetime-0.2.25.sha256sum] = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" | 475 | SRC_URI[filetime-0.2.25.sha256sum] = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" |
423 | SRC_URI[flate2-1.0.34.sha256sum] = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" | 476 | SRC_URI[flate2-1.1.1.sha256sum] = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" |
424 | SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" | 477 | SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" |
425 | SRC_URI[foldhash-0.1.3.sha256sum] = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" | 478 | SRC_URI[foldhash-0.1.5.sha256sum] = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" |
426 | SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" | 479 | SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" |
427 | SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" | 480 | SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" |
428 | SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" | 481 | SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" |
429 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" | 482 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" |
430 | SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" | 483 | SRC_URI[getrandom-0.2.16.sha256sum] = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" |
431 | SRC_URI[git2-0.19.0.sha256sum] = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" | 484 | SRC_URI[getrandom-0.3.3.sha256sum] = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" |
432 | SRC_URI[git2-curl-0.20.0.sha256sum] = "68ff14527a1c242320039b138376f8e0786697a1b7b172bc44f6efda3ab9079f" | 485 | SRC_URI[git2-0.20.2.sha256sum] = "2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110" |
433 | SRC_URI[gix-0.64.0.sha256sum] = "d78414d29fcc82329080166077e0f7689f4016551fdb334d787c3d040fe2634f" | 486 | SRC_URI[git2-curl-0.21.0.sha256sum] = "be8dcabbc09ece4d30a9aa983d5804203b7e2f8054a171f792deff59b56d31fa" |
434 | SRC_URI[gix-actor-0.31.5.sha256sum] = "a0e454357e34b833cc3a00b6efbbd3dd4d18b24b9fb0c023876ec2645e8aa3f2" | 487 | SRC_URI[gix-0.70.0.sha256sum] = "736f14636705f3a56ea52b553e67282519418d9a35bb1e90b3a9637a00296b68" |
435 | SRC_URI[gix-attributes-0.22.5.sha256sum] = "ebccbf25aa4a973dd352564a9000af69edca90623e8a16dad9cbc03713131311" | 488 | SRC_URI[gix-actor-0.33.2.sha256sum] = "20018a1a6332e065f1fcc8305c1c932c6b8c9985edea2284b3c79dc6fa3ee4b2" |
436 | SRC_URI[gix-bitmap-0.2.11.sha256sum] = "a371db66cbd4e13f0ed9dc4c0fea712d7276805fccc877f77e96374d317e87ae" | 489 | SRC_URI[gix-attributes-0.24.0.sha256sum] = "f151000bf662ef5f641eca6102d942ee31ace80f271a3ef642e99776ce6ddb38" |
437 | SRC_URI[gix-chunk-0.4.8.sha256sum] = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52" | 490 | SRC_URI[gix-bitmap-0.2.14.sha256sum] = "b1db9765c69502650da68f0804e3dc2b5f8ccc6a2d104ca6c85bc40700d37540" |
438 | SRC_URI[gix-command-0.3.9.sha256sum] = "dff2e692b36bbcf09286c70803006ca3fd56551a311de450be317a0ab8ea92e7" | 491 | SRC_URI[gix-chunk-0.4.11.sha256sum] = "0b1f1d8764958699dc764e3f727cef280ff4d1bd92c107bbf8acd85b30c1bd6f" |
439 | SRC_URI[gix-commitgraph-0.24.3.sha256sum] = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78" | 492 | SRC_URI[gix-command-0.4.1.sha256sum] = "cb410b84d6575db45e62025a9118bdbf4d4b099ce7575a76161e898d9ca98df1" |
440 | SRC_URI[gix-config-0.38.0.sha256sum] = "28f53fd03d1bf09ebcc2c8654f08969439c4556e644ca925f27cf033bc43e658" | 493 | SRC_URI[gix-commitgraph-0.26.0.sha256sum] = "e23a8ec2d8a16026a10dafdb6ed51bcfd08f5d97f20fa52e200bc50cb72e4877" |
441 | SRC_URI[gix-config-value-0.14.8.sha256sum] = "03f76169faa0dec598eac60f83d7fcdd739ec16596eca8fb144c88973dbe6f8c" | 494 | SRC_URI[gix-config-0.43.0.sha256sum] = "377c1efd2014d5d469e0b3cd2952c8097bce9828f634e04d5665383249f1d9e9" |
442 | SRC_URI[gix-credentials-0.24.5.sha256sum] = "8ce391d305968782f1ae301c4a3d42c5701df7ff1d8bc03740300f6fd12bce78" | 495 | SRC_URI[gix-config-value-0.14.12.sha256sum] = "8dc2c844c4cf141884678cabef736fd91dd73068b9146e6f004ba1a0457944b6" |
443 | SRC_URI[gix-date-0.8.7.sha256sum] = "9eed6931f21491ee0aeb922751bd7ec97b4b2fe8fbfedcb678e2a2dce5f3b8c0" | 496 | SRC_URI[gix-credentials-0.27.0.sha256sum] = "cf950f9ee1690bb9c4388b5152baa8a9f41ad61e5cf1ba0ec8c207b08dab9e45" |
444 | SRC_URI[gix-date-0.9.0.sha256sum] = "35c84b7af01e68daf7a6bb8bb909c1ff5edb3ce4326f1f43063a5a96d3c3c8a5" | 497 | SRC_URI[gix-date-0.9.4.sha256sum] = "daa30058ec7d3511fbc229e4f9e696a35abd07ec5b82e635eff864a2726217e4" |
445 | SRC_URI[gix-diff-0.44.1.sha256sum] = "1996d5c8a305b59709467d80617c9fde48d9d75fd1f4179ea970912630886c9d" | 498 | SRC_URI[gix-diff-0.50.0.sha256sum] = "62afb7f4ca0acdf4e9dad92065b2eb1bf2993bcc5014b57bc796e3a365b17c4d" |
446 | SRC_URI[gix-dir-0.6.0.sha256sum] = "0c975679aa00dd2d757bfd3ddb232e8a188c0094c3306400575a0813858b1365" | 499 | SRC_URI[gix-dir-0.12.0.sha256sum] = "c1d78db3927a12f7d1b788047b84efacaab03ef25738bd1c77856ad8966bd57b" |
447 | SRC_URI[gix-discover-0.33.0.sha256sum] = "67662731cec3cb31ba3ed2463809493f76d8e5d6c6d245de8b0560438c13450e" | 500 | SRC_URI[gix-discover-0.38.0.sha256sum] = "d0c2414bdf04064e0f5a5aa029dfda1e663cf9a6c4bfc8759f2d369299bb65d8" |
448 | SRC_URI[gix-features-0.38.2.sha256sum] = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69" | 501 | SRC_URI[gix-features-0.40.0.sha256sum] = "8bfdd4838a8d42bd482c9f0cb526411d003ee94cc7c7b08afe5007329c71d554" |
449 | SRC_URI[gix-filter-0.11.3.sha256sum] = "e6547738da28275f4dff4e9f3a0f28509f53f94dd6bd822733c91cb306bca61a" | 502 | SRC_URI[gix-filter-0.17.0.sha256sum] = "bdcc36cd7dbc63ed0ec3558645886553d1afd3cd09daa5efb9cba9cceb942bbb" |
450 | SRC_URI[gix-fs-0.11.3.sha256sum] = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575" | 503 | SRC_URI[gix-fs-0.13.0.sha256sum] = "182e7fa7bfdf44ffb7cfe7451b373cdf1e00870ac9a488a49587a110c562063d" |
451 | SRC_URI[gix-glob-0.16.5.sha256sum] = "74908b4bbc0a0a40852737e5d7889f676f081e340d5451a16e5b4c50d592f111" | 504 | SRC_URI[gix-glob-0.18.0.sha256sum] = "4e9c7249fa0a78f9b363aa58323db71e0a6161fd69860ed6f48dedf0ef3a314e" |
452 | SRC_URI[gix-hash-0.14.2.sha256sum] = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e" | 505 | SRC_URI[gix-hash-0.16.0.sha256sum] = "e81c5ec48649b1821b3ed066a44efb95f1a268b35c1d91295e61252539fbe9f8" |
453 | SRC_URI[gix-hashtable-0.5.2.sha256sum] = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" | 506 | SRC_URI[gix-hashtable-0.7.0.sha256sum] = "189130bc372accd02e0520dc5ab1cef318dcc2bc829b76ab8d84bbe90ac212d1" |
454 | SRC_URI[gix-ignore-0.11.4.sha256sum] = "e447cd96598460f5906a0f6c75e950a39f98c2705fc755ad2f2020c9e937fab7" | 507 | SRC_URI[gix-ignore-0.13.0.sha256sum] = "4f529dcb80bf9855c0a7c49f0ac588df6d6952d63a63fefc254b9c869d2cdf6f" |
455 | SRC_URI[gix-index-0.33.1.sha256sum] = "9a9a44eb55bd84bb48f8a44980e951968ced21e171b22d115d1cdcef82a7d73f" | 508 | SRC_URI[gix-index-0.38.0.sha256sum] = "acd12e3626879369310fffe2ac61acc828613ef656b50c4ea984dd59d7dc85d8" |
456 | SRC_URI[gix-lock-14.0.0.sha256sum] = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d" | 509 | SRC_URI[gix-lock-16.0.0.sha256sum] = "9739815270ff6940968441824d162df9433db19211ca9ba8c3fc1b50b849c642" |
457 | SRC_URI[gix-macros-0.1.5.sha256sum] = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17" | 510 | SRC_URI[gix-negotiate-0.18.0.sha256sum] = "a6a8af1ef7bbe303d30b55312b7f4d33e955de43a3642ae9b7347c623d80ef80" |
458 | SRC_URI[gix-negotiate-0.13.2.sha256sum] = "9ec879fb6307bb63519ba89be0024c6f61b4b9d61f1a91fd2ce572d89fe9c224" | 511 | SRC_URI[gix-object-0.47.0.sha256sum] = "ddc4b3a0044244f0fe22347fb7a79cca165e37829d668b41b85ff46a43e5fd68" |
459 | SRC_URI[gix-object-0.42.3.sha256sum] = "25da2f46b4e7c2fa7b413ce4dffb87f69eaf89c2057e386491f4c55cadbfe386" | 512 | SRC_URI[gix-odb-0.67.0.sha256sum] = "3e93457df69cd09573608ce9fa4f443fbd84bc8d15d8d83adecd471058459c1b" |
460 | SRC_URI[gix-odb-0.61.1.sha256sum] = "20d384fe541d93d8a3bb7d5d5ef210780d6df4f50c4e684ccba32665a5e3bc9b" | 513 | SRC_URI[gix-pack-0.57.0.sha256sum] = "fc13a475b3db735617017fb35f816079bf503765312d4b1913b18cf96f3fa515" |
461 | SRC_URI[gix-pack-0.51.1.sha256sum] = "3e0594491fffe55df94ba1c111a6566b7f56b3f8d2e1efc750e77d572f5f5229" | 514 | SRC_URI[gix-packetline-0.18.4.sha256sum] = "123844a70cf4d5352441dc06bab0da8aef61be94ec239cb631e0ba01dc6d3a04" |
462 | SRC_URI[gix-packetline-0.17.6.sha256sum] = "8c43ef4d5fe2fa222c606731c8bdbf4481413ee4ef46d61340ec39e4df4c5e49" | 515 | SRC_URI[gix-packetline-blocking-0.18.3.sha256sum] = "1ecf3ea2e105c7e45587bac04099824301262a6c43357fad5205da36dbb233b3" |
463 | SRC_URI[gix-packetline-blocking-0.17.5.sha256sum] = "b9802304baa798dd6f5ff8008a2b6516d54b74a69ca2d3a2b9e2d6c3b5556b40" | 516 | SRC_URI[gix-path-0.10.18.sha256sum] = "567f65fec4ef10dfab97ae71f26a27fd4d7fe7b8e3f90c8a58551c41ff3fb65b" |
464 | SRC_URI[gix-path-0.10.11.sha256sum] = "ebfc4febd088abdcbc9f1246896e57e37b7a34f6909840045a1767c6dafac7af" | 517 | SRC_URI[gix-pathspec-0.9.0.sha256sum] = "6430d3a686c08e9d59019806faa78c17315fe22ae73151a452195857ca02f86c" |
465 | SRC_URI[gix-pathspec-0.7.7.sha256sum] = "5d23bf239532b4414d0e63b8ab3a65481881f7237ed9647bb10c1e3cc54c5ceb" | 518 | SRC_URI[gix-prompt-0.9.1.sha256sum] = "79f2185958e1512b989a007509df8d61dca014aa759a22bee80cfa6c594c3b6d" |
466 | SRC_URI[gix-prompt-0.8.7.sha256sum] = "74fde865cdb46b30d8dad1293385d9bcf998d3a39cbf41bee67d0dab026fe6b1" | 519 | SRC_URI[gix-protocol-0.48.0.sha256sum] = "6c61bd61afc6b67d213241e2100394c164be421e3f7228d3521b04f48ca5ba90" |
467 | SRC_URI[gix-protocol-0.45.3.sha256sum] = "cc43a1006f01b5efee22a003928c9eb83dde2f52779ded9d4c0732ad93164e3e" | 520 | SRC_URI[gix-quote-0.4.15.sha256sum] = "e49357fccdb0c85c0d3a3292a9f6db32d9b3535959b5471bb9624908f4a066c6" |
468 | SRC_URI[gix-quote-0.4.12.sha256sum] = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff" | 521 | SRC_URI[gix-ref-0.50.0.sha256sum] = "47adf4c5f933429f8554e95d0d92eee583cfe4b95d2bf665cd6fd4a1531ee20c" |
469 | SRC_URI[gix-ref-0.45.0.sha256sum] = "636e96a0a5562715153fee098c217110c33a6f8218f08f4687ff99afde159bb5" | 522 | SRC_URI[gix-refspec-0.28.0.sha256sum] = "59650228d8f612f68e7f7a25f517fcf386c5d0d39826085492e94766858b0a90" |
470 | SRC_URI[gix-refspec-0.23.1.sha256sum] = "6868f8cd2e62555d1f7c78b784bece43ace40dd2a462daf3b588d5416e603f37" | 523 | SRC_URI[gix-revision-0.32.0.sha256sum] = "3fe28bbccca55da6d66e6c6efc6bb4003c29d407afd8178380293729733e6b53" |
471 | SRC_URI[gix-revision-0.27.2.sha256sum] = "01b13e43c2118c4b0537ddac7d0821ae0dfa90b7b8dbf20c711e153fb749adce" | 524 | SRC_URI[gix-revwalk-0.18.0.sha256sum] = "d4ecb80c235b1e9ef2b99b23a81ea50dd569a88a9eb767179793269e0e616247" |
472 | SRC_URI[gix-revwalk-0.13.2.sha256sum] = "1b030ccaab71af141f537e0225f19b9e74f25fefdba0372246b844491cab43e0" | 525 | SRC_URI[gix-sec-0.10.12.sha256sum] = "47aeb0f13de9ef2f3033f5ff218de30f44db827ac9f1286f9ef050aacddd5888" |
473 | SRC_URI[gix-sec-0.10.8.sha256sum] = "0fe4d52f30a737bbece5276fab5d3a8b276dc2650df963e293d0673be34e7a5f" | 526 | SRC_URI[gix-shallow-0.2.0.sha256sum] = "ab72543011e303e52733c85bef784603ef39632ddf47f69723def52825e35066" |
474 | SRC_URI[gix-submodule-0.12.0.sha256sum] = "0f2e0f69aa00805e39d39ec80472a7e9da20ed5d73318b27925a2cc198e854fd" | 527 | SRC_URI[gix-submodule-0.17.0.sha256sum] = "74972fe8d46ac8a09490ae1e843b4caf221c5b157c5ac17057e8e1c38417a3ac" |
475 | SRC_URI[gix-tempfile-14.0.2.sha256sum] = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa" | 528 | SRC_URI[gix-tempfile-16.0.0.sha256sum] = "2558f423945ef24a8328c55d1fd6db06b8376b0e7013b1bb476cc4ffdf678501" |
476 | SRC_URI[gix-trace-0.1.10.sha256sum] = "6cae0e8661c3ff92688ce1c8b8058b3efb312aba9492bbe93661a21705ab431b" | 529 | SRC_URI[gix-trace-0.1.12.sha256sum] = "7c396a2036920c69695f760a65e7f2677267ccf483f25046977d87e4cb2665f7" |
477 | SRC_URI[gix-transport-0.42.3.sha256sum] = "421dcccab01b41a15d97b226ad97a8f9262295044e34fbd37b10e493b0a6481f" | 530 | SRC_URI[gix-transport-0.45.0.sha256sum] = "11187418489477b1b5b862ae1aedbbac77e582f2c4b0ef54280f20cfe5b964d9" |
478 | SRC_URI[gix-traverse-0.39.2.sha256sum] = "e499a18c511e71cf4a20413b743b9f5bcf64b3d9e81e9c3c6cd399eae55a8840" | 531 | SRC_URI[gix-traverse-0.44.0.sha256sum] = "2bec70e53896586ef32a3efa7e4427b67308531ed186bb6120fb3eca0f0d61b4" |
479 | SRC_URI[gix-url-0.27.5.sha256sum] = "fd280c5e84fb22e128ed2a053a0daeacb6379469be6a85e3d518a0636e160c89" | 532 | SRC_URI[gix-url-0.29.0.sha256sum] = "29218c768b53dd8f116045d87fec05b294c731a4b2bdd257eeca2084cc150b13" |
480 | SRC_URI[gix-utils-0.1.12.sha256sum] = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc" | 533 | SRC_URI[gix-utils-0.1.14.sha256sum] = "ff08f24e03ac8916c478c8419d7d3c33393da9bb41fa4c24455d5406aeefd35f" |
481 | SRC_URI[gix-validate-0.8.5.sha256sum] = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf" | 534 | SRC_URI[gix-validate-0.9.4.sha256sum] = "34b5f1253109da6c79ed7cf6e1e38437080bb6d704c76af14c93e2f255234084" |
482 | SRC_URI[gix-worktree-0.34.1.sha256sum] = "26f7326ebe0b9172220694ea69d344c536009a9b98fb0f9de092c440f3efe7a6" | 535 | SRC_URI[gix-validate-0.10.0.sha256sum] = "77b9e00cacde5b51388d28ed746c493b18a6add1f19b5e01d686b3b9ece66d4d" |
483 | SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" | 536 | SRC_URI[gix-worktree-0.39.0.sha256sum] = "6673512f7eaa57a6876adceca6978a501d6c6569a4f177767dc405f8b9778958" |
484 | SRC_URI[globset-0.4.15.sha256sum] = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" | 537 | SRC_URI[glob-0.3.2.sha256sum] = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" |
538 | SRC_URI[globset-0.4.16.sha256sum] = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5" | ||
485 | SRC_URI[group-0.13.0.sha256sum] = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" | 539 | SRC_URI[group-0.13.0.sha256sum] = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" |
486 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" | 540 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" |
487 | SRC_URI[hashbrown-0.15.0.sha256sum] = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" | 541 | SRC_URI[hashbrown-0.15.3.sha256sum] = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" |
488 | SRC_URI[hashlink-0.9.1.sha256sum] = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" | 542 | SRC_URI[hashlink-0.10.0.sha256sum] = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" |
489 | SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" | 543 | SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" |
490 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | 544 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" |
491 | SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" | 545 | SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" |
492 | SRC_URI[hkdf-0.12.4.sha256sum] = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" | 546 | SRC_URI[hkdf-0.12.4.sha256sum] = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" |
493 | SRC_URI[hmac-0.12.1.sha256sum] = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" | 547 | SRC_URI[hmac-0.12.1.sha256sum] = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" |
494 | SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" | 548 | SRC_URI[home-0.5.11.sha256sum] = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" |
495 | SRC_URI[http-auth-0.1.10.sha256sum] = "150fa4a9462ef926824cf4519c84ed652ca8f4fbae34cb8af045b5cbcaf98822" | 549 | SRC_URI[http-auth-0.1.10.sha256sum] = "150fa4a9462ef926824cf4519c84ed652ca8f4fbae34cb8af045b5cbcaf98822" |
496 | SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" | 550 | SRC_URI[icu_collections-2.0.0.sha256sum] = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" |
497 | SRC_URI[idna-0.5.0.sha256sum] = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" | 551 | SRC_URI[icu_locale_core-2.0.0.sha256sum] = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" |
552 | SRC_URI[icu_normalizer-2.0.0.sha256sum] = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" | ||
553 | SRC_URI[icu_normalizer_data-2.0.0.sha256sum] = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" | ||
554 | SRC_URI[icu_properties-2.0.0.sha256sum] = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a" | ||
555 | SRC_URI[icu_properties_data-2.0.0.sha256sum] = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04" | ||
556 | SRC_URI[icu_provider-2.0.0.sha256sum] = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" | ||
557 | SRC_URI[idna-1.0.3.sha256sum] = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" | ||
558 | SRC_URI[idna_adapter-1.2.1.sha256sum] = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" | ||
498 | SRC_URI[ignore-0.4.23.sha256sum] = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" | 559 | SRC_URI[ignore-0.4.23.sha256sum] = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" |
499 | SRC_URI[im-rc-15.1.0.sha256sum] = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" | 560 | SRC_URI[im-rc-15.1.0.sha256sum] = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" |
500 | SRC_URI[implib-0.3.3.sha256sum] = "27a77d80daf69d39932349c736810ce6577550b75342e2b426e559ab99632bd8" | 561 | SRC_URI[implib-0.3.5.sha256sum] = "598bf7096215f835b0f70c94d7b033da3cbf66181b619f25e54d65adaf825e62" |
501 | SRC_URI[indexmap-2.6.0.sha256sum] = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" | 562 | SRC_URI[indexmap-2.9.0.sha256sum] = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" |
563 | SRC_URI[is_executable-1.0.4.sha256sum] = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" | ||
502 | SRC_URI[is_terminal_polyfill-1.70.1.sha256sum] = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" | 564 | SRC_URI[is_terminal_polyfill-1.70.1.sha256sum] = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" |
503 | SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" | 565 | SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" |
504 | SRC_URI[itoa-1.0.11.sha256sum] = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" | 566 | SRC_URI[itoa-1.0.15.sha256sum] = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" |
505 | SRC_URI[jiff-0.1.13.sha256sum] = "8a45489186a6123c128fdf6016183fcfab7113e1820eb813127e036e287233fb" | 567 | SRC_URI[jiff-0.2.13.sha256sum] = "f02000660d30638906021176af16b17498bd0d12813dbfe7b276d8bc7f3c0806" |
506 | SRC_URI[jiff-tzdb-0.1.1.sha256sum] = "91335e575850c5c4c673b9bd467b0e025f164ca59d0564f69d0c2ee0ffad4653" | 568 | SRC_URI[jiff-static-0.2.13.sha256sum] = "f3c30758ddd7188629c6713fc45d1188af4f44c90582311d0c8d8c9907f60c48" |
507 | SRC_URI[jiff-tzdb-platform-0.1.1.sha256sum] = "9835f0060a626fe59f160437bc725491a6af23133ea906500027d1bd2f8f4329" | 569 | SRC_URI[jiff-tzdb-0.1.4.sha256sum] = "c1283705eb0a21404d2bfd6eef2a7593d240bc42a0bdb39db0ad6fa2ec026524" |
508 | SRC_URI[jobserver-0.1.32.sha256sum] = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" | 570 | SRC_URI[jiff-tzdb-platform-0.1.3.sha256sum] = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" |
509 | SRC_URI[js-sys-0.3.72.sha256sum] = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" | 571 | SRC_URI[jobserver-0.1.33.sha256sum] = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" |
572 | SRC_URI[js-sys-0.3.77.sha256sum] = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" | ||
510 | SRC_URI[kstring-2.0.2.sha256sum] = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" | 573 | SRC_URI[kstring-2.0.2.sha256sum] = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" |
511 | SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" | 574 | SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" |
512 | SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" | 575 | SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" |
513 | SRC_URI[libc-0.2.161.sha256sum] = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" | 576 | SRC_URI[libc-0.2.172.sha256sum] = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" |
514 | SRC_URI[libdbus-sys-0.2.5.sha256sum] = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72" | 577 | SRC_URI[libdbus-sys-0.2.5.sha256sum] = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72" |
515 | SRC_URI[libgit2-sys-0.17.0+1.8.1.sha256sum] = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" | 578 | SRC_URI[libgit2-sys-0.18.1+1.9.0.sha256sum] = "e1dcb20f84ffcdd825c7a311ae347cce604a6f084a767dec4a4929829645290e" |
516 | SRC_URI[libloading-0.8.5.sha256sum] = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" | 579 | SRC_URI[libloading-0.8.7.sha256sum] = "6a793df0d7afeac54f95b471d3af7f0d4fb975699f972341a4b76988d49cdf0c" |
517 | SRC_URI[libnghttp2-sys-0.1.10+1.61.0.sha256sum] = "959c25552127d2e1fa72f0e52548ec04fc386e827ba71a7bd01db46a447dc135" | 580 | SRC_URI[libnghttp2-sys-0.1.11+1.64.0.sha256sum] = "1b6c24e48a7167cffa7119da39d577fa482e66c688a4aac016bee862e1a713c4" |
518 | SRC_URI[libredox-0.1.3.sha256sum] = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" | 581 | SRC_URI[libredox-0.1.3.sha256sum] = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" |
519 | SRC_URI[libsqlite3-sys-0.30.1.sha256sum] = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" | 582 | SRC_URI[libsqlite3-sys-0.31.0.sha256sum] = "ad8935b44e7c13394a179a438e0cebba0fe08fe01b54f152e29a93b5cf993fd4" |
520 | SRC_URI[libssh2-sys-0.3.0.sha256sum] = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee" | 583 | SRC_URI[libssh2-sys-0.3.1.sha256sum] = "220e4f05ad4a218192533b300327f5150e809b54c4ec83b5a1d91833601811b9" |
521 | SRC_URI[libz-sys-1.1.20.sha256sum] = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" | 584 | SRC_URI[libz-sys-1.1.22.sha256sum] = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d" |
522 | SRC_URI[linux-raw-sys-0.4.14.sha256sum] = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" | 585 | SRC_URI[linux-raw-sys-0.4.15.sha256sum] = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" |
586 | SRC_URI[linux-raw-sys-0.9.4.sha256sum] = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" | ||
587 | SRC_URI[litemap-0.8.0.sha256sum] = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" | ||
523 | SRC_URI[lock_api-0.4.12.sha256sum] = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" | 588 | SRC_URI[lock_api-0.4.12.sha256sum] = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" |
524 | SRC_URI[log-0.4.22.sha256sum] = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" | 589 | SRC_URI[log-0.4.27.sha256sum] = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" |
525 | SRC_URI[matchers-0.1.0.sha256sum] = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" | 590 | SRC_URI[matchers-0.1.0.sha256sum] = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" |
526 | SRC_URI[maybe-async-0.2.10.sha256sum] = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" | 591 | SRC_URI[maybe-async-0.2.10.sha256sum] = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" |
527 | SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" | 592 | SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" |
528 | SRC_URI[memmap2-0.9.5.sha256sum] = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" | 593 | SRC_URI[memmap2-0.9.5.sha256sum] = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" |
529 | SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" | 594 | SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" |
530 | SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" | 595 | SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" |
531 | SRC_URI[miniz_oxide-0.8.0.sha256sum] = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" | 596 | SRC_URI[miniz_oxide-0.8.8.sha256sum] = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" |
532 | SRC_URI[miow-0.6.0.sha256sum] = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044" | 597 | SRC_URI[miow-0.6.0.sha256sum] = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044" |
533 | SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" | 598 | SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" |
534 | SRC_URI[normpath-1.3.0.sha256sum] = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed" | 599 | SRC_URI[normpath-1.3.0.sha256sum] = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed" |
535 | SRC_URI[nu-ansi-term-0.46.0.sha256sum] = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" | 600 | SRC_URI[nu-ansi-term-0.46.0.sha256sum] = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" |
536 | SRC_URI[num-conv-0.1.0.sha256sum] = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" | 601 | SRC_URI[num-conv-0.1.0.sha256sum] = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" |
537 | SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" | 602 | SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" |
538 | SRC_URI[num_threads-0.1.7.sha256sum] = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" | 603 | SRC_URI[object-0.36.7.sha256sum] = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" |
539 | SRC_URI[object-0.36.5.sha256sum] = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" | 604 | SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" |
540 | SRC_URI[once_cell-1.20.2.sha256sum] = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" | ||
541 | SRC_URI[opener-0.7.2.sha256sum] = "d0812e5e4df08da354c851a3376fead46db31c2214f849d3de356d774d057681" | 605 | SRC_URI[opener-0.7.2.sha256sum] = "d0812e5e4df08da354c851a3376fead46db31c2214f849d3de356d774d057681" |
542 | SRC_URI[openssl-0.10.57.sha256sum] = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" | 606 | SRC_URI[openssl-0.10.57.sha256sum] = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" |
543 | SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" | 607 | SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" |
544 | SRC_URI[openssl-probe-0.1.5.sha256sum] = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" | 608 | SRC_URI[openssl-probe-0.1.6.sha256sum] = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" |
545 | SRC_URI[openssl-src-300.3.2+3.3.2.sha256sum] = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" | 609 | SRC_URI[openssl-src-300.5.0+3.5.0.sha256sum] = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f" |
546 | SRC_URI[openssl-sys-0.9.104.sha256sum] = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" | 610 | SRC_URI[openssl-sys-0.9.108.sha256sum] = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" |
547 | SRC_URI[ordered-float-2.10.1.sha256sum] = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" | 611 | SRC_URI[ordered-float-2.10.1.sha256sum] = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" |
548 | SRC_URI[orion-0.17.7.sha256sum] = "97ab5415cf60cd271259e576f2ddee7a5f9fed42659035224c01af766943fad3" | 612 | SRC_URI[orion-0.17.10.sha256sum] = "ccc95d369bc6b5cf404c562cd33de439ae9ca6dc4b044cd2625b2072ca0b81e4" |
549 | SRC_URI[os_info-3.8.2.sha256sum] = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" | 613 | SRC_URI[os_info-3.11.0.sha256sum] = "41fc863e2ca13dc2d5c34fb22ea4a588248ac14db929616ba65c45f21744b1e9" |
550 | SRC_URI[overload-0.1.1.sha256sum] = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" | 614 | SRC_URI[overload-0.1.1.sha256sum] = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" |
551 | SRC_URI[p384-0.13.0.sha256sum] = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209" | 615 | SRC_URI[p384-0.13.1.sha256sum] = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" |
552 | SRC_URI[parking_lot-0.12.3.sha256sum] = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" | 616 | SRC_URI[parking_lot-0.12.3.sha256sum] = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" |
553 | SRC_URI[parking_lot_core-0.9.10.sha256sum] = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" | 617 | SRC_URI[parking_lot_core-0.9.10.sha256sum] = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" |
554 | SRC_URI[pasetors-0.6.8.sha256sum] = "6b36d47c66f2230dd1b7143d9afb2b4891879020210eddf2ccb624e529b96dba" | 618 | SRC_URI[pasetors-0.7.4.sha256sum] = "cb798c661c80718af935bea17997928937822e7369cd087667ff4179f9146551" |
555 | SRC_URI[pathdiff-0.2.2.sha256sum] = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361" | 619 | SRC_URI[pathdiff-0.2.3.sha256sum] = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" |
556 | SRC_URI[pem-rfc7468-0.7.0.sha256sum] = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" | 620 | SRC_URI[pem-rfc7468-0.7.0.sha256sum] = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" |
557 | SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" | 621 | SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" |
558 | SRC_URI[pin-project-lite-0.2.14.sha256sum] = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" | 622 | SRC_URI[pin-project-lite-0.2.16.sha256sum] = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" |
559 | SRC_URI[pkcs8-0.10.2.sha256sum] = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" | 623 | SRC_URI[pkcs8-0.10.2.sha256sum] = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" |
560 | SRC_URI[pkg-config-0.3.31.sha256sum] = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" | 624 | SRC_URI[pkg-config-0.3.32.sha256sum] = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" |
625 | SRC_URI[portable-atomic-1.11.0.sha256sum] = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" | ||
626 | SRC_URI[portable-atomic-util-0.2.4.sha256sum] = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" | ||
627 | SRC_URI[potential_utf-0.1.2.sha256sum] = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" | ||
561 | SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" | 628 | SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" |
562 | SRC_URI[ppv-lite86-0.2.20.sha256sum] = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" | 629 | SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" |
563 | SRC_URI[primeorder-0.13.6.sha256sum] = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" | 630 | SRC_URI[primeorder-0.13.6.sha256sum] = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" |
564 | SRC_URI[proc-macro2-1.0.88.sha256sum] = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" | 631 | SRC_URI[proc-macro2-1.0.95.sha256sum] = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" |
565 | SRC_URI[prodash-28.0.0.sha256sum] = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79" | 632 | SRC_URI[prodash-29.0.2.sha256sum] = "f04bb108f648884c23b98a0e940ebc2c93c0c3b89f04dbaf7eb8256ce617d1bc" |
566 | SRC_URI[quote-1.0.37.sha256sum] = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" | 633 | SRC_URI[quote-1.0.40.sha256sum] = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" |
567 | SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" | 634 | SRC_URI[r-efi-5.2.0.sha256sum] = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" |
568 | SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" | 635 | SRC_URI[rand-0.9.1.sha256sum] = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" |
636 | SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" | ||
569 | SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" | 637 | SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" |
638 | SRC_URI[rand_core-0.9.3.sha256sum] = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" | ||
570 | SRC_URI[rand_xoshiro-0.6.0.sha256sum] = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" | 639 | SRC_URI[rand_xoshiro-0.6.0.sha256sum] = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" |
571 | SRC_URI[redox_syscall-0.5.7.sha256sum] = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" | 640 | SRC_URI[redox_syscall-0.5.12.sha256sum] = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" |
572 | SRC_URI[regex-1.11.0.sha256sum] = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" | 641 | SRC_URI[regex-1.11.1.sha256sum] = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" |
573 | SRC_URI[regex-automata-0.1.10.sha256sum] = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" | 642 | SRC_URI[regex-automata-0.1.10.sha256sum] = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" |
574 | SRC_URI[regex-automata-0.4.8.sha256sum] = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" | 643 | SRC_URI[regex-automata-0.4.9.sha256sum] = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" |
575 | SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" | 644 | SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" |
576 | SRC_URI[regex-syntax-0.8.5.sha256sum] = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" | 645 | SRC_URI[regex-syntax-0.8.5.sha256sum] = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" |
577 | SRC_URI[rfc6979-0.4.0.sha256sum] = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" | 646 | SRC_URI[rfc6979-0.4.0.sha256sum] = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" |
578 | SRC_URI[rusqlite-0.32.1.sha256sum] = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e" | 647 | SRC_URI[rusqlite-0.33.0.sha256sum] = "1c6d5e5acb6f6129fe3f7ba0a7fc77bca1942cb568535e18e7bc40262baf3110" |
579 | SRC_URI[rustfix-0.8.6.sha256sum] = "8fb2b066405a6d48a1b39c0022270503e352ae84da0c24e1d5f8ffc38e97a325" | 648 | SRC_URI[rustc-hash-2.1.1.sha256sum] = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" |
580 | SRC_URI[rustix-0.38.37.sha256sum] = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" | 649 | SRC_URI[rustc-stable-hash-0.1.2.sha256sum] = "781442f29170c5c93b7185ad559492601acdc71d5bb0706f5868094f45cfcd08" |
581 | SRC_URI[ryu-1.0.18.sha256sum] = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" | 650 | SRC_URI[rustfix-0.9.0.sha256sum] = "7f66156d7471ff4f12253cd7fd76dfe637a595a9418168154e8570f3947fe9a8" |
651 | SRC_URI[rustix-0.38.44.sha256sum] = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" | ||
652 | SRC_URI[rustix-1.0.7.sha256sum] = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" | ||
653 | SRC_URI[ryu-1.0.20.sha256sum] = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" | ||
582 | SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" | 654 | SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" |
583 | SRC_URI[schannel-0.1.26.sha256sum] = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" | 655 | SRC_URI[schannel-0.1.27.sha256sum] = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" |
584 | SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" | 656 | SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" |
585 | SRC_URI[sec1-0.7.3.sha256sum] = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" | 657 | SRC_URI[sec1-0.7.3.sha256sum] = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" |
586 | SRC_URI[security-framework-2.11.1.sha256sum] = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" | 658 | SRC_URI[security-framework-3.2.0.sha256sum] = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" |
587 | SRC_URI[security-framework-sys-2.12.0.sha256sum] = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" | 659 | SRC_URI[security-framework-sys-2.14.0.sha256sum] = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" |
588 | SRC_URI[semver-1.0.23.sha256sum] = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" | 660 | SRC_URI[semver-1.0.26.sha256sum] = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" |
589 | SRC_URI[serde-1.0.210.sha256sum] = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" | 661 | SRC_URI[serde-1.0.219.sha256sum] = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" |
590 | SRC_URI[serde-untagged-0.1.6.sha256sum] = "2676ba99bd82f75cae5cbd2c8eda6fa0b8760f18978ea840e980dd5567b5c5b6" | 662 | SRC_URI[serde-untagged-0.1.7.sha256sum] = "299d9c19d7d466db4ab10addd5703e4c615dec2a5a16dbbafe191045e87ee66e" |
591 | SRC_URI[serde-value-0.7.0.sha256sum] = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" | 663 | SRC_URI[serde-value-0.7.0.sha256sum] = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" |
592 | SRC_URI[serde_derive-1.0.210.sha256sum] = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" | 664 | SRC_URI[serde_derive-1.0.219.sha256sum] = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" |
593 | SRC_URI[serde_ignored-0.1.10.sha256sum] = "a8e319a36d1b52126a0d608f24e93b2d81297091818cd70625fcf50a15d84ddf" | 665 | SRC_URI[serde_ignored-0.1.12.sha256sum] = "b516445dac1e3535b6d658a7b528d771153dfb272ed4180ca4617a20550365ff" |
594 | SRC_URI[serde_json-1.0.129.sha256sum] = "6dbcf9b78a125ee667ae19388837dd12294b858d101fdd393cb9d5501ef09eb2" | 666 | SRC_URI[serde_json-1.0.140.sha256sum] = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" |
595 | SRC_URI[serde_spanned-0.6.8.sha256sum] = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" | 667 | SRC_URI[serde_spanned-0.6.8.sha256sum] = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" |
596 | SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" | 668 | SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" |
597 | SRC_URI[sha1_smol-1.0.1.sha256sum] = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" | 669 | SRC_URI[sha1_smol-1.0.1.sha256sum] = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" |
598 | SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" | 670 | SRC_URI[sha2-0.10.9.sha256sum] = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" |
599 | SRC_URI[sharded-slab-0.1.7.sha256sum] = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" | 671 | SRC_URI[sharded-slab-0.1.7.sha256sum] = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" |
600 | SRC_URI[shell-escape-0.1.5.sha256sum] = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" | 672 | SRC_URI[shell-escape-0.1.5.sha256sum] = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" |
601 | SRC_URI[shell-words-1.1.0.sha256sum] = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" | 673 | SRC_URI[shell-words-1.1.0.sha256sum] = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" |
602 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" | 674 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" |
603 | SRC_URI[signature-2.2.0.sha256sum] = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" | 675 | SRC_URI[signature-2.2.0.sha256sum] = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" |
604 | SRC_URI[sized-chunks-0.6.5.sha256sum] = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" | 676 | SRC_URI[sized-chunks-0.6.5.sha256sum] = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" |
605 | SRC_URI[smallvec-1.13.2.sha256sum] = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" | 677 | SRC_URI[smallvec-1.15.0.sha256sum] = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" |
606 | SRC_URI[socket2-0.5.7.sha256sum] = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" | 678 | SRC_URI[socket2-0.5.9.sha256sum] = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" |
607 | SRC_URI[spki-0.7.3.sha256sum] = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" | 679 | SRC_URI[spki-0.7.3.sha256sum] = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" |
680 | SRC_URI[stable_deref_trait-1.2.0.sha256sum] = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" | ||
608 | SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" | 681 | SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" |
609 | SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" | 682 | SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" |
610 | SRC_URI[subtle-2.6.1.sha256sum] = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" | 683 | SRC_URI[subtle-2.6.1.sha256sum] = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" |
611 | SRC_URI[supports-hyperlinks-3.0.0.sha256sum] = "2c0a1e5168041f5f3ff68ff7d95dcb9c8749df29f6e7e89ada40dd4c9de404ee" | 684 | SRC_URI[supports-hyperlinks-3.1.0.sha256sum] = "804f44ed3c63152de6a9f90acbea1a110441de43006ea51bcce8f436196a288b" |
612 | SRC_URI[supports-unicode-3.0.0.sha256sum] = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" | 685 | SRC_URI[supports-unicode-3.0.0.sha256sum] = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" |
613 | SRC_URI[syn-2.0.79.sha256sum] = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" | 686 | SRC_URI[syn-2.0.101.sha256sum] = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" |
614 | SRC_URI[tar-0.4.42.sha256sum] = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020" | 687 | SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" |
615 | SRC_URI[tempfile-3.13.0.sha256sum] = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" | 688 | SRC_URI[tar-0.4.44.sha256sum] = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" |
616 | SRC_URI[terminal_size-0.4.0.sha256sum] = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef" | 689 | SRC_URI[tempfile-3.20.0.sha256sum] = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" |
617 | SRC_URI[thiserror-1.0.64.sha256sum] = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" | 690 | SRC_URI[terminal_size-0.4.2.sha256sum] = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" |
618 | SRC_URI[thiserror-impl-1.0.64.sha256sum] = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" | 691 | SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" |
692 | SRC_URI[thiserror-2.0.12.sha256sum] = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" | ||
693 | SRC_URI[thiserror-impl-1.0.69.sha256sum] = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" | ||
694 | SRC_URI[thiserror-impl-2.0.12.sha256sum] = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" | ||
619 | SRC_URI[thread_local-1.1.8.sha256sum] = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" | 695 | SRC_URI[thread_local-1.1.8.sha256sum] = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" |
620 | SRC_URI[time-0.3.36.sha256sum] = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" | 696 | SRC_URI[time-0.3.41.sha256sum] = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" |
621 | SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" | 697 | SRC_URI[time-core-0.1.4.sha256sum] = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" |
622 | SRC_URI[time-macros-0.2.18.sha256sum] = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" | 698 | SRC_URI[time-macros-0.2.22.sha256sum] = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" |
623 | SRC_URI[tinyvec-1.8.0.sha256sum] = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" | 699 | SRC_URI[tinystr-0.8.1.sha256sum] = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" |
700 | SRC_URI[tinyvec-1.9.0.sha256sum] = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" | ||
624 | SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" | 701 | SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" |
625 | SRC_URI[toml-0.8.19.sha256sum] = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" | 702 | SRC_URI[toml-0.8.22.sha256sum] = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" |
626 | SRC_URI[toml_datetime-0.6.8.sha256sum] = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" | 703 | SRC_URI[toml_datetime-0.6.9.sha256sum] = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" |
627 | SRC_URI[toml_edit-0.22.22.sha256sum] = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" | 704 | SRC_URI[toml_edit-0.22.26.sha256sum] = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" |
628 | SRC_URI[tracing-0.1.40.sha256sum] = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" | 705 | SRC_URI[toml_write-0.1.1.sha256sum] = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" |
629 | SRC_URI[tracing-attributes-0.1.27.sha256sum] = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" | 706 | SRC_URI[tracing-0.1.41.sha256sum] = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" |
707 | SRC_URI[tracing-attributes-0.1.28.sha256sum] = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" | ||
630 | SRC_URI[tracing-chrome-0.7.2.sha256sum] = "bf0a738ed5d6450a9fb96e86a23ad808de2b727fd1394585da5cdd6788ffe724" | 708 | SRC_URI[tracing-chrome-0.7.2.sha256sum] = "bf0a738ed5d6450a9fb96e86a23ad808de2b727fd1394585da5cdd6788ffe724" |
631 | SRC_URI[tracing-core-0.1.32.sha256sum] = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" | 709 | SRC_URI[tracing-core-0.1.33.sha256sum] = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" |
632 | SRC_URI[tracing-log-0.2.0.sha256sum] = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" | 710 | SRC_URI[tracing-log-0.2.0.sha256sum] = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" |
633 | SRC_URI[tracing-subscriber-0.3.18.sha256sum] = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" | 711 | SRC_URI[tracing-subscriber-0.3.19.sha256sum] = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" |
634 | SRC_URI[typeid-1.0.2.sha256sum] = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" | 712 | SRC_URI[typeid-1.0.3.sha256sum] = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" |
635 | SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" | 713 | SRC_URI[typenum-1.18.0.sha256sum] = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" |
636 | SRC_URI[unicase-2.7.0.sha256sum] = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" | 714 | SRC_URI[unicase-2.8.1.sha256sum] = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" |
637 | SRC_URI[unicode-bidi-0.3.17.sha256sum] = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" | ||
638 | SRC_URI[unicode-bom-2.0.3.sha256sum] = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" | 715 | SRC_URI[unicode-bom-2.0.3.sha256sum] = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" |
639 | SRC_URI[unicode-ident-1.0.13.sha256sum] = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" | 716 | SRC_URI[unicode-ident-1.0.18.sha256sum] = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" |
640 | SRC_URI[unicode-normalization-0.1.24.sha256sum] = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" | 717 | SRC_URI[unicode-normalization-0.1.24.sha256sum] = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" |
641 | SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" | 718 | SRC_URI[unicode-width-0.2.0.sha256sum] = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" |
642 | SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" | 719 | SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" |
643 | SRC_URI[url-2.5.2.sha256sum] = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" | 720 | SRC_URI[url-2.5.4.sha256sum] = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" |
721 | SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" | ||
644 | SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" | 722 | SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" |
645 | SRC_URI[valuable-0.1.0.sha256sum] = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" | 723 | SRC_URI[valuable-0.1.1.sha256sum] = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" |
646 | SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" | 724 | SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" |
647 | SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" | 725 | SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" |
648 | SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" | 726 | SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" |
649 | SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" | 727 | SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" |
650 | SRC_URI[wasm-bindgen-0.2.95.sha256sum] = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" | 728 | SRC_URI[wasi-0.14.2+wasi-0.2.4.sha256sum] = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" |
651 | SRC_URI[wasm-bindgen-backend-0.2.95.sha256sum] = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" | 729 | SRC_URI[wasm-bindgen-0.2.100.sha256sum] = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" |
652 | SRC_URI[wasm-bindgen-macro-0.2.95.sha256sum] = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" | 730 | SRC_URI[wasm-bindgen-backend-0.2.100.sha256sum] = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" |
653 | SRC_URI[wasm-bindgen-macro-support-0.2.95.sha256sum] = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" | 731 | SRC_URI[wasm-bindgen-macro-0.2.100.sha256sum] = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" |
654 | SRC_URI[wasm-bindgen-shared-0.2.95.sha256sum] = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" | 732 | SRC_URI[wasm-bindgen-macro-support-0.2.100.sha256sum] = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" |
733 | SRC_URI[wasm-bindgen-shared-0.2.100.sha256sum] = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" | ||
655 | SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" | 734 | SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" |
656 | SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" | 735 | SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" |
657 | SRC_URI[winapi-util-0.1.9.sha256sum] = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" | 736 | SRC_URI[winapi-util-0.1.9.sha256sum] = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" |
@@ -661,22 +740,41 @@ SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec | |||
661 | SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" | 740 | SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" |
662 | SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" | 741 | SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" |
663 | SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" | 742 | SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" |
743 | SRC_URI[windows-targets-0.53.0.sha256sum] = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" | ||
664 | SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" | 744 | SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" |
665 | SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" | 745 | SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" |
746 | SRC_URI[windows_aarch64_gnullvm-0.53.0.sha256sum] = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" | ||
666 | SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" | 747 | SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" |
667 | SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" | 748 | SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" |
749 | SRC_URI[windows_aarch64_msvc-0.53.0.sha256sum] = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" | ||
668 | SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" | 750 | SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" |
669 | SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" | 751 | SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" |
752 | SRC_URI[windows_i686_gnu-0.53.0.sha256sum] = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" | ||
670 | SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" | 753 | SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" |
754 | SRC_URI[windows_i686_gnullvm-0.53.0.sha256sum] = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" | ||
671 | SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" | 755 | SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" |
672 | SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" | 756 | SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" |
757 | SRC_URI[windows_i686_msvc-0.53.0.sha256sum] = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" | ||
673 | SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" | 758 | SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" |
674 | SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" | 759 | SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" |
760 | SRC_URI[windows_x86_64_gnu-0.53.0.sha256sum] = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" | ||
675 | SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" | 761 | SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" |
676 | SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" | 762 | SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" |
763 | SRC_URI[windows_x86_64_gnullvm-0.53.0.sha256sum] = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" | ||
677 | SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" | 764 | SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" |
678 | SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" | 765 | SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" |
679 | SRC_URI[winnow-0.6.20.sha256sum] = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" | 766 | SRC_URI[windows_x86_64_msvc-0.53.0.sha256sum] = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" |
680 | SRC_URI[zerocopy-0.7.35.sha256sum] = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" | 767 | SRC_URI[winnow-0.6.26.sha256sum] = "1e90edd2ac1aa278a5c4599b1d89cf03074b610800f866d4026dc199d7929a28" |
681 | SRC_URI[zerocopy-derive-0.7.35.sha256sum] = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" | 768 | SRC_URI[winnow-0.7.10.sha256sum] = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" |
769 | SRC_URI[wit-bindgen-rt-0.39.0.sha256sum] = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" | ||
770 | SRC_URI[writeable-0.6.1.sha256sum] = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" | ||
771 | SRC_URI[yoke-0.8.0.sha256sum] = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" | ||
772 | SRC_URI[yoke-derive-0.8.0.sha256sum] = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" | ||
773 | SRC_URI[zerocopy-0.8.25.sha256sum] = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" | ||
774 | SRC_URI[zerocopy-derive-0.8.25.sha256sum] = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" | ||
775 | SRC_URI[zerofrom-0.1.6.sha256sum] = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" | ||
776 | SRC_URI[zerofrom-derive-0.1.6.sha256sum] = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" | ||
682 | SRC_URI[zeroize-1.8.1.sha256sum] = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" | 777 | SRC_URI[zeroize-1.8.1.sha256sum] = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" |
778 | SRC_URI[zerotrie-0.2.2.sha256sum] = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" | ||
779 | SRC_URI[zerovec-0.11.2.sha256sum] = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" | ||
780 | SRC_URI[zerovec-derive-0.11.1.sha256sum] = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" | ||
diff --git a/meta/recipes-devtools/rust/cargo-c/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch b/meta/recipes-devtools/rust/cargo-c/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch deleted file mode 100644 index 95dcb45e56..0000000000 --- a/meta/recipes-devtools/rust/cargo-c/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | From 3665e73b2f087370f8058c12911996b109d8e93a Mon Sep 17 00:00:00 2001 | ||
2 | From: Dan Gohman <dev@sunfishcode.online> | ||
3 | Date: Sun, 6 Apr 2025 05:22:49 -0700 | ||
4 | Subject: [PATCH] Define more ioctl codes on riscv32gc-unknown-linux-gnu | ||
5 | |||
6 | Define ioctl codes including `FICLONE` and `FS_IOC32_GETVERSION` on | ||
7 | riscv32gc-unknown-linux-gnu. | ||
8 | |||
9 | Upstream-Status: Backport [https://github.com/rust-lang/libc/commit/4b439b0953573e0383da7e092b1f516ba21f3398] | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | src/unix/linux_like/linux/arch/generic/mod.rs | 6 +++++- | ||
13 | 1 file changed, 5 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/src/unix/linux_like/linux/arch/generic/mod.rs b/src/unix/linux_like/linux/arch/generic/mod.rs | ||
16 | index 2f437e1..fdac4bb 100644 | ||
17 | --- a/src/unix/linux_like/linux/arch/generic/mod.rs | ||
18 | +++ b/src/unix/linux_like/linux/arch/generic/mod.rs | ||
19 | @@ -114,6 +114,7 @@ cfg_if! { | ||
20 | target_arch = "x86_64", | ||
21 | target_arch = "arm", | ||
22 | target_arch = "aarch64", | ||
23 | + target_arch = "riscv32", | ||
24 | target_arch = "riscv64", | ||
25 | target_arch = "s390x", | ||
26 | target_arch = "csky", | ||
27 | @@ -218,7 +219,10 @@ cfg_if! { | ||
28 | // where S stands for size (int, long, struct...) | ||
29 | // where T stands for type ('f','v','X'...) | ||
30 | // where N stands for NR (NumbeR) | ||
31 | - if #[cfg(any(target_arch = "x86", target_arch = "arm", target_arch = "csky"))] { | ||
32 | + if #[cfg(any(target_arch = "x86", | ||
33 | + target_arch = "arm", | ||
34 | + target_arch = "csky", | ||
35 | + target_arch = "riscv32"))] { | ||
36 | pub const FS_IOC_GETFLAGS: ::Ioctl = 0x80046601; | ||
37 | pub const FS_IOC_SETFLAGS: ::Ioctl = 0x40046602; | ||
38 | pub const FS_IOC_GETVERSION: ::Ioctl = 0x80047601; | ||
diff --git a/meta/recipes-devtools/rust/cargo-c_0.10.5+cargo-0.83.0.bb b/meta/recipes-devtools/rust/cargo-c_0.10.13+cargo-0.88.0.bb index b8b646e384..6777726072 100644 --- a/meta/recipes-devtools/rust/cargo-c_0.10.5+cargo-0.83.0.bb +++ b/meta/recipes-devtools/rust/cargo-c_0.10.13+cargo-0.88.0.bb | |||
@@ -6,8 +6,7 @@ LIC_FILES_CHKSUM = " \ | |||
6 | " | 6 | " |
7 | 7 | ||
8 | SRC_URI = "crate://crates.io/cargo-c/${PV};name=cargo-c" | 8 | SRC_URI = "crate://crates.io/cargo-c/${PV};name=cargo-c" |
9 | SRC_URI += "file://0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch;patchdir=${CARGO_VENDORING_DIRECTORY}/libc-0.2.161" | 9 | SRC_URI[cargo-c.sha256sum] = "bd11efb38aee5930cabfe8d41465f22859b2af9071fa04d3642814cf1cc2bc75" |
10 | SRC_URI[cargo-c.sha256sum] = "5bfa9ba93806384d940e71dafbc185316e0a6a47561b33b7105fcf67f99df70a" | ||
11 | S = "${CARGO_VENDORING_DIRECTORY}/cargo-c-${PV}" | 10 | S = "${CARGO_VENDORING_DIRECTORY}/cargo-c-${PV}" |
12 | 11 | ||
13 | inherit cargo cargo-update-recipe-crates pkgconfig | 12 | inherit cargo cargo-update-recipe-crates pkgconfig |
diff --git a/meta/recipes-devtools/rust/cargo_1.86.0.bb b/meta/recipes-devtools/rust/cargo_1.87.0.bb index 150c2d2b80..fc41a19a25 100644 --- a/meta/recipes-devtools/rust/cargo_1.86.0.bb +++ b/meta/recipes-devtools/rust/cargo_1.87.0.bb | |||
@@ -34,7 +34,6 @@ addtask cargo_setup_snapshot after do_unpack before do_configure | |||
34 | do_cargo_setup_snapshot[dirs] += "${WORKDIR}/${CARGO_SNAPSHOT}" | 34 | do_cargo_setup_snapshot[dirs] += "${WORKDIR}/${CARGO_SNAPSHOT}" |
35 | do_cargo_setup_snapshot[vardepsexclude] += "UNINATIVE_LOADER" | 35 | do_cargo_setup_snapshot[vardepsexclude] += "UNINATIVE_LOADER" |
36 | 36 | ||
37 | |||
38 | do_compile:prepend () { | 37 | do_compile:prepend () { |
39 | export RUSTC_BOOTSTRAP="1" | 38 | export RUSTC_BOOTSTRAP="1" |
40 | } | 39 | } |
diff --git a/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch b/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch index 5e0f5912a1..a7da69dce3 100644 --- a/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch +++ b/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch | |||
@@ -24,9 +24,9 @@ diff --git a/src/bootstrap/src/core/build_steps/tool.rs b/src/bootstrap/src/core | |||
24 | index 087df2f8a..00790affb 100644 | 24 | index 087df2f8a..00790affb 100644 |
25 | --- a/src/bootstrap/src/core/build_steps/tool.rs | 25 | --- a/src/bootstrap/src/core/build_steps/tool.rs |
26 | +++ b/src/bootstrap/src/core/build_steps/tool.rs | 26 | +++ b/src/bootstrap/src/core/build_steps/tool.rs |
27 | @@ -1,14 +1,11 @@ | 27 | @@ -15,14 +15,12 @@ |
28 | use std::path::PathBuf; | 28 | #[cfg(feature = "tracing")] |
29 | use std::{env, fs}; | 29 | use tracing::instrument; |
30 | 30 | ||
31 | -use crate::core::build_steps::compile::is_lto_stage; | 31 | -use crate::core::build_steps::compile::is_lto_stage; |
32 | use crate::core::build_steps::toolstate::ToolState; | 32 | use crate::core::build_steps::toolstate::ToolState; |
@@ -36,18 +36,20 @@ index 087df2f8a..00790affb 100644 | |||
36 | - Builder, Cargo as CargoCommand, RunConfig, ShouldRun, Step, cargo_profile_var, | 36 | - Builder, Cargo as CargoCommand, RunConfig, ShouldRun, Step, cargo_profile_var, |
37 | -}; | 37 | -}; |
38 | -use crate::core::config::{DebuginfoLevel, RustcLto, TargetSelection}; | 38 | -use crate::core::config::{DebuginfoLevel, RustcLto, TargetSelection}; |
39 | + | ||
39 | +use crate::core::builder::{Builder, Cargo as CargoCommand, RunConfig, ShouldRun, Step}; | 40 | +use crate::core::builder::{Builder, Cargo as CargoCommand, RunConfig, ShouldRun, Step}; |
40 | +use crate::core::config::{DebuginfoLevel, TargetSelection}; | 41 | +use crate::core::config::{DebuginfoLevel, TargetSelection}; |
41 | use crate::utils::channel::GitInfo; | 42 | use crate::utils::channel::GitInfo; |
42 | use crate::utils::exec::{BootstrapCommand, command}; | 43 | use crate::utils::exec::{BootstrapCommand, command}; |
43 | use crate::utils::helpers::{add_dylib_path, exe, t}; | 44 | use crate::utils::helpers::{add_dylib_path, exe, t}; |
44 | @@ -658,19 +655,7 @@ | 45 | @@ -148,20 +146,7 @@ |
45 | SourceType::InTree, | 46 | &self.extra_features, |
46 | features.as_slice(), | ||
47 | ); | 47 | ); |
48 | - | 48 | |
49 | - // rustdoc is performance sensitive, so apply LTO to it. | 49 | - if path.ends_with("/rustdoc") && |
50 | - if is_lto_stage(&build_compiler) { | 50 | - // rustdoc is performance sensitive, so apply LTO to it. |
51 | - is_lto_stage(&self.compiler) | ||
52 | - { | ||
51 | - let lto = match builder.config.rust_lto { | 53 | - let lto = match builder.config.rust_lto { |
52 | - RustcLto::Off => Some("off"), | 54 | - RustcLto::Off => Some("off"), |
53 | - RustcLto::Thin => Some("thin"), | 55 | - RustcLto::Thin => Some("thin"), |
@@ -60,14 +62,14 @@ index 087df2f8a..00790affb 100644 | |||
60 | - } | 62 | - } |
61 | + cargo.rustflag("-Clto=off"); | 63 | + cargo.rustflag("-Clto=off"); |
62 | 64 | ||
63 | let _guard = builder.msg_tool( | 65 | if !self.allow_features.is_empty() { |
64 | Kind::Build, | 66 | cargo.allow_features(self.allow_features); |
65 | diff --git a/src/bootstrap/src/core/builder/mod.rs b/src/bootstrap/src/core/builder/mod.rs | 67 | diff --git a/src/bootstrap/src/core/builder/mod.rs b/src/bootstrap/src/core/builder/mod.rs |
66 | --- a/src/bootstrap/src/core/builder/mod.rs | 68 | --- a/src/bootstrap/src/core/builder/mod.rs |
67 | +++ b/src/bootstrap/src/core/builder/mod.rs | 69 | +++ b/src/bootstrap/src/core/builder/mod.rs |
68 | @@ -11,7 +11,7 @@ | 70 | @@ -13,7 +13,7 @@ |
69 | 71 | #[cfg(feature = "tracing")] | |
70 | use clap::ValueEnum; | 72 | use tracing::instrument; |
71 | 73 | ||
72 | -pub use self::cargo::{Cargo, cargo_profile_var}; | 74 | -pub use self::cargo::{Cargo, cargo_profile_var}; |
73 | +pub use self::cargo::Cargo; | 75 | +pub use self::cargo::Cargo; |
diff --git a/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch b/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch index bb27ca35ff..5bd1abffb4 100644 --- a/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch +++ b/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch | |||
@@ -22,10 +22,10 @@ index 11f363d62..c12d66016 100644 | |||
22 | +++ b/tests/ui/process/process-sigpipe.rs | 22 | +++ b/tests/ui/process/process-sigpipe.rs |
23 | @@ -23,7 +23,7 @@ use std::thread; | 23 | @@ -23,7 +23,7 @@ use std::thread; |
24 | fn main() { | 24 | fn main() { |
25 | // Just in case `yes` doesn't check for EPIPE... | 25 | // Just in case `yes` or `while-echo` doesn't check for EPIPE... |
26 | thread::spawn(|| { | 26 | thread::spawn(|| { |
27 | - thread::sleep_ms(5000); | 27 | - thread::sleep_ms(5000); |
28 | + thread::sleep_ms(50000); | 28 | + thread::sleep_ms(50000); |
29 | process::exit(1); | 29 | process::exit(1); |
30 | }); | 30 | }); |
31 | let output = process::Command::new("sh") | 31 | // QNX Neutrino does not have `yes`. Therefore, use `while-echo` for `nto` |
diff --git a/meta/recipes-devtools/rust/files/revert-link-std-statically-in-rustc_driver-feature.patch b/meta/recipes-devtools/rust/files/revert-link-std-statically-in-rustc_driver-feature.patch index 20a49d46dc..9bbbce0182 100644 --- a/meta/recipes-devtools/rust/files/revert-link-std-statically-in-rustc_driver-feature.patch +++ b/meta/recipes-devtools/rust/files/revert-link-std-statically-in-rustc_driver-feature.patch | |||
@@ -200,11 +200,10 @@ diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/c | |||
200 | index 27bbc8bd8f..a6fc4df2eb 100644 | 200 | index 27bbc8bd8f..a6fc4df2eb 100644 |
201 | --- a/src/bootstrap/src/core/build_steps/compile.rs | 201 | --- a/src/bootstrap/src/core/build_steps/compile.rs |
202 | +++ b/src/bootstrap/src/core/build_steps/compile.rs | 202 | +++ b/src/bootstrap/src/core/build_steps/compile.rs |
203 | @@ -1940,24 +1940,8 @@ impl Step for Assemble { | 203 | @@ -2158,23 +2158,7 @@ |
204 | let src_libdir = builder.sysroot_target_libdir(build_compiler, host); | ||
205 | for f in builder.read_dir(&src_libdir) { | 204 | for f in builder.read_dir(&src_libdir) { |
206 | let filename = f.file_name().into_string().unwrap(); | 205 | let filename = f.file_name().into_string().unwrap(); |
207 | - | 206 | |
208 | - let is_proc_macro = proc_macros.contains(&filename); | 207 | - let is_proc_macro = proc_macros.contains(&filename); |
209 | - let is_dylib_or_debug = is_dylib(&f.path()) || is_debug_info(&filename); | 208 | - let is_dylib_or_debug = is_dylib(&f.path()) || is_debug_info(&filename); |
210 | - | 209 | - |
@@ -214,8 +213,7 @@ index 27bbc8bd8f..a6fc4df2eb 100644 | |||
214 | - let can_be_rustc_dynamic_dep = if builder | 213 | - let can_be_rustc_dynamic_dep = if builder |
215 | - .link_std_into_rustc_driver(target_compiler.host) | 214 | - .link_std_into_rustc_driver(target_compiler.host) |
216 | - && !target_compiler.host.is_windows() | 215 | - && !target_compiler.host.is_windows() |
217 | + if (is_dylib(Path::new(&filename)) || is_debug_info(&filename)) && !proc_macros.contains(&filename) | 216 | - { |
218 | { | ||
219 | - let is_std = filename.starts_with("std-") || filename.starts_with("libstd-"); | 217 | - let is_std = filename.starts_with("std-") || filename.starts_with("libstd-"); |
220 | - !is_std | 218 | - !is_std |
221 | - } else { | 219 | - } else { |
@@ -223,6 +221,7 @@ index 27bbc8bd8f..a6fc4df2eb 100644 | |||
223 | - }; | 221 | - }; |
224 | - | 222 | - |
225 | - if is_dylib_or_debug && can_be_rustc_dynamic_dep && !is_proc_macro { | 223 | - if is_dylib_or_debug && can_be_rustc_dynamic_dep && !is_proc_macro { |
226 | builder.copy_link(&f.path(), &rustc_libdir.join(&filename)); | 224 | + if (is_dylib(Path::new(&filename)) || is_debug_info(&filename)) && !proc_macros.contains(&filename) { |
225 | builder.copy_link(&f.path(), &rustc_libdir.join(&filename), FileType::Regular); | ||
227 | } | 226 | } |
228 | } | 227 | } |
diff --git a/meta/recipes-devtools/rust/files/rust-oe-selftest.patch b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch index 49d85072cb..b7ef806e65 100644 --- a/meta/recipes-devtools/rust/files/rust-oe-selftest.patch +++ b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch | |||
@@ -47,61 +47,85 @@ diff --git a/library/std/tests/sync/rwlock.rs b/library/std/tests/sync/rwlock.rs | |||
47 | index 1a9d3d3f12f..0a9cfc48806 100644 | 47 | index 1a9d3d3f12f..0a9cfc48806 100644 |
48 | --- a/library/std/tests/sync/rwlock.rs | 48 | --- a/library/std/tests/sync/rwlock.rs |
49 | +++ b/library/std/tests/sync/rwlock.rs | 49 | +++ b/library/std/tests/sync/rwlock.rs |
50 | @@ -47,6 +47,7 @@ fn frob() { | 50 | @@ -74,6 +74,7 @@ |
51 | } | 51 | |
52 | |||
53 | #[test] | 52 | #[test] |
53 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
54 | +#[ignore] | 54 | +#[ignore] |
55 | fn test_rw_arc_poison_wr() { | 55 | fn test_rw_arc_poison_wr() { |
56 | let arc = Arc::new(RwLock::new(1)); | 56 | let arc = Arc::new(RwLock::new(1)); |
57 | let arc2 = arc.clone(); | 57 | let arc2 = arc.clone(); |
58 | @@ -72,6 +73,7 @@ fn test_rw_arc_poison_mapped_w_r() { | 58 | @@ -87,6 +88,7 @@ |
59 | } | 59 | |
60 | 60 | #[test] | |
61 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
62 | +#[ignore] | ||
63 | fn test_rw_arc_poison_mapped_w_r() { | ||
64 | let arc = Arc::new(RwLock::new(1)); | ||
65 | let arc2 = arc.clone(); | ||
66 | @@ -101,6 +103,7 @@ | ||
67 | |||
61 | #[test] | 68 | #[test] |
69 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
62 | +#[ignore] | 70 | +#[ignore] |
63 | fn test_rw_arc_poison_ww() { | 71 | fn test_rw_arc_poison_ww() { |
64 | let arc = Arc::new(RwLock::new(1)); | 72 | let arc = Arc::new(RwLock::new(1)); |
65 | assert!(!arc.is_poisoned()); | 73 | assert!(!arc.is_poisoned()); |
66 | @@ -100,6 +102,7 @@ fn test_rw_arc_poison_mapped_w_w() { | 74 | @@ -115,6 +118,7 @@ |
67 | } | 75 | } |
68 | 76 | ||
77 | #[test] | ||
78 | +#[ignore] | ||
79 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
80 | fn test_rw_arc_poison_mapped_w_w() { | ||
81 | let arc = Arc::new(RwLock::new(1)); | ||
82 | @@ -131,6 +135,7 @@ | ||
83 | |||
69 | #[test] | 84 | #[test] |
85 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
70 | +#[ignore] | 86 | +#[ignore] |
71 | fn test_rw_arc_no_poison_rr() { | 87 | fn test_rw_arc_no_poison_rr() { |
72 | let arc = Arc::new(RwLock::new(1)); | 88 | let arc = Arc::new(RwLock::new(1)); |
73 | let arc2 = arc.clone(); | 89 | let arc2 = arc.clone(); |
74 | @@ -127,6 +130,7 @@ fn test_rw_arc_no_poison_mapped_r_r() { | 90 | @@ -160,6 +165,7 @@ |
75 | } | 91 | |
76 | |||
77 | #[test] | 92 | #[test] |
93 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
78 | +#[ignore] | 94 | +#[ignore] |
79 | fn test_rw_arc_no_poison_rw() { | 95 | fn test_rw_arc_no_poison_rw() { |
80 | let arc = Arc::new(RwLock::new(1)); | 96 | let arc = Arc::new(RwLock::new(1)); |
81 | let arc2 = arc.clone(); | 97 | let arc2 = arc.clone(); |
82 | @@ -192,6 +196,7 @@ fn test_rw_arc() { | 98 | @@ -227,6 +233,7 @@ |
83 | } | 99 | |
84 | |||
85 | #[test] | 100 | #[test] |
101 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
86 | +#[ignore] | 102 | +#[ignore] |
87 | fn test_rw_arc_access_in_unwind() { | 103 | fn test_rw_arc_access_in_unwind() { |
88 | let arc = Arc::new(RwLock::new(1)); | 104 | let arc = Arc::new(RwLock::new(1)); |
89 | let arc2 = arc.clone(); | 105 | let arc2 = arc.clone(); |
90 | @@ -275,6 +280,7 @@ fn drop(&mut self) { | 106 | @@ -326,6 +333,7 @@ |
91 | } | 107 | |
92 | |||
93 | #[test] | 108 | #[test] |
109 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
94 | +#[ignore] | 110 | +#[ignore] |
95 | fn test_into_inner_poison() { | 111 | fn test_into_inner_poison() { |
96 | let m = new_poisoned_rwlock(NonCopy(10)); | 112 | let m = new_poisoned_rwlock(NonCopy(10)); |
97 | 113 | ||
98 | @@ -299,6 +305,7 @@ fn test_get_mut() { | 114 | @@ -362,6 +370,7 @@ |
99 | } | 115 | |
100 | |||
101 | #[test] | 116 | #[test] |
117 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
102 | +#[ignore] | 118 | +#[ignore] |
103 | fn test_get_mut_poison() { | 119 | fn test_get_mut_poison() { |
104 | let mut m = new_poisoned_rwlock(NonCopy(10)); | 120 | let mut m = new_poisoned_rwlock(NonCopy(10)); |
121 | |||
122 | @@ -567,6 +576,7 @@ | ||
123 | |||
124 | #[test] | ||
125 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
126 | +#[ignore] | ||
127 | fn panic_while_mapping_write_unlocked_poison() { | ||
128 | let lock = RwLock::new(()); | ||
105 | 129 | ||
106 | diff --git a/library/test/src/tests.rs b/library/test/src/tests.rs | 130 | diff --git a/library/test/src/tests.rs b/library/test/src/tests.rs |
107 | --- a/library/test/src/tests.rs | 131 | --- a/library/test/src/tests.rs |
@@ -117,52 +141,22 @@ diff --git a/library/test/src/tests.rs b/library/test/src/tests.rs | |||
117 | diff --git a/library/std/tests/sync/mutex.rs b/library/std/tests/sync/mutex.rs | 141 | diff --git a/library/std/tests/sync/mutex.rs b/library/std/tests/sync/mutex.rs |
118 | --- a/library/std/tests/sync/mutex.rs | 142 | --- a/library/std/tests/sync/mutex.rs |
119 | +++ b/library/std/tests/sync/mutex.rs | 143 | +++ b/library/std/tests/sync/mutex.rs |
120 | @@ -193,6 +193,7 @@ | 144 | @@ -312,6 +312,7 @@ |
121 | } | 145 | |
122 | |||
123 | #[test] | 146 | #[test] |
147 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
124 | +#[ignore] | 148 | +#[ignore] |
125 | fn test_mutex_arc_poison_mapped() { | 149 | fn test_mutex_arc_poison_mapped() { |
126 | let arc = Arc::new(Mutex::new(1)); | 150 | let arc = Arc::new(Mutex::new(1)); |
127 | assert!(!arc.is_poisoned()); | 151 | assert!(!arc.is_poisoned()); |
128 | diff --git a/library/std/tests/sync/mutex.rs b/library/std/tests/sync/mutex.rs | 152 | @@ -391,6 +392,7 @@ |
129 | --- a/library/std/tests/sync/mutex.rs | 153 | |
130 | +++ b/library/std/tests/sync/mutex.rs | ||
131 | @@ -272,6 +272,7 @@ | ||
132 | } | ||
133 | |||
134 | #[test] | 154 | #[test] |
155 | #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")] | ||
135 | +#[ignore] | 156 | +#[ignore] |
136 | fn panic_while_mapping_unlocked_poison() { | 157 | fn panic_while_mapping_unlocked_poison() { |
137 | let lock = Mutex::new(()); | 158 | let lock = Mutex::new(()); |
138 | 159 | ||
139 | diff --git a/library/std/src/sync/rwlock/tests.rs b/library/std/tests/sync/rwlock.rs | ||
140 | --- a/library/std/tests/sync/rwlock.rs | ||
141 | +++ b/library/std/tests/sync/rwlock.rs | ||
142 | @@ -59,6 +59,7 @@ fn test_rw_arc_poison_wr() { | ||
143 | } | ||
144 | |||
145 | #[test] | ||
146 | +#[ignore] | ||
147 | fn test_rw_arc_poison_mapped_w_r() { | ||
148 | let arc = Arc::new(RwLock::new(1)); | ||
149 | let arc2 = arc.clone(); | ||
150 | @@ -86,6 +87,7 @@ fn test_rw_arc_poison_ww() { | ||
151 | } | ||
152 | |||
153 | #[test] | ||
154 | +#[ignore] | ||
155 | fn test_rw_arc_poison_mapped_w_w() { | ||
156 | let arc = Arc::new(RwLock::new(1)); | ||
157 | let arc2 = arc.clone(); | ||
158 | @@ -431,6 +433,7 @@ fn panic_while_mapping_read_unlocked_no_poison() { | ||
159 | } | ||
160 | |||
161 | #[test] | ||
162 | +#[ignore] | ||
163 | fn panic_while_mapping_write_unlocked_poison() { | ||
164 | let lock = RwLock::new(()); | ||
165 | |||
166 | diff --git a/library/coretests/benches/num/int_log/mod.rs b/library/coretests/benches/num/int_log/mod.rs | 160 | diff --git a/library/coretests/benches/num/int_log/mod.rs b/library/coretests/benches/num/int_log/mod.rs |
167 | index 3807cd5d76c..018c5c04456 100644 | 161 | index 3807cd5d76c..018c5c04456 100644 |
168 | --- a/library/coretests/benches/num/int_log/mod.rs | 162 | --- a/library/coretests/benches/num/int_log/mod.rs |
@@ -199,10 +193,10 @@ index 9d4f52a092..d425e5f7b7 100644 | |||
199 | fn thread_current_in_dtor() { | 193 | fn thread_current_in_dtor() { |
200 | // Go through one round of TLS destruction first. | 194 | // Go through one round of TLS destruction first. |
201 | struct Defer; | 195 | struct Defer; |
202 | diff --git a/library/alloc/tests/sort/tests.rs b/library/alloc/tests/sort/tests.rs | 196 | diff --git a/library/alloctests/tests/sort/tests.rs b/library/alloctests/tests/sort/tests.rs |
203 | index 14e6013f96..b670f27ab4 100644 | 197 | index 14e6013f96..b670f27ab4 100644 |
204 | --- a/library/alloc/tests/sort/tests.rs | 198 | --- a/library/alloctests/tests/sort/tests.rs |
205 | +++ b/library/alloc/tests/sort/tests.rs | 199 | +++ b/library/alloctests/tests/sort/tests.rs |
206 | @@ -915,12 +915,14 @@ gen_sort_test_fns_with_default_patterns_3_ty!( | 200 | @@ -915,12 +915,14 @@ gen_sort_test_fns_with_default_patterns_3_ty!( |
207 | macro_rules! instantiate_sort_test_inner { | 201 | macro_rules! instantiate_sort_test_inner { |
208 | ($sort_impl:ty, miri_yes, $test_fn_name:ident) => { | 202 | ($sort_impl:ty, miri_yes, $test_fn_name:ident) => { |
@@ -234,10 +228,10 @@ diff --git a/tests/assembly/dwarf-mixed-versions-lto.rs b/tests/assembly/dwarf-m | |||
234 | index 5b8e5ff4f4a..e558fbd7bd7 100644 | 228 | index 5b8e5ff4f4a..e558fbd7bd7 100644 |
235 | --- a/tests/assembly/dwarf-mixed-versions-lto.rs | 229 | --- a/tests/assembly/dwarf-mixed-versions-lto.rs |
236 | +++ b/tests/assembly/dwarf-mixed-versions-lto.rs | 230 | +++ b/tests/assembly/dwarf-mixed-versions-lto.rs |
237 | @@ -1,6 +1,11 @@ | 231 | @@ -2,6 +2,11 @@ |
238 | // This test ensures that if LTO occurs between crates with different DWARF versions, we | ||
239 | // will choose the highest DWARF version for the final binary. This matches Clang's behavior. | 232 | // will choose the highest DWARF version for the final binary. This matches Clang's behavior. |
240 | 233 | // Note: `.2byte` directive is used on MIPS. | |
234 | |||
241 | +//@ only-x86 | 235 | +//@ only-x86 |
242 | +//@ only-x86_64 | 236 | +//@ only-x86_64 |
243 | +//@ only-arm | 237 | +//@ only-arm |
@@ -259,3 +253,30 @@ index 0e712bc3a4e..93965d990d0 100644 | |||
259 | //@ revisions: OPT2 OPT3 | 253 | //@ revisions: OPT2 OPT3 |
260 | //@[OPT2] compile-flags: -Copt-level=2 | 254 | //@[OPT2] compile-flags: -Copt-level=2 |
261 | //@[OPT3] compile-flags: -C opt-level=3 | 255 | //@[OPT3] compile-flags: -C opt-level=3 |
256 | diff --git a/tests/codegen/uninhabited-transparent-return-abi.rs b/tests/codegen/uninhabited-transparent-return-abi.rs | ||
257 | index face1577c3f..d69e5e34a7b 100644 | ||
258 | --- a/tests/codegen/uninhabited-transparent-return-abi.rs | ||
259 | +++ b/tests/codegen/uninhabited-transparent-return-abi.rs | ||
260 | @@ -1,4 +1,8 @@ | ||
261 | //@ compile-flags: -Copt-level=3 | ||
262 | +//@ only-x86 | ||
263 | +//@ only-x86_64 | ||
264 | +//@ only-arm | ||
265 | +//@ only-aarch64 | ||
266 | |||
267 | // See https://github.com/rust-lang/rust/issues/135802 | ||
268 | |||
269 | diff --git a/tests/ui/abi/rust-cold-works-with-rustic-args.rs b/tests/ui/abi/rust-cold-works-with-rustic-args.rs | ||
270 | index 57027364699..3faa7ea035e 100644 | ||
271 | --- a/tests/ui/abi/rust-cold-works-with-rustic-args.rs | ||
272 | +++ b/tests/ui/abi/rust-cold-works-with-rustic-args.rs | ||
273 | @@ -1,5 +1,9 @@ | ||
274 | //@build-pass | ||
275 | //@compile-flags: -Clink-dead-code=true --crate-type lib | ||
276 | +//@ only-x86 | ||
277 | +//@ only-x86_64 | ||
278 | +//@ only-arm | ||
279 | +//@ only-aarch64 | ||
280 | // We used to not handle all "rustic" ABIs in a (relatively) uniform way, | ||
281 | // so we failed to fix up arguments for actually passing through the ABI... | ||
282 | #![feature(rust_cold_cc)] | ||
diff --git a/meta/recipes-devtools/rust/files/triagebot.patch b/meta/recipes-devtools/rust/files/triagebot.patch new file mode 100644 index 0000000000..715664d081 --- /dev/null +++ b/meta/recipes-devtools/rust/files/triagebot.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | Skip tidy triagebot linkcheck if triagebot.toml doesn't exist | ||
2 | |||
3 | Distribution tarballs won't include triagebot.toml, which | ||
4 | causes tidy checks to fail with the following error: | ||
5 | |||
6 | tidy error: triagebot.toml file not found | ||
7 | some tidy checks failed | ||
8 | |||
9 | Drop the triagebot.toml check which is mostly to catch broken | ||
10 | path filters *within* `triagebot.toml` and not enforce | ||
11 | the existence of it. | ||
12 | |||
13 | Upstream-Status: Backport [https://github.com/rust-lang/rust/pull/142666/commits] | ||
14 | |||
15 | Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> | ||
16 | --- | ||
17 | diff --git a/src/tools/tidy/src/triagebot.rs b/src/tools/tidy/src/triagebot.rs | ||
18 | --- a/src/tools/tidy/src/triagebot.rs | ||
19 | +++ b/src/tools/tidy/src/triagebot.rs | ||
20 | @@ -6,8 +6,11 @@ | ||
21 | |||
22 | pub fn check(path: &Path, bad: &mut bool) { | ||
23 | let triagebot_path = path.join("triagebot.toml"); | ||
24 | + | ||
25 | + // This check is mostly to catch broken path filters *within* `triagebot.toml`, and not enforce | ||
26 | + // the existence of `triagebot.toml` itself (which is more obvious), as distribution tarballs | ||
27 | + // will not include non-essential bits like `triagebot.toml`. | ||
28 | if !triagebot_path.exists() { | ||
29 | - tidy_error!(bad, "triagebot.toml file not found"); | ||
30 | return; | ||
31 | } | ||
32 | |||
diff --git a/meta/recipes-devtools/rust/libstd-rs_1.86.0.bb b/meta/recipes-devtools/rust/libstd-rs_1.87.0.bb index b39ec0ab39..b39ec0ab39 100644 --- a/meta/recipes-devtools/rust/libstd-rs_1.86.0.bb +++ b/meta/recipes-devtools/rust/libstd-rs_1.87.0.bb | |||
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian.inc b/meta/recipes-devtools/rust/rust-cross-canadian.inc index 09e1b911a2..df8b78d326 100644 --- a/meta/recipes-devtools/rust/rust-cross-canadian.inc +++ b/meta/recipes-devtools/rust/rust-cross-canadian.inc | |||
@@ -13,8 +13,7 @@ DEPENDS += "virtual/nativesdk-cross-cc virtual/nativesdk-libc virtual/nativesdk- | |||
13 | 13 | ||
14 | SRC_URI += "file://target-rust-ccld.c" | 14 | SRC_URI += "file://target-rust-ccld.c" |
15 | LIC_FILES_CHKSUM = "file://target-rust-ccld.c;md5=af4e0e29f81a34cffe05aa07c89e93e9;endline=7" | 15 | LIC_FILES_CHKSUM = "file://target-rust-ccld.c;md5=af4e0e29f81a34cffe05aa07c89e93e9;endline=7" |
16 | S = "${WORKDIR}/sources" | 16 | S = "${UNPACKDIR}" |
17 | UNPACKDIR = "${S}" | ||
18 | 17 | ||
19 | # Need to use our SDK's sh here, see #14878 | 18 | # Need to use our SDK's sh here, see #14878 |
20 | create_sdk_wrapper () { | 19 | create_sdk_wrapper () { |
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian_1.86.0.bb b/meta/recipes-devtools/rust/rust-cross-canadian_1.87.0.bb index 55865238ab..55865238ab 100644 --- a/meta/recipes-devtools/rust/rust-cross-canadian_1.86.0.bb +++ b/meta/recipes-devtools/rust/rust-cross-canadian_1.87.0.bb | |||
diff --git a/meta/recipes-devtools/rust/rust-llvm_1.86.0.bb b/meta/recipes-devtools/rust/rust-llvm_1.87.0.bb index 327e8e6b69..d70aa350ab 100644 --- a/meta/recipes-devtools/rust/rust-llvm_1.86.0.bb +++ b/meta/recipes-devtools/rust/rust-llvm_1.87.0.bb | |||
@@ -2,9 +2,9 @@ SUMMARY = "LLVM compiler framework (packaged with rust)" | |||
2 | LICENSE ?= "Apache-2.0-with-LLVM-exception" | 2 | LICENSE ?= "Apache-2.0-with-LLVM-exception" |
3 | HOMEPAGE = "http://www.rust-lang.org" | 3 | HOMEPAGE = "http://www.rust-lang.org" |
4 | 4 | ||
5 | # check src/llvm-project/cmake/Modules/LLVMVersion.cmake for llvm version in use | 5 | # check src/llvm-project/llvm/CMakeLists.txt for llvm version in use |
6 | # | 6 | # |
7 | LLVM_RELEASE = "19.1.7" | 7 | LLVM_RELEASE = "20.1.1" |
8 | 8 | ||
9 | require rust-source.inc | 9 | require rust-source.inc |
10 | 10 | ||
diff --git a/meta/recipes-devtools/rust/rust-snapshot.inc b/meta/recipes-devtools/rust/rust-snapshot.inc index 445390fcaf..87b39a2cc2 100644 --- a/meta/recipes-devtools/rust/rust-snapshot.inc +++ b/meta/recipes-devtools/rust/rust-snapshot.inc | |||
@@ -4,56 +4,56 @@ | |||
4 | ## The exact (previous) version that has been used is specified in the source tarball. | 4 | ## The exact (previous) version that has been used is specified in the source tarball. |
5 | ## The version is replicated here. | 5 | ## The version is replicated here. |
6 | 6 | ||
7 | SNAPSHOT_VERSION = "1.85.0" | 7 | SNAPSHOT_VERSION = "1.86.0" |
8 | 8 | ||
9 | SRC_URI[rustc-snapshot-aarch64.sha256sum] = "e742b768f67303010b002b515f6613c639e69ffcc78cd0857d6fe7989e9880f6" | 9 | SRC_URI[rustc-snapshot-aarch64.sha256sum] = "ccece9e59546d2e6ff3fc3b8f4b033aab21631c271eefbe814b3cbace6628c6e" |
10 | SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "8af1d793f7820e9ad0ee23247a9123542c3ea23f8857a018651c7788af9bc5b7" | 10 | SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "176129577a5d560bbd94bcd2d24c0228bb495b73219df02556b4e4b4f0815bf7" |
11 | SRC_URI[cargo-snapshot-aarch64.sha256sum] = "cdebe48b066d512d664c13441e8fae2d0f67106c2080aa44289d98b24192b8bc" | 11 | SRC_URI[cargo-snapshot-aarch64.sha256sum] = "37156542b702e8b4ffd1c5c75017632582343e93ca378285cdc92196c85c77e3" |
12 | SRC_URI[clippy-snapshot-aarch64.sha256sum] = "f3b8e769021a6bcee8174ac49a60c367effb6d97af0f2a6c44dc9ea39ff2bda9" | 12 | SRC_URI[clippy-snapshot-aarch64.sha256sum] = "e70edcf560e6b50861618d7045d2b38cae9e2a555f489062570e2e7041563f42" |
13 | 13 | ||
14 | SRC_URI[rustc-snapshot-i686.sha256sum] = "c5a5751f3cfa027b53fee83d01dec8e555f3622b6993335aed12b1747aa9543c" | 14 | SRC_URI[rustc-snapshot-i686.sha256sum] = "976f4604d949d722738a9fe95313035226571128396e942b0fc678180be487b0" |
15 | SRC_URI[rust-std-snapshot-i686.sha256sum] = "401571adfe1223d83ed041e5a8c54c1f3afb3010d1d5b0c1fd79e7da1ab0a0de" | 15 | SRC_URI[rust-std-snapshot-i686.sha256sum] = "ce9f0fa4b0760730e26bf315cebe099f0b883436e095c5fc4b94ba20bd9f121a" |
16 | SRC_URI[cargo-snapshot-i686.sha256sum] = "3832027242911ab96fd86128587fc563596a5b10e8e38a073facf61c1ac9668f" | 16 | SRC_URI[cargo-snapshot-i686.sha256sum] = "24f20bdc1bb14f4ffbdc2f540488bebc3340437418725c3162215ae03cdad480" |
17 | SRC_URI[clippy-snapshot-i686.sha256sum] = "74ed13a67c6ea0452c0d9e8697c6cfdd8280f983b207187ac93c287f72b65066" | 17 | SRC_URI[clippy-snapshot-i686.sha256sum] = "6788449fa0eceebe4ea8c797bbaf27495dad152087b3085d58dc05cacab0617a" |
18 | 18 | ||
19 | SRC_URI[rustc-snapshot-loongarch64.sha256sum] = "d43d2119ff25d879b2d280d3e5a03fcd21c57a32d479ad5626500c32432f18c9" | 19 | SRC_URI[rustc-snapshot-loongarch64.sha256sum] = "970089ad61f8ca82017b59444aee483c1fc005e3f7a6af63cd5f146df8287cce" |
20 | SRC_URI[rust-std-snapshot-loongarch64.sha256sum] = "2d05f5e13e7cb3ee6b0ca0dcd13a231a28eeb0faa4d15257a35cf7284149cd6a" | 20 | SRC_URI[rust-std-snapshot-loongarch64.sha256sum] = "2f528377f57fbf81da35e2f08ec7ba50daddabebdce2cc86b6ec909fee157a33" |
21 | SRC_URI[cargo-snapshot-loongarch64.sha256sum] = "9aa447eefcd3ba2f9dbab77596c8669849899ab243543fc8f1914089707081ac" | 21 | SRC_URI[cargo-snapshot-loongarch64.sha256sum] = "c3b8ab03b64c824f2ea25db578b5760d44302be3fd1e4a78404c98cba39301f4" |
22 | SRC_URI[clippy-snapshot-loongarch64.sha256sum] = "d437b39465343a71ff475a65acb6c03bc0f800861f293f48accf1fa170458432" | 22 | SRC_URI[clippy-snapshot-loongarch64.sha256sum] = "1ab711423497a1d02408a240da28ad366450574dd7f528ffaee80d1d5ed10550" |
23 | 23 | ||
24 | SRC_URI[rustc-snapshot-powerpc.sha256sum] = "fbe7154abc641d6cacfdc6239ed4701fc7a09b5046c6d1bd209b59e7f2b2d0f0" | 24 | SRC_URI[rustc-snapshot-powerpc.sha256sum] = "21ea61181ba7daa04f61bec6a295ad76ce34bfbd74ad1d679c4548977bd82eb9" |
25 | SRC_URI[rust-std-snapshot-powerpc.sha256sum] = "ab2d5ac7cd295adaa4d959e8abbf42b372292c95d1a9f18aad64951ad6e2ab2b" | 25 | SRC_URI[rust-std-snapshot-powerpc.sha256sum] = "e5ed58a861619bcc89fc3f969174c84fd6ed8a26b5d4b196f06efb868653c1c1" |
26 | SRC_URI[cargo-snapshot-powerpc.sha256sum] = "e67c30a72f969c51ad199084b3ce0cdc573a4e21f732b2cc39dafbcb9807a5ce" | 26 | SRC_URI[cargo-snapshot-powerpc.sha256sum] = "fd832c269af81dd1ee9f3831991fccdc2c7312e9a9069908510eefe7c313d144" |
27 | SRC_URI[clippy-snapshot-powerpc.sha256sum] = "497104d49803598cd3801749ac86cb26c88a2bd9c3a8c7bdc18fdf487f4650c0" | 27 | SRC_URI[clippy-snapshot-powerpc.sha256sum] = "c94578d31e4145a4169ab5761537a2a0133818278fb62ee76251ef8ef45228c8" |
28 | 28 | ||
29 | SRC_URI[rustc-snapshot-powerpc64.sha256sum] = "f8e38291ba4241bc28e9c118d7a449ce3601abdeb2076f2f618858679fb3b929" | 29 | SRC_URI[rustc-snapshot-powerpc64.sha256sum] = "a54bbe16e6a405f137a0dc51fd570140c80077ba769d29d885a60e74cb3196bb" |
30 | SRC_URI[rust-std-snapshot-powerpc64.sha256sum] = "e9ff89e759125ad2786ad2f6c40e820095720ea00fba66819d15fba79489430a" | 30 | SRC_URI[rust-std-snapshot-powerpc64.sha256sum] = "06538b41a9351c449d215498d4ec2f072f728bd18df8fac7ef8534a0d0f34e27" |
31 | SRC_URI[cargo-snapshot-powerpc64.sha256sum] = "73cf850f6715acbf0029c7e5d4694825f61bd4e193e6413e65a78bcb13df97b7" | 31 | SRC_URI[cargo-snapshot-powerpc64.sha256sum] = "4d398cd8da17d1a5f26734b39cb17e791b243ac3570f8da2e5e5580a9dfad578" |
32 | SRC_URI[clippy-snapshot-powerpc64.sha256sum] = "29b63f23cd9af95846a246c9cc8349e514c3fb92ec0c840a38155e252d6cc668" | 32 | SRC_URI[clippy-snapshot-powerpc64.sha256sum] = "0abf31a8cb2762a7a81dbee8a5798e43e11a83326711ce00ad16c5587bcf5e49" |
33 | 33 | ||
34 | SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "371e40f9d6d82aecb056f70f82868d98ddc1c20510aa7d388442ac8d2d86a6ca" | 34 | SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "7585a20b02b7dd497e393a2e7552a0c6aabb51556fcf7507c6f7ffde530f8c88" |
35 | SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "d0cfda4e18623d17922eb367e44ac9549ab3d5fe1c0bdbe0c2c95754255fa705" | 35 | SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "fcf940c0553a04cb9bd85cce524729c2f54b000b554fee95c7aa218d608b7e3d" |
36 | SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "e1469f4249a7e21f872af487dcd1bd10ce388b5b3679bdab0cb0965e1e30fe47" | 36 | SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "8fefd2317023716a018986c4a62558a7b543ccf34e4e6d1104afc66edcae1c9c" |
37 | SRC_URI[clippy-snapshot-powerpc64le.sha256sum] = "d8c590bc2e6fc75800e41516427f5095ba0e15d7633167689499fcf6523dc61a" | 37 | SRC_URI[clippy-snapshot-powerpc64le.sha256sum] = "8cc65649396ccad73cecd17b972ab8d4c34837136cf374425be63d697b541469" |
38 | 38 | ||
39 | SRC_URI[rustc-snapshot-riscv64gc.sha256sum] = "2da33044f17a8bc49a1478dc1eb2536df491a44d6e6bb0ec7c86f46877d44e98" | 39 | SRC_URI[rustc-snapshot-riscv64gc.sha256sum] = "4d1106b576221182f84412f3377a5148eab6950d20e45e4274cd8b58df46f26b" |
40 | SRC_URI[rust-std-snapshot-riscv64gc.sha256sum] = "0f5ecfe54859bbe715821f982b1a5396784fdf55605d00ece05d3e57a965ed16" | 40 | SRC_URI[rust-std-snapshot-riscv64gc.sha256sum] = "b28b9c2f183521a204f2899610253c11c86ee4aa903fe66d8410dfaa22c926e6" |
41 | SRC_URI[cargo-snapshot-riscv64gc.sha256sum] = "c9f28b519799fc2d8089865e30fad04bb5339604d13725365fcd7ad7ee6c1489" | 41 | SRC_URI[cargo-snapshot-riscv64gc.sha256sum] = "7825556908e10a48320cfb2d812851271d7cf549977173e028a0dd23af9d7eac" |
42 | SRC_URI[clippy-snapshot-riscv64gc.sha256sum] = "9d21bc180196bccdb301e7e03034d3fd0df14b0c6520da0317bba7b1ce385fe8" | 42 | SRC_URI[clippy-snapshot-riscv64gc.sha256sum] = "c39c53a82fdaaa97413728a4f3f9feb5b31bdf3e3e563c64651bd01713e79166" |
43 | 43 | ||
44 | SRC_URI[rustc-snapshot-s390x.sha256sum] = "308361737ed522aa77dd8b4ea91b5db244113ada5fa234d3ed008b526d07e2e8" | 44 | SRC_URI[rustc-snapshot-s390x.sha256sum] = "18caf22fbfc4d26c80b39b4c6b1cd5fb42dba3e32d5d3600c22eae6f688d7f4c" |
45 | SRC_URI[rust-std-snapshot-s390x.sha256sum] = "d25053fbee1a0cb899bac8c8e4968aa35f9c3637e486cb5bb2c79ad43a78f3e7" | 45 | SRC_URI[rust-std-snapshot-s390x.sha256sum] = "3919f6962d0aefdd2cd75d8dba749ed826936065b64c9a8d54d1d85c2685fd66" |
46 | SRC_URI[cargo-snapshot-s390x.sha256sum] = "7e1defd60095c91ded1612194f811ec5f2fc2e83bb914d35594d01fa3c54049d" | 46 | SRC_URI[cargo-snapshot-s390x.sha256sum] = "1c6eb1be254574881a611a3b8904cdcfe43c79a285875673e59c890dcd5766c2" |
47 | SRC_URI[clippy-snapshot-s390x.sha256sum] = "9780d8c4cfef9d05460b3e540aad142391b2e3994accf8cfc8afb87fefac6cf0" | 47 | SRC_URI[clippy-snapshot-s390x.sha256sum] = "c87183b52ddb4085ddf2524a775fd255d5fd11ad2fdd6424574f08750a8cf378" |
48 | 48 | ||
49 | SRC_URI[rustc-snapshot-x86_64.sha256sum] = "7436f13797475082cd87aa65547449e01659d6a810b4cd5f8aedc48bb9f89dfb" | 49 | SRC_URI[rustc-snapshot-x86_64.sha256sum] = "4438b809ce4a083af31ed17aeeedcc8fc60ccffc0625bef1926620751b6989d7" |
50 | SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "285e105d25ebdf501341238d4c0594ecdda50ec9078f45095f793a736b1f1ac2" | 50 | SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "67be7184ea388d8ce0feaf7fdea46f1775cfc2970930264343b3089898501d37" |
51 | SRC_URI[cargo-snapshot-x86_64.sha256sum] = "0aff33b57b0e0b102d762a2b53042846c1ca346cff4b7bd96b5c03c9e8e51d81" | 51 | SRC_URI[cargo-snapshot-x86_64.sha256sum] = "c5c1590f7e9246ad9f4f97cfe26ffa92707b52a769726596a9ef81565ebd908b" |
52 | SRC_URI[clippy-snapshot-x86_64.sha256sum] = "0dc3ca1708a6c9eed05d0802364377572b79ff079815b7bcbe8e3991f77c4117" | 52 | SRC_URI[clippy-snapshot-x86_64.sha256sum] = "02aaff2c1407d2da8dba19aa4970dd873e311902b120a66cbcdbe51eb8836edf" |
53 | 53 | ||
54 | SRC_URI[rust-std-snapshot-i586.sha256sum] = "3cb7318da10876de14076549d79410a8441923a92d62b616d8c105f5f5cd831b" | 54 | SRC_URI[rust-std-snapshot-i586.sha256sum] = "f0bddc6dba7d719b8ba131bcd634a8379e00fc825a51c0f17abf424c9cb5c052" |
55 | 55 | ||
56 | SRC_URI[rust-std-snapshot-sparc64.sha256sum] = "65cd47af46a5b74e61ff6ae4cce8a979ee8670a57b8aa61e732828d1da073f73" | 56 | SRC_URI[rust-std-snapshot-sparc64.sha256sum] = "722238ae13e6e101d1b698d2b3a7915d59bb7f485b594e8d833cce8b9460383b" |
57 | 57 | ||
58 | SRC_URI += " \ | 58 | SRC_URI += " \ |
59 | ${RUST_DIST_SERVER}/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \ | 59 | ${RUST_DIST_SERVER}/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \ |
diff --git a/meta/recipes-devtools/rust/rust-source.inc b/meta/recipes-devtools/rust/rust-source.inc index f9c1fcd1c8..ed15d9c763 100644 --- a/meta/recipes-devtools/rust/rust-source.inc +++ b/meta/recipes-devtools/rust/rust-source.inc | |||
@@ -9,10 +9,11 @@ SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;n | |||
9 | file://revert-link-std-statically-in-rustc_driver-feature.patch;patchdir=${RUSTSRC} \ | 9 | file://revert-link-std-statically-in-rustc_driver-feature.patch;patchdir=${RUSTSRC} \ |
10 | file://0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch;patchdir=${RUSTSRC} \ | 10 | file://0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch;patchdir=${RUSTSRC} \ |
11 | file://0001-Disable-libunwind-cross-architecture-unwinding.patch;patchdir=${RUSTSRC} \ | 11 | file://0001-Disable-libunwind-cross-architecture-unwinding.patch;patchdir=${RUSTSRC} \ |
12 | file://triagebot.patch;patchdir=${RUSTSRC} \ | ||
12 | " | 13 | " |
13 | SRC_URI[rust.sha256sum] = "d939eada065dc827a9d4dbb55bd48533ad14c16e7f0a42e70147029c82a7707b" | 14 | SRC_URI[rust.sha256sum] = "8623b8651893e8c6aebfa45b6a90645a4f652f7b18189a0992a90d11ac2631f4" |
14 | 15 | ||
15 | RUSTSRC = "${WORKDIR}/rustc-${RUST_VERSION}-src" | 16 | RUSTSRC = "${UNPACKDIR}/rustc-${RUST_VERSION}-src" |
16 | 17 | ||
17 | UPSTREAM_CHECK_URI = "https://forge.rust-lang.org/infra/other-installation-methods.html" | 18 | UPSTREAM_CHECK_URI = "https://forge.rust-lang.org/infra/other-installation-methods.html" |
18 | UPSTREAM_CHECK_REGEX = "rustc-(?P<pver>\d+(\.\d+)+)-src" | 19 | UPSTREAM_CHECK_REGEX = "rustc-(?P<pver>\d+(\.\d+)+)-src" |
diff --git a/meta/recipes-devtools/rust/rust_1.86.0.bb b/meta/recipes-devtools/rust/rust_1.87.0.bb index c2443fbb15..5d804c7398 100644 --- a/meta/recipes-devtools/rust/rust_1.86.0.bb +++ b/meta/recipes-devtools/rust/rust_1.87.0.bb | |||
@@ -7,13 +7,13 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=11a3899825f4376896e438c8c753f8dc" | |||
7 | inherit rust | 7 | inherit rust |
8 | inherit cargo_common | 8 | inherit cargo_common |
9 | 9 | ||
10 | DEPENDS += "rust-llvm pkgconfig-native openssl ninja-native" | 10 | DEPENDS += "rust-llvm" |
11 | # native rust uses cargo/rustc from binary snapshots to bootstrap | 11 | # native rust uses cargo/rustc from binary snapshots to bootstrap |
12 | # but everything else should use our native builds | 12 | # but everything else should use our native builds |
13 | DEPENDS:append:class-target = " cargo-native rust-native" | 13 | DEPENDS:append:class-target = " cargo-native rust-native" |
14 | DEPENDS:append:class-nativesdk = " cargo-native rust-native" | 14 | DEPENDS:append:class-nativesdk = " cargo-native rust-native" |
15 | 15 | ||
16 | RDEPENDS:${PN}:append:class-target = " gcc g++ binutils bash" | 16 | RDEPENDS:${PN}:append:class-target = " gcc g++ binutils" |
17 | 17 | ||
18 | # Otherwise we'll depend on what we provide | 18 | # Otherwise we'll depend on what we provide |
19 | INHIBIT_DEFAULT_RUST_DEPS:class-native = "1" | 19 | INHIBIT_DEFAULT_RUST_DEPS:class-native = "1" |
@@ -237,11 +237,10 @@ do_test_compile () { | |||
237 | 237 | ||
238 | ALLOW_EMPTY:${PN} = "1" | 238 | ALLOW_EMPTY:${PN} = "1" |
239 | 239 | ||
240 | PACKAGES =+ "${PN}-rustdoc ${PN}-tools-clippy ${PN}-tools-rustfmt ${PN}-zsh-completion" | 240 | PACKAGES =+ "${PN}-rustdoc ${PN}-tools-clippy ${PN}-tools-rustfmt" |
241 | FILES:${PN}-rustdoc = "${bindir}/rustdoc" | 241 | FILES:${PN}-rustdoc = "${bindir}/rustdoc" |
242 | FILES:${PN}-tools-clippy = "${bindir}/cargo-clippy ${bindir}/clippy-driver" | 242 | FILES:${PN}-tools-clippy = "${bindir}/cargo-clippy ${bindir}/clippy-driver" |
243 | FILES:${PN}-tools-rustfmt = "${bindir}/rustfmt" | 243 | FILES:${PN}-tools-rustfmt = "${bindir}/rustfmt" |
244 | FILES:${PN}-zsh-completion = "${datadir}/zsh" | ||
245 | 244 | ||
246 | RDEPENDS:${PN}-rustdoc = "${PN}" | 245 | RDEPENDS:${PN}-rustdoc = "${PN}" |
247 | RDEPENDS:${PN}-tools-clippy = "${PN}" | 246 | RDEPENDS:${PN}-tools-clippy = "${PN}" |
@@ -258,10 +257,6 @@ rust_do_install() { | |||
258 | rust_runx install | 257 | rust_runx install |
259 | } | 258 | } |
260 | 259 | ||
261 | rust_do_install:append:class-native () { | ||
262 | rm -f ${D}${bindir}/cargo | ||
263 | } | ||
264 | |||
265 | rust_do_install:class-nativesdk() { | 260 | rust_do_install:class-nativesdk() { |
266 | export PSEUDO_UNLOAD=1 | 261 | export PSEUDO_UNLOAD=1 |
267 | rust_runx install | 262 | rust_runx install |
@@ -271,7 +266,7 @@ rust_do_install:class-nativesdk() { | |||
271 | 266 | ||
272 | install -d ${D}${bindir} | 267 | install -d ${D}${bindir} |
273 | for i in cargo-clippy clippy-driver rustfmt; do | 268 | for i in cargo-clippy clippy-driver rustfmt; do |
274 | cp build/${RUST_BUILD_SYS}/stage2-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir} | 269 | cp build/${RUST_BUILD_SYS}/stage1-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir} |
275 | patchelf --set-rpath "\$ORIGIN/../lib" ${D}${bindir}/$i | 270 | patchelf --set-rpath "\$ORIGIN/../lib" ${D}${bindir}/$i |
276 | done | 271 | done |
277 | 272 | ||
@@ -306,7 +301,7 @@ rust_do_install:class-target() { | |||
306 | 301 | ||
307 | install -d ${D}${bindir} | 302 | install -d ${D}${bindir} |
308 | for i in ${EXTRA_TOOLS}; do | 303 | for i in ${EXTRA_TOOLS}; do |
309 | cp build/${RUST_BUILD_SYS}/stage2-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir} | 304 | cp build/${RUST_BUILD_SYS}/stage1-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir} |
310 | patchelf --set-rpath "\$ORIGIN/../lib" ${D}${bindir}/$i | 305 | patchelf --set-rpath "\$ORIGIN/../lib" ${D}${bindir}/$i |
311 | done | 306 | done |
312 | 307 | ||
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.7.bb b/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.7.bb index 930439e2d2..8006f80aee 100644 --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.7.bb +++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.7.bb | |||
@@ -12,8 +12,6 @@ SRCREV = "2e87d42ed089dc31990d83eeb07437b9d085d6d1" | |||
12 | 12 | ||
13 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" | 13 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" | 15 | EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" |
18 | 16 | ||
19 | PACKAGECONFIG ??= "gzip lz4 xz zstd xattr" | 17 | PACKAGECONFIG ??= "gzip lz4 xz zstd xattr" |
diff --git a/meta/recipes-devtools/strace/strace_6.15.bb b/meta/recipes-devtools/strace/strace_6.15.bb index 2093c92eb3..fdc79bcf85 100644 --- a/meta/recipes-devtools/strace/strace_6.15.bb +++ b/meta/recipes-devtools/strace/strace_6.15.bb | |||
@@ -17,7 +17,6 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/strace-${PV}.tar.xz \ | |||
17 | " | 17 | " |
18 | SRC_URI[sha256sum] = "8552dfab08abc22a0f2048c98fd9541fd4d71b6882507952780dab7c7c512f51" | 18 | SRC_URI[sha256sum] = "8552dfab08abc22a0f2048c98fd9541fd4d71b6882507952780dab7c7c512f51" |
19 | 19 | ||
20 | |||
21 | inherit autotools github-releases ptest | 20 | inherit autotools github-releases ptest |
22 | 21 | ||
23 | # Not yet ported to rv32 | 22 | # Not yet ported to rv32 |
diff --git a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_235.bb b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_235.bb index 859c7eb906..31f3add89f 100644 --- a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_235.bb +++ b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_235.bb | |||
@@ -21,11 +21,8 @@ SRC_URI:append:libc-musl = " \ | |||
21 | file://0001-Define-portable-basename-function.patch \ | 21 | file://0001-Define-portable-basename-function.patch \ |
22 | " | 22 | " |
23 | 23 | ||
24 | |||
25 | SRCREV = "8ab9680a1bd5eb8fe7a7dcc44897af7ee41e56e7" | 24 | SRCREV = "8ab9680a1bd5eb8fe7a7dcc44897af7ee41e56e7" |
26 | 25 | ||
27 | S = "${WORKDIR}/git" | ||
28 | |||
29 | DEPENDS = "systemd libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native intltool" | 26 | DEPENDS = "systemd libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native intltool" |
30 | 27 | ||
31 | inherit pkgconfig autotools systemd features_check | 28 | inherit pkgconfig autotools systemd features_check |
diff --git a/meta/recipes-devtools/tcf-agent/tcf-agent_1.8.0.bb b/meta/recipes-devtools/tcf-agent/tcf-agent_1.8.0.bb index b02fcb9cad..1639ae84e9 100644 --- a/meta/recipes-devtools/tcf-agent/tcf-agent_1.8.0.bb +++ b/meta/recipes-devtools/tcf-agent/tcf-agent_1.8.0.bb | |||
@@ -18,7 +18,7 @@ SRC_URI = "git://gitlab.eclipse.org/eclipse/tcf/tcf.agent.git;protocol=https;bra | |||
18 | DEPENDS = "util-linux openssl" | 18 | DEPENDS = "util-linux openssl" |
19 | RDEPENDS:${PN} = "bash" | 19 | RDEPENDS:${PN} = "bash" |
20 | 20 | ||
21 | S = "${WORKDIR}/git/agent" | 21 | S = "${UNPACKDIR}/${BP}/agent" |
22 | 22 | ||
23 | inherit update-rc.d systemd | 23 | inherit update-rc.d systemd |
24 | 24 | ||
@@ -37,7 +37,6 @@ LCL_STOP_SERVICES = "-DSERVICE_RunControl=0 -DSERVICE_Breakpoints=0 \ | |||
37 | -DSERVICE_Memory=0 -DSERVICE_Registers=0 -DSERVICE_MemoryMap=0 \ | 37 | -DSERVICE_Memory=0 -DSERVICE_Registers=0 -DSERVICE_MemoryMap=0 \ |
38 | -DSERVICE_StackTrace=0 -DSERVICE_Expressions=0" | 38 | -DSERVICE_StackTrace=0 -DSERVICE_Expressions=0" |
39 | 39 | ||
40 | |||
41 | # These features don't compile for several cases. | 40 | # These features don't compile for several cases. |
42 | # | 41 | # |
43 | CFLAGS:append:arc = " ${LCL_STOP_SERVICES}" | 42 | CFLAGS:append:arc = " ${LCL_STOP_SERVICES}" |
diff --git a/meta/recipes-devtools/tcltk/tcl_9.0.1.bb b/meta/recipes-devtools/tcltk/tcl_9.0.1.bb index 485b293768..70aa9b606c 100644 --- a/meta/recipes-devtools/tcltk/tcl_9.0.1.bb +++ b/meta/recipes-devtools/tcltk/tcl_9.0.1.bb | |||
@@ -28,7 +28,7 @@ SRC_URI[sha256sum] = "488fcb6c875a1762e9e8478319b20fbad9a31de475f056aeed94cc54b4 | |||
28 | UPSTREAM_CHECK_URI = "https://www.tcl.tk/software/tcltk/download.html" | 28 | UPSTREAM_CHECK_URI = "https://www.tcl.tk/software/tcltk/download.html" |
29 | UPSTREAM_CHECK_REGEX = "tcl(?P<pver>\d+(\.\d+)+)-src" | 29 | UPSTREAM_CHECK_REGEX = "tcl(?P<pver>\d+(\.\d+)+)-src" |
30 | 30 | ||
31 | S = "${WORKDIR}/${BPN}${PV}" | 31 | S = "${UNPACKDIR}/${BPN}${PV}" |
32 | 32 | ||
33 | VER = "${PV}" | 33 | VER = "${PV}" |
34 | 34 | ||
diff --git a/meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb b/meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb index 076bbc906c..225f04be48 100644 --- a/meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb +++ b/meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb | |||
@@ -32,7 +32,7 @@ SRC_URI:class-native = "${BASE_SRC_URI}" | |||
32 | UPSTREAM_CHECK_URI = "https://www.tcl.tk/software/tcltk/download.html" | 32 | UPSTREAM_CHECK_URI = "https://www.tcl.tk/software/tcltk/download.html" |
33 | UPSTREAM_CHECK_REGEX = "tcl(?P<pver>8(\.\d+)+)-src" | 33 | UPSTREAM_CHECK_REGEX = "tcl(?P<pver>8(\.\d+)+)-src" |
34 | 34 | ||
35 | S = "${WORKDIR}/tcl${PV}" | 35 | S = "${UNPACKDIR}/tcl${PV}" |
36 | 36 | ||
37 | VER = "${PV}" | 37 | VER = "${PV}" |
38 | 38 | ||
diff --git a/meta/recipes-devtools/unfs3/unfs3_0.11.0.bb b/meta/recipes-devtools/unfs3/unfs3_0.11.0.bb index da5ca45277..b8c235fb7c 100644 --- a/meta/recipes-devtools/unfs3/unfs3_0.11.0.bb +++ b/meta/recipes-devtools/unfs3/unfs3_0.11.0.bb | |||
@@ -9,7 +9,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c1c621cd2786a3a1344a60a0d608c910" | |||
9 | 9 | ||
10 | DEPENDS = "bison-native flex-native libtirpc" | 10 | DEPENDS = "bison-native flex-native libtirpc" |
11 | 11 | ||
12 | S = "${WORKDIR}/git" | ||
13 | SRC_URI = "git://github.com/unfs3/unfs3.git;protocol=https;branch=master;tag=${BP}" | 12 | SRC_URI = "git://github.com/unfs3/unfs3.git;protocol=https;branch=master;tag=${BP}" |
14 | SRCREV = "ec1660ba33c80d5c67131e163e68834c1a10e243" | 13 | SRCREV = "ec1660ba33c80d5c67131e163e68834c1a10e243" |
15 | UPSTREAM_CHECK_GITTAGREGEX = "unfs3\-(?P<pver>\d+(\.\d+)+)" | 14 | UPSTREAM_CHECK_GITTAGREGEX = "unfs3\-(?P<pver>\d+(\.\d+)+)" |
diff --git a/meta/recipes-devtools/xmlto/xmlto_0.0.29.bb b/meta/recipes-devtools/xmlto/xmlto_0.0.29.bb index 1415e5d781..613d7973ec 100644 --- a/meta/recipes-devtools/xmlto/xmlto_0.0.29.bb +++ b/meta/recipes-devtools/xmlto/xmlto_0.0.29.bb | |||
@@ -8,7 +8,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | |||
8 | 8 | ||
9 | SRCREV = "74862a684907ada3d4ed2ce0f8111adf626e1456" | 9 | SRCREV = "74862a684907ada3d4ed2ce0f8111adf626e1456" |
10 | SRC_URI = "git://pagure.io/xmlto.git;protocol=https;branch=master" | 10 | SRC_URI = "git://pagure.io/xmlto.git;protocol=https;branch=master" |
11 | S = "${WORKDIR}/git" | ||
12 | 11 | ||
13 | inherit autotools | 12 | inherit autotools |
14 | 13 | ||
diff --git a/meta/recipes-extended/acpica/acpica_20240827.bb b/meta/recipes-extended/acpica/acpica_20240827.bb index 7e8c68db90..f9f9f9f687 100644 --- a/meta/recipes-extended/acpica/acpica_20240827.bb +++ b/meta/recipes-extended/acpica/acpica_20240827.bb | |||
@@ -19,8 +19,6 @@ DEPENDS = "m4-native flex-native bison-native" | |||
19 | SRC_URI = "git://github.com/acpica/acpica;protocol=https;branch=master" | 19 | SRC_URI = "git://github.com/acpica/acpica;protocol=https;branch=master" |
20 | SRCREV = "e80cbd7b52de20aa8c75bfba9845e9cb61f2e681" | 20 | SRCREV = "e80cbd7b52de20aa8c75bfba9845e9cb61f2e681" |
21 | 21 | ||
22 | S = "${WORKDIR}/git" | ||
23 | |||
24 | inherit update-alternatives | 22 | inherit update-alternatives |
25 | 23 | ||
26 | ALTERNATIVE_PRIORITY = "100" | 24 | ALTERNATIVE_PRIORITY = "100" |
diff --git a/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb b/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb index 0360a342b4..848c380363 100644 --- a/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb +++ b/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb | |||
@@ -14,8 +14,6 @@ SRCREV = "21e33efe96ba9a51d99d1150691dae750afd6ed1" | |||
14 | 14 | ||
15 | DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" | 15 | DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" |
16 | 16 | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | # Tell xmllint where to find the DocBook XML catalogue, because right now it | 17 | # Tell xmllint where to find the DocBook XML catalogue, because right now it |
20 | # opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch | 18 | # opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch |
21 | export SGML_CATALOG_FILES = "file://${STAGING_ETCDIR_NATIVE}/xml/catalog" | 19 | export SGML_CATALOG_FILES = "file://${STAGING_ETCDIR_NATIVE}/xml/catalog" |
diff --git a/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb b/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb index 0e873604a4..80fdf26c05 100644 --- a/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb +++ b/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb | |||
@@ -10,8 +10,6 @@ PV = "0.1+git" | |||
10 | SRC_URI = "git://github.com/ahcbb6/baremetal-helloqemu.git;protocol=https;branch=master" | 10 | SRC_URI = "git://github.com/ahcbb6/baremetal-helloqemu.git;protocol=https;branch=master" |
11 | UPSTREAM_VERSION_UNKNOWN = "1" | 11 | UPSTREAM_VERSION_UNKNOWN = "1" |
12 | 12 | ||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | # The following variables should be set to accomodate each application | 13 | # The following variables should be set to accomodate each application |
16 | BAREMETAL_BINNAME ?= "hello_baremetal_${MACHINE}" | 14 | BAREMETAL_BINNAME ?= "hello_baremetal_${MACHINE}" |
17 | IMAGE_LINK_NAME ?= "baremetal-helloworld-image-${MACHINE}" | 15 | IMAGE_LINK_NAME ?= "baremetal-helloworld-image-${MACHINE}" |
@@ -23,7 +21,6 @@ IMAGE_NAME_SUFFIX ?= "" | |||
23 | # firmware from Linux | 21 | # firmware from Linux |
24 | inherit baremetal-image | 22 | inherit baremetal-image |
25 | 23 | ||
26 | |||
27 | # startup code for x86 uses NASM syntax | 24 | # startup code for x86 uses NASM syntax |
28 | DEPENDS:qemux86:append = " nasm-native" | 25 | DEPENDS:qemux86:append = " nasm-native" |
29 | 26 | ||
diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb index 0d7ff9edcd..5b10821ccb 100644 --- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb +++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb | |||
@@ -14,15 +14,15 @@ LICENSE:libbz2 = "bzip2-1.0.6" | |||
14 | LICENSE:${PN}-ptest = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib" | 14 | LICENSE:${PN}-ptest = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib" |
15 | 15 | ||
16 | LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 \ | 16 | LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 \ |
17 | file://${UNPACKDIR}/git/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 \ | 17 | file://${UNPACKDIR}/bzip2-tests/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 \ |
18 | file://${UNPACKDIR}/git/dotnetzip/License.txt;md5=9cb56871eed4e748c3bc7e8ff352a54f \ | 18 | file://${UNPACKDIR}/bzip2-tests/dotnetzip/License.txt;md5=9cb56871eed4e748c3bc7e8ff352a54f \ |
19 | file://${UNPACKDIR}/git/dotnetzip/License.zlib.txt;md5=cc421ccd22eeb2e5db6b79e6de0a029f \ | 19 | file://${UNPACKDIR}/bzip2-tests/dotnetzip/License.zlib.txt;md5=cc421ccd22eeb2e5db6b79e6de0a029f \ |
20 | file://${UNPACKDIR}/git/go/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707 \ | 20 | file://${UNPACKDIR}/bzip2-tests/go/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707 \ |
21 | file://${UNPACKDIR}/git/lbzip2/COPYING;md5=d32239bcb673463ab874e80d47fae504 \ | 21 | file://${UNPACKDIR}/bzip2-tests/lbzip2/COPYING;md5=d32239bcb673463ab874e80d47fae504 \ |
22 | " | 22 | " |
23 | 23 | ||
24 | SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \ | 24 | SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \ |
25 | git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests;branch=master;protocol=https \ | 25 | git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests;branch=master;protocol=https;destsuffix=bzip2-tests/ \ |
26 | file://configure.ac;subdir=${BP} \ | 26 | file://configure.ac;subdir=${BP} \ |
27 | file://Makefile.am;subdir=${BP} \ | 27 | file://Makefile.am;subdir=${BP} \ |
28 | file://run-ptest \ | 28 | file://run-ptest \ |
@@ -52,13 +52,13 @@ do_configure:prepend () { | |||
52 | 52 | ||
53 | do_install_ptest () { | 53 | do_install_ptest () { |
54 | install -d ${D}${PTEST_PATH}/bzip2-tests | 54 | install -d ${D}${PTEST_PATH}/bzip2-tests |
55 | cp -r ${UNPACKDIR}/git/commons-compress ${D}${PTEST_PATH}/bzip2-tests/commons-compress | 55 | cp -r ${UNPACKDIR}/bzip2-tests/commons-compress ${D}${PTEST_PATH}/bzip2-tests/commons-compress |
56 | cp -r ${UNPACKDIR}/git/dotnetzip ${D}${PTEST_PATH}/bzip2-tests/dotnetzip | 56 | cp -r ${UNPACKDIR}/bzip2-tests/dotnetzip ${D}${PTEST_PATH}/bzip2-tests/dotnetzip |
57 | cp -r ${UNPACKDIR}/git/go ${D}${PTEST_PATH}/bzip2-tests/go | 57 | cp -r ${UNPACKDIR}/bzip2-tests/go ${D}${PTEST_PATH}/bzip2-tests/go |
58 | cp -r ${UNPACKDIR}/git/lbzip2 ${D}${PTEST_PATH}/bzip2-tests/lbzip2 | 58 | cp -r ${UNPACKDIR}/bzip2-tests/lbzip2 ${D}${PTEST_PATH}/bzip2-tests/lbzip2 |
59 | cp -r ${UNPACKDIR}/git/pyflate ${D}${PTEST_PATH}/bzip2-tests/pyflate | 59 | cp -r ${UNPACKDIR}/bzip2-tests/pyflate ${D}${PTEST_PATH}/bzip2-tests/pyflate |
60 | cp ${UNPACKDIR}/git/README ${D}${PTEST_PATH}/bzip2-tests/ | 60 | cp ${UNPACKDIR}/bzip2-tests/README ${D}${PTEST_PATH}/bzip2-tests/ |
61 | cp ${UNPACKDIR}/git/run-tests.sh ${D}${PTEST_PATH}/bzip2-tests/ | 61 | cp ${UNPACKDIR}/bzip2-tests/run-tests.sh ${D}${PTEST_PATH}/bzip2-tests/ |
62 | sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile | 62 | sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile |
63 | } | 63 | } |
64 | 64 | ||
diff --git a/meta/recipes-extended/cracklib/cracklib_2.10.3.bb b/meta/recipes-extended/cracklib/cracklib_2.10.3.bb index c3396521ff..7feba2c950 100644 --- a/meta/recipes-extended/cracklib/cracklib_2.10.3.bb +++ b/meta/recipes-extended/cracklib/cracklib_2.10.3.bb | |||
@@ -13,7 +13,7 @@ SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=main \ | |||
13 | " | 13 | " |
14 | 14 | ||
15 | SRCREV = "e73d5db1789d198b5f9ec44b68b9c775c3e6c042" | 15 | SRCREV = "e73d5db1789d198b5f9ec44b68b9c775c3e6c042" |
16 | S = "${WORKDIR}/git/src" | 16 | S = "${UNPACKDIR}/${BP}/src" |
17 | 17 | ||
18 | inherit autotools gettext | 18 | inherit autotools gettext |
19 | 19 | ||
diff --git a/meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb b/meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb index cd7087721f..1cd6bacff9 100644 --- a/meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb +++ b/meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb | |||
@@ -21,7 +21,6 @@ UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" | |||
21 | def gs_verdir(v): | 21 | def gs_verdir(v): |
22 | return "".join(v.split(".")) | 22 | return "".join(v.split(".")) |
23 | 23 | ||
24 | |||
25 | SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \ | 24 | SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \ |
26 | file://ghostscript-9.16-Werror-return-type.patch \ | 25 | file://ghostscript-9.16-Werror-return-type.patch \ |
27 | file://avoid-host-contamination.patch \ | 26 | file://avoid-host-contamination.patch \ |
diff --git a/meta/recipes-extended/hdparm/hdparm_9.65.bb b/meta/recipes-extended/hdparm/hdparm_9.65.bb index 34d50054ab..e541d58fa5 100644 --- a/meta/recipes-extended/hdparm/hdparm_9.65.bb +++ b/meta/recipes-extended/hdparm/hdparm_9.65.bb | |||
@@ -14,7 +14,6 @@ LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \ | |||
14 | file://wiper/GPLv2.txt;md5=fcb02dc552a041dee27e4b85c7396067 \ | 14 | file://wiper/GPLv2.txt;md5=fcb02dc552a041dee27e4b85c7396067 \ |
15 | file://wiper/wiper.sh;beginline=7;endline=31;md5=b7bc642addc152ea307505bf1a296f09" | 15 | file://wiper/wiper.sh;beginline=7;endline=31;md5=b7bc642addc152ea307505bf1a296f09" |
16 | 16 | ||
17 | |||
18 | PACKAGES =+ "wiper" | 17 | PACKAGES =+ "wiper" |
19 | 18 | ||
20 | FILES:wiper = "${bindir}/wiper.sh" | 19 | FILES:wiper = "${bindir}/wiper.sh" |
diff --git a/meta/recipes-extended/iputils/iputils_20250605.bb b/meta/recipes-extended/iputils/iputils_20250605.bb index bb495a7d13..4618fbb29a 100644 --- a/meta/recipes-extended/iputils/iputils_20250605.bb +++ b/meta/recipes-extended/iputils/iputils_20250605.bb | |||
@@ -12,8 +12,6 @@ SRC_URI = "git://github.com/iputils/iputils;branch=master;protocol=https \ | |||
12 | " | 12 | " |
13 | SRCREV = "6e1cb146547eb6fbb127ffc8397a9241be0d33c2" | 13 | SRCREV = "6e1cb146547eb6fbb127ffc8397a9241be0d33c2" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>20\d+)" | 15 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>20\d+)" |
18 | 16 | ||
19 | CVE_STATUS[CVE-2000-1213] = "fixed-version: Fixed in 2000-10-10, but the versioning of iputils breaks the version order." | 17 | CVE_STATUS[CVE-2000-1213] = "fixed-version: Fixed in 2000-10-10, but the versioning of iputils breaks the version order." |
diff --git a/meta/recipes-extended/libaio/libaio_0.3.113.bb b/meta/recipes-extended/libaio/libaio_0.3.113.bb index 87ab22ed17..2392fd5db2 100644 --- a/meta/recipes-extended/libaio/libaio_0.3.113.bb +++ b/meta/recipes-extended/libaio/libaio_0.3.113.bb | |||
@@ -11,7 +11,6 @@ SRC_URI = "git://pagure.io/libaio.git;protocol=https;branch=master \ | |||
11 | file://system-linkage.patch \ | 11 | file://system-linkage.patch \ |
12 | " | 12 | " |
13 | SRCREV = "1b18bfafc6a2f7b9fa2c6be77a95afed8b7be448" | 13 | SRCREV = "1b18bfafc6a2f7b9fa2c6be77a95afed8b7be448" |
14 | S = "${WORKDIR}/git" | ||
15 | 14 | ||
16 | EXTRA_OEMAKE =+ "prefix=${prefix} includedir=${includedir} libdir=${libdir}" | 15 | EXTRA_OEMAKE =+ "prefix=${prefix} includedir=${includedir} libdir=${libdir}" |
17 | 16 | ||
diff --git a/meta/recipes-extended/libarchive/libarchive_3.7.9.bb b/meta/recipes-extended/libarchive/libarchive_3.8.1.bb index d70cdb3d83..472b5820f0 100644 --- a/meta/recipes-extended/libarchive/libarchive_3.7.9.bb +++ b/meta/recipes-extended/libarchive/libarchive_3.8.1.bb | |||
@@ -3,7 +3,7 @@ DESCRIPTION = "C library and command-line tools for reading and writing tar, cpi | |||
3 | HOMEPAGE = "http://www.libarchive.org/" | 3 | HOMEPAGE = "http://www.libarchive.org/" |
4 | SECTION = "devel" | 4 | SECTION = "devel" |
5 | LICENSE = "BSD-2-Clause" | 5 | LICENSE = "BSD-2-Clause" |
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=d499814247adaee08d88080841cb5665" | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=7ce08437ff7f5e24d72e666313ae4084" |
7 | 7 | ||
8 | DEPENDS = "e2fsprogs-native" | 8 | DEPENDS = "e2fsprogs-native" |
9 | 9 | ||
@@ -31,7 +31,7 @@ EXTRA_OECONF += "--enable-largefile --without-iconv" | |||
31 | 31 | ||
32 | SRC_URI = "https://libarchive.org/downloads/libarchive-${PV}.tar.gz" | 32 | SRC_URI = "https://libarchive.org/downloads/libarchive-${PV}.tar.gz" |
33 | 33 | ||
34 | SRC_URI[sha256sum] = "aa90732c5a6bdda52fda2ad468ac98d75be981c15dde263d7b5cf6af66fd009f" | 34 | SRC_URI[sha256sum] = "bde832a5e3344dc723cfe9cc37f8e54bde04565bfe6f136bc1bd31ab352e9fab" |
35 | 35 | ||
36 | inherit autotools update-alternatives pkgconfig | 36 | inherit autotools update-alternatives pkgconfig |
37 | 37 | ||
diff --git a/meta/recipes-extended/libnsl/libnsl2_2.0.1.bb b/meta/recipes-extended/libnsl/libnsl2_2.0.1.bb index 1b9be620c0..ff4ae6c243 100644 --- a/meta/recipes-extended/libnsl/libnsl2_2.0.1.bb +++ b/meta/recipes-extended/libnsl/libnsl2_2.0.1.bb | |||
@@ -15,8 +15,6 @@ CVE_PRODUCT = "libnsl_project:libnsl" | |||
15 | SRC_URI = "git://github.com/thkukuk/libnsl;branch=master;protocol=https" | 15 | SRC_URI = "git://github.com/thkukuk/libnsl;branch=master;protocol=https" |
16 | SRCREV = "d4b22e54b5e6637a69b26eab5faad2a326c9b182" | 16 | SRCREV = "d4b22e54b5e6637a69b26eab5faad2a326c9b182" |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | inherit autotools pkgconfig gettext | 18 | inherit autotools pkgconfig gettext |
21 | 19 | ||
22 | BBCLASSEXTEND = "native nativesdk" | 20 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-extended/libnss-nis/libnss-nis.bb b/meta/recipes-extended/libnss-nis/libnss-nis.bb index f0e687c330..2198606de5 100644 --- a/meta/recipes-extended/libnss-nis/libnss-nis.bb +++ b/meta/recipes-extended/libnss-nis/libnss-nis.bb | |||
@@ -20,8 +20,6 @@ SRCREV = "cd0d391af9535b56e612ed227c1b89be269f3d59" | |||
20 | SRC_URI = "git://github.com/thkukuk/libnss_nis;branch=master;protocol=https \ | 20 | SRC_URI = "git://github.com/thkukuk/libnss_nis;branch=master;protocol=https \ |
21 | " | 21 | " |
22 | 22 | ||
23 | S = "${WORKDIR}/git" | ||
24 | |||
25 | inherit autotools pkgconfig | 23 | inherit autotools pkgconfig |
26 | 24 | ||
27 | BBCLASSEXTEND += "native nativesdk" | 25 | BBCLASSEXTEND += "native nativesdk" |
diff --git a/meta/recipes-extended/libsolv/libsolv_0.7.33.bb b/meta/recipes-extended/libsolv/libsolv_0.7.33.bb index 7584251420..13a6df2290 100644 --- a/meta/recipes-extended/libsolv/libsolv_0.7.33.bb +++ b/meta/recipes-extended/libsolv/libsolv_0.7.33.bb | |||
@@ -16,8 +16,6 @@ SRCREV = "9fb855d872139fb1ebebec4c892b338fccda69ba" | |||
16 | 16 | ||
17 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" | 17 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | inherit cmake | 19 | inherit cmake |
22 | 20 | ||
23 | PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGE_CLASSES','package_rpm','rpm','',d)}" | 21 | PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGE_CLASSES','package_rpm','rpm','',d)}" |
diff --git a/meta/recipes-extended/lsof/lsof_4.99.4.bb b/meta/recipes-extended/lsof/lsof_4.99.4.bb index f1ec650029..b977fc4897 100644 --- a/meta/recipes-extended/lsof/lsof_4.99.4.bb +++ b/meta/recipes-extended/lsof/lsof_4.99.4.bb | |||
@@ -10,8 +10,6 @@ SRC_URI = "git://github.com/lsof-org/lsof;branch=master;protocol=https \ | |||
10 | file://remove-host-information.patch" | 10 | file://remove-host-information.patch" |
11 | SRCREV = "bbf320ce586a848f880bca7b758d50ae4c712624" | 11 | SRCREV = "bbf320ce586a848f880bca7b758d50ae4c712624" |
12 | 12 | ||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | inherit update-alternatives autotools pkgconfig manpages | 13 | inherit update-alternatives autotools pkgconfig manpages |
16 | PACKAGECONFIG[manpages] = "" | 14 | PACKAGECONFIG[manpages] = "" |
17 | 15 | ||
diff --git a/meta/recipes-extended/ltp/ltp_20250130.bb b/meta/recipes-extended/ltp/ltp_20250130.bb index f9521acbc6..fc643c2ab9 100644 --- a/meta/recipes-extended/ltp/ltp_20250130.bb +++ b/meta/recipes-extended/ltp/ltp_20250130.bb | |||
@@ -33,8 +33,6 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=ht | |||
33 | file://0001-cve-2015-3290-Disable-AVX-for-x86_64.patch \ | 33 | file://0001-cve-2015-3290-Disable-AVX-for-x86_64.patch \ |
34 | " | 34 | " |
35 | 35 | ||
36 | S = "${WORKDIR}/git" | ||
37 | |||
38 | inherit autotools-brokensep pkgconfig | 36 | inherit autotools-brokensep pkgconfig |
39 | 37 | ||
40 | # Version 20220527 added KVM test infrastructure which currently fails to build with lld due to | 38 | # Version 20220527 added KVM test infrastructure which currently fails to build with lld due to |
diff --git a/meta/recipes-extended/mdadm/mdadm_4.4.bb b/meta/recipes-extended/mdadm/mdadm_4.4.bb index db45df43d3..26a60e4c1a 100644 --- a/meta/recipes-extended/mdadm/mdadm_4.4.bb +++ b/meta/recipes-extended/mdadm/mdadm_4.4.bb | |||
@@ -8,7 +8,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | |||
8 | file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \ | 8 | file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \ |
9 | file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161" | 9 | file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161" |
10 | 10 | ||
11 | |||
12 | SRC_URI = "git://git.kernel.org/pub/scm/utils/mdadm/mdadm.git;protocol=https;branch=main;tag=mdadm-${PV} \ | 11 | SRC_URI = "git://git.kernel.org/pub/scm/utils/mdadm/mdadm.git;protocol=https;branch=main;tag=mdadm-${PV} \ |
13 | file://run-ptest \ | 12 | file://run-ptest \ |
14 | file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \ | 13 | file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \ |
@@ -20,7 +19,6 @@ SRC_URI = "git://git.kernel.org/pub/scm/utils/mdadm/mdadm.git;protocol=https;bra | |||
20 | " | 19 | " |
21 | 20 | ||
22 | SRCREV = "8e56efac9afd7080bb42bae4b77cdad5f345633a" | 21 | SRCREV = "8e56efac9afd7080bb42bae4b77cdad5f345633a" |
23 | S = "${WORKDIR}/git" | ||
24 | 22 | ||
25 | inherit ptest systemd | 23 | inherit ptest systemd |
26 | 24 | ||
diff --git a/meta/recipes-extended/net-tools/net-tools_2.10.bb b/meta/recipes-extended/net-tools/net-tools_2.10.bb index 547079f4cf..6c8297ba39 100644 --- a/meta/recipes-extended/net-tools/net-tools_2.10.bb +++ b/meta/recipes-extended/net-tools/net-tools_2.10.bb | |||
@@ -15,8 +15,6 @@ SRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https;branch=master \ | |||
15 | file://CVE-2025-46836-02.patch \ | 15 | file://CVE-2025-46836-02.patch \ |
16 | " | 16 | " |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | inherit gettext | 18 | inherit gettext |
21 | 19 | ||
22 | # The Makefile is lame, no parallel build | 20 | # The Makefile is lame, no parallel build |
diff --git a/meta/recipes-extended/pam/libpam_1.7.0.bb b/meta/recipes-extended/pam/libpam_1.7.0.bb index 4abc52bd93..dea9ff592b 100644 --- a/meta/recipes-extended/pam/libpam_1.7.0.bb +++ b/meta/recipes-extended/pam/libpam_1.7.0.bb | |||
@@ -31,7 +31,7 @@ DEPENDS = "bison-native flex-native libxml2-native virtual/crypt" | |||
31 | 31 | ||
32 | EXTRA_OEMESON = "-Ddocs=disabled -Dsecuredir=${base_libdir}/security" | 32 | EXTRA_OEMESON = "-Ddocs=disabled -Dsecuredir=${base_libdir}/security" |
33 | 33 | ||
34 | S = "${WORKDIR}/Linux-PAM-${PV}" | 34 | S = "${UNPACKDIR}/Linux-PAM-${PV}" |
35 | 35 | ||
36 | inherit meson gettext pkgconfig systemd ptest github-releases | 36 | inherit meson gettext pkgconfig systemd ptest github-releases |
37 | 37 | ||
diff --git a/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb b/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb index 6e9f881773..7e167d6e67 100644 --- a/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb +++ b/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb | |||
@@ -9,7 +9,7 @@ SRC_URI = "https://cpan.metacpan.org/authors/id/T/TI/TIMLEGGE/Convert-ASN1-${PV} | |||
9 | 9 | ||
10 | SRC_URI[sha256sum] = "a628d7c9d390568fb76359975fa03f626ce57f10dc17980e8e3587d7713e4ee7" | 10 | SRC_URI[sha256sum] = "a628d7c9d390568fb76359975fa03f626ce57f10dc17980e8e3587d7713e4ee7" |
11 | 11 | ||
12 | S = "${WORKDIR}/Convert-ASN1-${PV}" | 12 | S = "${UNPACKDIR}/Convert-ASN1-${PV}" |
13 | 13 | ||
14 | inherit cpan ptest-perl | 14 | inherit cpan ptest-perl |
15 | 15 | ||
diff --git a/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/meta/recipes-extended/perl/libtimedate-perl_2.30.bb index 3b681225c2..7f9f40d996 100644 --- a/meta/recipes-extended/perl/libtimedate-perl_2.30.bb +++ b/meta/recipes-extended/perl/libtimedate-perl_2.30.bb | |||
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://README;beginline=21;md5=576b7cb41e5e821501a01ed66f0f9 | |||
8 | 8 | ||
9 | SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/TimeDate-${PV}.tar.gz" | 9 | SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/TimeDate-${PV}.tar.gz" |
10 | 10 | ||
11 | S = "${WORKDIR}/TimeDate-${PV}" | 11 | S = "${UNPACKDIR}/TimeDate-${PV}" |
12 | 12 | ||
13 | inherit cpan ptest-perl | 13 | inherit cpan ptest-perl |
14 | 14 | ||
diff --git a/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb b/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb index ae0e5ad08a..9653cb427b 100644 --- a/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb +++ b/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb | |||
@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2 | |||
16 | 16 | ||
17 | UPSTREAM_CHECK_REGEX = "XML\-NamespaceSupport\-(?P<pver>(\d+\.\d+))(?!_\d+).tar" | 17 | UPSTREAM_CHECK_REGEX = "XML\-NamespaceSupport\-(?P<pver>(\d+\.\d+))(?!_\d+).tar" |
18 | 18 | ||
19 | S = "${WORKDIR}/${SRCNAME}-${PV}" | 19 | S = "${UNPACKDIR}/${SRCNAME}-${PV}" |
20 | 20 | ||
21 | inherit cpan ptest-perl | 21 | inherit cpan ptest-perl |
22 | 22 | ||
diff --git a/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb b/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb index 8e8be93441..8d97e95e83 100644 --- a/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb +++ b/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb | |||
@@ -16,7 +16,7 @@ SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-SAX-Base-${PV} | |||
16 | 16 | ||
17 | SRC_URI[sha256sum] = "66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0" | 17 | SRC_URI[sha256sum] = "66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0" |
18 | 18 | ||
19 | S = "${WORKDIR}/XML-SAX-Base-${PV}" | 19 | S = "${UNPACKDIR}/XML-SAX-Base-${PV}" |
20 | 20 | ||
21 | inherit cpan ptest-perl | 21 | inherit cpan ptest-perl |
22 | 22 | ||
diff --git a/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb b/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb index 218af5c437..67bdac981d 100644 --- a/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb +++ b/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb | |||
@@ -19,7 +19,7 @@ SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-SAX-${PV}.tar. | |||
19 | 19 | ||
20 | SRC_URI[sha256sum] = "4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a" | 20 | SRC_URI[sha256sum] = "4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a" |
21 | 21 | ||
22 | S = "${WORKDIR}/XML-SAX-${PV}" | 22 | S = "${UNPACKDIR}/XML-SAX-${PV}" |
23 | 23 | ||
24 | inherit cpan ptest-perl | 24 | inherit cpan ptest-perl |
25 | 25 | ||
diff --git a/meta/recipes-extended/procps/procps_4.0.5.bb b/meta/recipes-extended/procps/procps_4.0.5.bb index 3be40c38a4..2b41be3930 100644 --- a/meta/recipes-extended/procps/procps_4.0.5.bb +++ b/meta/recipes-extended/procps/procps_4.0.5.bb | |||
@@ -17,8 +17,6 @@ SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https;branch=master \ | |||
17 | " | 17 | " |
18 | SRCREV = "f46b2f7929cdfe2913ed0a7f585b09d6adbf994e" | 18 | SRCREV = "f46b2f7929cdfe2913ed0a7f585b09d6adbf994e" |
19 | 19 | ||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | # Upstream has a custom autogen.sh which invokes po/update-potfiles as they | 20 | # Upstream has a custom autogen.sh which invokes po/update-potfiles as they |
23 | # don't ship a po/POTFILES.in (which is silly). Without that file gettext | 21 | # don't ship a po/POTFILES.in (which is silly). Without that file gettext |
24 | # doesn't believe po/ is a gettext directory and won't generate po/Makefile. | 22 | # doesn't believe po/ is a gettext directory and won't generate po/Makefile. |
diff --git a/meta/recipes-extended/psmisc/psmisc_23.7.bb b/meta/recipes-extended/psmisc/psmisc_23.7.bb index 4128ca0533..fff1f218f4 100644 --- a/meta/recipes-extended/psmisc/psmisc_23.7.bb +++ b/meta/recipes-extended/psmisc/psmisc_23.7.bb | |||
@@ -15,7 +15,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" | |||
15 | SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master \ | 15 | SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master \ |
16 | " | 16 | " |
17 | SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c" | 17 | SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c" |
18 | S = "${WORKDIR}/git" | ||
19 | 18 | ||
20 | inherit autotools gettext | 19 | inherit autotools gettext |
21 | 20 | ||
@@ -26,7 +25,6 @@ do_configure:prepend() { | |||
26 | ( cd ${S} && po/update-potfiles ) | 25 | ( cd ${S} && po/update-potfiles ) |
27 | } | 26 | } |
28 | 27 | ||
29 | |||
30 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" | 28 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" |
31 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," | 29 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," |
32 | PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" | 30 | PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" |
diff --git a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb index 20933153a3..4cb785aa90 100644 --- a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb +++ b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb | |||
@@ -23,8 +23,6 @@ SRC_URI = "git://github.com/thkukuk/${BPN};branch=master;protocol=https \ | |||
23 | file://0001-Use-cross-compiled-rpcgen.patch \ | 23 | file://0001-Use-cross-compiled-rpcgen.patch \ |
24 | " | 24 | " |
25 | 25 | ||
26 | S = "${WORKDIR}/git" | ||
27 | |||
28 | inherit autotools gettext | 26 | inherit autotools gettext |
29 | 27 | ||
30 | EXTRA_OEMAKE:class-native = " -C rpcgen" | 28 | EXTRA_OEMAKE:class-native = " -C rpcgen" |
diff --git a/meta/recipes-extended/scdoc/scdoc_1.11.3.bb b/meta/recipes-extended/scdoc/scdoc_1.11.3.bb index 7bbedcb66d..5f571c64dd 100644 --- a/meta/recipes-extended/scdoc/scdoc_1.11.3.bb +++ b/meta/recipes-extended/scdoc/scdoc_1.11.3.bb | |||
@@ -10,8 +10,6 @@ SRC_URI = "git://git.sr.ht/~sircmpwn/scdoc;protocol=https;branch=master \ | |||
10 | file://0001-Makefile-drop-static.patch " | 10 | file://0001-Makefile-drop-static.patch " |
11 | SRCREV = "0528bcb993cac6c412acd3ae2e09539e994c0a59" | 11 | SRCREV = "0528bcb993cac6c412acd3ae2e09539e994c0a59" |
12 | 12 | ||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | do_install() { | 13 | do_install() { |
16 | oe_runmake 'DESTDIR=${D}' install | 14 | oe_runmake 'DESTDIR=${D}' install |
17 | } | 15 | } |
diff --git a/meta/recipes-extended/shadow/shadow-securetty_4.6.bb b/meta/recipes-extended/shadow/shadow-securetty_4.6.bb index 913c159c81..e94e1caf22 100644 --- a/meta/recipes-extended/shadow/shadow-securetty_4.6.bb +++ b/meta/recipes-extended/shadow/shadow-securetty_4.6.bb | |||
@@ -5,11 +5,9 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
5 | 5 | ||
6 | INHIBIT_DEFAULT_DEPS = "1" | 6 | INHIBIT_DEFAULT_DEPS = "1" |
7 | 7 | ||
8 | |||
9 | SRC_URI = "file://securetty" | 8 | SRC_URI = "file://securetty" |
10 | 9 | ||
11 | S = "${WORKDIR}/sources" | 10 | S = "${UNPACKDIR}" |
12 | UNPACKDIR = "${S}" | ||
13 | 11 | ||
14 | # Since SERIAL_CONSOLES is likely to be set from the machine configuration | 12 | # Since SERIAL_CONSOLES is likely to be set from the machine configuration |
15 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 13 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
diff --git a/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb b/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb index 13cfab6aab..d66ef1e6a4 100644 --- a/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb +++ b/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb | |||
@@ -7,14 +7,12 @@ LIC_FILES_CHKSUM = "file://login.defs_shadow-sysroot;endline=1;md5=ceddfb61608e4 | |||
7 | 7 | ||
8 | DEPENDS = "base-passwd" | 8 | DEPENDS = "base-passwd" |
9 | 9 | ||
10 | |||
11 | # The sole purpose of this recipe is to provide the /etc/login.defs | 10 | # The sole purpose of this recipe is to provide the /etc/login.defs |
12 | # file for the target sysroot - needed so the shadow-native utilities | 11 | # file for the target sysroot - needed so the shadow-native utilities |
13 | # can add custom users/groups for recipes that use inherit useradd. | 12 | # can add custom users/groups for recipes that use inherit useradd. |
14 | SRC_URI = "file://login.defs_shadow-sysroot" | 13 | SRC_URI = "file://login.defs_shadow-sysroot" |
15 | 14 | ||
16 | S = "${WORKDIR}/sources" | 15 | S = "${UNPACKDIR}" |
17 | UNPACKDIR = "${S}" | ||
18 | 16 | ||
19 | do_install() { | 17 | do_install() { |
20 | install -d ${D}${sysconfdir} | 18 | install -d ${D}${sysconfdir} |
diff --git a/meta/recipes-extended/stress-ng/stress-ng_0.18.12.bb b/meta/recipes-extended/stress-ng/stress-ng_0.18.12.bb index b1cfdc371f..85a0d6a709 100644 --- a/meta/recipes-extended/stress-ng/stress-ng_0.18.12.bb +++ b/meta/recipes-extended/stress-ng/stress-ng_0.18.12.bb | |||
@@ -8,7 +8,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | |||
8 | SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master;tag=V${PV} \ | 8 | SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master;tag=V${PV} \ |
9 | " | 9 | " |
10 | SRCREV = "d4eef982dc98fe915aa82303c0a24070d0a51b00" | 10 | SRCREV = "d4eef982dc98fe915aa82303c0a24070d0a51b00" |
11 | S = "${WORKDIR}/git" | ||
12 | 11 | ||
13 | DEPENDS = "coreutils-native libbsd" | 12 | DEPENDS = "coreutils-native libbsd" |
14 | 13 | ||
diff --git a/meta/recipes-extended/sysklogd/sysklogd_2.7.2.bb b/meta/recipes-extended/sysklogd/sysklogd_2.7.2.bb index ba69a7a8b8..c436153d1b 100644 --- a/meta/recipes-extended/sysklogd/sysklogd_2.7.2.bb +++ b/meta/recipes-extended/sysklogd/sysklogd_2.7.2.bb | |||
@@ -16,8 +16,6 @@ SRC_URI = "git://github.com/troglobit/sysklogd.git;branch=master;protocol=https; | |||
16 | 16 | ||
17 | SRCREV = "5fb314cb9060afa3bd4eed2f0be3200f02f729e9" | 17 | SRCREV = "5fb314cb9060afa3bd4eed2f0be3200f02f729e9" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger" | 19 | EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger" |
22 | 20 | ||
23 | do_install:append () { | 21 | do_install:append () { |
diff --git a/meta/recipes-extended/sysstat/sysstat_12.7.7.bb b/meta/recipes-extended/sysstat/sysstat_12.7.7.bb index 8ea47d7797..0fa4a3c950 100644 --- a/meta/recipes-extended/sysstat/sysstat_12.7.7.bb +++ b/meta/recipes-extended/sysstat/sysstat_12.7.7.bb | |||
@@ -13,7 +13,6 @@ SRC_URI = "git://github.com/sysstat/sysstat.git;protocol=https;branch=master \ | |||
13 | LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" | 13 | LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" |
14 | 14 | ||
15 | SRCREV = "dac10e13c70d1102aa3beea10135a3ed60520c36" | 15 | SRCREV = "dac10e13c70d1102aa3beea10135a3ed60520c36" |
16 | S = "${WORKDIR}/git" | ||
17 | 16 | ||
18 | DEPENDS += "base-passwd" | 17 | DEPENDS += "base-passwd" |
19 | 18 | ||
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb index de5fb3c543..da3ff90891 100644 --- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb +++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb | |||
@@ -52,7 +52,7 @@ SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \ | |||
52 | 52 | ||
53 | SRC_URI[sha256sum] = "9543d7adedf78a6de0b221ccbbd1952e08b5138717f4ade814039bb489a4315d" | 53 | SRC_URI[sha256sum] = "9543d7adedf78a6de0b221ccbbd1952e08b5138717f4ade814039bb489a4315d" |
54 | 54 | ||
55 | S = "${WORKDIR}/tcp_wrappers_${PV}" | 55 | S = "${UNPACKDIR}/tcp_wrappers_${PV}" |
56 | 56 | ||
57 | CFLAGS += "-std=gnu17" | 57 | CFLAGS += "-std=gnu17" |
58 | 58 | ||
diff --git a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb index 51d9c92766..9773d134cf 100644 --- a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb +++ b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb | |||
@@ -8,8 +8,7 @@ PV = "1.0" | |||
8 | 8 | ||
9 | SRC_URI = "file://template.py file://COPYING" | 9 | SRC_URI = "file://template.py file://COPYING" |
10 | 10 | ||
11 | S = "${WORKDIR}/sources" | 11 | S = "${UNPACKDIR}" |
12 | UNPACKDIR = "${S}" | ||
13 | 12 | ||
14 | inherit native | 13 | inherit native |
15 | 14 | ||
diff --git a/meta/recipes-extended/timezone/timezone.inc b/meta/recipes-extended/timezone/timezone.inc index 8f7868f098..9a5105ffd7 100644 --- a/meta/recipes-extended/timezone/timezone.inc +++ b/meta/recipes-extended/timezone/timezone.inc | |||
@@ -12,7 +12,7 @@ SRC_URI = "http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz | |||
12 | http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata;subdir=tz \ | 12 | http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata;subdir=tz \ |
13 | " | 13 | " |
14 | 14 | ||
15 | S = "${WORKDIR}/tz" | 15 | S = "${UNPACKDIR}/tz" |
16 | 16 | ||
17 | UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones" | 17 | UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones" |
18 | 18 | ||
diff --git a/meta/recipes-extended/unzip/unzip_6.0.bb b/meta/recipes-extended/unzip/unzip_6.0.bb index b2fed67239..d6289deff7 100644 --- a/meta/recipes-extended/unzip/unzip_6.0.bb +++ b/meta/recipes-extended/unzip/unzip_6.0.bb | |||
@@ -43,7 +43,7 @@ CVE_STATUS[CVE-2008-0888] = "fixed-version: Patch from https://bugzilla.redhat.c | |||
43 | # exclude version 5.5.2 which triggers a false positive | 43 | # exclude version 5.5.2 which triggers a false positive |
44 | UPSTREAM_CHECK_REGEX = "unzip(?P<pver>(?!552).+)\.tgz" | 44 | UPSTREAM_CHECK_REGEX = "unzip(?P<pver>(?!552).+)\.tgz" |
45 | 45 | ||
46 | S = "${WORKDIR}/unzip60" | 46 | S = "${UNPACKDIR}/unzip60" |
47 | 47 | ||
48 | # Makefile uses CF_NOOPT instead of CFLAGS. We lifted the values from | 48 | # Makefile uses CF_NOOPT instead of CFLAGS. We lifted the values from |
49 | # Makefile and add CFLAGS. Optimization will be overriden by unzip | 49 | # Makefile and add CFLAGS. Optimization will be overriden by unzip |
diff --git a/meta/recipes-extended/watchdog/watchdog-config.bb b/meta/recipes-extended/watchdog/watchdog-config.bb index 17151ced5e..58c565bd30 100644 --- a/meta/recipes-extended/watchdog/watchdog-config.bb +++ b/meta/recipes-extended/watchdog/watchdog-config.bb | |||
@@ -13,8 +13,7 @@ SRC_URI = " \ | |||
13 | file://watchdog.conf \ | 13 | file://watchdog.conf \ |
14 | " | 14 | " |
15 | 15 | ||
16 | S = "${WORKDIR}/sources" | 16 | S = "${UNPACKDIR}" |
17 | UNPACKDIR = "${S}" | ||
18 | 17 | ||
19 | # The default value is 60 seconds when null. | 18 | # The default value is 60 seconds when null. |
20 | WATCHDOG_TIMEOUT ??= "" | 19 | WATCHDOG_TIMEOUT ??= "" |
diff --git a/meta/recipes-extended/which/which_2.21.bb b/meta/recipes-extended/which/which_2.21.bb index 6e855bca3f..7279a04737 100644 --- a/meta/recipes-extended/which/which_2.21.bb +++ b/meta/recipes-extended/which/which_2.21.bb | |||
@@ -13,7 +13,6 @@ DEPENDS = "cwautomacros-native" | |||
13 | 13 | ||
14 | inherit autotools texinfo update-alternatives | 14 | inherit autotools texinfo update-alternatives |
15 | 15 | ||
16 | |||
17 | EXTRA_OECONF = "--disable-iberty" | 16 | EXTRA_OECONF = "--disable-iberty" |
18 | 17 | ||
19 | SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \ | 18 | SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \ |
diff --git a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb index 111c50bdfe..2f727128a5 100644 --- a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb +++ b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb | |||
@@ -16,8 +16,6 @@ SRC_URI = "git://github.com/openSUSE/xinetd.git;protocol=https;branch=master \ | |||
16 | 16 | ||
17 | SRCREV = "6a4af7786630ce48747d9687e2f18f45ea6684c4" | 17 | SRCREV = "6a4af7786630ce48747d9687e2f18f45ea6684c4" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | # https://github.com/xinetd-org/xinetd/pull/10 is merged into this git tree revision | 19 | # https://github.com/xinetd-org/xinetd/pull/10 is merged into this git tree revision |
22 | CVE_STATUS[CVE-2013-4342] = "fixed-version: Fixed directly in git tree revision" | 20 | CVE_STATUS[CVE-2013-4342] = "fixed-version: Fixed directly in git tree revision" |
23 | 21 | ||
diff --git a/meta/recipes-extended/zip/zip_3.0.bb b/meta/recipes-extended/zip/zip_3.0.bb index 27691bd89a..d1092551f7 100644 --- a/meta/recipes-extended/zip/zip_3.0.bb +++ b/meta/recipes-extended/zip/zip_3.0.bb | |||
@@ -6,8 +6,7 @@ SECTION = "console/utils" | |||
6 | LICENSE = "Info-ZIP" | 6 | LICENSE = "Info-ZIP" |
7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=04d43c5d70b496c032308106e26ae17d" | 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=04d43c5d70b496c032308106e26ae17d" |
8 | 8 | ||
9 | 9 | S = "${UNPACKDIR}/zip30" | |
10 | S = "${WORKDIR}/zip30" | ||
11 | 10 | ||
12 | SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz \ | 11 | SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz \ |
13 | file://fix-security-format.patch \ | 12 | file://fix-security-format.patch \ |
diff --git a/meta/recipes-extended/zstd/zstd_1.5.7.bb b/meta/recipes-extended/zstd/zstd_1.5.7.bb index d173558a0f..0e872b95aa 100644 --- a/meta/recipes-extended/zstd/zstd_1.5.7.bb +++ b/meta/recipes-extended/zstd/zstd_1.5.7.bb | |||
@@ -17,8 +17,6 @@ UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | |||
17 | 17 | ||
18 | CVE_PRODUCT = "zstandard" | 18 | CVE_PRODUCT = "zstandard" |
19 | 19 | ||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | PACKAGECONFIG ??= "" | 20 | PACKAGECONFIG ??= "" |
23 | PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4" | 21 | PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4" |
24 | PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz" | 22 | PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz" |
diff --git a/meta/recipes-gnome/gi-docgen/gi-docgen_2025.3.bb b/meta/recipes-gnome/gi-docgen/gi-docgen_2025.3.bb index a16574955f..8651ab8167 100644 --- a/meta/recipes-gnome/gi-docgen/gi-docgen_2025.3.bb +++ b/meta/recipes-gnome/gi-docgen/gi-docgen_2025.3.bb | |||
@@ -12,8 +12,6 @@ SRC_URI = "git://gitlab.gnome.org/GNOME/gi-docgen.git;protocol=https;branch=main | |||
12 | 12 | ||
13 | SRCREV = "9ab2ab8fa3f4a04f5d2cc24b0c8e91e73bc57b51" | 13 | SRCREV = "9ab2ab8fa3f4a04f5d2cc24b0c8e91e73bc57b51" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit python_setuptools_build_meta | 15 | inherit python_setuptools_build_meta |
18 | 16 | ||
19 | RDEPENDS:${PN} += "python3-asyncio python3-core python3-jinja2 python3-json python3-markdown python3-markupsafe python3-pygments python3-typogrify python3-xml" | 17 | RDEPENDS:${PN} += "python3-asyncio python3-core python3-jinja2 python3-json python3-markdown python3-markupsafe python3-pygments python3-typogrify python3-xml" |
diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/meta/recipes-gnome/gnome/gconf_3.2.6.bb index 1e29bd9bb0..54666801c5 100644 --- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb +++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb | |||
@@ -22,7 +22,7 @@ SRC_URI = "${GNOME_MIRROR}/GConf/${@gnome_verdir("${PV}")}/GConf-${PV}.tar.xz;na | |||
22 | SRC_URI[archive.md5sum] = "2b16996d0e4b112856ee5c59130e822c" | 22 | SRC_URI[archive.md5sum] = "2b16996d0e4b112856ee5c59130e822c" |
23 | SRC_URI[archive.sha256sum] = "1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c" | 23 | SRC_URI[archive.sha256sum] = "1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c" |
24 | 24 | ||
25 | S = "${WORKDIR}/GConf-${PV}" | 25 | S = "${UNPACKDIR}/GConf-${PV}" |
26 | 26 | ||
27 | EXTRA_OECONF = "--enable-shared --disable-static \ | 27 | EXTRA_OECONF = "--enable-shared --disable-static \ |
28 | --disable-orbit --with-openldap=no --disable-gtk" | 28 | --disable-orbit --with-openldap=no --disable-gtk" |
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb index 15870dcc08..5892bb3139 100644 --- a/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb +++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb | |||
@@ -23,7 +23,7 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar | |||
23 | " | 23 | " |
24 | SRC_URI[sha256sum] = "7e04f0648515034b806b74ae5d774d87cffb1a2a96c468cb5be476d51bf2f3c7" | 24 | SRC_URI[sha256sum] = "7e04f0648515034b806b74ae5d774d87cffb1a2a96c468cb5be476d51bf2f3c7" |
25 | 25 | ||
26 | S = "${WORKDIR}/gtk+-${PV}" | 26 | S = "${UNPACKDIR}/gtk+-${PV}" |
27 | 27 | ||
28 | BBCLASSEXTEND = "native nativesdk" | 28 | BBCLASSEXTEND = "native nativesdk" |
29 | 29 | ||
diff --git a/meta/recipes-gnome/gtk+/gtk4_4.18.6.bb b/meta/recipes-gnome/gtk+/gtk4_4.18.6.bb index 092f8d309f..397277a815 100644 --- a/meta/recipes-gnome/gtk+/gtk4_4.18.6.bb +++ b/meta/recipes-gnome/gtk+/gtk4_4.18.6.bb | |||
@@ -40,7 +40,7 @@ UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz" | |||
40 | SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz" | 40 | SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz" |
41 | SRC_URI[sha256sum] = "e1817c650ddc3261f9a8345b3b22a26a5d80af154630dedc03cc7becefffd0fa" | 41 | SRC_URI[sha256sum] = "e1817c650ddc3261f9a8345b3b22a26a5d80af154630dedc03cc7becefffd0fa" |
42 | 42 | ||
43 | S = "${WORKDIR}/gtk-${PV}" | 43 | S = "${UNPACKDIR}/gtk-${PV}" |
44 | 44 | ||
45 | CVE_PRODUCT = "gnome:gtk" | 45 | CVE_PRODUCT = "gnome:gtk" |
46 | 46 | ||
diff --git a/meta/recipes-gnome/libhandy/libhandy_1.8.3.bb b/meta/recipes-gnome/libhandy/libhandy_1.8.3.bb index 7f5f02a7ba..cf2c64f8d0 100644 --- a/meta/recipes-gnome/libhandy/libhandy_1.8.3.bb +++ b/meta/recipes-gnome/libhandy/libhandy_1.8.3.bb | |||
@@ -11,7 +11,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | |||
11 | 11 | ||
12 | SRC_URI = "git://gitlab.gnome.org/GNOME/libhandy.git;protocol=https;branch=libhandy-1-8" | 12 | SRC_URI = "git://gitlab.gnome.org/GNOME/libhandy.git;protocol=https;branch=libhandy-1-8" |
13 | SRCREV = "9b0071408ce86a3ef843806fddd723a85f6f2416" | 13 | SRCREV = "9b0071408ce86a3ef843806fddd723a85f6f2416" |
14 | S = "${WORKDIR}/git" | ||
15 | 14 | ||
16 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+))" | 15 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+))" |
17 | GIR_MESON_ENABLE_FLAG = 'enabled' | 16 | GIR_MESON_ENABLE_FLAG = 'enabled' |
diff --git a/meta/recipes-gnome/libportal/libportal_0.9.1.bb b/meta/recipes-gnome/libportal/libportal_0.9.1.bb index 970db65bc5..9713f70dbb 100644 --- a/meta/recipes-gnome/libportal/libportal_0.9.1.bb +++ b/meta/recipes-gnome/libportal/libportal_0.9.1.bb | |||
@@ -8,7 +8,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404" | |||
8 | 8 | ||
9 | SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=main" | 9 | SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=main" |
10 | SRCREV = "8f5dc8d192f6e31dafe69e35219e3b707bde71ce" | 10 | SRCREV = "8f5dc8d192f6e31dafe69e35219e3b707bde71ce" |
11 | S = "${WORKDIR}/git" | ||
12 | 11 | ||
13 | inherit meson gi-docgen gobject-introspection vala features_check pkgconfig | 12 | inherit meson gi-docgen gobject-introspection vala features_check pkgconfig |
14 | GIDOCGEN_MESON_OPTION = 'docs' | 13 | GIDOCGEN_MESON_OPTION = 'docs' |
diff --git a/meta/recipes-gnome/libsecret/libsecret_0.21.6.bb b/meta/recipes-gnome/libsecret/libsecret_0.21.6.bb index 4d801105fa..f40b1159eb 100644 --- a/meta/recipes-gnome/libsecret/libsecret_0.21.6.bb +++ b/meta/recipes-gnome/libsecret/libsecret_0.21.6.bb | |||
@@ -8,7 +8,6 @@ HOMEPAGE = "https://github.com/GNOME/libsecret" | |||
8 | BUGTRACKER = "https://gitlab.gnome.org/GNOME/libsecret/issues" | 8 | BUGTRACKER = "https://gitlab.gnome.org/GNOME/libsecret/issues" |
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6" | 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6" |
10 | 10 | ||
11 | |||
12 | inherit gnomebase gi-docgen vala gobject-introspection manpages | 11 | inherit gnomebase gi-docgen vala gobject-introspection manpages |
13 | 12 | ||
14 | DEPENDS += "glib-2.0 libgcrypt gettext-native" | 13 | DEPENDS += "glib-2.0 libgcrypt gettext-native" |
diff --git a/meta/recipes-gnome/libxmlb/libxmlb_0.3.22.bb b/meta/recipes-gnome/libxmlb/libxmlb_0.3.22.bb index 1d6ad58b68..761426148a 100644 --- a/meta/recipes-gnome/libxmlb/libxmlb_0.3.22.bb +++ b/meta/recipes-gnome/libxmlb/libxmlb_0.3.22.bb | |||
@@ -9,7 +9,6 @@ SRC_URI = " \ | |||
9 | file://run-ptest \ | 9 | file://run-ptest \ |
10 | " | 10 | " |
11 | SRCREV = "addcce32a3bd6a09303f052bd59fb758621d30fb" | 11 | SRCREV = "addcce32a3bd6a09303f052bd59fb758621d30fb" |
12 | S = "${WORKDIR}/git" | ||
13 | 12 | ||
14 | DEPENDS = "glib-2.0 xz zstd" | 13 | DEPENDS = "glib-2.0 xz zstd" |
15 | 14 | ||
diff --git a/meta/recipes-graphics/builder/builder_0.1.bb b/meta/recipes-graphics/builder/builder_0.1.bb index 39abaf31ce..b8a7798364 100644 --- a/meta/recipes-graphics/builder/builder_0.1.bb +++ b/meta/recipes-graphics/builder/builder_0.1.bb | |||
@@ -7,8 +7,7 @@ LIC_FILES_CHKSUM = "file://builder_session.sh;endline=5;md5=84796c3c41785d86100f | |||
7 | SRC_URI = "file://builder_session.sh \ | 7 | SRC_URI = "file://builder_session.sh \ |
8 | " | 8 | " |
9 | 9 | ||
10 | S = "${WORKDIR}/sources" | 10 | S = "${UNPACKDIR}" |
11 | UNPACKDIR = "${S}" | ||
12 | 11 | ||
13 | RDEPENDS:${PN} = "mini-x-session" | 12 | RDEPENDS:${PN} = "mini-x-session" |
14 | 13 | ||
diff --git a/meta/recipes-graphics/cairo/cairo_1.18.4.bb b/meta/recipes-graphics/cairo/cairo_1.18.4.bb index 81c7aa66f0..3f6d02f8d4 100644 --- a/meta/recipes-graphics/cairo/cairo_1.18.4.bb +++ b/meta/recipes-graphics/cairo/cairo_1.18.4.bb | |||
@@ -25,7 +25,6 @@ LICENSE:${PN}-src = "(MPL-1.1 | LGPL-2.1-only)${@bb.utils.contains('PACKAGECONFI | |||
25 | LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77 \ | 25 | LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77 \ |
26 | ${@bb.utils.contains('PACKAGECONFIG', 'trace', 'file://util/cairo-trace/COPYING-GPL-3;md5=d32239bcb673463ab874e80d47fae504', '', d)}" | 26 | ${@bb.utils.contains('PACKAGECONFIG', 'trace', 'file://util/cairo-trace/COPYING-GPL-3;md5=d32239bcb673463ab874e80d47fae504', '', d)}" |
27 | 27 | ||
28 | |||
29 | DEPENDS = "fontconfig freetype glib-2.0 libpng pixman zlib" | 28 | DEPENDS = "fontconfig freetype glib-2.0 libpng pixman zlib" |
30 | 29 | ||
31 | SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \ | 30 | SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \ |
diff --git a/meta/recipes-graphics/glslang/glslang_1.4.313.0.bb b/meta/recipes-graphics/glslang/glslang_1.4.313.0.bb index 988b2ef2a3..cb754c6ac8 100644 --- a/meta/recipes-graphics/glslang/glslang_1.4.313.0.bb +++ b/meta/recipes-graphics/glslang/glslang_1.4.313.0.bb | |||
@@ -19,7 +19,6 @@ PE = "1" | |||
19 | # The tags versions should always be sdk-x.y.z, as this is what | 19 | # The tags versions should always be sdk-x.y.z, as this is what |
20 | # upstream considers a release. | 20 | # upstream considers a release. |
21 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 21 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
22 | S = "${WORKDIR}/git" | ||
23 | 22 | ||
24 | inherit cmake python3native | 23 | inherit cmake python3native |
25 | 24 | ||
diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/meta/recipes-graphics/graphene/graphene_1.10.8.bb index e2e82b32aa..d14a6403ff 100644 --- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb +++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb | |||
@@ -3,7 +3,6 @@ HOMEPAGE = "http://ebassi.github.io/graphene/" | |||
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a7d871d9e23c450c421a85bb2819f648" | 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a7d871d9e23c450c421a85bb2819f648" |
5 | 5 | ||
6 | |||
7 | inherit gnomebase gobject-introspection gtk-doc | 6 | inherit gnomebase gobject-introspection gtk-doc |
8 | 7 | ||
9 | SRC_URI += "file://float-div.patch" | 8 | SRC_URI += "file://float-div.patch" |
diff --git a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.30.bb b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.30.bb index dad752cb19..1eae416c01 100644 --- a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.30.bb +++ b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.30.bb | |||
@@ -15,8 +15,6 @@ SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https;bra | |||
15 | file://0001-lib-igt_aux.c-address-procps-4.0.5-compatibility.patch \ | 15 | file://0001-lib-igt_aux.c-address-procps-4.0.5-compatibility.patch \ |
16 | " | 16 | " |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | DEPENDS += "libdrm libpciaccess cairo udev glib-2.0 procps libunwind kmod openssl elfutils alsa-lib json-c bison-native" | 18 | DEPENDS += "libdrm libpciaccess cairo udev glib-2.0 procps libunwind kmod openssl elfutils alsa-lib json-c bison-native" |
21 | RDEPENDS:${PN} += "bash perl" | 19 | RDEPENDS:${PN} += "bash perl" |
22 | RDEPENDS:${PN}-tests += "bash" | 20 | RDEPENDS:${PN}-tests += "bash" |
diff --git a/meta/recipes-graphics/kmscube/kmscube_git.bb b/meta/recipes-graphics/kmscube/kmscube_git.bb index 7035dd446b..013fdfb6bf 100644 --- a/meta/recipes-graphics/kmscube/kmscube_git.bb +++ b/meta/recipes-graphics/kmscube/kmscube_git.bb | |||
@@ -16,8 +16,6 @@ SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=http | |||
16 | 16 | ||
17 | UPSTREAM_CHECK_COMMITS = "1" | 17 | UPSTREAM_CHECK_COMMITS = "1" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | BASEPV = "0.0.1" | 19 | BASEPV = "0.0.1" |
22 | PV = "${BASEPV}+git" | 20 | PV = "${BASEPV}+git" |
23 | 21 | ||
diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb b/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb index 384afa6907..2427ce3f96 100644 --- a/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb +++ b/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb | |||
@@ -11,7 +11,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b" | |||
11 | 11 | ||
12 | SRC_URI = "git://github.com/anholt/libepoxy;branch=master;protocol=https" | 12 | SRC_URI = "git://github.com/anholt/libepoxy;branch=master;protocol=https" |
13 | SRCREV = "c84bc9459357a40e46e2fec0408d04fbdde2c973" | 13 | SRCREV = "c84bc9459357a40e46e2fec0408d04fbdde2c973" |
14 | S = "${WORKDIR}/git" | ||
15 | 14 | ||
16 | inherit meson pkgconfig features_check github-releases | 15 | inherit meson pkgconfig features_check github-releases |
17 | 16 | ||
diff --git a/meta/recipes-graphics/libfakekey/libfakekey_git.bb b/meta/recipes-graphics/libfakekey/libfakekey_git.bb index 5f902d3a67..7416b84538 100644 --- a/meta/recipes-graphics/libfakekey/libfakekey_git.bb +++ b/meta/recipes-graphics/libfakekey/libfakekey_git.bb | |||
@@ -15,8 +15,6 @@ PV = "0.3+git" | |||
15 | 15 | ||
16 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https" | 16 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https" |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | inherit autotools pkgconfig gettext features_check | 18 | inherit autotools pkgconfig gettext features_check |
21 | 19 | ||
22 | # The libxtst requires x11 in DISTRO_FEATURES | 20 | # The libxtst requires x11 in DISTRO_FEATURES |
diff --git a/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb b/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb new file mode 100644 index 0000000000..1e4c5b860c --- /dev/null +++ b/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb | |||
@@ -0,0 +1,37 @@ | |||
1 | SUMMARY = "the GL Vendor-Neutral Dispatch library" | ||
2 | DESCRIPTION = "libglvnd is a vendor-neutral dispatch layer for arbitrating \ | ||
3 | OpenGL API calls between multiple vendors." | ||
4 | HOMEPAGE = "https://gitlab.freedesktop.org/glvnd/libglvnd" | ||
5 | LICENSE = "MIT & BSD-1-Clause & BSD-3-Clause & GPL-3.0-with-autoconf-exception" | ||
6 | LIC_FILES_CHKSUM = "file://README.md;beginline=323;md5=7ac5f0111f648b92fe5427efeb08e8c4" | ||
7 | |||
8 | SRC_URI = "git://gitlab.freedesktop.org/glvnd/libglvnd.git;protocol=https;branch=master" | ||
9 | |||
10 | SRCREV = "faa23f21fc677af5792825dc30cb1ccef4bf33a6" | ||
11 | |||
12 | REQUIRED_DISTRO_FEATURES = "opengl glvnd" | ||
13 | |||
14 | inherit meson pkgconfig features_check | ||
15 | |||
16 | PACKAGECONFIG ?= "\ | ||
17 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ | ||
18 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl gles1 gles2', '', d)} \ | ||
19 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', d)} \ | ||
20 | " | ||
21 | |||
22 | PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libx11 libxext xorgproto" | ||
23 | PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,libx11 libxext xorgproto,,virtual-libglx-icd" | ||
24 | PACKAGECONFIG[egl] = "-Degl=true,-Degl=false,,virtual-libegl-icd" | ||
25 | PACKAGECONFIG[gles1] = "-Dgles1=true,-Dgles1=false," | ||
26 | PACKAGECONFIG[gles2] = "-Dgles2=true,-Dgles2=false," | ||
27 | |||
28 | BBCLASSEXTEND = "native nativesdk" | ||
29 | |||
30 | PROVIDES = " \ | ||
31 | ${@bb.utils.contains('PACKAGECONFIG', 'glx', 'virtual/libgl', '', d)} \ | ||
32 | ${@bb.utils.contains('PACKAGECONFIG', 'gles1', 'virtual/libgles1', '', d)} \ | ||
33 | ${@bb.utils.contains('PACKAGECONFIG', 'gles2', 'virtual/libgles2 virtual/libgles3', '', d)} \ | ||
34 | ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \ | ||
35 | " | ||
36 | |||
37 | RPROVIDES:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'egl', 'libegl', '', d)}" | ||
diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox_1.14.bb b/meta/recipes-graphics/libmatchbox/libmatchbox_1.14.bb index 87ec4c812f..9de44d4c95 100644 --- a/meta/recipes-graphics/libmatchbox/libmatchbox_1.14.bb +++ b/meta/recipes-graphics/libmatchbox/libmatchbox_1.14.bb | |||
@@ -16,8 +16,6 @@ DEPENDS = "virtual/libx11 libxext" | |||
16 | SRCREV = "04b214a0d5cf8285e196d90bf2332626b12c74ef" | 16 | SRCREV = "04b214a0d5cf8285e196d90bf2332626b12c74ef" |
17 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https;tag=${PV}" | 17 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https;tag=${PV}" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | inherit autotools pkgconfig features_check | 19 | inherit autotools pkgconfig features_check |
22 | # depends on virtual/libx11 | 20 | # depends on virtual/libx11 |
23 | REQUIRED_DISTRO_FEATURES = "x11" | 21 | REQUIRED_DISTRO_FEATURES = "x11" |
diff --git a/meta/recipes-graphics/libsdl2/libsdl2_2.32.8.bb b/meta/recipes-graphics/libsdl2/libsdl2_2.32.8.bb index 57758de8b3..c56027d4ab 100644 --- a/meta/recipes-graphics/libsdl2/libsdl2_2.32.8.bb +++ b/meta/recipes-graphics/libsdl2/libsdl2_2.32.8.bb | |||
@@ -23,7 +23,7 @@ PROVIDES = "virtual/libsdl2" | |||
23 | 23 | ||
24 | SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz" | 24 | SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz" |
25 | 25 | ||
26 | S = "${WORKDIR}/SDL2-${PV}" | 26 | S = "${UNPACKDIR}/SDL2-${PV}" |
27 | 27 | ||
28 | SRC_URI[sha256sum] = "0ca83e9c9b31e18288c7ec811108e58bac1f1bb5ec6577ad386830eac51c787e" | 28 | SRC_URI[sha256sum] = "0ca83e9c9b31e18288c7ec811108e58bac1f1bb5ec6577ad386830eac51c787e" |
29 | 29 | ||
diff --git a/meta/recipes-graphics/libva/libva-utils_2.22.0.bb b/meta/recipes-graphics/libva/libva-utils_2.22.0.bb index 078cd7ea0a..de36f01afd 100644 --- a/meta/recipes-graphics/libva/libva-utils_2.22.0.bb +++ b/meta/recipes-graphics/libva/libva-utils_2.22.0.bb | |||
@@ -16,7 +16,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e" | |||
16 | 16 | ||
17 | SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.22-branch;protocol=https" | 17 | SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.22-branch;protocol=https" |
18 | SRCREV = "1a13ae13382b7b548f3a7e8035e1d7df66662c0a" | 18 | SRCREV = "1a13ae13382b7b548f3a7e8035e1d7df66662c0a" |
19 | S = "${WORKDIR}/git" | ||
20 | 19 | ||
21 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$" | 20 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$" |
22 | 21 | ||
diff --git a/meta/recipes-graphics/libva/libva.inc b/meta/recipes-graphics/libva/libva.inc index 784ab8b79f..5dda701ed0 100644 --- a/meta/recipes-graphics/libva/libva.inc +++ b/meta/recipes-graphics/libva/libva.inc | |||
@@ -20,7 +20,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/libva-${PV}.tar.bz2" | |||
20 | LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" | 20 | LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" |
21 | SRC_URI[sha256sum] = "e3da2250654c8d52b3f59f8cb3f3d8e7fb1a2ee64378dbc400fbc5663de7edb8" | 21 | SRC_URI[sha256sum] = "e3da2250654c8d52b3f59f8cb3f3d8e7fb1a2ee64378dbc400fbc5663de7edb8" |
22 | 22 | ||
23 | S = "${WORKDIR}/libva-${PV}" | 23 | S = "${UNPACKDIR}/libva-${PV}" |
24 | 24 | ||
25 | GITHUB_BASE_URI = "https://github.com/intel/libva/releases" | 25 | GITHUB_BASE_URI = "https://github.com/intel/libva/releases" |
26 | 26 | ||
diff --git a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb index 8a4cfef631..d8be3417cc 100644 --- a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb +++ b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb | |||
@@ -11,9 +11,7 @@ RCONFLICTS:${PN} = "matchbox-common" | |||
11 | 11 | ||
12 | SRC_URI = "file://matchbox-session" | 12 | SRC_URI = "file://matchbox-session" |
13 | 13 | ||
14 | S = "${WORKDIR}/sources" | 14 | S = "${UNPACKDIR}" |
15 | UNPACKDIR = "${S}" | ||
16 | |||
17 | 15 | ||
18 | inherit update-alternatives | 16 | inherit update-alternatives |
19 | 17 | ||
diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb index c8b6f07ed0..3359193d65 100644 --- a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb +++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb | |||
@@ -14,8 +14,6 @@ SRCREV = "ce8c1053270d960a7235ab5c3435f707541810a4" | |||
14 | SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager;branch=master;protocol=https \ | 14 | SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager;branch=master;protocol=https \ |
15 | file://kbdconfig" | 15 | file://kbdconfig" |
16 | 16 | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | inherit autotools pkgconfig features_check | 17 | inherit autotools pkgconfig features_check |
20 | # depends on virtual/libx11 | 18 | # depends on virtual/libx11 |
21 | REQUIRED_DISTRO_FEATURES = "x11" | 19 | REQUIRED_DISTRO_FEATURES = "x11" |
diff --git a/meta/recipes-graphics/mesa/libglu_9.0.3.bb b/meta/recipes-graphics/mesa/libglu_9.0.3.bb index 9e23ff830f..0e38671e41 100644 --- a/meta/recipes-graphics/mesa/libglu_9.0.3.bb +++ b/meta/recipes-graphics/mesa/libglu_9.0.3.bb | |||
@@ -16,7 +16,7 @@ SRC_URI = "https://archive.mesa3d.org/glu/glu-${PV}.tar.xz \ | |||
16 | 16 | ||
17 | SRC_URI[sha256sum] = "bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f" | 17 | SRC_URI[sha256sum] = "bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f" |
18 | 18 | ||
19 | S = "${WORKDIR}/glu-${PV}" | 19 | S = "${UNPACKDIR}/glu-${PV}" |
20 | 20 | ||
21 | DEPENDS = "virtual/libgl" | 21 | DEPENDS = "virtual/libgl" |
22 | 22 | ||
diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb index 2bdabddc28..e2f03c81c4 100644 --- a/meta/recipes-graphics/mesa/mesa-gl.bb +++ b/meta/recipes-graphics/mesa/mesa-gl.bb | |||
@@ -4,7 +4,7 @@ SUMMARY += " (OpenGL only, no EGL/GLES)" | |||
4 | 4 | ||
5 | PROVIDES = "virtual/libgl virtual/mesa" | 5 | PROVIDES = "virtual/libgl virtual/mesa" |
6 | 6 | ||
7 | S = "${WORKDIR}/mesa-${PV}" | 7 | S = "${UNPACKDIR}/mesa-${PV}" |
8 | 8 | ||
9 | TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" | 9 | TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" |
10 | 10 | ||
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 56ac18ea53..6b42a238cc 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc | |||
@@ -81,11 +81,10 @@ EXTRA_OEMESON = " \ | |||
81 | def strip_comma(s): | 81 | def strip_comma(s): |
82 | return s.strip(',') | 82 | return s.strip(',') |
83 | 83 | ||
84 | |||
85 | PACKAGECONFIG = " \ | 84 | PACKAGECONFIG = " \ |
86 | gallium \ | 85 | gallium \ |
87 | video-codecs \ | 86 | video-codecs \ |
88 | ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \ | 87 | ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \ |
89 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ | 88 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ |
90 | ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ | 89 | ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ |
91 | " | 90 | " |
@@ -287,7 +286,7 @@ python __anonymous() { | |||
287 | if 'glvnd' in pkgconfig: | 286 | if 'glvnd' in pkgconfig: |
288 | for p in ("libegl", "libglx"): | 287 | for p in ("libegl", "libglx"): |
289 | fullp = mlprefix + p + "-mesa" + suffix | 288 | fullp = mlprefix + p + "-mesa" + suffix |
290 | d.appendVar("RPROVIDES:" + fullp, '%s-icd' % p) | 289 | d.appendVar("RPROVIDES:" + fullp, ' virtual-%s-icd' % p) |
291 | else: | 290 | else: |
292 | for p in (("egl", "libegl", "libegl1"), | 291 | for p in (("egl", "libegl", "libegl1"), |
293 | ("opengl", "libgl", "libgl1"), | 292 | ("opengl", "libgl", "libgl1"), |
diff --git a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb index 48d50c8f66..e90786df44 100644 --- a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb +++ b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb | |||
@@ -3,7 +3,6 @@ DESCRIPTION = "Simple session manager for X, that provides just the right boiler | |||
3 | HOMEPAGE = "http://www.yoctoproject.org" | 3 | HOMEPAGE = "http://www.yoctoproject.org" |
4 | BUGTRACKER = "http://bugzilla.pokylinux.org" | 4 | BUGTRACKER = "http://bugzilla.pokylinux.org" |
5 | 5 | ||
6 | |||
7 | LICENSE = "GPL-2.0-only" | 6 | LICENSE = "GPL-2.0-only" |
8 | LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487" | 7 | LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487" |
9 | 8 | ||
@@ -12,8 +11,7 @@ RCONFLICTS:${PN} = "matchbox-common" | |||
12 | 11 | ||
13 | SRC_URI = "file://mini-x-session" | 12 | SRC_URI = "file://mini-x-session" |
14 | 13 | ||
15 | S = "${WORKDIR}/sources" | 14 | S = "${UNPACKDIR}" |
16 | UNPACKDIR = "${S}" | ||
17 | 15 | ||
18 | RDEPENDS:${PN} = "sudo" | 16 | RDEPENDS:${PN} = "sudo" |
19 | 17 | ||
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb index 41335cbf6d..f5670cacfb 100644 --- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb +++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb | |||
@@ -2,7 +2,6 @@ | |||
2 | # Copyright (C) 2011 Intel Corporation | 2 | # Copyright (C) 2011 Intel Corporation |
3 | # | 3 | # |
4 | 4 | ||
5 | |||
6 | inherit packagegroup features_check | 5 | inherit packagegroup features_check |
7 | REQUIRED_DISTRO_FEATURES = "x11" | 6 | REQUIRED_DISTRO_FEATURES = "x11" |
8 | 7 | ||
diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb index b3469fabe1..59f014afee 100644 --- a/meta/recipes-graphics/piglit/piglit_git.bb +++ b/meta/recipes-graphics/piglit/piglit_git.bb | |||
@@ -20,8 +20,6 @@ SRCREV = "a0a27e528f643dfeb785350a1213bfff09681950" | |||
20 | # (when PV goes above 1.0 remove the trailing r) | 20 | # (when PV goes above 1.0 remove the trailing r) |
21 | PV = "1.0+gitr" | 21 | PV = "1.0+gitr" |
22 | 22 | ||
23 | S = "${WORKDIR}/git" | ||
24 | |||
25 | X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}" | 23 | X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}" |
26 | X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}" | 24 | X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}" |
27 | 25 | ||
diff --git a/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb b/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb index ee5173dc83..a30cdd1dcb 100644 --- a/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb +++ b/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb | |||
@@ -10,8 +10,7 @@ SRC_URI = "file://pong-clock-no-flicker.c" | |||
10 | 10 | ||
11 | LIC_FILES_CHKSUM = "file://pong-clock-no-flicker.c;beginline=1;endline=23;md5=dd248d50f73f746d1ee78586b0b2ebd3" | 11 | LIC_FILES_CHKSUM = "file://pong-clock-no-flicker.c;beginline=1;endline=23;md5=dd248d50f73f746d1ee78586b0b2ebd3" |
12 | 12 | ||
13 | S = "${WORKDIR}/sources" | 13 | S = "${UNPACKDIR}" |
14 | UNPACKDIR = "${S}" | ||
15 | 14 | ||
16 | do_compile () { | 15 | do_compile () { |
17 | ${CC} ${CFLAGS} ${LDFLAGS} -o pong-clock pong-clock-no-flicker.c `pkg-config --cflags --libs x11 xau xdmcp` | 16 | ${CC} ${CFLAGS} ${LDFLAGS} -o pong-clock pong-clock-no-flicker.c `pkg-config --cflags --libs x11 xau xdmcp` |
diff --git a/meta/recipes-graphics/shaderc/shaderc_2025.2.bb b/meta/recipes-graphics/shaderc/shaderc_2025.2.bb index 8c451e6e46..9e56b97830 100644 --- a/meta/recipes-graphics/shaderc/shaderc_2025.2.bb +++ b/meta/recipes-graphics/shaderc/shaderc_2025.2.bb | |||
@@ -12,7 +12,6 @@ SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main;tag=v$ | |||
12 | file://0002-libshaderc_util-fix-glslang-header-file-location.patch \ | 12 | file://0002-libshaderc_util-fix-glslang-header-file-location.patch \ |
13 | " | 13 | " |
14 | UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$" | 14 | UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$" |
15 | S = "${WORKDIR}/git" | ||
16 | 15 | ||
17 | inherit cmake python3native pkgconfig | 16 | inherit cmake python3native pkgconfig |
18 | 17 | ||
diff --git a/meta/recipes-graphics/spir/spirv-headers_1.4.313.0.bb b/meta/recipes-graphics/spir/spirv-headers_1.4.313.0.bb index 981c2599ae..a551814689 100644 --- a/meta/recipes-graphics/spir/spirv-headers_1.4.313.0.bb +++ b/meta/recipes-graphics/spir/spirv-headers_1.4.313.0.bb | |||
@@ -13,7 +13,6 @@ PE = "1" | |||
13 | # The tags versions should always be sdk-x.y.z, as this is what | 13 | # The tags versions should always be sdk-x.y.z, as this is what |
14 | # upstream considers a release. | 14 | # upstream considers a release. |
15 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 15 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
16 | S = "${WORKDIR}/git" | ||
17 | 16 | ||
18 | inherit cmake | 17 | inherit cmake |
19 | 18 | ||
diff --git a/meta/recipes-graphics/spir/spirv-llvm-translator_20.1.2.bb b/meta/recipes-graphics/spir/spirv-llvm-translator_20.1.2.bb index bc2bebcda8..4952e8ba4f 100644 --- a/meta/recipes-graphics/spir/spirv-llvm-translator_20.1.2.bb +++ b/meta/recipes-graphics/spir/spirv-llvm-translator_20.1.2.bb | |||
@@ -14,8 +14,6 @@ SRCREV_spirv = "6dd8f2a1681a27f16c53d932d2765920f312aeb2" | |||
14 | 14 | ||
15 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | 15 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" |
16 | 16 | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | DEPENDS = "clang spirv-tools spirv-headers" | 17 | DEPENDS = "clang spirv-tools spirv-headers" |
20 | 18 | ||
21 | inherit cmake pkgconfig python3native | 19 | inherit cmake pkgconfig python3native |
diff --git a/meta/recipes-graphics/spir/spirv-tools_1.4.313.0.bb b/meta/recipes-graphics/spir/spirv-tools_1.4.313.0.bb index 57dce4f3fd..4594a1a942 100644 --- a/meta/recipes-graphics/spir/spirv-tools_1.4.313.0.bb +++ b/meta/recipes-graphics/spir/spirv-tools_1.4.313.0.bb | |||
@@ -17,7 +17,6 @@ PE = "1" | |||
17 | # The tags versions should always be sdk-x.y.z, as this is what | 17 | # The tags versions should always be sdk-x.y.z, as this is what |
18 | # upstream considers a release. | 18 | # upstream considers a release. |
19 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 19 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
20 | S = "${WORKDIR}/git" | ||
21 | 20 | ||
22 | inherit cmake | 21 | inherit cmake |
23 | 22 | ||
diff --git a/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb b/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb index 55b4065a4a..bdc91d7455 100644 --- a/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb +++ b/meta/recipes-graphics/startup-notification/startup-notification_0.12.bb | |||
@@ -13,10 +13,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a2ae2cd47d6d2f238410f5364dfbc0f2 \ | |||
13 | file://libsn/sn-common.h;endline=23;md5=6d05bc0ebdcf5513a6e77cb26e8cd7e2 \ | 13 | file://libsn/sn-common.h;endline=23;md5=6d05bc0ebdcf5513a6e77cb26e8cd7e2 \ |
14 | file://test/test-boilerplate.h;endline=23;md5=923e706b2a70586176eead261cc5bb98" | 14 | file://test/test-boilerplate.h;endline=23;md5=923e706b2a70586176eead261cc5bb98" |
15 | 15 | ||
16 | |||
17 | SECTION = "libs" | 16 | SECTION = "libs" |
18 | 17 | ||
19 | |||
20 | DEPENDS = "virtual/libx11 libsm xcb-util" | 18 | DEPENDS = "virtual/libx11 libsm xcb-util" |
21 | 19 | ||
22 | inherit autotools pkgconfig features_check | 20 | inherit autotools pkgconfig features_check |
diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb index 584a19a42a..7d70c37c46 100644 --- a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb +++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb | |||
@@ -15,7 +15,7 @@ SRC_URI = "https://github.com/liberationfonts/liberation-fonts/files/7261482/lib | |||
15 | SRC_URI[sha256sum] = "7191c669bf38899f73a2094ed00f7b800553364f90e2637010a69c0e268f25d0" | 15 | SRC_URI[sha256sum] = "7191c669bf38899f73a2094ed00f7b800553364f90e2637010a69c0e268f25d0" |
16 | GITHUB_BASE_URI = "https://github.com/liberationfonts/liberation-fonts/releases" | 16 | GITHUB_BASE_URI = "https://github.com/liberationfonts/liberation-fonts/releases" |
17 | 17 | ||
18 | S = "${WORKDIR}/liberation-fonts-ttf-${PV}" | 18 | S = "${UNPACKDIR}/liberation-fonts-ttf-${PV}" |
19 | 19 | ||
20 | inherit allarch fontcache github-releases | 20 | inherit allarch fontcache github-releases |
21 | 21 | ||
diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer_1.1.0.bb b/meta/recipes-graphics/virglrenderer/virglrenderer_1.1.0.bb index 07abde1c4f..11c3c8c963 100644 --- a/meta/recipes-graphics/virglrenderer/virglrenderer_1.1.0.bb +++ b/meta/recipes-graphics/virglrenderer/virglrenderer_1.1.0.bb | |||
@@ -15,8 +15,6 @@ SRC_URI = "git://gitlab.freedesktop.org/virgl/virglrenderer.git;branch=main;prot | |||
15 | file://0001-vrend-Fix-int-conversion-fatal-build-error-with-GCC-.patch \ | 15 | file://0001-vrend-Fix-int-conversion-fatal-build-error-with-GCC-.patch \ |
16 | " | 16 | " |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | inherit meson pkgconfig features_check | 18 | inherit meson pkgconfig features_check |
21 | 19 | ||
22 | PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'venus', '', d)}" | 20 | PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'venus', '', d)}" |
diff --git a/meta/recipes-graphics/vulkan/vulkan-headers_1.4.313.0.bb b/meta/recipes-graphics/vulkan/vulkan-headers_1.4.313.0.bb index 12a6923ac6..1136e4795a 100644 --- a/meta/recipes-graphics/vulkan/vulkan-headers_1.4.313.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-headers_1.4.313.0.bb | |||
@@ -13,8 +13,6 @@ SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol | |||
13 | 13 | ||
14 | SRCREV = "409c16be502e39fe70dd6fe2d9ad4842ef2c9a53" | 14 | SRCREV = "409c16be502e39fe70dd6fe2d9ad4842ef2c9a53" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit cmake | 16 | inherit cmake |
19 | 17 | ||
20 | FILES:${PN} += "${datadir}/vulkan" | 18 | FILES:${PN} += "${datadir}/vulkan" |
diff --git a/meta/recipes-graphics/vulkan/vulkan-loader_1.4.313.0.bb b/meta/recipes-graphics/vulkan/vulkan-loader_1.4.313.0.bb index 73f80d64ff..c739ba15dc 100644 --- a/meta/recipes-graphics/vulkan/vulkan-loader_1.4.313.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-loader_1.4.313.0.bb | |||
@@ -12,8 +12,6 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" | |||
12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.4.313;protocol=https" | 12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.4.313;protocol=https" |
13 | SRCREV = "fb78607414e154c7a5c01b23177ba719c8a44909" | 13 | SRCREV = "fb78607414e154c7a5c01b23177ba719c8a44909" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | REQUIRED_DISTRO_FEATURES = "vulkan" | 15 | REQUIRED_DISTRO_FEATURES = "vulkan" |
18 | 16 | ||
19 | inherit cmake features_check pkgconfig | 17 | inherit cmake features_check pkgconfig |
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb index 844e0e6b68..b7c9ddd2fe 100644 --- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb +++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb | |||
@@ -13,7 +13,6 @@ UPSTREAM_CHECK_COMMITS = "1" | |||
13 | SRCREV = "d27205d14d01ea7d33efc8ba2862478612370182" | 13 | SRCREV = "d27205d14d01ea7d33efc8ba2862478612370182" |
14 | 14 | ||
15 | UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for" | 15 | UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for" |
16 | S = "${WORKDIR}/git" | ||
17 | 16 | ||
18 | REQUIRED_DISTRO_FEATURES = 'vulkan' | 17 | REQUIRED_DISTRO_FEATURES = 'vulkan' |
19 | 18 | ||
diff --git a/meta/recipes-graphics/vulkan/vulkan-tools_1.4.313.0.bb b/meta/recipes-graphics/vulkan/vulkan-tools_1.4.313.0.bb index 85578df467..c73e5caa13 100644 --- a/meta/recipes-graphics/vulkan/vulkan-tools_1.4.313.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-tools_1.4.313.0.bb | |||
@@ -9,8 +9,6 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" | |||
9 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=vulkan-sdk-1.4.313;protocol=https" | 9 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=vulkan-sdk-1.4.313;protocol=https" |
10 | SRCREV = "ad2f0170f9466fadd96e3fdd65fad02cd3a3739b" | 10 | SRCREV = "ad2f0170f9466fadd96e3fdd65fad02cd3a3739b" |
11 | 11 | ||
12 | S = "${WORKDIR}/git" | ||
13 | |||
14 | inherit cmake features_check pkgconfig | 12 | inherit cmake features_check pkgconfig |
15 | ANY_OF_DISTRO_FEATURES = "x11 wayland" | 13 | ANY_OF_DISTRO_FEATURES = "x11 wayland" |
16 | REQUIRED_DISTRO_FEATURES = "vulkan" | 14 | REQUIRED_DISTRO_FEATURES = "vulkan" |
diff --git a/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.4.313.0.bb b/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.4.313.0.bb index 785c6f305b..1b38b6ec3a 100644 --- a/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.4.313.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.4.313.0.bb | |||
@@ -12,8 +12,6 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=4ca2d6799091aaa98a8520f1b793939b" | |||
12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Utility-Libraries.git;branch=vulkan-sdk-1.4.313;protocol=https" | 12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Utility-Libraries.git;branch=vulkan-sdk-1.4.313;protocol=https" |
13 | SRCREV = "4e246c56ec5afb5ad66b9b04374d39ac04675c8e" | 13 | SRCREV = "4e246c56ec5afb5ad66b9b04374d39ac04675c8e" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | REQUIRED_DISTRO_FEATURES = "vulkan" | 15 | REQUIRED_DISTRO_FEATURES = "vulkan" |
18 | 16 | ||
19 | DEPENDS = "vulkan-headers" | 17 | DEPENDS = "vulkan-headers" |
diff --git a/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.4.313.0.bb b/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.4.313.0.bb index 65cafa359e..63a3aa4ae6 100644 --- a/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.4.313.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.4.313.0.bb | |||
@@ -11,8 +11,6 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b1a17d548e004bfbbfaa0c40988b6b31" | |||
11 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.4.313;protocol=https" | 11 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.4.313;protocol=https" |
12 | SRCREV = "50b87dd4be883b63c10e3c4f7b9c5aac0c82efd3" | 12 | SRCREV = "50b87dd4be883b63c10e3c4f7b9c5aac0c82efd3" |
13 | 13 | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | REQUIRED_DISTRO_FEATURES = "vulkan" | 14 | REQUIRED_DISTRO_FEATURES = "vulkan" |
17 | 15 | ||
18 | DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang vulkan-utility-libraries" | 16 | DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang vulkan-utility-libraries" |
diff --git a/meta/recipes-graphics/vulkan/vulkan-volk_1.4.313.0.bb b/meta/recipes-graphics/vulkan/vulkan-volk_1.4.313.0.bb index 5e661080a0..cde1be1671 100644 --- a/meta/recipes-graphics/vulkan/vulkan-volk_1.4.313.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-volk_1.4.313.0.bb | |||
@@ -12,8 +12,6 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fb3d6e8051a71edca1e54bc38d35e5af" | |||
12 | SRC_URI = "git://github.com/zeux/volk.git;branch=master;protocol=https" | 12 | SRC_URI = "git://github.com/zeux/volk.git;branch=master;protocol=https" |
13 | SRCREV = "43c29e655cb8117fd9cfb65ad9cefe2d40965102" | 13 | SRCREV = "43c29e655cb8117fd9cfb65ad9cefe2d40965102" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | REQUIRED_DISTRO_FEATURES = "vulkan" | 15 | REQUIRED_DISTRO_FEATURES = "vulkan" |
18 | 16 | ||
19 | DEPENDS = "vulkan-headers" | 17 | DEPENDS = "vulkan-headers" |
diff --git a/meta/recipes-graphics/waffle/waffle_1.8.1.bb b/meta/recipes-graphics/waffle/waffle_1.8.1.bb index 684124bc4d..606881e0c9 100644 --- a/meta/recipes-graphics/waffle/waffle_1.8.1.bb +++ b/meta/recipes-graphics/waffle/waffle_1.8.1.bb | |||
@@ -12,7 +12,6 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \ | |||
12 | SRC_URI = "git://gitlab.freedesktop.org/mesa/waffle.git;protocol=https;branch=maint-1.8 \ | 12 | SRC_URI = "git://gitlab.freedesktop.org/mesa/waffle.git;protocol=https;branch=maint-1.8 \ |
13 | " | 13 | " |
14 | SRCREV = "49abc7cb5f73cc6852136c91da49ea3a338960e4" | 14 | SRCREV = "49abc7cb5f73cc6852136c91da49ea3a338960e4" |
15 | S = "${WORKDIR}/git" | ||
16 | 15 | ||
17 | inherit meson features_check lib_package bash-completion pkgconfig | 16 | inherit meson features_check lib_package bash-completion pkgconfig |
18 | 17 | ||
diff --git a/meta/recipes-graphics/wayland/libinput_1.28.1.bb b/meta/recipes-graphics/wayland/libinput_1.28.1.bb index c10422bf9b..521a7f9a09 100644 --- a/meta/recipes-graphics/wayland/libinput_1.28.1.bb +++ b/meta/recipes-graphics/wayland/libinput_1.28.1.bb | |||
@@ -16,7 +16,6 @@ SRC_URI = "git://gitlab.freedesktop.org/libinput/libinput.git;protocol=https;bra | |||
16 | file://run-ptest \ | 16 | file://run-ptest \ |
17 | " | 17 | " |
18 | SRCREV = "4f7b4ef0e4eb5d569df36be387579858eba349bb" | 18 | SRCREV = "4f7b4ef0e4eb5d569df36be387579858eba349bb" |
19 | S = "${WORKDIR}/git" | ||
20 | 19 | ||
21 | UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" | 20 | UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" |
22 | 21 | ||
diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb index 5723655a9b..fc817d113f 100644 --- a/meta/recipes-graphics/wayland/weston-init.bb +++ b/meta/recipes-graphics/wayland/weston-init.bb | |||
@@ -13,8 +13,7 @@ SRC_URI = "file://init \ | |||
13 | file://weston-autologin \ | 13 | file://weston-autologin \ |
14 | file://weston-start" | 14 | file://weston-start" |
15 | 15 | ||
16 | S = "${WORKDIR}/sources" | 16 | S = "${UNPACKDIR}" |
17 | UNPACKDIR = "${S}" | ||
18 | 17 | ||
19 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)}" | 18 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)}" |
20 | PACKAGECONFIG:append:qemuriscv64 = " use-pixman" | 19 | PACKAGECONFIG:append:qemuriscv64 = " use-pixman" |
diff --git a/meta/recipes-graphics/wayland/weston_14.0.2.bb b/meta/recipes-graphics/wayland/weston_14.0.2.bb index 03b49d730e..451fb961a1 100644 --- a/meta/recipes-graphics/wayland/weston_14.0.2.bb +++ b/meta/recipes-graphics/wayland/weston_14.0.2.bb | |||
@@ -94,7 +94,6 @@ PACKAGECONFIG[pipewire] = "-Dbackend-pipewire=true,-Dbackend-pipewire=false,pipe | |||
94 | # VNC remote screensharing | 94 | # VNC remote screensharing |
95 | PACKAGECONFIG[vnc] = "-Dbackend-vnc=true,-Dbackend-vnc=false,neatvnc libpam" | 95 | PACKAGECONFIG[vnc] = "-Dbackend-vnc=true,-Dbackend-vnc=false,neatvnc libpam" |
96 | 96 | ||
97 | |||
98 | do_install:append() { | 97 | do_install:append() { |
99 | # Weston doesn't need the .la files to load modules, so wipe them | 98 | # Weston doesn't need the .la files to load modules, so wipe them |
100 | rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la | 99 | rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la |
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb index cd4acf8155..169269eefb 100644 --- a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb +++ b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb | |||
@@ -12,8 +12,7 @@ SRC_URI = "file://xserver-nodm \ | |||
12 | file://capability.conf \ | 12 | file://capability.conf \ |
13 | " | 13 | " |
14 | 14 | ||
15 | S = "${WORKDIR}/sources" | 15 | S = "${UNPACKDIR}" |
16 | UNPACKDIR = "${S}" | ||
17 | 16 | ||
18 | # Since we refer to ROOTLESS_X which is normally enabled per-machine | 17 | # Since we refer to ROOTLESS_X which is normally enabled per-machine |
19 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 18 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
diff --git a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb index 40b77422bf..e5a0f903f1 100644 --- a/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb +++ b/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb | |||
@@ -13,8 +13,6 @@ PV = "0.1.1+git" | |||
13 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https" | 13 | SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https" |
14 | UPSTREAM_CHECK_COMMITS = "1" | 14 | UPSTREAM_CHECK_COMMITS = "1" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit autotools allarch | 16 | inherit autotools allarch |
19 | 17 | ||
20 | FILES:${PN} = "${datadir}/icons/xcursor-transparent/cursors/*" | 18 | FILES:${PN} = "${datadir}/icons/xcursor-transparent/cursors/*" |
diff --git a/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb b/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb index f4516e6975..50c6a120be 100644 --- a/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb +++ b/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb | |||
@@ -5,11 +5,9 @@ BUGTRACKER = "https://github.com/tias/xinput_calibrator/issues" | |||
5 | LICENSE = "MIT" | 5 | LICENSE = "MIT" |
6 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 6 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
7 | 7 | ||
8 | |||
9 | SRC_URI = "file://pointercal.xinput" | 8 | SRC_URI = "file://pointercal.xinput" |
10 | 9 | ||
11 | S = "${WORKDIR}/sources" | 10 | S = "${UNPACKDIR}" |
12 | UNPACKDIR = "${S}" | ||
13 | 11 | ||
14 | do_install() { | 12 | do_install() { |
15 | # Only install file if it has a contents | 13 | # Only install file if it has a contents |
diff --git a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_0.8.0.bb b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_0.8.0.bb index c37b36897b..84bf530077 100644 --- a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_0.8.0.bb +++ b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_0.8.0.bb | |||
@@ -14,8 +14,6 @@ SRC_URI = "git://gitlab.freedesktop.org/xorg/app/xinput-calibrator;protocol=http | |||
14 | file://Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch \ | 14 | file://Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch \ |
15 | " | 15 | " |
16 | 16 | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | EXTRA_OECONF += "--with-gui=x11" | 17 | EXTRA_OECONF += "--with-gui=x11" |
20 | 18 | ||
21 | do_install:append() { | 19 | do_install:append() { |
diff --git a/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb b/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb index 828523afb4..3258de79a0 100644 --- a/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb +++ b/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb | |||
@@ -5,7 +5,6 @@ SUMMARY = "X11 server performance test program" | |||
5 | DESCRIPTION = "The x11perf program runs one or more performance tests \ | 5 | DESCRIPTION = "The x11perf program runs one or more performance tests \ |
6 | and reports how fast an X server can execute the tests." | 6 | and reports how fast an X server can execute the tests." |
7 | 7 | ||
8 | |||
9 | DEPENDS += "libxmu libxrender libxft libxext fontconfig" | 8 | DEPENDS += "libxmu libxrender libxft libxext fontconfig" |
10 | 9 | ||
11 | LIC_FILES_CHKSUM = "file://COPYING;md5=428ca4d67a41fcd4fc3283dce9bbda7e \ | 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=428ca4d67a41fcd4fc3283dce9bbda7e \ |
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb index 0a42bd9975..fd8324409e 100644 --- a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb +++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb | |||
@@ -11,7 +11,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e" | |||
11 | 11 | ||
12 | SRCREV = "31486f40f8e8f8923ca0799aea84b58799754564" | 12 | SRCREV = "31486f40f8e8f8923ca0799aea84b58799754564" |
13 | PV = "2.99.917+git" | 13 | PV = "2.99.917+git" |
14 | S = "${WORKDIR}/git" | ||
15 | 14 | ||
16 | SRC_URI = "git://gitlab.freedesktop.org/xorg/driver/xf86-video-intel.git;protocol=https;branch=master" | 15 | SRC_URI = "git://gitlab.freedesktop.org/xorg/driver/xf86-video-intel.git;protocol=https;branch=master" |
17 | 16 | ||
diff --git a/meta/recipes-graphics/xorg-font/xorg-font-common.inc b/meta/recipes-graphics/xorg-font/xorg-font-common.inc index edf7cf7642..a11b8e8ab2 100644 --- a/meta/recipes-graphics/xorg-font/xorg-font-common.inc +++ b/meta/recipes-graphics/xorg-font/xorg-font-common.inc | |||
@@ -11,7 +11,7 @@ XORG_PN = "${BPN}" | |||
11 | 11 | ||
12 | SRC_URI_EXT = "bz2" | 12 | SRC_URI_EXT = "bz2" |
13 | SRC_URI = "${XORG_MIRROR}/individual/font/${XORG_PN}-${PV}.tar.${SRC_URI_EXT}" | 13 | SRC_URI = "${XORG_MIRROR}/individual/font/${XORG_PN}-${PV}.tar.${SRC_URI_EXT}" |
14 | S = "${WORKDIR}/${XORG_PN}-${PV}" | 14 | S = "${UNPACKDIR}/${XORG_PN}-${PV}" |
15 | 15 | ||
16 | inherit autotools pkgconfig features_check | 16 | inherit autotools pkgconfig features_check |
17 | 17 | ||
diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb index e51e3fbc3a..28010f5f22 100644 --- a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb +++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb | |||
@@ -19,7 +19,7 @@ inherit allarch features_check | |||
19 | # The font-alias requires x11 in DISTRO_FEATURES | 19 | # The font-alias requires x11 in DISTRO_FEATURES |
20 | REQUIRED_DISTRO_FEATURES = "x11" | 20 | REQUIRED_DISTRO_FEATURES = "x11" |
21 | 21 | ||
22 | S = "${WORKDIR}/misc" | 22 | S = "${UNPACKDIR}/misc" |
23 | 23 | ||
24 | PACKAGES = "${PN}" | 24 | PACKAGES = "${PN}" |
25 | FILES:${PN} = "${libdir}/X11/ ${datadir}/fonts/X11/" | 25 | FILES:${PN} = "${libdir}/X11/ ${datadir}/fonts/X11/" |
diff --git a/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb b/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb index 08194e4815..1e2c626143 100644 --- a/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb +++ b/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb | |||
@@ -9,8 +9,6 @@ SECTION = "x11/libs" | |||
9 | SRC_URI = "git://gitlab.freedesktop.org/xorg/lib/libxcvt.git;protocol=https;branch=master" | 9 | SRC_URI = "git://gitlab.freedesktop.org/xorg/lib/libxcvt.git;protocol=https;branch=master" |
10 | SRCREV = "dd8631c61465cc0de5e476c7a98e56528d62b163" | 10 | SRCREV = "dd8631c61465cc0de5e476c7a98e56528d62b163" |
11 | 11 | ||
12 | S = "${WORKDIR}/git" | ||
13 | |||
14 | inherit meson | 12 | inherit meson |
15 | 13 | ||
16 | FILES:${PN} = " \ | 14 | FILES:${PN} = " \ |
diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.10.0.bb b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.10.0.bb index e10bbf7af0..79c95cb8ed 100644 --- a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.10.0.bb +++ b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.10.0.bb | |||
@@ -10,7 +10,6 @@ DEPENDS = "flex-native bison-native" | |||
10 | SRC_URI = "git://github.com/xkbcommon/libxkbcommon;protocol=https;branch=master;tag=xkbcommon-${PV}" | 10 | SRC_URI = "git://github.com/xkbcommon/libxkbcommon;protocol=https;branch=master;tag=xkbcommon-${PV}" |
11 | 11 | ||
12 | SRCREV = "7888474d0296dcad50c9ba4adfdfdf2be02d35e1" | 12 | SRCREV = "7888474d0296dcad50c9ba4adfdfdf2be02d35e1" |
13 | S = "${WORKDIR}/git" | ||
14 | 13 | ||
15 | inherit meson pkgconfig bash-completion | 14 | inherit meson pkgconfig bash-completion |
16 | 15 | ||
diff --git a/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.1.bb b/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.1.bb index f1a4c3e500..1fa4d196fd 100644 --- a/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.1.bb +++ b/meta/recipes-graphics/xorg-lib/xcb-util-keysyms_0.4.1.bb | |||
@@ -5,4 +5,3 @@ LIC_FILES_CHKSUM = "file://keysyms/keysyms.c;endline=30;md5=2f8de023ed823bb92f0b | |||
5 | " | 5 | " |
6 | SRC_URI[sha256sum] = "7c260a5294412aed429df1da2f8afd3bd07b7cba3fec772fba15a613a6d5c638" | 6 | SRC_URI[sha256sum] = "7c260a5294412aed429df1da2f8afd3bd07b7cba3fec772fba15a613a6d5c638" |
7 | 7 | ||
8 | |||
diff --git a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc index 15c7ecf782..ba7fcb7304 100644 --- a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc +++ b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc | |||
@@ -10,7 +10,7 @@ XORG_EXT ?= "tar.xz" | |||
10 | 10 | ||
11 | SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.${XORG_EXT}" | 11 | SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.${XORG_EXT}" |
12 | 12 | ||
13 | S = "${WORKDIR}/${XORG_PN}-${PV}" | 13 | S = "${UNPACKDIR}/${XORG_PN}-${PV}" |
14 | 14 | ||
15 | inherit autotools features_check pkgconfig | 15 | inherit autotools features_check pkgconfig |
16 | 16 | ||
diff --git a/meta/recipes-graphics/xorg-util/xorg-util-common.inc b/meta/recipes-graphics/xorg-util/xorg-util-common.inc index a4c85a4ebc..198921116d 100644 --- a/meta/recipes-graphics/xorg-util/xorg-util-common.inc +++ b/meta/recipes-graphics/xorg-util/xorg-util-common.inc | |||
@@ -8,6 +8,6 @@ XORG_PN = "${BPN}" | |||
8 | 8 | ||
9 | SRC_URI = "${XORG_MIRROR}/individual/util/${XORG_PN}-${PV}.tar.gz" | 9 | SRC_URI = "${XORG_MIRROR}/individual/util/${XORG_PN}-${PV}.tar.gz" |
10 | 10 | ||
11 | S = "${WORKDIR}/${XORG_PN}-${PV}" | 11 | S = "${UNPACKDIR}/${XORG_PN}-${PV}" |
12 | 12 | ||
13 | inherit autotools pkgconfig | 13 | inherit autotools pkgconfig |
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb index d57b3427f8..8f3b9217a0 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb +++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb | |||
@@ -7,8 +7,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
7 | SRC_URI = "file://xorg.conf" | 7 | SRC_URI = "file://xorg.conf" |
8 | SRC_URI:append:qemuall = " file://noblank.conf" | 8 | SRC_URI:append:qemuall = " file://noblank.conf" |
9 | 9 | ||
10 | S = "${WORKDIR}/sources" | 10 | S = "${UNPACKDIR}" |
11 | UNPACKDIR = "${S}" | ||
12 | 11 | ||
13 | CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf" | 12 | CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf" |
14 | 13 | ||
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc index 7645f11c14..0dece7bba3 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc | |||
@@ -30,7 +30,7 @@ impossible or difficult to exploit. There is currently no upstream patch \ | |||
30 | available for this flaw." | 30 | available for this flaw." |
31 | CVE_STATUS[CVE-2022-3553] = "cpe-incorrect: This is specific to XQuartz, which is the macOS X server port" | 31 | CVE_STATUS[CVE-2022-3553] = "cpe-incorrect: This is specific to XQuartz, which is the macOS X server port" |
32 | 32 | ||
33 | S = "${WORKDIR}/${XORG_PN}-${PV}" | 33 | S = "${UNPACKDIR}/${XORG_PN}-${PV}" |
34 | 34 | ||
35 | inherit meson pkgconfig | 35 | inherit meson pkgconfig |
36 | 36 | ||
diff --git a/meta/recipes-kernel/blktrace/blktrace_1.3.0.bb b/meta/recipes-kernel/blktrace/blktrace_1.3.0.bb index 061a7b9784..f053490409 100644 --- a/meta/recipes-kernel/blktrace/blktrace_1.3.0.bb +++ b/meta/recipes-kernel/blktrace/blktrace_1.3.0.bb | |||
@@ -10,15 +10,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" | |||
10 | 10 | ||
11 | DEPENDS = "libaio" | 11 | DEPENDS = "libaio" |
12 | 12 | ||
13 | |||
14 | SRC_URI = "git://git.kernel.dk/blktrace.git;protocol=https;branch=master \ | 13 | SRC_URI = "git://git.kernel.dk/blktrace.git;protocol=https;branch=master \ |
15 | file://0001-bno_plot.py-btt_plot.py-Ask-for-python3-specifically.patch \ | 14 | file://0001-bno_plot.py-btt_plot.py-Ask-for-python3-specifically.patch \ |
16 | " | 15 | " |
17 | 16 | ||
18 | SRCREV = "366d30b9cdb20345c5d064af850d686da79b89eb" | 17 | SRCREV = "366d30b9cdb20345c5d064af850d686da79b89eb" |
19 | 18 | ||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | EXTRA_OEMAKE = "\ | 19 | EXTRA_OEMAKE = "\ |
23 | 'CC=${CC}' \ | 20 | 'CC=${CC}' \ |
24 | 'CFLAGS=${CFLAGS}' \ | 21 | 'CFLAGS=${CFLAGS}' \ |
diff --git a/meta/recipes-kernel/cryptodev/cryptodev.inc b/meta/recipes-kernel/cryptodev/cryptodev.inc index 8d0aad4a01..16a8eb610a 100644 --- a/meta/recipes-kernel/cryptodev/cryptodev.inc +++ b/meta/recipes-kernel/cryptodev/cryptodev.inc | |||
@@ -13,6 +13,4 @@ SRC_URI = "git://github.com/cryptodev-linux/cryptodev-linux;branch=master;protoc | |||
13 | SRCREV = "135cbff90af2ba97d88f1472be595ce78721972c" | 13 | SRCREV = "135cbff90af2ba97d88f1472be595ce78721972c" |
14 | PV = "1.14" | 14 | PV = "1.14" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | CLEANBROKEN = "1" | 16 | CLEANBROKEN = "1" |
diff --git a/meta/recipes-kernel/dtc/dtc_1.7.2.bb b/meta/recipes-kernel/dtc/dtc_1.7.2.bb index 3df95ec1ee..92e83a9404 100644 --- a/meta/recipes-kernel/dtc/dtc_1.7.2.bb +++ b/meta/recipes-kernel/dtc/dtc_1.7.2.bb | |||
@@ -15,8 +15,6 @@ SRCREV = "2d10aa2afe35527728db30b35ec491ecb6959e5c" | |||
15 | 15 | ||
16 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | 16 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | inherit meson pkgconfig | 18 | inherit meson pkgconfig |
21 | 19 | ||
22 | EXTRA_OEMESON = "-Dpython=disabled -Dvalgrind=disabled" | 20 | EXTRA_OEMESON = "-Dpython=disabled -Dvalgrind=disabled" |
diff --git a/meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb b/meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb index a766b00bef..b19f53e20d 100644 --- a/meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb +++ b/meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb | |||
@@ -7,8 +7,7 @@ SRC_URI = "file://dt-doc-validate \ | |||
7 | file://dt-mk-schema \ | 7 | file://dt-mk-schema \ |
8 | file://dt-validate" | 8 | file://dt-validate" |
9 | 9 | ||
10 | S = "${WORKDIR}/sources" | 10 | S = "${UNPACKDIR}" |
11 | UNPACKDIR = "${S}" | ||
12 | 11 | ||
13 | do_install() { | 12 | do_install() { |
14 | install -d ${D}${bindir}/ | 13 | install -d ${D}${bindir}/ |
diff --git a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb index 20b1bcaf37..84b8b10a26 100644 --- a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +++ b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb | |||
@@ -17,7 +17,6 @@ PV = "0.3+git" | |||
17 | inherit native | 17 | inherit native |
18 | 18 | ||
19 | SRC_URI = "git://git.yoctoproject.org/yocto-kernel-tools.git;branch=master;protocol=https" | 19 | SRC_URI = "git://git.yoctoproject.org/yocto-kernel-tools.git;branch=master;protocol=https" |
20 | S = "${WORKDIR}/git" | ||
21 | 20 | ||
22 | do_configure() { | 21 | do_configure() { |
23 | : | 22 | : |
diff --git a/meta/recipes-kernel/kernel-signing-keys/kernel-signing-keys-native.bb b/meta/recipes-kernel/kernel-signing-keys/kernel-signing-keys-native.bb index 704973dffb..f346f1648a 100644 --- a/meta/recipes-kernel/kernel-signing-keys/kernel-signing-keys-native.bb +++ b/meta/recipes-kernel/kernel-signing-keys/kernel-signing-keys-native.bb | |||
@@ -11,7 +11,6 @@ | |||
11 | # cases. For more advanced or production-grade scenarios, a more robust solution | 11 | # cases. For more advanced or production-grade scenarios, a more robust solution |
12 | # is usually required—such as external signing or re-signing using e.g a HSM. | 12 | # is usually required—such as external signing or re-signing using e.g a HSM. |
13 | 13 | ||
14 | |||
15 | SUMMARY = "Signing keys for the kernel FIT image" | 14 | SUMMARY = "Signing keys for the kernel FIT image" |
16 | LICENSE = "MIT" | 15 | LICENSE = "MIT" |
17 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 16 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
@@ -28,7 +27,6 @@ do_patch[noexec] = "1" | |||
28 | do_configure[noexec] = "1" | 27 | do_configure[noexec] = "1" |
29 | do_install[noexec] = "1" | 28 | do_install[noexec] = "1" |
30 | 29 | ||
31 | |||
32 | do_compile() { | 30 | do_compile() { |
33 | if [ "${UBOOT_SIGN_ENABLE}" = "0" ] && [ "${FIT_GENERATE_KEYS}" = "1" ]; then | 31 | if [ "${UBOOT_SIGN_ENABLE}" = "0" ] && [ "${FIT_GENERATE_KEYS}" = "1" ]; then |
34 | bbwarn "FIT_GENERATE_KEYS is set to 1 even though UBOOT_SIGN_ENABLE is set to 0. The keys will not be generated as they won't be used." | 32 | bbwarn "FIT_GENERATE_KEYS is set to 1 even though UBOOT_SIGN_ENABLE is set to 0. The keys will not be generated as they won't be used." |
diff --git a/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb index 29f34d7f36..5e70e01102 100644 --- a/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb +++ b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb | |||
@@ -1,8 +1,7 @@ | |||
1 | SUMMARY = "Wrapper script for the Linux kernel module dependency indexer" | 1 | SUMMARY = "Wrapper script for the Linux kernel module dependency indexer" |
2 | LICENSE = "MIT" | 2 | LICENSE = "MIT" |
3 | 3 | ||
4 | S = "${WORKDIR}/sources" | 4 | S = "${UNPACKDIR}" |
5 | UNPACKDIR = "${S}" | ||
6 | 5 | ||
7 | INHIBIT_DEFAULT_DEPS = "1" | 6 | INHIBIT_DEFAULT_DEPS = "1" |
8 | # The kernel and the staging dir for it is machine specific | 7 | # The kernel and the staging dir for it is machine specific |
diff --git a/meta/recipes-kernel/libtraceevent/libtraceevent_1.8.4.bb b/meta/recipes-kernel/libtraceevent/libtraceevent_1.8.4.bb index 7a33da37c2..75762e4def 100644 --- a/meta/recipes-kernel/libtraceevent/libtraceevent_1.8.4.bb +++ b/meta/recipes-kernel/libtraceevent/libtraceevent_1.8.4.bb | |||
@@ -12,8 +12,6 @@ SRCREV = "bd47bd544c9ebc9f44bd88c2b2f2049230741058" | |||
12 | SRC_URI = "git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git;branch=${BPN};protocol=https \ | 12 | SRC_URI = "git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git;branch=${BPN};protocol=https \ |
13 | " | 13 | " |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit meson pkgconfig | 15 | inherit meson pkgconfig |
18 | 16 | ||
19 | EXTRA_OEMESON = "-Ddoc=false" | 17 | EXTRA_OEMESON = "-Ddoc=false" |
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20250509.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20250509.bb index 3883f71781..ea75271af8 100644 --- a/meta/recipes-kernel/linux-firmware/linux-firmware_20250509.bb +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20250509.bb | |||
@@ -288,7 +288,6 @@ do_install() { | |||
288 | cp wfx/LICEN[CS]E.* ${D}${nonarch_base_libdir}/firmware/wfx/ | 288 | cp wfx/LICEN[CS]E.* ${D}${nonarch_base_libdir}/firmware/wfx/ |
289 | } | 289 | } |
290 | 290 | ||
291 | |||
292 | PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \ | 291 | PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \ |
293 | ${PN}-cw1200-license ${PN}-cw1200 \ | 292 | ${PN}-cw1200-license ${PN}-cw1200 \ |
294 | ${PN}-ralink-license ${PN}-ralink \ | 293 | ${PN}-ralink-license ${PN}-ralink \ |
@@ -764,7 +763,6 @@ ALLOW_EMPTY:${PN}-qca = "1" | |||
764 | # firmwares that are not already included in other -qca- packages. | 763 | # firmwares that are not already included in other -qca- packages. |
765 | ALLOW_EMPTY:${PN}-qca-misc = "1" | 764 | ALLOW_EMPTY:${PN}-qca-misc = "1" |
766 | 765 | ||
767 | |||
768 | RDEPENDS:${PN}-ar3k += "${PN}-ar3k-license ${PN}-atheros-license" | 766 | RDEPENDS:${PN}-ar3k += "${PN}-ar3k-license ${PN}-atheros-license" |
769 | RDEPENDS:${PN}-ath10k += "${PN}-ath10k-license" | 767 | RDEPENDS:${PN}-ath10k += "${PN}-ath10k-license" |
770 | RDEPENDS:${PN}-ath10k-qca4019 += "${PN}-ath10k-license" | 768 | RDEPENDS:${PN}-ath10k-qca4019 += "${PN}-ath10k-license" |
@@ -1627,7 +1625,6 @@ LICENSE:${PN}-iwlwifi-9260 = "Firmware-iwlwifi_firmware" | |||
1627 | LICENSE:${PN}-iwlwifi-misc = "Firmware-iwlwifi_firmware" | 1625 | LICENSE:${PN}-iwlwifi-misc = "Firmware-iwlwifi_firmware" |
1628 | LICENSE:${PN}-iwlwifi-license = "Firmware-iwlwifi_firmware" | 1626 | LICENSE:${PN}-iwlwifi-license = "Firmware-iwlwifi_firmware" |
1629 | 1627 | ||
1630 | |||
1631 | FILES:${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware" | 1628 | FILES:${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware" |
1632 | FILES:${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode*" | 1629 | FILES:${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode*" |
1633 | FILES:${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode*" | 1630 | FILES:${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode*" |
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc index 3a8d32e785..1f5c47f453 100644 --- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc | |||
@@ -60,7 +60,7 @@ KORG_ARCHIVE_COMPRESSION ?= "xz" | |||
60 | SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/v${HEADER_FETCH_VER}/linux-${PV}.tar.${KORG_ARCHIVE_COMPRESSION}" | 60 | SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/v${HEADER_FETCH_VER}/linux-${PV}.tar.${KORG_ARCHIVE_COMPRESSION}" |
61 | UPSTREAM_CHECK_URI = "https://www.kernel.org/" | 61 | UPSTREAM_CHECK_URI = "https://www.kernel.org/" |
62 | 62 | ||
63 | S = "${WORKDIR}/linux-${PV}" | 63 | S = "${UNPACKDIR}/linux-${PV}" |
64 | 64 | ||
65 | EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCPP="${BUILD_CPP}"" | 65 | EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCPP="${BUILD_CPP}"" |
66 | 66 | ||
diff --git a/meta/recipes-kernel/linux/cve-exclusion_6.12.inc b/meta/recipes-kernel/linux/cve-exclusion_6.12.inc index 199ea019d5..b6082edf5c 100644 --- a/meta/recipes-kernel/linux/cve-exclusion_6.12.inc +++ b/meta/recipes-kernel/linux/cve-exclusion_6.12.inc | |||
@@ -3,7 +3,6 @@ | |||
3 | # Generated at 2025-06-05 16:29:20.725105+00:00 for kernel version 6.12.31 | 3 | # Generated at 2025-06-05 16:29:20.725105+00:00 for kernel version 6.12.31 |
4 | # From cvelistV5 cve_2025-06-05_1600Z | 4 | # From cvelistV5 cve_2025-06-05_1600Z |
5 | 5 | ||
6 | |||
7 | python check_kernel_cve_status_version() { | 6 | python check_kernel_cve_status_version() { |
8 | this_version = "6.12.31" | 7 | this_version = "6.12.31" |
9 | kernel_version = d.getVar("LINUX_VERSION") | 8 | kernel_version = d.getVar("LINUX_VERSION") |
diff --git a/meta/recipes-kernel/linux/linux-dummy.bb b/meta/recipes-kernel/linux/linux-dummy.bb index 3e9a563cad..d7f39a452d 100644 --- a/meta/recipes-kernel/linux/linux-dummy.bb +++ b/meta/recipes-kernel/linux/linux-dummy.bb | |||
@@ -23,16 +23,13 @@ FILES:kernel-vmlinux = "" | |||
23 | ALLOW_EMPTY:kernel-vmlinux = "1" | 23 | ALLOW_EMPTY:kernel-vmlinux = "1" |
24 | DESCRIPTION:kernel-vmlinux = "Kernel vmlinux meta package" | 24 | DESCRIPTION:kernel-vmlinux = "Kernel vmlinux meta package" |
25 | 25 | ||
26 | |||
27 | INHIBIT_DEFAULT_DEPS = "1" | 26 | INHIBIT_DEFAULT_DEPS = "1" |
28 | 27 | ||
29 | COMPATIBLE_HOST = ".*-linux" | 28 | COMPATIBLE_HOST = ".*-linux" |
30 | 29 | ||
31 | |||
32 | SRC_URI = "file://COPYING.GPL" | 30 | SRC_URI = "file://COPYING.GPL" |
33 | 31 | ||
34 | S = "${WORKDIR}/sources" | 32 | S = "${UNPACKDIR}" |
35 | UNPACKDIR = "${S}" | ||
36 | 33 | ||
37 | do_configure() { | 34 | do_configure() { |
38 | : | 35 | : |
diff --git a/meta/recipes-kernel/lttng/babeltrace2_2.1.1.bb b/meta/recipes-kernel/lttng/babeltrace2_2.1.1.bb index fdcb637761..8bab7f677a 100644 --- a/meta/recipes-kernel/lttng/babeltrace2_2.1.1.bb +++ b/meta/recipes-kernel/lttng/babeltrace2_2.1.1.bb | |||
@@ -17,8 +17,6 @@ SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-2.1;protocol=http | |||
17 | SRCREV = "7f2f8cd6dac497cbb466efb31219b531c62013f5" | 17 | SRCREV = "7f2f8cd6dac497cbb466efb31219b531c62013f5" |
18 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$" | 18 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$" |
19 | 19 | ||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | inherit autotools pkgconfig ptest python3targetconfig | 20 | inherit autotools pkgconfig ptest python3targetconfig |
23 | 21 | ||
24 | EXTRA_OECONF = "--disable-debug-info --disable-Werror" | 22 | EXTRA_OECONF = "--disable-debug-info --disable-Werror" |
diff --git a/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb b/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb index 2585747fb6..8ec80167a0 100644 --- a/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb +++ b/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb | |||
@@ -13,8 +13,6 @@ SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-1.5;protocol=http | |||
13 | SRCREV = "91c00f70884887ff5c4849a8e3d47e311a22ba9d" | 13 | SRCREV = "91c00f70884887ff5c4849a8e3d47e311a22ba9d" |
14 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>1(\.\d+)+)$" | 14 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>1(\.\d+)+)$" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit autotools pkgconfig ptest | 16 | inherit autotools pkgconfig ptest |
19 | 17 | ||
20 | EXTRA_OECONF = "--disable-debug-info" | 18 | EXTRA_OECONF = "--disable-debug-info" |
diff --git a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb index 1a20472994..8fcb5e6eb3 100644 --- a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb +++ b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb | |||
@@ -8,8 +8,7 @@ inherit pkgconfig | |||
8 | 8 | ||
9 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 9 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
10 | 10 | ||
11 | S = "${WORKDIR}/sources" | 11 | S = "${UNPACKDIR}" |
12 | UNPACKDIR = "${S}" | ||
13 | 12 | ||
14 | do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot" | 13 | do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot" |
15 | do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" | 14 | do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" |
diff --git a/meta/recipes-kernel/makedumpfile/makedumpfile_1.7.7.bb b/meta/recipes-kernel/makedumpfile/makedumpfile_1.7.7.bb index 23fcef9569..99393e0984 100644 --- a/meta/recipes-kernel/makedumpfile/makedumpfile_1.7.7.bb +++ b/meta/recipes-kernel/makedumpfile/makedumpfile_1.7.7.bb | |||
@@ -28,8 +28,6 @@ SRC_URI = "\ | |||
28 | file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \ | 28 | file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \ |
29 | " | 29 | " |
30 | 30 | ||
31 | S = "${WORKDIR}/git" | ||
32 | |||
33 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" | 31 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" |
34 | 32 | ||
35 | SECTION = "base" | 33 | SECTION = "base" |
diff --git a/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb b/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb index 49268445a8..fb7b09393a 100644 --- a/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb +++ b/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb | |||
@@ -4,8 +4,7 @@ LICENSE = "MIT" | |||
4 | LIC_FILES_CHKSUM = "file://modutils.sh;beginline=3;endline=3;md5=b2dccaa94b3629a08bfb4f983cad6f89" | 4 | LIC_FILES_CHKSUM = "file://modutils.sh;beginline=3;endline=3;md5=b2dccaa94b3629a08bfb4f983cad6f89" |
5 | SRC_URI = "file://modutils.sh" | 5 | SRC_URI = "file://modutils.sh" |
6 | 6 | ||
7 | S = "${WORKDIR}/sources" | 7 | S = "${UNPACKDIR}" |
8 | UNPACKDIR = "${S}" | ||
9 | 8 | ||
10 | INITSCRIPT_NAME = "modutils.sh" | 9 | INITSCRIPT_NAME = "modutils.sh" |
11 | INITSCRIPT_PARAMS = "start 06 S ." | 10 | INITSCRIPT_PARAMS = "start 06 S ." |
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb index 6cc5499d8d..157aca4d79 100644 --- a/meta/recipes-kernel/perf/perf.bb +++ b/meta/recipes-kernel/perf/perf.bb | |||
@@ -66,7 +66,7 @@ include ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'perf-perl.inc', '', d)} | |||
66 | 66 | ||
67 | inherit kernelsrc | 67 | inherit kernelsrc |
68 | 68 | ||
69 | S = "${WORKDIR}/${BP}" | 69 | S = "${UNPACKDIR}/${BP}" |
70 | 70 | ||
71 | # The LDFLAGS is required or some old kernels fails due missing | 71 | # The LDFLAGS is required or some old kernels fails due missing |
72 | # symbols and this is preferred than requiring patches to every old | 72 | # symbols and this is preferred than requiring patches to every old |
@@ -391,7 +391,6 @@ python do_package:prepend() { | |||
391 | 391 | ||
392 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 392 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
393 | 393 | ||
394 | |||
395 | PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python" | 394 | PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python" |
396 | 395 | ||
397 | RDEPENDS:${PN} += "elfutils bash" | 396 | RDEPENDS:${PN} += "elfutils bash" |
diff --git a/meta/recipes-kernel/powertop/powertop_2.15.bb b/meta/recipes-kernel/powertop/powertop_2.15.bb index ec81d546a8..a9008b4074 100644 --- a/meta/recipes-kernel/powertop/powertop_2.15.bb +++ b/meta/recipes-kernel/powertop/powertop_2.15.bb | |||
@@ -11,8 +11,6 @@ SRC_URI = "git://github.com/fenrus75/powertop;protocol=https;branch=master \ | |||
11 | " | 11 | " |
12 | SRCREV = "d51ad395436d4d1dcc3ca46e1519ffeb475bf651" | 12 | SRCREV = "d51ad395436d4d1dcc3ca46e1519ffeb475bf651" |
13 | 13 | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | LDFLAGS += "-pthread" | 14 | LDFLAGS += "-pthread" |
17 | 15 | ||
18 | inherit autotools gettext pkgconfig bash-completion | 16 | inherit autotools gettext pkgconfig bash-completion |
diff --git a/meta/recipes-kernel/systemtap/systemtap-native_5.2.bb b/meta/recipes-kernel/systemtap/systemtap-native_5.3.bb index 8befa7a7ea..8befa7a7ea 100644 --- a/meta/recipes-kernel/systemtap/systemtap-native_5.2.bb +++ b/meta/recipes-kernel/systemtap/systemtap-native_5.3.bb | |||
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-improve-reproducibility-for-c-compiling.patch b/meta/recipes-kernel/systemtap/systemtap/0001-improve-reproducibility-for-c-compiling.patch index 15a6f2a9a5..7d35f76b29 100644 --- a/meta/recipes-kernel/systemtap/systemtap/0001-improve-reproducibility-for-c-compiling.patch +++ b/meta/recipes-kernel/systemtap/systemtap/0001-improve-reproducibility-for-c-compiling.patch | |||
@@ -13,19 +13,16 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | |||
13 | stringtable.h | 2 +- | 13 | stringtable.h | 2 +- |
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | 14 | 1 file changed, 1 insertion(+), 1 deletion(-) |
15 | 15 | ||
16 | diff --git a/stringtable.h b/stringtable.h | 16 | Index: git/stringtable.h |
17 | index 5fc42e7..6fd8a1e 100644 | 17 | =================================================================== |
18 | --- a/stringtable.h | 18 | --- git.orig/stringtable.h |
19 | +++ b/stringtable.h | 19 | +++ git/stringtable.h |
20 | @@ -19,7 +19,7 @@ | 20 | @@ -23,7 +23,7 @@ |
21 | 21 | ||
22 | #if defined(HAVE_BOOST_UTILITY_STRING_REF_HPP) | 22 | #if 0 && defined(HAVE_BOOST_UTILITY_STRING_REF_HPP) |
23 | #include <boost/version.hpp> | 23 | #include <boost/version.hpp> |
24 | -#include <boost/utility/string_ref.hpp> //header with string_ref | 24 | -#include <boost/utility/string_ref.hpp> //header with string_ref |
25 | +#include "@RELATIVE_STAGING_INCDIR@/boost/utility/string_ref.hpp" //header with string_ref | 25 | +#include "@RELATIVE_STAGING_INCDIR@/boost/utility/string_ref.hpp" //header with string_ref |
26 | 26 | ||
27 | // XXX: experimental tunables | 27 | // XXX: experimental tunables |
28 | #define INTERNED_STRING_FIND_MEMMEM 1 /* perf stat indicates a very slight benefit */ | 28 | #define INTERNED_STRING_FIND_MEMMEM 1 /* perf stat indicates a very slight benefit */ |
29 | -- | ||
30 | 2.7.4 | ||
31 | |||
diff --git a/meta/recipes-kernel/systemtap/systemtap_5.2.bb b/meta/recipes-kernel/systemtap/systemtap_5.3.bb index 588b3b8d36..588b3b8d36 100644 --- a/meta/recipes-kernel/systemtap/systemtap_5.2.bb +++ b/meta/recipes-kernel/systemtap/systemtap_5.3.bb | |||
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc index a6688f2604..86336b0779 100644 --- a/meta/recipes-kernel/systemtap/systemtap_git.inc +++ b/meta/recipes-kernel/systemtap/systemtap_git.inc | |||
@@ -1,19 +1,17 @@ | |||
1 | LICENSE = "GPL-2.0-only" | 1 | LICENSE = "GPL-2.0-only" |
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | 2 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" |
3 | 3 | ||
4 | SRC_URI = "git://sourceware.org/git/systemtap.git;protocol=https;branch=master \ | 4 | SRC_URI = "git://sourceware.org/git/systemtap.git;protocol=https;branch=master;tag=release-${PV} \ |
5 | file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \ | 5 | file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \ |
6 | file://0001-Install-python-modules-to-correct-library-dir.patch \ | 6 | file://0001-Install-python-modules-to-correct-library-dir.patch \ |
7 | file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \ | 7 | file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \ |
8 | " | 8 | " |
9 | 9 | ||
10 | SRCREV = "3a92ffe673c1621309a0b60892114495b651c9de" | 10 | SRCREV = "c4fc655170b534478a6b131292b987630c7c0865" |
11 | 11 | ||
12 | COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips|riscv64).*-linux' | 12 | COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips|riscv64).*-linux' |
13 | COMPATIBLE_HOST:libc-musl = 'null' | 13 | COMPATIBLE_HOST:libc-musl = 'null' |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | # systemtap can't be built without optimization, if someone tries to compile an | 15 | # systemtap can't be built without optimization, if someone tries to compile an |
18 | # entire image as -O0, break with fatal. | 16 | # entire image as -O0, break with fatal. |
19 | python () { | 17 | python () { |
diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.14.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.14.bb index 74b36291d6..3cbb9b464b 100644 --- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.14.bb +++ b/meta/recipes-multimedia/alsa/alsa-utils_1.2.14.bb | |||
@@ -119,7 +119,6 @@ do_install() { | |||
119 | rm -rf ${D}/unwanted | 119 | rm -rf ${D}/unwanted |
120 | } | 120 | } |
121 | 121 | ||
122 | |||
123 | PROVIDES = "alsa-utils-alsaconf alsa-utils-scripts" | 122 | PROVIDES = "alsa-utils-alsaconf alsa-utils-scripts" |
124 | 123 | ||
125 | RDEPENDS:${PN}-scripts += "bash" | 124 | RDEPENDS:${PN}-scripts += "bash" |
diff --git a/meta/recipes-multimedia/gstreamer/gst-examples_1.26.2.bb b/meta/recipes-multimedia/gstreamer/gst-examples_1.26.2.bb index bc043f81c7..33c4119d1a 100644 --- a/meta/recipes-multimedia/gstreamer/gst-examples_1.26.2.bb +++ b/meta/recipes-multimedia/gstreamer/gst-examples_1.26.2.bb | |||
@@ -14,11 +14,11 @@ SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gstreamer.git;protocol=https;b | |||
14 | 14 | ||
15 | SRCREV = "100c21e1faf68efe7f3830b6e9f856760697ab48" | 15 | SRCREV = "100c21e1faf68efe7f3830b6e9f856760697ab48" |
16 | 16 | ||
17 | S = "${WORKDIR}/git/subprojects/gst-examples" | 17 | S = "${UNPACKDIR}/${BP}/subprojects/gst-examples" |
18 | 18 | ||
19 | inherit meson pkgconfig features_check | 19 | inherit meson pkgconfig features_check |
20 | 20 | ||
21 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)" | 21 | UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)" |
22 | 22 | ||
23 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" | 23 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" |
24 | 24 | ||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.2.bb index 88cc0b530d..e3410f0907 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.2.bb | |||
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \ | |||
14 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz" | 14 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz" |
15 | SRC_URI[sha256sum] = "2eceba9cae4c495bb4ea134c27f010356036f1fa1972db5f54833f5f6c9f8db0" | 15 | SRC_URI[sha256sum] = "2eceba9cae4c495bb4ea134c27f010356036f1fa1972db5f54833f5f6c9f8db0" |
16 | 16 | ||
17 | S = "${WORKDIR}/gst-libav-${PV}" | 17 | S = "${UNPACKDIR}/gst-libav-${PV}" |
18 | 18 | ||
19 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg" | 19 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg" |
20 | 20 | ||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.2.bb index e0329cd004..b311286cc2 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.2.bb | |||
@@ -12,7 +12,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad | |||
12 | " | 12 | " |
13 | SRC_URI[sha256sum] = "cb116bfc3722c2de53838899006cafdb3c7c0bc69cd769b33c992a8421a9d844" | 13 | SRC_URI[sha256sum] = "cb116bfc3722c2de53838899006cafdb3c7c0bc69cd769b33c992a8421a9d844" |
14 | 14 | ||
15 | S = "${WORKDIR}/gst-plugins-bad-${PV}" | 15 | S = "${UNPACKDIR}/gst-plugins-bad-${PV}" |
16 | 16 | ||
17 | LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" | 17 | LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" |
18 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | 18 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" |
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.2.bb index dc70356940..c264a14ee6 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.2.bb | |||
@@ -13,7 +13,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba | |||
13 | " | 13 | " |
14 | SRC_URI[sha256sum] = "f4b9fc0be852fe5f65401d18ae6218e4aea3ff7a3c9f8d265939b9c4704915f7" | 14 | SRC_URI[sha256sum] = "f4b9fc0be852fe5f65401d18ae6218e4aea3ff7a3c9f8d265939b9c4704915f7" |
15 | 15 | ||
16 | S = "${WORKDIR}/gst-plugins-base-${PV}" | 16 | S = "${UNPACKDIR}/gst-plugins-base-${PV}" |
17 | 17 | ||
18 | DEPENDS += "iso-codes util-linux zlib" | 18 | DEPENDS += "iso-codes util-linux zlib" |
19 | 19 | ||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.2.bb index 467ccd9893..7a81a29d95 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.2.bb | |||
@@ -8,7 +8,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-go | |||
8 | 8 | ||
9 | SRC_URI[sha256sum] = "d864b9aec28c3a80895468c909dd303e5f22f92d6e2b1137f80e2a1454584339" | 9 | SRC_URI[sha256sum] = "d864b9aec28c3a80895468c909dd303e5f22f92d6e2b1137f80e2a1454584339" |
10 | 10 | ||
11 | S = "${WORKDIR}/gst-plugins-good-${PV}" | 11 | S = "${UNPACKDIR}/gst-plugins-good-${PV}" |
12 | 12 | ||
13 | LICENSE = "LGPL-2.1-or-later" | 13 | LICENSE = "LGPL-2.1-or-later" |
14 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | 14 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ |
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.2.bb index 106fea361c..fcd97e4245 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.2.bb | |||
@@ -17,7 +17,7 @@ SRC_URI = " \ | |||
17 | 17 | ||
18 | SRC_URI[sha256sum] = "ec2d7556c6b8c2694f9b918ab9c4c6c998fb908c6b6a6ad57441702dad14ce73" | 18 | SRC_URI[sha256sum] = "ec2d7556c6b8c2694f9b918ab9c4c6c998fb908c6b6a6ad57441702dad14ce73" |
19 | 19 | ||
20 | S = "${WORKDIR}/gst-plugins-ugly-${PV}" | 20 | S = "${UNPACKDIR}/gst-plugins-ugly-${PV}" |
21 | 21 | ||
22 | DEPENDS += "gstreamer1.0-plugins-base" | 22 | DEPENDS += "gstreamer1.0-plugins-base" |
23 | 23 | ||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.2.bb index 50ff21c1ef..3c60e09d85 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.2.bb | |||
@@ -15,7 +15,7 @@ RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" | |||
15 | 15 | ||
16 | PNREAL = "gst-python" | 16 | PNREAL = "gst-python" |
17 | 17 | ||
18 | S = "${WORKDIR}/${PNREAL}-${PV}" | 18 | S = "${UNPACKDIR}/${PNREAL}-${PV}" |
19 | 19 | ||
20 | EXTRA_OEMESON += "\ | 20 | EXTRA_OEMESON += "\ |
21 | -Dtests=disabled \ | 21 | -Dtests=disabled \ |
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.2.bb index 85b5615550..51085bb3fa 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.2.bb | |||
@@ -12,7 +12,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.x | |||
12 | 12 | ||
13 | SRC_URI[sha256sum] = "f942b2a499ed6d161222868db0e80de45297b4777ff189c6fb890bde698c2dc3" | 13 | SRC_URI[sha256sum] = "f942b2a499ed6d161222868db0e80de45297b4777ff189c6fb890bde698c2dc3" |
14 | 14 | ||
15 | S = "${WORKDIR}/${PNREAL}-${PV}" | 15 | S = "${UNPACKDIR}/${PNREAL}-${PV}" |
16 | 16 | ||
17 | inherit meson pkgconfig upstream-version-is-even gobject-introspection | 17 | inherit meson pkgconfig upstream-version-is-even gobject-introspection |
18 | 18 | ||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.2.bb index 7079641bc4..9b8aaf09df 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.2.bb | |||
@@ -13,7 +13,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.x | |||
13 | 13 | ||
14 | SRC_URI[sha256sum] = "0e24194236ed3b7f06f90e90efdf17f3f5ee39132e20081189a6c7690601051a" | 14 | SRC_URI[sha256sum] = "0e24194236ed3b7f06f90e90efdf17f3f5ee39132e20081189a6c7690601051a" |
15 | 15 | ||
16 | S = "${WORKDIR}/${REALPN}-${PV}" | 16 | S = "${UNPACKDIR}/${REALPN}-${PV}" |
17 | DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" | 17 | DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" |
18 | 18 | ||
19 | inherit meson pkgconfig features_check upstream-version-is-even | 19 | inherit meson pkgconfig features_check upstream-version-is-even |
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.2.bb index d288236abc..a921e39144 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.26.2.bb | |||
@@ -13,7 +13,7 @@ inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection p | |||
13 | LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \ | 13 | LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \ |
14 | file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" | 14 | file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" |
15 | 15 | ||
16 | S = "${WORKDIR}/gstreamer-${PV}" | 16 | S = "${UNPACKDIR}/gstreamer-${PV}" |
17 | 17 | ||
18 | SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ | 18 | SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ |
19 | file://run-ptest \ | 19 | file://run-ptest \ |
diff --git a/meta/recipes-multimedia/libpng/files/run-ptest b/meta/recipes-multimedia/libpng/files/run-ptest new file mode 100644 index 0000000000..85051a59f5 --- /dev/null +++ b/meta/recipes-multimedia/libpng/files/run-ptest | |||
@@ -0,0 +1,7 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | set -eux | ||
4 | |||
5 | cd src | ||
6 | |||
7 | make check-TESTS | ||
diff --git a/meta/recipes-multimedia/libpng/libpng_1.6.48.bb b/meta/recipes-multimedia/libpng/libpng_1.6.48.bb index 338891c683..e603df1edd 100644 --- a/meta/recipes-multimedia/libpng/libpng_1.6.48.bb +++ b/meta/recipes-multimedia/libpng/libpng_1.6.48.bb | |||
@@ -10,7 +10,10 @@ DEPENDS = "zlib" | |||
10 | 10 | ||
11 | LIBV = "16" | 11 | LIBV = "16" |
12 | 12 | ||
13 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/${BP}.tar.xz" | 13 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/${BP}.tar.xz \ |
14 | file://run-ptest \ | ||
15 | " | ||
16 | |||
14 | SRC_URI[sha256sum] = "46fd06ff37db1db64c0dc288d78a3f5efd23ad9ac41561193f983e20937ece03" | 17 | SRC_URI[sha256sum] = "46fd06ff37db1db64c0dc288d78a3f5efd23ad9ac41561193f983e20937ece03" |
15 | 18 | ||
16 | MIRRORS += "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/older-releases/" | 19 | MIRRORS += "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/older-releases/" |
@@ -19,7 +22,7 @@ UPSTREAM_CHECK_URI = "http://libpng.org/pub/png/libpng.html" | |||
19 | 22 | ||
20 | BINCONFIG = "${bindir}/libpng-config ${bindir}/libpng16-config" | 23 | BINCONFIG = "${bindir}/libpng-config ${bindir}/libpng16-config" |
21 | 24 | ||
22 | inherit autotools binconfig-disabled pkgconfig | 25 | inherit autotools binconfig-disabled pkgconfig ptest |
23 | 26 | ||
24 | # Work around missing symbols | 27 | # Work around missing symbols |
25 | ARMNEON = "${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on", "--enable-arm-neon=off", d)}" | 28 | ARMNEON = "${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on", "--enable-arm-neon=off", d)}" |
@@ -30,4 +33,39 @@ PACKAGES =+ "${PN}-tools" | |||
30 | 33 | ||
31 | FILES:${PN}-tools = "${bindir}/png-fix-itxt ${bindir}/pngfix ${bindir}/pngcp" | 34 | FILES:${PN}-tools = "${bindir}/png-fix-itxt ${bindir}/pngfix ${bindir}/pngcp" |
32 | 35 | ||
36 | RDEPENDS:${PN}-ptest += "make bash gawk" | ||
37 | |||
38 | do_install_ptest() { | ||
39 | # Install test scripts to ptest path | ||
40 | install -d ${D}${PTEST_PATH}/src/tests | ||
41 | install -m 755 ${S}/tests/* ${D}${PTEST_PATH}/src/tests | ||
42 | install -m 755 ${S}/test-driver ${D}${PTEST_PATH} | ||
43 | install -d ${D}${PTEST_PATH}/src/tests/scripts | ||
44 | install -m 755 ${S}/scripts/*.awk ${D}${PTEST_PATH}/src/tests/scripts | ||
45 | install -m 644 ${S}/scripts/pnglib* ${S}/scripts/*.c ${S}/scripts/*.def ${S}/scripts/macro.lst ${D}${PTEST_PATH}/src/tests/scripts | ||
46 | install -m 644 ${S}/scripts/pnglibconf.h.prebuilt ${D}${PTEST_PATH}/src/tests/scripts/pnglibconf.h | ||
47 | install -d ${D}${PTEST_PATH}/src/contrib/tools | ||
48 | install -m 755 ${S}/contrib/tools/*.sh ${D}${PTEST_PATH}/src/contrib/tools | ||
49 | install -m 644 ${S}/contrib/tools/*.c ${S}/contrib/tools/*.h ${D}${PTEST_PATH}/src/contrib/tools | ||
50 | |||
51 | # Install .libs directory binaries to ptest path | ||
52 | install -m 755 ${B}/.libs/pngtest ${B}/.libs/pngstest ${B}/.libs/pngimage ${B}/.libs/pngunknown ${B}/.libs/pngvalid ${D}${PTEST_PATH}/src | ||
53 | |||
54 | # Copy png files to ptest path | ||
55 | cd ${S} && find contrib -name '*.png' | cpio -pd ${D}${PTEST_PATH}/src | ||
56 | |||
57 | # Install Makefile and png files | ||
58 | install -m 644 ${S}/pngtest.png ${D}${PTEST_PATH}/src | ||
59 | install -m 644 ${S}/*.png ${S}/*.h ${S}/*.c ${S}/*.dfa ${B}/pnglibconf.out ${S}/Makefile.am ${S}/Makefile.in ${D}${PTEST_PATH}/src/tests | ||
60 | |||
61 | sed -e 's/^abs_srcdir = ..*/abs_srcdir = \.\./' \ | ||
62 | -e 's/^top_srcdir = ..*/top_srcdir = \.\./' \ | ||
63 | -e 's/^srcdir = ..*/srcdir = \./' \ | ||
64 | -e 's/^Makefile: ..*/Makefile: /' \ | ||
65 | -e 's/check-TESTS: $(check_PROGRAMS)/check-TESTS:/g' \ | ||
66 | ${B}/Makefile > ${D}${PTEST_PATH}/src/Makefile | ||
67 | |||
68 | sed -e 's|#!/bin/awk|#!/usr/bin/awk|g' -i ${D}${PTEST_PATH}/src/tests/scripts/*.awk | ||
69 | } | ||
70 | |||
33 | BBCLASSEXTEND = "native nativesdk" | 71 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.2.2.bb b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.2.2.bb index 29d48fd333..819096878b 100644 --- a/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.2.2.bb +++ b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.2.2.bb | |||
@@ -16,7 +16,7 @@ CVE_PRODUCT = "libsamplerate" | |||
16 | 16 | ||
17 | GITHUB_BASE_URI = "https://github.com/libsndfile/libsamplerate/releases" | 17 | GITHUB_BASE_URI = "https://github.com/libsndfile/libsamplerate/releases" |
18 | 18 | ||
19 | S = "${WORKDIR}/libsamplerate-${PV}" | 19 | S = "${UNPACKDIR}/libsamplerate-${PV}" |
20 | 20 | ||
21 | inherit autotools pkgconfig github-releases | 21 | inherit autotools pkgconfig github-releases |
22 | 22 | ||
diff --git a/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.2.bb b/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.2.bb index 63c1570621..0ec40dda7a 100644 --- a/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.2.bb +++ b/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.2.bb | |||
@@ -21,7 +21,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e77fe93202736b47c07035910f47974a" | |||
21 | 21 | ||
22 | CVE_PRODUCT = "libsndfile" | 22 | CVE_PRODUCT = "libsndfile" |
23 | 23 | ||
24 | S = "${WORKDIR}/libsndfile-${PV}" | 24 | S = "${UNPACKDIR}/libsndfile-${PV}" |
25 | 25 | ||
26 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" | 26 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" |
27 | PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" | 27 | PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" |
diff --git a/meta/recipes-multimedia/libtheora/libtheora_1.2.0.bb b/meta/recipes-multimedia/libtheora/libtheora_1.2.0.bb index 1a1b5fce06..04de8507fb 100644 --- a/meta/recipes-multimedia/libtheora/libtheora_1.2.0.bb +++ b/meta/recipes-multimedia/libtheora/libtheora_1.2.0.bb | |||
@@ -7,7 +7,6 @@ LICENSE = "BSD-3-Clause" | |||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=cf91718f59eb6a83d06dc7bcaf411132" | 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=cf91718f59eb6a83d06dc7bcaf411132" |
8 | DEPENDS = "libogg" | 8 | DEPENDS = "libogg" |
9 | 9 | ||
10 | |||
11 | SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.xz \ | 10 | SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.xz \ |
12 | file://0001-add-missing-files.patch" | 11 | file://0001-add-missing-files.patch" |
13 | 12 | ||
diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb index fae88d24d1..3cc3392593 100644 --- a/meta/recipes-multimedia/x264/x264_git.bb +++ b/meta/recipes-multimedia/x264/x264_git.bb | |||
@@ -16,8 +16,6 @@ SRCREV = "31e19f92f00c7003fa115047ce50978bc98c3a0d" | |||
16 | 16 | ||
17 | PV = "r3039+git" | 17 | PV = "r3039+git" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | inherit lib_package pkgconfig | 19 | inherit lib_package pkgconfig |
22 | 20 | ||
23 | X264_DISABLE_ASM = "" | 21 | X264_DISABLE_ASM = "" |
diff --git a/meta/recipes-rt/rt-tests/rt-tests.inc b/meta/recipes-rt/rt-tests/rt-tests.inc index f28258ef58..a2e8558c4c 100644 --- a/meta/recipes-rt/rt-tests/rt-tests.inc +++ b/meta/recipes-rt/rt-tests/rt-tests.inc | |||
@@ -4,4 +4,3 @@ PE = "1" | |||
4 | 4 | ||
5 | SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=main;protocol=https" | 5 | SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=main;protocol=https" |
6 | 6 | ||
7 | S = "${WORKDIR}/git" | ||
diff --git a/meta/recipes-sato/l3afpad/l3afpad_git.bb b/meta/recipes-sato/l3afpad/l3afpad_git.bb index 3d8c427b69..7e20f9abed 100644 --- a/meta/recipes-sato/l3afpad/l3afpad_git.bb +++ b/meta/recipes-sato/l3afpad/l3afpad_git.bb | |||
@@ -19,8 +19,6 @@ PV = "0.8.18.1.11+git" | |||
19 | SRC_URI = "git://github.com/stevenhoneyman/l3afpad.git;branch=master;protocol=https" | 19 | SRC_URI = "git://github.com/stevenhoneyman/l3afpad.git;branch=master;protocol=https" |
20 | SRCREV = "3cdccdc9505643e50f8208171d9eee5de11a42ff" | 20 | SRCREV = "3cdccdc9505643e50f8208171d9eee5de11a42ff" |
21 | 21 | ||
22 | S = "${WORKDIR}/git" | ||
23 | |||
24 | inherit autotools pkgconfig features_check mime-xdg | 22 | inherit autotools pkgconfig features_check mime-xdg |
25 | 23 | ||
26 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" | 24 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" |
diff --git a/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb b/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb index caa34966cc..6286a15798 100644 --- a/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb +++ b/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb | |||
@@ -15,8 +15,6 @@ SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https \ | |||
15 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" | 15 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" |
16 | PV = "0.2+git" | 16 | PV = "0.2+git" |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | inherit autotools pkgconfig features_check | 18 | inherit autotools pkgconfig features_check |
21 | 19 | ||
22 | # The settings-daemon requires x11 in DISTRO_FEATURES | 20 | # The settings-daemon requires x11 in DISTRO_FEATURES |
diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.3.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.3.bb index ab178f97e6..85e5300520 100644 --- a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.3.bb +++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.3.bb | |||
@@ -18,8 +18,6 @@ SRC_URI = "git://git.yoctoproject.org/${BPN}-2;branch=master;protocol=https \ | |||
18 | 18 | ||
19 | EXTRA_OECONF = "--enable-startup-notification --with-dbus" | 19 | EXTRA_OECONF = "--enable-startup-notification --with-dbus" |
20 | 20 | ||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | inherit autotools pkgconfig features_check | 21 | inherit autotools pkgconfig features_check |
24 | 22 | ||
25 | # The startup-notification requires x11 in DISTRO_FEATURES | 23 | # The startup-notification requires x11 in DISTRO_FEATURES |
diff --git a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb index a1f7862efa..5fc6c67bfc 100644 --- a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb +++ b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb | |||
@@ -17,8 +17,6 @@ SRC_URI = "git://git.yoctoproject.org/${BPN};branch=matchbox-keyboard-0-1;protoc | |||
17 | file://0001-desktop-file-Hide-the-keyboard-from-app-list.patch \ | 17 | file://0001-desktop-file-Hide-the-keyboard-from-app-list.patch \ |
18 | file://80matchboxkeyboard.sh" | 18 | file://80matchboxkeyboard.sh" |
19 | 19 | ||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | inherit autotools pkgconfig gettext gtk-immodules-cache features_check | 20 | inherit autotools pkgconfig gettext gtk-immodules-cache features_check |
23 | 21 | ||
24 | # The libxft, libfakekey and matchbox-panel-2 requires x11 in DISTRO_FEATURES | 22 | # The libxft, libfakekey and matchbox-panel-2 requires x11 in DISTRO_FEATURES |
@@ -44,7 +42,6 @@ FILES:${PN}-im = "${libdir}/gtk-2.0/*/immodules/*.so \ | |||
44 | 42 | ||
45 | FILES:${PN}-applet = "${libdir}/matchbox-panel/*.so" | 43 | FILES:${PN}-applet = "${libdir}/matchbox-panel/*.so" |
46 | 44 | ||
47 | |||
48 | do_install:append () { | 45 | do_install:append () { |
49 | install -d ${D}/${sysconfdir}/X11/Xsession.d/ | 46 | install -d ${D}/${sysconfdir}/X11/Xsession.d/ |
50 | install -m 755 ${UNPACKDIR}/80matchboxkeyboard.sh ${D}/${sysconfdir}/X11/Xsession.d/ | 47 | install -m 755 ${UNPACKDIR}/80matchboxkeyboard.sh ${D}/${sysconfdir}/X11/Xsession.d/ |
diff --git a/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.12.bb b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.12.bb index 83425f60fe..a126571ade 100644 --- a/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.12.bb +++ b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.12.bb | |||
@@ -28,8 +28,6 @@ SRC_URI = "git://git.yoctoproject.org/${BPN};protocol=https;branch=master \ | |||
28 | EXTRA_OECONF = "--enable-startup-notification --enable-dbus" | 28 | EXTRA_OECONF = "--enable-startup-notification --enable-dbus" |
29 | EXTRA_OECONF += " ${@bb.utils.contains("MACHINE_FEATURES", "acpi", "--with-battery=acpi", "",d)}" | 29 | EXTRA_OECONF += " ${@bb.utils.contains("MACHINE_FEATURES", "acpi", "--with-battery=acpi", "",d)}" |
30 | 30 | ||
31 | S = "${WORKDIR}/git" | ||
32 | |||
33 | FILES:${PN} += "${libdir}/matchbox-panel/*.so \ | 31 | FILES:${PN} += "${libdir}/matchbox-panel/*.so \ |
34 | ${datadir}/matchbox-panel/brightness/*.png \ | 32 | ${datadir}/matchbox-panel/brightness/*.png \ |
35 | ${datadir}/matchbox-panel/startup/*.png \ | 33 | ${datadir}/matchbox-panel/startup/*.png \ |
diff --git a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb index bb7ddbc7f4..75065163ba 100644 --- a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb +++ b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb | |||
@@ -20,8 +20,7 @@ REQUIRED_DISTRO_FEATURES = "x11" | |||
20 | SRC_URI = "file://session \ | 20 | SRC_URI = "file://session \ |
21 | file://index.theme" | 21 | file://index.theme" |
22 | 22 | ||
23 | S = "${WORKDIR}/sources" | 23 | S = "${UNPACKDIR}" |
24 | UNPACKDIR = "${S}" | ||
25 | 24 | ||
26 | FILES:${PN} += "${datadir}/themes/Sato/index.theme" | 25 | FILES:${PN} += "${datadir}/themes/Sato/index.theme" |
27 | 26 | ||
diff --git a/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb b/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb index c9b01b3cfd..ce1f425b77 100644 --- a/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb +++ b/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb | |||
@@ -14,8 +14,6 @@ SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https" | |||
14 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" | 14 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" |
15 | PV = "0.2+git" | 15 | PV = "0.2+git" |
16 | 16 | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | inherit autotools pkgconfig features_check update-alternatives | 17 | inherit autotools pkgconfig features_check update-alternatives |
20 | 18 | ||
21 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" | 19 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" |
diff --git a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.2.bb b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.2.bb index c60a11c3c0..ece4f25eca 100644 --- a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.2.bb +++ b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.2.bb | |||
@@ -5,4 +5,3 @@ SRCREV = "df085ba9cdaeaf2956890b0e29d7ea1779bf6c78" | |||
5 | SRC_URI = "git://git.yoctoproject.org/matchbox-sato;branch=master;protocol=https" | 5 | SRC_URI = "git://git.yoctoproject.org/matchbox-sato;branch=master;protocol=https" |
6 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" | 6 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" |
7 | 7 | ||
8 | S = "${WORKDIR}/git" | ||
diff --git a/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb b/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb index 20368703c4..65748ee771 100644 --- a/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb +++ b/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb | |||
@@ -5,8 +5,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
5 | 5 | ||
6 | SRC_URI = "file://50-sato.conf" | 6 | SRC_URI = "file://50-sato.conf" |
7 | 7 | ||
8 | S = "${WORKDIR}/sources" | 8 | S = "${UNPACKDIR}" |
9 | UNPACKDIR = "${S}" | ||
10 | 9 | ||
11 | inherit allarch | 10 | inherit allarch |
12 | 11 | ||
diff --git a/meta/recipes-sato/puzzles/puzzles_git.bb b/meta/recipes-sato/puzzles/puzzles_git.bb index 23eb20d350..253bc53e77 100644 --- a/meta/recipes-sato/puzzles/puzzles_git.bb +++ b/meta/recipes-sato/puzzles/puzzles_git.bb | |||
@@ -14,8 +14,6 @@ SRCREV = "7fa03051562ee81e2a5371f8b3a6d0bb6e646aa0" | |||
14 | PE = "2" | 14 | PE = "2" |
15 | PV = "0.0+git" | 15 | PV = "0.0+git" |
16 | 16 | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | inherit cmake features_check pkgconfig | 17 | inherit cmake features_check pkgconfig |
20 | 18 | ||
21 | DEPENDS += "gtk+3" | 19 | DEPENDS += "gtk+3" |
diff --git a/meta/recipes-sato/sato-icon-theme/sato-icon-theme_git.bb b/meta/recipes-sato/sato-icon-theme/sato-icon-theme_git.bb index 1ebbf010f3..83de53c26e 100644 --- a/meta/recipes-sato/sato-icon-theme/sato-icon-theme_git.bb +++ b/meta/recipes-sato/sato-icon-theme/sato-icon-theme_git.bb | |||
@@ -12,8 +12,6 @@ SRC_URI = "git://git.yoctoproject.org/sato-icon-theme.git;protocol=https;branch= | |||
12 | SRCREV = "d23f04ecb0328f655bf195df8eb04c1b734d53a9" | 12 | SRCREV = "d23f04ecb0328f655bf195df8eb04c1b734d53a9" |
13 | UPSTREAM_CHECK_COMMITS = "1" | 13 | UPSTREAM_CHECK_COMMITS = "1" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit autotools pkgconfig allarch gtk-icon-cache perlnative | 15 | inherit autotools pkgconfig allarch gtk-icon-cache perlnative |
18 | 16 | ||
19 | # The configure script uses pkg-config to find native binaries to execute, so | 17 | # The configure script uses pkg-config to find native binaries to execute, so |
diff --git a/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb b/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb index de4ab82484..a2af4faed3 100644 --- a/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb +++ b/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb | |||
@@ -14,8 +14,6 @@ SRCREV = "9250fa5a012d84ff45984e8c4345ee7635227756" | |||
14 | SRC_URI = "git://git.yoctoproject.org/screenshot;branch=master;protocol=https" | 14 | SRC_URI = "git://git.yoctoproject.org/screenshot;branch=master;protocol=https" |
15 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" | 15 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" |
16 | 16 | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | inherit autotools pkgconfig features_check | 17 | inherit autotools pkgconfig features_check |
20 | 18 | ||
21 | FILES:${PN} += "${libdir}/matchbox-panel/*.so" | 19 | FILES:${PN} += "${libdir}/matchbox-panel/*.so" |
diff --git a/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb b/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb index aee89b2f57..3869ab4a02 100644 --- a/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb +++ b/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb | |||
@@ -15,8 +15,6 @@ SRC_URI = "git://git.yoctoproject.org/xsettings-daemon;branch=master;protocol=ht | |||
15 | " | 15 | " |
16 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" | 16 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | inherit autotools pkgconfig gconf features_check | 18 | inherit autotools pkgconfig gconf features_check |
21 | 19 | ||
22 | FILES:${PN} = "${bindir}/* ${sysconfdir}" | 20 | FILES:${PN} = "${bindir}/* ${sysconfdir}" |
diff --git a/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb b/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb index 8c6c0edf10..b931495825 100644 --- a/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb +++ b/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb | |||
@@ -4,9 +4,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
4 | 4 | ||
5 | SRC_URI = "file://shutdown.desktop" | 5 | SRC_URI = "file://shutdown.desktop" |
6 | 6 | ||
7 | 7 | S = "${UNPACKDIR}" | |
8 | S = "${WORKDIR}/sources" | ||
9 | UNPACKDIR = "${S}" | ||
10 | 8 | ||
11 | do_install() { | 9 | do_install() { |
12 | install -d ${D}${datadir}/applications | 10 | install -d ${D}${datadir}/applications |
diff --git a/meta/recipes-support/appstream/appstream_1.0.5.bb b/meta/recipes-support/appstream/appstream_1.0.5.bb index 3e4f8708d8..bb293f76e2 100644 --- a/meta/recipes-support/appstream/appstream_1.0.5.bb +++ b/meta/recipes-support/appstream/appstream_1.0.5.bb | |||
@@ -32,7 +32,7 @@ SRC_URI = " \ | |||
32 | " | 32 | " |
33 | SRC_URI[sha256sum] = "ce0ed29e89abd5f0cf790ea87d792f1967c3413060beb30e63a979578d975121" | 33 | SRC_URI[sha256sum] = "ce0ed29e89abd5f0cf790ea87d792f1967c3413060beb30e63a979578d975121" |
34 | 34 | ||
35 | S = "${WORKDIR}/AppStream-${PV}" | 35 | S = "${UNPACKDIR}/AppStream-${PV}" |
36 | 36 | ||
37 | PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" | 37 | PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" |
38 | 38 | ||
diff --git a/meta/recipes-support/apr/apr-util_1.6.3.bb b/meta/recipes-support/apr/apr-util_1.6.3.bb index 291e98e24d..b5e3d2fc8a 100644 --- a/meta/recipes-support/apr/apr-util_1.6.3.bb +++ b/meta/recipes-support/apr/apr-util_1.6.3.bb | |||
@@ -23,7 +23,6 @@ EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \ | |||
23 | --without-sqlite2 \ | 23 | --without-sqlite2 \ |
24 | --with-expat=${STAGING_DIR_HOST}${prefix}" | 24 | --with-expat=${STAGING_DIR_HOST}${prefix}" |
25 | 25 | ||
26 | |||
27 | inherit autotools lib_package binconfig multilib_script | 26 | inherit autotools lib_package binconfig multilib_script |
28 | 27 | ||
29 | MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apu-1-config" | 28 | MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apu-1-config" |
diff --git a/meta/recipes-support/argp-standalone/argp-standalone_1.4.1.bb b/meta/recipes-support/argp-standalone/argp-standalone_1.4.1.bb index 00b6036502..74f53de6d7 100644 --- a/meta/recipes-support/argp-standalone/argp-standalone_1.4.1.bb +++ b/meta/recipes-support/argp-standalone/argp-standalone_1.4.1.bb | |||
@@ -12,7 +12,6 @@ SRC_URI = "git://github.com/ericonr/argp-standalone;branch=master;protocol=https | |||
12 | file://out_of_tree_build.patch \ | 12 | file://out_of_tree_build.patch \ |
13 | " | 13 | " |
14 | SRCREV = "e5fe9ad9e83e6765cf8fa787f903d4c6792338b5" | 14 | SRCREV = "e5fe9ad9e83e6765cf8fa787f903d4c6792338b5" |
15 | S = "${WORKDIR}/git" | ||
16 | 15 | ||
17 | inherit autotools | 16 | inherit autotools |
18 | 17 | ||
diff --git a/meta/recipes-support/bmaptool/bmaptool_3.9.0.bb b/meta/recipes-support/bmaptool/bmaptool_3.9.0.bb index 28750786af..d82ce5ded4 100644 --- a/meta/recipes-support/bmaptool/bmaptool_3.9.0.bb +++ b/meta/recipes-support/bmaptool/bmaptool_3.9.0.bb | |||
@@ -11,7 +11,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" | |||
11 | 11 | ||
12 | SRC_URI = "git://github.com/yoctoproject/${BPN};branch=main;protocol=https" | 12 | SRC_URI = "git://github.com/yoctoproject/${BPN};branch=main;protocol=https" |
13 | SRCREV = "618a7316102f6f81faa60537503012a419eafa06" | 13 | SRCREV = "618a7316102f6f81faa60537503012a419eafa06" |
14 | S = "${WORKDIR}/git" | ||
15 | 14 | ||
16 | # TODO: remove when we upgrade to a release past 3.9.0 | 15 | # TODO: remove when we upgrade to a release past 3.9.0 |
17 | PV .= "+git" | 16 | PV .= "+git" |
diff --git a/meta/recipes-support/boost/boost-1.88.0.inc b/meta/recipes-support/boost/boost-1.88.0.inc index 917f1a9600..96bd986f6a 100644 --- a/meta/recipes-support/boost/boost-1.88.0.inc +++ b/meta/recipes-support/boost/boost-1.88.0.inc | |||
@@ -17,4 +17,4 @@ SRC_URI[sha256sum] = "46d9d2c06637b219270877c9e16155cbd015b6dc84349af064c088e9b5 | |||
17 | UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" | 17 | UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" |
18 | UPSTREAM_CHECK_REGEX = "release/(?P<pver>.*)/source/" | 18 | UPSTREAM_CHECK_REGEX = "release/(?P<pver>.*)/source/" |
19 | 19 | ||
20 | S = "${WORKDIR}/${BOOST_P}" | 20 | S = "${UNPACKDIR}/${BOOST_P}" |
diff --git a/meta/recipes-support/boost/boost-build-native_1.87.0.bb b/meta/recipes-support/boost/boost-build-native_1.87.0.bb index 764f410780..5b914b6f88 100644 --- a/meta/recipes-support/boost/boost-build-native_1.87.0.bb +++ b/meta/recipes-support/boost/boost-build-native_1.87.0.bb | |||
@@ -14,8 +14,6 @@ UPSTREAM_CHECK_GITTAGREGEX = "boost-(?P<pver>(\d+(\.\d+)+))" | |||
14 | 14 | ||
15 | inherit native | 15 | inherit native |
16 | 16 | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | do_compile() { | 17 | do_compile() { |
20 | ./bootstrap.sh | 18 | ./bootstrap.sh |
21 | } | 19 | } |
diff --git a/meta/recipes-support/ca-certificates/ca-certificates_20250419.bb b/meta/recipes-support/ca-certificates/ca-certificates_20250419.bb index 01f594095e..a11433c9da 100644 --- a/meta/recipes-support/ca-certificates/ca-certificates_20250419.bb +++ b/meta/recipes-support/ca-certificates/ca-certificates_20250419.bb | |||
@@ -20,7 +20,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/c/ca-certificates/${BPN}_${PV}.tar.xz \ | |||
20 | file://0003-update-ca-certificates-use-relative-symlinks-from-ET.patch \ | 20 | file://0003-update-ca-certificates-use-relative-symlinks-from-ET.patch \ |
21 | file://0001-Revert-mozilla-certdata2pem.py-print-a-warning-for-e.patch \ | 21 | file://0001-Revert-mozilla-certdata2pem.py-print-a-warning-for-e.patch \ |
22 | " | 22 | " |
23 | S = "${WORKDIR}/ca-certificates" | 23 | S = "${UNPACKDIR}/ca-certificates" |
24 | inherit allarch | 24 | inherit allarch |
25 | 25 | ||
26 | EXTRA_OEMAKE = "\ | 26 | EXTRA_OEMAKE = "\ |
diff --git a/meta/recipes-support/consolekit/consolekit_0.4.6.bb b/meta/recipes-support/consolekit/consolekit_0.4.6.bb index fc1b985631..acef3483bb 100644 --- a/meta/recipes-support/consolekit/consolekit_0.4.6.bb +++ b/meta/recipes-support/consolekit/consolekit_0.4.6.bb | |||
@@ -22,7 +22,7 @@ SRC_URI = "http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-${PV}. | |||
22 | 22 | ||
23 | SRC_URI[sha256sum] = "b41d17e06f80059589fbeefe96ad07bcc564c49e65516da1caf975146475565c" | 23 | SRC_URI[sha256sum] = "b41d17e06f80059589fbeefe96ad07bcc564c49e65516da1caf975146475565c" |
24 | 24 | ||
25 | S = "${WORKDIR}/ConsoleKit-${PV}" | 25 | S = "${UNPACKDIR}/ConsoleKit-${PV}" |
26 | 26 | ||
27 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd polkit', d)}" | 27 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd polkit', d)}" |
28 | 28 | ||
diff --git a/meta/recipes-support/debianutils/debianutils_5.23.1.bb b/meta/recipes-support/debianutils/debianutils_5.23.1.bb index 85955883a4..96ea9063bf 100644 --- a/meta/recipes-support/debianutils/debianutils_5.23.1.bb +++ b/meta/recipes-support/debianutils/debianutils_5.23.1.bb | |||
@@ -15,14 +15,11 @@ SRCREV = "ab0eaf33b783ba578773af2557753d2b973ba5bb" | |||
15 | 15 | ||
16 | inherit autotools update-alternatives | 16 | inherit autotools update-alternatives |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | # Disable po4a (translated manpages) sub-directory, as that requires po4a to build | 18 | # Disable po4a (translated manpages) sub-directory, as that requires po4a to build |
21 | do_configure:prepend() { | 19 | do_configure:prepend() { |
22 | sed -i -e 's:po4a::g' ${S}/Makefile.am | 20 | sed -i -e 's:po4a::g' ${S}/Makefile.am |
23 | } | 21 | } |
24 | 22 | ||
25 | |||
26 | do_install:append() { | 23 | do_install:append() { |
27 | if [ "${base_bindir}" != "${bindir}" ]; then | 24 | if [ "${base_bindir}" != "${bindir}" ]; then |
28 | # Debian places some utils into ${base_bindir} as does busybox | 25 | # Debian places some utils into ${base_bindir} as does busybox |
diff --git a/meta/recipes-support/dos2unix/dos2unix_7.5.2.bb b/meta/recipes-support/dos2unix/dos2unix_7.5.2.bb index 06338dd62f..c3803f457b 100644 --- a/meta/recipes-support/dos2unix/dos2unix_7.5.2.bb +++ b/meta/recipes-support/dos2unix/dos2unix_7.5.2.bb | |||
@@ -13,7 +13,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "dos2unix-(?P<pver>(\d+(\.\d+)+))" | |||
13 | 13 | ||
14 | SRCREV = "c16a0b31a64c7eb6b2d76960e5144732b57f2993" | 14 | SRCREV = "c16a0b31a64c7eb6b2d76960e5144732b57f2993" |
15 | 15 | ||
16 | S = "${WORKDIR}/git/dos2unix" | 16 | S = "${UNPACKDIR}/${BP}/dos2unix" |
17 | 17 | ||
18 | inherit gettext perlnative | 18 | inherit gettext perlnative |
19 | 19 | ||
diff --git a/meta/recipes-support/enchant/enchant2_2.8.6.bb b/meta/recipes-support/enchant/enchant2_2.8.6.bb index 66de313d9d..2696fc0f81 100644 --- a/meta/recipes-support/enchant/enchant2_2.8.6.bb +++ b/meta/recipes-support/enchant/enchant2_2.8.6.bb | |||
@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "c4cd0889d8aff8248fc3913de5a83907013962f0e1895030a3836468cd | |||
16 | 16 | ||
17 | GITHUB_BASE_URI = "https://github.com/rrthomas/enchant/releases" | 17 | GITHUB_BASE_URI = "https://github.com/rrthomas/enchant/releases" |
18 | 18 | ||
19 | S = "${WORKDIR}/enchant-${PV}" | 19 | S = "${UNPACKDIR}/enchant-${PV}" |
20 | 20 | ||
21 | PACKAGECONFIG ??= "aspell" | 21 | PACKAGECONFIG ??= "aspell" |
22 | PACKAGECONFIG[aspell] = "--with-aspell,--without-aspell,aspell,aspell" | 22 | PACKAGECONFIG[aspell] = "--with-aspell,--without-aspell,aspell,aspell" |
diff --git a/meta/recipes-support/gdbm/gdbm_1.24.bb b/meta/recipes-support/gdbm/gdbm_1.24.bb index 8e3cec4295..f400462a7a 100644 --- a/meta/recipes-support/gdbm/gdbm_1.24.bb +++ b/meta/recipes-support/gdbm/gdbm_1.24.bb | |||
@@ -7,7 +7,6 @@ SECTION = "libs" | |||
7 | LICENSE = "GPL-3.0-only" | 7 | LICENSE = "GPL-3.0-only" |
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=241da1b9fe42e642cbb2c24d5e0c4d24" | 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=241da1b9fe42e642cbb2c24d5e0c4d24" |
9 | 9 | ||
10 | |||
11 | SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \ | 10 | SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \ |
12 | file://run-ptest \ | 11 | file://run-ptest \ |
13 | file://ptest.patch \ | 12 | file://ptest.patch \ |
diff --git a/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb b/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb index 1173dd4af3..4fcad4814b 100644 --- a/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb +++ b/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb | |||
@@ -16,8 +16,6 @@ SRCREV = "e346cd4ed2e2102c9b195b614f3c642d23f5f6e7" | |||
16 | 16 | ||
17 | DEPENDS = "glib-2.0" | 17 | DEPENDS = "glib-2.0" |
18 | 18 | ||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | inherit autotools pkgconfig | 19 | inherit autotools pkgconfig |
22 | 20 | ||
23 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" | 21 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" |
diff --git a/meta/recipes-support/hwdata/hwdata_0.396.bb b/meta/recipes-support/hwdata/hwdata_0.396.bb index 291a4ef85d..bf6dd9889e 100644 --- a/meta/recipes-support/hwdata/hwdata_0.396.bb +++ b/meta/recipes-support/hwdata/hwdata_0.396.bb | |||
@@ -10,8 +10,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57" | |||
10 | SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https;tag=v${PV}" | 10 | SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https;tag=v${PV}" |
11 | SRCREV = "736513dfc1d44c5fb48bead62af7e91c4e1d1dd2" | 11 | SRCREV = "736513dfc1d44c5fb48bead62af7e91c4e1d1dd2" |
12 | 12 | ||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | inherit allarch | 13 | inherit allarch |
16 | 14 | ||
17 | do_configure() { | 15 | do_configure() { |
diff --git a/meta/recipes-support/icu/icu_77-1.bb b/meta/recipes-support/icu/icu_77-1.bb index 90af2cdc27..e655b18ad2 100644 --- a/meta/recipes-support/icu/icu_77-1.bb +++ b/meta/recipes-support/icu/icu_77-1.bb | |||
@@ -10,7 +10,7 @@ DEPENDS = "icu-native autoconf-archive-native" | |||
10 | 10 | ||
11 | CVE_PRODUCT = "international_components_for_unicode" | 11 | CVE_PRODUCT = "international_components_for_unicode" |
12 | 12 | ||
13 | S = "${WORKDIR}/icu/source" | 13 | S = "${UNPACKDIR}/icu/source" |
14 | STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}" | 14 | STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}" |
15 | 15 | ||
16 | ICU_MAJOR_VER = "${@d.getVar('PV').split('-')[0]}" | 16 | ICU_MAJOR_VER = "${@d.getVar('PV').split('-')[0]}" |
diff --git a/meta/recipes-support/iso-codes/iso-codes_4.18.0.bb b/meta/recipes-support/iso-codes/iso-codes_4.18.0.bb index c737cfd59f..1ee9f5a8f5 100644 --- a/meta/recipes-support/iso-codes/iso-codes_4.18.0.bb +++ b/meta/recipes-support/iso-codes/iso-codes_4.18.0.bb | |||
@@ -15,8 +15,6 @@ SRCREV = "5be4d112d420706eacd913a3ebd85549fe9eeae4" | |||
15 | # are inhibited by allarch | 15 | # are inhibited by allarch |
16 | DEPENDS = "gettext-native" | 16 | DEPENDS = "gettext-native" |
17 | 17 | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | inherit allarch autotools | 18 | inherit allarch autotools |
21 | 19 | ||
22 | FILES:${PN} += "${datadir}/xml/" | 20 | FILES:${PN} += "${datadir}/xml/" |
diff --git a/meta/recipes-support/libatomic-ops/libatomic-ops_7.8.2.bb b/meta/recipes-support/libatomic-ops/libatomic-ops_7.8.2.bb index 569da16510..00994dfae0 100644 --- a/meta/recipes-support/libatomic-ops/libatomic-ops_7.8.2.bb +++ b/meta/recipes-support/libatomic-ops/libatomic-ops_7.8.2.bb | |||
@@ -15,7 +15,7 @@ SRC_URI[sha256sum] = "d305207fe207f2b3fb5cb4c019da12b44ce3fcbc593dfd5080d867b1a2 | |||
15 | 15 | ||
16 | CVE_PRODUCT = "libatomic_ops" | 16 | CVE_PRODUCT = "libatomic_ops" |
17 | 17 | ||
18 | S = "${WORKDIR}/libatomic_ops-${PV}" | 18 | S = "${UNPACKDIR}/libatomic_ops-${PV}" |
19 | 19 | ||
20 | ALLOW_EMPTY:${PN} = "1" | 20 | ALLOW_EMPTY:${PN} = "1" |
21 | 21 | ||
diff --git a/meta/recipes-support/libcap-ng/libcap-ng.inc b/meta/recipes-support/libcap-ng/libcap-ng.inc index 4c8ffd41c2..ed8712bf2b 100644 --- a/meta/recipes-support/libcap-ng/libcap-ng.inc +++ b/meta/recipes-support/libcap-ng/libcap-ng.inc | |||
@@ -11,7 +11,6 @@ SRC_URI = "git://github.com/stevegrubb/libcap-ng.git;protocol=https;branch=maste | |||
11 | file://0001-Fix-python-path-when-invoking-py-compile-54.patch \ | 11 | file://0001-Fix-python-path-when-invoking-py-compile-54.patch \ |
12 | " | 12 | " |
13 | SRCREV = "f5d39702622208b3ada064d7b2eaeaf1454c9bd3" | 13 | SRCREV = "f5d39702622208b3ada064d7b2eaeaf1454c9bd3" |
14 | S = "${WORKDIR}/git" | ||
15 | 14 | ||
16 | inherit lib_package autotools | 15 | inherit lib_package autotools |
17 | 16 | ||
diff --git a/meta/recipes-support/libcheck/libcheck/not-echo-compiler-info-to-check_stdint.h.patch b/meta/recipes-support/libcheck/libcheck/not-echo-compiler-info-to-check_stdint.h.patch deleted file mode 100644 index 3c7572700d..0000000000 --- a/meta/recipes-support/libcheck/libcheck/not-echo-compiler-info-to-check_stdint.h.patch +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | Do not echo compiler info in a comment line to check_stdint.h which causes | ||
2 | multilib install file conflict. | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
7 | |||
8 | diff --git a/m4/ax_create_stdint_h.m4 b/m4/ax_create_stdint_h.m4 | ||
9 | index 33a21f8..eacc37a 100644 | ||
10 | --- a/m4/ax_create_stdint_h.m4 | ||
11 | +++ b/m4/ax_create_stdint_h.m4 | ||
12 | @@ -272,7 +272,6 @@ echo "#ifndef" $_ac_stdint_h >$ac_stdint | ||
13 | echo "#define" $_ac_stdint_h "1" >>$ac_stdint | ||
14 | echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint | ||
15 | echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint | ||
16 | -echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint | ||
17 | if test "_$ac_cv_header_stdint_t" != "_" ; then | ||
18 | echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint | ||
19 | echo "#include <stdint.h>" >>$ac_stdint | ||
diff --git a/meta/recipes-support/libcheck/libcheck/subunit.patch b/meta/recipes-support/libcheck/libcheck/subunit.patch new file mode 100644 index 0000000000..29c4b15601 --- /dev/null +++ b/meta/recipes-support/libcheck/libcheck/subunit.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From a6cd376b9ebcb4afc9ab06bce23b9bd909811ece Mon Sep 17 00:00:00 2001 | ||
2 | From: Christopher Obbard <christopher.obbard@linaro.org> | ||
3 | Date: Thu, 13 Jun 2024 09:49:53 +0100 | ||
4 | Subject: [PATCH] Allow disabling autodetection of subunit library | ||
5 | |||
6 | It can be useful to avoid linking to subunit when we are building the check | ||
7 | library for the host, e.g. in a buildroot recipe, where the built check is | ||
8 | linked into other applications which are used on the host to build images. | ||
9 | |||
10 | These applications are built with the host's cross-compiler and can use | ||
11 | the host's pkgconfig to determine if libraries are available. When check | ||
12 | is linked against other libraries, it can fail this check for subunit. | ||
13 | |||
14 | Allow disabling the autodetection of subunit with a configure flag | ||
15 | -DENABLE_SUBUNIT_EXT=OFF | ||
16 | |||
17 | Signed-off-by: Christopher Obbard <christopher.obbard@linaro.org> | ||
18 | |||
19 | Upstream-Status: Submitted [https://github.com/libcheck/check/pull/353/] | ||
20 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
21 | --- | ||
22 | CMakeLists.txt | 8 +++++++- | ||
23 | 1 file changed, 7 insertions(+), 1 deletion(-) | ||
24 | |||
25 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
26 | index 2ee580bc..6b36015b 100644 | ||
27 | --- a/CMakeLists.txt | ||
28 | +++ b/CMakeLists.txt | ||
29 | @@ -393,7 +393,13 @@ if (HAVE_LIBRT) | ||
30 | ADD_DEFINITIONS(-DHAVE_LIBRT=1) | ||
31 | endif (HAVE_LIBRT) | ||
32 | |||
33 | -check_library_exists(subunit subunit_test_start "" HAVE_SUBUNIT) | ||
34 | +# Allow disabling subunit | ||
35 | +IF(ENABLE_SUBUNIT_EXT) | ||
36 | + check_library_exists(subunit subunit_test_start "" HAVE_SUBUNIT) | ||
37 | +ELSE(ENABLE_SUBUNIT_EXT) | ||
38 | + set(HAVE_SUBUNIT, false) | ||
39 | +ENDIF(ENABLE_SUBUNIT_EXT) | ||
40 | + | ||
41 | if (HAVE_SUBUNIT) | ||
42 | set(SUBUNIT "subunit") | ||
43 | set(ENABLE_SUBUNIT 1) | ||
diff --git a/meta/recipes-support/libcheck/libcheck_0.15.2.bb b/meta/recipes-support/libcheck/libcheck_0.15.2.bb index 8455f2c748..33f8f54888 100644 --- a/meta/recipes-support/libcheck/libcheck_0.15.2.bb +++ b/meta/recipes-support/libcheck/libcheck_0.15.2.bb | |||
@@ -12,17 +12,18 @@ LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=2d5025d4aa3495befef8f17206a5b0a1" | |||
12 | 12 | ||
13 | SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/check-${PV}.tar.gz \ | 13 | SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/check-${PV}.tar.gz \ |
14 | file://automake-output.patch \ | 14 | file://automake-output.patch \ |
15 | file://not-echo-compiler-info-to-check_stdint.h.patch" | 15 | file://subunit.patch" |
16 | SRC_URI[sha256sum] = "a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a" | 16 | SRC_URI[sha256sum] = "a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a" |
17 | GITHUB_BASE_URI = "https://github.com/libcheck/check/releases/" | 17 | GITHUB_BASE_URI = "https://github.com/libcheck/check/releases/" |
18 | 18 | ||
19 | S = "${WORKDIR}/check-${PV}" | 19 | S = "${UNPACKDIR}/check-${PV}" |
20 | 20 | ||
21 | inherit cmake pkgconfig texinfo github-releases | 21 | inherit cmake pkgconfig texinfo github-releases |
22 | 22 | ||
23 | RREPLACES:${PN} = "check (<= 0.9.5)" | 23 | RREPLACES:${PN} = "check (<= 0.9.5)" |
24 | 24 | ||
25 | EXTRA_OECMAKE:append:class-target = " -DAWK_PATH=${bindir}/awk" | 25 | EXTRA_OECMAKE:append:class-target = " -DAWK_PATH=${bindir}/awk" |
26 | EXTRA_OECMAKE = "-DENABLE_SUBUNIT_EXT=OFF" | ||
26 | 27 | ||
27 | do_install:append:class-native() { | 28 | do_install:append:class-native() { |
28 | create_cmdline_shebang_wrapper ${D}${bindir}/checkmk | 29 | create_cmdline_shebang_wrapper ${D}${bindir}/checkmk |
@@ -35,4 +36,3 @@ PACKAGES =+ "checkmk" | |||
35 | FILES:checkmk = "${bindir}/checkmk" | 36 | FILES:checkmk = "${bindir}/checkmk" |
36 | 37 | ||
37 | RDEPENDS:checkmk = "gawk" | 38 | RDEPENDS:checkmk = "gawk" |
38 | |||
diff --git a/meta/recipes-support/libdisplay-info/libdisplay-info_0.2.0.bb b/meta/recipes-support/libdisplay-info/libdisplay-info_0.2.0.bb index f5156cc9f7..812a30495e 100644 --- a/meta/recipes-support/libdisplay-info/libdisplay-info_0.2.0.bb +++ b/meta/recipes-support/libdisplay-info/libdisplay-info_0.2.0.bb | |||
@@ -11,6 +11,4 @@ DEPENDS = "hwdata-native" | |||
11 | SRC_URI = "git://gitlab.freedesktop.org/emersion/libdisplay-info.git;branch=main;protocol=https" | 11 | SRC_URI = "git://gitlab.freedesktop.org/emersion/libdisplay-info.git;branch=main;protocol=https" |
12 | SRCREV = "66b802d05b374cd8f388dc6ad1e7ae4f08cb3300" | 12 | SRCREV = "66b802d05b374cd8f388dc6ad1e7ae4f08cb3300" |
13 | 13 | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | inherit meson pkgconfig lib_package | 14 | inherit meson pkgconfig lib_package |
diff --git a/meta/recipes-support/libevent/libevent_2.1.12.bb b/meta/recipes-support/libevent/libevent_2.1.12.bb index 25388fb4d7..2fadf10943 100644 --- a/meta/recipes-support/libevent/libevent_2.1.12.bb +++ b/meta/recipes-support/libevent/libevent_2.1.12.bb | |||
@@ -23,7 +23,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/release-${PV}-stable/${BP}-stable.tar.gz | |||
23 | SRC_URI[sha256sum] = "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb" | 23 | SRC_URI[sha256sum] = "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb" |
24 | UPSTREAM_CHECK_REGEX = "releases/tag/release-(?P<pver>.+)-stable" | 24 | UPSTREAM_CHECK_REGEX = "releases/tag/release-(?P<pver>.+)-stable" |
25 | 25 | ||
26 | S = "${WORKDIR}/${BPN}-${PV}-stable" | 26 | S = "${UNPACKDIR}/${BPN}-${PV}-stable" |
27 | 27 | ||
28 | PACKAGECONFIG ??= "" | 28 | PACKAGECONFIG ??= "" |
29 | PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" | 29 | PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" |
diff --git a/meta/recipes-support/libfm/libfm-extra_1.3.2.bb b/meta/recipes-support/libfm/libfm-extra_1.3.2.bb index b7a9b25f86..5bf2f0f502 100644 --- a/meta/recipes-support/libfm/libfm-extra_1.3.2.bb +++ b/meta/recipes-support/libfm/libfm-extra_1.3.2.bb | |||
@@ -14,7 +14,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${SOURCEFORGE_PROJECT}/libfm-${PV}.tar.xz \ | |||
14 | 14 | ||
15 | SRC_URI[sha256sum] = "a5042630304cf8e5d8cff9d565c6bd546f228b48c960153ed366a34e87cad1e5" | 15 | SRC_URI[sha256sum] = "a5042630304cf8e5d8cff9d565c6bd546f228b48c960153ed366a34e87cad1e5" |
16 | 16 | ||
17 | S = "${WORKDIR}/libfm-${PV}" | 17 | S = "${UNPACKDIR}/libfm-${PV}" |
18 | 18 | ||
19 | EXTRA_OECONF = "--with-extra-only --with-gtk=no" | 19 | EXTRA_OECONF = "--with-extra-only --with-gtk=no" |
20 | 20 | ||
diff --git a/meta/recipes-support/libfm/libfm_1.3.2.bb b/meta/recipes-support/libfm/libfm_1.3.2.bb index e3cf751716..ab29ce4b40 100644 --- a/meta/recipes-support/libfm/libfm_1.3.2.bb +++ b/meta/recipes-support/libfm/libfm_1.3.2.bb | |||
@@ -9,7 +9,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4641e94ec96f98fabc56ff9cc48be14b \ | |||
9 | file://src/base/fm-config.h;beginline=10;endline=23;md5=ef1f84da64b3c01cca447212f7ef6007 \ | 9 | file://src/base/fm-config.h;beginline=10;endline=23;md5=ef1f84da64b3c01cca447212f7ef6007 \ |
10 | file://src/fm-gtk.h;beginline=6;endline=19;md5=646baa4955c04fe768f2ca27b92ac8dd" | 10 | file://src/fm-gtk.h;beginline=6;endline=19;md5=646baa4955c04fe768f2ca27b92ac8dd" |
11 | 11 | ||
12 | |||
13 | SECTION = "x11/libs" | 12 | SECTION = "x11/libs" |
14 | DEPENDS = "glib-2.0 glib-2.0-native pango gtk+3 menu-cache intltool-native libexif libfm-extra" | 13 | DEPENDS = "glib-2.0 glib-2.0-native pango gtk+3 menu-cache intltool-native libexif libfm-extra" |
15 | 14 | ||
diff --git a/meta/recipes-support/libgit2/libgit2_1.9.0.bb b/meta/recipes-support/libgit2/libgit2_1.9.0.bb index 47a63ca286..66ec62f17a 100644 --- a/meta/recipes-support/libgit2/libgit2_1.9.0.bb +++ b/meta/recipes-support/libgit2/libgit2_1.9.0.bb | |||
@@ -10,8 +10,6 @@ SRC_URI = "git://github.com/libgit2/libgit2.git;branch=main;protocol=https \ | |||
10 | " | 10 | " |
11 | SRCREV = "338e6fb681369ff0537719095e22ce9dc602dbf0" | 11 | SRCREV = "338e6fb681369ff0537719095e22ce9dc602dbf0" |
12 | 12 | ||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | inherit cmake | 13 | inherit cmake |
16 | 14 | ||
17 | EXTRA_OECMAKE = "\ | 15 | EXTRA_OECMAKE = "\ |
diff --git a/meta/recipes-support/libgpg-error/libgpg-error_1.55.bb b/meta/recipes-support/libgpg-error/libgpg-error_1.55.bb index 96dac49aae..842f54b0ff 100644 --- a/meta/recipes-support/libgpg-error/libgpg-error_1.55.bb +++ b/meta/recipes-support/libgpg-error/libgpg-error_1.55.bb | |||
@@ -10,7 +10,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ | |||
10 | file://src/init.c;beginline=2;endline=17;md5=f01cdfcf747af5380590cfd9bbfeaaf7 \ | 10 | file://src/init.c;beginline=2;endline=17;md5=f01cdfcf747af5380590cfd9bbfeaaf7 \ |
11 | " | 11 | " |
12 | 12 | ||
13 | |||
14 | SECTION = "libs" | 13 | SECTION = "libs" |
15 | 14 | ||
16 | UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" | 15 | UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" |
diff --git a/meta/recipes-support/libjitterentropy/libjitterentropy_3.6.3.bb b/meta/recipes-support/libjitterentropy/libjitterentropy_3.6.3.bb index e2df844202..7890dfa5c7 100644 --- a/meta/recipes-support/libjitterentropy/libjitterentropy_3.6.3.bb +++ b/meta/recipes-support/libjitterentropy/libjitterentropy_3.6.3.bb | |||
@@ -11,7 +11,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e01027c4ad1fe5a4768f8488c945d491 \ | |||
11 | " | 11 | " |
12 | SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git;branch=master;protocol=https;tag=v${PV}" | 12 | SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git;branch=master;protocol=https;tag=v${PV}" |
13 | SRCREV = "c90ff465dcdb6a6949542c72a26a8ab496daa8cb" | 13 | SRCREV = "c90ff465dcdb6a6949542c72a26a8ab496daa8cb" |
14 | S = "${WORKDIR}/git" | ||
15 | 14 | ||
16 | do_configure[noexec] = "1" | 15 | do_configure[noexec] = "1" |
17 | 16 | ||
diff --git a/meta/recipes-support/libmpc/libmpc_1.3.1.bb b/meta/recipes-support/libmpc/libmpc_1.3.1.bb index ed57396c0a..b3853fc964 100644 --- a/meta/recipes-support/libmpc/libmpc_1.3.1.bb +++ b/meta/recipes-support/libmpc/libmpc_1.3.1.bb | |||
@@ -7,6 +7,6 @@ SRC_URI = "${GNU_MIRROR}/mpc/mpc-${PV}.tar.gz" | |||
7 | 7 | ||
8 | SRC_URI[sha256sum] = "ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8" | 8 | SRC_URI[sha256sum] = "ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8" |
9 | 9 | ||
10 | S = "${WORKDIR}/mpc-${PV}" | 10 | S = "${UNPACKDIR}/mpc-${PV}" |
11 | BBCLASSEXTEND = "native nativesdk" | 11 | BBCLASSEXTEND = "native nativesdk" |
12 | 12 | ||
diff --git a/meta/recipes-support/libpcre/libpcre2_10.45.bb b/meta/recipes-support/libpcre/libpcre2_10.45.bb index e82de0fa5b..4fbb8921c5 100644 --- a/meta/recipes-support/libpcre/libpcre2_10.45.bb +++ b/meta/recipes-support/libpcre/libpcre2_10.45.bb | |||
@@ -19,7 +19,7 @@ SRC_URI[sha256sum] = "21547f3516120c75597e5b30a992e27a592a31950b5140e7b8bfde3f19 | |||
19 | 19 | ||
20 | CVE_PRODUCT = "pcre2" | 20 | CVE_PRODUCT = "pcre2" |
21 | 21 | ||
22 | S = "${WORKDIR}/pcre2-${PV}" | 22 | S = "${UNPACKDIR}/pcre2-${PV}" |
23 | 23 | ||
24 | PROVIDES += "pcre2" | 24 | PROVIDES += "pcre2" |
25 | DEPENDS += "bzip2 zlib" | 25 | DEPENDS += "bzip2 zlib" |
diff --git a/meta/recipes-support/libpcre/libpcre_8.45.bb b/meta/recipes-support/libpcre/libpcre_8.45.bb index 933bb00de6..67327065e4 100644 --- a/meta/recipes-support/libpcre/libpcre_8.45.bb +++ b/meta/recipes-support/libpcre/libpcre_8.45.bb | |||
@@ -17,7 +17,7 @@ SRC_URI[sha256sum] = "4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e321 | |||
17 | 17 | ||
18 | CVE_PRODUCT = "pcre" | 18 | CVE_PRODUCT = "pcre" |
19 | 19 | ||
20 | S = "${WORKDIR}/pcre-${PV}" | 20 | S = "${UNPACKDIR}/pcre-${PV}" |
21 | 21 | ||
22 | PROVIDES += "pcre" | 22 | PROVIDES += "pcre" |
23 | DEPENDS += "bzip2 zlib" | 23 | DEPENDS += "bzip2 zlib" |
diff --git a/meta/recipes-support/libproxy/libproxy_0.5.9.bb b/meta/recipes-support/libproxy/libproxy_0.5.9.bb index e6192a6960..ed8a4df2a8 100644 --- a/meta/recipes-support/libproxy/libproxy_0.5.9.bb +++ b/meta/recipes-support/libproxy/libproxy_0.5.9.bb | |||
@@ -15,7 +15,6 @@ DEPENDS = "glib-2.0" | |||
15 | 15 | ||
16 | SRC_URI = "git://github.com/libproxy/libproxy;protocol=https;branch=main" | 16 | SRC_URI = "git://github.com/libproxy/libproxy;protocol=https;branch=main" |
17 | SRCREV = "77e2a2b88a319974cf099c8eaaaa03030bc4c0d4" | 17 | SRCREV = "77e2a2b88a319974cf099c8eaaaa03030bc4c0d4" |
18 | S = "${WORKDIR}/git" | ||
19 | 18 | ||
20 | inherit meson pkgconfig gobject-introspection vala gi-docgen | 19 | inherit meson pkgconfig gobject-introspection vala gi-docgen |
21 | GIDOCGEN_MESON_OPTION = 'docs' | 20 | GIDOCGEN_MESON_OPTION = 'docs' |
diff --git a/meta/recipes-support/libseccomp/libseccomp_2.6.0.bb b/meta/recipes-support/libseccomp/libseccomp_2.6.0.bb index 949799fc82..97988afa27 100644 --- a/meta/recipes-support/libseccomp/libseccomp_2.6.0.bb +++ b/meta/recipes-support/libseccomp/libseccomp_2.6.0.bb | |||
@@ -13,8 +13,6 @@ SRC_URI = "git://github.com/seccomp/libseccomp.git;branch=release-2.6;protocol=h | |||
13 | file://run-ptest \ | 13 | file://run-ptest \ |
14 | " | 14 | " |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit autotools-brokensep pkgconfig ptest features_check | 16 | inherit autotools-brokensep pkgconfig ptest features_check |
19 | 17 | ||
20 | inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} | 18 | inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} |
diff --git a/meta/recipes-support/libsoup/libsoup_3.6.5.bb b/meta/recipes-support/libsoup/libsoup_3.6.5.bb index fbe9a79b0f..29e45dfb97 100644 --- a/meta/recipes-support/libsoup/libsoup_3.6.5.bb +++ b/meta/recipes-support/libsoup/libsoup_3.6.5.bb | |||
@@ -17,7 +17,7 @@ SRC_URI[sha256sum] = "6891765aac3e949017945c3eaebd8cc8216df772456dc9f460976fbdb7 | |||
17 | PROVIDES = "libsoup-3.0" | 17 | PROVIDES = "libsoup-3.0" |
18 | CVE_PRODUCT = "libsoup" | 18 | CVE_PRODUCT = "libsoup" |
19 | 19 | ||
20 | S = "${WORKDIR}/libsoup-${PV}" | 20 | S = "${UNPACKDIR}/libsoup-${PV}" |
21 | 21 | ||
22 | inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gi-docgen vala | 22 | inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gi-docgen vala |
23 | 23 | ||
diff --git a/meta/recipes-support/liburcu/liburcu_0.15.3.bb b/meta/recipes-support/liburcu/liburcu_0.15.3.bb index fb4e457719..fdbd79e016 100644 --- a/meta/recipes-support/liburcu/liburcu_0.15.3.bb +++ b/meta/recipes-support/liburcu/liburcu_0.15.3.bb | |||
@@ -11,12 +11,11 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c2a92498b6e88e276f986877995425b8 \ | |||
11 | file://include/urcu/uatomic/x86.h;beginline=1;endline=6;md5=358d69272ba7b5f85e29e342430d440c \ | 11 | file://include/urcu/uatomic/x86.h;beginline=1;endline=6;md5=358d69272ba7b5f85e29e342430d440c \ |
12 | " | 12 | " |
13 | 13 | ||
14 | |||
15 | SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2" | 14 | SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2" |
16 | 15 | ||
17 | SRC_URI[sha256sum] = "26687ec84e3e114759454c884a08abeaf79dec09b041895ddf4c45ec150acb6d" | 16 | SRC_URI[sha256sum] = "26687ec84e3e114759454c884a08abeaf79dec09b041895ddf4c45ec150acb6d" |
18 | 17 | ||
19 | S = "${WORKDIR}/userspace-rcu-${PV}" | 18 | S = "${UNPACKDIR}/userspace-rcu-${PV}" |
20 | inherit autotools multilib_header | 19 | inherit autotools multilib_header |
21 | 20 | ||
22 | CPPFLAGS:append:riscv64 = " -pthread -D_REENTRANT" | 21 | CPPFLAGS:append:riscv64 = " -pthread -D_REENTRANT" |
diff --git a/meta/recipes-support/libusb/libusb1_1.0.29.bb b/meta/recipes-support/libusb/libusb1_1.0.29.bb index bae5e2c09f..2f43ee68b7 100644 --- a/meta/recipes-support/libusb/libusb1_1.0.29.bb +++ b/meta/recipes-support/libusb/libusb1_1.0.29.bb | |||
@@ -21,7 +21,7 @@ UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$" | |||
21 | 21 | ||
22 | SRC_URI[sha256sum] = "5977fc950f8d1395ccea9bd48c06b3f808fd3c2c961b44b0c2e6e29fc3a70a85" | 22 | SRC_URI[sha256sum] = "5977fc950f8d1395ccea9bd48c06b3f808fd3c2c961b44b0c2e6e29fc3a70a85" |
23 | 23 | ||
24 | S = "${WORKDIR}/libusb-${PV}" | 24 | S = "${UNPACKDIR}/libusb-${PV}" |
25 | 25 | ||
26 | inherit autotools pkgconfig ptest github-releases | 26 | inherit autotools pkgconfig ptest github-releases |
27 | 27 | ||
diff --git a/meta/recipes-support/libxslt/libxslt_1.1.43.bb b/meta/recipes-support/libxslt/libxslt_1.1.43.bb index d251fa8122..c0699cbce8 100644 --- a/meta/recipes-support/libxslt/libxslt_1.1.43.bb +++ b/meta/recipes-support/libxslt/libxslt_1.1.43.bb | |||
@@ -21,7 +21,7 @@ UPSTREAM_CHECK_REGEX = "libxslt-(?P<pver>\d+(\.\d+)+)\.tar" | |||
21 | 21 | ||
22 | CVE_STATUS[CVE-2022-29824] = "not-applicable-config: Static linking to libxml2 is not enabled." | 22 | CVE_STATUS[CVE-2022-29824] = "not-applicable-config: Static linking to libxml2 is not enabled." |
23 | 23 | ||
24 | S = "${WORKDIR}/libxslt-${PV}" | 24 | S = "${UNPACKDIR}/libxslt-${PV}" |
25 | 25 | ||
26 | BINCONFIG = "${bindir}/xslt-config" | 26 | BINCONFIG = "${bindir}/xslt-config" |
27 | 27 | ||
diff --git a/meta/recipes-support/libyaml/libyaml_0.2.5.bb b/meta/recipes-support/libyaml/libyaml_0.2.5.bb index b1f516f7fe..9b77e7cfc8 100644 --- a/meta/recipes-support/libyaml/libyaml_0.2.5.bb +++ b/meta/recipes-support/libyaml/libyaml_0.2.5.bb | |||
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://License;md5=7bbd28caa69f81f5cd5f48647236663d" | |||
10 | SRC_URI = "https://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz" | 10 | SRC_URI = "https://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz" |
11 | SRC_URI[sha256sum] = "c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4" | 11 | SRC_URI[sha256sum] = "c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4" |
12 | 12 | ||
13 | S = "${WORKDIR}/yaml-${PV}" | 13 | S = "${UNPACKDIR}/yaml-${PV}" |
14 | 14 | ||
15 | inherit autotools | 15 | inherit autotools |
16 | 16 | ||
diff --git a/meta/recipes-support/lz4/lz4_1.10.0.bb b/meta/recipes-support/lz4/lz4_1.10.0.bb index f77a2e7bb9..9bd3cfc27b 100644 --- a/meta/recipes-support/lz4/lz4_1.10.0.bb +++ b/meta/recipes-support/lz4/lz4_1.10.0.bb | |||
@@ -17,8 +17,6 @@ SRC_URI = "git://github.com/lz4/lz4.git;branch=release;protocol=https \ | |||
17 | file://run-ptest" | 17 | file://run-ptest" |
18 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" | 18 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" |
19 | 19 | ||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | inherit ptest | 20 | inherit ptest |
23 | 21 | ||
24 | CVE_STATUS[CVE-2014-4715] = "fixed-version: Fixed in r118, which is larger than the current version." | 22 | CVE_STATUS[CVE-2014-4715] = "fixed-version: Fixed in r118, which is larger than the current version." |
diff --git a/meta/recipes-support/lzo/lzo_2.10.bb b/meta/recipes-support/lzo/lzo_2.10.bb index 2132f1c27f..dbe789b4e6 100644 --- a/meta/recipes-support/lzo/lzo_2.10.bb +++ b/meta/recipes-support/lzo/lzo_2.10.bb | |||
@@ -30,5 +30,4 @@ do_install_ptest() { | |||
30 | done | 30 | done |
31 | } | 31 | } |
32 | 32 | ||
33 | |||
34 | BBCLASSEXTEND = "native nativesdk" | 33 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-support/numactl/numactl_2.0.19.bb b/meta/recipes-support/numactl/numactl_2.0.19.bb index 62f3020fef..5ac9380c6c 100644 --- a/meta/recipes-support/numactl/numactl_2.0.19.bb +++ b/meta/recipes-support/numactl/numactl_2.0.19.bb | |||
@@ -19,8 +19,6 @@ SRC_URI = "git://github.com/numactl/numactl;branch=master;protocol=https \ | |||
19 | file://0001-define-run-test-target.patch \ | 19 | file://0001-define-run-test-target.patch \ |
20 | " | 20 | " |
21 | 21 | ||
22 | S = "${WORKDIR}/git" | ||
23 | |||
24 | LDFLAGS:append:riscv64 = " -latomic" | 22 | LDFLAGS:append:riscv64 = " -latomic" |
25 | LDFLAGS:append:riscv32 = " -latomic" | 23 | LDFLAGS:append:riscv32 = " -latomic" |
26 | 24 | ||
diff --git a/meta/recipes-support/p11-kit/p11-kit_0.25.5.bb b/meta/recipes-support/p11-kit/p11-kit_0.25.5.bb index 8c2f56be44..d60e4abdaf 100644 --- a/meta/recipes-support/p11-kit/p11-kit_0.25.5.bb +++ b/meta/recipes-support/p11-kit/p11-kit_0.25.5.bb | |||
@@ -13,7 +13,6 @@ DEPENDS:append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else '' | |||
13 | SRC_URI = "gitsm://github.com/p11-glue/p11-kit;branch=master;protocol=https \ | 13 | SRC_URI = "gitsm://github.com/p11-glue/p11-kit;branch=master;protocol=https \ |
14 | " | 14 | " |
15 | SRCREV = "0dd113361057e477f40ff4d8788f3e7e400af5f9" | 15 | SRCREV = "0dd113361057e477f40ff4d8788f3e7e400af5f9" |
16 | S = "${WORKDIR}/git" | ||
17 | 16 | ||
18 | PACKAGECONFIG ??= "" | 17 | PACKAGECONFIG ??= "" |
19 | PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native" | 18 | PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native" |
diff --git a/meta/recipes-support/ptest-runner/ptest-runner_2.4.5.1.bb b/meta/recipes-support/ptest-runner/ptest-runner_2.4.5.1.bb index 9f6bb399b4..89f85e2455 100644 --- a/meta/recipes-support/ptest-runner/ptest-runner_2.4.5.1.bb +++ b/meta/recipes-support/ptest-runner/ptest-runner_2.4.5.1.bb | |||
@@ -12,8 +12,6 @@ SRCREV = "c99e8c2737ff802f110612cc2d90c60233c33255" | |||
12 | SRC_URI = "git://git.yoctoproject.org/ptest-runner2;branch=master;protocol=https \ | 12 | SRC_URI = "git://git.yoctoproject.org/ptest-runner2;branch=master;protocol=https \ |
13 | " | 13 | " |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | FILES:${PN} = "${bindir}/ptest-runner ${bindir}/ptest-runner-collect-system-data" | 15 | FILES:${PN} = "${bindir}/ptest-runner ${bindir}/ptest-runner-collect-system-data" |
18 | 16 | ||
19 | EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\""" | 17 | EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\""" |
diff --git a/meta/recipes-support/rng-tools/rng-tools_6.17.bb b/meta/recipes-support/rng-tools/rng-tools_6.17.bb index fc141a984c..c979a91640 100644 --- a/meta/recipes-support/rng-tools/rng-tools_6.17.bb +++ b/meta/recipes-support/rng-tools/rng-tools_6.17.bb | |||
@@ -13,8 +13,6 @@ SRC_URI = "git://github.com/nhorman/rng-tools.git;branch=master;protocol=https \ | |||
13 | " | 13 | " |
14 | SRCREV = "bd00c08b0c3c6a880b0988befe97fd35b315468c" | 14 | SRCREV = "bd00c08b0c3c6a880b0988befe97fd35b315468c" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit autotools update-rc.d systemd pkgconfig | 16 | inherit autotools update-rc.d systemd pkgconfig |
19 | 17 | ||
20 | EXTRA_OECONF = "--without-rtlsdr" | 18 | EXTRA_OECONF = "--without-rtlsdr" |
diff --git a/meta/recipes-support/sass/libsass_3.6.6.bb b/meta/recipes-support/sass/libsass_3.6.6.bb index 3878072cf1..de608f0a6b 100644 --- a/meta/recipes-support/sass/libsass_3.6.6.bb +++ b/meta/recipes-support/sass/libsass_3.6.6.bb | |||
@@ -10,6 +10,4 @@ SRC_URI = "git://github.com/sass/libsass.git;protocol=https;branch=master \ | |||
10 | 10 | ||
11 | SRCREV = "7037f03fabeb2b18b5efa84403f5a6d7a990f460" | 11 | SRCREV = "7037f03fabeb2b18b5efa84403f5a6d7a990f460" |
12 | 12 | ||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | BBCLASSEXTEND = "native" | 13 | BBCLASSEXTEND = "native" |
diff --git a/meta/recipes-support/sass/sassc_3.6.2.bb b/meta/recipes-support/sass/sassc_3.6.2.bb index 4d4dbc03fe..1de02f44b6 100644 --- a/meta/recipes-support/sass/sassc_3.6.2.bb +++ b/meta/recipes-support/sass/sassc_3.6.2.bb | |||
@@ -11,7 +11,6 @@ SRC_URI = "git://github.com/sass/sassc.git;protocol=https;branch=master \ | |||
11 | file://0001-Remove-sassc_version.h-from-source-directory.patch" | 11 | file://0001-Remove-sassc_version.h-from-source-directory.patch" |
12 | 12 | ||
13 | SRCREV = "66f0ef37e7f0ad3a65d2f481eff09d09408f42d0" | 13 | SRCREV = "66f0ef37e7f0ad3a65d2f481eff09d09408f42d0" |
14 | S = "${WORKDIR}/git" | ||
15 | 14 | ||
16 | CVE_STATUS[CVE-2022-43357] = "cpe-incorrect: this is CVE for libsass, not sassc wrapper" | 15 | CVE_STATUS[CVE-2022-43357] = "cpe-incorrect: this is CVE for libsass, not sassc wrapper" |
17 | 16 | ||
diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb b/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb index b8a377e2b2..8790a9dc11 100644 --- a/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb +++ b/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb | |||
@@ -13,8 +13,6 @@ SRC_URI = "git://gitlab.freedesktop.org/xdg/shared-mime-info.git;protocol=https; | |||
13 | file://0002-Handle-build-with-older-versions-of-GCC.patch" | 13 | file://0002-Handle-build-with-older-versions-of-GCC.patch" |
14 | SRCREV = "9a6d6b8e963935f145f3a1ef446552de6996dada" | 14 | SRCREV = "9a6d6b8e963935f145f3a1ef446552de6996dada" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit meson pkgconfig gettext python3native mime | 16 | inherit meson pkgconfig gettext python3native mime |
19 | 17 | ||
20 | EXTRA_OEMESON = "-Dupdate-mimedb=true" | 18 | EXTRA_OEMESON = "-Dupdate-mimedb=true" |
diff --git a/meta/recipes-support/sqlite/sqlite3.inc b/meta/recipes-support/sqlite/sqlite3.inc index d093ec5859..28a33282ae 100644 --- a/meta/recipes-support/sqlite/sqlite3.inc +++ b/meta/recipes-support/sqlite/sqlite3.inc | |||
@@ -13,7 +13,7 @@ def sqlite_download_version(d): | |||
13 | 13 | ||
14 | SQLITE_PV = "${@sqlite_download_version(d)}" | 14 | SQLITE_PV = "${@sqlite_download_version(d)}" |
15 | 15 | ||
16 | S = "${WORKDIR}/sqlite-autoconf-${SQLITE_PV}" | 16 | S = "${UNPACKDIR}/sqlite-autoconf-${SQLITE_PV}" |
17 | 17 | ||
18 | UPSTREAM_CHECK_URI = "http://www.sqlite.org/" | 18 | UPSTREAM_CHECK_URI = "http://www.sqlite.org/" |
19 | UPSTREAM_CHECK_REGEX = "releaselog/(?P<pver>(\d+[\.\-_]*)+)\.html" | 19 | UPSTREAM_CHECK_REGEX = "releaselog/(?P<pver>(\d+[\.\-_]*)+)\.html" |
diff --git a/meta/recipes-support/user-creation/xuser-account_0.1.bb b/meta/recipes-support/user-creation/xuser-account_0.1.bb index 80a429c6d3..04f506e7a3 100644 --- a/meta/recipes-support/user-creation/xuser-account_0.1.bb +++ b/meta/recipes-support/user-creation/xuser-account_0.1.bb | |||
@@ -6,8 +6,7 @@ SRC_URI = "file://system-xuser.conf" | |||
6 | 6 | ||
7 | inherit allarch useradd | 7 | inherit allarch useradd |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | 9 | S = "${UNPACKDIR}" |
10 | UNPACKDIR = "${S}" | ||
11 | 10 | ||
12 | do_configure() { | 11 | do_configure() { |
13 | : | 12 | : |
diff --git a/meta/recipes-support/utfcpp/utfcpp_4.0.6.bb b/meta/recipes-support/utfcpp/utfcpp_4.0.6.bb index 21f1879c4f..344f270158 100644 --- a/meta/recipes-support/utfcpp/utfcpp_4.0.6.bb +++ b/meta/recipes-support/utfcpp/utfcpp_4.0.6.bb | |||
@@ -9,8 +9,6 @@ SRC_URI = "gitsm://github.com/nemtrif/utfcpp;protocol=https;branch=master" | |||
9 | 9 | ||
10 | SRCREV = "b26a5f718f4f370af1852a0d5c6ae8fa031ba7d0" | 10 | SRCREV = "b26a5f718f4f370af1852a0d5c6ae8fa031ba7d0" |
11 | 11 | ||
12 | S = "${WORKDIR}/git" | ||
13 | |||
14 | inherit cmake | 12 | inherit cmake |
15 | 13 | ||
16 | FILES:${PN}-dev += "${datadir}/utf8cpp/cmake" | 14 | FILES:${PN}-dev += "${datadir}/utf8cpp/cmake" |
diff --git a/meta/recipes-support/vim/vim.inc b/meta/recipes-support/vim/vim.inc index b39cfadaad..278a5baeb2 100644 --- a/meta/recipes-support/vim/vim.inc +++ b/meta/recipes-support/vim/vim.inc | |||
@@ -26,8 +26,6 @@ UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+)\.0" | |||
26 | # Ignore that the upstream version .z in x.y.z is always newer | 26 | # Ignore that the upstream version .z in x.y.z is always newer |
27 | UPSTREAM_VERSION_UNKNOWN = "1" | 27 | UPSTREAM_VERSION_UNKNOWN = "1" |
28 | 28 | ||
29 | S = "${WORKDIR}/git" | ||
30 | |||
31 | VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}" | 29 | VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}" |
32 | 30 | ||
33 | inherit autotools-brokensep update-alternatives mime-xdg pkgconfig | 31 | inherit autotools-brokensep update-alternatives mime-xdg pkgconfig |
diff --git a/meta/recipes-support/xxhash/xxhash_0.8.3.bb b/meta/recipes-support/xxhash/xxhash_0.8.3.bb index 227649854e..15436113b1 100644 --- a/meta/recipes-support/xxhash/xxhash_0.8.3.bb +++ b/meta/recipes-support/xxhash/xxhash_0.8.3.bb | |||
@@ -12,8 +12,6 @@ UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | |||
12 | 12 | ||
13 | SRCREV = "e626a72bc2321cd320e953a0ccf1584cad60f363" | 13 | SRCREV = "e626a72bc2321cd320e953a0ccf1584cad60f363" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | CFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}" | 15 | CFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}" |
18 | 16 | ||
19 | do_compile () { | 17 | do_compile () { |
diff --git a/scripts/contrib/improve_kernel_cve_report.py b/scripts/contrib/improve_kernel_cve_report.py new file mode 100755 index 0000000000..829cc4cd30 --- /dev/null +++ b/scripts/contrib/improve_kernel_cve_report.py | |||
@@ -0,0 +1,467 @@ | |||
1 | #! /usr/bin/env python3 | ||
2 | # | ||
3 | # Copyright OpenEmbedded Contributors | ||
4 | # | ||
5 | # The script uses another source of CVE information from linux-vulns | ||
6 | # to enrich the cve-summary from cve-check or vex. | ||
7 | # It can also use the list of compiled files from the kernel spdx to ignore CVEs | ||
8 | # that are not affected since the files are not compiled. | ||
9 | # | ||
10 | # It creates a new json file with updated CVE information | ||
11 | # | ||
12 | # Compiled files can be extracted adding the following in local.conf | ||
13 | # SPDX_INCLUDE_COMPILED_SOURCES:pn-linux-yocto = "1" | ||
14 | # | ||
15 | # Tested with the following CVE sources: | ||
16 | # - https://git.kernel.org/pub/scm/linux/security/vulns.git | ||
17 | # - https://github.com/CVEProject/cvelistV5 | ||
18 | # | ||
19 | # Example: | ||
20 | # python3 ./openembedded-core/scripts/contrib/improve_kernel_cve_report.py --spdx tmp/deploy/spdx/3.0.1/qemux86_64/recipes/recipe-linux-yocto.spdx.json --kernel-version 6.12.27 --datadir ./vulns | ||
21 | # python3 ./openembedded-core/scripts/contrib/improve_kernel_cve_report.py --spdx tmp/deploy/spdx/3.0.1/qemux86_64/recipes/recipe-linux-yocto.spdx.json --datadir ./vulns --old-cve-report build/tmp/log/cve/cve-summary.json | ||
22 | # | ||
23 | # SPDX-License-Identifier: GPLv2 | ||
24 | |||
25 | import argparse | ||
26 | import json | ||
27 | import sys | ||
28 | import logging | ||
29 | import glob | ||
30 | import os | ||
31 | import pathlib | ||
32 | from packaging.version import Version | ||
33 | |||
34 | def is_linux_cve(cve_info): | ||
35 | '''Return true is the CVE belongs to Linux''' | ||
36 | if not "affected" in cve_info["containers"]["cna"]: | ||
37 | return False | ||
38 | for affected in cve_info["containers"]["cna"]["affected"]: | ||
39 | if not "product" in affected: | ||
40 | return False | ||
41 | if affected["product"] == "Linux" and affected["vendor"] == "Linux": | ||
42 | return True | ||
43 | return False | ||
44 | |||
45 | def get_kernel_cves(datadir, compiled_files, version): | ||
46 | """ | ||
47 | Get CVEs for the kernel | ||
48 | """ | ||
49 | cves = {} | ||
50 | |||
51 | check_config = len(compiled_files) > 0 | ||
52 | |||
53 | base_version = Version(f"{version.major}.{version.minor}") | ||
54 | |||
55 | # Check all CVES from kernel vulns | ||
56 | pattern = os.path.join(datadir, '**', "CVE-*.json") | ||
57 | cve_files = glob.glob(pattern, recursive=True) | ||
58 | not_applicable_config = 0 | ||
59 | fixed_as_later_backport = 0 | ||
60 | vulnerable = 0 | ||
61 | not_vulnerable = 0 | ||
62 | for cve_file in sorted(cve_files): | ||
63 | cve_info = {} | ||
64 | with open(cve_file, "r", encoding='ISO-8859-1') as f: | ||
65 | cve_info = json.load(f) | ||
66 | |||
67 | if len(cve_info) == 0: | ||
68 | logging.error("Not valid data in %s. Aborting", cve_file) | ||
69 | break | ||
70 | |||
71 | if not is_linux_cve(cve_info): | ||
72 | continue | ||
73 | cve_id = os.path.basename(cve_file)[:-5] | ||
74 | description = cve_info["containers"]["cna"]["descriptions"][0]["value"] | ||
75 | if cve_file.find("rejected") >= 0: | ||
76 | logging.debug("%s is rejected by the CNA", cve_id) | ||
77 | cves[cve_id] = { | ||
78 | "id": cve_id, | ||
79 | "status": "Ignored", | ||
80 | "detail": "rejected", | ||
81 | "summary": description, | ||
82 | "description": f"Rejected by CNA" | ||
83 | } | ||
84 | continue | ||
85 | if any(elem in cve_file for elem in ["review", "reverved", "testing"]): | ||
86 | continue | ||
87 | |||
88 | is_vulnerable, first_affected, last_affected, better_match_first, better_match_last, affected_versions = get_cpe_applicability(cve_info, version) | ||
89 | |||
90 | logging.debug("%s: %s (%s - %s) (%s - %s)", cve_id, is_vulnerable, better_match_first, better_match_last, first_affected, last_affected) | ||
91 | |||
92 | if is_vulnerable is None: | ||
93 | logging.warning("%s doesn't have good metadata", cve_id) | ||
94 | if is_vulnerable: | ||
95 | is_affected = True | ||
96 | affected_files = [] | ||
97 | if check_config: | ||
98 | is_affected, affected_files = check_kernel_compiled_files(compiled_files, cve_info) | ||
99 | |||
100 | if not is_affected and len(affected_files) > 0: | ||
101 | logging.debug( | ||
102 | "%s - not applicable configuration since affected files not compiled: %s", | ||
103 | cve_id, affected_files) | ||
104 | cves[cve_id] = { | ||
105 | "id": cve_id, | ||
106 | "status": "Ignored", | ||
107 | "detail": "not-applicable-config", | ||
108 | "summary": description, | ||
109 | "description": f"Source code not compiled by config. {affected_files}" | ||
110 | } | ||
111 | not_applicable_config +=1 | ||
112 | # Check if we have backport | ||
113 | else: | ||
114 | if not better_match_last: | ||
115 | fixed_in = last_affected | ||
116 | else: | ||
117 | fixed_in = better_match_last | ||
118 | logging.debug("%s needs backporting (fixed from %s)", cve_id, fixed_in) | ||
119 | cves[cve_id] = { | ||
120 | "id": cve_id, | ||
121 | "status": "Unpatched", | ||
122 | "detail": "version-in-range", | ||
123 | "summary": description, | ||
124 | "description": f"Needs backporting (fixed from {fixed_in})" | ||
125 | } | ||
126 | vulnerable += 1 | ||
127 | if (better_match_last and | ||
128 | Version(f"{better_match_last.major}.{better_match_last.minor}") == base_version): | ||
129 | fixed_as_later_backport += 1 | ||
130 | # Not vulnerable | ||
131 | else: | ||
132 | if not first_affected: | ||
133 | logging.debug("%s - not known affected %s", | ||
134 | cve_id, | ||
135 | better_match_last) | ||
136 | cves[cve_id] = { | ||
137 | "id": cve_id, | ||
138 | "status": "Patched", | ||
139 | "detail": "version-not-in-range", | ||
140 | "summary": description, | ||
141 | "description": "No CPE match" | ||
142 | } | ||
143 | not_vulnerable += 1 | ||
144 | continue | ||
145 | backport_base = Version(f"{better_match_last.major}.{better_match_last.minor}") | ||
146 | if version < first_affected: | ||
147 | logging.debug('%s - fixed-version: only affects %s onwards', | ||
148 | cve_id, | ||
149 | first_affected) | ||
150 | cves[cve_id] = { | ||
151 | "id": cve_id, | ||
152 | "status": "Patched", | ||
153 | "detail": "fixed-version", | ||
154 | "summary": description, | ||
155 | "description": f"only affects {first_affected} onwards" | ||
156 | } | ||
157 | not_vulnerable += 1 | ||
158 | elif last_affected <= version: | ||
159 | logging.debug("%s - fixed-version: Fixed from version %s", | ||
160 | cve_id, | ||
161 | last_affected) | ||
162 | cves[cve_id] = { | ||
163 | "id": cve_id, | ||
164 | "status": "Patched", | ||
165 | "detail": "fixed-version", | ||
166 | "summary": description, | ||
167 | "description": f"fixed-version: Fixed from version {last_affected}" | ||
168 | } | ||
169 | not_vulnerable += 1 | ||
170 | elif backport_base == base_version: | ||
171 | logging.debug("%s - cpe-stable-backport: Backported in %s", | ||
172 | cve_id, | ||
173 | better_match_last) | ||
174 | cves[cve_id] = { | ||
175 | "id": cve_id, | ||
176 | "status": "Patched", | ||
177 | "detail": "cpe-stable-backport", | ||
178 | "summary": description, | ||
179 | "description": f"Backported in {better_match_last}" | ||
180 | } | ||
181 | not_vulnerable += 1 | ||
182 | else: | ||
183 | logging.debug("%s - version not affected %s", cve_id, str(affected_versions)) | ||
184 | cves[cve_id] = { | ||
185 | "id": cve_id, | ||
186 | "status": "Patched", | ||
187 | "detail": "version-not-in-range", | ||
188 | "summary": description, | ||
189 | "description": f"Range {affected_versions}" | ||
190 | } | ||
191 | not_vulnerable += 1 | ||
192 | |||
193 | logging.info("Total CVEs ignored due to not applicable config: %d", not_applicable_config) | ||
194 | logging.info("Total CVEs not vulnerable due version-not-in-range: %d", not_vulnerable) | ||
195 | logging.info("Total vulnerable CVEs: %d", vulnerable) | ||
196 | |||
197 | logging.info("Total CVEs already backported in %s: %s", base_version, | ||
198 | fixed_as_later_backport) | ||
199 | return cves | ||
200 | |||
201 | def read_spdx(spdx_file): | ||
202 | '''Open SPDX file and extract compiled files''' | ||
203 | with open(spdx_file, 'r', encoding='ISO-8859-1') as f: | ||
204 | spdx = json.load(f) | ||
205 | if "spdxVersion" in spdx: | ||
206 | if spdx["spdxVersion"] == "SPDX-2.2": | ||
207 | return read_spdx2(spdx) | ||
208 | if "@graph" in spdx: | ||
209 | return read_spdx3(spdx) | ||
210 | return [] | ||
211 | |||
212 | def read_spdx2(spdx): | ||
213 | ''' | ||
214 | Read spdx2 compiled files from spdx | ||
215 | ''' | ||
216 | cfiles = set() | ||
217 | if 'files' not in spdx: | ||
218 | return cfiles | ||
219 | for item in spdx['files']: | ||
220 | for ftype in item['fileTypes']: | ||
221 | if ftype == "SOURCE": | ||
222 | filename = item["fileName"][item["fileName"].find("/")+1:] | ||
223 | cfiles.add(filename) | ||
224 | return cfiles | ||
225 | |||
226 | def read_spdx3(spdx): | ||
227 | ''' | ||
228 | Read spdx3 compiled files from spdx | ||
229 | ''' | ||
230 | cfiles = set() | ||
231 | for item in spdx["@graph"]: | ||
232 | if "software_primaryPurpose" not in item: | ||
233 | continue | ||
234 | if item["software_primaryPurpose"] == "source": | ||
235 | filename = item['name'][item['name'].find("/")+1:] | ||
236 | cfiles.add(filename) | ||
237 | return cfiles | ||
238 | |||
239 | def check_kernel_compiled_files(compiled_files, cve_info): | ||
240 | """ | ||
241 | Return if a CVE affected us depending on compiled files | ||
242 | """ | ||
243 | files_affected = set() | ||
244 | is_affected = False | ||
245 | |||
246 | for item in cve_info['containers']['cna']['affected']: | ||
247 | if "programFiles" in item: | ||
248 | for f in item['programFiles']: | ||
249 | if f not in files_affected: | ||
250 | files_affected.add(f) | ||
251 | |||
252 | if len(files_affected) > 0: | ||
253 | for f in files_affected: | ||
254 | if f in compiled_files: | ||
255 | logging.debug("File match: %s", f) | ||
256 | is_affected = True | ||
257 | return is_affected, files_affected | ||
258 | |||
259 | def get_cpe_applicability(cve_info, v): | ||
260 | ''' | ||
261 | Check if version is affected and return affected versions | ||
262 | ''' | ||
263 | base_branch = Version(f"{v.major}.{v.minor}") | ||
264 | affected = [] | ||
265 | if not 'cpeApplicability' in cve_info["containers"]["cna"]: | ||
266 | return None, None, None, None, None, None | ||
267 | |||
268 | for nodes in cve_info["containers"]["cna"]["cpeApplicability"]: | ||
269 | for node in nodes.values(): | ||
270 | vulnerable = False | ||
271 | matched_branch = False | ||
272 | first_affected = Version("5000") | ||
273 | last_affected = Version("0") | ||
274 | better_match_first = Version("0") | ||
275 | better_match_last = Version("5000") | ||
276 | |||
277 | if len(node[0]['cpeMatch']) == 0: | ||
278 | first_affected = None | ||
279 | last_affected = None | ||
280 | better_match_first = None | ||
281 | better_match_last = None | ||
282 | |||
283 | for cpe_match in node[0]['cpeMatch']: | ||
284 | version_start_including = Version("0") | ||
285 | version_end_excluding = Version("0") | ||
286 | if 'versionStartIncluding' in cpe_match: | ||
287 | version_start_including = Version(cpe_match['versionStartIncluding']) | ||
288 | else: | ||
289 | version_start_including = Version("0") | ||
290 | # if versionEndExcluding is missing we are in a branch, which is not fixed. | ||
291 | if "versionEndExcluding" in cpe_match: | ||
292 | version_end_excluding = Version(cpe_match["versionEndExcluding"]) | ||
293 | else: | ||
294 | # if versionEndExcluding is missing we are in a branch, which is not fixed. | ||
295 | version_end_excluding = Version( | ||
296 | f"{version_start_including.major}.{version_start_including.minor}.5000" | ||
297 | ) | ||
298 | affected.append(f" {version_start_including}-{version_end_excluding}") | ||
299 | # Detect if versionEnd is in fixed in base branch. It has precedence over the rest | ||
300 | branch_end = Version(f"{version_end_excluding.major}.{version_end_excluding.minor}") | ||
301 | if branch_end == base_branch: | ||
302 | if version_start_including <= v < version_end_excluding: | ||
303 | vulnerable = cpe_match['vulnerable'] | ||
304 | # If we don't match in our branch, we are not vulnerable, | ||
305 | # since we have a backport | ||
306 | matched_branch = True | ||
307 | better_match_first = version_start_including | ||
308 | better_match_last = version_end_excluding | ||
309 | if version_start_including <= v < version_end_excluding and not matched_branch: | ||
310 | if version_end_excluding < better_match_last: | ||
311 | better_match_first = max(version_start_including, better_match_first) | ||
312 | better_match_last = min(better_match_last, version_end_excluding) | ||
313 | vulnerable = cpe_match['vulnerable'] | ||
314 | matched_branch = True | ||
315 | |||
316 | first_affected = min(version_start_including, first_affected) | ||
317 | last_affected = max(version_end_excluding, last_affected) | ||
318 | # Not a better match, we use the first and last affected instead of the fake .5000 | ||
319 | if vulnerable and better_match_last == Version(f"{base_branch}.5000"): | ||
320 | better_match_last = last_affected | ||
321 | better_match_first = first_affected | ||
322 | return vulnerable, first_affected, last_affected, better_match_first, better_match_last, affected | ||
323 | |||
324 | def copy_data(old, new): | ||
325 | '''Update dictionary with new entries, while keeping the old ones''' | ||
326 | for k in new.keys(): | ||
327 | old[k] = new[k] | ||
328 | return old | ||
329 | |||
330 | # Function taken from cve_check.bbclass. Adapted to cve fields | ||
331 | def cve_update(cve_data, cve, entry): | ||
332 | # If no entry, just add it | ||
333 | if cve not in cve_data: | ||
334 | cve_data[cve] = entry | ||
335 | return | ||
336 | # If we are updating, there might be change in the status | ||
337 | if cve_data[cve]['status'] == "Unknown": | ||
338 | cve_data[cve] = copy_data(cve_data[cve], entry) | ||
339 | return | ||
340 | if cve_data[cve]['status'] == entry['status']: | ||
341 | return | ||
342 | if entry['status'] == "Unpatched" and cve_data[cve]['status'] == "Patched": | ||
343 | logging.warning("CVE entry %s update from Patched to Unpatched from the scan result", cve) | ||
344 | cve_data[cve] = copy_data(cve_data[cve], entry) | ||
345 | return | ||
346 | if entry['status'] == "Patched" and cve_data[cve]['status'] == "Unpatched": | ||
347 | logging.warning("CVE entry %s update from Unpatched to Patched from the scan result", cve) | ||
348 | cve_data[cve] = copy_data(cve_data[cve], entry) | ||
349 | return | ||
350 | # If we have an "Ignored", it has a priority | ||
351 | if cve_data[cve]['status'] == "Ignored": | ||
352 | logging.debug("CVE %s not updating because Ignored", cve) | ||
353 | return | ||
354 | # If we have an "Ignored", it has a priority | ||
355 | if entry['status'] == "Ignored": | ||
356 | cve_data[cve] = copy_data(cve_data[cve], entry) | ||
357 | logging.debug("CVE entry %s updated from Unpatched to Ignored", cve) | ||
358 | return | ||
359 | logging.warning("Unhandled CVE entry update for %s %s from %s %s to %s", | ||
360 | cve, cve_data[cve]['status'], cve_data[cve]['detail'], entry['status'], entry['detail']) | ||
361 | |||
362 | def main(): | ||
363 | parser = argparse.ArgumentParser( | ||
364 | description="Update cve-summary with kernel compiled files and kernel CVE information" | ||
365 | ) | ||
366 | parser.add_argument( | ||
367 | "-s", | ||
368 | "--spdx", | ||
369 | help="SPDX2/3 for the kernel. Needs to include compiled sources", | ||
370 | ) | ||
371 | parser.add_argument( | ||
372 | "--datadir", | ||
373 | type=pathlib.Path, | ||
374 | help="Directory where CVE data is", | ||
375 | required=True | ||
376 | ) | ||
377 | parser.add_argument( | ||
378 | "--old-cve-report", | ||
379 | help="CVE report to update. (Optional)", | ||
380 | ) | ||
381 | parser.add_argument( | ||
382 | "--kernel-version", | ||
383 | help="Kernel version. Needed if old cve_report is not provided (Optional)", | ||
384 | type=Version | ||
385 | ) | ||
386 | parser.add_argument( | ||
387 | "--new-cve-report", | ||
388 | help="Output file", | ||
389 | default="cve-summary-enhance.json" | ||
390 | ) | ||
391 | parser.add_argument( | ||
392 | "-D", | ||
393 | "--debug", | ||
394 | help='Enable debug ', | ||
395 | action="store_true") | ||
396 | |||
397 | args = parser.parse_args() | ||
398 | |||
399 | if args.debug: | ||
400 | log_level=logging.DEBUG | ||
401 | else: | ||
402 | log_level=logging.INFO | ||
403 | logging.basicConfig(format='[%(filename)s:%(lineno)d] %(message)s', level=log_level) | ||
404 | |||
405 | if not args.kernel_version and not args.old_cve_report: | ||
406 | parser.error("either --kernel-version or --old-cve-report are needed") | ||
407 | return -1 | ||
408 | |||
409 | # by default we don't check the compiled files, unless provided | ||
410 | compiled_files = [] | ||
411 | if args.spdx: | ||
412 | compiled_files = read_spdx(args.spdx) | ||
413 | logging.info("Total compiled files %d", len(compiled_files)) | ||
414 | |||
415 | if args.old_cve_report: | ||
416 | with open(args.old_cve_report, encoding='ISO-8859-1') as f: | ||
417 | cve_report = json.load(f) | ||
418 | else: | ||
419 | #If summary not provided, we create one | ||
420 | cve_report = { | ||
421 | "version": "1", | ||
422 | "package": [ | ||
423 | { | ||
424 | "name": "linux-yocto", | ||
425 | "version": str(args.kernel_version), | ||
426 | "products": [ | ||
427 | { | ||
428 | "product": "linux_kernel", | ||
429 | "cvesInRecord": "Yes" | ||
430 | } | ||
431 | ], | ||
432 | "issue": [] | ||
433 | } | ||
434 | ] | ||
435 | } | ||
436 | |||
437 | for pkg in cve_report['package']: | ||
438 | is_kernel = False | ||
439 | for product in pkg['products']: | ||
440 | if product['product'] == "linux_kernel": | ||
441 | is_kernel=True | ||
442 | if not is_kernel: | ||
443 | continue | ||
444 | |||
445 | kernel_cves = get_kernel_cves(args.datadir, | ||
446 | compiled_files, | ||
447 | Version(pkg["version"])) | ||
448 | logging.info("Total kernel cves from kernel CNA: %s", len(kernel_cves)) | ||
449 | cves = {issue["id"]: issue for issue in pkg["issue"]} | ||
450 | logging.info("Total kernel before processing cves: %s", len(cves)) | ||
451 | |||
452 | for cve in kernel_cves: | ||
453 | cve_update(cves, cve, kernel_cves[cve]) | ||
454 | |||
455 | pkg["issue"] = [] | ||
456 | for cve in sorted(cves): | ||
457 | pkg["issue"].extend([cves[cve]]) | ||
458 | logging.info("Total kernel cves after processing: %s", len(pkg['issue'])) | ||
459 | |||
460 | with open(args.new_cve_report, "w", encoding='ISO-8859-1') as f: | ||
461 | json.dump(cve_report, f, indent=2) | ||
462 | |||
463 | return 0 | ||
464 | |||
465 | if __name__ == "__main__": | ||
466 | sys.exit(main()) | ||
467 | |||
diff --git a/scripts/lib/devtool/ide_sdk.py b/scripts/lib/devtool/ide_sdk.py index f8cf65f4a8..931408fa74 100755 --- a/scripts/lib/devtool/ide_sdk.py +++ b/scripts/lib/devtool/ide_sdk.py | |||
@@ -334,7 +334,7 @@ class RecipeModified: | |||
334 | self.srctree = workspace[workspacepn]['srctree'] | 334 | self.srctree = workspace[workspacepn]['srctree'] |
335 | # Need to grab this here in case the source is within a subdirectory | 335 | # Need to grab this here in case the source is within a subdirectory |
336 | self.real_srctree = get_real_srctree( | 336 | self.real_srctree = get_real_srctree( |
337 | self.srctree, recipe_d.getVar('S'), recipe_d.getVar('WORKDIR')) | 337 | self.srctree, recipe_d.getVar('S'), recipe_d.getVar('UNPACKDIR')) |
338 | self.bbappend = workspace[workspacepn]['bbappend'] | 338 | self.bbappend = workspace[workspacepn]['bbappend'] |
339 | 339 | ||
340 | self.ide_sdk_dir = os.path.join( | 340 | self.ide_sdk_dir = os.path.join( |
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index cdfdba43ee..1fd5947c41 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py | |||
@@ -625,7 +625,7 @@ def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, works | |||
625 | srcsubdir = f.read() | 625 | srcsubdir = f.read() |
626 | except FileNotFoundError as e: | 626 | except FileNotFoundError as e: |
627 | raise DevtoolError('Something went wrong with source extraction - the devtool-source class was not active or did not function correctly:\n%s' % str(e)) | 627 | raise DevtoolError('Something went wrong with source extraction - the devtool-source class was not active or did not function correctly:\n%s' % str(e)) |
628 | srcsubdir_rel = os.path.relpath(srcsubdir, os.path.join(tempdir, 'workdir')) | 628 | srcsubdir_rel = os.path.relpath(srcsubdir, os.path.join(tempdir, 'workdir', os.path.relpath(d.getVar('UNPACKDIR'), d.getVar('WORKDIR')))) |
629 | 629 | ||
630 | # Check if work-shared is empty, if yes | 630 | # Check if work-shared is empty, if yes |
631 | # find source and copy to work-shared | 631 | # find source and copy to work-shared |
@@ -742,13 +742,13 @@ def get_staging_kbranch(srcdir): | |||
742 | staging_kbranch = "".join(branch.split('\n')[0]) | 742 | staging_kbranch = "".join(branch.split('\n')[0]) |
743 | return staging_kbranch | 743 | return staging_kbranch |
744 | 744 | ||
745 | def get_real_srctree(srctree, s, workdir): | 745 | def get_real_srctree(srctree, s, unpackdir): |
746 | # Check that recipe isn't using a shared workdir | 746 | # Check that recipe isn't using a shared workdir |
747 | s = os.path.abspath(s) | 747 | s = os.path.abspath(s) |
748 | workdir = os.path.abspath(workdir) | 748 | unpackdir = os.path.abspath(unpackdir) |
749 | if s.startswith(workdir) and s != workdir and os.path.dirname(s) != workdir: | 749 | if s.startswith(unpackdir) and s != unpackdir and os.path.dirname(s) != unpackdir: |
750 | # Handle if S is set to a subdirectory of the source | 750 | # Handle if S is set to a subdirectory of the source |
751 | srcsubdir = os.path.relpath(s, workdir).split(os.sep, 1)[1] | 751 | srcsubdir = os.path.relpath(s, unpackdir).split(os.sep, 1)[1] |
752 | srctree = os.path.join(srctree, srcsubdir) | 752 | srctree = os.path.join(srctree, srcsubdir) |
753 | return srctree | 753 | return srctree |
754 | 754 | ||
@@ -907,7 +907,7 @@ def modify(args, config, basepath, workspace): | |||
907 | 907 | ||
908 | # Need to grab this here in case the source is within a subdirectory | 908 | # Need to grab this here in case the source is within a subdirectory |
909 | srctreebase = srctree | 909 | srctreebase = srctree |
910 | srctree = get_real_srctree(srctree, rd.getVar('S'), rd.getVar('WORKDIR')) | 910 | srctree = get_real_srctree(srctree, rd.getVar('S'), rd.getVar('UNPACKDIR')) |
911 | 911 | ||
912 | bb.utils.mkdirhier(os.path.dirname(appendfile)) | 912 | bb.utils.mkdirhier(os.path.dirname(appendfile)) |
913 | with open(appendfile, 'w') as f: | 913 | with open(appendfile, 'w') as f: |
diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py index 0dace1fb24..d9aca6e2db 100644 --- a/scripts/lib/devtool/upgrade.py +++ b/scripts/lib/devtool/upgrade.py | |||
@@ -571,7 +571,7 @@ def upgrade(args, config, basepath, workspace): | |||
571 | else: | 571 | else: |
572 | srctree = standard.get_default_srctree(config, pn) | 572 | srctree = standard.get_default_srctree(config, pn) |
573 | 573 | ||
574 | srctree_s = standard.get_real_srctree(srctree, rd.getVar('S'), rd.getVar('WORKDIR')) | 574 | srctree_s = standard.get_real_srctree(srctree, rd.getVar('S'), rd.getVar('UNPACKDIR')) |
575 | 575 | ||
576 | # try to automatically discover latest version and revision if not provided on command line | 576 | # try to automatically discover latest version and revision if not provided on command line |
577 | if not args.version and not args.srcrev: | 577 | if not args.version and not args.srcrev: |
diff --git a/scripts/lib/recipetool/append.py b/scripts/lib/recipetool/append.py index 10945d6008..041d79f162 100644 --- a/scripts/lib/recipetool/append.py +++ b/scripts/lib/recipetool/append.py | |||
@@ -317,7 +317,7 @@ def appendsrc(args, files, rd, extralines=None): | |||
317 | import oe.recipeutils | 317 | import oe.recipeutils |
318 | 318 | ||
319 | srcdir = rd.getVar('S') | 319 | srcdir = rd.getVar('S') |
320 | workdir = rd.getVar('WORKDIR') | 320 | unpackdir = rd.getVar('UNPACKDIR') |
321 | 321 | ||
322 | import bb.fetch | 322 | import bb.fetch |
323 | simplified = {} | 323 | simplified = {} |
@@ -336,10 +336,10 @@ def appendsrc(args, files, rd, extralines=None): | |||
336 | src_destdir = os.path.dirname(srcfile) | 336 | src_destdir = os.path.dirname(srcfile) |
337 | if not args.use_workdir: | 337 | if not args.use_workdir: |
338 | if rd.getVar('S') == rd.getVar('STAGING_KERNEL_DIR'): | 338 | if rd.getVar('S') == rd.getVar('STAGING_KERNEL_DIR'): |
339 | srcdir = os.path.join(workdir, 'git') | 339 | srcdir = os.path.join(unpackdir, rd.getVar('BB_GIT_DEFAULT_DESTSUFFIX')) |
340 | if not bb.data.inherits_class('kernel-yocto', rd): | 340 | if not bb.data.inherits_class('kernel-yocto', rd): |
341 | logger.warning('S == STAGING_KERNEL_DIR and non-kernel-yocto, unable to determine path to srcdir, defaulting to ${WORKDIR}/git') | 341 | logger.warning('S == STAGING_KERNEL_DIR and non-kernel-yocto, unable to determine path to srcdir, defaulting to ${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}') |
342 | src_destdir = os.path.join(os.path.relpath(srcdir, workdir), src_destdir) | 342 | src_destdir = os.path.join(os.path.relpath(srcdir, unpackdir), src_destdir) |
343 | src_destdir = os.path.normpath(src_destdir) | 343 | src_destdir = os.path.normpath(src_destdir) |
344 | 344 | ||
345 | if src_destdir and src_destdir != '.': | 345 | if src_destdir and src_destdir != '.': |
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 3c6ef6719f..edb6467103 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py | |||
@@ -638,7 +638,6 @@ def create_recipe(args): | |||
638 | if len(splitline) > 1: | 638 | if len(splitline) > 1: |
639 | if splitline[0] == 'origin' and scriptutils.is_src_url(splitline[1]): | 639 | if splitline[0] == 'origin' and scriptutils.is_src_url(splitline[1]): |
640 | srcuri = reformat_git_uri(splitline[1]) + ';branch=master' | 640 | srcuri = reformat_git_uri(splitline[1]) + ';branch=master' |
641 | srcsubdir = 'git' | ||
642 | break | 641 | break |
643 | 642 | ||
644 | if args.src_subdir: | 643 | if args.src_subdir: |
@@ -736,7 +735,7 @@ def create_recipe(args): | |||
736 | if srcsubdir and not args.binary: | 735 | if srcsubdir and not args.binary: |
737 | # (for binary packages we explicitly specify subdir= when fetching to | 736 | # (for binary packages we explicitly specify subdir= when fetching to |
738 | # match the default value of S, so we don't need to set it in that case) | 737 | # match the default value of S, so we don't need to set it in that case) |
739 | lines_before.append('S = "${WORKDIR}/%s"' % srcsubdir) | 738 | lines_before.append('S = "${UNPACKDIR}/%s"' % srcsubdir) |
740 | lines_before.append('') | 739 | lines_before.append('') |
741 | 740 | ||
742 | if pkgarch: | 741 | if pkgarch: |
@@ -840,7 +839,7 @@ def create_recipe(args): | |||
840 | line = line.replace(realpv, '${PV}') | 839 | line = line.replace(realpv, '${PV}') |
841 | if pn: | 840 | if pn: |
842 | line = line.replace(pn, '${BPN}') | 841 | line = line.replace(pn, '${BPN}') |
843 | if line == 'S = "${WORKDIR}/${BPN}-${PV}"': | 842 | if line == 'S = "${UNPACKDIR}/${BPN}-${PV}"' or 'tmp-recipetool-' in line: |
844 | skipblank = True | 843 | skipblank = True |
845 | continue | 844 | continue |
846 | elif line.startswith('SRC_URI = '): | 845 | elif line.startswith('SRC_URI = '): |
diff --git a/scripts/test-remote-image b/scripts/test-remote-image index d209d22854..1d018992b0 100755 --- a/scripts/test-remote-image +++ b/scripts/test-remote-image | |||
@@ -152,8 +152,7 @@ class AutoTargetProfile(BaseTargetProfile): | |||
152 | return controller | 152 | return controller |
153 | 153 | ||
154 | def set_kernel_file(self): | 154 | def set_kernel_file(self): |
155 | postconfig = "QA_GET_MACHINE = \"${MACHINE}\"" | 155 | machine = get_bb_var('MACHINE') |
156 | machine = get_bb_var('QA_GET_MACHINE', postconfig=postconfig) | ||
157 | self.kernel_file = self.kernel_type + '-' + machine + '.bin' | 156 | self.kernel_file = self.kernel_type + '-' + machine + '.bin' |
158 | 157 | ||
159 | def set_rootfs_file(self): | 158 | def set_rootfs_file(self): |
@@ -215,13 +214,11 @@ class PublicAB(BaseRepoProfile): | |||
215 | def get_repo_path(self): | 214 | def get_repo_path(self): |
216 | path = '/machines/' | 215 | path = '/machines/' |
217 | 216 | ||
218 | postconfig = "QA_GET_MACHINE = \"${MACHINE}\"" | 217 | machine = get_bb_var('MACHINE') |
219 | machine = get_bb_var('QA_GET_MACHINE', postconfig=postconfig) | ||
220 | if 'qemu' in machine: | 218 | if 'qemu' in machine: |
221 | path += 'qemu/' | 219 | path += 'qemu/' |
222 | 220 | ||
223 | postconfig = "QA_GET_DISTRO = \"${DISTRO}\"" | 221 | distro = get_bb_var('DISTRO') |
224 | distro = get_bb_var('QA_GET_DISTRO', postconfig=postconfig) | ||
225 | path += distro.replace('poky', machine) + '/' | 222 | path += distro.replace('poky', machine) + '/' |
226 | return path | 223 | return path |
227 | 224 | ||
diff --git a/scripts/wic b/scripts/wic index 06e0b48db0..9137208f5e 100755 --- a/scripts/wic +++ b/scripts/wic | |||
@@ -237,6 +237,13 @@ def wic_ls_subcommand(args, usage_str): | |||
237 | Command-line handling for list content of images. | 237 | Command-line handling for list content of images. |
238 | The real work is done by engine.wic_ls() | 238 | The real work is done by engine.wic_ls() |
239 | """ | 239 | """ |
240 | |||
241 | if args.image_name: | ||
242 | BB_VARS.default_image = args.image_name | ||
243 | |||
244 | if args.vars_dir: | ||
245 | BB_VARS.vars_dir = args.vars_dir | ||
246 | |||
240 | engine.wic_ls(args, args.native_sysroot) | 247 | engine.wic_ls(args, args.native_sysroot) |
241 | 248 | ||
242 | def wic_cp_subcommand(args, usage_str): | 249 | def wic_cp_subcommand(args, usage_str): |
@@ -244,6 +251,12 @@ def wic_cp_subcommand(args, usage_str): | |||
244 | Command-line handling for copying files/dirs to images. | 251 | Command-line handling for copying files/dirs to images. |
245 | The real work is done by engine.wic_cp() | 252 | The real work is done by engine.wic_cp() |
246 | """ | 253 | """ |
254 | if args.image_name: | ||
255 | BB_VARS.default_image = args.image_name | ||
256 | |||
257 | if args.vars_dir: | ||
258 | BB_VARS.vars_dir = args.vars_dir | ||
259 | |||
247 | engine.wic_cp(args, args.native_sysroot) | 260 | engine.wic_cp(args, args.native_sysroot) |
248 | 261 | ||
249 | def wic_rm_subcommand(args, usage_str): | 262 | def wic_rm_subcommand(args, usage_str): |
@@ -251,6 +264,12 @@ def wic_rm_subcommand(args, usage_str): | |||
251 | Command-line handling for removing files/dirs from images. | 264 | Command-line handling for removing files/dirs from images. |
252 | The real work is done by engine.wic_rm() | 265 | The real work is done by engine.wic_rm() |
253 | """ | 266 | """ |
267 | if args.image_name: | ||
268 | BB_VARS.default_image = args.image_name | ||
269 | |||
270 | if args.vars_dir: | ||
271 | BB_VARS.vars_dir = args.vars_dir | ||
272 | |||
254 | engine.wic_rm(args, args.native_sysroot) | 273 | engine.wic_rm(args, args.native_sysroot) |
255 | 274 | ||
256 | def wic_write_subcommand(args, usage_str): | 275 | def wic_write_subcommand(args, usage_str): |
@@ -258,6 +277,12 @@ def wic_write_subcommand(args, usage_str): | |||
258 | Command-line handling for writing images. | 277 | Command-line handling for writing images. |
259 | The real work is done by engine.wic_write() | 278 | The real work is done by engine.wic_write() |
260 | """ | 279 | """ |
280 | if args.image_name: | ||
281 | BB_VARS.default_image = args.image_name | ||
282 | |||
283 | if args.vars_dir: | ||
284 | BB_VARS.vars_dir = args.vars_dir | ||
285 | |||
261 | engine.wic_write(args, args.native_sysroot) | 286 | engine.wic_write(args, args.native_sysroot) |
262 | 287 | ||
263 | def wic_help_subcommand(args, usage_str): | 288 | def wic_help_subcommand(args, usage_str): |
@@ -390,6 +415,12 @@ def wic_init_parser_ls(subparser): | |||
390 | help="image spec: <image>[:<vfat partition>[<path>]]") | 415 | help="image spec: <image>[:<vfat partition>[<path>]]") |
391 | subparser.add_argument("-n", "--native-sysroot", | 416 | subparser.add_argument("-n", "--native-sysroot", |
392 | help="path to the native sysroot containing the tools") | 417 | help="path to the native sysroot containing the tools") |
418 | subparser.add_argument("-e", "--image-name", dest="image_name", | ||
419 | help="name of the image to use the artifacts from " | ||
420 | "e.g. core-image-sato") | ||
421 | subparser.add_argument("-v", "--vars", dest='vars_dir', | ||
422 | help="directory with <image>.env files that store " | ||
423 | "bitbake variables") | ||
393 | 424 | ||
394 | def imgpathtype(arg): | 425 | def imgpathtype(arg): |
395 | img = imgtype(arg) | 426 | img = imgtype(arg) |
@@ -404,6 +435,12 @@ def wic_init_parser_cp(subparser): | |||
404 | help="image spec: <image>:<vfat partition>[<path>] or <file>") | 435 | help="image spec: <image>:<vfat partition>[<path>] or <file>") |
405 | subparser.add_argument("-n", "--native-sysroot", | 436 | subparser.add_argument("-n", "--native-sysroot", |
406 | help="path to the native sysroot containing the tools") | 437 | help="path to the native sysroot containing the tools") |
438 | subparser.add_argument("-e", "--image-name", dest="image_name", | ||
439 | help="name of the image to use the artifacts from " | ||
440 | "e.g. core-image-sato") | ||
441 | subparser.add_argument("-v", "--vars", dest='vars_dir', | ||
442 | help="directory with <image>.env files that store " | ||
443 | "bitbake variables") | ||
407 | 444 | ||
408 | def wic_init_parser_rm(subparser): | 445 | def wic_init_parser_rm(subparser): |
409 | subparser.add_argument("path", type=imgpathtype, | 446 | subparser.add_argument("path", type=imgpathtype, |
@@ -413,6 +450,12 @@ def wic_init_parser_rm(subparser): | |||
413 | subparser.add_argument("-r", dest="recursive_delete", action="store_true", default=False, | 450 | subparser.add_argument("-r", dest="recursive_delete", action="store_true", default=False, |
414 | help="remove directories and their contents recursively, " | 451 | help="remove directories and their contents recursively, " |
415 | " this only applies to ext* partition") | 452 | " this only applies to ext* partition") |
453 | subparser.add_argument("-e", "--image-name", dest="image_name", | ||
454 | help="name of the image to use the artifacts from " | ||
455 | "e.g. core-image-sato") | ||
456 | subparser.add_argument("-v", "--vars", dest='vars_dir', | ||
457 | help="directory with <image>.env files that store " | ||
458 | "bitbake variables") | ||
416 | 459 | ||
417 | def expandtype(rules): | 460 | def expandtype(rules): |
418 | """ | 461 | """ |
@@ -454,6 +497,12 @@ def wic_init_parser_write(subparser): | |||
454 | help="expand rules: auto or <partition>:<size>[,<partition>:<size>]") | 497 | help="expand rules: auto or <partition>:<size>[,<partition>:<size>]") |
455 | subparser.add_argument("-n", "--native-sysroot", | 498 | subparser.add_argument("-n", "--native-sysroot", |
456 | help="path to the native sysroot containing the tools") | 499 | help="path to the native sysroot containing the tools") |
500 | subparser.add_argument("--image-name", dest="image_name", | ||
501 | help="name of the image to use the artifacts from " | ||
502 | "e.g. core-image-sato") | ||
503 | subparser.add_argument("-v", "--vars", dest='vars_dir', | ||
504 | help="directory with <image>.env files that store " | ||
505 | "bitbake variables") | ||
457 | 506 | ||
458 | def wic_init_parser_help(subparser): | 507 | def wic_init_parser_help(subparser): |
459 | helpparsers = subparser.add_subparsers(dest='help_topic', help=hlp.wic_usage) | 508 | helpparsers = subparser.add_subparsers(dest='help_topic', help=hlp.wic_usage) |