Commit 6eae8ac
authored
Binary build script: Enable
Means the `pyexpat` module is now built using the `expat` library from
the stack image (rather than CPython's vendored version), so that:
- any security fixes are automatically picked up from the stack image,
without requiring a Python version update/new app build (the Python
vendored version is also very rarely updated)
- our Python runtime more closely matches that of the official Python
Docker image and other binary distributions
- (as a small added bonus) the Python runtime size in the slug is slightly
smaller (eg 80% reduction in `pyexpat.*.so`, saving ~1.2MB)
See:
https://docs.python.org/3/using/configure.html#cmdoption-with-system-expat
https://github.com/docker-library/python/blob/1cf43e70e45843c70909a5f914c3c6d0f85fc200/Dockerfile-linux.template#L161
The current Python vendored expat version is `2.4.7` (that's only because it's
just been bumped, for the first time in a while, in general it's infrequently
updated).
The current expat versions in the stack images, are:
- Heroku-18: `2.2.5-3ubuntu0.7`
- Heroku-20: `2.2.9-1ubuntu0.4`
- Heroku-22 (upcoming): `2.4.7-1`
GUS-W-8060029.--with-system-expat (#1319)1 parent b3d834f commit 6eae8ac
2 files changed
+5
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
5 | 7 | | |
6 | 8 | | |
7 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
63 | 66 | | |
64 | 67 | | |
65 | 68 | | |
| |||
0 commit comments