2016-10-11 3 views
1

Je travaille sur un composant qui dépend de vSOMEIP, yocto ne pas avoir de support pour vSOMEIP, j'essaie d'ajouter moi-même, pour le rendre disponible pour mon composant. J'ai créé la recette recettes-vSOMEIP, et copié les sources. Ma couche bb ressemble à ceSupport vSOMEIP sur yocto

SECTION = "devel" 

LICENSE = "CLOSED" 

SRC_URI = "file://*" 

S = "${WORKDIR}" 

inherit cmake 

FILES_${PN} = "${bindir}" 

Les sources sont compilées se, mais pas en mesure de les installer.

Got erreur ci-dessous, qui fait l'emballage

ERROR: vSOMEIP-1.0-r0 do_package: QA Issue: vSOMEIP: Files/directories were installed 
but not shipped in any package: 
    /usr/etc 

    /usr/lib/libvsomeip.so.2.2.4 

    /usr/lib/libvsomeip-sd.so.2.2.4 

    /usr/lib/libvsomeip.so.2 

    /usr/lib/libvsomeip-sd.so.2 

    /usr/lib/cmake 

    /usr/lib/cmake/vsomeip 

    /usr/lib/cmake/vsomeip/vsomeipTargets-noconfig.cmake 

    /usr/lib/cmake/vsomeip/vsomeipConfig.cmake 

    /usr/lib/cmake/vsomeip/vsomeipConfigVersion.cmake 

    /usr/lib/cmake/vsomeip/vsomeipTargets.cmake 

    /usr/etc/vsomeip 

    /usr/etc/vsomeip/vsomeip-tcp-service.json 

    /usr/etc/vsomeip/vsomeip-tcp-client.json 

    /usr/etc/vsomeip/vsomeip-udp-client.json 

    /usr/etc/vsomeip/vsomeip.json 

    /usr/etc/vsomeip/vsomeip-udp-service.json 

    /usr/etc/vsomeip/vsomeip-local.json 

Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. 
vSOMEIP: 18 installed and not shipped files. [installed-vs-shipped] 
ERROR: vSOMEIP-1.0-r0 do_package: Fatal QA errors found, failing task. 
ERROR: vSOMEIP-1.0-r0 do_package: Function failed: do_package 

Répondre

1

Vous semblez actuellement juste installer lui-même /usr/bin. Essayez d'ajouter les autres répertoires dont vous avez besoin:

FILES_${PN} += " \ 
    ${bindir} \ 
    ${bindir}/* \ 
    ${libdir} \ 
    ${libdir}/* \ 
    ${sysconfdir} \ 
    ${sysconfdir}/vsomeip \ 
    ${sysconfdir}/vsomeip/* 
    " 

Je pense aussi que que tout sous /usr/lib/cmake n'est pas destiné à être installé. Vous devez le supprimer après l'installation en ajoutant

do_install_append() { 
    rm -rf ${D}${libdir}/cmake 
} 

à la recette


Mise à jour: @Anders réponse est probablement raison.

Vous ne devez pas définir FICHIERS _ $ {PN} avec =

Si vous avez besoin de le modifier utiliser +=.

Dans votre cas, la variable doit être correctement réglée par la classe CMake vous incluez avec inherit cmake

Alors juste enlever FILES_${PN} et tout devrait fonctionner.

+1

Non, le répertoire cmake doit sortir du paquet '$ {PN} -dev'. Il ne devrait de préférence pas être supprimé. – Anders

+0

Oui, vous avez raison! cmake définit probablement la variable à droite – Fl0v0

2

S'il vous plaît supprimer la ligne

FILES_${PN} = "${bindir}" 

La valeur par défaut pour FILES_${PN} devrait suffire pour vous. Ne réécrivez jamais cette variable, à moins que vous ne sachiez ce que vous faites, plutôt que de l'ajouter si nécessaire.

+0

Bien sûr, j'ai ajouté au lieu d'initialiser directement les fichiers _ $ {PN} + = "$ {bindir}" – anikhan