Skip to content

file:// urls in a recipe are not processed correctly #1407

Description

Versions

  • Python: 3.6.6 (the one used for running p4a)
  • OS: Ubuntu
  • Kivy: not used
  • Cython: most likely not relevant

Description

file:// urls in a recipe are not processed correctly. Also, just putting an absolute path is not processed correctly either. Since I need this, I'm kind of stuck right now and it'd be really cool if this could be supported.

Example:

from pythonforandroid.recipe import CythonRecipe
import urllib.parse

class MyRecipe(CythonRecipe):
    version = 'master'
    url = 'file://' + urllib.parse.quote("/my-app-lib/")
    depends = ['python3crystax']

recipe = MyRecipe()

Result:

INFO]:    <- directory context /root/.p4a-shell-build
[INFO]:    Unpacking myrecipe for armeabi-v7a
[DEBUG]:   -> running basename file:///my-app-lib/
[DEBUG]:   	my-app-lib
[INFO]:    -> directory context /root/.local/share/python-for-android/build/other_builds/myrecipe-python3crystax/armeabi-v7a
Traceback (most recent call last):
  File "/usr/local/bin/p4a", line 11, in <module>
    load_entry_point('python-for-android==0.6.0', 'console_scripts', 'p4a')()
  File "/usr/local/lib/python3.6/dist-packages/pythonforandroid/toolchain.py", line 999, in main
    ToolchainCL()
  File "/usr/local/lib/python3.6/dist-packages/pythonforandroid/toolchain.py", line 532, in __init__
    getattr(self, args.subparser_name.replace('-', '_'))(args)
  File "/usr/local/lib/python3.6/dist-packages/pythonforandroid/toolchain.py", line 145, in wrapper_func
    build_dist_from_args(ctx, dist, args)
  File "/usr/local/lib/python3.6/dist-packages/pythonforandroid/toolchain.py", line 189, in build_dist_from_args
    build_recipes(build_order, python_modules, ctx)
  File "/usr/local/lib/python3.6/dist-packages/pythonforandroid/build.py", line 566, in build_recipes
    recipe.prepare_build_dir(arch.arch)
  File "/usr/local/lib/python3.6/dist-packages/pythonforandroid/recipe.py", line 527, in prepare_build_dir
    self.unpack(arch)
  File "/usr/local/lib/python3.6/dist-packages/pythonforandroid/recipe.py", line 449, in unpack
    .format(extraction_filename))
Exception: Given path is neither a file nor a directory: /root/.local/share/python-for-android/packages/myrecipe/my-app-lib
Build failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions