pydio / pydio-sync

Python version of the Pydio synchronization client
https://pydio.com
GNU General Public License v3.0
82 stars 32 forks source link

Add extra package_data with js, html,css etc. files #115

Closed ad-m closed 8 years ago

ad-m commented 8 years ago

Hello,

I am suggest extend pacakges data to add ui/res files. Without that I am unable install pydio-sync throught pip in Linux. I have to install Linux by pip due lack of 32-bit binaries.

Greetings,

sagaru commented 8 years ago

Hello,

In which Linux distribution are you facing this issue?

ad-m commented 8 years ago

Ubuntu

sagaru commented 8 years ago

We have used pydio-sync on Ubuntu 32 bit machine before and it works fine without any of these modifications.

Maybe you're missing some libraries, before running the pip command try executing the following command and see how it goes.

sudo apt-get install build-essential libssl-dev libffi-dev python-dev

ad-m commented 8 years ago
$ uname -a
Linux adas-AMILO-Pro-V3205 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:02 UTC 2015 i686 i686 i686 GNU/Linux
$ virtualenv env
New python executable in env/bin/python
Installing setuptools, pip, wheel...done.
$ source env/bin/activate
(env)$ pip install git+https://github.com/pydio/pydio-sync.git
/tmp/env/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
You are using pip version 7.1.0, however version 7.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting git+https://github.com/pydio/pydio-sync.git
  Cloning https://github.com/pydio/pydio-sync.git to ./pip-pCj8BP-build
Collecting xmltodict (from pydio==0.1)
/tmp/env/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Collecting PyDispatcher==2.0.3 (from pydio==0.1)
Collecting PyYAML==3.10 (from pydio==0.1)
Collecting appdirs==1.4.0 (from pydio==0.1)
  Using cached appdirs-1.4.0-py2.py3-none-any.whl
Collecting argh==0.24.1 (from pydio==0.1)
Collecting keyring==4.0 (from pydio==0.1)
Collecting pathlib==0.97 (from pydio==0.1)
Collecting pathtools==0.1.2 (from pydio==0.1)
Collecting requests==2.5.1 (from pydio==0.1)
  Using cached requests-2.5.1-py2.py3-none-any.whl
Collecting watchdog==0.8.1 (from pydio==0.1)
Collecting cffi==0.8.6 (from pydio==0.1)
Collecting flask==0.10.1 (from pydio==0.1)
Collecting flask-restful==0.2.12 (from pydio==0.1)
Collecting six>=1.9.0 (from pydio==0.1)
  Using cached six-1.10.0-py2.py3-none-any.whl
Collecting memory-profiler>=0.32 (from pydio==0.1)
Collecting netifaces>=0.10.4 (from pydio==0.1)
Collecting pycparser (from cffi==0.8.6->pydio==0.1)
Collecting itsdangerous>=0.21 (from flask==0.10.1->pydio==0.1)
Collecting Werkzeug>=0.7 (from flask==0.10.1->pydio==0.1)
  Using cached Werkzeug-0.11.3-py2.py3-none-any.whl
Collecting Jinja2>=2.4 (from flask==0.10.1->pydio==0.1)
  Using cached Jinja2-2.8-py2.py3-none-any.whl
Collecting aniso8601>=0.82 (from flask-restful==0.2.12->pydio==0.1)
Collecting pytz (from flask-restful==0.2.12->pydio==0.1)
  Using cached pytz-2015.7-py2.py3-none-any.whl
Collecting MarkupSafe (from Jinja2>=2.4->flask==0.10.1->pydio==0.1)
Collecting python-dateutil (from aniso8601>=0.82->flask-restful==0.2.12->pydio==0.1)
  Using cached python_dateutil-2.4.2-py2.py3-none-any.whl
Installing collected packages: xmltodict, PyDispatcher, PyYAML, appdirs, argh, keyring, pathlib, pathtools, requests, watchdog, pycparser, cffi, itsdangerous, Werkzeug, MarkupSafe, Jinja2, flask, six, python-dateutil, aniso8601, pytz, flask-restful, memory-profiler, netifaces, pydio
  Running setup.py install for pydio
Successfully installed Jinja2-2.8 MarkupSafe-0.23 PyDispatcher-2.0.3 PyYAML-3.10 Werkzeug-0.11.3 aniso8601-1.1.0 appdirs-1.4.0 argh-0.24.1 cffi-0.8.6 flask-0.10.1 flask-restful-0.2.12 itsdangerous-0.24 keyring-4.0 memory-profiler-0.41 netifaces-0.10.4 pathlib-0.97 pathtools-0.1.2 pycparser-2.14 pydio-0.1 python-dateutil-2.4.2 pytz-2015.7 requests-2.5.1 six-1.10.0 watchdog-0.8.1 xmltodict-0.9.2

(env)$ python -m pydio.main --server=http://pydio.sowp.p4.tiktalik.io/ \
>         --directory=data \
>         --workspace=default \
>         --user=adobrawy \ 
>         --password=XXXXX
2016-01-19 20:10:03 DEBUG   sys.path: 
    /tmp/env/lib/python2.7
    /tmp/env/lib/python2.7/plat-i386-linux-gnu
    /tmp/env/lib/python2.7/lib-tk
    /tmp/env/lib/python2.7/lib-old
    /tmp/env/lib/python2.7/lib-dynload
    /usr/lib/python2.7
    /usr/lib/python2.7/plat-i386-linux-gnu
    /usr/lib/python2.7/lib-tk
    /tmp/env/local/lib/python2.7/site-packages
    /tmp/env/lib/python2.7/site-packages
2016-01-19 20:10:03 DEBUG   PYTHONPATH: 
2016-01-19 20:10:03 DEBUG   sys.getdefaultencoding(): ascii
2016-01-19 20:10:03 DEBUG   sys.getfilesystemencoding(): UTF-8
2016-01-19 20:10:03 DEBUG   os.environ: 
    CLUTTER_IM_MODULE: xim
    COLORTERM: gnome-terminal
    COMP_WORDBREAKS:    
"'><;|&(:
    DBUS_SESSION_BUS_ADDRESS: unix:abstract=/tmp/dbus-4pUMjHRtDn,guid=8db42953d95d1c56b0c829a3569e845c
    DEFAULTS_PATH: /usr/share/gconf/fluxbox.default.path
    DERBY_HOME: /usr/lib/jvm/java-8-oracle/db
    DESKTOP_SESSION: fluxbox
    DISPLAY: :0.0
    GDMSESSION: fluxbox
    GDM_LANG: pl_PL
    GNOME_KEYRING_CONTROL: /run/user/1000/keyring-LRiS0I
    GNOME_KEYRING_PID: 2079
    GPG_AGENT_INFO: /tmp/gpg-KagRsE/S.gpg-agent:2235:1
    GTK_IM_MODULE: ibus
    GTK_MODULES: overlay-scrollbar
    HOME: /home/adas
    J2REDIR: /usr/lib/jvm/java-8-oracle/jre
    J2SDKDIR: /usr/lib/jvm/java-8-oracle
    JAVA_HOME: /usr/lib/jvm/java-8-oracle
    LANG: pl_PL.UTF-8
    LANGUAGE: pl_PL
    LESSCLOSE: /usr/bin/lesspipe %s %s
    LESSOPEN: | /usr/bin/lesspipe %s
    LOGNAME: adas
    LS_COLORS: rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
    MANDATORY_PATH: /usr/share/gconf/fluxbox.mandatory.path
    MANPAGER: most
    NVM_DIR: /home/adas/.nvm
    NVM_IOJS_ORG_MIRROR: https://iojs.org/dist
    NVM_NODEJS_ORG_MIRROR: https://nodejs.org/dist
    NVM_RC_VERSION: 
    OLDPWD: /home/adas
    ORBIT_SOCKETDIR: /tmp/orbit-adas
    PAGER: most
    PATH: /tmp/env/bin:/usr/local/heroku/bin:/usr/local/heroku/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/home/adas/.local/bin
    PROJECT_HOME: /home/adas/Devel
    PS1: (env)\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ 
    PWD: /tmp
    QT4_IM_MODULE: xim
    QT_ACCESSIBILITY: 1
    QT_IM_MODULE: ibus
    QT_QPA_PLATFORMTHEME: appmenu-qt5
    SHELL: /bin/bash
    SHLVL: 2
    SSH_AGENT_PID: 2234
    SSH_AUTH_SOCK: /tmp/ssh-YbraZtVSIXhn/agent.2087
    TERM: xterm
    TERMINATOR_UUID: urn:uuid:8eeb11bc-d43e-4956-9642-a717772ed5df
    TEXTDOMAIN: im-config
    TEXTDOMAINDIR: /usr/share/locale/
    USER: adas
    VIRTUALENVWRAPPER_HOOK_DIR: /home/adas/.virtualenvs
    VIRTUALENVWRAPPER_PROJECT_FILENAME: .project
    VIRTUALENVWRAPPER_SCRIPT: /usr/local/bin/virtualenvwrapper.sh
    VIRTUALENVWRAPPER_WORKON_CD: 1
    VIRTUAL_ENV: /tmp/env
    WINDOWID: 41943044
    WORKON_HOME: /home/adas/.virtualenvs
    XAUTHORITY: /home/adas/.Xauthority
    XDG_CONFIG_DIRS: /etc/xdg/xdg-fluxbox:/etc/xdg
    XDG_DATA_DIRS: /usr/share/fluxbox:/usr/local/share/:/usr/share/
    XDG_GREETER_DATA_DIR: /var/lib/lightdm-data/adas
    XDG_RUNTIME_DIR: /run/user/1000
    XDG_SEAT: seat0
    XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0
    XDG_SESSION_ID: c2
    XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session0
    XDG_VTNR: 7
    XMODIFIERS: @im=ibus
    _: /tmp/env/bin/python
    _VIRTUALENVWRAPPER_API:  mkvirtualenv rmvirtualenv lsvirtualenv showvirtualenv workon add2virtualenv cdsitepackages cdvirtualenv lssitepackages toggleglobalsitepackages cpvirtualenv setvirtualenvproject mkproject cdproject mktmpenv
2016-01-19 20:10:03 DEBUG   sys.platform: linux2
2016-01-19 20:10:03 DEBUG   pydio_module: /tmp/env/lib/python2.7/site-packages/pydio
2016-01-19 20:10:03 INFO    LANGUAGE guessed: ['pl_PL', 'pl_PL.UTF-8', 'en_US']
2016-01-19 20:10:03 INFO    Linux CONFIG DIR EXPANDED: /home/adas/.local/share
2016-01-19 20:10:03 INFO    Linux DEFAULT_DATA_PATH: /home/adas/.local/share/Pydio
20:10:03 INFO    -1219021056 MainThread Storing config in /home/adas/.local/share/Pydio/configs.json
20:10:03 INFO    -1219021056 MainThread -----------------------------------------------
20:10:03 INFO    -1219021056 MainThread Starting agent locally on http://localhost:5556/
20:10:03 INFO    -1219021056 MainThread ------------------------------------------------
20:10:03 INFO    -1219021056 MainThread Structure and Integrity of SQLite file /home/adas/.local/share/Pydio/pydio.sowp.p4.tiktalik.io-default/changes.sqlite is intact 
20:10:03 INFO    -1219021056 MainThread Structure and Integrity of SQLite file /home/adas/.local/share/Pydio/pydio.sowp.p4.tiktalik.io-default/pydio.sqlite is intact 
20:10:04 INFO    -1243874496 Thread-1 Scanning for changes since last application launch
20:10:07 INFO    -1254098112 Thread-2 Starting permanent monitor
20:10:07 INFO    -1243874496 Thread-1 Loading remote changes with sequence 4010 for job id pydio.sowp.p4.tiktalik.io-default
20:10:07 ERROR   -1243874496 Thread-1 Error while connecting to remote server (Http-Basic authentication failed, wrong credentials?), waiting for 60 seconds before retempting 
20:11:09 INFO    -1243874496 Thread-1 Loading remote changes with sequence 4010 for job id pydio.sowp.p4.tiktalik.io-default
20:11:09 ERROR   -1243874496 Thread-1 Error while connecting to remote server (Http-Basic authentication failed, wrong credentials?), waiting for 60 seconds before retempting 
20:11:30 ERROR   -1233978560 Dummy-5  Exception on /res/about.html [GET]
Traceback (most recent call last):
  File "/tmp/env/local/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/tmp/env/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/tmp/env/local/lib/python2.7/site-packages/flask_restful/__init__.py", line 258, in error_router
    return original_handler(e)
  File "/tmp/env/local/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/tmp/env/local/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/tmp/env/local/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/tmp/env/local/lib/python2.7/site-packages/pydio/ui/web_api.py", line 184, in serve_about_content
    with open(about_file, 'r') as handle:
IOError: [Errno 2] No such file or directory: '/tmp/env/local/lib/python2.7/site-packages/pydio/ui/res/about.html'
$ ls -lah /tmp/env/local/lib/python2.7/site-packages/pydio/ui/res/
ls: nie ma dostępu do /tmp/env/local/lib/python2.7/site-packages/pydio/ui/res/: Nie ma takiego pliku ani katalogu
$ # Up mean: No acess to {{path}}: File or directory doesn't exists.
(env)$ pip freeze
You are using pip version 7.1.0, however version 7.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
aniso8601==1.1.0
appdirs==1.4.0
argh==0.24.1
cffi==0.8.6
Flask==0.10.1
Flask-RESTful==0.2.12
itsdangerous==0.24
Jinja2==2.8
keyring==4.0
MarkupSafe==0.23
memory-profiler==0.41
netifaces==0.10.4
pathlib==0.97
pathtools==0.1.2
pycparser==2.14
pydio==0.1
PyDispatcher==2.0.3
python-dateutil==2.4.2
pytz==2015.7
PyYAML==3.10
requests==2.5.1
six==1.10.0
watchdog==0.8.1
Werkzeug==0.11.3
wheel==0.24.0
xmltodict==0.9.2
(env)$ python --version
Python 2.7.6
(env)$ sudo apt-get install build-essential libssl-dev libffi-dev python-dev
[sudo] password for adas: 
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności       
Odczyt informacji o stanie... Gotowe
build-essential jest już w najnowszej wersji.
python-dev jest już w najnowszej wersji.
libffi-dev jest już w najnowszej wersji.
libssl-dev jest już w najnowszej wersji.
Następujące pakiety zostały zainstalowane automatycznie i nie są już więcej wymagane:
  latex-beamer latex-xcolor pgf prosper ps2eps texlive-font-utils
  texlive-generic-recommended texlive-latex-base texlive-latex-base-doc
  texlive-latex-recommended texlive-latex-recommended-doc texlive-pstricks
  texlive-pstricks-doc
Aby je usunąć należy użyć "apt-get autoremove".
0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 2 nieaktualizowanych.
$ # Up mean: Everything is installed and up to date.

Exception was raises after executing in another session pointless:

$ curl 'http://localhost:5556/res/about.html'
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request.  Either the server is overloaded or there is an error in the application.</p>
7omate commented 8 years ago

Hi, the problem is actually comming from this: python -m pydio.main ... You have to use pydio-sync/src/pydio as source path. The running from source is somewhat broken.

ad-m commented 8 years ago

I ran exacly as documented in README. Maybe docs should be updated?

7omate commented 8 years ago

Thanks for your PR