Index: head/net-mgmt/seafile-server/Makefile =================================================================== --- head/net-mgmt/seafile-server/Makefile (revision 509490) +++ head/net-mgmt/seafile-server/Makefile (revision 509491) @@ -1,109 +1,110 @@ # $FreeBSD$ PORTNAME= seafile-server DISTVERSIONPREFIX= v DISTVERSION= ${SEAFILE_VER} DISTVERSIONSUFFIX= -server +PORTREVISION= 1 CATEGORIES= net-mgmt MAINTAINER= ultima@FreeBSD.org 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/libevent \ libuuid.so:misc/e2fsprogs-libuuid \ libjansson.so:devel/jansson \ libonig.so:devel/oniguruma RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}urllib3>0:net/py-urllib3@${PY_FLAVOR} \ bash:shells/bash CONFLICTS= seafile-[0-9]* USES= autoreconf compiler:c11 gnome iconv libarchive libtool localbase mysql \ pathfix pgsql pkgconfig python:2.7 shebangfix sqlite ssl USE_GITHUB= yes GH_ACCOUNT= haiwen USE_GNOME= glib20 USE_RC_SUBR= seafile SHEBANG_FILES= scripts/*.sh scripts/upgrade/*.sh *.sh scripts/build/*.py \ scripts/*.py scripts/upgrade/*.py tools/seafile-admin GNU_CONFIGURE= yes CONFIGURE_ENV= SSL_CFLAGS="${OPENSSLINC}" SSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" PATHFIX_MAKEFILEIN= Makefile.am INSTALL_TARGET= install-strip CPPFLAGS+= -I${LOCALBASE}/include/evhtp SUB_FILES= pkg-message MAKE_JOBS_UNSAFE= yes OPTIONS_DEFINE= FUSE NLS OPTIONS_DEFAULT= FUSE OPTIONS_EXCLUDE_DragonFly= FUSE OPTIONS_SUB= yes FUSE_DESC= Use file system in userspace FUSE_CONFIGURE_ENABLE= fuse FUSE_LIB_DEPENDS= libfuse.so:sysutils/fusefs-libs NLS_USES= gettext post-patch: # Fix P_KTHREAD r295435 ${REINPLACE_CMD} 's/P_KTHREAD/P_KPROC/' ${WRKSRC}/lib/utils.c ${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} -E 's/stat.+\$$/stat -f %Su $$/' ${WRKSRC}/scripts/seafile.sh ${REINPLACE_CMD} 's/%%SEAFILE_USER%%/${USERS:[1]}/ ; s/%%SEAFILE_GROUP%%/${GROUPS:[1]}/' \ ${WRKSRC}/scripts/setup-seafile.sh ${WRKSRC}/scripts/setup-seafile-mysql.py 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 "../${SEABIN}/${SERVPROG}" ${STAGEDIR}${PREFIX}/bin/${SERVPROG} .endfor (cd ${STAGEDIR}${PREFIX}/lib && \ ${COPYTREE_SHARE} ${PYTHON_VERSION} ${STAGEDIR}${PREFIX}/${SEALIB}) @${RM} -rf ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION} \ ${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 && \ ${COPYTREE_SHARE} "sql upgrade/sql" ${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}) makesum-all: .for PORT in net-mgmt/ccnet-server net-mgmt/seafile-server www/py-seafdav www/py-seafobj www/seahub ${MAKE} -C "${PORTSDIR}/${PORT}" makesum .endfor .include "${.CURDIR}/Makefile.include" .include Index: head/net-mgmt/seafile-server/files/patch-scripts_setup-seafile.sh =================================================================== --- head/net-mgmt/seafile-server/files/patch-scripts_setup-seafile.sh (revision 509490) +++ head/net-mgmt/seafile-server/files/patch-scripts_setup-seafile.sh (revision 509491) @@ -1,65 +1,80 @@ ---- scripts/setup-seafile.sh.orig 2018-08-19 23:40:51 UTC +--- scripts/setup-seafile.sh.orig 2019-08-20 19:25:53 UTC +++ scripts/setup-seafile.sh @@ -17,6 +17,8 @@ use_existing_seafile="false" server_manual_http="https://github.com/haiwen/seafile/wiki" +os_bsd=$(uname | grep -cm1 -e BSD -e DragonFly) + function welcome () { echo "-----------------------------------------------------------------" echo "This script will guide you to config and setup your seafile server." -@@ -352,10 +354,17 @@ fi +@@ -343,10 +345,17 @@ fi } function copy_user_manuals() { - src_docs_dir=${INSTALLPATH}/seafile/docs/ + if [ $os_bsd == "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} + if [ $os_bsd == "1" ]; then + chown -R %%SEAFILE_USER%%:%%SEAFILE_GROUP%% "${library_template_dir}" + fi } function parse_params() { -@@ -713,6 +722,13 @@ chmod 0600 "$dest_settings_py" +@@ -662,7 +671,12 @@ function get_seahub_admin_passwd () { + echo "Creating database now, it may take one minute, please wait... " + echo + +-cd ${TOPDIR}/ccnet && mkdir -m 0755 GroupMgr misc OrgMgr PeerMgr && cd - ++if [ $os_bsd == "1" ]; then ++ cd ${TOPDIR}/ccnet && install -d -m 0755 -o %%SEAFILE_USER%% -g %%SEAFILE_GROUP%% \ ++ GroupMgr misc OrgMgr PeerMgr && cd - ++else ++ cd ${TOPDIR}/ccnet && mkdir -m 0755 GroupMgr misc OrgMgr PeerMgr && cd - ++fi + + ccnet_group_db=${TOPDIR}/ccnet/GroupMgr/groupmgr.db + ccnet_group_sql=${INSTALLPATH}/sql/sqlite/groupmgr.sql +@@ -740,6 +754,14 @@ chmod 0600 "$dest_settings_py" chmod 0700 "$default_ccnet_conf_dir" chmod 0700 "$seafile_data_dir" chmod 0700 "$default_conf_dir" +if [ $os_bsd == "1" ]; then -+ chown %%SEAFILE_USER%%:%%SEAFILE_GROUP%% "$dest_settings_py" -+ chown %%SEAFILE_USER%%:%%SEAFILE_GROUP%% "$default_ccnet_conf_dir" ++ for file in "$dest_settings_py" "$default_ccnet_conf_dir" \ ++ "$default_conf_dir" "$seahub_db" "$ccnet_group_db" "$ccnet_config_db" \ ++ "$ccnet_org_db" "$ccnet_user_db"; do ++ chown %%SEAFILE_USER%%:%%SEAFILE_GROUP%% "$file" ++ done + chown -R %%SEAFILE_USER%%:%%SEAFILE_GROUP%% "$seafile_data_dir" -+ chown %%SEAFILE_USER%%:%%SEAFILE_GROUP%% "$default_conf_dir" -+ chown %%SEAFILE_USER%%:%%SEAFILE_GROUP%% "$seahub_db" +fi # ------------------------------------------- # copy user manuals to library template -@@ -729,9 +745,17 @@ echo +@@ -756,9 +778,17 @@ echo echo "-----------------------------------------------------------------" echo "Your seafile server configuration has been completed successfully." echo "-----------------------------------------------------------------" -echo -echo "run seafile server: ./seafile.sh { start | stop | restart }" -echo "run seahub server: ./seahub.sh { start | stop | restart }" +echo +if [ $os_bsd == "1" ]; then + echo "run seafile server: sysrc seafile_enable=YES" + echo " service seafile { start | stop | restart }" + echo "run seahub server: sysrc seahub_enable=YES" + echo " service seahub { start | stop | restart }" + echo "run reset-admin: ./reset-admin.sh" +else + echo "run seafile server: ./seafile.sh { start | stop | restart }" + echo "run seahub server: ./seahub.sh { start | stop | restart }" +fi echo echo "-----------------------------------------------------------------" echo "If the server is behind a firewall, remember to open these tcp ports:"