-
Notifications
You must be signed in to change notification settings - Fork 6
/
ln-install
executable file
·98 lines (70 loc) · 2.7 KB
/
ln-install
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
#!/usr/bin/python
import os, sys
# Simple python script to install mma from tarball
# This should be fixed to be more versatile. Volunteers?
PY3 = sys.version_info[0] >= 3 # set if running python3
# In python3 raw_input() has been renamed input()
if PY3:
raw_input = input
def okay(msg):
print(msg)
a=raw_input(" Press <ENTER> to continue (anything else will terminate): ")
if a:
sys.exit(1)
return
pyMaj=2
pyMin=6
# Before we do anything, make sure we have an up-to-date python.
if not PY3:
if sys.version_info[0] < pyMaj or sys.version_info[1] < pyMin:
print("\nYou need a more current version of Python to run MMA and this install script.")
print("We're looking for something equal or greater than version %s.%s or any 3.x" % \
(pyMaj,pyMin))
print("Current Python version is %s.\n" % sys.version)
sys.exit(0)
# Check to make sure user has root permissions.
print("""
This script will install mma, the standard library and the
python modules using symbolic links to the current directory.
""")
try:
u=os.getuid()
except:
u=1
if u:
okay("""You do not appear to be running this script as 'root' user.
Continuing will probably cause all kinds of strange errors
and a generally unsatisfactory experience. But, we can try...
""")
rootdir = "/usr/local/share"
rootexe = "/usr/local/bin"
dir = rootdir + "/mma"
exe = rootexe + "/mma"
# Check to make sure install directories exist. Offer to create
# ... these might need to be created in Mac OS X
if not os.path.exists(rootdir):
okay("""The directory %s does not exist. Create okay?""" % rootdir)
if os.system("mkdir -p %s" % rootdir):
print("Opps, create failed. Were you root?")
sys.exit(1)
if not os.path.exists(rootexe):
okay("""The directory %s does not exist. Create okay?""" % rootexe)
if os.system("mkdir -p %s" % rootexe):
print("Opps, create failed. Were you root?")
sys.exit(1)
if os.path.exists(dir):
okay("""The directory %s currently exists. Proceeding will overwrite
with a new link. YOU MAY LOSE DATA.""" % dir)
if os.path.exists(exe):
okay("""The file %s currently exists. Proceeding will remove this
file with a new link. YOU MAY LOSE DATA.""" % exe)
okay("""Okay, I'm ready to create the links. I will create 2 links:
- The main distribution and library at %s
- The callable executable at %s
""" % (dir, exe) )
os.system("ln -sf `pwd` %s" % dir)
os.system("ln -sf `pwd`/mma.py %s" % exe)
print("There are some man pages in %s/docs/man that you may wish to install." % dir)
print("Everything seems to be okay. We suggest you first update the database")
print("with the command mma -G.")
print("Have Fun!")