* Package scripts that are shipped by upstream in their binary download * Includes setup scripts (setup-seafile.sh to use SQLite, setup-seafile-mysql.{sh,py} to use MySQL) and control scripts (seafile.sh, seahub.sh) * Does not include seafile-admin, which is not shipped in upstream's binary download. Combined with the fact that it hasn't been updated to Python 3 suggests the script has been abandoned. * Replace previous init scripts with a simplified script * Previous init scripts (seafile.init, seahub.init) were modified from older versions of seafile.sh and seahub.sh, but they haven't kept up with changes to upstream's scripts * New init script (seafile-server.init) start/stops both Seafile and Seahub (there is no need to control them separately) by calling upstream's control scripts * Replace previous package config file with new config file * Options in previous config file (seafile.conf) were mainly for using Seahub in FastCGI mode. FastCGI was deprecated in Django 1.7 and removed in 1.9; upstream's control script will only start Seahub using Gunicorn. (Options for Gunicorn including port number can be changed by editing /etc/seafile/conf/gunicorn.conf.py.) * New config file (seafile-server.config) has one option that controls where the Seafile/Seahub data directories are stored * Patch scripts/binaries to use standard, system-wide directory locations * Script files (wrappers for binaries) in /usr/bin * Binaries (not meant to be run directly by the user) in /usr/libexec * Config files in /etc/seafile * Pid/socket files in /var/run/seafile * Logs in /var/log/seafile * Include a new script to create the first admin account * With upstream's original scripts, the user is required to interactively create the first admin account when Seahub is started for the first time * The user will now use the new script (create-seafile-admin.sh) to create the first admin account after setup (using setup-seafile.sh or setup-seafile-mysql.sh) and before starting Seafile/Seahub * seahub.sh is patched to only check if there is at least one admin account and exit with an error if there is no admin account * Remove build config options and add seafile-server-fuse package * The console option controls whether the console window is shown when Seafile server is run on Windows. It has no use on Linux. * The fuse option controls whether seaf-fuse is built. (seaf-fuse is a FUSE implementation that allows the Seafile database/file system to be mounted to a local directory.) seaf-fuse is now always built and is available in a separate package (seafile-server-fuse). * Add myself as a maintainer Signed-off-by: Jeffery To <jeffery.to@gmail.com>
75 lines
3.5 KiB
Diff
75 lines
3.5 KiB
Diff
Author: Alexandre Rossi <alexandre.rossi@gmail.com>
|
|
Description: Take into account libevhtp API changes
|
|
Forwarded: no
|
|
|
|
--- a/server/upload-file.c
|
|
+++ b/server/upload-file.c
|
|
@@ -2201,7 +2201,7 @@ out:
|
|
/* Set keepalive to 0. This will cause evhtp to close the
|
|
* connection after sending the reply.
|
|
*/
|
|
- req->keepalive = 0;
|
|
+ req->flags &= ~EVHTP_REQ_FLAG_KEEPALIVE;
|
|
|
|
fsm->state = RECV_ERROR;
|
|
}
|
|
@@ -2502,8 +2502,8 @@ upload_headers_cb (evhtp_request_t *req,
|
|
}
|
|
|
|
/* Set up per-request hooks, so that we can read file data piece by piece. */
|
|
- evhtp_set_hook (&req->hooks, evhtp_hook_on_read, upload_read_cb, fsm);
|
|
- evhtp_set_hook (&req->hooks, evhtp_hook_on_request_fini, upload_finish_cb, fsm);
|
|
+ evhtp_request_set_hook (req, evhtp_hook_on_read, upload_read_cb, fsm);
|
|
+ evhtp_request_set_hook (req, evhtp_hook_on_request_fini, upload_finish_cb, fsm);
|
|
/* Set arg for upload_cb or update_cb. */
|
|
req->cbarg = fsm;
|
|
|
|
@@ -2519,7 +2519,7 @@ err:
|
|
/* Set keepalive to 0. This will cause evhtp to close the
|
|
* connection after sending the reply.
|
|
*/
|
|
- req->keepalive = 0;
|
|
+ req->flags &= ~EVHTP_REQ_FLAG_KEEPALIVE;
|
|
send_error_reply (req, EVHTP_RES_BADREQ, err_msg);
|
|
|
|
g_free (repo_id);
|
|
@@ -2620,32 +2620,32 @@ upload_file_init (evhtp_t *htp, const ch
|
|
g_free (cluster_shared_dir);
|
|
|
|
cb = evhtp_set_regex_cb (htp, "^/upload-api/.*", upload_api_cb, NULL);
|
|
- evhtp_set_hook(&cb->hooks, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
+ evhtp_callback_set_hook(cb, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
|
|
cb = evhtp_set_regex_cb (htp, "^/upload-raw-blks-api/.*",
|
|
upload_raw_blks_api_cb, NULL);
|
|
- evhtp_set_hook(&cb->hooks, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
+ evhtp_callback_set_hook(cb, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
|
|
cb = evhtp_set_regex_cb (htp, "^/upload-blks-api/.*", upload_blks_api_cb, NULL);
|
|
- evhtp_set_hook(&cb->hooks, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
+ evhtp_callback_set_hook(cb, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
|
|
/* cb = evhtp_set_regex_cb (htp, "^/upload-blks-aj/.*", upload_blks_ajax_cb, NULL); */
|
|
/* evhtp_set_hook(&cb->hooks, evhtp_hook_on_headers, upload_headers_cb, NULL); */
|
|
|
|
cb = evhtp_set_regex_cb (htp, "^/upload-aj/.*", upload_ajax_cb, NULL);
|
|
- evhtp_set_hook(&cb->hooks, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
+ evhtp_callback_set_hook(cb, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
|
|
cb = evhtp_set_regex_cb (htp, "^/update-api/.*", update_api_cb, NULL);
|
|
- evhtp_set_hook(&cb->hooks, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
+ evhtp_callback_set_hook(cb, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
|
|
cb = evhtp_set_regex_cb (htp, "^/update-blks-api/.*", update_blks_api_cb, NULL);
|
|
- evhtp_set_hook(&cb->hooks, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
+ evhtp_callback_set_hook(cb, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
|
|
/* cb = evhtp_set_regex_cb (htp, "^/update-blks-aj/.*", update_blks_ajax_cb, NULL); */
|
|
/* evhtp_set_hook(&cb->hooks, evhtp_hook_on_headers, upload_headers_cb, NULL); */
|
|
|
|
cb = evhtp_set_regex_cb (htp, "^/update-aj/.*", update_ajax_cb, NULL);
|
|
- evhtp_set_hook(&cb->hooks, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
+ evhtp_callback_set_hook(cb, evhtp_hook_on_headers, upload_headers_cb, NULL);
|
|
|
|
evhtp_set_regex_cb (htp, "^/upload_progress.*", upload_progress_cb, NULL);
|
|
|