[OE-core] [PATCH 1/1] package_manager.py: add noarch to buildarch_compat

kai.kang at windriver.com kai.kang at windriver.com
Tue Sep 4 06:58:43 UTC 2018


From: Kai Kang <kai.kang at windriver.com>

It fails to run rpmbuild to build a noarch package on target when it
contains 'BuildArch: noarch' in the spec file:

| error: No compatible architectures found for build

Add 'noarch' to buildarch_compat in configure file rpmrc to fix it.

Signed-off-by: Kai Kang <kai.kang at windriver.com>
---
 meta/lib/oe/package_manager.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 398838835e..da53e06c33 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -766,7 +766,9 @@ class RpmPM(PackageManager):
         rpmrcconfdir = "%s/%s" %(self.target_rootfs, "etc/")
         bb.utils.mkdirhier(platformconfdir)
         open(platformconfdir + "platform", 'w').write("%s-pc-linux" % self.primary_arch)
-        open(rpmrcconfdir + "rpmrc", 'w').write("arch_compat: %s: %s\n" % (self.primary_arch, self.archs if len(self.archs) > 0 else self.primary_arch))
+        with open(rpmrcconfdir + "rpmrc", 'w') as f:
+            f.write("arch_compat: %s: %s\n" % (self.primary_arch, self.archs if len(self.archs) > 0 else self.primary_arch))
+            f.write("buildarch_compat: %s: noarch\n" % self.primary_arch)
 
         open(platformconfdir + "macros", 'w').write("%_transaction_color 7\n")
         if self.d.getVar('RPM_PREFER_ELF_ARCH'):
-- 
2.18.0




More information about the Openembedded-core mailing list