2015-05-31 3 views
4

Если я хочу, чтобы отключить конкретный шаг сборки, можно использовать любой из них:В чем разница между do_compile [noexec] и пустой функцией в рецепте bitbake?

do_configure[noexec] = "1" 

ИЛИ

do_configure() { 
} 

В чем разница между этими альтернативами? Я слышал, что при использовании noexec могут возникать условия повышения.

ответ

6

Ну, есть обычно 3 способа удаления задачи:

  1. deltask Это полностью снимает задачу, а также его зависимости. Таким образом, задачи, которые могут зависеть от удаленной задачи, не будут получать автоматическую зависимость от зависимостей удаленных задач. (A-> B-> C, а удаление B не создает A-> C). Таким образом, это следует использовать, только если вы знаете, что делаете.
  2. Задача пуста do_task() { : }. Это старый способ отключения задачи. Задача все равно будет выполнена, но в ней нет ничего. Таким образом, накладные расходы на выполнение будут оставаться.
  3. do_task[noexec], новый способ отключения задачи. Довольно похоже на 2., но не будет содержать накладные расходы (так как задача никогда не будет выполняться вообще).
+0

Что происходит с зависимыми задачами при использовании noexec? A-> B, что происходит с A, когда B установлен на noexec? – ATOzTOA

+0

Не должно быть никаких различий между 2 и 3, когда дело касается зависимых задач. Таким образом, они будут выполнены, тем не менее, и целая цепочка зависимостей должна быть сохранена. – Anders