On 11/10/2017 08:27 AM, Robert Yang wrote:
- if arch_var == None:
- self.archs =
self.d.getVar('ALL_MULTILIB_PACKAGE_ARCHS').replace("-","_")
+
+ if arch_var:
+ self.archs = self.d.getVar(arch_var).replace("-","_").split()
+ else:
+ self.archs =
self.d.getVar('ALL_MULTILIB_PACKAGE_ARCHS').replace("-","_").split()
+ # Reverse archs to ensure the -best- match is listed firstly, but need
+ # make sure not mixed with multilib archs, and let multilib archs have
+ # higher a priority for multilib image:
+ # For non-multilib image: (e.g., core-image-minimal)
+ # machine_arch:package_archs:multilib_archs:allarch_archs
+ # For multilib image: (e.g., lib32-core-image-minimal)
+ # machine_arch:multilib_archs:package_archs:allarch_archs
+ package_archs_var =
self.d.getVar('PACKAGE_ARCHS').replace("-","_").split()
+ machine_arch_var = [self.d.getVar('MACHINE_ARCH').replace("-","_")]
+ package_archs = []
+ allarch_archs = []
+ ml_archs = []
+ machine_arch = []
+ for arch in self.archs:
+ if arch in machine_arch_var:
+ bb.note("Found MACHINE_ARCH: %s" % arch)
+ machine_arch.append(arch)
+ elif arch in package_archs_var:
+ bb.note("Found PACKAGE_ARCH: %s" % arch)
+ package_archs.append(arch)
+ elif arch in 'all any noarch'.split():
+ bb.note("Found allarch: %s" % arch)
+ allarch_archs.append(arch)
+ else:
+ bb.note("Found multilib arch: %s" % arch)
+ ml_archs.append(arch)
+ package_archs.reverse()
+ if machine_arch:
+ self.archs = machine_arch
+ mlprefix = self.d.getVar('MLPREFIX')
+ if ml_archs:
+ ml_archs.reverse()
+ if mlprefix:
+ self.archs += ml_archs + package_archs
+ else:
+ self.archs += package_archs + ml_archs
else:
- self.archs = self.d.getVar(arch_var).replace("-","_")
+ self.archs = package_archs
+
+ self.archs += allarch_archs
+ self.archs = ' '.join(self.archs)
+ bb.note("The archs used by package manager: %s" % self.archs)
+
Can you place all of this in a helper function please?
Alex
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core