Классы: Выделение общей функциональности

Часто бывает, что определенный шаблон используется более чем в одном рецепте, либо сложный python функционал требуется для достижения желаемого результата. Упростить написание рецептов в таких случаях можно с помощью классов, которые расположены в поддиректории classes корня дерева файлов OpenEmbedded.

Знание доступных классов и понимание их функциональности важно по следующим причинам:

Класс используются через метод inherit. Следующий пример из рецепта curl показывает подключение трех классов:

inherit autotools pkgconfig binconfig

Ниже описываются подключенные классы:

autotools

Класс autotools class используется программами, основанными на конфигурационных средствах GNU и предоставляет методы конфигурации и компиляции программного обеспечения;

pkgconfig

Класс pkgconfig class используется для установки .pc файлов, используемых pkg-config программой для предоставления информации о связывании с пакетом;

binconfig

Класс binconfig class используется для установки <name>-config файлов, использующихся для предоставления информации о связывании с пакетом;

Каждый класс реализуется в файле поддиректории classes с именем вида <classname>.bbclass и в этом файле можно посмотреть детали реализации конкретного класса, хотя иногда не так просто понять все происходящее. Многие классы описаны подробно в разных частях этого руководства.