Um Abhängigkeiten zu erfüllen, müssen die Rezepte deklarieren, was sie während des Build-Prozesses verfügbar haben müssen. Wenn eine Anwendung von etwas abhängt, das ausgeführt werden soll, wird dies als Laufzeitabhängigkeit bezeichnet (dies sind Pakete, die auf dem Ziel erforderlich sind, um ein ordnungsgemäßes Funktionieren zu gewährleisten). In diesem Fall müssen wir nicht die DEPENDS-Variable, sondern die RDEPENDS-Variable in einem Rezept setzen, um BitBake zu informieren. Kurz gesagt,
DEPENDS -> Build Time Dependency RDEPENDS -> Run Time Dependency
HÄNGIG :Wenn ein Rezept „A“ von Rezept „B“ ABHÄNGIG ist. In diesem Fall baut Bitbake zuerst Rezept „B“ und dann Rezept „A“. Beispielsweise muss „dbus“ vor „wpa_supplicant“ erstellt werden.
ABHÄNGIG :Wenn ein Rezept „A“ von Rezept „B“ abhängig ist. In diesem Fall stellt Bitbake „B“ auf dem Zielsystem bereit, wenn es „A“ bereitstellt. Beispiel:„perf“ RDEPENDS auf „bash“
Mit anderen Worten, ABHÄNGIGKEITEN sind die Pakete, die während der Paketerstellung verfügbar sein sollten, während RDEPENDS Pakete sind, die während der Ausführung des Programms verfügbar sein sollten.
Bauzeitabhängigkeiten
BitBake verwendet die DEPENDS-Variable, um Build-Time-Abhängigkeiten zu verwalten. Das Deptask-Varflag für eine Aufgabe gibt die Aufgabe an, die für jedes Element in DEPENDS abgeschlossen werden muss, bevor diese Aufgabe ausgeführt werden kann.
Laufzeitabhängigkeiten
BitBake verwendet die PACKAGES- und RDEPENDS-Variablen, um Laufzeitabhängigkeiten zu verwalten. Die Variable PACKAGES listet alle Laufzeitpakete auf, die ein Rezept erstellt. Jedes dieser Pakete kann RDEPENDS-Laufzeitabhängigkeiten haben. Dies sind Pakete, die installiert werden müssen, damit ein bestimmtes Paket ausgeführt werden kann. Das rdeptask-Varflag für eine Aufgabe gibt an, welche Aufgaben für jede Laufzeitabhängigkeit abgeschlossen werden müssen, bevor diese Aufgabe ausgeführt werden kann