|
#
|
|
# Copyright (C) 2007-2015 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
# NOTE: make sure to update EXTRA_DEPENDS in case of version/release changes!
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=seafile-server
|
|
PKG_VERSION:=4.1.2
|
|
PKG_RELEASE=$(PKG_SOURCE_VERSION)-5
|
|
PKG_LICENSE:=GPL-3.0
|
|
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL:=https://github.com/haiwen/seafile.git
|
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
|
PKG_SOURCE_VERSION:=c0166019c712e2e1d5e532fd5f7401b1b72db6d8
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
|
PKG_FIXUP:=autoreconf
|
|
PKG_INSTALL:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/nls.mk
|
|
|
|
define Package/seafile-server
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
TITLE:=Seafile server
|
|
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
|
|
URL:=http://seafile.com/
|
|
DEPENDS:=+libarchive +libopenssl +glib2 +libsearpc +seafile-ccnet +seafile-seahub \
|
|
+sqlite3-cli +python-mysql +jansson +libevent2 +libevent2-openssl +zlib +libzdb +libsqlite3 \
|
|
+libmysqlclient +libpthread +libuuid \
|
|
+bash +sudo +procps-ng +procps-ng-pkill $(ICONV_DEPENDS)
|
|
EXTRA_DEPENDS:=seafile-ccnet (=4.1.2-a73109f09af4ecc49cdc4c57cdde51b38e15c31a-2), seafile-seahub (=4.1.2-3fb1288f920de03a4e2e6a06b60671ce98971742)
|
|
endef
|
|
|
|
define Package/seafile-server/description
|
|
Open source cloud storage with advanced features on privacy protection and teamwork.
|
|
endef
|
|
|
|
define Package/seafile-server/conffiles
|
|
/etc/config/seafile
|
|
endef
|
|
|
|
CONFIGURE_ARGS += --disable-riak \
|
|
--disable-client \
|
|
--disable-fuse \
|
|
--enable-server \
|
|
--enable-python \
|
|
--disable-static-build \
|
|
--disable-server-pkg \
|
|
--disable-console
|
|
|
|
PKG_BUILD_DEPENDS:=vala/host \
|
|
libsearpc/host \
|
|
libevhtp-1.1
|
|
|
|
TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib -liconv \
|
|
-L$(STAGING_DIR)/usr/lib/mysql -lmysqlclient -lz
|
|
|
|
define Package/seafile-server/install
|
|
$(INSTALL_DIR) $(1)/usr/{bin,lib}
|
|
$(INSTALL_DIR) $(1)/usr/lib/python2.7/site-packages
|
|
$(INSTALL_DIR) $(1)/usr/share/seafile/seafile-server/runtime
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/python2.7/site-packages/seafile/ $(1)/usr/lib/python2.7/site-packages/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/python2.7/site-packages/seaserv/ $(1)/usr/lib/python2.7/site-packages/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libseafile.so* $(1)/usr/lib/
|
|
$(CP) $(PKG_BUILD_DIR)/scripts/seaf-gc.sh $(1)/usr/share/seafile/seafile-server/
|
|
$(CP) $(PKG_BUILD_DIR)/scripts/setup-seafile-mysql.py $(1)/usr/share/seafile/seafile-server/
|
|
$(CP) $(PKG_BUILD_DIR)/scripts/setup-seafile-mysql.sh $(1)/usr/share/seafile/seafile-server/
|
|
$(CP) $(PKG_BUILD_DIR)/scripts/sqlite2mysql.py $(1)/usr/share/seafile/seafile-server/
|
|
$(CP) $(PKG_BUILD_DIR)/scripts/sqlite2mysql.sh $(1)/usr/share/seafile/seafile-server/
|
|
$(CP) $(PKG_BUILD_DIR)/scripts/upgrade/ $(1)/usr/share/seafile/seafile-server/
|
|
$(INSTALL_BIN) ./files/seafile.init $(1)/etc/init.d/seafile
|
|
$(CP) ./files/seafile.conf $(1)/etc/config/seafile
|
|
endef
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/seafile/ $(1)/usr/include/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libseafile.pc $(1)/usr/lib/pkgconfig/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libseafile.so* $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/seafile-server/postinst
|
|
#!/bin/sh
|
|
|
|
if ! group_exists seafile; then
|
|
group_add_next seafile; fi
|
|
|
|
SEAFILE_GID=$$(grep -s '^seafile:' "$${IPKG_INSTROOT}/etc/group" | cut -d: -f3)
|
|
|
|
if ! user_exists seafile; then
|
|
user_add seafile "" "$${SEAFILE_GID}" seafile /usr/share/seafile /bin/sh; fi
|
|
|
|
if [ -z "$${IPKG_INSTROOT}" ]
|
|
then
|
|
chown -R seafile:seafile /usr/share/seafile/
|
|
chmod -R o-rwx /usr/share/seafile/
|
|
|
|
if [ ! -d /usr/share/seafile/seafile-data ]
|
|
then
|
|
echo "*** Installation completed, running configuration script..."
|
|
/etc/init.d/seafile setup
|
|
|
|
if [ $$? -ne 0 ]
|
|
then
|
|
echo
|
|
echo "*** ERROR: Configuration failed. Please fix the issues if any and re-run the script using the command below:"
|
|
echo "*** \"/etc/init.d/seafile setup\""
|
|
fi
|
|
|
|
echo
|
|
echo "*** NOTE: you need to create an admin account before using Seafile."
|
|
echo "*** Please run \"/etc/init.d/seafile create_admin\" to do so."
|
|
else
|
|
echo "*** It seems you are upgrading from an older version."
|
|
echo "*** If so, please run the appropriate upgrade scripts before using the new version of Seafile."
|
|
echo "*** Upgrade scripts are located at \"/usr/share/seafile/seafile-server/upgrade\""
|
|
echo
|
|
echo "*** For more information, please read http://manual.seafile.com/deploy/upgrade.html"
|
|
fi
|
|
else
|
|
cat > "$${IPKG_INSTROOT}/etc/uci-defaults/99_seafile-server" << EOF
|
|
#!/bin/sh
|
|
|
|
chown -R seafile:seafile /usr/share/seafile/
|
|
chmod -R o-rwx /usr/share/seafile/
|
|
exit 0
|
|
EOF
|
|
fi
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,seafile-server))
|