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]
