@@ -38,6 +38,7 @@ def filter_nativesdk_deps(srcname, var):
# Construct per file dependencies file
def write_rpm_perfiledata(srcname, d):
+ import oe.package
workdir = d.getVar('WORKDIR')
packages = d.getVar('PACKAGES')
pkgd = d.getVar('PKGD')
@@ -53,12 +54,7 @@ def write_rpm_perfiledata(srcname, d):
key = "FILE" + varname + ":" + dfile + ":" + pkg
deps = filter_nativesdk_deps(srcname, d.getVar(key) or "")
depends_dict = bb.utils.explode_dep_versions(deps)
- file = dfile.replace("@underscore@", "_")
- file = file.replace("@closebrace@", "]")
- file = file.replace("@openbrace@", "[")
- file = file.replace("@tab@", "\t")
- file = file.replace("@space@", " ")
- file = file.replace("@at@", "@")
+ file = oe.package.file_reverse_translate(dfile)
outfile.write('"' + pkgd + file + '" : "')
for dep in depends_dict:
ver = depends_dict[dep]
@@ -195,14 +195,27 @@ def strip_execs(pn, dstdir, strip_cmd, libdir, base_libdir, max_process, qa_alre
oe.utils.multiprocess_launch_mp(runstrip, sfiles, max_process)
+TRANSLATE = (
+ ("@", "@at@"),
+ (" ", "@space@"),
+ ("\t", "@tab@"),
+ ("[", "@openbrace@"),
+ ("]", "@closebrace@"),
+ ("_", "@underscore@"),
+)
def file_translate(file):
- ft = file.replace("@", "@at@")
- ft = ft.replace(" ", "@space@")
- ft = ft.replace("\t", "@tab@")
- ft = ft.replace("[", "@openbrace@")
- ft = ft.replace("]", "@closebrace@")
- ft = ft.replace("_", "@underscore@")
+ ft = file
+ for s, replace in TRANSLATE:
+ ft = ft.replace(s, replace)
+
+ return ft
+
+def file_reverse_translate(file):
+ ft = file
+ for s, replace in reversed(TRANSLATE):
+ ft = ft.replace(replace, s)
+
return ft
def filedeprunner(arg):
Adds API to reverse the removal of special characters from file names so it can be correctly done in multiple places without open-coding it. Replace the translation done in the package_rpm.bbclass with the new API Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> --- meta/classes-global/package_rpm.bbclass | 8 ++------ meta/lib/oe/package.py | 25 +++++++++++++++++++------ 2 files changed, 21 insertions(+), 12 deletions(-)