[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#865830: RFP: seafile-server - An online file storage and collaboration tool


I've done some proof of concept packaging which seems to be working.

Long story short :

* the good :
    - some rather simple steps[0] give you a working install
    - my work is available [1][2] , comments and feedback welcome!
* the bad :
    - ccnet-server also builds libccnet with an additional header
    - libsearpc needs a small patch to be able to build seahub
* the ugly :
    - it feels wrong to plan to introduce a python2 only package in the archive
    - the lintian output of seahub

[0] Steps:
    $ sudo apt install seafile-server
    $ sudo seafile-admin-helper setup
    $ sudo systemctl restart seafile-ccnet-server
    $ sudo seafile-admin-helper passwd
    $ sudo systemctl start seafile-server
    $ sudo systemctl enable seafile-seahub-uwsgi
    $ sudo systemctl start seafile-seahub-uwsgi
[1] git web interface : http://sousmonlit.zincube.net/~niol/repositories.git/
[2] packages and build logs : http://sousmonlit.zincube.net/~niol/apt/

Work on seafile-server consisted mainly in making it work with the
newer libevhtp, something no one had worked on for a long time. Thanks
to libevhtp maintainer, this has resulted in one adjustment in
seafile-server and a fix in libevhtp.

Also, ccnet-server and seafile-server packaging involved separating
conf files (/etc) and variable data (/var). This leads to the upstream
provided admin scripts being useless without heavy patching, so I
ended up writing a simplified one for debian. This means the upstream
manual is useless on Debian when referencing these scripts. I have to
continue to work on this. I'm also pondering moving most binaries out
of PATH as they feel useless to the user.

I also chose to ignore seafile-controller and use systemd instead.

Regarding seahub, the work consisted mainly in porting to a newer
django, the result is a big patch addressing API changes.

Regarding the dependencies, I trivially packaged the following seahub
deps. Not much to say there except that it would nice the enable the
failing test suites of those packages.
- django-post-office
- django-termsandconditions
- django-statici18n
- django-constance

So that means that my TODO list consists in the following, in order :
1) send patches upstream
2) use all this some time in order to fix seahub porting problems and
see if I want to use seafile myself
3) coordinate with ccnet Debian maintainers to see how libccnet should
be packaged (ccnet or ccnet-server or both).
4) iron out admin scripts and associated documentation, document
seahub deployment in README.Debian
5) cleanup seahub lintian errors (the usual embedded or minified, or
both, js problems)
6) fill out ITPs and find a sponsor. I know there is not upstream
commitment to security patches but I'm doing all this for myself
anyway so I'll try my best to finish the job. And maybe it won't go in
the archive but it may be of some interest to others.
7) port seahub to python3 (I'v already ported one of my pet projects
and deps seem to be available so it should not be hard)

Again, I'd be glad to receive any feedback and to coordinate with any
effort regarding this packaging.

Thanks for reading,


Reply to: