diff options
author | xming <xmingske@gmail.com> | 2014-10-28 12:04:35 +0000 |
---|---|---|
committer | Carlo Landmeter <clandmeter@gmail.com> | 2014-10-28 16:07:22 +0100 |
commit | 14d4216c926ef89f1c4ae5f50d17f2350f451035 (patch) | |
tree | dcbfde6241286ccec9f3a6eedfa2d2f47daffe49 | |
parent | 0f6a83529742564e73ffc8cac13d5b159805a2e0 (diff) | |
download | aports-14d4216c926ef89f1c4ae5f50d17f2350f451035.tar.bz2 aports-14d4216c926ef89f1c4ae5f50d17f2350f451035.tar.xz |
testing/seafile: new aport
Cloud storage system with advanced support for file syncing, privacy protection and teamwork
https://github.com/haiwen/seafile/
-rw-r--r-- | testing/seafile/APKBUILD | 106 | ||||
-rw-r--r-- | testing/seafile/seafile-controller.patch | 37 | ||||
-rw-r--r-- | testing/seafile/seafile-scripts.patch | 103 | ||||
-rw-r--r-- | testing/seafile/seafile-server.post-install | 9 | ||||
-rw-r--r-- | testing/seafile/seafile-server.pre-install | 7 | ||||
-rw-r--r-- | testing/seafile/seafile.confd | 4 | ||||
-rw-r--r-- | testing/seafile/seafile.initd | 16 |
7 files changed, 282 insertions, 0 deletions
diff --git a/testing/seafile/APKBUILD b/testing/seafile/APKBUILD new file mode 100644 index 0000000000..2b48214936 --- /dev/null +++ b/testing/seafile/APKBUILD @@ -0,0 +1,106 @@ +# Contributor: <xmingske@gmail.com> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=seafile +pkgver=3.1.7 +pkgrel=0 +pkgdesc="Cloud storage system with advanced support for file syncing, privacy protection and teamwork" +url="https://github.com/haiwen/seafile/" +arch="all" +license="GPL3" +makedepends="autoconf automake bash ccnet-dev curl-dev fuse-dev glib-dev intltool jansson-dev libarchive-dev + libevent-dev libevhtp libsearpc-dev libtool libzdb-dev openssl-dev sqlite-dev util-linux-dev vala" +depends="bash ${pkgname}-common" +#depends="bash py-dateutil py-mako py-simplejson py-pillow py-pip py-virtualenv py-six py-$pkgname +# py-django1.5 py-gunicorn py-chardet py-django-djblets py-ccnet py-libsearpc $pkgname-common" +source="$pkgname-$pkgver.tar.gz::https://github.com/haiwen/seafile/archive/v${pkgver}-testing.tar.gz + seafile-controller.patch seafile-scripts.patch seafile.initd seafile.confd" +subpackages="$pkgname-dev py-$pkgname:py $pkgname-server $pkgname-common" +install="seafile-server.pre-install seafile-server.post-install" + +_builddir="${srcdir}/${pkgname}-${pkgver}-testing" + +prepare() { + local pf + cd "${_builddir}" + for pf in $source; do + case $pf in + *.patch) msg $pf; patch -p1 -i "$srcdir"/${pf} || return 1;; + esac + done +} + +build() { + cd "${_builddir}" + ./autogen.sh + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-server \ + --enable-python \ + --enable-fuse \ + --enable-client \ + --enable-console + make || return 1 +} + +package() { + cd "${_builddir}" + make DESTDIR="${pkgdir}" install || return 1 + rm "${pkgdir}"/usr/lib/libseafile.la || return 1 +} + +py() { + arch="noarch" + cd "$_builddir" + pkgdesc="$pkgname python bindings" + install -d "$subpkgdir"/usr/lib || return 1 + mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/ || return 1 +} + +common() { + mkdir -p "${subpkgdir}"/usr/bin || return 1 + mkdir -p "${subpkgdir}"/usr/lib || return 1 + mv "${pkgdir}"/usr/bin/seafile "${subpkgdir}"/usr/bin + mv "${pkgdir}"/usr/lib/libseafile.so.0* "${subpkgdir}"/usr/lib +} + +server() { + mkdir -p "${subpkgdir}"/usr/bin + for b in "${pkgdir}"/usr/bin/*; do + if [[ "$b" != "${pkgdir}/usr/bin/seaf-cli" ]] && \ + [[ "$b" != "${pkgdir}/usr/bin/seaf-daemon" ]] && \ + [[ "$b" != "${pkgdir}/usr/bin/seafile" ]]; then + mv "$b" "${subpkgdir}/usr/bin" || return 1 + fi + done + mkdir -m 755 -p "${subpkgdir}"/usr/share/seafile || return 1 + cp -ar "${_builddir}"/scripts "${subpkgdir}"/usr/share/seafile || return 1 + install -D -m0644 "${srcdir}"/seafile.confd "${subpkgdir}"/etc/conf.d/seafile \ + || return 1 + install -D -m0755 "${srcdir}"/seafile.initd "${subpkgdir}"/etc/init.d/seafile \ + || return 1 + + #make dirs for default instance + SEAFILE_HOME="${subpkgdir}"/var/lib/seafile + SEAFILE_DEFAULT=$SEAFILE_HOME/default + mkdir -m 755 -p $SEAFILE_DEFAULT 2>/dev/null + chown seafile:seafile $SEAFILE_DEFAULT + +} +md5sums="eebc7b0c9d1d769ad154096d333a3ee8 seafile-3.1.7.tar.gz +3f2b5457441871a4922d873e2b386711 seafile-controller.patch +5d5217a4616ba9d57b56f0b61797b419 seafile-scripts.patch +f645c6008de431ab968a9ba5ff68b519 seafile.initd +cc33cc3ef3b04415a7b1d160e6b64e2b seafile.confd" +sha256sums="f2557c7541d7674fa2e884f8906d19b3fc1d99acac03d7549e1e09db282aed77 seafile-3.1.7.tar.gz +03fa3d43bcaed4bf720e7cbec5ea0fe9e1d8d90987bc8b69a045dafe10e1c27a seafile-controller.patch +42fc1ed64c0a3cac0c5f74f2c269d96eba80e8b7a9dbff6332726342b576edf6 seafile-scripts.patch +6383b7ed42a0be8edcb7b19ab02c28ee6a2fb1a35c34c36f88cacf0c398f603e seafile.initd +a78183173ce054a245878d309dda9bff7981193d2b0594d299030e403e857952 seafile.confd" +sha512sums="d9aa4522658bb65328e05f96ca944327b4991a4a1a7468d0c27de721813dba758292dece04ac06682041850491b30d1cab2fb79db0c12df5f7020b996bd810e5 seafile-3.1.7.tar.gz +6b70df847d2d3f1fbd856f220dd5686d04c1ee4810c60d3bb28c80e85f508d3b448a0e6cfb9a83a43876285968ec917867838ef31c00cfb431a8e1e953241246 seafile-controller.patch +9af26dbbc62c2e135d1ecb29243de658524d3cdbcfdfbaafcb30e137d0230792a7466b7b01a449a113ddf87f89acdceaf8c06192dd2ee28b3bbd18e9973a7b0d seafile-scripts.patch +5af7a3fa5d26ade0a12ae3997a84d591d0daa08f84d0e36029f1a887e15202f758e3dcb82a284ea62cce9989a1b5b02a43371e0f9dc9a7e3c1947ec84304590a seafile.initd +051ccc065a3b7abc7c802e00e364da1c3f689e133c4ba37385dbff97cfe8ad4b490cf53778344d129213fb0238258690a47f5e737387bce1368db59d22ee8504 seafile.confd" diff --git a/testing/seafile/seafile-controller.patch b/testing/seafile/seafile-controller.patch new file mode 100644 index 0000000000..438064d5f3 --- /dev/null +++ b/testing/seafile/seafile-controller.patch @@ -0,0 +1,37 @@ +--- a/controller/seafile-controller.c 2014-01-16 19:56:24.183523103 +0100 ++++ b/controller/seafile-controller.c 2014-01-16 19:55:57.123523652 +0100 +@@ -281,7 +281,7 @@ + tmp = g_path_get_dirname (bin_dir); + installpath = g_path_get_dirname (tmp); + +- topdir = g_path_get_dirname (installpath); ++ // topdir = g_path_get_dirname (installpath); + + g_free (exectuble); + g_free (tmp); +@@ -643,6 +643,7 @@ + return -1; + } + ++ topdir = g_path_get_dirname(config_dir); + ctl->client = ccnet_client_new (); + ctl->sync_client = ccnet_client_new (); + +@@ -657,14 +658,14 @@ + } + + if (logdir == NULL) { +- char *topdir = g_path_get_dirname(config_dir); ++ //char *topdir = g_path_get_dirname(config_dir); + logdir = g_build_filename (topdir, "logs", NULL); + if (checkdir_with_mkdir(logdir) < 0) { + fprintf (stderr, "failed to create log folder \"%s\": %s\n", + logdir, strerror(errno)); + return -1; + } +- g_free (topdir); ++ //g_free (topdir); + } + + ctl->config_dir = config_dir; + diff --git a/testing/seafile/seafile-scripts.patch b/testing/seafile/seafile-scripts.patch new file mode 100644 index 0000000000..f6e8978bb5 --- /dev/null +++ b/testing/seafile/seafile-scripts.patch @@ -0,0 +1,103 @@ +diff --git a/scripts/seaf-fuse.sh b/scripts/seaf-fuse.sh +index 463002e..92ef285 100755 +--- a/scripts/seaf-fuse.sh ++++ b/scripts/seaf-fuse.sh +@@ -6,10 +6,7 @@ SCRIPT=$(readlink -f "$0") + INSTALLPATH=$(dirname "${SCRIPT}") + TOPDIR=$(dirname "${INSTALLPATH}") + default_ccnet_conf_dir=${TOPDIR}/ccnet +-seaf_fuse=${INSTALLPATH}/seafile/bin/seaf-fuse +- +-export PATH=${INSTALLPATH}/seafile/bin:$PATH +-export SEAFILE_LD_LIBRARY_PATH=${INSTALLPATH}/seafile/lib/:${INSTALLPATH}/seafile/lib64:${LD_LIBRARY_PATH} ++seaf_fuse=/usr/bin/seaf-fuse + + script_name=$0 + function usage () { +diff --git a/scripts/seaf-gc.sh b/scripts/seaf-gc.sh +index 489961a..605fabd 100755 +--- a/scripts/seaf-gc.sh ++++ b/scripts/seaf-gc.sh +@@ -6,12 +6,9 @@ SCRIPT=$(readlink -f "$0") + INSTALLPATH=$(dirname "${SCRIPT}") + TOPDIR=$(dirname "${INSTALLPATH}") + default_ccnet_conf_dir=${TOPDIR}/ccnet +-seaf_gc=${INSTALLPATH}/seafile/bin/seafserv-gc ++seaf_gc=/usr/bin/seafserv-gc + seaf_gc_opts="" + +-export PATH=${INSTALLPATH}/seafile/bin:$PATH +-export SEAFILE_LD_LIBRARY_PATH=${INSTALLPATH}/seafile/lib/:${INSTALLPATH}/seafile/lib64:${LD_LIBRARY_PATH} +- + script_name=$0 + function usage () { + echo "usage : " +diff --git a/scripts/seafile.sh b/scripts/seafile.sh +index e04d65f..9ca171c 100755 +--- a/scripts/seafile.sh ++++ b/scripts/seafile.sh +@@ -17,12 +17,7 @@ INSTALLPATH=$(dirname "${SCRIPT}") + TOPDIR=$(dirname "${INSTALLPATH}") + default_ccnet_conf_dir=${TOPDIR}/ccnet + ccnet_pidfile=${INSTALLPATH}/runtime/ccnet.pid +-seaf_controller="${INSTALLPATH}/seafile/bin/seafile-controller" +- +- +-export PATH=${INSTALLPATH}/seafile/bin:$PATH +-export ORIG_LD_LIBRARY_PATH=${LD_LIBRARY_PATH} +-export SEAFILE_LD_LIBRARY_PATH=${INSTALLPATH}/seafile/lib/:${INSTALLPATH}/seafile/lib64:${LD_LIBRARY_PATH} ++seaf_controller="/usr/bin/seafile-controller" + + script_name=$0 + function usage () { +@@ -102,7 +97,7 @@ function start_seafile_server () { + + echo "Starting seafile server, please wait ..." + +- LD_LIBRARY_PATH=$SEAFILE_LD_LIBRARY_PATH ${seaf_controller} -c "${default_ccnet_conf_dir}" -d "${seafile_data_dir}" ++ ${seaf_controller} -c "${default_ccnet_conf_dir}" -d "${seafile_data_dir}" + + sleep 3 + +diff --git a/scripts/setup-seafile.sh b/scripts/setup-seafile.sh +index f7c181c..e88fbce 100755 +--- a/scripts/setup-seafile.sh ++++ b/scripts/setup-seafile.sh +@@ -8,8 +8,6 @@ default_seafile_data_dir=${TOPDIR}/seafile-data + default_seahub_db=${TOPDIR}/seahub.db + default_conf_dir=${TOPDIR}/conf + +-export SEAFILE_LD_LIBRARY_PATH=${INSTALLPATH}/seafile/lib/:${INSTALLPATH}/seafile/lib64:${LD_LIBRARY_PATH} +- + use_existing_ccnet="false" + use_existing_seafile="false" + +@@ -395,8 +393,8 @@ echo + echo "If you are OK with the configuration, press [ENTER] to continue." + read dummy + +-ccnet_init=${INSTALLPATH}/seafile/bin/ccnet-init +-seaf_server_init=${INSTALLPATH}/seafile/bin/seaf-server-init ++ccnet_init=/usr/bin/ccnet-init ++seaf_server_init=/usr/bin/seaf-server-init + + # ------------------------------------------- + # Create ccnet conf +@@ -404,7 +402,7 @@ seaf_server_init=${INSTALLPATH}/seafile/bin/seaf-server-init + if [[ "${use_existing_ccnet}" != "true" ]]; then + echo "Generating ccnet configuration in ${default_ccnet_conf_dir}..." + echo +- if ! LD_LIBRARY_PATH=$SEAFILE_LD_LIBRARY_PATH "${ccnet_init}" -c "${default_ccnet_conf_dir}" --name "${server_name}" --port "${server_port}" --host "${ip_or_domain}"; then ++ if ! "${ccnet_init}" -c "${default_ccnet_conf_dir}" --name "${server_name}" --port "${server_port}" --host "${ip_or_domain}"; then + err_and_quit; + fi + +@@ -419,7 +417,7 @@ sleep 0.5 + if [[ "${use_existing_seafile}" != "true" ]]; then + echo "Generating seafile configuration in ${seafile_data_dir} ..." + echo +- if ! LD_LIBRARY_PATH=$SEAFILE_LD_LIBRARY_PATH ${seaf_server_init} --seafile-dir "${seafile_data_dir}" \ ++ if ! ${seaf_server_init} --seafile-dir "${seafile_data_dir}" \ + --port ${seafile_server_port} --fileserver-port ${fileserver_port}; then + + echo "Failed to generate seafile configuration" diff --git a/testing/seafile/seafile-server.post-install b/testing/seafile/seafile-server.post-install new file mode 100644 index 0000000000..4e46bd8da5 --- /dev/null +++ b/testing/seafile/seafile-server.post-install @@ -0,0 +1,9 @@ +#!/bin/sh + +SEAFILE_HOME=/var/lib/seafile +SEAFILE_DEFAULT=$SEAFILE_HOME/default + +if [[ ! -d $SEAFILE_DEFAULT/scripts ]]; then + cd $SEAFILE_DEFAULT + cp -ar /usr/share/seafile/scripts . +fi
\ No newline at end of file diff --git a/testing/seafile/seafile-server.pre-install b/testing/seafile/seafile-server.pre-install new file mode 100644 index 0000000000..173e73a35b --- /dev/null +++ b/testing/seafile/seafile-server.pre-install @@ -0,0 +1,7 @@ +#!/bin/sh + +SEAFILE_HOME=/var/lib/seafile + +addgroup -S -g 800 seafile 2>/dev/null +adduser -h $SEAFILE_HOME -s /bin/sh -G seafile -g seafile -u 800 -D seafile 2>/dev/null +exit 0 diff --git a/testing/seafile/seafile.confd b/testing/seafile/seafile.confd new file mode 100644 index 0000000000..b169b0e55f --- /dev/null +++ b/testing/seafile/seafile.confd @@ -0,0 +1,4 @@ +instance="default" + +seafile_user="seafile" +seafile_group="seafile" diff --git a/testing/seafile/seafile.initd b/testing/seafile/seafile.initd new file mode 100644 index 0000000000..ba13650233 --- /dev/null +++ b/testing/seafile/seafile.initd @@ -0,0 +1,16 @@ +#!/sbin/runscript + +depend() { + need net +} + +start() { + ebegin "Starting Seafile $instance instance" + start-stop-daemon --chdir /var/lib/seafile/$instance --user $seafile_user \ + --group $seafile_group /usr/bin/seafile-admin start $seafile_opts +} + +stop() { + ebegin "Stopping Seafile $instance instance" + start-stop-daemon --chdir /var/lib/seafile/$instance /usr/bin/seafile-admin stop +} |