czy006 opened a new issue, #4387: URL: https://github.com/apache/amoro/issues/4387
### Search before asking - [x] I have searched in the issues and found no similar issues. ### What happened? During the IPMC vote for Apache Amoro (incubating) 0.9.0-incubating RC10, a reviewer found that the source release tarball (`apache-amoro-0.9.0-incubating-src.tar.gz`) contains **3,119 AppleDouble (`._*`) entries**, which drew a binding -1 (vote thread: https://lists.apache.org/thread/bj3t76cbmcyvhp830d6jlqohmjgtmrh9). On Linux with JDK 11, extracting the archive and running `./mvnw clean package` **fails**: Checkstyle picks up `._AlreadyExistsException.java` (the AppleDouble sidecar of a real source file) as a Java source and aborts with `no viable alternative at input 'Mac'`. ### Root cause `tools/releasing/create_source_release.sh` builds the tarball on macOS: - macOS bsdtar serializes extended attributes / resource forks as `._<name>` AppleDouble entries when creating archives. The script does not disable this (`COPYFILE_DISABLE` is not set, `--disable-copyfile` is not passed) and does not exclude the `._*` pattern. - The `rsync` invocation excludes `.DS_Store` but not `._*` sidecar files. - Local verification with `tar -tzf ... | grep '._'` gives a **false clean result** on macOS: bsdtar converts `._` entries back to metadata view instead of listing them, so the pollution is invisible until the archive is opened on Linux. ### How should we improve? In `tools/releasing/create_source_release.sh`: 1. `export COPYFILE_DISABLE=1` before creating the archive (and/or pass `--disable-copyfile` to bsdtar). 2. Add `--exclude '._*'` and `--exclude '.DS_Store'` to both the `rsync` and `tar` invocations. 3. Add a post-build verification that inspects the raw entry names, for example: ```bash python3 -c "import tarfile; ns = tarfile.open('apache-amoro-${RELEASE_VERSION}-src.tar.gz').getnames(); print(sum(1 for n in ns if '/._' in n or n.startswith('._')), 'AppleDouble entries of', len(ns), 'total')" ``` The check must report `0 AppleDouble entries` before the artifact is uploaded to dist. This blocked the 0.9.0-incubating RC10 vote and needs to be fixed before cutting the next RC. ### Are you willing to submit PR? - [x] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's Code of Conduct. -- 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]
