Yocto: _append код Python для задачи оболочки - PullRequest
0 голосов
/ 23 октября 2019

Я хочу добавить нетривиальный код Python в задачу do_install, которая является шелл-кодом.

Как я могу это сделать? Могу я просто использовать следующее, и оно волшебным образом сработает?

python do_install_append() {

}

Какой лучший обходной путь? Использовать атрибут [postfuncs]? Или создать совершенно новую задачу и добавить ее после do_install до do_package?

Цель :

Я портирую некоторые пакеты, которые можно собрать для MACHINE=x86-64_mingw32. Некоторые пакеты устанавливают свои файлы .dll в ${libdir}, но для MinGW правильная папка для общих библиотек будет ${bindir} (в соответствии с другими системами сборки, такими как MSYS2 и MXE), поэтому мой класс автоматически удалит целые поддеревья${libdir} в ${bindir}, после рецепта do_install. После этого, если в ${libdir} останутся пустые папки, в которых находились общие библиотеки, они будут удалены.

1 Ответ

0 голосов
/ 23 октября 2019

Приложение не будет работать волшебным образом, постфункции - лучший способ справиться с этим. Тем не менее, вы могли бы установить libdir, чтобы он указывал на bindir, используя переопределение в рецепте?:

libdir_x86-64-mingw32 = "${bindir}"

Это может работать лучше ...

...