mirror of
https://git.yoctoproject.org/poky
synced 2026-09-16 09:49:35 +02:00
sstate.bbclass: Make sure we don't have an empty fixmepath file
Jason Wessel noticed that a package without any fixmepath entries would generate a sed warning about no input files. This patch resolves that by ensuring that an empty fixmepath file never gets written into the sstate archive. Also we avoid a second message by only doing xargs if we got input. (From OE-Core rev: 326563d5a897ae2dba7cfd8d73579d3d979d72c8) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
6d40b658f4
commit
f24d8df3af
@@ -330,20 +330,27 @@ def sstate_hardcode_path(d):
|
|||||||
sstate_grep_cmd = "grep -l -e '%s'" % (staging_host)
|
sstate_grep_cmd = "grep -l -e '%s'" % (staging_host)
|
||||||
sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRHOST:g'" % (staging_host)
|
sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRHOST:g'" % (staging_host)
|
||||||
|
|
||||||
|
fixmefn = sstate_builddir + "fixmepath"
|
||||||
|
|
||||||
sstate_scan_cmd = d.getVar('SSTATE_SCAN_CMD', True)
|
sstate_scan_cmd = d.getVar('SSTATE_SCAN_CMD', True)
|
||||||
sstate_filelist_cmd = "tee %sfixmepath" % (sstate_builddir)
|
sstate_filelist_cmd = "tee %s" % (fixmefn)
|
||||||
|
|
||||||
# fixmepath file needs relative paths, drop sstate_builddir prefix
|
# fixmepath file needs relative paths, drop sstate_builddir prefix
|
||||||
sstate_filelist_relative_cmd = "sed -i -e 's:^%s::g' %sfixmepath" % (sstate_builddir, sstate_builddir)
|
sstate_filelist_relative_cmd = "sed -i -e 's:^%s::g' %s" % (sstate_builddir, fixmefn)
|
||||||
|
|
||||||
# Limit the fixpaths and sed operations based on the initial grep search
|
# Limit the fixpaths and sed operations based on the initial grep search
|
||||||
# This has the side effect of making sure the vfs cache is hot
|
# This has the side effect of making sure the vfs cache is hot
|
||||||
sstate_hardcode_cmd = "%s | xargs %s | %s | xargs %s" % (sstate_scan_cmd, sstate_grep_cmd, sstate_filelist_cmd, sstate_sed_cmd)
|
sstate_hardcode_cmd = "%s | xargs %s | %s | xargs --no-run-if-empty %s" % (sstate_scan_cmd, sstate_grep_cmd, sstate_filelist_cmd, sstate_sed_cmd)
|
||||||
|
|
||||||
print "Removing hardcoded paths from sstate package: '%s'" % (sstate_hardcode_cmd)
|
print "Removing hardcoded paths from sstate package: '%s'" % (sstate_hardcode_cmd)
|
||||||
os.system(sstate_hardcode_cmd)
|
os.system(sstate_hardcode_cmd)
|
||||||
print "Replacing absolute paths in fixmepath file: '%s'" % (sstate_filelist_relative_cmd)
|
|
||||||
os.system(sstate_filelist_relative_cmd)
|
# If the fixmefn is empty, remove it..
|
||||||
|
if os.stat(fixmefn).st_size == 0:
|
||||||
|
os.remove(fixmefn)
|
||||||
|
else:
|
||||||
|
print "Replacing absolute paths in fixmepath file: '%s'" % (sstate_filelist_relative_cmd)
|
||||||
|
os.system(sstate_filelist_relative_cmd)
|
||||||
|
|
||||||
def sstate_package(ss, d):
|
def sstate_package(ss, d):
|
||||||
import oe.path
|
import oe.path
|
||||||
|
|||||||
Reference in New Issue
Block a user