Add a comment on expectations in the "tar" target
[openssl.git] / Configurations / unix-Makefile.tmpl
index 79236613839d7d1115f0402a3d7e29fb639dc80e..fbe7e9a712b6f5a317b948ddb1b2ccb1aefc9327 100644 (file)
@@ -679,25 +679,31 @@ tags TAGS: FORCE
 
 # Release targets (note: only available on Unix) #####################
 
+# If your tar command doesn't support --owner and --group, make sure to
+# use one that does, for example GNU tar
 TAR_COMMAND=$(TAR) $(TARFLAGS) --owner 0 --group 0 -cvf -
 PREPARE_CMD=:
 tar:
+       set -e; \
        TMPDIR=/var/tmp/openssl-copy.$$$$; \
        DISTDIR=$(NAME); \
        mkdir -p $$TMPDIR/$$DISTDIR; \
        (cd $(SRCDIR); \
+        excl_re=`git submodule status | sed -e 's/^.//' | cut -d' ' -f2`; \
+        excl_re="^(fuzz/corpora|`echo $$excl_re | sed -e 's/ /$$|/g'`\$$)"; \
+        echo "$$excl_re"; \
         git ls-tree -r --name-only --full-tree HEAD \
-         | grep -v '^fuzz/corpora' \
+        | egrep -v "$$excl_re" \
         | while read F; do \
               mkdir -p $$TMPDIR/$$DISTDIR/`dirname $$F`; \
               cp $$F $$TMPDIR/$$DISTDIR/$$F; \
           done); \
-       (cd $$TMPDIR; \
+       (cd $$TMPDIR/$$DISTDIR; \
         $(PREPARE_CMD); \
-        find $$TMPDIR/$$DISTDIR -type d -print | xargs chmod 755; \
-        find $$TMPDIR/$$DISTDIR -type f -print | xargs chmod a+r; \
-        find $$TMPDIR/$$DISTDIR -type f -perm -0100 -print | xargs chmod a+x; \
-        $(TAR_COMMAND) $$DISTDIR) \
+        find . -type d -print | xargs chmod 755; \
+        find . -type f -print | xargs chmod a+r; \
+        find . -type f -perm -0100 -print | xargs chmod a+x); \
+       (cd $$TMPDIR; $(TAR_COMMAND) $$DISTDIR) \
        | (cd $(SRCDIR); gzip --best > $(TARFILE).gz); \
        rm -rf $$TMPDIR
        cd $(SRCDIR); ls -l $(TARFILE).gz