From e761c2c36997696772851d5ff381282d302e82f2 Mon Sep 17 00:00:00 2001 From: Patrick Niebeling Date: Thu, 13 Aug 2026 11:49:08 +0200 Subject: [PATCH] Replace rsync with tar-pipe copy in appstore packaging The self-hosted Gitea runner's image has no rsync installed. tar is a core utility present on essentially any Linux base image, and its --exclude on a directory prevents descending into it at all, which also avoids the build/ output dir (itself inside the source tree) being copied into itself. --- Makefile | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index f56b26c..a8c7ef1 100644 --- a/Makefile +++ b/Makefile @@ -6,25 +6,26 @@ appstore_artifact_directory=$(build_directory)/artifacts/appstore .PHONY: appstore appstore: clean mkdir -p $(appstore_build_directory) $(appstore_artifact_directory) - rsync -av . $(appstore_build_directory) \ - --exclude=/.git \ - --exclude=/.gitea \ - --exclude=/.gitignore \ - --exclude=/composer.json \ - --exclude=/composer.lock \ - --exclude=/package.json \ - --exclude=/package-lock.json \ - --exclude=/node_modules \ - --exclude=/vite.config.js \ - --exclude=/src \ - --exclude=/tests \ - --exclude=/vendor \ - --exclude=/build \ - --exclude=/.php-cs-fixer.dist.php \ - --exclude=/.php-cs-fixer.cache \ - --exclude=/phpunit.xml \ - --exclude=/README.md \ - --exclude=/Makefile + tar -cf - \ + --exclude=./.git \ + --exclude=./.gitea \ + --exclude=./.gitignore \ + --exclude=./composer.json \ + --exclude=./composer.lock \ + --exclude=./package.json \ + --exclude=./package-lock.json \ + --exclude=./node_modules \ + --exclude=./vite.config.js \ + --exclude=./src \ + --exclude=./tests \ + --exclude=./vendor \ + --exclude=./build \ + --exclude=./.php-cs-fixer.dist.php \ + --exclude=./.php-cs-fixer.cache \ + --exclude=./phpunit.xml \ + --exclude=./README.md \ + --exclude=./Makefile \ + . | tar -xf - -C $(appstore_build_directory) tar -czf $(appstore_artifact_directory)/$(app_name).tar.gz -C $(build_directory)/appstore $(app_name) .PHONY: clean