Hyukjin Kwon created SPARK-59302:
------------------------------------
Summary: Include the LICENSE file in the maturin sdist so PyPI
accepts it
Key: SPARK-59302
URL: https://issues.apache.org/jira/browse/SPARK-59302
Project: Spark
Issue Type: Bug
Components: Connect
Affects Versions: 5.0.0
Reporter: Hyukjin Kwon
maturin bundles the LICENSE into the wheel automatically (as
*.dist-info/licenses/LICENSE) but does not pull the repo-root LICENSE into the
sdist, since the maturin crate lives under crates/pyspark-rs/ and a file at the
repository root is outside it. Both artifacts still declare "License-File:
LICENSE" in their metadata, so PyPI (PEP 639) rejects the sdist with:
400 License-File LICENSE does not exist in distribution file
pyspark_client_rust-<v>.tar.gz at pyspark_client_rust-<v>/LICENSE
while the wheels upload fine. This surfaced at finalize of 4.2.0 (the wheels
reached PyPI; the sdist was rejected). Neither `twine check` nor `cargo publish
--dry-run` validates PEP 639 license-file presence, so the dry runs stayed
green.
Fix (PR https://github.com/apache/spark-connect-rust/pull/97):
1. pyproject.toml: add LICENSE to [tool.maturin] include with format = "sdist".
2. release.yml: assert every declared License-File is present in the built
sdist (dry run + RC), so this fails CI instead of a real finalize upload.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]