Non, Yocto n'est pas l'équivalent des autotools !!!
cmake, qmake oui, Yocto, c'est l'equivalent de scratchbox ou de buildroot.
Je sais ce qu'est Yocto, je travaille sur le sujet aussi.
C'était une image pour montrer que cela ne réglait pas tout.
Sous Yocto, ben, je trouve un layer avec VLC (et oui ça existe déjà), je me met dans mon environement et lance 'bitbake vlc', et un moment plus tard, j'ai déjà le rpm/deb/ipk (au choix)... En plus, ça passe tout un tas de sanity check pour moi !!!!
Tu en as eu de la chance, avec Yocto ce n'est pas toujours évident que cela marche si rapidement.
Cas simple, déjà rencontré, j'ajoute le paquet swupdate dans Yocto, mais le U-Boot proposé par le fondeur est trop vieille pour proposer la bibliothèque libubootenv.a que swupdate utilise. Résultat soit tu dois modifier U-Boot, soit modifier swupdate ou trouver une alternative. Les incompatibilités de versions ne disparaissent pas magiquement dans Yocto même si la souplesse de ce dernier permet d'en éviter certains aisément.
Yocto te permet de concevoir une distribution, ni plus ni moins. Suivant le nombre de paquets et les paquets à gérer, tu y arriveras facilement ou pas. Mais globalement avec Yocto tu es confronté aux mêmes soucis que dans les distributions classiques en patchant les composants pour rendre le tout uniforme / utilisable.
De plus, c'est très facile a partagé sur un layer sur GitHub, et facile a intégrer au projet de départ.... bref, c'est "simple" de contribuer quand on connait Yocto, de plus Yocto, c'est de plus en plus utilisé dans l'industrie.
Quand tu intègres un layer parmi une couche existante, il n'est pas rare de faire des .bbappend un peu partout dans ton layer pour résoudre les conflits apporté par cette nouvelle couche. Ce n'est pas magique.
Non, pas vraiment, en embarqué, tu a besoin de configurer certain paquet différemment; par exemple, si tu utilise NetworkManager pour gérer ton réseau (pourquoi pas), tu ne souhaite pas forcement activer et "tirer les dépendances" de polkit; et pour ça tu dois donc appeler le configure sans lui demander polkit, et recompiler, ce que permet facilement Yocto; sous debian, tu dois repackager le package, voir les dépendance qui l'utilise...
Cela revient à la même chose en fait. C'est juste que Yocto tu maitrises les sources mais tu peux faire pareil avec Debian en somme si tu avais tout recopié chez toi.
Yocto est fait pour ça justement. Et c'est "simple" a utiliser une fois dedans (même si c'est assez technique pour y rentrer dedans, c'est presque plus simple que d'apprendre a packager un paquet debian).
Yocto c'est cool hein, je ne le nie pas, mais cela ne résout pas le problème qui est qu'il est difficile de faire un OS qui aille sur tous les téléphones du marché facilement avec une image potentiellement unique. Problème qui est majoritairement situé dans les pilotes.
Après oui Yocto c'est difficile, c'est complexe comme architecture, très difficile à déboguer les recettes je trouve, et la documentation reste trop parcellaire (il est difficile de trouver exhaustivement toutes les variables qui existent dans le système, pas mal manquent à l'appel).
[^] # Re: Le problème commun de toute ces essais
Posté par Renault (site web personnel) . En réponse au journal Les mobiles libres ont du plomb dans l’aile et les systèmes d’exploitation ne vont pas mieux. Évalué à 4.
Je sais ce qu'est Yocto, je travaille sur le sujet aussi.
C'était une image pour montrer que cela ne réglait pas tout.
Tu en as eu de la chance, avec Yocto ce n'est pas toujours évident que cela marche si rapidement.
Cas simple, déjà rencontré, j'ajoute le paquet swupdate dans Yocto, mais le U-Boot proposé par le fondeur est trop vieille pour proposer la bibliothèque libubootenv.a que swupdate utilise. Résultat soit tu dois modifier U-Boot, soit modifier swupdate ou trouver une alternative. Les incompatibilités de versions ne disparaissent pas magiquement dans Yocto même si la souplesse de ce dernier permet d'en éviter certains aisément.
Yocto te permet de concevoir une distribution, ni plus ni moins. Suivant le nombre de paquets et les paquets à gérer, tu y arriveras facilement ou pas. Mais globalement avec Yocto tu es confronté aux mêmes soucis que dans les distributions classiques en patchant les composants pour rendre le tout uniforme / utilisable.
Quand tu intègres un layer parmi une couche existante, il n'est pas rare de faire des .bbappend un peu partout dans ton layer pour résoudre les conflits apporté par cette nouvelle couche. Ce n'est pas magique.
Cela revient à la même chose en fait. C'est juste que Yocto tu maitrises les sources mais tu peux faire pareil avec Debian en somme si tu avais tout recopié chez toi.
Yocto c'est cool hein, je ne le nie pas, mais cela ne résout pas le problème qui est qu'il est difficile de faire un OS qui aille sur tous les téléphones du marché facilement avec une image potentiellement unique. Problème qui est majoritairement situé dans les pilotes.
Après oui Yocto c'est difficile, c'est complexe comme architecture, très difficile à déboguer les recettes je trouve, et la documentation reste trop parcellaire (il est difficile de trouver exhaustivement toutes les variables qui existent dans le système, pas mal manquent à l'appel).