diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-04-18 06:10:46 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-18 06:10:46 -0500 |
commit | 7413c716fb954c1dd27c39929e27bd7b4b188720 (patch) | |
tree | 38ce0f2be745c2dec043d1c236e1e15e024a128a /python/servo/package_commands.py | |
parent | 349ddb555a8be9daad691a201f72682a141e34e4 (diff) | |
parent | 0730888fbe26c133c3c9e8b013a46c2cd5e59a8c (diff) | |
download | servo-7413c716fb954c1dd27c39929e27bd7b4b188720.tar.gz servo-7413c716fb954c1dd27c39929e27bd7b4b188720.zip |
Auto merge of #16505 - aneeshusa:stop-mach-bootstrap-from-segfaulting, r=Wafflespeanut
Stop mach bootstrap from segfaulting
<!-- Please describe your changes on the following line: -->
See the commit message for details; the top-level import of Mako causes `./mach bootstrap` to segfault in glibc while exiting, seems to have to do with the native `_speedups.so` library of MarkupSafe, a Mako dependency.
Needed for servo/saltfs#631.
cc @emilio to make sure this is OK for stylo (e.g. #13171)
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #12103 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because the test is part of servo/saltfs#631
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16505)
<!-- Reviewable:end -->
Diffstat (limited to 'python/servo/package_commands.py')
-rw-r--r-- | python/servo/package_commands.py | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/python/servo/package_commands.py b/python/servo/package_commands.py index 2551844e4b5..68569838c4c 100644 --- a/python/servo/package_commands.py +++ b/python/servo/package_commands.py @@ -9,36 +9,30 @@ from __future__ import print_function, unicode_literals -import sys -import os.path as path -sys.path.append(path.join(path.dirname(sys.argv[0]), "components", "style", "properties", "Mako-0.9.1.zip")) - import json import os +import os.path as path import shutil import subprocess -import mako.template - -from mach.registrar import Registrar from mach.decorators import ( CommandArgument, CommandProvider, Command, ) - -from mako.template import Template +from mach.registrar import Registrar +# Note: mako cannot be imported at the top level because it breaks mach bootstrap from servo.command_base import ( archive_deterministically, BuildNotFound, cd, CommandBase, + find_dep_path_newest, is_macosx, is_windows, get_browserhtml_path, ) -from servo.command_base import find_dep_path_newest def delete(path): @@ -221,6 +215,7 @@ class PackageCommands(CommandBase): raise Exception("Error occurred when getting Servo version: " + stderr) version = "Nightly version: " + version + import mako.template template_path = path.join(dir_to_resources, 'Credits.rtf.mako') credits_path = path.join(dir_to_resources, 'Credits.rtf') with open(template_path) as template_file: @@ -299,8 +294,9 @@ class PackageCommands(CommandBase): change_prefs(dir_to_resources, "windows") # generate Servo.wxs + import mako.template template_path = path.join(dir_to_root, "support", "windows", "Servo.wxs.mako") - template = Template(open(template_path).read()) + template = mako.template.Template(open(template_path).read()) wxs_path = path.join(dir_to_msi, "Servo.wxs") open(wxs_path, "w").write(template.render( exe_path=target_dir, |