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]

Reply via email to