2017-10-11 5 views
0

TL; DR: Y a-t-il un moyen de forcer la recompilation d'un paquet chaque fois qu'une image est générée?Comment forcer le recompilation du paquet sur Yocto

J'ai un bbappend avec un do_deploy_append en ajoutant un fichier et si je modifie cette étape, la recette ne sera pas recompilée lors de la génération d'une image l'utilisant. Cela peut conduire à des erreurs assez difficiles à induire. Bitbake suppose qu'il a été inchangé. Je n'ai que 2 paquets comme celui-ci, très petit.

Existe-t-il un paramètre pour forcer le nettoyage et la recompilation de ces paquets sans le faire manuellement?

J'utilise Yocto Morty

+1

Comment est-ce que tu ajoutes le fichier? Normalement, bitbake devrait détecter que le fichier a été modifié et reconstruire automatiquement la recette. Quelle version d'OE/Yocto utilisez-vous? – Anders

+0

J'ai mis à jour la description. Ce n'était pas complet en effet –

+0

Pourriez-vous ajouter un exemple? J'ai bbappends à la fois le remplacement des fichiers et la modification des fichiers en utilisant par exemple 'sed? dans une étape 'do_install_append()'. Ils fonctionnent tous comme prévu. De plus, quelle version d'OE/Yocto utilisez-vous? – Anders

Répondre

1

D'une manière générale, si vous voulez une tâche à exécuter toujours, vous devez utiliser le [nostamp] varflag cette tâche, qui doit être réglé sur "1". Par exemple, si vous voulez la recette recompilation à chaque fois, vous devez ajouter la ligne ci-dessous pour la recette du paquet:

do_compile[nostamp] = "1" 

Pour exécuter toujours la tâche do_configure, vous devez ajouter la ligne suivante:

do_configure[nostamp] = "1" 

Cela s'applique à toute tâche dont vous avez besoin pour toujours être exécutée. Jetez un oeil ici pour plus d'informations sur nostamp variable flag: http://www.yoctoproject.org/docs/2.3.2/bitbake-user-manual/bitbake-user-manual.html

+0

C'est exactement ce que je cherchais. Je vous remercie! –