Index: net-mgmt/seafile-server/Makefile =================================================================== --- net-mgmt/seafile-server/Makefile (nonexistent) +++ net-mgmt/seafile-server/Makefile (working copy) @@ -0,0 +1,125 @@ +# $FreeBSD$ + +PORTNAME= seafile-server +PORTVERSION= 6.0.6 +DISTVERSIONPREFIX= v +DISTVERSIONSUFFIX= -server +CATEGORIES= net-mgmt + +MAINTAINER= ultima1252@gmail.com +COMMENT= Open Source Cloud Storage (Server) + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +BUILD_DEPENDS= valac:lang/vala +LIB_DEPENDS= libsearpc.so:devel/libsearpc \ + libevhtp.so:www/libevhtp \ + libzdb.so:databases/libzdb \ + libcurl.so:ftp/curl \ + libinotify.so:devel/libinotify \ + libccnet.so:net-mgmt/ccnet-server \ + libevent.so:devel/libevent2 \ + libuuid.so:misc/e2fsprogs-libuuid \ + libjansson.so:devel/jansson +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ + ${PYTHON_PKGNAMEPREFIX}urllib3>0:net/py-urllib3 \ + bash:shells/bash + +CONFLICTS= seafile-[0-9]* + +USE_GITHUB= yes +GH_ACCOUNT= haiwen + +USES= autoreconf gettext iconv libarchive libtool mysql pathfix \ + pgsql pkgconfig python:-2.7 shebangfix sqlite ssl +USE_GNOME= glib20 +SHEBANG_FILES= scripts/*.sh scripts/upgrade/*.sh *.sh scripts/build/*.py \ + scripts/*.py scripts/upgrade/*.py tools/seafile-admin +GNU_CONFIGURE= yes +USE_LDCONFIG= yes +CONFIGURE_ENV= SSL_CFLAGS="${OPENSSLINC}" SSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" + +PATHFIX_MAKEFILEIN= Makefile.am + +INSTALL_TARGET= install-strip +CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/evhtp +LDFLAGS+= -L${LOCALBASE}/lib + +HAIWENDIR= www/haiwen +SEAFILE_SERVER= ${HAIWENDIR}/seafile-server +SEABIN= ${SEAFILE_SERVER}/seafile/bin +SEALIB= ${SEAFILE_SERVER}/seafile/lib + +USERS= seafile +GROUPS= ${USERS} + +USE_RC_SUBR= seafile +PLIST_SUB= USERS=${USERS} \ + GROUPS=${GROUPS} \ + SEAFILE_SERVER=${SEAFILE_SERVER} \ + HAIWENDIR=${HAIWENDIR} + +SUB_FILES= pkg-message + +SUB_LIST+= USERS=${USERS} \ + GROUPS=${GROUPS} \ + SEAFILE_SERVER=${SEAFILE_SERVER} \ + HAIWENDIR=${HAIWENDIR} + +MAKE_JOBS_UNSAFE= yes + +OPTIONS_DEFINE= FUSE +OPTIONS_SUB= yes + +FUSE_DESC= Use file system in userspace + +FUSE_CONFIGURE_ENABLE= fuse +FUSE_LIB_DEPENDS= libfuse.so:sysutils/fusefs-libs + +OPTIONS_DEFAULT= FUSE +OPTIONS_EXCLUDE_DragonFly= FUSE + +.include + +post-patch: +# Fix P_KTHREAD r295435 +.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///' ${WRKSRC}/server/upload-file.c \ + ${WRKSRC}/server/access-file.c ${WRKSRC}/server/http-server.c +post-install: + @${MKDIR} ${STAGEDIR}${PREFIX}/${SEABIN} ${STAGEDIR}${PREFIX}/${SEALIB} \ + ${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/seafile/share/doc/seafile \ + ${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/upgrade +.for SERVPROG in seaf-fsck seafserv-gc seaf-fuse seaf-migrate \ + seaf-server seaf-server-init seafile-controller + if [ -e "${STAGEDIR}${PREFIX}/bin/${SERVPROG}" ]; then \ + ${INSTALL_PROGRAM} ${STAGEDIR}${PREFIX}/bin/${SERVPROG} ${STAGEDIR}${PREFIX}/${SEABIN}; \ + ${RM} ${STAGEDIR}${PREFIX}/bin/${SERVPROG}; \ + fi +.endfor +.for SERVPROG in seafile-controller seaf-server + ${LN} -s ${PREFIX}/${SEABIN}/${SERVPROG} ${STAGEDIR}${PREFIX}/bin/ +.endfor + + (cd ${STAGEDIR}${PREFIX}/lib && \ + ${COPYTREE_SHARE} ${PYTHON_VERSION} ${STAGEDIR}${PREFIX}/${SEALIB}) + @${RM} -rf ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION} \ + ${WRKSRC}/scripts/sqlite2mysql.[ps][yh] \ + ${WRKSRC}/scripts/setup-seafile.sh \ + ${STAGEDIR}${PREFIX}/bin/seafile-admin + ${INSTALL_SCRIPT} ${WRKSRC}/scripts/*.[ps][yh] ${STAGEDIR}${PREFIX}/${SEAFILE_SERVER} + ${INSTALL_SCRIPT} ${WRKSRC}/scripts/upgrade/*.[ps][yh] \ + ${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/upgrade + ${INSTALL_DATA} ${WRKSRC}/doc/seafile-tutorial.doc \ + ${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/seafile/share/doc/seafile/ + (cd ${WRKSRC}/scripts/upgrade && \ + ${COPYTREE_SHARE} sql ${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/upgrade) + +.include Property changes on: net-mgmt/seafile-server/Makefile ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/distinfo =================================================================== --- net-mgmt/seafile-server/distinfo (nonexistent) +++ net-mgmt/seafile-server/distinfo (working copy) @@ -0,0 +1,3 @@ +TIMESTAMP = 1481476699 +SHA256 (haiwen-seafile-server-v6.0.6-server_GH0.tar.gz) = 3fa98cb16a7ada6468bffff87dba855501365d0be9c2c10201e8d31412538e3e +SIZE (haiwen-seafile-server-v6.0.6-server_GH0.tar.gz) = 695521 Property changes on: net-mgmt/seafile-server/distinfo ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/patch-common_obj-backend-fs.c =================================================================== --- net-mgmt/seafile-server/files/patch-common_obj-backend-fs.c (nonexistent) +++ net-mgmt/seafile-server/files/patch-common_obj-backend-fs.c (working copy) @@ -0,0 +1,20 @@ +--- common/obj-backend-fs.c.orig 2016-10-09 09:30:49 UTC ++++ common/obj-backend-fs.c +@@ -101,7 +101,7 @@ obj_backend_fs_read (ObjBackend *bend, + static int + fsync_obj_contents (int fd) + { +-#ifdef __linux__ ++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) + /* Some file systems may not support fsync(). + * In this case, just skip the error. + */ +@@ -153,7 +153,7 @@ fsync_obj_contents (int fd) + static int + rename_and_sync (const char *tmp_path, const char *obj_path) + { +-#ifdef __linux__ ++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) + char *parent_dir; + int ret = 0; + Property changes on: net-mgmt/seafile-server/files/patch-common_obj-backend-fs.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/patch-configure.ac =================================================================== --- net-mgmt/seafile-server/files/patch-configure.ac (nonexistent) +++ net-mgmt/seafile-server/files/patch-configure.ac (working copy) @@ -0,0 +1,119 @@ +--- configure.ac.orig 2016-10-09 09:30:49 UTC ++++ configure.ac +@@ -51,8 +51,16 @@ else + AC_MSG_RESULT(no) + fi + ++AC_MSG_CHECKING(for BSD) ++if test `uname | grep -e BSD -e DragonFly | wc -l` = "1"; then ++ bbsd=true ++ AC_MSG_RESULT(compile in BSD) ++else ++ AC_MSG_RESULT(no) ++fi ++ + AC_MSG_CHECKING(for Linux) +-if test "$bmac" != "true" -a "$bwin32" != "true"; then ++if test "$bmac" != "true" -a "$bwin32" != "true" -a "$bbsd" != "true"; then + blinux=true + AC_MSG_RESULT(compile in linux) + else +@@ -78,6 +86,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(python, + AC_HELP_STRING([--enable-python],[build ccnet python binding]), + [compile_python=$enableval], +@@ -89,6 +102,7 @@ AM_CONDITIONAL([COMPILE_FUSE], [test "${ + + AM_CONDITIONAL([WIN32], [test "$bwin32" = "true"]) + AM_CONDITIONAL([MACOS], [test "$bmac" = "true"]) ++AM_CONDITIONAL([BSD], [test "$bbsd" = "true"]) + AM_CONDITIONAL([LINUX], [test "$blinux" = "true"]) + + +@@ -134,6 +148,9 @@ if test "$bwin32" = true; then + LIB_MAC= + MSVC_CFLAGS="-D__MSVCRT__ -D__MSVCRT_VERSION__=0x0601" + LIB_CRYPT32=-lcrypt32 ++ ZLIB_LIBS= ++ LIB_INOTIFY= ++ LIB_KVM= + elif test "$bmac" = true ; then + LIB_WS32= + LIB_GDI32= +@@ -148,6 +165,26 @@ elif test "$bmac" = true ; then + LIB_MAC="-framework CoreServices" + LIB_CRYPT32= + LIB_ICONV=-liconv ++ ZLIB_LIBS= ++ LIB_INOTIFY= ++ LIB_KVM= ++elif test "$bbsd" = true ; then ++ LIB_WS32= ++ LIB_GDI32= ++ LIB_RT= ++ LIB_INTL= ++ LIB_RESOLV= ++ LIB_UUID=-luuid ++ LIB_IPHLPAPI= ++ LIB_SHELL32= ++ LIB_PSAPI= ++ LIB_MAC= ++ MSVC_CFLAGS= ++ LIB_CRYPT32= ++ LIB_ICONV=-liconv ++ ZLIB_LIBS=-lz ++ LIB_INOTIFY=-linotify ++ LIB_KVM=-lkvm + else + LIB_WS32= + LIB_GDI32= +@@ -161,6 +198,9 @@ else + LIB_MAC= + MSVC_CFLAGS= + LIB_CRYPT32= ++ ZLIB_LIBS=-lz ++ LIB_INOTIFY=-linotify ++ LIB_KVM= + fi + + AC_SUBST(LIB_WS32) +@@ -173,6 +213,9 @@ AC_SUBST(LIB_IPHLPAPI) + AC_SUBST(LIB_SHELL32) + AC_SUBST(LIB_PSAPI) + AC_SUBST(LIB_MAC) ++AC_SUBST(ZLIB_LIBS) ++AC_SUBST(LIB_INOTIFY) ++AC_SUBST(LIB_KVM) + AC_SUBST(MSVC_CFLAGS) + AC_SUBST(LIB_CRYPT32) + AC_SUBST(LIB_ICONV) +@@ -187,7 +230,9 @@ ZDB_REQUIRED=2.10 + #LIBNAUTILUS_EXTENSION_REQUIRED=2.30.1 + CURL_REQUIRED=7.17 + FUSE_REQUIRED=2.7.3 ++if test "$blinux" = true ; then + ZLIB_REQUIRED=1.2.0 ++fi + + PKG_CHECK_MODULES(SSL, [openssl]) + AC_SUBST(SSL_CFLAGS) +@@ -217,9 +262,11 @@ PKG_CHECK_MODULES(LIBEVENT, [libevent >= + AC_SUBST(LIBEVENT_CFLAGS) + AC_SUBST(LIBEVENT_LIBS) + ++if test "$blinux" = true ; then + PKG_CHECK_MODULES(ZLIB, [zlib >= $ZLIB_REQUIRED]) + AC_SUBST(ZLIB_CFLAGS) + AC_SUBST(ZLIB_LIBS) ++fi + + if test x${compile_python} = xyes; then + AM_PATH_PYTHON([2.6]) Property changes on: net-mgmt/seafile-server/files/patch-configure.ac ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/patch-controller_seafile-controller.c =================================================================== --- net-mgmt/seafile-server/files/patch-controller_seafile-controller.c (nonexistent) +++ net-mgmt/seafile-server/files/patch-controller_seafile-controller.c (working copy) @@ -0,0 +1,113 @@ +--- controller/seafile-controller.c.orig 2016-11-12 03:30:44 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 ++#include ++#include ++#include ++ ++#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; +@@ -244,7 +257,20 @@ static void + init_seafile_path () + { + GError *error = NULL; ++#if defined(__linux__) + char *binary = 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 binary[_POSIX_PATH_MAX]; ++ memset(binary, 0, _POSIX_PATH_MAX); ++ char * rc = realpath(command_name, binary); ++ if (!rc) { ++ seaf_warning ("failed to readpath: %s\n", binary); ++ return; ++ } ++#endif + char *tmp = NULL; + if (error != NULL) { + seaf_warning ("failed to readlink: %s\n", error->message); +@@ -258,7 +284,9 @@ init_seafile_path () + + topdir = g_path_get_dirname (installpath); + ++#if defined(__linux__) + g_free (binary); ++#endif + g_free (tmp); + } + +@@ -400,11 +428,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 + } + } + } +@@ -890,6 +947,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 *central_config_dir = NULL; + char *seafile_dir = NULL; +@@ -926,7 +986,7 @@ int main (int argc, char **argv) + case 'f': + daemon_mode = 0; + break; +- case 'L': ++ case 'l': + logdir = g_strdup(optarg); + break; + case 'g': Property changes on: net-mgmt/seafile-server/files/patch-controller_seafile-controller.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/patch-lib_Makefile.am =================================================================== --- net-mgmt/seafile-server/files/patch-lib_Makefile.am (nonexistent) +++ net-mgmt/seafile-server/files/patch-lib_Makefile.am (working copy) @@ -0,0 +1,29 @@ +--- lib/Makefile.am.orig 2016-10-21 22:12:15 UTC ++++ lib/Makefile.am +@@ -53,6 +53,7 @@ libseafile_common_la_SOURCES = ${seafile + libseafile_common_la_LDFLAGS = -no-undefined + libseafile_common_la_LIBADD = @GLIB2_LIBS@ @GOBJECT_LIBS@ @SSL_LIBS@ -lcrypto @LIB_GDI32@ \ + @LIB_UUID@ @LIB_WS32@ @LIB_PSAPI@ -lsqlite3 \ ++ @LIB_KVM@ \ + @LIBEVENT_LIBS@ @SEARPC_LIBS@ @LIB_SHELL32@ \ + @ZLIB_LIBS@ + +@@ -74,7 +75,7 @@ vala.stamp: ${seafile_object_define} + rm -f ${seafile_object_gen} + @rm -f vala.tmp + @touch vala.tmp +- valac -C --pkg posix $^ ++ valac -C --pkg posix ${seafile_object_define} + @mv -f vala.tmp $@ + + ${seafile_object_gen}: vala.stamp +@@ -90,5 +91,9 @@ install-data-local: + if MACOS + sed -i '' -e "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles) + else ++if BSD ++ sed -i '' "s|(DESTDIR)|${PREFIX}|g" $(pcfiles) ++else + ${SED} -i "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles) + endif ++endif Property changes on: net-mgmt/seafile-server/files/patch-lib_Makefile.am ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/patch-lib_net.c =================================================================== --- net-mgmt/seafile-server/files/patch-lib_net.c (nonexistent) +++ net-mgmt/seafile-server/files/patch-lib_net.c (working copy) @@ -0,0 +1,14 @@ +--- lib/net.c.orig 2016-10-09 09:30:49 UTC ++++ lib/net.c +@@ -157,7 +157,11 @@ ccnet_net_bind_tcp (int port, int nonblo + + snprintf (buf, sizeof(buf), "%d", port); + ++#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) ++ if ( (n = getaddrinfo("0.0.0.0", buf, &hints, &res) ) != 0) { ++#else + if ( (n = getaddrinfo(NULL, buf, &hints, &res) ) != 0) { ++#endif + ccnet_warning ("getaddrinfo fails: %s\n", gai_strerror(n)); + return -1; + } Property changes on: net-mgmt/seafile-server/files/patch-lib_net.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/patch-lib_utils.c =================================================================== --- net-mgmt/seafile-server/files/patch-lib_utils.c (nonexistent) +++ net-mgmt/seafile-server/files/patch-lib_utils.c (working copy) @@ -0,0 +1,195 @@ +--- lib/utils.c.orig 2016-10-09 09:30:49 UTC ++++ lib/utils.c +@@ -56,6 +56,16 @@ + + #include + ++#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#endif ++ + extern int inet_pton(int af, const char *src, void *dst); + + +@@ -2069,14 +2079,19 @@ wchar_from_utf8 (const char *utf8) + + #endif /* ifdef WIN32 */ + +-#ifdef __linux__ + /* read the link of /proc/123/exe and compare with `process_name' */ + static int + find_process_in_dirent(struct dirent *dir, const char *process_name) + { + char path[512]; + /* fisrst construct a path like /proc/123/exe */ ++#if defined(__linux__) + if (sprintf (path, "/proc/%s/exe", dir->d_name) < 0) { ++#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) ++ if (sprintf (path, "/proc/%s/file", dir->d_name) < 0) { ++#else ++ if (1) { ++#endif + return -1; + } + +@@ -2100,7 +2115,8 @@ find_process_in_dirent(struct dirent *di + } + + /* read the /proc fs to determine whether some process is running */ +-gboolean process_is_running (const char *process_name) ++static gboolean ++process_is_running_procfs (const char *process_name) + { + DIR *proc_dir = opendir("/proc"); + if (!proc_dir) { +@@ -2125,7 +2141,8 @@ gboolean process_is_running (const char + return FALSE; + } + +-int count_process(const char *process_name) ++static int ++count_process_procfs(const char *process_name) + { + int count = 0; + DIR *proc_dir = opendir("/proc"); +@@ -2149,6 +2166,14 @@ int count_process(const char *process_na + return count; + } + ++#ifdef __linux__ ++gboolean process_is_running(const char *process_name) { ++ return process_is_running_procfs(process_name); ++} ++ ++int count_process(const char *process_name) { ++ return count_process_procfs(process_name); ++} + #endif + + #ifdef __APPLE__ +@@ -2159,6 +2184,119 @@ gboolean process_is_running (const char + } + #endif + ++#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) ++#if defined(__FreeBSD__) ++#define PSKIP(kp) ((kp)->ki_pid == mypid || \ ++ (!kthreads && ((kp)->ki_flag & P_KTHREAD) != 0)) ++#define KVM_OPENFILES(exec, coref, buf) \ ++ kvm_openfiles(exec, coref, NULL, O_RDONLY, buf) ++#define KVM_GETPROCS(kd, plist, nproc) \ ++ kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc) ++ ++#elif defined(__DragonFly__) ++#define PSKIP(kp) ((kp)->kp_pid == mypid || \ ++ (!kthreads && ((kp)->kp_flags & P_SYSTEM) != 0)) ++#define KVM_OPENFILES(exec, coref, buf) \ ++ kvm_openfiles(exec, coref, NULL, O_RDONLY, buf) ++#define KVM_GETPROCS(kd, plist, nproc) \ ++ kvm_getprocs(kd, KERN_PROC_ALL, 0, &nproc) ++ ++#elif defined(__NetBSD__) ++#define PSKIP(kp) ((kp)->kp_pid == mypid || \ ++ ((kp)->p_flag & P_SYSTEM) != 0) ++#define KVM_OPENFILES(exec, coref, buf) \ ++ kvm_openfiles(exec, coref, NULL, KVM_NO_FILES, buf) ++#define KVM_GETPROCS(kd, plist, nproc) \ ++ kvm_getprocs(kd, KERN_PROC_ALL, 0, sizeof(*plist), &nproc) ++ ++#elif defined(__OpenBSD__) ++#define PSKIP(kp) ((kp)->kp_pid == mypid || \ ++ ((kp)->p_flag & (P_SYSTEM | P_THREAD)) != 0) ++#define KVM_OPENFILES(exec, coref, buf) \ ++ kvm_openfiles(exec, coref, NULL, KVM_NO_FILES, buf) ++#define KVM_GETPROCS(kd, plist, nproc) \ ++ kvm_getprocs(kd, KERN_PROC_ALL, 0, sizeof(*plist), &nproc) ++ ++#else ++#define PSKIP(kp) 0 ++#define KVM_OPENFILES(exec, coref, buf) 0 ++#define KVM_GETPROCS(kd, plist, nproc) 0 ++#endif ++ ++#ifndef WITH_PROC_FS ++#define WITH_PROC_FS g_file_test("/proc/curproc", G_FILE_TEST_EXISTS) ++#endif ++ ++static int ++count_running_process_kvm(const char *process_name) { ++ ++ ++ static kvm_t *kd; ++ static struct kinfo_proc *plist; ++ static int nproc; ++ static pid_t mypid; ++ static int kthreads; ++ ++ char buf[_POSIX2_LINE_MAX]; ++ const char * execf, *coref; ++ char **pargv; ++ int i, selected_nproc; ++ struct kinfo_proc *kp; ++ ++ selected_nproc = 0; ++ execf = NULL; ++ coref = _PATH_DEVNULL; ++ ++ mypid = getpid(); ++ kd = KVM_OPENFILES(execf, coref, buf); ++ if (kd == NULL) { ++ fprintf(stderr, "Error: Cannot open kernel files (%s)", buf); ++ exit(1); ++ } ++ ++ plist = KVM_GETPROCS(kd, plist, nproc); ++ if (plist == NULL) { ++ fprintf(stderr, "Error: Cannot get process list (%s)", kvm_geterr(kd)); ++ exit(1); ++ } ++ ++ for(i = 0, kp = plist; i < nproc; i++, kp++) { ++ if (PSKIP(kp)) { ++ continue; ++ } ++ if ((pargv = kvm_getargv(kd, kp, 0)) != NULL) { ++ if (strstr(pargv[0], process_name) != NULL) { ++ selected_nproc += 1; ++ } ++ } ++ } ++ kvm_close(kd); ++ kvm_close(kd); ++ ++ return selected_nproc; ++} ++ ++gboolean ++process_is_running(const char * process_name) { ++ if (WITH_PROC_FS) { ++ return process_is_running_procfs(process_name); ++ } ++ if (count_running_process_kvm(process_name) > 0) { ++ return TRUE; ++ } else { ++ return FALSE; ++ } ++} ++ ++int ++count_process(const char * process_name) { ++ if (WITH_PROC_FS) { ++ return count_process_procfs(process_name); ++ } ++ return count_running_process_kvm(process_name); ++} ++#endif ++ + char* + ccnet_object_type_from_id (const char *object_id) + { Property changes on: net-mgmt/seafile-server/files/patch-lib_utils.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/patch-lib_utils.h =================================================================== --- net-mgmt/seafile-server/files/patch-lib_utils.h (nonexistent) +++ net-mgmt/seafile-server/files/patch-lib_utils.h (working copy) @@ -0,0 +1,23 @@ +--- lib/utils.h.orig 2016-10-09 09:30:49 UTC ++++ lib/utils.h +@@ -10,6 +10,9 @@ + #include + #endif + ++#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) ++#include ++#endif + #include + #include + #include +@@ -20,7 +23,9 @@ + #include + #include + +-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) ++#if defined(__FreeBSD__) || defined(__DragonFly__) ++#include ++#elif defined(__NetBSD__) || defined(__OpenBSD__) + #include + #else + #include Property changes on: net-mgmt/seafile-server/files/patch-lib_utils.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/patch-scripts_setup-seafile.sh =================================================================== --- net-mgmt/seafile-server/files/patch-scripts_setup-seafile.sh (nonexistent) +++ net-mgmt/seafile-server/files/patch-scripts_setup-seafile.sh (working copy) @@ -0,0 +1,15 @@ +--- scripts/setup-seafile.sh.orig 2016-10-21 22:12:15 UTC ++++ scripts/setup-seafile.sh +@@ -318,7 +318,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} Property changes on: net-mgmt/seafile-server/files/patch-scripts_setup-seafile.sh ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/patch-scripts_upgrade_regenerate__secret__key.sh =================================================================== --- net-mgmt/seafile-server/files/patch-scripts_upgrade_regenerate__secret__key.sh (nonexistent) +++ net-mgmt/seafile-server/files/patch-scripts_upgrade_regenerate__secret__key.sh (working copy) @@ -0,0 +1,10 @@ +--- scripts/upgrade/regenerate_secret_key.sh.orig 2016-10-21 22:12:15 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 Property changes on: net-mgmt/seafile-server/files/patch-scripts_upgrade_regenerate__secret__key.sh ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/patch-server_access-file.c =================================================================== --- net-mgmt/seafile-server/files/patch-server_access-file.c (nonexistent) +++ net-mgmt/seafile-server/files/patch-server_access-file.c (working copy) @@ -0,0 +1,54 @@ +--- server/access-file.c.orig 2016-10-09 09:30:49 UTC ++++ server/access-file.c +@@ -224,10 +224,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; + } +@@ -309,10 +309,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; + } +@@ -406,10 +406,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; + } +@@ -697,10 +697,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); + } + Property changes on: net-mgmt/seafile-server/files/patch-server_access-file.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/pkg-message.in =================================================================== --- net-mgmt/seafile-server/files/pkg-message.in (nonexistent) +++ net-mgmt/seafile-server/files/pkg-message.in (working copy) @@ -0,0 +1,12 @@ +For an existing config, or creating a new one, fix the UID/GID. +Do not change %%PREFIX%%/%%SEAFILE_SERVER%% unless your front +end is using the seafile UID/GID as well. + +chown -R seafile:seafile %%PREFIX%%/%%HAIWENDIR%%/conf \ + %%PREFIX%%/%%HAIWENDIR%%/ccnet %%PREFIX%%/%%HAIWENDIR%%/seafile-data \ + %%PREFIX%%/%%HAIWENDIR%%/pids %%PREFIX%%/%%HAIWENDIR%%/logs + +Don't forget to run update scripts after every minor and major update located in + %%PREFIX%%/%%SEAFILE_SERVER%%/upgrade + +Patch updates (5.1.x) don't require these scripts, however do required a restarted. Property changes on: net-mgmt/seafile-server/files/pkg-message.in ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/seafile.in =================================================================== --- net-mgmt/seafile-server/files/seafile.in (nonexistent) +++ net-mgmt/seafile-server/files/seafile.in (working copy) @@ -0,0 +1,148 @@ +#!/bin/sh +# +# $FreeBSD: head/net-mgmt/seafile/files/seafile.in 416100 2016-05-29 13:03:49Z amdmi3 $ +# + +# PROVIDE: seafile +# REQUIRE: LOGIN cleanvar mysql +# KEYWORD: shutdown +# + +# +# Add the following lines to /etc/rc.conf to enable seafile: +# +# seafile_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable seafile. +# seafile_user (str): User to run seafile as +# Default to "%%USERS%%" created by the port +# seafile_group (str): Group to run seafile as +# Default to "%%GROUPS%%" created by the port +# seafile_path (str): Set to "" by default will use the path +# %%PREFIX%%/%%SEAFILE_SERVER%%. +# Set it to a different path. +# seafile_ccnet (str): Set to "" by default will use the path +# %%PREFIX%%/%%HAIWENDIR%%/ccnet. +# Set it to a different path. +# seafile_conf (str): Set to "" by default will use the path +# %%PREFIX%%/%%HAIWENDIR%%/conf. +# Set it to a different path. +# seafile_datadir (str): Set to "" by default will use the path +# in file %%PREFIX%%/%%HAIWENDIR%%/ccnet/seafile.ini. +# Set it to a different path. +# seafile_logdir (str): Set to "" by default will use the path +# %%PREFIX%%/%%HAIWENDIR%%/logs +# Set it to a different path. +# seafile_loglevel (str): Set to "info" by default. +# Possible values are debug, warning, info. + +. /etc/rc.subr + +name="seafile" +rcvar="seafile_enable" + +load_rc_config $name + +start_cmd="seafile_start" +restart_cmd="seafile_restart" +stop_cmd="seafile_stop" + +: ${seafile_enable="NO"} +: ${seafile_user:="%%USERS%%"} +: ${seafile_group:="%%GROUPS%%"} +: ${seafile_path:="%%PREFIX%%/%%SEAFILE_SERVER%%"} +: ${seafile_ccnet:="%%PREFIX%%/%%HAIWENDIR%%/ccnet"} +: ${seafile_conf:="%%PREFIX%%/%%HAIWENDIR%%/conf"} +: ${seafile_datadir:="`cat ${seafile_ccnet}/seafile.ini 2>/dev/null`"} +: ${seafile_logdir:="%%PREFIX%%/%%HAIWENDIR%%/logs"} +: ${seafile_loglevel:="info"} + +command="%%PREFIX%%/%%SEAFILE_SERVER%%/seafile/bin/seafile-controller" +command_args="-c \"${seafile_ccnet}\" -d \"${seafile_datadir}\" -F \"${seafile_conf}\" -l \"${seafile_logdir}\" -g \"${seafile_loglevel}\" -G \"${seafile_loglevel}\"" + +required_dirs="${seafile_ccnet} ${seafile_conf} ${seafile_datadir}" +required_files="${seafile_ccnet}/seafile.ini" + +test_config() { + if ! su -m ${seafile_user} -c "${command} -t ${command_args}" ; then + exit 1; + fi +} + +check_component_running() { + name=$1 + cmd=$2 + if pid=$(pgrep -f "$cmd" 2>/dev/null); then + echo "{$name} is running, pid $pid. You can stop it by: " + echo + echo " kill $pid" + echo + echo "Stop it and try again." + echo + exit + fi +} + +validate_already_running() { + if pid=$(pgrep -f "seafile-controller -c ${seafile_ccnet}" 2>/dev/null); then + echo "Seafile controller is already running, pid $pid" + echo + exit 1; + fi + + check_component_running "ccnet-server" "ccnet-server -c ${seafile_ccnet}" + check_component_running "seaf-server" "seaf-server -c ${seafile_ccnet}" + check_component_running "fileserver" "fileserver -c ${seafile_ccnet}" + check_component_running "seafdav" "wsgidav.server.run_server" +} + +prepare_env() { +export PATH=${seafile_path}/seafile/bin:$PATH +export LD_LIBRARY_PATH=${seafile_path}/seafile/lib/:${seafile_path}/seafile/lib64:${LD_LIBRARY_PATH} +} + +seafile_start() { + check_required_before; + validate_already_running; + prepare_env; + test_config; + + echo "Starting seafile server, please wait ..." + + su -m "${seafile_user}" -c "mkdir -p $seafile_logdir" + su -m "${seafile_user}" -c "$command $command_args" + + sleep 3 + + # check if seafile server started successfully + if ! pgrep -f "seafile-controller -c ${seafile_ccnet}" 2>/dev/null 1>&2; then + echo "Failed to start seafile server" + exit 1; + fi + + echo "Seafile server started" + echo +} + +seafile_stop() { + if ! pgrep -f "seafile-controller -c ${seafile_ccnet}" 2>/dev/null 1>&2; then + echo "Seafile is not running" + return 1; + fi + + echo "Stopping ${name}." + pkill -SIGTERM -f "seafile-controller -c ${seafile_ccnet}" + pkill -f "ccnet-server -c ${seafile_ccnet}" + pkill -f "seaf-server -c ${seafile_ccnet}" + pkill -f "fileserver -c ${seafile_ccnet}" + pkill -f "soffice.*--invisible --nocrashreport" + pkill -f "wsgidav.server.run_server" + return 0 +} + +seafile_restart() { + seafile_stop; + sleep 2 + seafile_start; +} + +run_rc_command "$1" Property changes on: net-mgmt/seafile-server/files/seafile.in ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/files/tags =================================================================== --- net-mgmt/seafile-server/files/tags (nonexistent) +++ net-mgmt/seafile-server/files/tags (working copy) @@ -0,0 +1,12 @@ +!_TAG_FILE_SORTED 2 /0=unsorted, 1=sorted, 2=foldcase/ +check_component_running /usr/local/poudriere/ports/test/net-mgmt/seafile-server/files/seafile.in /^check_component_running() {$/;" f language:Sh +CHECK_PROCESS_INTERVAL /usr/local/poudriere/ports/test/net-mgmt/seafile-server/files/patch-controller_seafile-controller.c /^ #define CHECK_PROCESS_INTERVAL /;" d language:C++ file: +command_name /usr/local/poudriere/ports/test/net-mgmt/seafile-server/files/patch-controller_seafile-controller.c /^+static char *command_name = NULL;$/;" v language:C++ file: +ctl /usr/local/poudriere/ports/test/net-mgmt/seafile-server/files/patch-controller_seafile-controller.c /^ SeafileController *ctl;$/;" v language:C++ +init_seafile_path /usr/local/poudriere/ports/test/net-mgmt/seafile-server/files/patch-controller_seafile-controller.c /^ init_seafile_path ()$/;" f language:C++ file: +prepare_env /usr/local/poudriere/ports/test/net-mgmt/seafile-server/files/seafile.in /^prepare_env() {$/;" f language:Sh +seafile_restart /usr/local/poudriere/ports/test/net-mgmt/seafile-server/files/seafile.in /^seafile_restart() {$/;" f language:Sh +seafile_start /usr/local/poudriere/ports/test/net-mgmt/seafile-server/files/seafile.in /^seafile_start() {$/;" f language:Sh +seafile_stop /usr/local/poudriere/ports/test/net-mgmt/seafile-server/files/seafile.in /^seafile_stop() {$/;" f language:Sh +test_config /usr/local/poudriere/ports/test/net-mgmt/seafile-server/files/seafile.in /^test_config() {$/;" f language:Sh +validate_already_running /usr/local/poudriere/ports/test/net-mgmt/seafile-server/files/seafile.in /^validate_already_running() {$/;" f language:Sh Property changes on: net-mgmt/seafile-server/files/tags ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/pkg-descr =================================================================== --- net-mgmt/seafile-server/pkg-descr (nonexistent) +++ net-mgmt/seafile-server/pkg-descr (working copy) @@ -0,0 +1,11 @@ +Seafile is an open source cloud storage system with features on privacy +protection and teamwork. Collections of files are called libraries, and +each library can be synced separately. A library can also be encrypted +with a user chosen password. Seafile also allows users to create groups +and easily sharing files into groups. + +This is the core component of Seafile server. It provides RPC to the web +front-end (Seahub) to access files, and provides HTTP APIs to the desktop +clients for syncing files. + +WWW: https://github.com/haiwen/seafile-server Property changes on: net-mgmt/seafile-server/pkg-descr ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile-server/pkg-plist =================================================================== --- net-mgmt/seafile-server/pkg-plist (nonexistent) +++ net-mgmt/seafile-server/pkg-plist (working copy) @@ -0,0 +1,110 @@ +bin/seafile-controller +bin/seaf-server +include/seafile/seafile-error.h +include/seafile/seafile-object.h +include/seafile/seafile-rpc.h +lib/libseafile.a +lib/libseafile.so +lib/libseafile.so.0 +lib/libseafile.so.0.0.0 +libdata/pkgconfig/libseafile.pc +%%SEAFILE_SERVER%%/seaf-cli-wrapper.sh +%%SEAFILE_SERVER%%/check_init_admin.py +%%SEAFILE_SERVER%%/migrate-to-ceph.sh +%%SEAFILE_SERVER%%/reset-admin.sh +%%SEAFILE_SERVER%%/seaf-fuse.sh +%%SEAFILE_SERVER%%/seaf-gc.sh +%%SEAFILE_SERVER%%/seafile.sh +%%SEAFILE_SERVER%%/seafile/bin/seaf-fsck +%%FUSE%%%%SEAFILE_SERVER%%/seafile/bin/seaf-fuse +%%SEAFILE_SERVER%%/seafile/bin/seaf-migrate +%%SEAFILE_SERVER%%/seafile/bin/seaf-server +%%SEAFILE_SERVER%%/seafile/bin/seaf-server-init +%%SEAFILE_SERVER%%/seafile/bin/seafile-controller +%%SEAFILE_SERVER%%/seafile/bin/seafserv-gc +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seafile/__init__.py +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seafile/__init__.pyc +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seafile/__init__.pyo +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seafile/rpcclient.py +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seafile/rpcclient.pyc +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seafile/rpcclient.pyo +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seaserv/__init__.py +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seaserv/__init__.pyc +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seaserv/__init__.pyo +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seaserv/api.py +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seaserv/api.pyc +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seaserv/api.pyo +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seaserv/service.py +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seaserv/service.pyc +%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seaserv/service.pyo +%%SEAFILE_SERVER%%/seafile/share/doc/seafile/seafile-tutorial.doc +%%SEAFILE_SERVER%%/breakpad.py +%%SEAFILE_SERVER%%/seafobj_migrate.py +%%SEAFILE_SERVER%%/seahub.sh +%%SEAFILE_SERVER%%/setup-seafile-mysql.py +%%SEAFILE_SERVER%%/setup-seafile-mysql.sh +%%SEAFILE_SERVER%%/upgrade/add_collate.sh +%%SEAFILE_SERVER%%/upgrade/db_update_1.3_1.4.py +%%SEAFILE_SERVER%%/upgrade/db_update_helper.py +%%SEAFILE_SERVER%%/upgrade/minor-upgrade.sh +%%SEAFILE_SERVER%%/seaf-fsck.sh +%%SEAFILE_SERVER%%/upgrade/fix_mysql_user.py +%%SEAFILE_SERVER%%/upgrade/regenerate_secret_key.sh +%%SEAFILE_SERVER%%/upgrade/sql/1.6.0/mysql/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/1.6.0/sqlite3/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/1.7.0/mysql/seafile.sql +%%SEAFILE_SERVER%%/upgrade/sql/1.7.0/mysql/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/1.7.0/sqlite3/seafile.sql +%%SEAFILE_SERVER%%/upgrade/sql/1.7.0/sqlite3/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/1.8.0/mysql/ccnet.sql +%%SEAFILE_SERVER%%/upgrade/sql/1.8.0/mysql/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/1.8.0/sqlite3/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/2.0.0/mysql/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/2.0.0/sqlite3/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/2.1.0/mysql/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/2.1.0/sqlite3/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/2.2.0/mysql/ccnet.sql +%%SEAFILE_SERVER%%/upgrade/sql/3.0.0/mysql/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/3.0.0/sqlite3/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/3.1.0/mysql/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/3.1.0/sqlite3/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/4.1.0/mysql/ccnet.sql +%%SEAFILE_SERVER%%/upgrade/sql/4.1.0/mysql/seafile.sql +%%SEAFILE_SERVER%%/upgrade/sql/4.1.0/sqlite3/ccnet/groupmgr.sql +%%SEAFILE_SERVER%%/upgrade/sql/4.1.0/sqlite3/seafile.sql +%%SEAFILE_SERVER%%/upgrade/sql/4.2.0/mysql/seafile.sql +%%SEAFILE_SERVER%%/upgrade/sql/4.2.0/mysql/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/4.2.0/sqlite3/seafile.sql +%%SEAFILE_SERVER%%/upgrade/sql/4.2.0/sqlite3/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/4.3.0/mysql/.gitkeep +%%SEAFILE_SERVER%%/upgrade/sql/4.3.0/sqlite3/.gitkeep +%%SEAFILE_SERVER%%/upgrade/sql/4.4.0/mysql/.gitkeep +%%SEAFILE_SERVER%%/upgrade/sql/4.4.0/sqlite3/.gitkeep +%%SEAFILE_SERVER%%/upgrade/upgrade_1.2_1.3.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_1.3_1.4.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_1.4_1.5.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_1.5_1.6.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_1.6_1.7.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_1.7_1.8.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_1.8_2.0.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_2.0_2.1.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_2.1_2.2.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_2.2_3.0.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_3.0_3.1.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_3.1_4.0.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_4.0_4.1.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_4.1_4.2.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_4.2_4.3.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_4.3_4.4.sh +%%SEAFILE_SERVER%%/upgrade/sql/5.0.0/mysql/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/5.0.0/sqlite3/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/5.1.0/mysql/seafile.sql +%%SEAFILE_SERVER%%/upgrade/sql/5.1.0/mysql/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/5.1.0/sqlite3/seafile.sql +%%SEAFILE_SERVER%%/upgrade/sql/5.1.0/sqlite3/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/6.0.0/mysql/seahub.sql +%%SEAFILE_SERVER%%/upgrade/sql/6.0.0/sqlite3/seahub.sql +%%SEAFILE_SERVER%%/upgrade/upgrade_5.1_6.0.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_5.0_5.1.sh +%%SEAFILE_SERVER%%/upgrade/upgrade_4.4_5.0.sh +@dir(%%USERS%%,%%GROUPS%%,755) %%HAIWENDIR%% Property changes on: net-mgmt/seafile-server/pkg-plist ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net-mgmt/seafile/Makefile =================================================================== --- net-mgmt/seafile/Makefile (revision 428465) +++ net-mgmt/seafile/Makefile (working copy) @@ -26,6 +26,8 @@ ${PYTHON_PKGNAMEPREFIX}urllib3>0:net/py-urllib3 \ bash:shells/bash +CONFLICTS= seafile-server-[0-9]* + USE_GITHUB= yes GH_ACCOUNT= haiwen