From 7670f048c1d4bf9114cc17559158231861261fde Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Thu, 1 Feb 2018 17:56:57 +0100 Subject: [PATCH] tool/depot: publish missing archives only The timestamp-based rules of make do not work well for the publish tool because depot archives are often re-created with the same content but a different modification time, in particular when creating archives via 'FORCE'. This way, those archives are re-published every time, which becomes a time-consuming operation since all archives must be signed. This patch filters the targets based on the content that is already present in the public/ location. All existing archives are skipped. --- tool/depot/publish | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tool/depot/publish b/tool/depot/publish index 438fb9e01..b638b9fa2 100755 --- a/tool/depot/publish +++ b/tool/depot/publish @@ -42,8 +42,11 @@ DEPENDENCIES_CMD := $(GENODE_DIR)/tool/depot/dependencies DEPOT_DIR="$(DEPOT_ DEPENDENCIES_RESULT := $(shell $(DEPENDENCIES_CMD) 2> /dev/null || true) endif +DEPENDENCIES_MISSING := $(sort $(foreach A, $(DEPENDENCIES_RESULT),\ + $(if $(wildcard $(PUBLIC_DIR)/$A.tar.xz.sig),,$A))) + ifeq ($(filter Error:,$(DEPENDENCIES_RESULT)),) -ARCHIVES := $(DEPENDENCIES_RESULT) +ARCHIVES := $(DEPENDENCIES_MISSING) else ARCHIVES := $(MAKECMDGOALS): dependencies_error