]> code.ossystems Code Review - openembedded-core.git/commitdiff
base: check for existing prefix when expanding names in PACKAGECONFIG
authorRoss Burton <ross.burton@intel.com>
Fri, 11 Mar 2016 20:54:00 +0000 (20:54 +0000)
committerJoshua Lock <joshua.g.lock@intel.com>
Fri, 6 May 2016 14:51:14 +0000 (15:51 +0100)
When the DEPENDS are added as part of the PACKAGECONFIG logic the list of
packages are expanded so that any required nativesdk-/-native/multilib prefixes
and suffixes are added.

However the special handling of virtual/foo names doesn't check that the prefix
already exists, which breaks under nativesdk as in that situation there's an
explicit nativesdk- prefix *and* MLPREFIX is set to nativesdk-.  This results in
the same prefix being applied twice, and virtual packages such as virtual/libx11
ending up as virtual/nativesdk-nativesdk-libx11.

(From OE-Core master rev: 9e7d207e207bf0319b09d403d87d37f24e3dfbee)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
meta/classes/base.bbclass

index effe12eca4422fb9d99baef6fbe955c3ba1e8e68..14a4b66095a0619f4cd08fd6e1b0b7a9d25670b1 100644 (file)
@@ -351,7 +351,10 @@ python () {
                     newappends.append(a)
                 elif a.startswith("virtual/"):
                     subs = a.split("/", 1)[1]
-                    newappends.append("virtual/" + prefix + subs + extension)
+                    if subs.startswith(prefix):
+                        newappends.append(a + extension)
+                    else:
+                        newappends.append("virtual/" + prefix + subs + extension)
                 else:
                     if a.startswith(prefix):
                         newappends.append(a + extension)