Ich habe Probleme, die Bitbake-Rezepte zu verstehen. (Ich habe einige schlecht geschrieben, die ich ändern muss, ich würde normalerweise den ganzen Mechanismus lesen und verstehen, aber leider habe ich einen engen Zeitplan). Können Sie mir bitte helfen, den Unterschied zwischen RDEPENDS und DEPENDS zu verstehen? Ich lese die Referenz und weiß, dass sie für die Laufzeitabhängigkeit stehen und Abhängigkeit aufbauen, aber wie wirkt sich das in einem Bitbake-Rezept aus? So weit ich verstehe, wenn ein Paket A von einem anderen B abhängt, muss B gebaut werden und bereit sein, A zu bauen. Bitbake steht nicht mit der Laufzeit in Verbindung, es dient nur zum Erstellen und Bereitstellen der Pakete. Was ist der Unterschied?Bitbake-Laufzeit vs. Build-Abhängigkeit
Antwort
Wie Sie sagen, ist bitbake mit und die Pakete bereitstellen Aufbau betrifft, und es muss alle Pakete bereitstellen, die benötigt werden Laufzeit Abhängigkeiten auf dem Zielsystem zu erfüllen.
Wenn Ihr Rezept sagt, dass Ziel TDEPENDS
auf ein Ziel P, die bitbake sagt, dass es P vor T, weil T nicht gebaut sein kann bauen müssen, ohne P.
Wenn Ihr Rezept sagt, dass TRDEPENDS
auf P, die bitbake sagt, dass es P auf das Zielsystem bereitstellen müssen, wenn es setzt T, weil T nicht sein kann verwendet ohne P.
Zum Beispiel können Sie tar
nicht ohne den C-Compiler erstellen, aber Sie benötigen nicht den C-Compiler, tar
zu verwenden. Sie können tar
bereitstellen, ohne den C-Compiler bereitzustellen. Das ist also ein DEPEND
.
Auf der anderen Seite können Sie tar
nicht ohne die Laufzeit C-Bibliothek verwenden. Wenn tar
bereitgestellt wird, muss auch die Laufzeit-C-Bibliothek bereitgestellt werden. Das ist ein RDEPEND
.
Die bitake technischen sind:
Wenn T
DEPENDS
auf P dann T sdo_populate_sysroot
Aufgabe 'sdo_configure
Aufgabe auf P abhängig gemacht wird.'Wenn T
RDEPENDS
auf P dann T 'sdo_build
Aufgabe ia gemacht hängen von P' sdo_package_write
Aufgabe.
Danke, mein Herr! Es ist mir jetzt klar. Über die technischen Aspekte, die Sie erwähnt haben: Gibt es eine festgelegte Reihenfolge, wie ein Rezept diese Aufgaben aufruft? Sind diese Aufgaben (do_configure, do_build usw.) Teil des Bitbake-Standards? – lulijeta
Ja, es gibt eine definierte Reihenfolge, die natürlich die richtige Reihenfolge ist - obwohl es möglich ist, jedes vordefinierte Verhalten zu überschreiben oder zu erweitern, wenn Sie möchten, oder eigene Tasks zu definieren und sie zwischen die einzufügen vordefinierte. Siehe [Von Bitbake Hallo Welt zu einem Bild] (http://hambeded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/) –
Ausgezeichnete Antwort –