forked from RedisJSON/RedisJSON
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsystem-setup.py
executable file
·67 lines (52 loc) · 2.15 KB
/
system-setup.py
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
#!/usr/bin/env python3
import sys
import os
import argparse
HERE = os.path.abspath(os.path.dirname(__file__))
ROOT = os.path.abspath(os.path.join(HERE, ".."))
READIES = os.path.join(ROOT, "deps/readies")
sys.path.insert(0, READIES)
import paella
#----------------------------------------------------------------------------------------------
class RedisJSONSetup(paella.Setup):
def __init__(self, args):
paella.Setup.__init__(self, args.nop)
def common_first(self):
self.install_downloaders()
self.run("%s/bin/enable-utf8" % READIES, sudo=self.os != 'macos')
self.install("git unzip rsync")
if self.osnick == 'ol8':
self.install("tar")
self.run("%s/bin/getclang --modern" % READIES)
self.run("%s/bin/getrust" % READIES)
self.run("%s/bin/getcmake --usr" % READIES)
def debian_compat(self):
self.install("python3-dev")
self.run("%s/bin/getgcc" % READIES)
def redhat_compat(self):
self.install("redhat-lsb-core")
self.install("which")
self.run("%s/bin/getgcc --modern" % READIES)
if not self.platform.is_arm():
self.install_linux_gnu_tar()
def fedora(self):
self.run("%s/bin/getgcc" % READIES)
def macos(self):
self.install_gnu_utils()
self.install("binutils")
# self.run("%s/bin/getgcc" % READIES)
self.run("%s/bin/getclang --modern" % READIES)
def common_last(self):
if self.dist != "arch":
self.install("lcov")
else:
self.install("lcov-git", aur=True)
self.run("{PYTHON} {READIES}/bin/getrmpytools --reinstall --modern".format(PYTHON=self.python, READIES=READIES))
self.pip_install("-r %s/tests/pytest/requirements.txt" % ROOT)
self.run("%s/bin/getaws" % READIES)
self.run("NO_PY2=1 %s/bin/getpudb" % READIES)
#----------------------------------------------------------------------------------------------
parser = argparse.ArgumentParser(description='Set up system for build.')
parser.add_argument('-n', '--nop', action="store_true", help='no operation')
args = parser.parse_args()
RedisJSONSetup(args).setup()