From 22966af48f7732f706badb19d0dc4cd91109fcc7 Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Sat, 6 Feb 2016 14:02:00 -0500 Subject: [PATCH 1/2] Link a newer openssl from homebrew on OS X Also refactor servo-dependencies.sls slightly. Closes #210 (for real this time!) --- servo-dependencies.sls | 100 +++++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 48 deletions(-) diff --git a/servo-dependencies.sls b/servo-dependencies.sls index 78342540..3ac4ff7c 100644 --- a/servo-dependencies.sls +++ b/servo-dependencies.sls @@ -1,51 +1,3 @@ -{% if grains['kernel'] != 'Darwin' %} -FIX enable multiverse: - pkgrepo.absent: - - name: deb http://archive.ubuntu.com/ubuntu trusty multiverse - -enable multiverse: - pkgrepo.managed: - - name: deb http://archive.ubuntu.com/ubuntu trusty multiverse - -ttf-mscorefonts-installer: - debconf.set: - - name: ttf-mscorefonts-installer - - data: { 'msttcorefonts/accepted-mscorefonts-eula': { 'type': 'boolean', 'value': True } } - pkg.installed: - - pkgs: - - ttf-mscorefonts-installer - - requires: - - debconf: ttf-mscorefonts-installer -{% endif %} - -{% if grains['kernel'] == 'Darwin' %} -# Workaround for https://github.com/saltstack/salt/issues/26414 -servo-darwin-homebrew-versions-dependencies: - module.run: - - name: pkg.install - - pkgs: - - automake - - autoconf213 - - taps: - - homebrew/versions - - require_in: - - pkg: servo-dependencies - -homebrew-link-autoconf: - cmd.run: - - name: 'brew link --overwrite autoconf' - - user: administrator - # Warning: Only checks that some autoconf Homebrew package is linked, - # not necessarily the version installed above. - # Whether this handles updating autoconf properly is an open question. - # This state should be replaced by a custom Salt state. - - creates: /usr/local/Library/LinkedKegs/autoconf - - require: - - module: servo-darwin-homebrew-versions-dependencies - - require_in: - - pkg: servo-dependencies -{% endif %} - servo-dependencies: pkg.installed: - pkgs: @@ -53,7 +5,9 @@ servo-dependencies: - git - ccache {% if grains['kernel'] == 'Darwin' %} + - automake - pkg-config + - openssl {% else %} - libglib2.0-dev - libgl1-mesa-dri @@ -74,3 +28,53 @@ servo-dependencies: - pkgs: - virtualenv - ghp-import + +{% if grains['kernel'] == 'Darwin' %} +# Workaround for https://github.com/saltstack/salt/issues/26414 +servo-darwin-homebrew-versions-dependencies: + module.run: + - name: pkg.install + - pkgs: + - autoconf213 + - taps: + - homebrew/versions + +# Warning: These states that manually run brew link only check that some +# version of the Homebrew package is linked, not necessarily the version +# linked above. Whether this handles updates properly is an open question. +# These should be replaced by a custom Salt state. +homebrew-link-autoconf: + cmd.run: + - name: 'brew link --overwrite autoconf' + - user: administrator + - creates: /usr/local/Library/LinkedKegs/autoconf + - require: + - pkg: servo-dependencies + - module: servo-darwin-homebrew-versions-dependencies + +homebrew-link-openssl: + cmd.run: + - name: 'brew link --force openssl' + - user: administrator + - creates: /usr/local/Library/LinkedKegs/openssl + - require: + - pkg: servo-dependencies +{% else %} +FIX enable multiverse: + pkgrepo.absent: + - name: deb http://archive.ubuntu.com/ubuntu trusty multiverse + +enable multiverse: + pkgrepo.managed: + - name: deb http://archive.ubuntu.com/ubuntu trusty multiverse + +ttf-mscorefonts-installer: + debconf.set: + - name: ttf-mscorefonts-installer + - data: { 'msttcorefonts/accepted-mscorefonts-eula': { 'type': 'boolean', 'value': True } } + pkg.installed: + - pkgs: + - ttf-mscorefonts-installer + - requires: + - debconf: ttf-mscorefonts-installer +{% endif %} From 7ceda87b5e7fb0aec5f7f98ba2874bd85eb6f722 Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Sat, 6 Feb 2016 21:37:38 -0500 Subject: [PATCH 2/2] Use correct Homebrew user on Travis Our OS X builders have administrator as the Homebrew owner, but this is not the case on Travis. --- .travis/test_pillars/travis.sls | 3 +++ map.jinja | 10 ++++++++++ servo-dependencies.sls | 6 ++++-- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 map.jinja diff --git a/.travis/test_pillars/travis.sls b/.travis/test_pillars/travis.sls index baff72f9..ab3ec3ee 100644 --- a/.travis/test_pillars/travis.sls +++ b/.travis/test_pillars/travis.sls @@ -1 +1,4 @@ travis: True + +homebrew: + user: travis diff --git a/map.jinja b/map.jinja new file mode 100644 index 00000000..b46e9af5 --- /dev/null +++ b/map.jinja @@ -0,0 +1,10 @@ +{% + set homebrew = salt['grains.filter_by']({ + 'defaults': {}, + 'Darwin': { 'user': 'administrator' } + }, + base='defaults', + merge=salt.pillar.get('homebrew', {}), + grain='kernel' + ) +%} diff --git a/servo-dependencies.sls b/servo-dependencies.sls index 3ac4ff7c..ec7d70d7 100644 --- a/servo-dependencies.sls +++ b/servo-dependencies.sls @@ -1,3 +1,5 @@ +{% from 'map.jinja' import homebrew with context %} + servo-dependencies: pkg.installed: - pkgs: @@ -46,7 +48,7 @@ servo-darwin-homebrew-versions-dependencies: homebrew-link-autoconf: cmd.run: - name: 'brew link --overwrite autoconf' - - user: administrator + - user: {{ homebrew.user }} - creates: /usr/local/Library/LinkedKegs/autoconf - require: - pkg: servo-dependencies @@ -55,7 +57,7 @@ homebrew-link-autoconf: homebrew-link-openssl: cmd.run: - name: 'brew link --force openssl' - - user: administrator + - user: {{ homebrew.user }} - creates: /usr/local/Library/LinkedKegs/openssl - require: - pkg: servo-dependencies