diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2018-09-03 15:05:21 +0530 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2018-09-11 19:34:38 +0530 |
commit | e72e08ea9c7ed2f19ec7539984a3740db056fdba (patch) | |
tree | cb8640fc41f0a711fa4745e54ef50e95e67193d0 /python | |
parent | 6b75aa47cb6c34c6e34051ecd126e0982fc669e7 (diff) | |
download | servo-e72e08ea9c7ed2f19ec7539984a3740db056fdba.tar.gz servo-e72e08ea9c7ed2f19ec7539984a3740db056fdba.zip |
Allow bootstrap to be run before anything else is installed
Diffstat (limited to 'python')
-rw-r--r-- | python/mach_bootstrap.py | 18 | ||||
-rw-r--r-- | python/servo/bootstrap.py | 16 | ||||
-rw-r--r-- | python/servo/util.py | 2 |
3 files changed, 32 insertions, 4 deletions
diff --git a/python/mach_bootstrap.py b/python/mach_bootstrap.py index 2db4bf01c30..3435b39f06a 100644 --- a/python/mach_bootstrap.py +++ b/python/mach_bootstrap.py @@ -224,11 +224,29 @@ def _is_windows(): return sys.platform == 'win32' +class DummyContext(object): + pass + + +def bootstrap_command_only(topdir): + from servo.bootstrap import bootstrap + + context = DummyContext() + context.topdir = topdir + force = False + if len(sys.argv) == 3 and sys.argv[2] == "-f": + force = True + bootstrap(context, force) + return 0 + + def bootstrap(topdir): _ensure_case_insensitive_if_windows() topdir = os.path.abspath(topdir) + len(sys.argv) > 1 and sys.argv[1] == "bootstrap" + # We don't support paths with Unicode characters for now # https://github.com/servo/servo/issues/10002 try: diff --git a/python/servo/bootstrap.py b/python/servo/bootstrap.py index c2c046d2609..2bbc3836012 100644 --- a/python/servo/bootstrap.py +++ b/python/servo/bootstrap.py @@ -49,11 +49,16 @@ def install_linux_deps(context, pkgs_ubuntu, pkgs_fedora, force): command.append('-y') print("Installing missing dependencies...") run_as_root(command + pkgs) + return True + return False + 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'] - install_linux_deps(context, pkgs_apt, pkgs_dnf, force) + if not install_linux_deps(context, pkgs_apt, pkgs_dnf, force): + print("Dependencies are already installed") + def gstreamer(context, force=False): cur = os.curdir @@ -62,6 +67,9 @@ def gstreamer(context, force=False): os.chdir(gstdir) subprocess.call(["bash", "gstreamer.sh"]) os.chdir(cur) + return True + return False + def linux(context, force=False): # Please keep these in sync with the packages in README.md @@ -98,11 +106,13 @@ def linux(context, force=False): else: pkgs_apt += ["libssl1.0-dev"] - install_linux_deps(context, pkgs_apt, pkgs_dnf, force) + installed_something = install_linux_deps(context, pkgs_apt, pkgs_dnf, force) if not check_gstreamer_lib(): - gstreamer(context, force) + installed_something |= gstreamer(context, force) + if not installed_something: + print("Dependencies were already installed!") def salt(context, force=False): diff --git a/python/servo/util.py b/python/servo/util.py index d71cffe27da..c093978e631 100644 --- a/python/servo/util.py +++ b/python/servo/util.py @@ -20,7 +20,6 @@ import StringIO import sys import zipfile import urllib2 -import certifi try: @@ -30,6 +29,7 @@ except ImportError: # The cafile parameter was added in 2.7.9 if HAS_SNI and sys.version_info >= (2, 7, 9): + import certifi STATIC_RUST_LANG_ORG_DIST = "https://static.rust-lang.org/dist" URLOPEN_KWARGS = {"cafile": certifi.where()} else: |