From b9c335913cb7301c40c703a651d50ff17b51c7e0 Mon Sep 17 00:00:00 2001 From: Wu Sheng Date: Mon, 14 Sep 2026 16:18:45 +0800 Subject: [PATCH] Exclude macOS metadata from release archives --- CHANGES.md | 1 + Makefile | 2 +- docs/en/contribution/release-java-agent.md | 3 +++ tools/releasing/release.sh | 3 ++- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index dc740c802a..c6e9e5862e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,6 +6,7 @@ Release Notes. ------------------ * Add Spring LDAP 3.3.x-4.x plugin. +* Exclude macOS metadata files from source and binary release archives (apache/skywalking#14080). * Fix `NoSuchMethodError: org.apache.skywalking.apm.plugin.spring.webflux.v6.DispatcherHandlerHandleMethodInterceptor` on Spring Framework 7 (Spring Boot 4). `HttpHeaders` no longer implements `MultiValueMap`, so `List get(Object)` was removed; the entry span was never created and the service produced no diff --git a/Makefile b/Makefile index 965c6572bc..09c1863bfe 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ build: .PHONY: dist dist: build - tar czf apache-skywalking-java-agent-$(TAG).tgz $(AGENT_PACKAGE) + COPYFILE_DISABLE=1 tar czf apache-skywalking-java-agent-$(TAG).tgz --exclude '._*' --exclude .DS_Store $(AGENT_PACKAGE) gpg --armor --detach-sig apache-skywalking-java-agent-$(TAG).tgz shasum -a 512 apache-skywalking-java-agent-$(TAG).tgz > apache-skywalking-java-agent-$(TAG).tgz.sha512 diff --git a/docs/en/contribution/release-java-agent.md b/docs/en/contribution/release-java-agent.md index b90ae69220..d6cc028476 100644 --- a/docs/en/contribution/release-java-agent.md +++ b/docs/en/contribution/release-java-agent.md @@ -76,6 +76,9 @@ Then run `gpgconf --kill gpg-agent` and `gpg --sign /dev/null` to cache it. 4. **upload** — upload to Apache SVN `dist/dev` (prompts for SVN credentials) 5. **email vote** — print vote email template with pre-filled version, commit ID, submodule commit, and checksums +Source and binary packaging uses `COPYFILE_DISABLE=1` to prevent macOS `tar` from +generating AppleDouble metadata, and excludes existing `._*` and `.DS_Store` files. + Before the long build starts, **prepare** asks for the GitHub milestone ID of the next development version, which it writes into the reset `CHANGES.md`. Look up the `Java - ` milestone at https://github.com/apache/skywalking/milestones and diff --git a/tools/releasing/release.sh b/tools/releasing/release.sh index 72e06e7aa8..da8cda3f8f 100755 --- a/tools/releasing/release.sh +++ b/tools/releasing/release.sh @@ -425,9 +425,10 @@ cmd_stage() { # Source tar info "Creating source tar..." - tar czf "${product_dir}-src.tgz" \ + COPYFILE_DISABLE=1 tar czf "${product_dir}-src.tgz" \ --exclude .git \ --exclude .DS_Store \ + --exclude '._*' \ --exclude .github \ --exclude .gitignore \ --exclude .gitmodules \