[yocto] [recipetool] Failure to create a new recipe (failed to parse setup.py)
Vincent Rubiolo
vincent.libre at cryostase.eu
Sun Dec 4 10:18:25 PST 2016
Hi everyone,
I am trying to use recipetool to create a new recipe as a learning
example[0] but it fails with the error below after downloading the
remote archive. Is this a known error? I have tried to look for it on
the mailing list archives and the web and nothing shows up.
I am following the steps under the dev manual[1] after having cloned the
morty poky branch and sourcing oe-init-build-env.
The commands are run in a Fedora 23 Docker container as my host is
Fedora 25 but I get the same error if I run recipetool in that env too.
Thanks for your help!
Vincent
[0] I am aware there is already a recipe for octoprint at
http://git.yoctoproject.org/cgit/cgit.cgi/meta-maker/tree/recipes-webui/octoprint/octoprint_git.bb?h=master
[1]
http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#new-recipe-locate-or-automatically-create-a-base-recipe
$ git clone git://git.yoctoproject.org/poky -b morty
$ cd poky
$ . oe-init-build-env
$ recipetool create -o ./octoprint.bb -x octoprint-master
https://github.com/foosel/OctoPrint/archive/master.zip
NOTE: Fetching https://github.com/foosel/OctoPrint/archive/master.zip...
--2016-12-04 18:08:38--
https://github.com/foosel/OctoPrint/archive/master.zip
Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113
Connecting to github.com (github.com)|192.30.253.112|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/foosel/OctoPrint/zip/master
[following]
--2016-12-04 18:08:38--
https://codeload.github.com/foosel/OctoPrint/zip/master
Resolving codeload.github.com (codeload.github.com)... 192.30.253.121,
192.30.253.120
Connecting to codeload.github.com
(codeload.github.com)|192.30.253.121|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2974977 (2.8M) [application/zip]
Saving to: '/yocto/poky/build/downloads/master.zip'
2016-12-04 18:08:39 (3.20 MB/s) -
'/yocto/poky/build/downloads/master.zip' saved [2974977/2974977]
NOTE: Unpacking /yocto/poky/build/downloads/master.zip to
/tmp/recipetool-4tplbgta/
ERROR: Failed to parse setup.py
Traceback (most recent call last):
File "/yocto/poky/scripts/lib/recipetool/create_buildsys_python.py",
line 181, in process
setup_info, uses_setuptools, setup_non_literals, extensions =
self.parse_setup_py(setupscript)
File "/yocto/poky/scripts/lib/recipetool/create_buildsys_python.py",
line 347, in parse_setup_py
info, imported_modules, non_literals, extensions = gather_setup_info(f)
File "/yocto/poky/scripts/lib/recipetool/create_buildsys_python.py",
line 604, in gather_setup_info
parsed = ast.parse(fileobj.read(), fileobj.name)
File "/usr/lib64/python3.4/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
4657: ordinal not in range(128)
Traceback (most recent call last):
File "/yocto/poky/scripts/recipetool", line 120, in <module>
ret = main()
File "/yocto/poky/scripts/recipetool", line 109, in main
ret = args.func(args)
File "/yocto/poky/scripts/lib/recipetool/create.py", line 615, in
create_recipe
handler.process(srctree_use, classes, lines_before, lines_after,
handled, extravalues)
File "/yocto/poky/scripts/lib/recipetool/create_buildsys_python.py",
line 225, in process
self.apply_info_replacements(info)
File "/yocto/poky/scripts/lib/recipetool/create_buildsys_python.py",
line 452, in apply_info_replacements
new_value = replace_value(search, replace, a_value)
File "/yocto/poky/scripts/lib/recipetool/create_buildsys_python.py",
line 427, in replace_value
new_value = re.sub(search, replace, value)
File "/usr/lib64/python3.4/re.py", line 179, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer
More information about the yocto
mailing list