Skip to content

Commit 8a7e9a8

Browse files
Bump --python-platform linux to manylinux_2_28 (#14300)
## Summary Right now, `--python-platform linux` to defaults to `manylinux_2_17`. Defaulting to `manylinux_2_17` causes some problems for users, since it means we can't use (e.g.) `manylinux_2_28` wheels, and end up having to build from source. cibuildwheel made `manylinux_2_28` their default in pypa/cibuildwheel#1988, and there's a lot of discussion in pypa/cibuildwheel#1772 and pypa/cibuildwheel#2047. In short, the `manylinux_2014` image is EOL, and the vast majority of consumers now run at least glibc 2.28 (https://mayeut.github.io/manylinux-timeline/): ![Screenshot 2025-06-26 at 7 47 23 PM](https://github.com/user-attachments/assets/2672d91b-f9eb-4442-b680-7e4cd7cade91) Note that this only changes the _default_. Users can still compile against `manylinux_2_17` by specifying it.
1 parent 83ec9e3 commit 8a7e9a8

4 files changed

Lines changed: 15 additions & 15 deletions

File tree

crates/uv-configuration/src/target_triple.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ pub enum TargetTriple {
3333
#[serde(rename = "i686-pc-windows-msvc")]
3434
I686PcWindowsMsvc,
3535

36-
/// An x86 Linux target. Equivalent to `x86_64-manylinux_2_17`.
36+
/// An x86 Linux target. Equivalent to `x86_64-manylinux_2_28`.
3737
#[cfg_attr(feature = "clap", value(name = "x86_64-unknown-linux-gnu"))]
3838
#[serde(rename = "x86_64-unknown-linux-gnu")]
3939
#[serde(alias = "x8664-unknown-linux-gnu")]
@@ -56,7 +56,7 @@ pub enum TargetTriple {
5656
#[serde(alias = "x8664-apple-darwin")]
5757
X8664AppleDarwin,
5858

59-
/// An ARM64 Linux target. Equivalent to `aarch64-manylinux_2_17`.
59+
/// An ARM64 Linux target. Equivalent to `aarch64-manylinux_2_28`.
6060
#[cfg_attr(feature = "clap", value(name = "aarch64-unknown-linux-gnu"))]
6161
#[serde(rename = "aarch64-unknown-linux-gnu")]
6262
Aarch64UnknownLinuxGnu,
@@ -240,7 +240,7 @@ impl TargetTriple {
240240
Self::Linux | Self::X8664UnknownLinuxGnu => Platform::new(
241241
Os::Manylinux {
242242
major: 2,
243-
minor: 17,
243+
minor: 28,
244244
},
245245
Arch::X86_64,
246246
),
@@ -262,7 +262,7 @@ impl TargetTriple {
262262
Self::Aarch64UnknownLinuxGnu => Platform::new(
263263
Os::Manylinux {
264264
major: 2,
265-
minor: 17,
265+
minor: 28,
266266
},
267267
Arch::Aarch64,
268268
),

crates/uv/tests/it/pip_compile.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14823,7 +14823,7 @@ fn invalid_platform() -> Result<()> {
1482314823
uv_snapshot!(context
1482414824
.pip_compile()
1482514825
.arg("--python-platform")
14826-
.arg("linux")
14826+
.arg("x86_64-manylinux_2_17")
1482714827
.arg("requirements.in"), @r"
1482814828
success: false
1482914829
exit_code: 1

docs/reference/cli.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1678,10 +1678,10 @@ interpreter. Use <code>--universal</code> to display the tree for all platforms,
16781678
<li><code>macos</code>: An alias for <code>aarch64-apple-darwin</code>, the default target for macOS</li>
16791679
<li><code>x86_64-pc-windows-msvc</code>: A 64-bit x86 Windows target</li>
16801680
<li><code>i686-pc-windows-msvc</code>: A 32-bit x86 Windows target</li>
1681-
<li><code>x86_64-unknown-linux-gnu</code>: An x86 Linux target. Equivalent to <code>x86_64-manylinux_2_17</code></li>
1681+
<li><code>x86_64-unknown-linux-gnu</code>: An x86 Linux target. Equivalent to <code>x86_64-manylinux_2_28</code></li>
16821682
<li><code>aarch64-apple-darwin</code>: An ARM-based macOS target, as seen on Apple Silicon devices</li>
16831683
<li><code>x86_64-apple-darwin</code>: An x86 macOS target</li>
1684-
<li><code>aarch64-unknown-linux-gnu</code>: An ARM64 Linux target. Equivalent to <code>aarch64-manylinux_2_17</code></li>
1684+
<li><code>aarch64-unknown-linux-gnu</code>: An ARM64 Linux target. Equivalent to <code>aarch64-manylinux_2_28</code></li>
16851685
<li><code>aarch64-unknown-linux-musl</code>: An ARM64 Linux target</li>
16861686
<li><code>x86_64-unknown-linux-musl</code>: An <code>x86_64</code> Linux target</li>
16871687
<li><code>x86_64-manylinux2014</code>: An <code>x86_64</code> target for the <code>manylinux2014</code> platform. Equivalent to <code>x86_64-manylinux_2_17</code></li>
@@ -3363,10 +3363,10 @@ by <code>--python-version</code>.</p>
33633363
<li><code>macos</code>: An alias for <code>aarch64-apple-darwin</code>, the default target for macOS</li>
33643364
<li><code>x86_64-pc-windows-msvc</code>: A 64-bit x86 Windows target</li>
33653365
<li><code>i686-pc-windows-msvc</code>: A 32-bit x86 Windows target</li>
3366-
<li><code>x86_64-unknown-linux-gnu</code>: An x86 Linux target. Equivalent to <code>x86_64-manylinux_2_17</code></li>
3366+
<li><code>x86_64-unknown-linux-gnu</code>: An x86 Linux target. Equivalent to <code>x86_64-manylinux_2_28</code></li>
33673367
<li><code>aarch64-apple-darwin</code>: An ARM-based macOS target, as seen on Apple Silicon devices</li>
33683368
<li><code>x86_64-apple-darwin</code>: An x86 macOS target</li>
3369-
<li><code>aarch64-unknown-linux-gnu</code>: An ARM64 Linux target. Equivalent to <code>aarch64-manylinux_2_17</code></li>
3369+
<li><code>aarch64-unknown-linux-gnu</code>: An ARM64 Linux target. Equivalent to <code>aarch64-manylinux_2_28</code></li>
33703370
<li><code>aarch64-unknown-linux-musl</code>: An ARM64 Linux target</li>
33713371
<li><code>x86_64-unknown-linux-musl</code>: An <code>x86_64</code> Linux target</li>
33723372
<li><code>x86_64-manylinux2014</code>: An <code>x86_64</code> target for the <code>manylinux2014</code> platform. Equivalent to <code>x86_64-manylinux_2_17</code></li>
@@ -3620,10 +3620,10 @@ be used with caution, as it can modify the system Python installation.</p>
36203620
<li><code>macos</code>: An alias for <code>aarch64-apple-darwin</code>, the default target for macOS</li>
36213621
<li><code>x86_64-pc-windows-msvc</code>: A 64-bit x86 Windows target</li>
36223622
<li><code>i686-pc-windows-msvc</code>: A 32-bit x86 Windows target</li>
3623-
<li><code>x86_64-unknown-linux-gnu</code>: An x86 Linux target. Equivalent to <code>x86_64-manylinux_2_17</code></li>
3623+
<li><code>x86_64-unknown-linux-gnu</code>: An x86 Linux target. Equivalent to <code>x86_64-manylinux_2_28</code></li>
36243624
<li><code>aarch64-apple-darwin</code>: An ARM-based macOS target, as seen on Apple Silicon devices</li>
36253625
<li><code>x86_64-apple-darwin</code>: An x86 macOS target</li>
3626-
<li><code>aarch64-unknown-linux-gnu</code>: An ARM64 Linux target. Equivalent to <code>aarch64-manylinux_2_17</code></li>
3626+
<li><code>aarch64-unknown-linux-gnu</code>: An ARM64 Linux target. Equivalent to <code>aarch64-manylinux_2_28</code></li>
36273627
<li><code>aarch64-unknown-linux-musl</code>: An ARM64 Linux target</li>
36283628
<li><code>x86_64-unknown-linux-musl</code>: An <code>x86_64</code> Linux target</li>
36293629
<li><code>x86_64-manylinux2014</code>: An <code>x86_64</code> target for the <code>manylinux2014</code> platform. Equivalent to <code>x86_64-manylinux_2_17</code></li>
@@ -3902,10 +3902,10 @@ should be used with caution, as it can modify the system Python installation.</p
39023902
<li><code>macos</code>: An alias for <code>aarch64-apple-darwin</code>, the default target for macOS</li>
39033903
<li><code>x86_64-pc-windows-msvc</code>: A 64-bit x86 Windows target</li>
39043904
<li><code>i686-pc-windows-msvc</code>: A 32-bit x86 Windows target</li>
3905-
<li><code>x86_64-unknown-linux-gnu</code>: An x86 Linux target. Equivalent to <code>x86_64-manylinux_2_17</code></li>
3905+
<li><code>x86_64-unknown-linux-gnu</code>: An x86 Linux target. Equivalent to <code>x86_64-manylinux_2_28</code></li>
39063906
<li><code>aarch64-apple-darwin</code>: An ARM-based macOS target, as seen on Apple Silicon devices</li>
39073907
<li><code>x86_64-apple-darwin</code>: An x86 macOS target</li>
3908-
<li><code>aarch64-unknown-linux-gnu</code>: An ARM64 Linux target. Equivalent to <code>aarch64-manylinux_2_17</code></li>
3908+
<li><code>aarch64-unknown-linux-gnu</code>: An ARM64 Linux target. Equivalent to <code>aarch64-manylinux_2_28</code></li>
39093909
<li><code>aarch64-unknown-linux-musl</code>: An ARM64 Linux target</li>
39103910
<li><code>x86_64-unknown-linux-musl</code>: An <code>x86_64</code> Linux target</li>
39113911
<li><code>x86_64-manylinux2014</code>: An <code>x86_64</code> target for the <code>manylinux2014</code> platform. Equivalent to <code>x86_64-manylinux_2_17</code></li>

uv.schema.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)