Commit Graph
8 Commits
Author SHA1 Message Date
Mitchell Hentges 46dbb54a12 Bug 1713377: Change vendoring to use wheels where possible r=ahal,glandium
Vendoring wheels has three benefits:
* There's far less files, so Firefox checkouts will be smaller.
* It works around `zipp` not allowing `pip install`
  from extracted source `tar.gz` files. Now, we should
  be able to use the pip resolver against vendored
  packages, which will be needed for future
  mach virtualenv work.
* `./mach vendor python` takes far less time to execute.

Since we need the raw Python to be available to add to the `sys.path`,
we extract the wheels before putting them in tree.
Due to the structure of some wheels being less nested
than of a source `tar.gz`, `common_virtualenv_packages`
needed to be adjusted accordingly.

`install_pip_package()` had to be tweaked as well since you can't
`pip install` an extracted wheel. So, we "re-bundle" the wheel
before installing from a vendored package.

Replace python packages with wheels where possible

This contains the vendoring changes caused by the
last patch.

For reviewing, there's a couple things to note:
* A bunch of files are deleted, since there's generally
  less files in a wheel than in a source archive.
* There's a new `.dist-info` directory for each
  extracted wheel, so expect roughly 5 or
  6 new files for each wheel'd package.
* There should be no source code changes other than
  moves from package names changing from having
  `-` to having `_`.

Differential Revision: https://phabricator.services.mozilla.com/D116512
2021-06-16 15:53:16 +00:00
Mitchell Hentges 0578ee419f Bug 1698616: Bump python dependencies r=firefox-build-system-reviewers,glandium
Did you know that our version of requests was from 2015? Phwoar!
This bumps `jinja2`, `py`, `pyyaml`, `requests` and `urllib3`.
There's significant risk for regressions due to breaking changes,
though due to the dynamic nature of Python, they're tricky to track
down.

The potential breaking changes I'm expecting to potentially affect
us are:

* `[email protected].0`: No longer accepts non-strings as header values.
* `[email protected].0`: `requests.packages` namespace was removed due to
  packages no longer being vendored. The namespace has been
  incrementally restored over future releases, but it's unclear to
  what degree.
* `[email protected].0`: Redirect resolution now only happens when
  `allow_redirects` is `True`.
* `requests` version of `urllib3` was bumped from `1.13.1` to `1.26`,
  unsure what repercussions that will have.

This also added dependencies to `flake8_requirements`. This is because
the vendored `importlib-metadata` update (and the new
`typing-extensions` dependency) is found by `pip`, but the
vendored `typing-extensions` is _not_ discovered (perhaps due to
details around "eggs" and the way we add vendored code to the sys.path).
So, `pip` tries to install it manually and fails when it finds no hash.
By re-compiling `flake8_requirements`, the necessary hashes are made
available.

Differential Revision: https://phabricator.services.mozilla.com/D108526
2021-05-04 20:43:26 +00:00
imoraru c2ca854f48 Backed out changeset b413fce77522 (bug 1698616) for breaking mach commands (bug 1706456). a=backout 2021-04-21 14:16:08 +03:00
Mitchell Hentges f4dc13ec6a Bug 1698616: Bump python dependencies r=firefox-build-system-reviewers,glandium
Did you know that our version of requests was from 2015? Phwoar!
This bumps `jinja2`, `py`, `pyyaml`, `requests` and `urllib3`.
There's significant risk for regressions due to breaking changes,
though due to the dynamic nature of Python, they're tricky to track
down.

The potential breaking changes I'm expecting to potentially affect
us are:

* `[email protected].0`: No longer accepts non-strings as header values.
* `[email protected].0`: `requests.packages` namespace was removed due to
  packages no longer being vendored. The namespace has been
  incrementally restored over future releases, but it's unclear to
  what degree.
* `[email protected].0`: Redirect resolution now only happens when
  `allow_redirects` is `True`.
* `requests` version of `urllib3` was bumped from `1.13.1` to `1.26`,
  unsure what repercussions that will have.

This also added dependencies to `flake8_requirements`. This is because
the vendored `importlib-metadata` update (and the new
`typing-extensions` dependency) is found by `pip`, but the
vendored `typing-extensions` is _not_ discovered (perhaps due to
details around "eggs" and the way we add vendored code to the sys.path).
So, `pip` tries to install it manually and fails when it finds no hash.
By re-compiling `flake8_requirements`, the necessary hashes are made
available.

Differential Revision: https://phabricator.services.mozilla.com/D108526
2021-04-20 13:57:47 +00:00
Dorel Luca 0b64416a95 Backed out changeset e1081a34e85c (bug 1698616) for Gecko Decision task failure. CLOSED TREE 2021-04-20 04:07:47 +03:00
Mitchell Hentges 0293ab22c3 Bug 1698616: Bump python dependencies r=firefox-build-system-reviewers,glandium
Did you know that our version of requests was from 2015? Phwoar!
This bumps `jinja2`, `py`, `pyyaml`, `requests` and `urllib3`.
There's significant risk for regressions due to breaking changes,
though due to the dynamic nature of Python, they're tricky to track
down.

The potential breaking changes I'm expecting to potentially affect
us are:

* `[email protected].0`: No longer accepts non-strings as header values.
* `[email protected].0`: `requests.packages` namespace was removed due to
  packages no longer being vendored. The namespace has been
  incrementally restored over future releases, but it's unclear to
  what degree.
* `[email protected].0`: Redirect resolution now only happens when
  `allow_redirects` is `True`.
* `requests` version of `urllib3` was bumped from `1.13.1` to `1.26`,
  unsure what repercussions that will have.

Differential Revision: https://phabricator.services.mozilla.com/D108526
2021-04-19 23:17:01 +00:00
Bogdan Tara 766d9d42af Backed out changeset 0de04343f5c5 (bug 1698616) for gecko decision failure CLOSED TREE 2021-04-14 19:49:22 +03:00
Mitchell Hentges ae51995541 Bug 1698616: Bump python dependencies r=firefox-build-system-reviewers,glandium
Did you know that our version of requests was from 2015? Phwoar!
This bumps `jinja2`, `py`, `pyyaml`, `requests` and `urllib3`.
There's significant risk for regressions due to breaking changes,
though due to the dynamic nature of Python, they're tricky to track
down.

The potential breaking changes I'm expecting to potentially affect
us are:

* `[email protected].0`: No longer accepts non-strings as header values.
* `[email protected].0`: `requests.packages` namespace was removed due to
  packages no longer being vendored. The namespace has been
  incrementally restored over future releases, but it's unclear to
  what degree.
* `[email protected].0`: Redirect resolution now only happens when
  `allow_redirects` is `True`.
* `requests` version of `urllib3` was bumped from `1.13.1` to `1.26`,
  unsure what repercussions that will have.

Differential Revision: https://phabricator.services.mozilla.com/D108526
2021-04-14 15:36:11 +00:00