2016-11-22 10 views
0

Я использую функции Anonymous Python в рецептах BitBake для установки переменных во время разбора. Теперь я задаюсь вопросом, могу ли я проверить, установлена ​​ли определенная переменная или нет. Если нет, то я хочу сгенерировать ошибку BitBake, которая останавливает процесс сборки.Как я могу создать ошибку Parsing в BitBake при намерении?

Псевдо-код, который я хочу создать:

python __anonymous() { 
    if d.getVar('MY_VARIABLE', True) == "": 
     <BITBAKE ERROR with custom message "MY_VARIABLE not found"> 
} 

ответ

1

Вы можете позвонить bb.fatal("MY_VARIABLE not set"), который будет печатать эту ошибку и прервать сборку, бросая исключение.

Остерегайтесь того, что d.getVar() возвращает None, когда переменная не установлена. Вы получаете только пустую строку, если это ваше значение по умолчанию.

+0

Именно то, что я искал и спасибо за подсказку с «None». – h0ch5tr4355

0

выходы возможны на разных уровнях протоколирования и с питоном, а также оболочки код сценария Для использования в Python есть:

  • bb.fatal
  • bb.error
  • bb.warn
  • bb.note
  • bb.plain
  • bb.debug

Для использования в сценарии оболочки есть:

  • bbfatal
  • bberror
  • bbwarn
  • bbnote
  • bbplain
  • bbdebug

, например, если вы хотите, чтобы бросить ошибку в функции do_install_append рецепт в:

bbfatal "something went terribly wrong!"