File: ln-install

package info (click to toggle)
mma 21.09-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 51,828 kB
  • sloc: python: 16,751; sh: 26; makefile: 18; perl: 12
file content (98 lines) | stat: -rwxr-xr-x 2,767 bytes parent folder | download
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!")