servo: Merge #14974 - Use Salt for mach bootstrap (from aneeshusa:add-mach-bootstrap); r=metajack
<!-- Please describe your changes on the following line: -->
This is currently WIP, but allows Salt for `mach bootstrap`. Not looking for review yet, just posting for visibility. You can run `./mach bootstrap` and Salt will run, letting you know what changes it would make for bootstrapping (doesn't actually run yet though).
Currently, this reads from saltfs using gitfs, meaning it always tracks the master branch. (Note that this is blocked on https://github.com/servo/saltfs/pull/577 landing; in the meantime, I've included a small workaround in this PR to pull from my updated saltfs branch, which will need to be removed.) In the future, the relevant Salt code may be merged in tree as part of Docker support for TC, and the bootstrapper should be updated to read from in tree.
Also, our Windows machines have not been Salted, so the existing Windows bootstrappers are retained.
TODO:
- [x] Hook into existing bootstrapping code less hackily
- [x] Actually bootstrap instead of always using `test=True` mode (includes sudo)
- [x] Default to interactive mode (test first, then ask), with a force flag
- [x] Don't require running from the repository root directory
- [x] Make it easy to add support for other distros
---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should be verified manually
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 1f76aa6ef7ec7db0a0c40223874a72e8f4059deb
2017-01-20 07:58:19 +03:00
|
|
|
# Ensure all versions are pinned for repeatability,
|
|
|
|
# since `--system-site-packages` is enabled
|
|
|
|
|
2015-09-02 17:44:27 +03:00
|
|
|
blessings == 1.6
|
2016-05-03 04:07:25 +03:00
|
|
|
mach == 0.6.0
|
2015-09-02 17:44:27 +03:00
|
|
|
mozdebug == 0.1
|
|
|
|
mozinfo == 0.8
|
2017-10-20 04:52:19 +03:00
|
|
|
mozlog == 3.5
|
servo: Merge #12480 - Build failing because of unspecified dependency for html5lib (from woshilapin:fix-12480); r=larsbergstrom
Trying to simply build `servo`, I've reached a very early error. I cloned the `servo` repo, installed the dependencies specified on the [README](https://github.com/servo/servo#prerequisites). I'm running on a Debian Jessie [`Linux my machine 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64 GNU/Linux`].
Then I run.
```
./mach build --dev
```
I only get the following message.
```
Pip failed to execute properly:
```
Looking in already existing issues, the only one I could find is #12062 which is about missing space on hard drive but this doesn't seem to be my problem.
I've looked more into the problem and found that pip was having problem. Here is the error message.
```
Downloading from URL https://pypi.python.org/packages/17/ee/99e69cdcefc354e0c18ff2cc60aeeb5bfcc2e33f051bf0cc5526d790c445/html5lib-0.999999999.tar.gz#md5=8578e4e3a341436cb9743a9e4a299239 (from https://pypi.python.org/simple/html5lib/)
Running setup.py (path:/tmp/pip-build-mFVe16/html5lib/setup.py) egg_info for package html5lib
html5lib requires setuptools version 18.5 or above; please upgrade before installing (you have 5.5.1)
Complete output from command python setup.py egg_info:
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-mFVe16/html5lib
Exception information:
Traceback (most recent call last):
File "/home/woshilapin/Projects/woshilapin/servo/python/_virtualenv/local/lib/python2.7/site-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/home/woshilapin/Projects/woshilapin/servo/python/_virtualenv/local/lib/python2.7/site-packages/pip/commands/install.py", line 290, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/home/woshilapin/Projects/woshilapin/servo/python/_virtualenv/local/lib/python2.7/site-packages/pip/req.py", line 1230, in prepare_files
req_to_install.run_egg_info()
File "/home/woshilapin/Projects/woshilapin/servo/python/_virtualenv/local/lib/python2.7/site-packages/pip/req.py", line 326, in run_egg_info
command_desc='python setup.py egg_info')
File "/home/woshilapin/Projects/woshilapin/servo/python/_virtualenv/local/lib/python2.7/site-packages/pip/util.py", line 716, in call_subprocess
% (command_desc, proc.returncode, cwd))
InstallationError: Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-mFVe16/html5lib
```
I found that adding the following line in the file `python/requirements.txt` seems to solve the problem (I've build `servo` without errors and `./mach test-tidy` pass too).
```
setuptools >= 18.5
```
Since I'm very new to `servo`, I didn't propose a Pull Request because I'm not sure this is right way of fixing it or maybe I'm doing something wrong. But I'd be happy to create the Pull Request if that's a valuable solution.
Source-Repo: https://github.com/servo/servo
Source-Revision: 0fa10df64ae928bccb05ea7c182eeffbed3af8a8
2016-07-17 21:40:19 +03:00
|
|
|
setuptools == 18.5
|
2016-12-26 19:57:04 +03:00
|
|
|
toml == 0.9.2
|
2015-09-02 17:44:27 +03:00
|
|
|
|
|
|
|
# For Python linting
|
|
|
|
flake8 == 2.4.1
|
|
|
|
pep8 == 1.5.7
|
2016-04-18 23:51:01 +03:00
|
|
|
pyflakes == 0.8.1
|
2016-01-30 18:51:53 +03:00
|
|
|
|
2016-12-09 04:39:44 +03:00
|
|
|
# For buildbot checking
|
|
|
|
PyYAML == 3.12
|
|
|
|
|
2016-01-30 18:51:53 +03:00
|
|
|
# For test-webidl
|
|
|
|
ply == 3.8
|
2016-04-15 20:50:16 +03:00
|
|
|
|
2016-08-14 17:17:34 +03:00
|
|
|
# For Cross-platform colored terminal text
|
|
|
|
colorama == 0.3.7
|
|
|
|
|
servo: Merge #16565 - Convert nightly upload script to Python (from aneeshusa:move-upload-nightly-script-to-python); r=metajack
Now that MinGW and MSYS have been removed from the Windows builders,
bash is not available to run the previous upload_nightlies.sh script.
Convert the script to Python 2 for cross-platform support.
Additionally, switch to the `boto3` library for easy uploading
without needing to install `s3cmd`,
and move the code into mach for easy `boto3` installation
as the new `./mach upload-nightly` command.
Also, hard-code the paths to the packages instead of using
globs to look for them, as the paths are static.
(The paths used to contain timestamps,
but we now insert timestamps when uploading to S3
to improve reproducibility.)
<!-- Please describe your changes on the following line: -->
---
<!-- 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 #16560 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because Buildbot will test them.
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 9468fae0d443b2a8b9a7694f917dc097ac6c7e60
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 593f32ad93c14cb66dd36dfdb41bb36b41a0c558
2017-05-23 02:11:19 +03:00
|
|
|
# For package uploading
|
|
|
|
boto3 == 1.4.4
|
|
|
|
|
2017-10-20 15:44:26 +03:00
|
|
|
# Default root CAs on Windows CI do not trust CloudFront certificates,
|
|
|
|
# connecting to https://static.rust-lang.org would fail:
|
|
|
|
# https://github.com/servo/servo/pull/18942
|
|
|
|
certifi
|
|
|
|
|
2016-04-15 20:50:16 +03:00
|
|
|
-e python/tidy
|