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
|
--- setup.py.orig 2018-02-02 16:50:17 UTC
+++ setup.py
@@ -102,7 +102,12 @@ class P4APIFtp:
elif system == "FreeBSD":
platform_str += "freebsd"
- release = uname.release
+ if sys.version_info.major == 3:
+ release = uname.release
+ elif sys.version_info.major == 2:
+ release = uname[2]
+ else:
+ raise Exception("Unknown python version %s" % sys.version)
value = int(''.join(itertools.takewhile(lambda s: s.isdigit(), release)))
@@ -217,6 +222,8 @@ class VersionInfo:
verFile = os.path.join(p4ApiDir, "sample", "Version")
if not os.path.exists(verFile):
verFile = os.path.join(p4ApiDir, "Version")
+ if not os.path.exists(verFile):
+ verFile = os.path.join(p4ApiDir, "share", "examples", "p4api", "Version")
input = open(verFile)
for line in input:
for pattern, handler in self.patterns:
@@ -398,9 +405,16 @@ class PlatformInfo:
arch = self.architecture(unameOut[4])
elif unameOut[0] == 'FreeBSD':
unix = "FREEBSD"
- release = unameOut[2][0]
- if release == '5':
- release += unameOut[2][2]
+ if sys.version_info.major == 3:
+ release = unameOut.release.split(".")[0]
+ if release == '5':
+ release += unameOut.release.split(".")[1]
+ elif sys.version_info.major == 2:
+ release = unameOut[2].split(".")[0]
+ if release == '5':
+ release += unameOut[2].split(".")[1]
+ else:
+ raise Exception("Unknown python version %s" % sys.version)
arch = self.architecture(unameOut[4])
elif unameOut[0] == 'CYGWIN_NT-5.1':
@@ -475,8 +489,16 @@ def do_setup(p4_api_dir, ssl):
else:
print ("API Release %s.%s" % (ryear, rversion))
- inc_path = [p4_api_dir, os.path.join(p4_api_dir, "include", "p4")]
- lib_path = [p4_api_dir, os.path.join(p4_api_dir, "lib")]
+ inc_dir = os.path.join(p4_api_dir, "include", "p4")
+ if not os.path.exists(inc_dir):
+ inc_dir = os.path.join(p4_api_dir, "include", "perforce")
+
+ lib_dir = os.path.join(p4_api_dir, "lib", "perforce")
+ if not os.path.exists(lib_dir):
+ lib_dir = os.path.join(p4_api_dir, "lib")
+
+ inc_path = [p4_api_dir, inc_dir]
+ lib_path = [p4_api_dir, lib_dir]
if ssl:
lib_path.append( ssl )
@@ -608,7 +630,7 @@ if __name__ == "__main__":
if os.path.exists(distdir):
shutil.rmtree(distdir, False, force_remove_file)
- p4_api_dir = get_api_dir()
+ p4_api_dir = "%%LOCALBASE%%"
ssl = None
if '--ssl' in sys.argv:
|