[yocto] Magic/File problems

jani.uusi-rantala at nokia.com jani.uusi-rantala at nokia.com
Tue Aug 9 08:57:46 PDT 2011


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20110809/e173ec74/attachment.html>


More information about the yocto mailing list