]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
git-archive submodules when creating source tarball (#4586)
authorMax Khon <fjoe@samodelkin.net>
Mon, 27 Jun 2022 12:35:17 +0000 (15:35 +0300)
committerGitHub <noreply@github.com>
Mon, 27 Jun 2022 12:35:17 +0000 (07:35 -0500)
Makefile

index f7b4f053347eaab07e717731028db7385fbb536b..7e18df20b8e43484fedbd9c11ccd0fca693cc136 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -364,16 +364,17 @@ BRANCH = $(shell git rev-parse --abbrev-ref HEAD)
 # This can't depend on .git/ (dirs don't work) or .git/HEAD (not present in submodules)
 # so it's just left as a phony target.
 freeradius-server-$(RADIUSD_VERSION_STRING).tar:
-       git archive --format=tar --prefix=freeradius-server-$(RADIUSD_VERSION_STRING)/ $(BRANCH) > $@
+       rm -rf $(top_srcdir)/$(BUILD_DIR)/freeradius-server-$(RADIUSD_VERSION_STRING)
+       mkdir -p $(top_srcdir)/$(BUILD_DIR)
+       git archive --format=tar --prefix=freeradius-server-$(RADIUSD_VERSION_STRING)/ $(BRANCH) | tar -C $(top_srcdir)/$(BUILD_DIR) -xf -
+       git submodule foreach --recursive 'git archive --format=tar --prefix=freeradius-server-$(RADIUSD_VERSION_STRING)/$$sm_path/ $$sha1 | tar -C $(top_srcdir)/$(BUILD_DIR) -xf -'
 ifneq "$(EXT_MODULES)" ""
-       rm -rf build/freeradius-server-$(RADIUSD_VERSION_STRING)
-       cd $(BUILD_DIR) && tar -xf ../$@
        for x in $(subst _ext,,$(EXT_MODULES)); do \
-               cd ${top_srcdir}/$${x}_ext; \
-               git archive --format=tar --prefix=freeradius-server-$(RADIUSD_VERSION_STRING)/$$x/ $(BRANCH) | (cd ${top_srcdir}/$(BUILD_DIR) && tar -xf -); \
+               cd $(top_srcdir)/$${x}_ext && \
+               git archive --format=tar --prefix=freeradius-server-$(RADIUSD_VERSION_STRING)/$$x/ $(BRANCH) | tar -C $(top_srcdir)/$(BUILD_DIR) -xf -; \
        done
-       cd $(BUILD_DIR) && tar -cf ../$@ freeradius-server-$(RADIUSD_VERSION_STRING)
 endif
+       tar -cf $@ -C $(top_srcdir)/$(BUILD_DIR) freeradius-server-$(RADIUSD_VERSION_STRING)
 
 freeradius-server-$(RADIUSD_VERSION_STRING).tar.gz: freeradius-server-$(RADIUSD_VERSION_STRING).tar
        gzip < $^ > $@