I was experiencing same issue today with latest Yocto master 
ca394457c5d7b2cb4544de7ce2d29008ec6173ae (in Fedora R15):

| error: magic_load(ms, /usr/share/misc/magic) failed: File 5.4 supports only 
version 7 magic files. `/usr/share/misc/magic.mgc' is version 8
| rpmbuild.real: rpmfc.c:1154: rpmfcClassify: Assertion `mg != ((void *)0)' 
failed.


This seems to be a problem with rpmbuild using the wrong magic file from 
rpmfcClassify. This kind of simple fix in package_rpm.class appears to work:

Defines _rpmfc_magic_path variable:

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index ddbfc09..3f00857 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -822,6 +822,8 @@ python do_package_rpm () {
        targetvendor = bb.data.getVar('TARGET_VENDOR', d, True)
        pkgwritedir = bb.data.expand('${PKGWRITEDIRRPM}/${PACKAGE_ARCH}', d)
        pkgarch = bb.data.expand('${PACKAGE_ARCH}', d)
+       magicfile = 
bb.data.expand('${STAGING_DIR_NATIVE}/usr/share/misc/magic.mgc', d)
+
        bb.mkdirhier(pkgwritedir)
        os.chmod(pkgwritedir, 0755)

@@ -834,7 +836,7 @@ python do_package_rpm () {
        cmd = cmd + " --define '__find_provides " + outprovides + "'"
        cmd = cmd + " --define '_unpackaged_files_terminate_build 0'"
        cmd = cmd + " --define 'debug_package %{nil}'"
+       cmd = cmd + " --define '_rpmfc_magic_path " + magicfile + "'"
        cmd = cmd + " -bb " + outspecfile


- Jani

_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to