czy006 opened a new pull request, #4390:
URL: https://github.com/apache/amoro/pull/4390

   ## Why are the changes needed?
   
   Fixes #4387.
   
   During the 0.9.0-incubating RC10 IPMC vote, reviewers found the source 
tarball contained 3,119 macOS AppleDouble (`._*`) entries (a binding -1): the 
release machine's `rsync`/`tar` serialized extended attributes / resource forks 
as sidecar files, and Checkstyle on Linux then parsed `._*.java` files as Java 
sources, making the source release unbuildable.
   
   ## Brief change log
   
   `tools/releasing/create_source_release.sh` only:
   - `export COPYFILE_DISABLE=1` so macOS tools stop generating AppleDouble 
data in the first place
   - Exclude `._*` / `.DS_Store` in both the `rsync` staging step and the `tar` 
creation
   - Clone into a per-run exclusive `mktemp -d` directory removed via an `EXIT` 
trap, so a failed run leaves nothing behind and concurrent runs cannot delete 
each other's clone
   - Fail early (before any side effects) if `python3` is unavailable, since 
the new post-archive verification depends on it
   - After archiving, verify with Python's `tarfile` that the archive contains 
no `._*`, `__MACOSX` or `.DS_Store` entries and abort otherwise — on macOS, 
`tar -t` folds `._` entries back into metadata instead of listing them, so the 
raw entry names must be inspected
   
   ## How was this patch tested?
   
   - Full `create_source_release.sh` run on macOS: the new check reports 0 
macOS metadata entries (RC10 had 3,119) and the temporary clone directory is 
removed on both the success and the failure path (simulated signing failure)
   - Archive inspection with Python `tarfile`: 3,120 entries, none matching 
`._*`, `__MACOSX`, `.DS_Store`
   - The extracted archive builds cleanly on JDK 11: `mvn clean install 
-DskipTests -Drat.skip=true -Dspark.version=3.5.4 -P 
spark-3.5,scala-2.12,java8` → BUILD SUCCESS (33 modules)
   - Guard verified: with `python3` unavailable the script exits before 
creating any files or cloning
   
   ## Documentation
   
   - Does this pull request introduce a new feature? no
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to