mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 03:49:32 +02:00
lib: Fix dependencies on SPDX code
The SPDX library code was being ignored from taskhash calculations due to accidentally being omitted from BBIMPORTS. This meant that changes in the code or dependent variables would not cause the task to rebuild correctly. In order to add spdx_common, convert the `Dep` object from a named tuple to a frozen dataclass. These function more or less equivalently, but the bitbake code parser cannot handle named tuples. Finally, the vardepsexclude that used to be present on the recipe tasks needs to be moved to the python code in order for the variables to be correctly ignored. Several unused exclusions were removed (From OE-Core rev: eb597bf61cbcb0a4d43149404c93eec0894fb4c7) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
0606ae583e
commit
143103a1c4
@@ -11,4 +11,4 @@ __path__ = extend_path(__path__, __name__)
|
||||
# processed correctly (e.g. qa)
|
||||
BBIMPORTS = ["qa", "data", "path", "utils", "types", "package", "packagedata", \
|
||||
"packagegroup", "sstatesig", "lsb", "cachedpath", "license", \
|
||||
"reproducible", "rust", "buildcfg", "go"]
|
||||
"reproducible", "rust", "buildcfg", "go", "spdx30_tasks", "spdx_common"]
|
||||
|
||||
@@ -12,7 +12,7 @@ import re
|
||||
import shutil
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from dataclasses import dataclass
|
||||
|
||||
LIC_REGEX = re.compile(
|
||||
rb"^\W*SPDX-License-Identifier:\s*([ \w\d.()+-]+?)(?:\s+\W*)?$",
|
||||
@@ -77,7 +77,11 @@ def process_sources(d):
|
||||
return True
|
||||
|
||||
|
||||
Dep = collections.namedtuple("Dep", ["pn", "hashfn", "in_taskhash"])
|
||||
@dataclass(frozen=True)
|
||||
class Dep(object):
|
||||
pn: str
|
||||
hashfn: str
|
||||
in_taskhash: bool
|
||||
|
||||
|
||||
def collect_direct_deps(d, dep_task):
|
||||
|
||||
Reference in New Issue
Block a user