macdoor commented on PR #18036:
URL: 
https://github.com/apache/dolphinscheduler/pull/18036#issuecomment-4046450178

   Hi @ruanwenjun,
   
   The root cause of this issue is macOS `tar` (bsdtar) behavior — it 
automatically embeds `._*` (AppleDouble) entries and extended attribute headers 
into the archive when **creating** a tarball, even if no `._*` files exist on 
disk. This is a well-known cross-platform issue:
   
   
https://superuser.com/questions/61185/why-do-i-get-files-like-foo-in-my-tarball-on-os-x
   
   > OS X's tar uses the AppleDouble format to store extended attributes and 
ACLs. [...] You can tell tar to not include the metadata by setting 
`COPYFILE_DISABLE` to some value.
   
   So it's not caused by opening the directory in Finder — it happens whenever 
macOS bsdtar packs any file that has extended attributes (which macOS adds 
silently, e.g. `com.apple.provenance`).
   
   Regarding `<exclude>` in `fileSets`: the `<exclude>` in 
`dolphinscheduler-bin.xml` works for filtering **physical files** from the 
source directories, but it cannot prevent macOS bsdtar from **injecting** `._*` 
entries and xattr headers into the tar stream at creation time. That's why 
`--exclude` alone was not sufficient when I tested it.
   
   That said, @SbloodyS mentioned he couldn't reproduce this on his M1 Pro 
environment, so this may depend on the specific macOS/bsdtar version. If you 
think we can ignore the macOS build case for now, I'm happy to simplify this PR 
to just keep the `<exclude>` entries in `dolphinscheduler-bin.xml` and the 
`.gitignore` change, and remove the `maven-antrun-plugin` and `tar --exclude` 
changes. Let me know how you'd like to proceed.


-- 
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