diff options
| author | Mark Hatle <mark.hatle@windriver.com> | 2012-05-18 17:18:19 +0300 | 
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-05-18 15:24:45 +0100 | 
| commit | 326563d5a897ae2dba7cfd8d73579d3d979d72c8 (patch) | |
| tree | ffcb483eaa691d4d179d36110cd707a32bd0b2d3 | |
| parent | 7d1bb144404de650c6e83dfd095d16a796cbcf46 (diff) | |
| download | openembedded-core-326563d5a897ae2dba7cfd8d73579d3d979d72c8.tar.gz openembedded-core-326563d5a897ae2dba7cfd8d73579d3d979d72c8.tar.bz2 openembedded-core-326563d5a897ae2dba7cfd8d73579d3d979d72c8.zip | |
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.
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>
| -rw-r--r-- | meta/classes/sstate.bbclass | 17 | 
1 files changed, 12 insertions, 5 deletions
| diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index ccef4a9e39..ae019379bd 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass @@ -330,20 +330,27 @@ def sstate_hardcode_path(d):  		sstate_grep_cmd = "grep -l -e '%s'" % (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_filelist_cmd = "tee %sfixmepath" % (sstate_builddir) +	sstate_filelist_cmd = "tee %s" % (fixmefn)  	# 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  	# 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)  	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):      import oe.path | 
