acsone / setuptools-odoo

A library to help packaging Odoo addons with setuptools. It mainly populates the usual setup.py keywords from the Odoo manifest files.
GNU Lesser General Public License v3.0
41 stars 46 forks source link

Install from zip archive to not download whole repo #19

Closed simahawk closed 7 years ago

simahawk commented 7 years ago

I wonder if is possible to install from the tarball version of a repo. I'm not sure if this is related to setuptool-odoo or is a missing feat in setuptools-scm (which anyway does not support --depth). Anyway, here is my attempt:

# mktmpenv 
# pip install -e ~/dev/sources/odoo10/
# pip install https://github.com/OCA/website-cms/zipball/10.0#"egg=odoo10_addon_cms_form&subdirectory=setup/cms_form"
Collecting odoo10_addon_cms_form from https://github.com/OCA/website-cms/zipball/10.0#egg=odoo10_addon_cms_form&subdirectory=setup/cms_form
  Downloading https://github.com/OCA/website-cms/zipball/10.0
     \ 266kB 493kB/s
    Complete output from command python setup.py egg_info:
    zip_safe flag not set; analyzing archive contents...

    Installed /tmp/pip-build-sbGhX0/odoo10-addon-cms-form/setup/cms_form/.eggs/setuptools_odoo-2.0.2.post1-py2.7.egg
    Searching for setuptools-git!=1.2
    Reading https://pypi.python.org/simple/setuptools-git/
    Downloading https://pypi.python.org/packages/40/59/108e8fd37f8e846a354eeebc0b083aef76ff391b5d0b24228bd70dfa8af5/setuptools-git-1.1.tar.gz#md5=7b5967e9527c789c3113b07a1f196f6e
    Best match: setuptools-git 1.1
    Processing setuptools-git-1.1.tar.gz
    Writing /tmp/easy_install-bj8Z0u/setuptools-git-1.1/setup.cfg
    Running setuptools-git-1.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-bj8Z0u/setuptools-git-1.1/egg-dist-tmp-anXlFi
    Moving setuptools_git-1.1-py2.7.egg to /tmp/pip-build-sbGhX0/odoo10-addon-cms-form/setup/cms_form/.eggs

    Installed /tmp/pip-build-sbGhX0/odoo10-addon-cms-form/setup/cms_form/.eggs/setuptools_git-1.1-py2.7.egg
    error in setup command: /tmp/pip-build-sbGhX0/odoo10-addon-cms-form/setup/cms_form/odoo/addons must contain exactly one installable Odoo addon dir, found []

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-sbGhX0/odoo10-addon-cms-form/setup/cms_form

Installing from bare git works tho:

# pip install git+https://github.com/OCA/website-cms@10.0#"egg=odoo10_addon_cms_form&subdirectory=setup/cms_form"

Very likely is due to the fact that it relies on symlinks.

sbidoul commented 7 years ago

Yes, and the fact that zip files do not support symlinks.

I think it works if you use tarball instead of zipball.

simahawk commented 7 years ago

ouch! I totally forgot to try that... and it works like a charm! tnx @sbidoul :smile: