Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor to enable mach bootstrap (and leaner Docker builds) #577

Merged
merged 6 commits into from Jan 17, 2017

Commits on Jan 12, 2017

  1. Remove obsolete Homebrew code

    This information about the Homebrew user was needed for a workaround
    which involved invoking Homebrew directly,
    since Homebrew cannot be run as root.
    
    However, the improved Homebrew versions support means this workaround
    (to installing autoconf and autoconf@2.13 concurrently)
    is no longer necessary and was removed in
    commit a063248.
    
    This code was inadvertently left dangling, and is now cleaned up.
    aneeshusa committed Jan 12, 2017

Commits on Jan 15, 2017

  1. Fully manage /etc/hosts

    Fully managing the contents of the whole hosts file ensures that unused
    or obsolete hosts entries are removed promptly.
    
    Since we have setup DNS for our build machines,
    remove the relevant static entries from the hosts file.
    setupminimal authored and aneeshusa committed Jan 15, 2017
  2. Move hosts and SSH key states to admin

    These states should only be run for fully managed nodes,
    e.g. those under our administrative control,
    so move them to the admin/init.sls file.
    
    This is part of a refactor making it possible to run the states
    installing Salt build dependencies without making other system level
    changes, for use in mach bootstrap.
    
    Use the `os` grain instead of the `kernel` grain for targeting,
    for slightly better semantics.
    aneeshusa committed Jan 15, 2017
  3. Factor out python states, include sls as needed

    Move the Python (2 and 3) related states into a separate SLS file,
    so they can be reused without pulling in the servo user state,
    which is in common.
    
    Instead of adding this new SLS file to the top file,
    include it from other SLS files that depend on a Python installation.
    
    This makes it possible to `state.apply servo-build-dependencies`
    independently, with is needed for `mach bootstrap`.
    
    Note: No effort was made to separate Python 2 and Python 3,
    as the virtualenv pip package will create executables for both.
    aneeshusa committed Jan 15, 2017
  4. Only reference sources.list.d on fully managed nodes

    The reference to /etc/apt/sources.list.d allows cleaning that directory
    of extraneous sources files. This should only be done on fully managed
    nodes, so guard this requisite with a pillar check.
    
    The check defaults to True for backwards compatibility
    (i.e. not having to change the production pillars).
    aneeshusa committed Jan 15, 2017
  5. Sort Servo build dependency packages

    This will make it easier to maintain these lists.
    Additionally, be more strict about matching on OS type
    to make it easier to support more OSes in the future.
    aneeshusa committed Jan 15, 2017
You can’t perform that action at this time.