Skip to content

Commit fd4e770

Browse files
committed
check if required packages are already installed for linux x86
1 parent 0316583 commit fd4e770

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

scripts/gha/build_desktop.py

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,28 @@ def append_line_to_file(path, line):
5555
with open(path, "a") as file:
5656
file.write("\n" + line + "\n")
5757

58+
5859
def install_x86_support_libraries():
5960
"""Install support libraries needed to build x86 on x86_64 hosts."""
6061
if utils.is_linux_os():
61-
utils.run_command(['apt', 'install', 'gcc-multilib', 'g++-multilib'], as_root=True)
62-
utils.run_command(['dpkg', '--add-architecture', 'i386'], as_root=True)
63-
utils.run_command(['apt', 'update'], as_root=True)
64-
utils.run_command(['apt', 'install', 'libglib2.0-dev:i386'], as_root=True)
65-
utils.run_command(['apt', 'install', 'libsecret-1-dev:i386'], as_root=True)
62+
packages = ('libglib2.0-dev:i386', 'libsecret-1-dev:i386')
63+
64+
# First check if these packages exist on the machine already
65+
import apt
66+
cache = apt.Cache()
67+
package_installed = []
68+
for package in packages:
69+
if package in cache.keys():
70+
package_installed.append(cache[package].is_installed)
71+
else:
72+
package_installed.append(False)
73+
74+
if not all(package_installed):
75+
utils.run_command(['apt', 'install', 'gcc-multilib', 'g++-multilib'], as_root=True)
76+
utils.run_command(['dpkg', '--add-architecture', 'i386'], as_root=True)
77+
utils.run_command(['apt', 'update'], as_root=True)
78+
for package in packages:
79+
utils.run_command(['apt', 'install', package], as_root=True)
6680

6781

6882
def _install_cpp_dependencies_with_vcpkg(arch, msvc_runtime_library):

0 commit comments

Comments
 (0)