]> code.ossystems Code Review - openembedded-core.git/commitdiff
package_manager.py: add noarch to buildarch_compat
authorKai Kang <kai.kang@windriver.com>
Tue, 4 Sep 2018 06:58:43 +0000 (14:58 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 5 Sep 2018 16:54:07 +0000 (17:54 +0100)
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@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/package_manager.py

index a17de5de7376d0629679acc1ce1bd8c0686e10c2..7ae5e045df8d1fdfe532060b73787bc1ec82c481 100644 (file)
@@ -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'):