mirror of
https://git.yoctoproject.org/poky
synced 2026-04-20 09:32:13 +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
@@ -134,7 +134,6 @@ python do_create_spdx() {
|
||||
import oe.spdx30_tasks
|
||||
oe.spdx30_tasks.create_spdx(d)
|
||||
}
|
||||
do_create_spdx[vardepsexclude] += "BB_NUMBER_THREADS SPDX_BUILD_HOST"
|
||||
do_create_spdx[vardeps] += "\
|
||||
SPDX_INCLUDE_BITBAKE_PARENT_BUILD \
|
||||
SPDX_PACKAGE_ADDITIONAL_PURPOSE \
|
||||
@@ -170,7 +169,7 @@ python do_create_package_spdx() {
|
||||
import oe.spdx30_tasks
|
||||
oe.spdx30_tasks.create_package_spdx(d)
|
||||
}
|
||||
do_create_package_spdx[vardepsexclude] += "OVERRIDES SPDX_MULTILIB_SSTATE_ARCHS"
|
||||
oe.spdx30_tasks.create_package_spdx[vardepsexclude] = "OVERRIDES"
|
||||
|
||||
addtask do_create_package_spdx after do_create_spdx before do_build do_rm_work
|
||||
SSTATETASKS += "do_create_package_spdx"
|
||||
|
||||
@@ -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