mirror of
https://git.yoctoproject.org/poky
synced 2026-04-18 03:32:13 +02:00
sstate: add manifest info for shared file matches
Present the manifest file that contains the matches for files being installed to a location that already contains that file. This will help to determine which is the correct recipe to fix when this occurs. [YOCTO #3191] (From OE-Core rev: 56268f6e4ed1fc11143173bb1717a8be78c728a5) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
115076c0d8
commit
6ec5640e59
@@ -116,6 +116,7 @@ def sstate_add(ss, source, dest, d):
|
||||
|
||||
def sstate_install(ss, d):
|
||||
import oe.path
|
||||
import subprocess
|
||||
|
||||
sharedfiles = []
|
||||
shareddirs = []
|
||||
@@ -163,8 +164,13 @@ def sstate_install(ss, d):
|
||||
break
|
||||
if realmatch:
|
||||
match.append(f)
|
||||
sstate_search_cmd = "grep -rl %s %s --exclude=master.list | sed -e 's:^.*/::' -e 's:\.populate-sysroot::'" % (f, d.expand("${SSTATE_MANIFESTS}"))
|
||||
cmd_array = sstate_search_cmd.split(' ')
|
||||
search_output = subprocess.Popen(cmd_array, stdout=subprocess.PIPE).communicate()[0]
|
||||
if search_output != None:
|
||||
match.append("Matched in %s" % search_output.rstrip())
|
||||
if match:
|
||||
bb.warn("The recipe %s is trying to install files into a shared area when those files already exist. Those files are:\n %s" % (d.getVar("PN", True), "\n ".join(match)))
|
||||
bb.warn("The recipe %s is trying to install files into a shared area when those files already exist. Those files and their manifest location are:\n %s\nPlease verify which package should provide the above files." % (d.getVar('PN', True), "\n ".join(match)))
|
||||
|
||||
# Write out the manifest
|
||||
f = open(manifest, "w")
|
||||
|
||||
Reference in New Issue
Block a user