update net-mgmt/seafile-client

Changes: https://github.com/haiwen/seafile/commits/v6.0.2

* Removed -server options
* Regenerated/removed patchfiles

 - Return error detail for clone and sync tasks.
 - Save file sync errors to database.
 - Use unified progress for multipart uploads.
 - Remove server code.
 - Use GLib to calculate SHA1.
 - Allow compiling with GPL-compatible crypto libraries.
 - Fix some bugs.
 - Add back seafile python library.

PR:		216348
Submitted by:	ultima1252@gmail.com (maintainer)
Reviewed by:	matthew
Approved by:	matthew (mentor)
Differential Revision:	https://reviews.freebsd.org/D9292
This commit is contained in:
Nikolai Lifanov 2017-01-24 19:37:01 +00:00
parent 1b87583210
commit def6fc7d09
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=432377
10 changed files with 20 additions and 260 deletions

View file

@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= seafile-client
PORTVERSION= 6.0.1
PORTVERSION= 6.0.2
DISTVERSIONPREFIX= v
CATEGORIES= net-mgmt
@ -34,10 +34,7 @@ GH_PROJECT= seafile
USES= autoreconf gettext iconv libarchive libtool mysql pathfix \
pkgconfig python:-2.7 shebangfix sqlite ssl
USE_GNOME= glib20
SHEBANG_FILES= scripts/*.sh scripts/upgrade/*.sh tests/*.py tests/basic/*.sh \
tests/sync-auto-test/*.template *.sh scripts/build/*.py \
scripts/*.py *.py scripts/upgrade/*.py app/seaf-cli \
tools/seafile-admin
SHEBANG_FILES= *.sh scripts/*.sh integration-tests/*.sh
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
CONFIGURE_ENV= SSL_CFLAGS="${OPENSSLINC}" SSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto"
@ -46,21 +43,6 @@ INSTALL_TARGET= install-strip
CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/evhtp
LDFLAGS+= -L${LOCALBASE}/lib
OPTIONS_DEFINE= FUSE RIAK
OPTIONS_SUB= yes
FUSE_DESC= Use file system in userspace
RIAK_DESC= Use distributed noSQL database
FUSE_CONFIGURE_ENABLE= fuse
FUSE_LIB_DEPENDS= libfuse.so:sysutils/fusefs-libs
RIAK_CONFIGURE_ENABLE= riak
RIAK_RUN_DEPENDS= riak:databases/riak
OPTIONS_DEFAULT= FUSE
OPTIONS_EXCLUDE_DragonFly= FUSE
.include <bsd.port.options.mk>
post-patch:
@ -68,11 +50,5 @@ post-patch:
.if ${OSVERSION} >= 1100097
${REINPLACE_CMD} 's/P_KTHREAD/P_KPROC/' ${WRKSRC}/lib/utils.c
.endif
${REINPLACE_CMD} 's/python/${PYTHON_VERSION}/' \
${WRKSRC}/scripts/upgrade/regenerate_secret_key.sh
${REINPLACE_CMD} -e 's|^INSTALL.*|INSTALLPATH="${PREFIX}/${SEAFILE_SERVER}/seafile"|' \
${WRKSRC}/scripts/seaf-cli-wrapper.sh
${REINPLACE_CMD} 's/<evhtp.h>/<evhtp\/evhtp.h>/' ${WRKSRC}/server/upload-file.c \
${WRKSRC}/server/access-file.c ${WRKSRC}/server/http-server.c
.include <bsd.port.mk>

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1481772891
SHA256 (haiwen-seafile-v6.0.1_GH0.tar.gz) = c212833ff21af19554d216ab3f5c01c3a5878d4bd30b4f71c67ec9b71416a095
SIZE (haiwen-seafile-v6.0.1_GH0.tar.gz) = 1154256
TIMESTAMP = 1485062937
SHA256 (haiwen-seafile-v6.0.2_GH0.tar.gz) = 8ac2eb3611e69b4fd85a9572714153566705c73e443cf2ae24da556c7cf12078
SIZE (haiwen-seafile-v6.0.2_GH0.tar.gz) = 454751

View file

@ -1,6 +1,6 @@
--- configure.ac.orig 2016-05-10 12:25:35 UTC
--- configure.ac.orig 2017-01-05 08:05:21 UTC
+++ configure.ac
@@ -50,8 +50,16 @@ else
@@ -51,8 +51,16 @@ else
AC_MSG_RESULT(no)
fi
@ -18,19 +18,7 @@
blinux=true
AC_MSG_RESULT(compile in linux)
else
@@ -93,6 +101,11 @@ if test "$bwin32" != true; then
[compile_fuse=$enableval],[compile_fuse="yes"])
fi
+if test "$bbsd" = true; then
+ AC_ARG_ENABLE(fuse, AC_HELP_STRING([--enable-fuse], [enable fuse virtual file system]),
+ [compile_fuse=$enableval],[compile_fuse="no"])
+fi
+
AC_ARG_ENABLE(client, AC_HELP_STRING([--enable-client], [enable client]),
[compile_client=$enableval],[compile_client="yes"])
@@ -148,6 +161,7 @@ AM_CONDITIONAL([COMPILE_FUSE], [test "${
@@ -61,6 +69,7 @@ fi
AM_CONDITIONAL([WIN32], [test "$bwin32" = "true"])
AM_CONDITIONAL([MACOS], [test "$bmac" = "true"])
@ -38,7 +26,7 @@
AM_CONDITIONAL([LINUX], [test "$blinux" = "true"])
@@ -193,6 +207,8 @@ if test "$bwin32" = true; then
@@ -105,6 +114,8 @@ if test "$bwin32" = true; then
LIB_MAC=
MSVC_CFLAGS="-D__MSVCRT__ -D__MSVCRT_VERSION__=0x0601"
LIB_CRYPT32=-lcrypt32
@ -47,7 +35,7 @@
elif test "$bmac" = true ; then
LIB_WS32=
LIB_GDI32=
@@ -207,6 +224,24 @@ elif test "$bmac" = true ; then
@@ -119,6 +130,24 @@ elif test "$bmac" = true ; then
LIB_MAC="-framework CoreServices"
LIB_CRYPT32=
LIB_ICONV=-liconv
@ -72,7 +60,7 @@
else
LIB_WS32=
LIB_GDI32=
@@ -220,6 +257,8 @@ else
@@ -132,6 +161,8 @@ else
LIB_MAC=
MSVC_CFLAGS=
LIB_CRYPT32=
@ -81,7 +69,7 @@
fi
AC_SUBST(LIB_WS32)
@@ -232,6 +272,8 @@ AC_SUBST(LIB_IPHLPAPI)
@@ -144,6 +175,8 @@ AC_SUBST(LIB_IPHLPAPI)
AC_SUBST(LIB_SHELL32)
AC_SUBST(LIB_PSAPI)
AC_SUBST(LIB_MAC)

View file

@ -1,104 +0,0 @@
--- controller/seafile-controller.c.orig 2015-09-21 03:42:11 UTC
+++ controller/seafile-controller.c
@@ -17,6 +17,19 @@
#include "log.h"
#include "seafile-controller.h"
+#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
+#include <sys/sysctl.h>
+#include <sys/types.h>
+#include <sys/user.h>
+#include <limits.h>
+
+#ifndef WITH_PROC_FS
+#define WITH_PROC_FS g_file_test("/proc/curproc", G_FILE_TEST_EXISTS)
+#endif
+
+static char *command_name = NULL;
+#endif
+
#define CHECK_PROCESS_INTERVAL 10 /* every 10 seconds */
SeafileController *ctl;
@@ -247,7 +260,20 @@ static void
init_seafile_path ()
{
GError *error = NULL;
+#if defined(__linux__)
char *executable = g_file_read_link ("/proc/self/exe", &error);
+#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
+ /*
+ * seafile.sh starts the process using abs path
+ */
+ char executable[_POSIX_PATH_MAX];
+ memset(executable, 0, _POSIX_PATH_MAX);
+ char * rc = realpath(command_name, executable);
+ if (!rc) {
+ seaf_warning ("failed to readpath: %s\n", executable);
+ return;
+ }
+#endif
char *tmp = NULL;
if (error != NULL) {
seaf_warning ("failed to readlink: %s\n", error->message);
@@ -261,7 +287,9 @@ init_seafile_path ()
topdir = g_path_get_dirname (installpath);
+#if defined(__linux__)
g_free (executable);
+#endif
g_free (tmp);
}
@@ -402,11 +430,40 @@ need_restart (int which)
return FALSE;
} else {
char buf[256];
+ gboolean with_procfs;
+#if defined(__linux__)
+ with_procfs = g_file_test("/proc/self", G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR);
+#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__)
+ with_procfs = g_file_test("/proc/curproc", G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR);
+#else
+ with_procfs = FALSE;
+#endif
+ if (with_procfs) {
snprintf (buf, sizeof(buf), "/proc/%d", pid);
if (g_file_test (buf, G_FILE_TEST_IS_DIR)) {
return FALSE;
} else {
return TRUE;
+ }
+
+ } else {
+#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
+#ifdef __OpenBSD__
+ int min[6] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, pid, sizeof(struct kinfo_proc), 1};
+#else
+ int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, pid};
+#endif
+ size_t len = sizeof(struct kinfo_proc);
+ struct kinfo_proc kp;
+ if (sysctl(mib, sizeof(mib)/sizeof(mib[0]), &kp, &len, NULL, 0) != -1 &&
+ len == sizeof(struct kinfo_proc)) {
+ return FALSE;
+ } else {
+ return TRUE;
+ }
+#else
+ return FALSE;
+#endif
}
}
}
@@ -877,6 +934,9 @@ int main (int argc, char **argv)
exit (1);
}
+#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
+ command_name = argv[0];
+#endif
char *config_dir = DEFAULT_CONFIG_DIR;
char *seafile_dir = NULL;
char *logdir = NULL;

View file

@ -1,6 +1,6 @@
--- daemon/Makefile.am.orig 2016-04-15 23:08:45 UTC
--- daemon/Makefile.am.orig 2017-01-15 15:47:19 UTC
+++ daemon/Makefile.am
@@ -63,6 +63,10 @@ if LINUX
@@ -61,6 +61,10 @@ if LINUX
wt_monitor_src = wt-monitor.c wt-monitor-linux.c wt-monitor-structs.c
endif
@ -11,12 +11,12 @@
if WIN32
wt_monitor_src = wt-monitor.c wt-monitor-win32.c wt-monitor-structs.c
endif
@@ -126,6 +130,7 @@ seaf_daemon_LDADD = $(top_builddir)/lib/
@GLIB2_LIBS@ @GOBJECT_LIBS@ @SSL_LIBS@ @LIB_RT@ @LIB_UUID@ -lsqlite3 @LIBEVENT_LIBS@ \
@@ -124,6 +128,7 @@ seaf_daemon_LDADD = $(top_builddir)/lib/
@LIB_RT@ @LIB_UUID@ -lsqlite3 @LIBEVENT_LIBS@ \
$(top_builddir)/common/cdc/libcdc.la \
$(top_builddir)/common/index/libindex.la @LIB_WS32@ @LIB_CRYPT32@ \
- @SEARPC_LIBS@ @CCNET_LIBS@ @GNOME_KEYRING_LIBS@ @JANSSON_LIBS@ @LIB_MAC@ @ZLIB_LIBS@ @CURL_LIBS@ @BPWRAPPER_LIBS@
+ @SEARPC_LIBS@ @CCNET_LIBS@ @GNOME_KEYRING_LIBS@ @JANSSON_LIBS@ \
+ @LIB_MAC@ @ZLIB_LIBS@ @CURL_LIBS@ @LIB_INOTIFY@ @BPWRAPPER_LIBS@
- @SEARPC_LIBS@ @CCNET_LIBS@ @JANSSON_LIBS@ @LIB_MAC@ @ZLIB_LIBS@ @CURL_LIBS@ @BPWRAPPER_LIBS@
+ @SEARPC_LIBS@ @CCNET_LIBS@ @JANSSON_LIBS@ @LIB_MAC@ \
+ @ZLIB_LIBS@ @CURL_LIBS@ @LIB_INOTIFY@ @BPWRAPPER_LIBS@
seaf_daemon_LDFLAGS = @STATIC_COMPILE@ @CONSOLE@
seaf_daemon_LDFLAGS = @CONSOLE@

View file

@ -1,11 +0,0 @@
--- daemon/vc-utils.c.orig 2016-12-03 06:02:47 UTC
+++ daemon/vc-utils.c
@@ -736,7 +736,7 @@ checkout_entry (struct cache_entry *ce,
gboolean force_conflict = FALSE;
path_in = g_build_path ("/", o->base, ce->name, NULL);
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
path = build_case_conflict_free_path (o->base, ce->name,
conflict_hash, no_conflict_hash,
&case_conflict,

View file

@ -1,15 +0,0 @@
--- scripts/setup-seafile.sh.orig 2015-10-12 04:12:33 UTC
+++ scripts/setup-seafile.sh
@@ -340,7 +340,11 @@ fi
}
function copy_user_manuals() {
- src_docs_dir=${INSTALLPATH}/seafile/docs/
+ if [ $(uname | grep -e BSD -e DragonFly | wc -l) == "1" ]; then
+ src_docs_dir=${INSTALLPATH}/seafile/share/doc/seafile/
+ else
+ src_docs_dir=${INSTALLPATH}/seafile/docs/
+ fi
library_template_dir=${seafile_data_dir}/library-template
mkdir -p ${library_template_dir}
cp -f ${src_docs_dir}/*.doc ${library_template_dir}

View file

@ -1,10 +0,0 @@
--- scripts/upgrade/regenerate_secret_key.sh.orig 2016-01-29 17:25:05 UTC
+++ scripts/upgrade/regenerate_secret_key.sh
@@ -10,4 +10,6 @@ seahub_settings_py=${TOPDIR}/seahub_sett
line="SECRET_KEY = \"$(python $seahub_secret_keygen)\""
-sed -i -e "/SECRET_KEY/c\\$line" $seahub_settings_py
+sed -i.bak -e "/SECRET_KEY/c\\
+$line
+" $seahub_settings_py

View file

@ -1,54 +0,0 @@
--- server/access-file.c.orig 2015-11-12 02:40:40 UTC
+++ server/access-file.c
@@ -221,10 +221,10 @@ write_block_data_cb (struct bufferevent
bev->cbarg = data->saved_cb_arg;
/* Resume reading incomming requests. */
- evhtp_request_resume (data->req);
-
evhtp_send_reply_end (data->req);
+ evhtp_request_resume (data->req);
+
free_sendblock_data (data);
return;
}
@@ -306,10 +306,10 @@ next:
bev->cbarg = data->saved_cb_arg;
/* Resume reading incomming requests. */
- evhtp_request_resume (data->req);
-
evhtp_send_reply_end (data->req);
+ evhtp_request_resume (data->req);
+
free_sendfile_data (data);
return;
}
@@ -403,10 +403,10 @@ write_dir_data_cb (struct bufferevent *b
bev->cbarg = data->saved_cb_arg;
/* Resume reading incomming requests. */
- evhtp_request_resume (data->req);
-
evhtp_send_reply_end (data->req);
+ evhtp_request_resume (data->req);
+
free_senddir_data (data);
return;
}
@@ -710,10 +710,10 @@ finish_file_range_request (struct buffer
bev->cbarg = data->saved_cb_arg;
/* Resume reading incomming requests. */
- evhtp_request_resume (data->req);
-
evhtp_send_reply_end (data->req);
+ evhtp_request_resume (data->req);
+
free_send_file_range_data (data);
}

View file

@ -1,6 +1,5 @@
bin/seaf-cli
bin/seaf-daemon
include/seafile/monitor-rpc.h
include/seafile/seafile-object.h
include/seafile/seafile-rpc.h
include/seafile/seafile.h
@ -14,15 +13,6 @@ lib/libseafile.so.0.0.0
%%PYTHON_SITELIBDIR%%/seafile/rpcclient.py
%%PYTHON_SITELIBDIR%%/seafile/rpcclient.pyc
%%PYTHON_SITELIBDIR%%/seafile/rpcclient.pyo
%%PYTHON_SITELIBDIR%%/seaserv/__init__.py
%%PYTHON_SITELIBDIR%%/seaserv/__init__.pyc
%%PYTHON_SITELIBDIR%%/seaserv/__init__.pyo
%%PYTHON_SITELIBDIR%%/seaserv/api.py
%%PYTHON_SITELIBDIR%%/seaserv/api.pyc
%%PYTHON_SITELIBDIR%%/seaserv/api.pyo
%%PYTHON_SITELIBDIR%%/seaserv/service.py
%%PYTHON_SITELIBDIR%%/seaserv/service.pyc
%%PYTHON_SITELIBDIR%%/seaserv/service.pyo
libdata/pkgconfig/libseafile.pc
man/man1/seaf-cli.1.gz
man/man1/seaf-daemon.1.gz