Allow bootstrap to be run before anything else is installed

This commit is contained in:
Manish Goregaokar 2018-09-03 15:05:21 +05:30
parent 6b75aa47cb
commit e72e08ea9c
5 changed files with 40 additions and 9 deletions

View file

@ -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:

View file

@ -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):

View file

@ -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: