mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 13:29:49 +00:00
native.bbclass: Do not remove "-native" in the middle of recipe names
For dependencies such as "${PN}-foo", when modifying them for native
recipes, it is expected that they become "${BPN}-foo-native" rather
than "${BPN}-native-foo-native". This was previously done by removing
all occurences of "-native" from the dependency before adding
"-native" at the end. However, this fails for a recipe such as
"crate-native-tls" that happens to contain the string "-native" in the
middle of the name. Solve this by simply replacing ${PN} with ${BPN}
in the name instead before adding "-native" at the end
Also simplify adding "-native" to the end of names the recipe provides.
In this case it is not necessary to replace ${PN} with ${BPN} as the
recipes are expected to use ${BPN}-foo in the first place.
(From OE-Core rev: a71d923d0f0e966b17e915a86b5ad7222a947122)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit edaf8ff278fc96b122c4fc3266b63856e3350f4c)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
21263b6114
commit
4bab58615c
@@ -119,6 +119,7 @@ python native_virtclass_handler () {
|
|||||||
pn = e.data.getVar("PN")
|
pn = e.data.getVar("PN")
|
||||||
if not pn.endswith("-native"):
|
if not pn.endswith("-native"):
|
||||||
return
|
return
|
||||||
|
bpn = e.data.getVar("BPN")
|
||||||
|
|
||||||
# Set features here to prevent appends and distro features backfill
|
# Set features here to prevent appends and distro features backfill
|
||||||
# from modifying native distro features
|
# from modifying native distro features
|
||||||
@@ -146,7 +147,10 @@ python native_virtclass_handler () {
|
|||||||
elif "-cross-" in dep:
|
elif "-cross-" in dep:
|
||||||
newdeps.append(dep.replace("-cross", "-native"))
|
newdeps.append(dep.replace("-cross", "-native"))
|
||||||
elif not dep.endswith("-native"):
|
elif not dep.endswith("-native"):
|
||||||
newdeps.append(dep.replace("-native", "") + "-native")
|
# Replace ${PN} with ${BPN} in the dependency to make sure
|
||||||
|
# dependencies on, e.g., ${PN}-foo become ${BPN}-foo-native
|
||||||
|
# rather than ${BPN}-native-foo-native.
|
||||||
|
newdeps.append(dep.replace(pn, bpn) + "-native")
|
||||||
else:
|
else:
|
||||||
newdeps.append(dep)
|
newdeps.append(dep)
|
||||||
d.setVar(varname, " ".join(newdeps), parsing=True)
|
d.setVar(varname, " ".join(newdeps), parsing=True)
|
||||||
@@ -166,7 +170,7 @@ python native_virtclass_handler () {
|
|||||||
if prov.find(pn) != -1:
|
if prov.find(pn) != -1:
|
||||||
nprovides.append(prov)
|
nprovides.append(prov)
|
||||||
elif not prov.endswith("-native"):
|
elif not prov.endswith("-native"):
|
||||||
nprovides.append(prov.replace(prov, prov + "-native"))
|
nprovides.append(prov + "-native")
|
||||||
else:
|
else:
|
||||||
nprovides.append(prov)
|
nprovides.append(prov)
|
||||||
e.data.setVar("PROVIDES", ' '.join(nprovides))
|
e.data.setVar("PROVIDES", ' '.join(nprovides))
|
||||||
|
|||||||
Reference in New Issue
Block a user