Skip to content

Commit c73693e

Browse files
authored
tools: Machine audit - Refine checked packages (adoptium#4341)
* tools: Machine audit - Refine checked packages * Add xlc paths * Add MSVS build packages * Update list of packages * correct java7 path windows * typo * update java7 path
1 parent 383ee04 commit c73693e

6 files changed

Lines changed: 315 additions & 73 deletions

File tree

ansible/machine_audit/packages/aix

Lines changed: 84 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,90 @@
11
{
22
"build_packages": [
3-
"gcc",
4-
"g++",
5-
"xlc",
6-
"xlC",
7-
"make",
8-
"gmake",
9-
"cmake",
10-
"autoconf",
11-
"automake",
12-
"libtool",
13-
"git",
14-
"ant"
3+
{
4+
"name": "JDK8",
5+
"path": "/usr/java8_64/bin/java"
6+
},
7+
{
8+
"name": "JDK10",
9+
"path": "/usr/java10_64/bin/java"
10+
},
11+
{
12+
"name": "JDK11",
13+
"path": "/usr/java11_64/bin/java"
14+
},
15+
{
16+
"name": "JDK17",
17+
"path": "/usr/java17_64/bin/java"
18+
},
19+
{
20+
"name": "JDK21",
21+
"path": "/usr/java21_64/bin/java"
22+
},
23+
{
24+
"name": "JDK24",
25+
"path": "/usr/java24_64/bin/java"
26+
},
27+
{
28+
"name": "JDK25",
29+
"path": "/usr/java25_64/bin/java"
30+
},
31+
{
32+
"name": "xlc13",
33+
"path": "/opt/IBM/xlc/13.1.3/bin/xlc"
34+
},
35+
{
36+
"name": "xlc13++",
37+
"path": "/opt/IBM/xlC/13.1.3/bin/xlc++"
38+
},
39+
{
40+
"name": "xlc16",
41+
"path": "/opt/IBM/xlc/16.1.0/bin/xlc"
42+
},
43+
{
44+
"name": "xlc16++",
45+
"path": "/opt/IBM/xlC/16.1.0/bin/xlc++"
46+
},
47+
{
48+
"name": "make",
49+
"path": "default"
50+
},
51+
{
52+
"name": "gmake",
53+
"path": "default"
54+
},
55+
{
56+
"name": "cmake",
57+
"path": "default"
58+
},
59+
{
60+
"name": "autoconf",
61+
"path": "default"
62+
},
63+
{
64+
"name": "automake",
65+
"path": "default"
66+
}
1567
],
1668
"test_packages": [
17-
"python3",
18-
"python",
19-
"perl",
20-
"ksh",
21-
"bash",
22-
"curl",
23-
"wget",
24-
"tar",
25-
"gzip"
69+
{
70+
"name": "ant",
71+
"path": "default"
72+
},
73+
{
74+
"name": "perl",
75+
"path": "default"
76+
},
77+
{
78+
"name": "git",
79+
"path": "default"
80+
},
81+
{
82+
"name": "curl",
83+
"path": "default"
84+
},
85+
{
86+
"name": "wget",
87+
"path": "default"
88+
}
2689
]
2790
}
Lines changed: 76 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,82 @@
11
{
22
"build_packages": [
3-
"gcc",
4-
"g++",
5-
"make",
6-
"cmake",
7-
"autoconf",
8-
"automake",
9-
"libtool",
10-
"pkg-config",
11-
"git",
12-
"ant"
3+
{
4+
"name": "JDK8",
5+
"path": "/usr/lib/jvm/jdk8/bin/java"
6+
},
7+
{
8+
"name": "JDK10",
9+
"path": "/usr/lib/jvm/jdk10/bin/java"
10+
},
11+
{
12+
"name": "JDK11",
13+
"path": "/usr/lib/jvm/jdk11/bin/java"
14+
},
15+
{
16+
"name": "JDK17",
17+
"path": "/usr/lib/jvm/jdk17/bin/java"
18+
},
19+
{
20+
"name": "JDK21",
21+
"path": "/usr/lib/jvm/jdk21/bin/java"
22+
},
23+
{
24+
"name": "JDK24",
25+
"path": "/usr/lib/jvm/jdk24/bin/java"
26+
},
27+
{
28+
"name": "JDK25",
29+
"path": "/usr/lib/jvm/jdk25/bin/java"
30+
},
31+
{
32+
"name": "gcc",
33+
"path": "default"
34+
},
35+
{
36+
"name": "g++",
37+
"path": "default"
38+
},
39+
{
40+
"name": "make",
41+
"path": "default"
42+
},
43+
{
44+
"name": "cmake",
45+
"path": "default"
46+
},
47+
{
48+
"name": "autoconf",
49+
"path": "default"
50+
},
51+
{
52+
"name": "docker",
53+
"path": "default"
54+
},
55+
{
56+
"name": "automake",
57+
"path": "default"
58+
}
1359
],
1460
"test_packages": [
15-
"python3",
16-
"python",
17-
"perl",
18-
"curl",
19-
"wget",
20-
"tar",
21-
"unzip",
22-
"zip",
23-
"gzip",
24-
"xz"
61+
{
62+
"name": "perl",
63+
"path": "default"
64+
},
65+
{
66+
"name": "curl",
67+
"path": "default"
68+
},
69+
{
70+
"name": "git",
71+
"path": "default"
72+
},
73+
{
74+
"name": "ant",
75+
"path": "default"
76+
},
77+
{
78+
"name": "wget",
79+
"path": "default"
80+
}
2581
]
2682
}
Lines changed: 84 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,90 @@
11
{
22
"build_packages": [
3-
"nmake",
4-
"cmake",
5-
"git",
6-
"ant",
7-
"cygwin"
3+
{
4+
"name": "Java7",
5+
"path": "C:\\openjdk\\jdk-7"
6+
},
7+
{
8+
"name": "JDK8",
9+
"path": "C:\\openjdk\\jdk-8\\bin\\java.exe"
10+
},
11+
{
12+
"name": "JDK10",
13+
"path": "C:\\openjdk\\jdk-10\\bin\\java.exe"
14+
},
15+
{
16+
"name": "JDK11",
17+
"path": "C:\\openjdk\\jdk-11\\bin\\java.exe"
18+
},
19+
{
20+
"name": "JDK17",
21+
"path": "C:\\openjdk\\jdk-17\\bin\\java.exe"
22+
},
23+
{
24+
"name": "JDK21",
25+
"path": "C:\\openjdk\\jdk-21\\bin\\java.exe"
26+
},
27+
{
28+
"name": "JDK24",
29+
"path": "C:\\openjdk\\jdk-24\\bin\\java.exe"
30+
},
31+
{
32+
"name": "JDK25",
33+
"path": "C:\\openjdk\\jdk-25\\bin\\java.exe"
34+
},
35+
{
36+
"name": "MSVS_2013",
37+
"path": "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0"
38+
},
39+
{
40+
"name": "MSVS_2017",
41+
"path": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community"
42+
},
43+
{
44+
"name": "MSVS_2019",
45+
"path": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community"
46+
},
47+
{
48+
"name": "MSVS_2022",
49+
"path": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022"
50+
},
51+
{
52+
"name": "nmake",
53+
"path": "default"
54+
},
55+
{
56+
"name": "cmake",
57+
"path": "default"
58+
}
859
],
960
"test_packages": [
10-
"perl",
11-
"powershell",
12-
"curl",
13-
"wget",
14-
"tar",
15-
"7z",
16-
"zip",
17-
"unzip"
61+
{
62+
"name": "perl",
63+
"path": "default"
64+
},
65+
{
66+
"name": "ant",
67+
"path": "default"
68+
},
69+
{
70+
"name": "git",
71+
"path": "default"
72+
},
73+
{
74+
"name": "powershell",
75+
"path": "default"
76+
},
77+
{
78+
"name": "curl",
79+
"path": "default"
80+
},
81+
{
82+
"name": "wget",
83+
"path": "default"
84+
},
85+
{
86+
"name": "tar",
87+
"path": "default"
88+
}
1889
]
1990
}

ansible/machine_audit/platform/aix.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,16 +100,30 @@ def check_packages():
100100
'test_packages': {}
101101
}
102102

103-
for package in packages_data.get('build_packages', []):
104-
path = shutil.which(package)
105-
results['build_packages'][package] = {
103+
for package_info in packages_data.get('build_packages', []):
104+
package_name = package_info.get('name', package_info) if isinstance(package_info, dict) else package_info
105+
package_path = package_info.get('path', 'default') if isinstance(package_info, dict) else 'default'
106+
107+
if package_path != 'default' and os.path.isfile(package_path) and os.access(package_path, os.X_OK):
108+
path = package_path
109+
else:
110+
path = shutil.which(package_name)
111+
112+
results['build_packages'][package_name] = {
106113
'installed': path is not None,
107114
'path': path
108115
}
109116

110-
for package in packages_data.get('test_packages', []):
111-
path = shutil.which(package)
112-
results['test_packages'][package] = {
117+
for package_info in packages_data.get('test_packages', []):
118+
package_name = package_info.get('name', package_info) if isinstance(package_info, dict) else package_info
119+
package_path = package_info.get('path', 'default') if isinstance(package_info, dict) else 'default'
120+
121+
if package_path != 'default' and os.path.isfile(package_path) and os.access(package_path, os.X_OK):
122+
path = package_path
123+
else:
124+
path = shutil.which(package_name)
125+
126+
results['test_packages'][package_name] = {
113127
'installed': path is not None,
114128
'path': path
115129
}

ansible/machine_audit/platform/linux.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,16 +120,30 @@ def check_packages():
120120
'test_packages': {}
121121
}
122122

123-
for package in packages_data.get('build_packages', []):
124-
path = shutil.which(package)
125-
results['build_packages'][package] = {
123+
for package_info in packages_data.get('build_packages', []):
124+
package_name = package_info.get('name', package_info) if isinstance(package_info, dict) else package_info
125+
package_path = package_info.get('path', 'default') if isinstance(package_info, dict) else 'default'
126+
127+
if package_path != 'default' and os.path.isfile(package_path) and os.access(package_path, os.X_OK):
128+
path = package_path
129+
else:
130+
path = shutil.which(package_name)
131+
132+
results['build_packages'][package_name] = {
126133
'installed': path is not None,
127134
'path': path
128135
}
129136

130-
for package in packages_data.get('test_packages', []):
131-
path = shutil.which(package)
132-
results['test_packages'][package] = {
137+
for package_info in packages_data.get('test_packages', []):
138+
package_name = package_info.get('name', package_info) if isinstance(package_info, dict) else package_info
139+
package_path = package_info.get('path', 'default') if isinstance(package_info, dict) else 'default'
140+
141+
if package_path != 'default' and os.path.isfile(package_path) and os.access(package_path, os.X_OK):
142+
path = package_path
143+
else:
144+
path = shutil.which(package_name)
145+
146+
results['test_packages'][package_name] = {
133147
'installed': path is not None,
134148
'path': path
135149
}

0 commit comments

Comments
 (0)