forked from felipegiacomelli/LibraryInstaller
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPackages.py
More file actions
48 lines (41 loc) · 1.41 KB
/
Copy pathPackages.py
File metadata and controls
48 lines (41 loc) · 1.41 KB
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
import os
import subprocess
packages = []
packages.append("gcc")
packages.append("gcc-fortran")
packages.append("make")
packages.append("cmake")
packages.append("python-requests")
packages.append("bison")
packages.append("flex")
packages.append("diffutils")
packages.append("dos2unix")
packages.append("tcl")
packages.append("tk")
packages.append("valgrind")
packages.append("libfabric")
def installSystemPackages(rootBuildDirectory):
if not os.path.exists(rootBuildDirectory):
os.makedirs(rootBuildDirectory)
logFile = open("%s/packages.log" % rootBuildDirectory, "w")
logFile.write("\n")
isPackageInstalled = []
for package in packages:
child = subprocess.Popen(["sh", "-c", "pacman -Qi %s 2>>%s" % (package, "/dev/null")], stdout=logFile)
child.wait()
if child.returncode == 1:
isPackageInstalled.append(False)
else:
isPackageInstalled.append(True)
print("%s%s%s" % ("\033[1;35m", "packages", "\033[0m"))
if False in isPackageInstalled:
print("\tMust install packages")
subprocess.call(["sh", "-c", "sudo pacman -Syu --noconfirm"])
else:
print("\tAll packages are already installed")
logFile.close()
return
for package in packages:
subprocess.call(["sh", "-c", "sudo pacman -S --noconfirm --needed %s 2>>%s >> %s" % (package, "/dev/null", "/dev/null")])
logFile.close()
return