Использование и синтаксис вызовов

$ bitbake --help
использование: bitbake [параметры] [пакет ...]

Исполняет указанную задача (по умолчанию 'build') для множества BitBake файлов.
Ожидается что переменная BBFILES определена и содержит список разделенных проблами
файлов, которые могут быть исполнены. BBFILES поддерживает маски. По умолчанию
BBFILES это список .bb файлов в текущем каталоге.

параметры:
  --version             показывает весрию программы и завершается.
  -h, --help            показывает это сообщение и завершается.
  -b BUILDFILE, --buildfile=BUILDFILE
                        выполняет задачи указаном .bb файле, игнорируя пакет 
                        в BBFILES.
  -k, --continue        продолжить  после ошибки, если возможно. 
  						В случае если выполнение цели провалено, то все зависящие от нее
  						не могут быть выполнены, остальные зависисти 
  						этих целей продолжат выполнятся.
  -f, --force           принудительно перезапустить указаную задачу, игнорируя ее статус
  -i, --interactive     перейти в интерактивный режим (BitBake shell).
  -c CMD, --cmd=CMD     Указать задачу для запуска. Учтите что таким образом выполняется 
  						только указанная задача, зависимости игнорируются.
  						К примеру если задача зависит от 'compile', то ее вызов не произойдет 
  						(используйте только когда вы знаете что делаете). В base.bbclass определена задача
  						listtasks вызов которые отобразит доступные для выполнения
  						задачи. 
  -r FILE, --read=FILE  считать этот файл до файла bitbake.conf
  -v, --verbose         увеличение подробности вывода производимых действий
  -D, --debug           Увеличить отладочный уровень. Может быть указан больше одного раза.
  -n, --dry-run         не исполнять, только отобразить действия.
  -p, --parse-only      выйти после завершения разбора файлов BB (только для разработчиков)
  -d, --disable-psyco   отключить использование JIT компилятора psyco (не рекомендуется)
  -s, --show-versions   показать текущую и предпочитаемую версию всех пакетов
  -e, --environment     показать глобальное окружение или специфичное для пакета окружение (это используется при bbread)
  -g, --graphviz        построить дерево зависимостей для указанных пакетов в dot синтаксисе graphiz
  -I IGNORED_DOT_DEPS, --ignore-deps=IGNORED_DOT_DEPS
                        Игнорировать зависимости из списка при построении 
                        дерева зависимостей. Это позволит сделать дерево
                        более простым.
  -l DEBUG_DOMAINS, --log-domains=DEBUG_DOMAINS
                        Показать отладочную информацию для указанных доменов отладки
  -P, --profile         профилирование исполняемой команды и вывод отчета


Пример 4.1. Выполнение задачи в одном .bb файле

Для выполнения задач в одном файле, необходимо указать его в запросе после чего bitbake разбирает его и выполняет указаную задачу (или «build» по умолчанию). При этом если необходимо, учитываются зависимости между задачами.

Запуск задачи «clean»:

$ bitbake -b blah_1.0.bb -c clean

Запуск задачи «build»:

$ bitbake -b blah_1.0.bb


Пример 4.2. Выполнение задач в множестве .bb файлов

При использовании множества файлов .bb возникают некоторые сложности. Во-первых необходим механизм, который позволит сообщить bitbake, о том что файлы доступны и какой из них наобходим для выполнения. Во-вторых - механизм учета зависимостей для каждого.bb файла, как во время сборки, так и во время выполнения. В-третьих - механизм указания предпочтений пользователя среди множества .bb файлов предоставляющих одинаковый функционал или множества версий .bb.

Далее в разделе Метаданные, вы узнаете каким образом их можно настраивать.

Стоит отметить, что в случае множества файлов, команда bitbake без использования параметра --buildfile использует псевдоним, который не является именем файла или чем-то еще. По умолчанию, .bb предоставляет псевдонимы: имяпакета, имяпакета-версия, имяпакета-версия-ревизия.

$ bitbake blah
$ bitbake blah-1.0
$ bitbake blah-1.0-r0
$ bitbake -c clean blah
$ bitbake virtual/whatever
$ bitbake -c clean virtual/whatever


Пример 4.3. Построение графа зависимостей

BitBake позволяет строить граф зависимостей используя dot синтаксис. Эти граф можно конвертировать в графическое представление используя приложение dot из пакета graphviz. В результате построения зависимострей в текущей директории появятся два файла, depends.dot содержащий информацию о зависимостях на уровне пакетов и task-depends.dot содержащий зависимости на уровне задач. Для исключения из графа стандартных зависимостей вы можете добавить -I depend. Это позволяет создавать более короткие и понятные графы. К примеру таким образом можно убрать из DEPENDS унаследованные классы (к примеру base.bbclass).

$ bitbake -g blah
$ bitbake -g -I virtual/whatever -I bloom blah