forked from haiwen/seafile-rpi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build-server.py.patch
107 lines (95 loc) · 4.04 KB
/
build-server.py.patch
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
diff --git a/scripts/build/build-server.py b/scripts/build/build-server.py
index a479b6c75..ad60b4d46 100755
--- a/scripts/build/build-server.py
+++ b/scripts/build/build-server.py
@@ -25,6 +25,7 @@ import subprocess
import optparse
import atexit
import platform
+import distro
####################
### Global variables
@@ -539,6 +540,15 @@ def copy_user_manuals():
for path in glob.glob(src_pattern):
must_copy(path, dst_dir)
+# copy go_fileserver "fileserver" to directory seafile-server/seafile/bin
+def copy_go_fileserver():
+ builddir = conf[CONF_BUILDDIR]
+ srcdir = conf[CONF_SRCDIR]
+ src_go_fileserver = os.path.join(srcdir, 'fileserver')
+ dst_bin_dir = os.path.join(builddir, 'seafile-server', 'seafile', 'bin')
+
+ must_copy(src_go_fileserver, dst_bin_dir)
+
def copy_seafdav():
dst_dir = os.path.join(conf[CONF_BUILDDIR], 'seafile-server', 'seahub', 'thirdpart')
tarball = os.path.join(conf[CONF_SRCDIR], 'seafdav.tar.gz')
@@ -556,7 +566,8 @@ def copy_scripts_and_libs():
'''
builddir = conf[CONF_BUILDDIR]
- scripts_srcdir = os.path.join(builddir, Seafile().projdir, 'scripts')
+ src_seahubdir = Seahub().projdir
+ scripts_srcdir = os.path.join(builddir, src_seahubdir, 'scripts')
serverdir = os.path.join(builddir, 'seafile-server')
must_copy(os.path.join(scripts_srcdir, 'setup-seafile.sh'),
@@ -589,7 +600,7 @@ def copy_scripts_and_libs():
error('failed to copy upgrade scripts: %s' % e)
# copy sql scripts
- sql_scriptsdir = os.path.join(scripts_srcdir, 'sql')
+ sql_scriptsdir = os.path.join(Seafile().projdir, 'scripts', 'sql')
dst_sql_scriptsdir = os.path.join(serverdir, 'sql')
try:
shutil.copytree(sql_scriptsdir, dst_sql_scriptsdir)
@@ -603,7 +614,6 @@ def copy_scripts_and_libs():
runtimedir)
# move seahub to seafile-server/seahub
- src_seahubdir = Seahub().projdir
dst_seahubdir = os.path.join(serverdir, 'seahub')
try:
shutil.move(src_seahubdir, dst_seahubdir)
@@ -622,6 +632,9 @@ def copy_scripts_and_libs():
copy_shared_libs()
copy_user_manuals()
+ # copy go_fileserver
+ copy_go_fileserver()
+
def copy_pdf2htmlex():
'''Copy pdf2htmlEX exectuable and its dependent libs'''
pdf2htmlEX_executable = find_in_path('pdf2htmlEX')
@@ -785,10 +798,14 @@ def create_tarball(tarball_name):
excludes_list = [ '--exclude=%s' % pattern for pattern in ignored_patterns ]
excludes = ' '.join(excludes_list)
- tar_cmd = 'tar czf %(tarball_name)s %(versioned_serverdir)s %(excludes)s' \
+ # tar will copy the content the directory python3.[0-9]+/ to python3/
+ transform = '--transform=\'s,python3\.[0-9]\+/,python3/,\''
+
+ tar_cmd = 'tar czf %(tarball_name)s %(transform)s %(versioned_serverdir)s %(excludes)s' \
% dict(tarball_name=tarball_name,
versioned_serverdir=versioned_serverdir,
- excludes=excludes)
+ excludes=excludes,
+ transform=transform)
if run(tar_cmd) < 0:
error('failed to generate the tarball')
@@ -806,17 +823,20 @@ def gen_tarball():
# 32-bit: seafile-server_1.2.2_i386.tar.gz
version = conf[CONF_VERSION]
arch = os.uname()[-1].replace('_', '-')
- if 'arm' in platform.machine():
- arch = 'pi'
+ if 'arm' in platform.machine() or 'aarch64' in platform.machine():
+ arch = platform.machine()
elif arch != 'x86-64':
arch = 'i386'
+ # determine linux distribution
+ distribution = distro.codename().replace(' ', '-').lower()
+
dbg = ''
if conf[CONF_NO_STRIP]:
dbg = '.dbg'
- tarball_name = 'seafile-server_%(version)s_%(arch)s%(dbg)s.tar.gz' \
- % dict(version=version, arch=arch, dbg=dbg)
+ tarball_name = 'seafile-server-%(version)s-%(distribution)s-%(arch)s%(dbg)s.tar.gz' \
+ % dict(version=version, distribution=distribution, arch=arch, dbg=dbg)
dst_tarball = os.path.join(conf[CONF_OUTPUTDIR], tarball_name)
# generate the tarball