Para satisfacer las dependencias, las recetas deben declarar lo que necesitan tener disponible durante el proceso de compilación. Cuando una aplicación depende de algo para ejecutarse, se denomina dependencia de tiempo de ejecución (son paquetes necesarios en el destino para garantizar el correcto funcionamiento). En este caso, no necesitamos establecer la variable DEPENDE sino la variable RDEPENDE en una receta para informar a BitBake. Así que en pocas palabras,
DEPENDS -> Build Time Dependency RDEPENDS -> Run Time Dependency
DEPENDE :Cuando una receta 'A' DEPENDE de la receta 'B'. En este caso, Bitbake primero crea la receta 'B' y luego la receta 'A'. Por ejemplo, necesita construir 'dbus' antes que 'wpa_supplicant'.
RDEPENDE :Cuando una receta 'A' es RDEPENDE de la receta 'B'. En este caso, Bitbake implementa 'B' en el sistema de destino cuando implementa 'A'. Por ejemplo, 'perf' RDEPENDE de 'bash'
En otras palabras, DEPENDE es el conjunto de paquetes que debería estar disponible durante la construcción del paquete, mientras que RDEPENDE es el conjunto de paquetes que debería estar disponible durante la ejecución del programa.
Dependencias en tiempo de compilación
BitBake usa la variable DEPENDS para administrar las dependencias de tiempo de compilación. El varflag deptask para una tarea significa la tarea que debe completarse para cada elemento en DEPENDE antes de que se pueda ejecutar esa tarea.
Dependencias de tiempo de ejecución
BitBake usa las variables PACKAGES y RDEPENDS para administrar las dependencias de tiempo de ejecución. La variable PACKAGES enumera todos los paquetes de tiempo de ejecución que crea una receta. Cada uno de esos paquetes puede tener dependencias de tiempo de ejecución RDEPENDS. Estos son paquetes que deben instalarse para que se ejecute un paquete determinado. El varflag rdeptask para una tarea especifica qué tareas se deben completar para cada dependencia de tiempo de ejecución antes de que se pueda ejecutar esa tarea