diff options
author | Josh Matthews <josh@joshmatthews.net> | 2023-01-18 23:30:13 -0500 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2023-01-19 21:35:56 -0500 |
commit | cb1be846519bf492e28626b15963548ee534dc7c (patch) | |
tree | 10e7d333a49344e5351dfe7d5190e62ed90e0afe | |
parent | f70857906d228f5db6a808c8d9c28a7bad0684bb (diff) | |
download | servo-cb1be846519bf492e28626b15963548ee534dc7c.tar.gz servo-cb1be846519bf492e28626b15963548ee534dc7c.zip |
Remove unused salt bootstrapping process.
-rw-r--r-- | python/requirements-salt.txt | 6 | ||||
-rw-r--r-- | python/servo/bootstrap.py | 136 | ||||
-rw-r--r-- | python/servo/bootstrap_commands.py | 9 |
3 files changed, 0 insertions, 151 deletions
diff --git a/python/requirements-salt.txt b/python/requirements-salt.txt deleted file mode 100644 index 1486b590053..00000000000 --- a/python/requirements-salt.txt +++ /dev/null @@ -1,6 +0,0 @@ -# Ensure all versions are pinned for repeatability, -# since `--system-site-packages` is enabled - -# For boostrapping, make sure versions match those in saltfs -salt == 2016.3.4 -GitPython == 0.3.2 diff --git a/python/servo/bootstrap.py b/python/servo/bootstrap.py index 8d6b19fb477..8ceb4d11a55 100644 --- a/python/servo/bootstrap.py +++ b/python/servo/bootstrap.py @@ -6,14 +6,11 @@ from __future__ import absolute_import, print_function from distutils.spawn import find_executable from distutils.version import LooseVersion -import json import os import distro -import shutil import subprocess import six import six.moves.urllib as urllib -from six.moves import input from subprocess import PIPE from zipfile import BadZipfile @@ -68,14 +65,6 @@ def install_linux_deps(context, pkgs_ubuntu, pkgs_fedora, pkgs_void, force): return True -def install_salt_dependencies(context, force): - pkgs_apt = ['build-essential', 'libssl-dev', 'libffi-dev', 'python-dev'] - pkgs_dnf = ['gcc', 'libffi-devel', 'python-devel', 'openssl-devel'] - pkgs_xbps = ['gcc', 'libffi-devel', 'python-devel'] - if not install_linux_deps(context, pkgs_apt, pkgs_dnf, pkgs_xbps, force): - print("Dependencies are already installed") - - def gstreamer(context, force=False): cur = os.curdir gstdir = os.path.join(cur, "support", "linux", "gstreamer") @@ -135,130 +124,6 @@ def linux(context, force=False): return 0 -def salt(context, force=False): - # Ensure Salt dependencies are installed - install_salt_dependencies(context, force) - # Ensure Salt is installed in the virtualenv - # It's not installed globally because it's a large, non-required dependency, - # and the installation fails on Windows - print("Checking Salt installation...", end='') - reqs_path = os.path.join(context.topdir, 'python', 'requirements-salt.txt') - process = subprocess.Popen( - ["pip", "install", "-q", "-I", "-r", reqs_path], - stdout=PIPE, - stderr=PIPE - ) - process.wait() - if process.returncode: - out, err = process.communicate() - print('failed to install Salt via pip:') - print('Output: {}\nError: {}'.format(out, err)) - return 1 - print("done") - - salt_root = os.path.join(context.sharedir, 'salt') - config_dir = os.path.join(salt_root, 'etc', 'salt') - pillar_dir = os.path.join(config_dir, 'pillars') - - # In order to allow `mach bootstrap` to work from any CWD, - # the `root_dir` must be an absolute path. - # We place it under `context.sharedir` because - # Salt caches data (e.g. gitfs files) in its `var` subdirectory. - # Hence, dynamically generate the config with an appropriate `root_dir` - # and serialize it as JSON (which is valid YAML). - config = { - 'hash_type': 'sha384', - 'master': 'localhost', - 'root_dir': salt_root, - 'state_output': 'changes', - 'state_tabular': True, - } - if 'SERVO_SALTFS_ROOT' in os.environ: - config.update({ - 'fileserver_backend': ['roots'], - 'file_roots': { - 'base': [os.path.abspath(os.environ['SERVO_SALTFS_ROOT'])], - }, - }) - else: - config.update({ - 'fileserver_backend': ['git'], - 'gitfs_env_whitelist': 'base', - 'gitfs_provider': 'gitpython', - 'gitfs_remotes': [ - 'https://github.com/servo/saltfs.git', - ], - }) - - if not os.path.exists(config_dir): - os.makedirs(config_dir, mode=0o700) - with open(os.path.join(config_dir, 'minion'), 'w') as config_file: - config_file.write(json.dumps(config) + '\n') - - # Similarly, the pillar data is created dynamically - # and temporarily serialized to disk. - # This dynamism is not yet used, but will be in the future - # to enable Android bootstrapping by using - # context.sharedir as a location for Android packages. - pillar = { - 'top.sls': { - 'base': { - '*': ['bootstrap'], - }, - }, - 'bootstrap.sls': { - 'fully_managed': False, - }, - } - if os.path.exists(pillar_dir): - shutil.rmtree(pillar_dir) - os.makedirs(pillar_dir, mode=0o700) - for filename in pillar: - with open(os.path.join(pillar_dir, filename), 'w') as pillar_file: - pillar_file.write(json.dumps(pillar[filename]) + '\n') - - cmd = [ - # sudo escapes from the venv, need to use full path - find_executable('salt-call'), - '--local', - '--config-dir={}'.format(config_dir), - '--pillar-root={}'.format(pillar_dir), - 'state.apply', - 'servo-build-dependencies', - ] - - if not force: - print('Running bootstrap in dry-run mode to show changes') - # Because `test=True` mode runs each state individually without - # considering how required/previous states affect the system, - # it will often report states with requisites as failing due - # to the requisites not actually being run, - # even though these are spurious and will succeed during - # the actual highstate. - # Hence `--retcode-passthrough` is not helpful in dry-run mode, - # so only detect failures of the actual salt-call binary itself. - retcode = run_as_root(cmd + ['test=True']) - if retcode != 0: - print('Something went wrong while bootstrapping') - return retcode - - proceed = input( - 'Proposed changes are above, proceed with bootstrap? [y/N]: ' - ) - if proceed.lower() not in ['y', 'yes']: - return 0 - - print('') - - print('Running Salt bootstrap') - retcode = run_as_root(cmd + ['--retcode-passthrough']) - if retcode == 0: - print('Salt bootstrapping complete') - else: - print('Salt bootstrapping encountered errors') - return retcode - - def windows_msvc(context, force=False): '''Bootstrapper for MSVC building on Windows.''' @@ -326,7 +191,6 @@ def windows_msvc(context, force=False): LINUX_SPECIFIC_BOOTSTRAPPERS = { - "salt": salt, "gstreamer": bootstrap_gstreamer, } diff --git a/python/servo/bootstrap_commands.py b/python/servo/bootstrap_commands.py index e4862287cbe..904f5da109e 100644 --- a/python/servo/bootstrap_commands.py +++ b/python/servo/bootstrap_commands.py @@ -46,15 +46,6 @@ class MachCommands(CommandBase): # it can install dependencies without needing mach's dependencies return bootstrap.bootstrap(self.context, force=force) - @Command('bootstrap-salt', - description='Install and set up the salt environment.', - category='bootstrap') - @CommandArgument('--force', '-f', - action='store_true', - help='Boostrap without confirmation') - def bootstrap_salt(self, force=False): - return bootstrap.bootstrap(self.context, force=force, specific="salt") - @Command('bootstrap-gstreamer', description='Set up a local copy of the gstreamer libraries (linux only).', category='bootstrap') |