blob: 949345d8abbcf4a5bc6f4ec4c011af3c96345e9f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
#
# 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))
|