Yocto bitbake заменяет всю мою среду. Я пытаюсь вызвать сценарий оболочки из рецепта битового теста. Скрипт будет использовать yuicompressor для минимизации некоторых файлов JavaScript и CSS. Сценарий может добавить путь к исполняемому файлу yuicompressor, если он отсутствует. Однако при запуске bitbake при вызове yuicompressor происходит сбой сценария Python.
myrecipe.bb включает в себя
do_compile() {
"${WORKDIR}/git"/build.sh "${datadir}/webdest"
}
/ home / jbrown / .local / bin / yuicompressor содержит
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from yuicompressor import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
/ home / jbrown / .local / lib / python2 .7 / site-packages / yuicompressor Каталог содержит
-rw-r--r-- 1 jbrown jbrown 503 Apr 6 16:15 __init__.py
-rw-r--r-- 1 jbrown jbrown 1154 Apr 6 16:15 __init__.pyc
-rw-r--r-- 1 jbrown jbrown 787524 Apr 6 16:15 yuicompressor-2.4.8.jar
Я добавил ~ / .local / bin в битовый пакет PATH и запустил yuicompressor с таким результатом.
jbrown@JBROWN:~$ yuicompressor --version
Traceback (most recent call last):
File "/home/jbrown/.local/bin/yuicompressor", line 11, in <module>
sys.exit(main())
File "/home/jbrown/.local/lib/python2.7/site-packages/yuicompressor/__init__.py", line 21, in main
exit_code = run(*sys.argv[1:])
File "/home/jbrown/.local/lib/python2.7/site-packages/yuicompressor/__init__.py", line 17, in run
return subprocess.call(cmd_args)
File "/usr/lib/python2.7/subprocess.py", line 172, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Запуск yuicompressor в моей обычной среде просто печатает номер версии (2.4.8) в stderr. Есть ли способ изменить среду биткойнов, чтобы yuicompressor работал?